Files
csources-nimble/nimble-linux/@m..@s..@sNim@slib@spure@snet.nim.c
T

4880 lines
222 KiB
C
Raw Normal View History

2022-09-19 09:55:15 +03:00
/* Generated by Nim Compiler v1.7.1 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <sys/types.h>
#include <pthread.h>
#include <string.h>
#include <glob.h>
#include <setjmp.h>
#include <signal.h>
#include <netdb.h>
#include <sys/socket.h>
#include <poll.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
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w;
typedef struct tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw;
typedef struct tyObject_HashSet__bGAilYs5sUICRbD13gZaFg tyObject_HashSet__bGAilYs5sUICRbD13gZaFg;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct RootObj RootObj;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_netdotnim_net___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_netdotnim_net___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw;
typedef struct tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg;
typedef struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw;
typedef struct TSafePoint TSafePoint;
typedef struct tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ;
typedef struct tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ;
typedef struct tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA;
typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw;
typedef struct tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og;
typedef struct tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct tyObject_HashSet__bGAilYs5sUICRbD13gZaFg {
tySequence__8Np6tlClE5az1CyqZdN19bQ* data;
NI counter;
};
struct tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w {
tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* context;
tyObject_HashSet__bGAilYs5sUICRbD13gZaFg referencedData;
tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ* extraInternal;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
NI Field0;
NI Field1;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct RootObj {
TNimType* m_type;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef struct {
N_NIMCALL_PTR(NimStringDesc*, ClP_0) (NimStringDesc* identity, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* hint, tyTuple__UV3llMMYFckfui8YMBuUZA* Result, void* ClE_0);
void* ClE_0;
} tyProc__lYMtBEH0vEMRzoDaCw5CJg;
struct tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ {
RootObj Sup;
tyProc__oFHfEKFsiYTMAy9a42cSiKw serverGetPskFunc;
tyProc__lYMtBEH0vEMRzoDaCw5CJg clientGetPskFunc;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_netdotnim_net___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_SslProtVersion__zq9bkhgPAE6ngdz7HLdOTDw;
typedef NU8 tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg;
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
Exception* up;
};
struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
Exception Sup;
};
struct tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
typedef long tyArray__xDUyu9aScDpt0JZLU6q9aEZQ[5];
struct tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw {
tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg* head;
tyObject_SharedListNodecolonObjectType___KGw0YAw6W9aSz3Sr9aXGu7zg* tail;
pthread_mutex_t lock;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
tyObject_SharedList__JI9cx34TL8n3aOKF6tSMBUw toDispose;
NI gcThreadId;
};
typedef N_CDECL_PTR(unsigned long, tyProc__wCuLyuC5VitcgJKGCqJQRw) (void);
typedef N_CDECL_PTR(NCSTRING, tyProc__5zMKCPIiPHTYY9cjyzsHlmQ) (unsigned long e, NCSTRING buf);
typedef N_CDECL_PTR(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*, tyProc__Rqjya8uauy9aPcyfGamaSrg) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* meth);
typedef N_CDECL_PTR(int, tyProc__2PA7CxitARKs0jpUW1gQ0g) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* s, NCSTRING ciphers);
typedef N_CDECL_PTR(long, tyProc__JfY9aCDiBh9bgOEieo8Vltxg) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, int cmd, long larg, void* parg);
typedef N_CDECL_PTR(NI, tyProc__aF4y9aPKIi8D4VGrVvX011Q) (NI a, void* b);
typedef N_CDECL_PTR(void, tyProc__H5wL7jexPlRA7WCw9cqLm0A) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* s, NI mode, tyProc__aF4y9aPKIi8D4VGrVvX011Q cb);
struct tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
typedef N_STDCALL_PTR(int, tyProc__tYatIIo0oRSB9bjHLep7yhQ) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NCSTRING filename);
typedef N_CDECL_PTR(int, tyProc__xjxKRHVZXDqdWXw9bunoZ3w) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NCSTRING filename, int typ);
typedef N_CDECL_PTR(int, tyProc__Vff1ipOwDPDGknaRJAdXjA) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx);
typedef N_CDECL_PTR(int, tyProc__gZVmmOpGrWMJL1q0d9bMEZQ) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NCSTRING CAfile, NCSTRING CApath);
typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NimStringDesc* tyArray__DLxB9cOndPvLDyky9bY9ccM3g[7];
typedef NIM_CHAR tyArray__QQGLPNVVwLhYjkngqAxXQQ[4001];
typedef NU8 tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg;
typedef NU8 tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw;
typedef NU8 tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg;
struct tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ {
int fd;
NIM_BOOL isBuffered;
tyArray__QQGLPNVVwLhYjkngqAxXQQ buffer;
NI currPos;
NI bufLen;
NIM_BOOL isSsl;
tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* sslHandle;
tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* sslContext;
NIM_BOOL sslNoHandshake;
NIM_BOOL sslHasPeekChar;
NIM_CHAR sslPeekChar;
NIM_BOOL sslNoShutdown;
NI32 lastError;
tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain;
tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType;
tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol;
};
typedef NU8 tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg;
typedef unsigned long tyArray__2VPt2Ygo2bc8d9cj8iiKnSg[16];
typedef N_CDECL_PTR(void, tyProc__ln4kdL5W9bbX4a1xl8nnVXQ) (void);
typedef N_CDECL_PTR(int, tyProc__kxUw9cdxJbPtv0iPyoSbDBQ) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* s, int ret_code);
typedef NU8 tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg;
typedef N_CDECL_PTR(void, tyProc__e47RoMUolEGMiUlfiZt9abQ) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ssl);
struct tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw {
char dummy;
};
typedef int tyArray__JC6Xlef5rNPKoqzdesSPoQ[24];
struct tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ {
tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg val;
NIM_BOOL has;
};
typedef NU8 tyEnum_SslHandshakeType__9aZhh5f9bRDKgYB8GLASDSqg;
typedef NU8 tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA;
typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
typedef NU8 tyArray__H8qf9bpC2ziYA2earmO8m7w[4];
struct tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA {
tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA family;
union{
struct {tyArray__qtqsWM5aXmcpMIVmvq3kAA address_v6;
} _family_1;
struct {tyArray__H8qf9bpC2ziYA2earmO8m7w address_v4;
} _family_2;
};
};
struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef N_CDECL_PTR(int, tyProc__1qZLXaQcVS6n0MTUeNxl3w) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* cert, NCSTRING name, int namelen, unsigned int flags, NCSTRING peername);
typedef N_CDECL_PTR(int, tyProc__sG7rgqmtlgBaumPwwN3BfQ) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ssl, NCSTRING buf, NI num);
struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw {
NI64 seconds;
NI nanosecond;
};
struct tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
struct tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w {
NI64 ticks;
};
typedef N_CDECL_PTR(int, tyProc__09aW01hZ1tSPafLaWVpBcXA) (tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ssl, void* buf, NI num);
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
NimStringDesc* Field0;
NimStringDesc* Field1;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname;
NI line;
NCSTRING filename;
};
typedef NIM_CHAR tyArray__NSMq3FMCIrS8gSbyinBZ8w[14];
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
TGenericSeq Sup;
tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE];
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
};
static N_NIMCALL(void, Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__t2PQ49cw9cyPD5BKolxzFbTw)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef__LP7l6kWJNPJLySYXWH5AYA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*, TLS_method__wrappersZopenssl_246)(void);
N_LIB_PRIVATE N_NIMCALL(void, raiseSSLError__pureZnet_510)(NimStringDesc* s);
static N_NIMCALL(void, Marker_tyRef__VoScTqHOwyXBt9b3u4T1Ksw)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
static N_INLINE(void, decRef__system_5905)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_3527)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_5903)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5854)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5860)(void* usr);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_5898)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(unsigned long, getOpenSSLVersion__wrappersZopenssl_254)(void);
N_LIB_PRIVATE N_NIMCALL(int, SSL_CTX_set_ciphersuites__wrappersZopenssl_295)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NCSTRING str);
static N_INLINE(int, SSL_CTX_set_ecdh_auto__wrappersZopenssl_612)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, int onoff);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(NI, SSLCTXSetMode__wrappersZopenssl_557)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NI mode);
N_LIB_PRIVATE N_NIMCALL(void, loadCertificates__pureZnet_1019)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NimStringDesc* certFile, NimStringDesc* keyFile);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsEnv__pureZos_426)(NimStringDesc* key);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getEnv__pureZos_421)(NimStringDesc* key, NimStringDesc* default_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
static N_INLINE(NIM_BOOL, eqeq___system_8711)(NCSTRING x, NCSTRING y);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_56)(NimStringDesc* msg);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringDesc* s, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringDesc* dir);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, initHashSet__pureZnet_1065)(NI initialSize, tyObject_HashSet__bGAilYs5sUICRbD13gZaFg* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ*, new__pureZnet_1093)(void);
static N_NIMCALL(void, Marker_tyRef__MkGXUPMSENeRDS7EppfLgA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(int, SSL_in_init__wrappersZopenssl_270)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ssl);
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__pureZos_405)(NI32 errorCode, NimStringDesc* additionalInfo);
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__pureZos_408)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDisconnectionError__pureZnet_171)(tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags, NI32 lastError);
N_LIB_PRIVATE N_NIMCALL(void, socketError__pureZnet_165)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NI err, NIM_BOOL async, NI32 lastError, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NI32, getSocketError__pureZnet_1373)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket);
N_LIB_PRIVATE N_NIMCALL(void, close__pureZnativesockets_162)(int socket);
N_LIB_PRIVATE N_NIMCALL(tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw, toSockType__pureZnativesockets_128)(tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol);
N_LIB_PRIVATE N_NIMCALL(struct addrinfo*, getAddrInfo__pureZnativesockets_193)(NimStringDesc* address, NU16 port, tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain, tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType, tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol);
N_LIB_PRIVATE N_NIMCALL(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ, toKnownDomain__pureZnativesockets_74)(int family);
static N_INLINE(NIM_BOOL, isNone__pureZnativesockets_308)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ self);
static N_INLINE(tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg*, unsafeGet__pureZnet_2024)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ* self);
static N_INLINE(NIM_BOOL, isSome__pureZnativesockets_283)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ self);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(int, createNativeSocket__pureZnativesockets_178)(tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain, tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType, tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol, NIM_BOOL inheritable);
N_LIB_PRIVATE N_NIMCALL(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*, newSocket__pureZnet_222)(int fd_0, tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain, tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType, tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol, NIM_BOOL buffered);
N_LIB_PRIVATE N_NIMCALL(void, wrapSocket__pureZnet_1293)(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* ctx, tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIpAddress__pureZnet_473)(NimStringDesc* addressStr);
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIpAddress__pureZnet_465)(NimStringDesc* addressStr);
static N_INLINE(NIM_BOOL, contains__pureZos_661)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
static N_INLINE(NI, find__pureZos_666)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item);
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIPv6Address__pureZnet_329)(NimStringDesc* addressStr);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldError2)(NimStringDesc* f, NimStringDesc* discVal);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprDiscriminant)(NI e, TNimType* typ);
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_867)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
N_NIMCALL(NimStringDesc*, mnewString)(NI len);
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_842)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIPv4Address__pureZnet_277)(NimStringDesc* addressStr);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(NI, SSL_set_tlsext_host_name__wrappersZopenssl_566)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ssl, NCSTRING name);
N_LIB_PRIVATE N_NIMCALL(void, checkCertName__pureZnet_1305)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc* hostname);
N_LIB_PRIVATE N_NIMCALL(NI, send__pureZnet_1719)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isClosed__pureZnet_1533)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket);
N_LIB_PRIVATE N_NIMCALL(void, readLine__pureZnet_1673)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc** line, NI timeout, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags, NI maxLength);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(NI, waitFor__pureZnet_1600)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw* waited, NI timeout, NI size, NimStringDesc* funcName);
N_LIB_PRIVATE N_NIMCALL(NI64, inMilliseconds__pureZtimes_664)(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw dur);
static N_NIMCALL(void, Marker_tyRef__OhBa09cfBAnY4MdnNlGabWQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasDataBuffered__pureZnet_1530)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w, getMonoTime__stdZmonotimes_5)(void);
N_LIB_PRIVATE N_NIMCALL(NI, timeoutRead__pureZnet_135)(int* fd_0, NI timeout);
N_LIB_PRIVATE N_NIMCALL(void, pluseq___pureZtimes_924)(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw* d1, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw d2);
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, minus___stdZmonotimes_23)(tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w a, tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w b);
N_LIB_PRIVATE N_NIMCALL(NI, recv__pureZnet_1576)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size);
N_LIB_PRIVATE N_NIMCALL(NI, readIntoBuf__pureZnet_1547)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NI32 flags);
N_LIB_PRIVATE N_NIMCALL(NI, uniRecv__pureZnet_1536)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* buffer, int size, int flags);
N_LIB_PRIVATE N_NIMCALL(NI, peekChar__pureZnet_1668)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NIM_CHAR* c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NI, recv__pureZnet_1635)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size, NI timeout);
N_LIB_PRIVATE TNimType NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_;
extern TNimType NTIsslctx__QQ33RYEe889cv60wm9bVkd8A_;
N_LIB_PRIVATE TNimType NTIhashset__bGAilYs5sUICRbD13gZaFg_;
N_LIB_PRIVATE TNimType NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_;
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_;
extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_;
N_LIB_PRIVATE TNimType NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_;
extern TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
N_LIB_PRIVATE TNimType NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_;
N_LIB_PRIVATE TNimType NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_;
N_LIB_PRIVATE TNimType NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_;
extern TNimType NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_;
N_LIB_PRIVATE TNimType NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_;
N_LIB_PRIVATE TNimType NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_8, "No error reported.", 18);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_9, "Please upgrade your OpenSSL library, it does not support the necessary protocols. OpenSSL error is: ", 100);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_10, "Failed to create TLS context", 28);
extern TNimType NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_;
extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_11, "Certificate file could not be found: ", 37);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_12, "Key file could not be found: ", 29);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_13, "Verification of private key file failed.", 40);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_14, "Failed to load SSL/TLS CA certificate(s).", 41);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_15, "SSL_CERT_FILE", 13);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_16, "SSL_CERT_DIR", 12);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_17, "*", 1);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_19, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim(2125, 15) `f`gensym151.gl_pathv[i`gensym151] != nil` ", 99);
extern NIM_CONST tyArray__DLxB9cOndPvLDyky9bY9ccM3g certificatePaths__pureZssl95certs_3;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_20, ".pem", 4);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_21, ".crt", 4);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_24, "No SSL/TLS CA certificates found.", 33);
N_LIB_PRIVATE TNimType NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_;
extern TNimType NTIcint__nlCscttRCss70IBTyuBqnA_;
extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
extern TNimType NTIchar__nmiMWKVIe46vacnhAFrQvw_;
N_LIB_PRIVATE TNimType NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_;
extern TNimType NTIint5150__sVg18TP9cLifHyygRe9cro9aA_;
extern TNimType NTIdomain__Q79bEtFARvq0ekDNtvj3Vqg_;
extern TNimType NTIsocktype__NQT1bItGG2X9byGdrWX7ujw_;
extern TNimType NTIprotocol__dqJ1OqRGclxIMMdSLRzzXg_;
N_LIB_PRIVATE TNimType NTIsocket__MkGXUPMSENeRDS7EppfLgA_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_27, "Couldn\'t add SIGPIPE to Sigset", 30);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_28, "Couldn\'t block SIGPIPE", 22);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_30, "Couldn\'t select SIGPIPE", 23);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_31, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1178, 16) `signal`gensym116`gensym119 == SIGPIPE` ", 97);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_32, "TLS/SSL connection failed to initiate, socket closed prematurely.", 65);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_33, "Not enough data on socket.", 26);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_34, "Function for x509 lookup has been called.", 41);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_35, "IO error has occurred ", 22);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_36, "because an EOF was observed that violates the protocol", 54);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_37, "in the BIO layer", 16);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_38, ": ", 2);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_39, "Unknown Error", 13);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_40, "No valid socket error code available", 36);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_41, "Couldn\'t unblock SIGPIPE", 24);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_43, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim(375, 10) `self.isSome` ", 74);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_46, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(264, 10) `fd != osInvalidSocket` ", 80);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_47, "Couldn\'t resolve address: ", 26);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_48, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(792, 11) `not socket.isSsl` ", 75);
extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_50, "IP Address string is empty", 26);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_53, "Invalid IP Address", 18);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_54, "Invalid IP Address. Address contains an invalid separator", 57);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_55, "Invalid IP Address. Address contains more than one \"::\" separator", 65);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_56, "Invalid IP Address. The address consists of too many groups", 59);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_57, "field \'address_v6\' is not accessible for type \'IpAddress\' using \'family = ", 74);
N_LIB_PRIVATE TNimType NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_65, "Invalid IP Address. Address may not start with \":\"", 50);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_67, "Invalid IP Address. Address may not end with \":\"", 48);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_72, "Invalid IP Address. Value is out of range", 41);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_73, "Invalid IP Address. Address contains an invalid character", 57);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_75, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim(195, 11) `len(a) == L` the length of the string changed while iterating over it", 134);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_84, "Invalid IP address. Octal numbers not allowed", 45);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_93, "Invalid IP Address. The address consists of too few groups", 58);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_108, "Invalid IP address. Octal numbers are not allowed", 49);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_110, "field \'address_v4\' is not accessible for type \'IpAddress\' using \'family = ", 74);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_113, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(810, 14) `socket.isSsl` ", 71);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_115, "No SSL certificate found.", 25);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_116, "SSL Certificate check failed.", 29);
extern TNimType NTIlibraryerror__x1muge9crz9aAVqWWUrEL9aXg_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_117, "SSL import failed", 17);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_118, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1698, 9) `not socket.isClosed` Cannot `send` on a closed socket", 110);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_119, "Could not send all data.", 24);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_120, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1423, 24) `false` ", 65);
N_LIB_PRIVATE TNimType NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_;
N_LIB_PRIVATE TNimType NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_;
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_123, "Call to \'", 9);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_124, "\' timed out.", 12);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_126, "readLine", 8);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_127, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1339, 9) `not socket.isClosed` Cannot `recv` on a closed socket", 110);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_131, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1387, 14) `size - read >= chunk` ", 80);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_138, "\015\012", 2);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_140, "recv", 4);
STRING_LITERAL(TM__XqsrSBxhOTPgLQ9cX4MmV4A_142, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim(1460, 12) `avail <= size - read` ", 80);
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5793;
extern tyProc__wCuLyuC5VitcgJKGCqJQRw Dl_2113929663_;
extern tyProc__5zMKCPIiPHTYY9cjyzsHlmQ Dl_2113929659_;
extern tyProc__Rqjya8uauy9aPcyfGamaSrg Dl_2113929550_;
extern tyProc__2PA7CxitARKs0jpUW1gQ0g Dl_2113929567_;
extern tyProc__JfY9aCDiBh9bgOEieo8Vltxg Dl_2113929764_;
extern tyProc__H5wL7jexPlRA7WCw9cqLm0A Dl_2113929558_;
extern tyProc__tYatIIo0oRSB9bjHLep7yhQ Dl_2113929574_;
extern tyProc__xjxKRHVZXDqdWXw9bunoZ3w Dl_2113929577_;
extern tyProc__Vff1ipOwDPDGknaRJAdXjA Dl_2113929581_;
extern tyProc__gZVmmOpGrWMJL1q0d9bMEZQ Dl_2113929552_;
extern NIM_THREADVAR TSafePoint* excHandler__system_3095;
extern NIM_THREADVAR TSafePoint* excHandler__system_3095;
extern NIM_THREADVAR TSafePoint* excHandler__system_3095;
extern NIM_THREADVAR TSafePoint* excHandler__system_3095;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern NIM_THREADVAR TFrame* framePtr__system_3094;
extern tyProc__ln4kdL5W9bbX4a1xl8nnVXQ Dl_2113929869_;
extern tyProc__Vff1ipOwDPDGknaRJAdXjA Dl_2113929599_;
extern tyProc__kxUw9cdxJbPtv0iPyoSbDBQ Dl_2113929616_;
extern tyProc__e47RoMUolEGMiUlfiZt9abQ Dl_2113929537_;
extern int osInvalidSocket__pureZnativesockets_47;
extern tyProc__Rqjya8uauy9aPcyfGamaSrg Dl_2113929535_;
extern tyProc__kxUw9cdxJbPtv0iPyoSbDBQ Dl_2113929596_;
extern NIM_THREADVAR Exception* currException__system_3096;
extern NIM_THREADVAR Exception* currException__system_3096;
extern NIM_THREADVAR Exception* currException__system_3096;
extern tyProc__Vff1ipOwDPDGknaRJAdXjA Dl_2113929606_;
extern tyProc__Rqjya8uauy9aPcyfGamaSrg Dl_2113930115_;
extern tyProc__1qZLXaQcVS6n0MTUeNxl3w Dl_2113930130_;
extern tyProc__e47RoMUolEGMiUlfiZt9abQ Dl_2113930136_;
extern tyProc__Vff1ipOwDPDGknaRJAdXjA Dl_2113929619_;
extern tyProc__sG7rgqmtlgBaumPwwN3BfQ Dl_2113929612_;
extern tyProc__Vff1ipOwDPDGknaRJAdXjA Dl_2113929621_;
extern tyProc__09aW01hZ1tSPafLaWVpBcXA Dl_2113929608_;
static N_NIMCALL(void, Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op) {
tySequence__8Np6tlClE5az1CyqZdN19bQ* a;
NI T1_;
a = (tySequence__8Np6tlClE5az1CyqZdN19bQ*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__t2PQ49cw9cyPD5BKolxzFbTw)(void* p, NI op) {
tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ* a;
a = (tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ*)p;
nimGCvisit((void*)(*a).serverGetPskFunc.ClE_0, op);
nimGCvisit((void*)(*a).clientGetPskFunc.ClE_0, op);
}
static N_NIMCALL(void, Marker_tyRef__LP7l6kWJNPJLySYXWH5AYA)(void* p, NI op) {
tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* a;
a = (tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w*)p;
nimGCvisit((void*)(*a).referencedData.data, op);
nimGCvisit((void*)(*a).extraInternal, op);
}
static N_NIMCALL(void, Marker_tyRef__VoScTqHOwyXBt9b3u4T1Ksw)(void* p, NI op) {
tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA* a;
a = (tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*)p;
nimGCvisit((void*)(*a).Sup.Sup.parent, op);
nimGCvisit((void*)(*a).Sup.Sup.message, op);
nimGCvisit((void*)(*a).Sup.Sup.trace, op);
nimGCvisit((void*)(*a).Sup.Sup.up, op);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__system_3094 == ((TFrame*) NIM_NIL))) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__system_3094).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__system_3094;
framePtr__system_3094 = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__system_3527();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__system_3094 = (*framePtr__system_3094).prev;
}
static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(414, "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
nimln_(418, "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/yyoncho/Sources/nim/Nim/lib/system/comparisons.nim");
result = (NIM_BOOL)0;
nimln_(186, "/home/yyoncho/Sources/nim/Nim/lib/system/comparisons.nim");
nimln_(188, "/home/yyoncho/Sources/nim/Nim/lib/system/comparisons.nim");
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__system_5903)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
nimln_(243, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
addZCT__system_5854((&gch__system_5793.zct), c);
popFrame();
}
static N_INLINE(void, decRef__system_5905)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
nimln_(248, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
nimln_(249, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
nimln_(250, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
rtlAddZCT__system_5903(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5860)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
nimln_(177, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
T1_ = (NI)0;
T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
nimfr_("nimGCunrefNoCycle", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
nimln_(276, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = usrToCell__system_5860(p);
decRef__system_5905(T1_);
popFrame();
}
static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
result = (NI)0;
nimln_(403, "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
nimln_(407, "/home/yyoncho/Sources/nim/Nim/lib/system/arithmetics.nim");
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__system_5898)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
nimln_(231, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
nimln_(286, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__system_5860(src);
incRef__system_5898(T5_);
}
LA3_: ;
nimln_(287, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__system_5860((*dest));
decRef__system_5905(T10_);
}
LA8_: ;
nimln_(288, "/home/yyoncho/Sources/nim/Nim/lib/system/gc.nim");
(*dest) = src;
popFrame();
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
{
if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
(*dest).Sup.len += (*src).Sup.len;
}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, raiseSSLError__pureZnet_510)(NimStringDesc* s) {
unsigned long err;
NimStringDesc* errStr;
NCSTRING T13_;
tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA* T17_;
NimStringDesc* T18_;
nimfr_("raiseSSLError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(555, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA* T5_;
NimStringDesc* T6_;
if (!!(((s ? s->Sup.len : 0) == 0))) goto LA3_;
T5_ = NIM_NIL;
T5_ = (tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*) newObj((&NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_), sizeof(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA));
(*T5_).Sup.Sup.Sup.m_type = (&NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_);
(*T5_).Sup.Sup.name = "SslError";
T6_ = NIM_NIL;
T6_ = (*T5_).Sup.Sup.message; (*T5_).Sup.Sup.message = copyStringRC1(s);
if (T6_) nimGCunrefNoCycle(T6_);
asgnRef((void**) (&(*T5_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(556, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T5_, "SslError", "raiseSSLError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 556);
}
LA3_: ;
nimln_(557, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
err = Dl_2113929663_();
nimln_(558, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA* T11_;
NimStringDesc* T12_;
if (!(err == ((NU) 0))) goto LA9_;
T11_ = NIM_NIL;
T11_ = (tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*) newObj((&NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_), sizeof(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA));
(*T11_).Sup.Sup.Sup.m_type = (&NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_);
(*T11_).Sup.Sup.name = "SslError";
T12_ = NIM_NIL;
T12_ = (*T11_).Sup.Sup.message; (*T11_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_8));
if (T12_) nimGCunrefNoCycle(T12_);
asgnRef((void**) (&(*T11_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(559, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T11_, "SslError", "raiseSSLError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 559);
}
LA9_: ;
nimln_(560, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T13_ = (NCSTRING)0;
T13_ = Dl_2113929659_(err, ((NCSTRING) NIM_NIL));
errStr = cstrToNimstr(T13_);
nimln_(561, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
switch (err) {
case ((NI) 336032814):
case ((NI) 336032784):
{
NimStringDesc* T15_;
nimln_(564, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T15_ = NIM_NIL;
T15_ = rawNewString((errStr ? errStr->Sup.len : 0) + 100);
appendString(T15_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_9));
appendString(T15_, errStr);
errStr = T15_;
}
break;
default:
{
}
break;
}
T17_ = NIM_NIL;
T17_ = (tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*) newObj((&NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_), sizeof(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA));
(*T17_).Sup.Sup.Sup.m_type = (&NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_);
(*T17_).Sup.Sup.name = "SslError";
T18_ = NIM_NIL;
T18_ = (*T17_).Sup.Sup.message; (*T17_).Sup.Sup.message = copyStringRC1(errStr);
if (T18_) nimGCunrefNoCycle(T18_);
asgnRef((void**) (&(*T17_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(567, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T17_, "SslError", "raiseSSLError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 567);
popFrame();
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringDesc* s) {
NCSTRING result;
result = (NCSTRING)0;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (s == ((NimStringDesc*) NIM_NIL));
if (T3_) goto LA4_;
T3_ = ((*s).Sup.len == ((NI) 0));
LA4_: ;
if (!T3_) goto LA5_;
result = "";
}
goto LA1_;
LA5_: ;
{
result = ((NCSTRING) ((*s).data));
}
LA1_: ;
return result;
}
static N_INLINE(int, SSL_CTX_set_ecdh_auto__wrappersZopenssl_612)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, int onoff) {
int result;
nimfr_("SSL_CTX_set_ecdh_auto", "/home/yyoncho/Sources/nim/Nim/lib/wrappers/openssl.nim");
result = (int)0;
nimln_(591, "/home/yyoncho/Sources/nim/Nim/lib/wrappers/openssl.nim");
{
NIM_BOOL T3_;
unsigned long T4_;
unsigned long T6_;
long T9_;
T3_ = (NIM_BOOL)0;
T4_ = (unsigned long)0;
T4_ = getOpenSSLVersion__wrappersZopenssl_254();
T3_ = ((NU64)(T4_) < (NU64)(((NU) 269484032)));
if (T3_) goto LA5_;
T6_ = (unsigned long)0;
T6_ = getOpenSSLVersion__wrappersZopenssl_254();
T3_ = (T6_ == ((NU) 536870912));
LA5_: ;
if (!T3_) goto LA7_;
nimln_(592, "/home/yyoncho/Sources/nim/Nim/lib/wrappers/openssl.nim");
T9_ = (long)0;
T9_ = Dl_2113929764_(ctx, ((int) 94), ((long) (onoff)), NIM_NIL);
if ((T9_) < ((int) (-2147483647 -1)) || (T9_) > ((int) 2147483647)){ raiseRangeErrorI(T9_, ((int) (-2147483647 -1)), ((int) 2147483647)); }
result = ((int) (T9_));
}
goto LA1_;
LA7_: ;
{
nimln_(594, "/home/yyoncho/Sources/nim/Nim/lib/wrappers/openssl.nim");
result = ((int) 1);
}
LA1_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, loadCertificates__pureZnet_1019)(tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* ctx, NimStringDesc* certFile, NimStringDesc* keyFile) {
nimfr_("loadCertificates", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(593, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T3_;
NIM_BOOL T5_;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T8_;
NimStringDesc* T9_;
T3_ = (NIM_BOOL)0;
T3_ = !(((certFile ? certFile->Sup.len : 0) == 0));
if (!(T3_)) goto LA4_;
T5_ = (NIM_BOOL)0;
T5_ = nosfileExists(certFile);
T3_ = !(T5_);
LA4_: ;
if (!T3_) goto LA6_;
T8_ = NIM_NIL;
T8_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T8_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T8_).Sup.Sup.name = "IOError";
nimln_(595, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T9_ = NIM_NIL;
T9_ = rawNewString((certFile ? certFile->Sup.len : 0) + 37);
appendString(T9_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_11));
appendString(T9_, certFile);
asgnRef((void**) (&(*T8_).Sup.Sup.message), T9_);
asgnRef((void**) (&(*T8_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(594, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T8_, "IOError", "loadCertificates", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 594);
}
LA6_: ;
nimln_(596, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T12_;
NIM_BOOL T14_;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T17_;
NimStringDesc* T18_;
T12_ = (NIM_BOOL)0;
T12_ = !(((keyFile ? keyFile->Sup.len : 0) == 0));
if (!(T12_)) goto LA13_;
T14_ = (NIM_BOOL)0;
T14_ = nosfileExists(keyFile);
T12_ = !(T14_);
LA13_: ;
if (!T12_) goto LA15_;
T17_ = NIM_NIL;
T17_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T17_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T17_).Sup.Sup.name = "IOError";
nimln_(597, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T18_ = NIM_NIL;
T18_ = rawNewString((keyFile ? keyFile->Sup.len : 0) + 29);
appendString(T18_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_12));
appendString(T18_, keyFile);
asgnRef((void**) (&(*T17_).Sup.Sup.message), T18_);
asgnRef((void**) (&(*T17_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T17_, "IOError", "loadCertificates", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 597);
}
LA15_: ;
nimln_(599, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int ret;
if (!!(((certFile ? certFile->Sup.len : 0) == 0))) goto LA21_;
nimln_(600, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
ret = Dl_2113929574_(ctx, nimToCStringConv(certFile));
nimln_(601, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((ret == ((NI32) 1)))) goto LA25_;
nimln_(602, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA25_: ;
}
LA21_: ;
nimln_(605, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!(((keyFile ? keyFile->Sup.len : 0) == 0))) goto LA29_;
nimln_(606, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T33_;
nimln_(607, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(606, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T33_ = (int)0;
T33_ = Dl_2113929577_(ctx, nimToCStringConv(keyFile), ((int) 1));
if (!!((T33_ == ((NI32) 1)))) goto LA34_;
nimln_(608, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA34_: ;
nimln_(610, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T38_;
T38_ = (int)0;
T38_ = Dl_2113929581_(ctx);
if (!!((T38_ == ((NI32) 1)))) goto LA39_;
nimln_(611, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_13));
}
LA39_: ;
}
LA29_: ;
popFrame();
}
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__systemZmemory_7(p, ((int) 0), size);
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
(*s).prev = excHandler__system_3095;
excHandler__system_3095 = s;
}
static N_INLINE(NIM_BOOL, eqeq___system_8711)(NCSTRING x, NCSTRING y) {
NIM_BOOL result;
nimfr_("==", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = (NIM_BOOL)0;
nimln_(3016, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
{
if (!(((void*) (x)) == ((void*) (y)))) goto LA3_;
result = NIM_TRUE;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T6_;
nimln_(3017, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
T6_ = (NIM_BOOL)0;
T6_ = (x == 0);
if (T6_) goto LA7_;
T6_ = (y == 0);
LA7_: ;
if (!T6_) goto LA8_;
result = NIM_FALSE;
}
goto LA1_;
LA8_: ;
{
int T11_;
nimln_(3018, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
T11_ = (int)0;
T11_ = strcmp(x, y);
result = (T11_ == ((NI32) 0));
}
LA1_: ;
popFrame();
return result;
}
static N_INLINE(void, popSafePoint)(void) {
excHandler__system_3095 = (*excHandler__system_3095).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
TFrame* result;
result = (TFrame*)0;
result = framePtr__system_3094;
return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
framePtr__system_3094 = s;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w*, newContext__pureZnet_1026)(tyEnum_SslProtVersion__zq9bkhgPAE6ngdz7HLdOTDw protVersion, tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg verifyMode, NimStringDesc* certFile, NimStringDesc* keyFile, NimStringDesc* cipherList, NimStringDesc* caDir, NimStringDesc* caFile) {
tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* result;
tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* mtd;
tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* newCTX;
unsigned long sslVersion;
NI T36_;
TFrame* _nimCurFrame;
tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* T175_;
nimfr_("newContext", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
_nimCurFrame = getFrame();
result = NIM_NIL;
nimln_(645, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
mtd = TLS_method__wrappersZopenssl_246();
nimln_(646, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(mtd == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL))) goto LA3_;
nimln_(647, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_10));
}
LA3_: ;
nimln_(648, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
newCTX = Dl_2113929550_(mtd);
nimln_(649, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(newCTX == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL))) goto LA7_;
nimln_(650, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_10));
}
LA7_: ;
nimln_(652, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T11_;
T11_ = (int)0;
T11_ = Dl_2113929567_(newCTX, nimToCStringConv(cipherList));
if (!!((T11_ == ((NI32) 1)))) goto LA12_;
nimln_(653, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA12_: ;
nimln_(655, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sslVersion = getOpenSSLVersion__wrappersZopenssl_254();
nimln_(656, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T16_;
T16_ = (NIM_BOOL)0;
T16_ = ((NU64)(((NU) 269488128)) <= (NU64)(sslVersion));
if (!(T16_)) goto LA17_;
T16_ = ((NU)((NU64) ~(sslVersion)) == ((NU) 536870912));
LA17_: ;
if (!T16_) goto LA18_;
nimln_(659, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T22_;
T22_ = (int)0;
T22_ = SSL_CTX_set_ciphersuites__wrappersZopenssl_295(newCTX, nimToCStringConv(cipherList));
if (!!((T22_ == ((NI32) 1)))) goto LA23_;
nimln_(660, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA23_: ;
}
LA18_: ;
nimln_(666, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T27_;
T27_ = (int)0;
T27_ = SSL_CTX_set_ecdh_auto__wrappersZopenssl_612(newCTX, ((int) 1));
if (!!((T27_ == ((NI32) 1)))) goto LA28_;
nimln_(667, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA28_: ;
nimln_(672, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
switch (verifyMode) {
case ((tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg) 1):
case ((tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg) 2):
{
nimln_(674, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929558_(newCTX, ((NI) 1), NIM_NIL);
}
break;
case ((tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg) 0):
{
nimln_(676, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929558_(newCTX, ((NI) 0), NIM_NIL);
}
break;
}
nimln_(678, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(newCTX == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL))) goto LA34_;
nimln_(679, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA34_: ;
nimln_(681, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T36_ = (NI)0;
T36_ = SSLCTXSetMode__wrappersZopenssl_557(newCTX, ((NI) 4));
(void)(T36_);
nimln_(682, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
loadCertificates__pureZnet_1019(newCTX, certFile, keyFile);
nimln_(687, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((verifyMode == ((tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg) 0)))) goto LA39_;
nimln_(689, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T43_;
T43_ = (NIM_BOOL)0;
T43_ = !(((caDir ? caDir->Sup.len : 0) == 0));
if (T43_) goto LA44_;
T43_ = !(((caFile ? caFile->Sup.len : 0) == 0));
LA44_: ;
if (!T43_) goto LA45_;
nimln_(690, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NCSTRING T49_;
NCSTRING T55_;
int T61_;
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T64_;
NimStringDesc* T65_;
T49_ = (NCSTRING)0;
{
if (!((caFile ? caFile->Sup.len : 0) == 0)) goto LA52_;
T49_ = ((NCSTRING) NIM_NIL);
}
goto LA50_;
LA52_: ;
{
T49_ = nimToCStringConv(caFile);
}
LA50_: ;
T55_ = (NCSTRING)0;
{
if (!((caDir ? caDir->Sup.len : 0) == 0)) goto LA58_;
T55_ = ((NCSTRING) NIM_NIL);
}
goto LA56_;
LA58_: ;
{
T55_ = nimToCStringConv(caDir);
}
LA56_: ;
T61_ = (int)0;
T61_ = Dl_2113929552_(newCTX, T49_, T55_);
if (!!((T61_ == ((NI32) 1)))) goto LA62_;
T64_ = NIM_NIL;
T64_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T64_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T64_).Sup.Sup.name = "IOError";
T65_ = NIM_NIL;
T65_ = (*T64_).Sup.Sup.message; (*T64_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_14));
if (T65_) nimGCunrefNoCycle(T65_);
asgnRef((void**) (&(*T64_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(691, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T64_, "IOError", "newContext", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 691);
}
LA62_: ;
}
goto LA41_;
LA45_: ;
{
NIM_BOOL found;
NIM_BOOL useEnvVars;
nimln_(696, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
found = NIM_FALSE;
nimln_(697, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(verifyMode == ((tyEnum_SslCVerifyMode__t9a9cuHiKUd7w4o8XPQAbfJg) 2))) goto LA69_;
useEnvVars = NIM_TRUE;
}
goto LA67_;
LA69_: ;
{
useEnvVars = NIM_FALSE;
}
LA67_: ;
{
NimStringDesc* fn;
fn = NIM_NIL;
nimln_(101, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
{
NIM_BOOL T75_;
T75_ = (NIM_BOOL)0;
T75_ = useEnvVars;
if (!(T75_)) goto LA76_;
T75_ = existsEnv__pureZos_426(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_15));
LA76_: ;
if (!T75_) goto LA77_;
nimln_(698, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
fn = getEnv__pureZos_421(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_15), ((NimStringDesc*) NIM_NIL));
{
int T81_;
nimln_(699, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T81_ = (int)0;
T81_ = Dl_2113929552_(newCTX, nimToCStringConv(fn), ((NCSTRING) NIM_NIL));
if (!(T81_ == ((NI32) 1))) goto LA82_;
nimln_(700, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
found = NIM_TRUE;
nimln_(701, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA72;
}
LA82_: ;
}
goto LA73_;
LA77_: ;
{
NIM_BOOL T85_;
NimStringDesc* p;
nimln_(104, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
T85_ = (NIM_BOOL)0;
T85_ = useEnvVars;
if (!(T85_)) goto LA86_;
T85_ = existsEnv__pureZos_426(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_16));
LA86_: ;
if (!T85_) goto LA87_;
nimln_(105, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
p = getEnv__pureZos_421(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_16), ((NimStringDesc*) NIM_NIL));
{
NimStringDesc* fn_2;
NimStringDesc* colontmp_;
glob_t fX60gensym151_;
NI resX60gensym151_;
int T90_;
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_18;
fn_2 = NIM_NIL;
colontmp_ = NIM_NIL;
nimln_(106, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
colontmp_ = nosjoinPath(p, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_17));
nimZeroMem((void*)(&fX60gensym151_), sizeof(glob_t));
resX60gensym151_ = (NI)0;
nimln_(2118, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151_.gl_offs = ((size_t) 0);
nimln_(2119, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151_.gl_pathc = ((size_t) 0);
nimln_(2120, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151_.gl_pathv = ((NCSTRING*) NIM_NIL);
nimln_(2121, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
T90_ = (int)0;
T90_ = glob(nimToCStringConv(colontmp_), ((int) 0), NIM_NIL, (&fX60gensym151_));
resX60gensym151_ = ((NI) (T90_));
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_18);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_18.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_18.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_18.status == 0) {
nimln_(2123, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
if (!(resX60gensym151_ == ((NI) 0))) goto LA93_;
{
NU64 iX60gensym151_;
NU64 colontmp__2;
NU64 res;
iX60gensym151_ = (NU64)0;
colontmp__2 = (NU64)0;
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
colontmp__2 = ((NU64) ((NU)((NU64)(fX60gensym151_.gl_pathc) - (NU64)(((NU) 1)))));
nimln_(107, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res = 0ULL;
{
nimln_(108, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NimStringDesc* pathX60gensym151_;
if (!((NU64)(res) <= (NU64)(colontmp__2))) goto LA97;
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
iX60gensym151_ = res;
nimln_(2125, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
NIM_BOOL T100_;
T100_ = (NIM_BOOL)0;
T100_ = eqeq___system_8711(fX60gensym151_.gl_pathv[iX60gensym151_], ((NCSTRING) NIM_NIL));
if (!!(!(T100_))) goto LA101_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_19));
}
LA101_: ;
nimln_(2126, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
pathX60gensym151_ = cstrToNimstr(fX60gensym151_.gl_pathv[iX60gensym151_]);
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
NIM_BOOL T105_;
nimln_(2164, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
T105_ = (NIM_BOOL)0;
T105_ = nosfileExists(pathX60gensym151_);
if (!T105_) goto LA106_;
nimln_(106, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
fn_2 = pathX60gensym151_;
nimln_(698, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
fn = fn_2;
{
int T110_;
nimln_(699, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T110_ = (int)0;
T110_ = Dl_2113929552_(newCTX, nimToCStringConv(fn), ((NCSTRING) NIM_NIL));
if (!(T110_ == ((NI32) 1))) goto LA111_;
nimln_(700, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
found = NIM_TRUE;
popSafePoint();
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
globfree((&fX60gensym151_));
nimln_(701, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA72;
}
LA111_: ;
}
LA106_: ;
nimln_(110, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res += ((NI) 1);
} LA97: ;
}
}
}
LA93_: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
globfree((&fX60gensym151_));
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_18.status != 0) nimLeaveFinally();
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_18.status != 0) reraiseException();
}
}
goto LA73_;
LA87_: ;
{
{
NimStringDesc* p_2;
NI i;
p_2 = NIM_NIL;
nimln_(36, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i = ((NI) 0);
{
nimln_(37, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_23;
nimln_(124, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
p_2 = copyString(certificatePaths__pureZssl95certs_3[(i)- 0]);
{
NIM_BOOL T121_;
nimln_(125, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
T121_ = (NIM_BOOL)0;
T121_ = nsuEndsWith(p_2, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_20));
if (T121_) goto LA122_;
T121_ = nsuEndsWith(p_2, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_21));
LA122_: ;
if (!T121_) goto LA123_;
nimln_(126, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
{
NIM_BOOL T127_;
T127_ = (NIM_BOOL)0;
T127_ = nosfileExists(p_2);
if (!T127_) goto LA128_;
nimln_(698, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
fn = p_2;
{
int T132_;
nimln_(699, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T132_ = (int)0;
T132_ = Dl_2113929552_(newCTX, nimToCStringConv(fn), ((NCSTRING) NIM_NIL));
if (!(T132_ == ((NI32) 1))) goto LA133_;
nimln_(700, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
found = NIM_TRUE;
nimln_(701, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA72;
}
LA133_: ;
}
LA128_: ;
}
goto LA119_;
LA123_: ;
{
NIM_BOOL T136_;
nimln_(128, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
T136_ = (NIM_BOOL)0;
T136_ = nosdirExists(p_2);
if (!T136_) goto LA137_;
{
NimStringDesc* fn_3;
NimStringDesc* colontmp__3;
glob_t fX60gensym151__2;
NI resX60gensym151__2;
int T140_;
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_22;
fn_3 = NIM_NIL;
colontmp__3 = NIM_NIL;
nimln_(129, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
colontmp__3 = nosjoinPath(p_2, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_17));
nimZeroMem((void*)(&fX60gensym151__2), sizeof(glob_t));
resX60gensym151__2 = (NI)0;
nimln_(2118, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151__2.gl_offs = ((size_t) 0);
nimln_(2119, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151__2.gl_pathc = ((size_t) 0);
nimln_(2120, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
fX60gensym151__2.gl_pathv = ((NCSTRING*) NIM_NIL);
nimln_(2121, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
T140_ = (int)0;
T140_ = glob(nimToCStringConv(colontmp__3), ((int) 0), NIM_NIL, (&fX60gensym151__2));
resX60gensym151__2 = ((NI) (T140_));
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_22);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_22.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_22.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_22.status == 0) {
nimln_(2123, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
if (!(resX60gensym151__2 == ((NI) 0))) goto LA143_;
{
NU64 iX60gensym151__2;
NU64 colontmp__4;
NU64 res_2;
iX60gensym151__2 = (NU64)0;
colontmp__4 = (NU64)0;
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
colontmp__4 = ((NU64) ((NU)((NU64)(fX60gensym151__2.gl_pathc) - (NU64)(((NU) 1)))));
nimln_(107, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res_2 = 0ULL;
{
nimln_(108, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NimStringDesc* pathX60gensym151__2;
if (!((NU64)(res_2) <= (NU64)(colontmp__4))) goto LA147;
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
iX60gensym151__2 = res_2;
nimln_(2125, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
NIM_BOOL T150_;
T150_ = (NIM_BOOL)0;
T150_ = eqeq___system_8711(fX60gensym151__2.gl_pathv[iX60gensym151__2], ((NCSTRING) NIM_NIL));
if (!!(!(T150_))) goto LA151_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_19));
}
LA151_: ;
nimln_(2126, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
pathX60gensym151__2 = cstrToNimstr(fX60gensym151__2.gl_pathv[iX60gensym151__2]);
nimln_(2124, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
{
NIM_BOOL T155_;
nimln_(2164, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
T155_ = (NIM_BOOL)0;
T155_ = nosfileExists(pathX60gensym151__2);
if (!T155_) goto LA156_;
nimln_(129, "/home/yyoncho/Sources/nim/Nim/lib/pure/ssl_certs.nim");
fn_3 = pathX60gensym151__2;
nimln_(698, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
fn = fn_3;
{
int T160_;
nimln_(699, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T160_ = (int)0;
T160_ = Dl_2113929552_(newCTX, nimToCStringConv(fn), ((NCSTRING) NIM_NIL));
if (!(T160_ == ((NI32) 1))) goto LA161_;
nimln_(700, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
found = NIM_TRUE;
popSafePoint();
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
globfree((&fX60gensym151__2));
nimln_(701, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA72;
}
LA161_: ;
}
LA156_: ;
nimln_(110, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res_2 += ((NI) 1);
} LA147: ;
}
}
}
LA143_: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(2122, "/home/yyoncho/Sources/nim/Nim/lib/pure/os.nim");
globfree((&fX60gensym151__2));
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_22.status != 0) nimLeaveFinally();
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_22.status != 0) reraiseException();
}
}
goto LA119_;
LA137_: ;
LA119_: ;
nimln_(39, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
{
if (!(((NI) 6) <= ((NI) (i)))) goto LA167_;
goto LA117;
}
LA167_: ;
nimln_(40, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_23)) { raiseOverflow(); };
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_23 < 0 || TM__XqsrSBxhOTPgLQ9cX4MmV4A_23 > 6){ raiseOverflow(); }
i = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_23);
}
} LA117: ;
}
}
LA73_: ;
} LA72: ;
nimln_(702, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T173_;
NimStringDesc* T174_;
if (!!(found)) goto LA171_;
T173_ = NIM_NIL;
T173_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T173_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T173_).Sup.Sup.name = "IOError";
T174_ = NIM_NIL;
T174_ = (*T173_).Sup.Sup.message; (*T173_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_24));
if (T174_) nimGCunrefNoCycle(T174_);
asgnRef((void**) (&(*T173_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(703, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T173_, "IOError", "newContext", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 703);
}
LA171_: ;
}
LA41_: ;
}
LA39_: ;
nimln_(705, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T175_ = NIM_NIL;
T175_ = (tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w*) newObj((&NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_), sizeof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w));
(*T175_).context = newCTX;
initHashSet__pureZnet_1065(((NI) 64), (&(*T175_).referencedData));
nimln_(706, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
asgnRef((void**) (&(*T175_).extraInternal), new__pureZnet_1093());
result = T175_;
popFrame();
return result;
}
static N_NIMCALL(void, Marker_tyRef__MkGXUPMSENeRDS7EppfLgA)(void* p, NI op) {
tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* a;
NI T1_;
a = (tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*)p;
T1_ = (NI)0;
nimGCvisit((void*)(*a).sslContext, op);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDisconnectionError__pureZnet_171)(tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags, NI32 lastError) {
NIM_BOOL result;
NIM_BOOL T1_;
NIM_BOOL T3_;
NIM_BOOL T4_;
nimfr_("isDisconnectionError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NIM_BOOL)0;
nimln_(236, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(247, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T1_ = (NIM_BOOL)0;
T1_ = ((flags &((NU8)1<<((NU)(((tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg) 1))&7U)))!=0);
if (!(T1_)) goto LA2_;
nimln_(249, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T3_ = (NIM_BOOL)0;
nimln_(248, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T4_ = (NIM_BOOL)0;
T4_ = (lastError == ((int) 104));
if (T4_) goto LA5_;
nimln_(249, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T4_ = (lastError == ((int) 32));
LA5_: ;
T3_ = T4_;
if (T3_) goto LA6_;
nimln_(250, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T3_ = (lastError == ((int) 102));
LA6_: ;
T1_ = T3_;
LA2_: ;
result = T1_;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI32, getSocketError__pureZnet_1373)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket) {
NI32 result;
nimfr_("getSocketError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NI32)0;
nimln_(910, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = osLastError__pureZos_408();
nimln_(911, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result == ((NI32) 0))) goto LA3_;
nimln_(912, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (*socket).lastError;
}
LA3_: ;
nimln_(913, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result == ((NI32) 0))) goto LA7_;
nimln_(914, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(result, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_40));
}
LA7_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, socketError__pureZnet_165)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NI err, NIM_BOOL async, NI32 lastError, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags) {
nimfr_("socketError", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ nimln_(930, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(*socket).isSsl) goto LA3_;
nimln_(931, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int ret;
if (!(err <= ((NI) 0))) goto LA7_;
nimln_(932, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((err) < ((int) (-2147483647 -1)) || (err) > ((int) 2147483647)){ raiseRangeErrorI(err, ((int) (-2147483647 -1)), ((int) 2147483647)); }
ret = Dl_2113929616_((*socket).sslHandle, ((int) (err)));
nimln_(933, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
switch (ret) {
case ((NI) 6):
{
nimln_(935, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_32));
}
break;
case ((NI) 7):
case ((NI) 8):
{
nimln_(937, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!async) goto LA13_;
nimln_(938, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA11_;
LA13_: ;
{
nimln_(939, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_33));
}
LA11_: ;
}
break;
case ((NI) 3):
case ((NI) 2):
{
nimln_(941, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!async) goto LA19_;
nimln_(942, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA17_;
LA19_: ;
{
nimln_(943, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_33));
}
LA17_: ;
}
break;
case ((NI) 4):
{
nimln_(945, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_34));
}
break;
case ((NI) 5):
{
NI32 osErr;
nimln_(948, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslNoShutdown = NIM_TRUE;
nimln_(949, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
osErr = osLastError__pureZos_408();
nimln_(950, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T26_;
NimStringDesc* errStr;
unsigned long sslErr;
T26_ = (NIM_BOOL)0;
T26_ = isDisconnectionError__pureZnet_171(flags, osErr);
if (!!(T26_)) goto LA27_;
nimln_(951, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
errStr = copyString(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_35));
nimln_(952, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sslErr = Dl_2113929663_();
nimln_(953, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T31_;
T31_ = (NIM_BOOL)0;
T31_ = (sslErr == ((NU) 0));
if (!(T31_)) goto LA32_;
T31_ = (err == ((NI) 0));
LA32_: ;
if (!T31_) goto LA33_;
nimln_(954, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
errStr = resizeString(errStr, 54);
appendString(errStr, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_36));
}
goto LA29_;
LA33_: ;
{
NIM_BOOL T36_;
nimln_(955, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T36_ = (NIM_BOOL)0;
T36_ = (sslErr == ((NU) 0));
if (!(T36_)) goto LA37_;
T36_ = (err == ((NI) -1));
LA37_: ;
if (!T36_) goto LA38_;
nimln_(956, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
errStr = resizeString(errStr, 16);
appendString(errStr, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_37));
}
goto LA29_;
LA38_: ;
{
NimStringDesc* errStr_2;
NCSTRING T41_;
NimStringDesc* T42_;
nimln_(958, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T41_ = (NCSTRING)0;
T41_ = Dl_2113929659_(sslErr, ((NCSTRING) NIM_NIL));
errStr_2 = cstrToNimstr(T41_);
nimln_(959, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T42_ = NIM_NIL;
T42_ = rawNewString((errStr_2 ? errStr_2->Sup.len : 0) + (errStr_2 ? errStr_2->Sup.len : 0) + 2);
appendString(T42_, errStr_2);
appendString(T42_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_38));
appendString(T42_, errStr_2);
raiseSSLError__pureZnet_510(T42_);
}
LA29_: ;
nimln_(960, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(osErr, errStr);
}
LA27_: ;
}
break;
case ((NI) 1):
{
nimln_(963, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslNoShutdown = NIM_TRUE;
nimln_(964, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
break;
default:
{
nimln_(965, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_39));
}
break;
}
}
LA7_: ;
}
LA3_: ;
nimln_(967, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T47_;
NI32 lastE;
T47_ = (NIM_BOOL)0;
T47_ = (err == ((NI) -1));
if (!(T47_)) goto LA48_;
T47_ = !((*socket).isSsl);
LA48_: ;
if (!T47_) goto LA49_;
nimln_(968, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(((NI) (lastError)) == ((NI) -1))) goto LA53_;
lastE = getSocketError__pureZnet_1373(socket);
}
goto LA51_;
LA53_: ;
{
lastE = lastError;
}
LA51_: ;
nimln_(969, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T58_;
T58_ = (NIM_BOOL)0;
T58_ = isDisconnectionError__pureZnet_171(flags, lastE);
if (!!(T58_)) goto LA59_;
nimln_(970, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!async) goto LA63_;
nimln_(976, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T67_;
T67_ = (NIM_BOOL)0;
T67_ = (lastE == ((int) 11));
if (T67_) goto LA68_;
T67_ = (lastE == ((int) 11));
LA68_: ;
if (!T67_) goto LA69_;
nimln_(977, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA65_;
LA69_: ;
{
nimln_(978, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(lastE, ((NimStringDesc*) NIM_NIL));
}
LA65_: ;
}
goto LA61_;
LA63_: ;
{
nimln_(979, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(lastE, ((NimStringDesc*) NIM_NIL));
}
LA61_: ;
}
LA59_: ;
}
LA49_: ;
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, close__pureZnet_1437)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags) {
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_26;
TFrame* _nimCurFrame;
nimfr_("close", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
_nimCurFrame = getFrame();
nimln_(1195, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_26);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_26.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_26.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_26.status == 0) {
nimln_(1197, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (*socket).isSsl;
if (!(T3_)) goto LA4_;
T3_ = !(((*socket).sslHandle == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL)));
LA4_: ;
if (!T3_) goto LA5_;
nimln_(1201, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T9_;
int T11_;
sigset_t oldSetX60gensym116_;
sigset_t watchSetX60gensym116_;
NIM_BOOL alreadyBlockedX60gensym116_;
int T38_;
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_29;
int res;
T9_ = (NIM_BOOL)0;
T9_ = !((*socket).sslNoShutdown);
if (!(T9_)) goto LA10_;
T11_ = (int)0;
T11_ = SSL_in_init__wrappersZopenssl_270((*socket).sslHandle);
T9_ = (T11_ == ((NI32) 0));
LA10_: ;
if (!T9_) goto LA12_;
nimZeroMem((void*)(&oldSetX60gensym116_), sizeof(sigset_t));
nimZeroMem((void*)(&watchSetX60gensym116_), sizeof(sigset_t));
nimln_(1159, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T16_;
NI32 T19_;
T16_ = (int)0;
T16_ = sigemptyset((&oldSetX60gensym116_));
if (!(T16_ == ((NI32) -1))) goto LA17_;
nimln_(1160, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T19_ = (NI32)0;
T19_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T19_, ((NimStringDesc*) NIM_NIL));
}
LA17_: ;
nimln_(1161, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T22_;
NI32 T25_;
T22_ = (int)0;
T22_ = sigemptyset((&watchSetX60gensym116_));
if (!(T22_ == ((NI32) -1))) goto LA23_;
nimln_(1162, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T25_ = (NI32)0;
T25_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T25_, ((NimStringDesc*) NIM_NIL));
}
LA23_: ;
nimln_(1164, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T28_;
NI32 T31_;
T28_ = (int)0;
T28_ = sigaddset((&watchSetX60gensym116_), ((int) 13));
if (!(T28_ == ((NI32) -1))) goto LA29_;
nimln_(1165, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T31_ = (NI32)0;
T31_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T31_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_27));
}
LA29_: ;
nimln_(1167, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T34_;
NI32 T37_;
nimln_(1154, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T34_ = (int)0;
T34_ = pthread_sigmask(((int) 0), (&watchSetX60gensym116_), (&oldSetX60gensym116_));
if (!(T34_ == ((NI32) -1))) goto LA35_;
nimln_(1168, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T37_ = (NI32)0;
T37_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T37_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_28));
}
LA35_: ;
nimln_(1170, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T38_ = (int)0;
T38_ = sigismember((&oldSetX60gensym116_), ((int) 13));
alreadyBlockedX60gensym116_ = (T38_ == ((NI32) 1));
nimln_(1180, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_29);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_29.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_29.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_29.status == 0) {
nimln_(1207, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929869_();
nimln_(1208, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
res = Dl_2113929599_((*socket).sslHandle);
nimln_(1209, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(res == ((NI32) 0))) goto LA41_;
}
goto LA39_;
LA41_: ;
{
NI32 err;
int sslError;
nimln_(1211, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!!((res == ((NI32) 1)))) goto LA44_;
nimln_(1213, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
err = osLastError__pureZos_408();
nimln_(1214, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sslError = Dl_2113929616_((*socket).sslHandle, res);
nimln_(1220, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T48_;
T48_ = (NIM_BOOL)0;
T48_ = (sslError == ((NI32) 6));
if (T48_) goto LA49_;
nimln_(1221, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T48_ = (sslError == ((NI32) 5));
LA49_: ;
if (!T48_) goto LA50_;
nimln_(1224, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(err == ((NI32) 32))) goto LA54_;
nimln_(1227, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int signalX60gensym116X60gensym119_;
int errX60gensym116X60gensym119_;
nimln_(1173, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!!(alreadyBlockedX60gensym116_)) goto LA58_;
signalX60gensym116X60gensym119_ = (int)0;
nimln_(1175, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
errX60gensym116X60gensym119_ = sigwait((&watchSetX60gensym116_), (&signalX60gensym116X60gensym119_));
nimln_(1176, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((errX60gensym116X60gensym119_ == ((NI32) 0)))) goto LA62_;
nimln_(1177, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(errX60gensym116X60gensym119_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_30));
}
LA62_: ;
nimln_(1178, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((signalX60gensym116X60gensym119_ == ((int) 13)))) goto LA66_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_31));
}
LA66_: ;
}
LA58_: ;
}
LA54_: ;
nimln_(1230, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T70_;
T70_ = (NIM_BOOL)0;
T70_ = isDisconnectionError__pureZnet_171(flags, err);
if (!!(T70_)) goto LA71_;
nimln_(1231, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, ((NI) (res)), NIM_FALSE, err, flags);
}
LA71_: ;
}
goto LA46_;
LA50_: ;
{
nimln_(1233, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, ((NI) (res)), NIM_FALSE, err, flags);
}
LA46_: ;
}
goto LA39_;
LA44_: ;
LA39_: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(1183, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!(alreadyBlockedX60gensym116_)) goto LA78_;
nimln_(1184, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T82_;
NI32 T85_;
nimln_(1154, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T82_ = (int)0;
T82_ = pthread_sigmask(((int) 1), (&watchSetX60gensym116_), (&oldSetX60gensym116_));
if (!(T82_ == ((NI32) -1))) goto LA83_;
nimln_(1185, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T85_ = (NI32)0;
T85_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T85_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_41));
}
LA83_: ;
}
LA78_: ;
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_29.status != 0) nimLeaveFinally();
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_29.status != 0) reraiseException();
}
LA12_: ;
}
LA5_: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
}
{
nimln_(1236, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T90_;
T90_ = (NIM_BOOL)0;
T90_ = (*socket).isSsl;
if (!(T90_)) goto LA91_;
T90_ = !(((*socket).sslHandle == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL)));
LA91_: ;
if (!T90_) goto LA92_;
nimln_(1237, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929537_((*socket).sslHandle);
nimln_(1238, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslHandle = ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL);
}
LA92_: ;
nimln_(1240, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
close__pureZnativesockets_162((*socket).fd);
nimln_(1241, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).fd = osInvalidSocket__pureZnativesockets_47;
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_26.status != 0) nimLeaveFinally();
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_26.status != 0) reraiseException();
popFrame();
}
static N_INLINE(NIM_BOOL, isNone__pureZnativesockets_308)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ self) {
NIM_BOOL result;
nimfr_("isNone", "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = (NIM_BOOL)0;
nimln_(172, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
nimln_(184, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = !(self.has);
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, isSome__pureZnativesockets_283)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ self) {
NIM_BOOL result;
nimfr_("isSome", "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = (NIM_BOOL)0;
nimln_(157, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = self.has;
popFrame();
return result;
}
static N_INLINE(tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg*, unsafeGet__pureZnet_2024)(tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ* self) {
tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg* result;
nimfr_("unsafeGet", "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = (tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg*)0;
nimln_(375, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = isSome__pureZnativesockets_283((*self));
if (!!(T3_)) goto LA4_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_43));
}
LA4_: ;
nimln_(376, "/home/yyoncho/Sources/nim/Nim/lib/pure/options.nim");
result = (&(*self).val);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*, newSocket__pureZnet_222)(int fd_0, tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain, tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType, tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol, NIM_BOOL buffered) {
tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* result;
tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* T5_;
nimfr_("newSocket", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_NIL;
nimln_(264, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!(!((fd_0 == osInvalidSocket__pureZnativesockets_47)))) goto LA3_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_46));
}
LA3_: ;
nimln_(265, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T5_ = NIM_NIL;
T5_ = (tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*) newObj((&NTIsocket__MkGXUPMSENeRDS7EppfLgA_), sizeof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ));
(*T5_).fd = fd_0;
(*T5_).isBuffered = buffered;
(*T5_).domain = domain;
(*T5_).sockType = sockType;
(*T5_).protocol = protocol;
result = T5_;
nimln_(271, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!buffered) goto LA8_;
nimln_(272, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*result).currPos = ((NI) 0);
}
LA8_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*, dial__pureZnet_1958)(NimStringDesc* address, NU16 port, tyEnum_Protocol__dqJ1OqRGclxIMMdSLRzzXg protocol, NIM_BOOL buffered) {
tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* result;
tyEnum_SockType__NQT1bItGG2X9byGdrWX7ujw sockType;
struct addrinfo* aiList;
tyArray__JC6Xlef5rNPKoqzdesSPoQ fdPerDomain;
NIM_BOOL success;
NI32 lastError;
struct addrinfo* it;
tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg domain;
int lastFd;
nimfr_("dial", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_NIL;
nimln_(1945, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sockType = toSockType__pureZnativesockets_128(protocol);
nimln_(1947, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
aiList = getAddrInfo__pureZnativesockets_193(address, port, ((tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg) 0), sockType, protocol);
nimZeroMem((void*)fdPerDomain, sizeof(tyArray__JC6Xlef5rNPKoqzdesSPoQ));
{
NI i;
NI res;
i = (NI)0;
nimln_(90, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res = ((NI) 0);
{
nimln_(91, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_42;
if (!(res <= ((NI) 23))) goto LA3;
nimln_(1950, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((res) < ((NI) 0) || (res) > ((NI) 23)){ raiseRangeErrorI(res, ((NI) 0), ((NI) 23)); }
i = ((NI) (res));
fdPerDomain[(i)- 0] = osInvalidSocket__pureZnativesockets_47;
nimln_(93, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
if (nimAddInt(res, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_42)) { raiseOverflow(); };
res = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_42);
} LA3: ;
}
}
nimln_(1957, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
success = NIM_FALSE;
lastError = (NI32)0;
nimln_(1959, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
it = aiList;
domain = (tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg)0;
lastFd = (int)0;
{
nimln_(1962, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
while (1) {
if (!!((it == ((struct addrinfo*) NIM_NIL)))) goto LA5;
{
tyObject_Option__FqSKP9b8yM9aV7mJ0VU4DFWQ domainOpt;
tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg* T12_;
nimln_(1963, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
domainOpt = toKnownDomain__pureZnativesockets_74((*it).ai_family);
nimln_(1964, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = isNone__pureZnativesockets_308(domainOpt);
if (!T9_) goto LA10_;
nimln_(1965, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
it = (*it).ai_next;
nimln_(1966, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA6;
}
LA10_: ;
nimln_(1967, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T12_ = (tyEnum_Domain__Q79bEtFARvq0ekDNtvj3Vqg*)0;
T12_ = unsafeGet__pureZnet_2024((&domainOpt));
domain = (*T12_);
nimln_(1968, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((NU)(domain) > (NU)(23)){ raiseIndexError2(domain, 23); }
lastFd = fdPerDomain[(domain)- 0];
nimln_(1969, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(lastFd == osInvalidSocket__pureZnativesockets_47)) goto LA15_;
nimln_(1970, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastFd = createNativeSocket__pureZnativesockets_178(domain, sockType, protocol, NIM_FALSE);
nimln_(1971, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 err;
if (!(lastFd == osInvalidSocket__pureZnativesockets_47)) goto LA19_;
nimln_(1975, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
err = osLastError__pureZos_408();
nimln_(1976, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
freeaddrinfo(aiList);
{
NI i_2;
int fd_1;
NI i_3;
i_2 = (NI)0;
fd_1 = (int)0;
nimln_(153, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i_3 = ((NI) 0);
{
nimln_(154, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_44;
nimln_(1977, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i_2 = i_3;
fd_1 = fdPerDomain[(i_3)- 0];
{
NIM_BOOL T26_;
nimln_(1954, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T26_ = (NIM_BOOL)0;
T26_ = !((fd_1 == osInvalidSocket__pureZnativesockets_47));
if (!(T26_)) goto LA27_;
T26_ = !((((NI) (i_2)) == ((NI) -1)));
LA27_: ;
if (!T26_) goto LA28_;
nimln_(1955, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
close__pureZnativesockets_162(fd_1);
}
LA28_: ;
nimln_(156, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
{
if (!(((NI) 23) <= ((NI) (i_3)))) goto LA32_;
goto LA22;
}
LA32_: ;
nimln_(157, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i_3, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_44)) { raiseOverflow(); };
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_44 < 0 || TM__XqsrSBxhOTPgLQ9cX4MmV4A_44 > 23){ raiseOverflow(); }
i_3 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_44);
}
} LA22: ;
}
nimln_(1978, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(err, ((NimStringDesc*) NIM_NIL));
}
LA19_: ;
nimln_(1979, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((NU)(domain) > (NU)(23)){ raiseIndexError2(domain, 23); }
fdPerDomain[(domain)- 0] = lastFd;
}
LA15_: ;
nimln_(1980, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T36_;
T36_ = (int)0;
T36_ = connect(lastFd, (*it).ai_addr, (*it).ai_addrlen);
if (!(T36_ == ((NI32) 0))) goto LA37_;
nimln_(1981, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
success = NIM_TRUE;
nimln_(1982, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA4;
}
LA37_: ;
nimln_(1983, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastError = osLastError__pureZos_408();
nimln_(1984, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
it = (*it).ai_next;
} LA6: ;
} LA5: ;
} LA4: ;
nimln_(1985, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
freeaddrinfo(aiList);
{
NI i_4;
int fd_2;
NI i_5;
i_4 = (NI)0;
fd_2 = (int)0;
nimln_(153, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i_5 = ((NI) 0);
{
nimln_(154, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_45;
nimln_(1986, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i_4 = i_5;
fd_2 = fdPerDomain[(i_5)- 0];
{
NIM_BOOL T44_;
nimln_(1954, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T44_ = (NIM_BOOL)0;
T44_ = !((fd_2 == osInvalidSocket__pureZnativesockets_47));
if (!(T44_)) goto LA45_;
nimln_(1986, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T44_ = !((((NI) (i_4)) == domain));
LA45_: ;
if (!T44_) goto LA46_;
nimln_(1955, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
close__pureZnativesockets_162(fd_2);
}
LA46_: ;
nimln_(156, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
{
if (!(((NI) 23) <= ((NI) (i_5)))) goto LA50_;
goto LA40;
}
LA50_: ;
nimln_(157, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i_5, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_45)) { raiseOverflow(); };
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_45 < 0 || TM__XqsrSBxhOTPgLQ9cX4MmV4A_45 > 23){ raiseOverflow(); }
i_5 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_45);
}
} LA40: ;
}
nimln_(1988, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!success) goto LA54_;
nimln_(1989, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = newSocket__pureZnet_222(lastFd, domain, sockType, protocol, buffered);
}
goto LA52_;
LA54_: ;
{
nimln_(1990, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!!((lastError == ((NI32) 0)))) goto LA57_;
nimln_(1991, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseOSError__pureZos_405(lastError, ((NimStringDesc*) NIM_NIL));
}
goto LA52_;
LA57_: ;
{
tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw* T60_;
NimStringDesc* T61_;
T60_ = NIM_NIL;
T60_ = (tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw*) newObj((&NTIrefioerror__HMIVdYjdZYWskTmTQVo5BQ_), sizeof(tyObject_IOError__iLZrPn9anoh9ad1MmO0RczFw));
(*T60_).Sup.Sup.Sup.m_type = (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_);
(*T60_).Sup.Sup.name = "IOError";
nimln_(1993, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T61_ = NIM_NIL;
T61_ = rawNewString((address ? address->Sup.len : 0) + 26);
appendString(T61_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_47));
appendString(T61_, address);
asgnRef((void**) (&(*T60_).Sup.Sup.message), T61_);
asgnRef((void**) (&(*T60_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T60_, "IOError", "dial", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 1993);
}
LA52_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, wrapSocket__pureZnet_1293)(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* ctx, tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket) {
nimfr_("wrapSocket", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(792, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!(!((*socket).isSsl))) goto LA3_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_48));
}
LA3_: ;
nimln_(793, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).isSsl = NIM_TRUE;
nimln_(794, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
asgnRef((void**) (&(*socket).sslContext), ctx);
nimln_(795, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslHandle = Dl_2113929535_((*(*socket).sslContext).context);
nimln_(796, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslNoHandshake = NIM_FALSE;
nimln_(797, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslHasPeekChar = NIM_FALSE;
nimln_(798, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslNoShutdown = NIM_FALSE;
nimln_(799, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!((*socket).sslHandle == ((tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw*) NIM_NIL))) goto LA7_;
nimln_(800, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA7_: ;
nimln_(802, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T11_;
T11_ = (int)0;
T11_ = Dl_2113929596_((*socket).sslHandle, (*socket).fd);
if (!!((T11_ == ((NI32) 1)))) goto LA12_;
nimln_(803, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) NIM_NIL));
}
LA12_: ;
popFrame();
}
static N_INLINE(NI, find__pureZos_666)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
NI result;
nimfr_("find", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
{ result = (NI)0;
nimln_(1847, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = ((NI) 0);
{
NIM_CHAR i;
NI i_2;
i = (NIM_CHAR)0;
nimln_(21, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i_2 = ((NI) 0);
{
nimln_(22, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_51;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_52;
if (!(i_2 < aLen_0)) goto LA3;
nimln_(1848, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
if (i_2 < 0 || i_2 >= aLen_0){ raiseIndexError2(i_2,aLen_0-1); }
i = a[i_2];
{
nimln_(1849, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
if (!((NU8)(i) == (NU8)(item))) goto LA6_;
goto BeforeRet_;
}
LA6_: ;
nimln_(1848, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
if (nimAddInt(result, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_51)) { raiseOverflow(); };
result = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_51);
nimln_(24, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_52)) { raiseOverflow(); };
i_2 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_52);
} LA3: ;
}
}
nimln_(1851, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = ((NI) -1);
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, contains__pureZos_661)(NIM_CHAR* a, NI aLen_0, NIM_CHAR item) {
NIM_BOOL result;
NI T1_;
nimfr_("contains", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
{ result = (NIM_BOOL)0;
nimln_(1865, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
T1_ = (NI)0;
T1_ = find__pureZos_666(a, aLen_0, item);
result = (((NI) 0) <= T1_);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_867)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
NimStringDesc* result;
NI a;
NI L;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_80;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_81;
nimfr_("[]", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = NIM_NIL;
nimln_(2582, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
a = x.a;
nimln_(2583, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
if (nimSubInt(x.b, a, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_80)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_80), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_81)) { raiseOverflow(); };
L = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_81);
nimln_(2584, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
if ((L) < ((NI) 0) || (L) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(L, ((NI) 0), ((NI) IL64(9223372036854775807))); }
result = mnewString(((NI) (L)));
{
NI i;
NI i_2;
i = (NI)0;
nimln_(119, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
i_2 = ((NI) 0);
{
nimln_(120, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_82;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_83;
if (!(i_2 < L)) goto LA3;
nimln_(2585, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
i = i_2;
if (i < 0 || i >= (result ? result->Sup.len : 0)){ raiseIndexError2(i,(result ? result->Sup.len : 0)-1); }
if (nimAddInt(i, a, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_82)) { raiseOverflow(); };
if ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_82) < 0 || (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_82) >= (s ? s->Sup.len : 0)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_82),(s ? s->Sup.len : 0)-1); }
result->data[i] = s->data[(NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_82)];
nimln_(122, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_83)) { raiseOverflow(); };
i_2 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_83);
} LA3: ;
}
}
popFrame();
return result;
}
static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_842)(NI a, NI b) {
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
nimfr_("..", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
nimln_(522, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
result.a = a;
result.b = b;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIPv6Address__pureZnet_329)(NimStringDesc* addressStr) {
tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA result;
NI groupCount;
NI currentGroupStart;
NU32 currentShort;
NIM_BOOL separatorValid;
NI dualColonGroup;
NIM_BOOL lastWasColon;
NI v4StartPos;
NI byteCount;
nimfr_("parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA));
nimln_(352, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA));
result.family = ((tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA) 0);
nimln_(353, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T5_;
NimStringDesc* T6_;
if (!((addressStr ? addressStr->Sup.len : 0) < ((NI) 2))) goto LA3_;
T5_ = NIM_NIL;
T5_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T5_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T5_).Sup.Sup.name = "ValueError";
T6_ = NIM_NIL;
T6_ = (*T5_).Sup.Sup.message; (*T5_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_53));
if (T6_) nimGCunrefNoCycle(T6_);
asgnRef((void**) (&(*T5_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(354, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T5_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 354);
}
LA3_: ;
nimln_(357, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
groupCount = ((NI) 0);
nimln_(358, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentGroupStart = ((NI) 0);
nimln_(359, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentShort = ((NU32) 0);
nimln_(360, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_TRUE;
nimln_(361, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
dualColonGroup = ((NI) -1);
nimln_(362, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastWasColon = NIM_FALSE;
nimln_(363, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
v4StartPos = ((NI) -1);
nimln_(364, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
byteCount = ((NI) 0);
{
NI i;
NIM_CHAR c;
NI i_2;
NI L;
i = (NI)0;
c = (NIM_CHAR)0;
nimln_(190, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i_2 = ((NI) 0);
nimln_(191, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
L = (addressStr ? addressStr->Sup.len : 0);
{
nimln_(192, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_74;
if (!(i_2 < L)) goto LA9;
nimln_(366, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i = i_2;
if (i_2 < 0 || i_2 >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2(i_2,(addressStr ? addressStr->Sup.len : 0)-1); }
c = addressStr->data[i_2];
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_68;
nimln_(367, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU8)(c) == (NU8)(58))) goto LA12_;
nimln_(368, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T18_;
NimStringDesc* T19_;
if (!!(separatorValid)) goto LA16_;
T18_ = NIM_NIL;
T18_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T18_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T18_).Sup.Sup.name = "ValueError";
T19_ = NIM_NIL;
T19_ = (*T18_).Sup.Sup.message; (*T18_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_54));
if (T19_) nimGCunrefNoCycle(T19_);
asgnRef((void**) (&(*T18_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(369, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T18_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 369);
}
LA16_: ;
nimln_(371, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!lastWasColon) goto LA22_;
nimln_(372, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T28_;
NimStringDesc* T29_;
if (!!((dualColonGroup == ((NI) -1)))) goto LA26_;
T28_ = NIM_NIL;
T28_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T28_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T28_).Sup.Sup.name = "ValueError";
T29_ = NIM_NIL;
T29_ = (*T28_).Sup.Sup.message; (*T28_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_55));
if (T29_) nimGCunrefNoCycle(T29_);
asgnRef((void**) (&(*T28_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(373, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T28_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 373);
}
LA26_: ;
nimln_(375, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
dualColonGroup = groupCount;
nimln_(376, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_FALSE;
}
goto LA20_;
LA22_: ;
{
NIM_BOOL T31_;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_61;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_62;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_63;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_64;
nimln_(377, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T31_ = (NIM_BOOL)0;
T31_ = !((i == ((NI) 0)));
if (!(T31_)) goto LA32_;
T31_ = !((i == ((addressStr ? addressStr->Sup.len : 0)-1)));
LA32_: ;
if (!T31_) goto LA33_;
nimln_(378, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T39_;
NimStringDesc* T40_;
if (!(((NI) 8) <= groupCount)) goto LA37_;
T39_ = NIM_NIL;
T39_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T39_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T39_).Sup.Sup.name = "ValueError";
T40_ = NIM_NIL;
T40_ = (*T39_).Sup.Sup.message; (*T39_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_56));
if (T40_) nimGCunrefNoCycle(T40_);
asgnRef((void**) (&(*T39_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(379, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T39_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 379);
}
LA37_: ;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(381, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_61)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_61)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_61), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_61))- 0] = ((NU8) ((NU32)((NU32)(currentShort) >> (NU64)(((NI) 8)))));
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(382, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_62)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_62), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_63)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_63)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_63), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_63))- 0] = ((NU8) ((NU32)(currentShort & ((NU32) 255))));
nimln_(383, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentShort = ((NU32) 0);
nimln_(384, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(groupCount, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_64)) { raiseOverflow(); };
groupCount = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_64);
nimln_(385, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((dualColonGroup == ((NI) -1)))) goto LA43_;
separatorValid = NIM_FALSE;
}
LA43_: ;
}
goto LA20_;
LA33_: ;
{
nimln_(386, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(i == ((NI) 0))) goto LA46_;
nimln_(387, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T52_;
NimStringDesc* T53_;
if (((NI) 1) < 0 || ((NI) 1) >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2(((NI) 1),(addressStr ? addressStr->Sup.len : 0)-1); }
if (!!(((NU8)(addressStr->data[((NI) 1)]) == (NU8)(58)))) goto LA50_;
T52_ = NIM_NIL;
T52_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T52_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T52_).Sup.Sup.name = "ValueError";
T53_ = NIM_NIL;
T53_ = (*T52_).Sup.Sup.message; (*T52_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_65));
if (T53_) nimGCunrefNoCycle(T53_);
asgnRef((void**) (&(*T52_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(388, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T52_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 388);
}
LA50_: ;
}
goto LA20_;
LA46_: ;
{
nimln_(391, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_66;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T59_;
NimStringDesc* T60_;
if (nimSubInt(((addressStr ? addressStr->Sup.len : 0)-1), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_66)) { raiseOverflow(); };
if ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_66) < 0 || (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_66) >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_66),(addressStr ? addressStr->Sup.len : 0)-1); }
if (!!(((NU8)(addressStr->data[(NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_66)]) == (NU8)(58)))) goto LA57_;
T59_ = NIM_NIL;
T59_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T59_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T59_).Sup.Sup.name = "ValueError";
T60_ = NIM_NIL;
T60_ = (*T59_).Sup.Sup.message; (*T59_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_67));
if (T60_) nimGCunrefNoCycle(T60_);
asgnRef((void**) (&(*T59_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(392, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T59_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 392);
}
LA57_: ;
}
LA20_: ;
nimln_(394, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastWasColon = NIM_TRUE;
nimln_(395, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(i, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_68)) { raiseOverflow(); };
currentGroupStart = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_68);
}
goto LA10_;
LA12_: ;
{
nimln_(396, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU8)(c) == (NU8)(46))) goto LA62_;
nimln_(397, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T66_;
NIM_BOOL T67_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T72_;
NimStringDesc* T73_;
T66_ = (NIM_BOOL)0;
T67_ = (NIM_BOOL)0;
T67_ = (i < ((NI) 3));
if (T67_) goto LA68_;
T67_ = !(separatorValid);
LA68_: ;
T66_ = T67_;
if (T66_) goto LA69_;
T66_ = (((NI) 7) <= groupCount);
LA69_: ;
if (!T66_) goto LA70_;
T72_ = NIM_NIL;
T72_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T72_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T72_).Sup.Sup.name = "ValueError";
T73_ = NIM_NIL;
T73_ = (*T72_).Sup.Sup.message; (*T72_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_53));
if (T73_) nimGCunrefNoCycle(T73_);
asgnRef((void**) (&(*T72_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(398, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T72_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 398);
}
LA70_: ;
nimln_(399, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
v4StartPos = currentGroupStart;
nimln_(400, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentShort = ((NU32) 0);
nimln_(401, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_FALSE;
nimln_(402, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto LA7;
}
goto LA10_;
LA62_: ;
{
nimln_(403, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(((NU8)(c)) >= ((NU8)(48)) && ((NU8)(c)) <= ((NU8)(57)) || ((NU8)(c)) >= ((NU8)(65)) && ((NU8)(c)) <= ((NU8)(70)) || ((NU8)(c)) >= ((NU8)(97)) && ((NU8)(c)) <= ((NU8)(102)))) goto LA75_;
nimln_(404, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_69;
if (!(((NU8)(c)) >= ((NU8)(48)) && ((NU8)(c)) <= ((NU8)(57)))) goto LA79_;
nimln_(405, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NU8)(c)), ((NI) 48), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_69)) { raiseOverflow(); };
currentShort = (NU32)((NU32)((NU32)((NU64)(currentShort) << (NU64)(((NI) 4)))) + (NU32)(((NU32) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_69)))));
}
goto LA77_;
LA79_: ;
{
NIM_BOOL T82_;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_70;
nimln_(406, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T82_ = (NIM_BOOL)0;
T82_ = ((NU8)(97) <= (NU8)(c));
if (!(T82_)) goto LA83_;
T82_ = ((NU8)(c) <= (NU8)(102));
LA83_: ;
if (!T82_) goto LA84_;
nimln_(407, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NU8)(c)), ((NI) 97), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_70)) { raiseOverflow(); };
currentShort = (NU32)((NU32)((NU32)((NU32)((NU32)((NU64)(currentShort) << (NU64)(((NI) 4)))) + (NU32)(((NU32) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_70)))))) + (NU32)(((NU32) 10)));
}
goto LA77_;
LA84_: ;
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_71;
nimln_(409, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NU8)(c)), ((NI) 65), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_71)) { raiseOverflow(); };
currentShort = (NU32)((NU32)((NU32)((NU32)((NU32)((NU64)(currentShort) << (NU64)(((NI) 4)))) + (NU32)(((NU32) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_71)))))) + (NU32)(((NU32) 10)));
}
LA77_: ;
nimln_(410, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T91_;
NimStringDesc* T92_;
if (!((NU32)(((NU32) 65535)) < (NU32)(currentShort))) goto LA89_;
T91_ = NIM_NIL;
T91_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T91_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T91_).Sup.Sup.name = "ValueError";
T92_ = NIM_NIL;
T92_ = (*T91_).Sup.Sup.message; (*T91_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_72));
if (T92_) nimGCunrefNoCycle(T92_);
asgnRef((void**) (&(*T91_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(411, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T91_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 411);
}
LA89_: ;
nimln_(413, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastWasColon = NIM_FALSE;
nimln_(414, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_TRUE;
}
goto LA10_;
LA75_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T94_;
NimStringDesc* T95_;
T94_ = NIM_NIL;
T94_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T94_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T94_).Sup.Sup.name = "ValueError";
T95_ = NIM_NIL;
T95_ = (*T94_).Sup.Sup.message; (*T94_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_73));
if (T95_) nimGCunrefNoCycle(T95_);
asgnRef((void**) (&(*T94_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(416, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T94_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 416);
}
LA10_: ;
nimln_(194, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i_2, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_74)) { raiseOverflow(); };
i_2 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_74);
nimln_(195, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
{
if (!!(((addressStr ? addressStr->Sup.len : 0) == L))) goto LA98_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_75));
}
LA98_: ;
} LA9: ;
}
} LA7: ;
nimln_(420, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(v4StartPos == ((NI) -1))) goto LA102_;
nimln_(421, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_76;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_77;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_78;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_79;
if (!separatorValid) goto LA106_;
nimln_(422, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T112_;
NimStringDesc* T113_;
if (!(((NI) 8) <= groupCount)) goto LA110_;
T112_ = NIM_NIL;
T112_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T112_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T112_).Sup.Sup.name = "ValueError";
T113_ = NIM_NIL;
T113_ = (*T112_).Sup.Sup.message; (*T112_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_56));
if (T113_) nimGCunrefNoCycle(T113_);
asgnRef((void**) (&(*T112_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(423, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T112_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 423);
}
LA110_: ;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(425, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_76)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_76)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_76), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_76))- 0] = ((NU8) ((NU32)((NU32)(currentShort) >> (NU64)(((NI) 8)))));
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(426, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_77)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_77), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_78)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_78)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_78), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_78))- 0] = ((NU8) ((NU32)(currentShort & ((NU32) 255))));
nimln_(427, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(groupCount, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_79)) { raiseOverflow(); };
groupCount = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_79);
}
LA106_: ;
}
goto LA100_;
LA102_: ;
{
NIM_BOOL leadingZero;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_90;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_91;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_92;
nimln_(429, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_FALSE;
{
NI i_3;
NIM_CHAR c_2;
NimStringDesc* colontmp_;
tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T116_;
NI i_4;
NI L_2;
i_3 = (NI)0;
c_2 = (NIM_CHAR)0;
colontmp_ = NIM_NIL;
nimln_(430, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T116_ = dotdot___pureZunicode_842(v4StartPos, ((addressStr ? addressStr->Sup.len : 0)-1));
colontmp_ = X5BX5D___pureZunicode_867(addressStr, T116_);
nimln_(190, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
i_4 = ((NI) 0);
nimln_(191, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
L_2 = (colontmp_ ? colontmp_->Sup.len : 0);
{
nimln_(192, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_89;
if (!(i_4 < L_2)) goto LA118;
nimln_(430, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i_3 = i_4;
if (i_4 < 0 || i_4 >= (colontmp_ ? colontmp_->Sup.len : 0)){ raiseIndexError2(i_4,(colontmp_ ? colontmp_->Sup.len : 0)-1); }
c_2 = colontmp_->data[i_4];
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_85;
nimln_(431, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(((NU8)(c_2)) >= ((NU8)(48)) && ((NU8)(c_2)) <= ((NU8)(57)))) goto LA121_;
nimln_(432, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T127_;
NimStringDesc* T128_;
if (!leadingZero) goto LA125_;
T127_ = NIM_NIL;
T127_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T127_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T127_).Sup.Sup.name = "ValueError";
T128_ = NIM_NIL;
T128_ = (*T127_).Sup.Sup.message; (*T127_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_84));
if (T128_) nimGCunrefNoCycle(T128_);
asgnRef((void**) (&(*T127_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(433, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T127_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 433);
}
LA125_: ;
nimln_(435, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NU8)(c_2)), ((NI) 48), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_85)) { raiseOverflow(); };
currentShort = (NU32)((NU32)((NU32)((NU32)(currentShort) * (NU32)(((NU32) 10)))) + (NU32)(((NU32) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_85)))));
nimln_(436, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(currentShort == ((NU32) 0))) goto LA131_;
nimln_(437, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_TRUE;
}
goto LA129_;
LA131_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T136_;
NimStringDesc* T137_;
nimln_(438, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU32)(((NU32) 255)) < (NU32)(currentShort))) goto LA134_;
T136_ = NIM_NIL;
T136_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T136_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T136_).Sup.Sup.name = "ValueError";
T137_ = NIM_NIL;
T137_ = (*T136_).Sup.Sup.message; (*T136_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_72));
if (T137_) nimGCunrefNoCycle(T137_);
asgnRef((void**) (&(*T136_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(439, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T136_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 439);
}
goto LA129_;
LA134_: ;
LA129_: ;
nimln_(441, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_TRUE;
}
goto LA119_;
LA121_: ;
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_86;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_87;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_88;
nimln_(442, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU8)(c_2) == (NU8)(46))) goto LA139_;
nimln_(443, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T143_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T147_;
NimStringDesc* T148_;
T143_ = (NIM_BOOL)0;
T143_ = !(separatorValid);
if (T143_) goto LA144_;
T143_ = (((NI) 3) <= byteCount);
LA144_: ;
if (!T143_) goto LA145_;
T147_ = NIM_NIL;
T147_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T147_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T147_).Sup.Sup.name = "ValueError";
T148_ = NIM_NIL;
T148_ = (*T147_).Sup.Sup.message; (*T147_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_53));
if (T148_) nimGCunrefNoCycle(T148_);
asgnRef((void**) (&(*T147_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(444, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T147_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 444);
}
LA145_: ;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(445, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_86)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_86), byteCount, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_87)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_87)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_87), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_87))- 0] = ((NU8) (currentShort));
nimln_(446, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentShort = ((NU32) 0);
nimln_(447, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(byteCount, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_88)) { raiseOverflow(); };
byteCount = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_88);
nimln_(448, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_FALSE;
nimln_(449, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_FALSE;
}
goto LA119_;
LA139_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T150_;
NimStringDesc* T151_;
T150_ = NIM_NIL;
T150_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T150_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T150_).Sup.Sup.name = "ValueError";
T151_ = NIM_NIL;
T151_ = (*T150_).Sup.Sup.message; (*T150_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_73));
if (T151_) nimGCunrefNoCycle(T151_);
asgnRef((void**) (&(*T150_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(451, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T150_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 451);
}
LA119_: ;
nimln_(194, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
if (nimAddInt(i_4, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_89)) { raiseOverflow(); };
i_4 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_89);
nimln_(195, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators.nim");
{
if (!!(((colontmp_ ? colontmp_->Sup.len : 0) == L_2))) goto LA154_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_75));
}
LA154_: ;
} LA118: ;
}
}
nimln_(454, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T158_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T162_;
NimStringDesc* T163_;
T158_ = (NIM_BOOL)0;
T158_ = !((byteCount == ((NI) 3)));
if (T158_) goto LA159_;
T158_ = !(separatorValid);
LA159_: ;
if (!T158_) goto LA160_;
T162_ = NIM_NIL;
T162_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T162_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T162_).Sup.Sup.name = "ValueError";
T163_ = NIM_NIL;
T163_ = (*T162_).Sup.Sup.message; (*T162_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_53));
if (T163_) nimGCunrefNoCycle(T163_);
asgnRef((void**) (&(*T162_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(455, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T162_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 455);
}
LA160_: ;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(456, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_90)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_90), byteCount, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_91)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_91)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_91), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_91))- 0] = ((NU8) (currentShort));
nimln_(457, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_92)) { raiseOverflow(); };
groupCount = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_92);
}
LA100_: ;
nimln_(460, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T168_;
NimStringDesc* T169_;
if (!(((NI) 8) < groupCount)) goto LA166_;
T168_ = NIM_NIL;
T168_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T168_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T168_).Sup.Sup.name = "ValueError";
T169_ = NIM_NIL;
T169_ = (*T168_).Sup.Sup.message; (*T168_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_56));
if (T169_) nimGCunrefNoCycle(T169_);
asgnRef((void**) (&(*T168_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(461, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T168_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 461);
}
goto LA164_;
LA166_: ;
{
NI toFill;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_94;
NI toShift;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_95;
nimln_(463, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(groupCount < ((NI) 8))) goto LA171_;
nimln_(464, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T177_;
NimStringDesc* T178_;
if (!(dualColonGroup == ((NI) -1))) goto LA175_;
T177_ = NIM_NIL;
T177_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T177_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T177_).Sup.Sup.name = "ValueError";
T178_ = NIM_NIL;
T178_ = (*T177_).Sup.Sup.message; (*T177_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_93));
if (T178_) nimGCunrefNoCycle(T178_);
asgnRef((void**) (&(*T177_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(465, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T177_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 465);
}
LA175_: ;
nimln_(467, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NI) 8), groupCount, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_94)) { raiseOverflow(); };
toFill = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_94);
nimln_(468, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(groupCount, dualColonGroup, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_95)) { raiseOverflow(); };
toShift = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_95);
{
NI i_5;
NI colontmp__2;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_96;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_97;
NI res;
i_5 = (NI)0;
colontmp__2 = (NI)0;
nimln_(469, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(((NI) 2), toShift, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_96)) { raiseOverflow(); };
if (nimSubInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_96), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_97)) { raiseOverflow(); };
colontmp__2 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_97);
nimln_(90, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res = ((NI) 0);
{
nimln_(91, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_98;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_99;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_100;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_101;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_102;
if (!(res <= colontmp__2)) goto LA181;
nimln_(469, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i_5 = res;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(470, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(((NI) 15), i_5, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_98)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_98)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_98), 15); }
nimln_(469, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(470, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(groupCount, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_99)) { raiseOverflow(); };
if (nimSubInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_99), i_5, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_100)) { raiseOverflow(); };
if (nimSubInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_100), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_101)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_101)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_101), 15); }
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_98))- 0] = result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_101))- 0];
nimln_(93, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
if (nimAddInt(res, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_102)) { raiseOverflow(); };
res = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_102);
} LA181: ;
}
}
{
NI i_6;
NI colontmp__3;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_103;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_104;
NI res_2;
i_6 = (NI)0;
colontmp__3 = (NI)0;
nimln_(471, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(((NI) 2), toFill, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_103)) { raiseOverflow(); };
if (nimSubInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_103), ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_104)) { raiseOverflow(); };
colontmp__3 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_104);
nimln_(90, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res_2 = ((NI) 0);
{
nimln_(91, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_105;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_106;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_107;
if (!(res_2 <= colontmp__3)) goto LA184;
nimln_(471, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i_6 = res_2;
if (!(((1 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_57), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
nimln_(472, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimMulInt(dualColonGroup, ((NI) 2), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_105)) { raiseOverflow(); };
if (nimAddInt((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_105), i_6, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_106)) { raiseOverflow(); };
if ((NU)((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_106)) > (NU)(15)){ raiseIndexError2((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_106), 15); }
nimln_(471, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result._family_1.address_v6[((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_106))- 0] = ((NU8) 0);
nimln_(93, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
if (nimAddInt(res_2, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_107)) { raiseOverflow(); };
res_2 = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_107);
} LA184: ;
}
}
}
goto LA164_;
LA171_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T188_;
NimStringDesc* T189_;
nimln_(473, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!!((dualColonGroup == ((NI) -1)))) goto LA186_;
T188_ = NIM_NIL;
T188_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T188_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T188_).Sup.Sup.name = "ValueError";
T189_ = NIM_NIL;
T189_ = (*T188_).Sup.Sup.message; (*T188_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_56));
if (T189_) nimGCunrefNoCycle(T189_);
asgnRef((void**) (&(*T188_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(474, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T188_, "ValueError", "parseIPv6Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 474);
}
goto LA164_;
LA186_: ;
LA164_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIPv4Address__pureZnet_277)(NimStringDesc* addressStr) {
tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA result;
NI byteCount;
NU16 currentByte;
NIM_BOOL separatorValid;
NIM_BOOL leadingZero;
nimfr_("parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA));
nimln_(312, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
byteCount = ((NI) 0);
nimln_(313, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentByte = ((NU16) 0);
nimln_(314, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_FALSE;
nimln_(315, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_FALSE;
nimln_(317, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimZeroMem((void*)(&result), sizeof(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA));
result.family = ((tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA) 1);
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
nimln_(319, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
colontmp_ = ((addressStr ? addressStr->Sup.len : 0)-1);
nimln_(90, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
res = ((NI) 0);
{
nimln_(91, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
while (1) {
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_112;
if (!(res <= colontmp_)) goto LA3;
nimln_(319, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
i = res;
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_109;
nimln_(320, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (i < 0 || i >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2(i,(addressStr ? addressStr->Sup.len : 0)-1); }
if (!(((NU8)(addressStr->data[i])) >= ((NU8)(48)) && ((NU8)(addressStr->data[i])) <= ((NU8)(57)))) goto LA6_;
nimln_(321, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T12_;
NimStringDesc* T13_;
if (!leadingZero) goto LA10_;
T12_ = NIM_NIL;
T12_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T12_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T12_).Sup.Sup.name = "ValueError";
T13_ = NIM_NIL;
T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_108));
if (T13_) nimGCunrefNoCycle(T13_);
asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(322, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T12_, "ValueError", "parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 322);
}
LA10_: ;
nimln_(324, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(325, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (i < 0 || i >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2(i,(addressStr ? addressStr->Sup.len : 0)-1); }
if (nimSubInt(((NU8)(addressStr->data[i])), ((NI) 48), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_109)) { raiseOverflow(); };
currentByte = (NU16)((NU16)((NU16)((NU16)(currentByte) * (NU16)(((NU16) 10)))) + (NU16)(((NU16) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_109)))));
nimln_(326, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(currentByte == ((NU16) 0))) goto LA16_;
nimln_(327, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_TRUE;
}
goto LA14_;
LA16_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T21_;
NimStringDesc* T22_;
nimln_(328, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU16)(((NU16) 255)) < (NU16)(currentByte))) goto LA19_;
T21_ = NIM_NIL;
T21_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T21_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T21_).Sup.Sup.name = "ValueError";
T22_ = NIM_NIL;
T22_ = (*T21_).Sup.Sup.message; (*T21_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_72));
if (T22_) nimGCunrefNoCycle(T22_);
asgnRef((void**) (&(*T21_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(329, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T21_, "ValueError", "parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 329);
}
goto LA14_;
LA19_: ;
LA14_: ;
nimln_(331, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_TRUE;
}
goto LA4_;
LA6_: ;
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_111;
nimln_(332, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (i < 0 || i >= (addressStr ? addressStr->Sup.len : 0)){ raiseIndexError2(i,(addressStr ? addressStr->Sup.len : 0)-1); }
if (!((NU8)(addressStr->data[i]) == (NU8)(46))) goto LA24_;
nimln_(333, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T28_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T32_;
NimStringDesc* T33_;
T28_ = (NIM_BOOL)0;
T28_ = !(separatorValid);
if (T28_) goto LA29_;
T28_ = (((NI) 3) <= byteCount);
LA29_: ;
if (!T28_) goto LA30_;
T32_ = NIM_NIL;
T32_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T32_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T32_).Sup.Sup.name = "ValueError";
T33_ = NIM_NIL;
T33_ = (*T32_).Sup.Sup.message; (*T32_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_56));
if (T33_) nimGCunrefNoCycle(T33_);
asgnRef((void**) (&(*T32_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(334, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T32_, "ValueError", "parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 334);
}
LA30_: ;
if (!(((2 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_110), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
if ((NU)(byteCount) > (NU)(3)){ raiseIndexError2(byteCount, 3); }
nimln_(336, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result._family_2.address_v4[(byteCount)- 0] = ((NU8) (currentByte));
nimln_(337, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
currentByte = ((NU16) 0);
nimln_(338, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(byteCount, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_111)) { raiseOverflow(); };
byteCount = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_111);
nimln_(339, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
separatorValid = NIM_FALSE;
nimln_(340, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
leadingZero = NIM_FALSE;
}
goto LA4_;
LA24_: ;
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T35_;
NimStringDesc* T36_;
T35_ = NIM_NIL;
T35_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T35_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T35_).Sup.Sup.name = "ValueError";
T36_ = NIM_NIL;
T36_ = (*T35_).Sup.Sup.message; (*T35_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_73));
if (T36_) nimGCunrefNoCycle(T36_);
asgnRef((void**) (&(*T35_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(342, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T35_, "ValueError", "parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 342);
}
LA4_: ;
nimln_(93, "/home/yyoncho/Sources/nim/Nim/lib/system/iterators_1.nim");
if (nimAddInt(res, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_112)) { raiseOverflow(); };
res = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_112);
} LA3: ;
}
}
nimln_(345, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T39_;
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T43_;
NimStringDesc* T44_;
T39_ = (NIM_BOOL)0;
T39_ = !((byteCount == ((NI) 3)));
if (T39_) goto LA40_;
T39_ = !(separatorValid);
LA40_: ;
if (!T39_) goto LA41_;
T43_ = NIM_NIL;
T43_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T43_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T43_).Sup.Sup.name = "ValueError";
T44_ = NIM_NIL;
T44_ = (*T43_).Sup.Sup.message; (*T43_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_53));
if (T44_) nimGCunrefNoCycle(T44_);
asgnRef((void**) (&(*T43_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(346, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T43_, "ValueError", "parseIPv4Address", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 346);
}
LA41_: ;
if (!(((2 &((NU8)1<<((NU)(result.family)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_110), reprDiscriminant(((NI)result.family) + (NI)IL64(0), (&NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_))); }
if ((NU)(byteCount) > (NU)(3)){ raiseIndexError2(byteCount, 3); }
nimln_(347, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result._family_2.address_v4[(byteCount)- 0] = ((NU8) (currentByte));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA, parseIpAddress__pureZnet_465)(NimStringDesc* addressStr) {
tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA result;
nimfr_("parseIpAddress", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ nimZeroMem((void*)(&result), sizeof(tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA));
nimln_(485, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T5_;
NimStringDesc* T6_;
if (!((addressStr ? addressStr->Sup.len : 0) == ((NI) 0))) goto LA3_;
T5_ = NIM_NIL;
T5_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
(*T5_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
(*T5_).Sup.Sup.name = "ValueError";
T6_ = NIM_NIL;
T6_ = (*T5_).Sup.Sup.message; (*T5_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_50));
if (T6_) nimGCunrefNoCycle(T6_);
asgnRef((void**) (&(*T5_).Sup.Sup.parent), ((Exception*) NIM_NIL));
nimln_(486, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseExceptionEx((Exception*)T5_, "ValueError", "parseIpAddress", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 486);
}
LA3_: ;
nimln_(487, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = contains__pureZos_661(addressStr->data, (addressStr ? addressStr->Sup.len : 0), 58);
if (!T9_) goto LA10_;
nimln_(488, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = parseIPv6Address__pureZnet_329(addressStr);
goto BeforeRet_;
}
goto LA7_;
LA10_: ;
{
nimln_(490, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = parseIPv4Address__pureZnet_277(addressStr);
goto BeforeRet_;
}
LA7_: ;
}BeforeRet_: ;
popFrame();
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
nimfr_("nimBorrowCurrentException", "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = NIM_NIL;
nimln_(2436, "/home/yyoncho/Sources/nim/Nim/lib/system.nim");
result = currException__system_3096;
popFrame();
return result;
}
static N_INLINE(void, popCurrentException)(void) {
asgnRef((void**) (&currException__system_3096), (*currException__system_3096).up);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isIpAddress__pureZnet_473)(NimStringDesc* addressStr) {
NIM_BOOL result;
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_49;
tyObject_IpAddress__t0yd6ha54oWXm7nwZ4QqfA T1_;
TFrame* _nimCurFrame;
nimfr_("isIpAddress", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ _nimCurFrame = getFrame();
result = (NIM_BOOL)0;
nimln_(495, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_49);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_49.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_49.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_49.status == 0) {
nimln_(496, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T1_ = parseIpAddress__pureZnet_465(addressStr);
(void)(T1_);
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_))) {
TM__XqsrSBxhOTPgLQ9cX4MmV4A_49.status = 0;
nimln_(498, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_FALSE;
popCurrentException();
goto BeforeRet_;
popCurrentException();
}
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_49.status != 0) reraiseException();
nimln_(499, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_TRUE;
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, checkCertName__pureZnet_1305)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc* hostname) {
TSafePoint TM__XqsrSBxhOTPgLQ9cX4MmV4A_114;
tyObject_SslStruct__hZKic6WnTBMq6Usbg49bnhw* certificate;
int match;
TFrame* _nimCurFrame;
nimfr_("checkCertName", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
_nimCurFrame = getFrame();
nimln_(810, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((*socket).isSsl)) goto LA3_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_113));
}
LA3_: ;
nimln_(811, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
pushSafePoint(&TM__XqsrSBxhOTPgLQ9cX4MmV4A_114);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_114.status = setjmp(TM__XqsrSBxhOTPgLQ9cX4MmV4A_114.context);
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_114.status == 0) {
nimln_(812, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
certificate = Dl_2113930115_((*socket).sslHandle);
nimln_(813, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(certificate == 0)) goto LA7_;
nimln_(814, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_115));
}
LA7_: ;
nimln_(818, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (((hostname ? hostname->Sup.len : 0)) < ((int) (-2147483647 -1)) || ((hostname ? hostname->Sup.len : 0)) > ((int) 2147483647)){ raiseRangeErrorI((hostname ? hostname->Sup.len : 0), ((int) (-2147483647 -1)), ((int) 2147483647)); }
match = Dl_2113930130_(certificate, nimToCStringConv(hostname), ((int) ((hostname ? hostname->Sup.len : 0))), ((unsigned int) 1), ((NCSTRING) NIM_NIL));
nimln_(821, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113930136_(certificate);
nimln_(822, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((match == ((NI32) 1)))) goto LA11_;
nimln_(823, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_116));
}
LA11_: ;
popSafePoint();
}
else {
popSafePoint();
setFrame(_nimCurFrame);
if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIlibraryerror__x1muge9crz9aAVqWWUrEL9aXg_))) {
TM__XqsrSBxhOTPgLQ9cX4MmV4A_114.status = 0;
nimln_(826, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
raiseSSLError__pureZnet_510(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_117));
popCurrentException();
}
}
if (TM__XqsrSBxhOTPgLQ9cX4MmV4A_114.status != 0) reraiseException();
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, wrapConnectedSocket__pureZnet_1319)(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w* ctx, tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, tyEnum_SslHandshakeType__9aZhh5f9bRDKgYB8GLASDSqg handshake, NimStringDesc* hostname) {
nimfr_("wrapConnectedSocket", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(842, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
wrapSocket__pureZnet_1293(ctx, socket);
nimln_(843, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
switch (handshake) {
case ((tyEnum_SslHandshakeType__9aZhh5f9bRDKgYB8GLASDSqg) 0):
{
int ret;
nimln_(845, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T4_;
NIM_BOOL T6_;
NI T9_;
T4_ = (NIM_BOOL)0;
T4_ = (((NI) 0) < (hostname ? hostname->Sup.len : 0));
if (!(T4_)) goto LA5_;
T6_ = (NIM_BOOL)0;
T6_ = isIpAddress__pureZnet_473(hostname);
T4_ = !(T6_);
LA5_: ;
if (!T4_) goto LA7_;
nimln_(848, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T9_ = (NI)0;
T9_ = SSL_set_tlsext_host_name__wrappersZopenssl_566((*socket).sslHandle, nimToCStringConv(hostname));
(void)(T9_);
}
LA7_: ;
nimln_(849, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929869_();
nimln_(850, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
ret = Dl_2113929606_((*socket).sslHandle);
nimln_(851, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, ((NI) (ret)), NIM_FALSE, ((NI32) -1), 0);
nimln_(854, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T12_;
NIM_BOOL T14_;
T12_ = (NIM_BOOL)0;
T12_ = (((NI) 0) < (hostname ? hostname->Sup.len : 0));
if (!(T12_)) goto LA13_;
T14_ = (NIM_BOOL)0;
T14_ = isIpAddress__pureZnet_473(hostname);
T12_ = !(T14_);
LA13_: ;
if (!T12_) goto LA15_;
nimln_(855, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
checkCertName__pureZnet_1305(socket, hostname);
}
LA15_: ;
}
break;
case ((tyEnum_SslHandshakeType__9aZhh5f9bRDKgYB8GLASDSqg) 1):
{
int ret_2;
nimln_(857, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929869_();
nimln_(858, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
ret_2 = Dl_2113929619_((*socket).sslHandle);
nimln_(859, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, ((NI) (ret_2)), NIM_FALSE, ((NI32) -1), 0);
}
break;
}
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isClosed__pureZnet_1533)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket) {
NIM_BOOL result;
nimfr_("isClosed", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NIM_BOOL)0;
nimln_(1331, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((*socket).fd == osInvalidSocket__pureZnativesockets_47);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, send__pureZnet_1719)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size) {
NI result;
nimfr_("send", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1698, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = isClosed__pureZnet_1533(socket);
if (!!(!(T3_))) goto LA4_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_118));
}
LA4_: ;
nimln_(1700, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T10_;
if (!(*socket).isSsl) goto LA8_;
nimln_(1701, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929869_();
nimln_(1702, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T10_ = (int)0;
T10_ = Dl_2113929612_((*socket).sslHandle, ((NCSTRING) (data)), size);
result = ((NI) (T10_));
goto BeforeRet_;
}
LA8_: ;
nimln_(1709, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = send((*socket).fd, data, size, ((NI32) 16384));
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, send__pureZnet_1729)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc* data, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags) {
NI sent;
nimfr_("send", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(1714, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sent = send__pureZnet_1719(socket, ((void*) (nimToCStringConv(data))), (data ? data->Sup.len : 0));
nimln_(1715, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 lastError;
if (!(sent < ((NI) 0))) goto LA3_;
nimln_(1716, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastError = osLastError__pureZos_408();
nimln_(1717, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, ((NI) -1), NIM_FALSE, lastError, flags);
}
LA3_: ;
nimln_(1719, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 T9_;
if (!!((sent == (data ? data->Sup.len : 0)))) goto LA7_;
nimln_(1720, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T9_ = (NI32)0;
T9_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T9_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_119));
}
LA7_: ;
popFrame();
}
static N_NIMCALL(void, Marker_tyRef__OhBa09cfBAnY4MdnNlGabWQ)(void* p, NI op) {
tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og* a;
a = (tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og*)p;
nimGCvisit((void*)(*a).Sup.Sup.parent, op);
nimGCvisit((void*)(*a).Sup.Sup.message, op);
nimGCvisit((void*)(*a).Sup.Sup.trace, op);
nimGCvisit((void*)(*a).Sup.Sup.up, op);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasDataBuffered__pureZnet_1530)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* s) {
NIM_BOOL result;
nimfr_("hasDataBuffered", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NIM_BOOL)0;
nimln_(1322, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_FALSE;
nimln_(1323, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T5_;
if (!(*s).isBuffered) goto LA3_;
nimln_(1324, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T5_ = (NIM_BOOL)0;
T5_ = (((NI) 0) < (*s).bufLen);
if (!(T5_)) goto LA6_;
T5_ = !(((*s).currPos == (*s).bufLen));
LA6_: ;
result = T5_;
}
LA3_: ;
nimln_(1327, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T9_;
T9_ = (NIM_BOOL)0;
T9_ = (*s).isSsl;
if (!(T9_)) goto LA10_;
T9_ = !(result);
LA10_: ;
if (!T9_) goto LA11_;
nimln_(1328, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (*s).sslHasPeekChar;
}
LA11_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, timeoutRead__pureZnet_135)(int* fd_0, NI timeout) {
NI result;
struct pollfd tpollfdX60gensym0_;
int T1_;
nimfr_("timeoutRead", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NI)0;
nimln_(221, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimZeroMem((void*)(&tpollfdX60gensym0_), sizeof(struct pollfd));
nimln_(212, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
tpollfdX60gensym0_.fd = ((int) ((*fd_0)));
nimln_(221, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
tpollfdX60gensym0_.events = ((NI16) 3);
T1_ = (int)0;
T1_ = poll((&tpollfdX60gensym0_), ((nfds_t) 1), timeout);
result = ((NI) (T1_));
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, waitFor__pureZnet_1600)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw* waited, NI timeout, NI size, NimStringDesc* funcName) {
NI result;
nimfr_("waitFor", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1422, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 1);
nimln_(1423, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(size <= ((NI) 0))) goto LA3_;
{
if (!NIM_TRUE) goto LA7_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_120));
}
LA7_: ;
}
LA3_: ;
nimln_(1424, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(timeout == ((NI) -1))) goto LA11_;
result = size;
goto BeforeRet_;
}
LA11_: ;
nimln_(1425, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T15_;
NIM_BOOL T16_;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_121;
T15_ = (NIM_BOOL)0;
T16_ = (NIM_BOOL)0;
T16_ = (*socket).isBuffered;
if (!(T16_)) goto LA17_;
T16_ = !(((*socket).bufLen == ((NI) 0)));
LA17_: ;
T15_ = T16_;
if (!(T15_)) goto LA18_;
nimln_(1426, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T15_ = !(((*socket).bufLen == (*socket).currPos));
LA18_: ;
if (!T15_) goto LA19_;
nimln_(1427, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt((*socket).bufLen, (*socket).currPos, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_121)) { raiseOverflow(); };
result = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_121);
nimln_(1428, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((result <= size) ? result : size);
}
goto LA13_;
LA19_: ;
{
tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w startTime;
NI selRet;
tyObject_MonoTime__FEvFMlkqJiSSGVO6HgTv8w T60_;
tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw T61_;
nimln_(1430, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI64 T24_;
NI64 TM__XqsrSBxhOTPgLQ9cX4MmV4A_122;
tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og* T27_;
NimStringDesc* T28_;
T24_ = (NI64)0;
T24_ = inMilliseconds__pureZtimes_664((*waited));
if (nimSubInt64(((NI64) (timeout)), T24_, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_122)) { raiseOverflow(); };
if (!((NI64)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_122) < IL64(1))) goto LA25_;
T27_ = NIM_NIL;
T27_ = (tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og*) newObj((&NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_), sizeof(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og));
(*T27_).Sup.Sup.Sup.m_type = (&NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_);
(*T27_).Sup.Sup.name = "TimeoutError";
nimln_(1431, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T28_ = NIM_NIL;
T28_ = rawNewString((funcName ? funcName->Sup.len : 0) + 21);
appendString(T28_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_123));
appendString(T28_, funcName);
appendString(T28_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_124));
asgnRef((void**) (&(*T27_).Sup.Sup.message), T28_);
asgnRef((void**) (&(*T27_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T27_, "TimeoutError", "waitFor", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 1431);
}
LA25_: ;
nimln_(1434, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int sslPending;
if (!(*socket).isSsl) goto LA31_;
nimln_(1435, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T35_;
T35_ = (NIM_BOOL)0;
T35_ = hasDataBuffered__pureZnet_1530(socket);
if (!T35_) goto LA36_;
nimln_(1437, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 1);
goto BeforeRet_;
}
LA36_: ;
nimln_(1438, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
sslPending = Dl_2113929621_((*socket).sslHandle);
nimln_(1439, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((sslPending == ((NI32) 0)))) goto LA40_;
nimln_(1440, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((((NI) (sslPending)) <= size) ? ((NI) (sslPending)) : size);
goto BeforeRet_;
}
LA40_: ;
}
LA31_: ;
nimln_(1442, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
startTime = getMonoTime__stdZmonotimes_5();
nimln_(1443, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T44_;
T44_ = (NIM_BOOL)0;
T44_ = hasDataBuffered__pureZnet_1530(socket);
if (!T44_) goto LA45_;
selRet = ((NI) 1);
}
goto LA42_;
LA45_: ;
{
NI64 T48_;
NI64 TM__XqsrSBxhOTPgLQ9cX4MmV4A_125;
nimln_(1445, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T48_ = (NI64)0;
T48_ = inMilliseconds__pureZtimes_664((*waited));
if (nimSubInt64(((NI64) (timeout)), T48_, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_125)) { raiseOverflow(); };
selRet = timeoutRead__pureZnet_135((&(*socket).fd), ((NI) ((NI64)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_125))));
}
LA42_: ;
nimln_(1446, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 T53_;
if (!(selRet < ((NI) 0))) goto LA51_;
T53_ = (NI32)0;
T53_ = osLastError__pureZos_408();
raiseOSError__pureZos_405(T53_, ((NimStringDesc*) NIM_NIL));
}
LA51_: ;
nimln_(1447, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og* T58_;
NimStringDesc* T59_;
if (!!((selRet == ((NI) 1)))) goto LA56_;
T58_ = NIM_NIL;
T58_ = (tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og*) newObj((&NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_), sizeof(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og));
(*T58_).Sup.Sup.Sup.m_type = (&NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_);
(*T58_).Sup.Sup.name = "TimeoutError";
nimln_(1448, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T59_ = NIM_NIL;
T59_ = rawNewString((funcName ? funcName->Sup.len : 0) + 21);
appendString(T59_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_123));
appendString(T59_, funcName);
appendString(T59_, ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_124));
asgnRef((void**) (&(*T58_).Sup.Sup.message), T59_);
asgnRef((void**) (&(*T58_).Sup.Sup.parent), ((Exception*) NIM_NIL));
raiseExceptionEx((Exception*)T58_, "TimeoutError", "waitFor", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim", 1448);
}
LA56_: ;
nimln_(1449, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T60_ = getMonoTime__stdZmonotimes_5();
T61_ = minus___stdZmonotimes_23(T60_, startTime);
pluseq___pureZtimes_924(waited, T61_);
}
LA13_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, uniRecv__pureZnet_1536)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* buffer, int size, int flags) {
NI result;
nimfr_("uniRecv", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1338, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 0);
nimln_(1339, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = isClosed__pureZnet_1533(socket);
if (!!(!(T3_))) goto LA4_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_127));
}
LA4_: ;
nimln_(1341, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
int T10_;
if (!(*socket).isSsl) goto LA8_;
nimln_(1342, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
Dl_2113929869_();
nimln_(1343, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T10_ = (int)0;
T10_ = Dl_2113929608_((*socket).sslHandle, buffer, ((NI) (size)));
result = ((NI) (T10_));
goto BeforeRet_;
}
LA8_: ;
nimln_(1345, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = recv((*socket).fd, buffer, ((NI) (size)), flags);
goto BeforeRet_;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, readIntoBuf__pureZnet_1547)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NI32 flags) {
NI result;
nimfr_("readIntoBuf", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1348, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 0);
nimln_(1349, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = uniRecv__pureZnet_1536(socket, ((void*) ((*socket).buffer)), ((int) 4000), flags);
nimln_(1350, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result < ((NI) 0))) goto LA3_;
nimln_(1353, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).lastError = osLastError__pureZos_408();
}
LA3_: ;
nimln_(1354, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result <= ((NI) 0))) goto LA7_;
nimln_(1355, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).bufLen = ((NI) 0);
nimln_(1356, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).currPos = ((NI) 0);
nimln_(1357, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
LA7_: ;
nimln_(1358, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).bufLen = result;
nimln_(1359, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).currPos = ((NI) 0);
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, recv__pureZnet_1576)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size) {
NI result;
nimfr_("recv", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1375, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(size == ((NI) 0))) goto LA3_;
goto BeforeRet_;
}
LA3_: ;
nimln_(1376, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI read;
if (!(*socket).isBuffered) goto LA7_;
nimln_(1377, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI res;
if (!((*socket).bufLen == ((NI) 0))) goto LA11_;
nimln_(1362, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
res = readIntoBuf__pureZnet_1547(socket, ((NI32) 0));
nimln_(1378, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
nimln_(1363, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(res <= ((NI) 0))) goto LA15_;
nimln_(1364, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!NIM_FALSE) goto LA19_;
nimln_(1365, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(1378, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 0);
goto BeforeRet_;
}
goto LA17_;
LA19_: ;
{
nimln_(1367, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = res;
goto BeforeRet_;
}
LA17_: ;
}
LA15_: ;
}
LA11_: ;
nimln_(1380, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
read = ((NI) 0);
{
nimln_(1381, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
while (1) {
NI chunk;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_128;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_129;
NCSTRING d;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_132;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_133;
if (!(read < size)) goto LA23;
nimln_(1382, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI res_2;
if (!((*socket).bufLen <= (*socket).currPos)) goto LA26_;
nimln_(1362, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
res_2 = readIntoBuf__pureZnet_1547(socket, ((NI32) 0));
nimln_(1383, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
nimln_(1363, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(res_2 <= ((NI) 0))) goto LA30_;
nimln_(1364, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(((NI) 0) < read)) goto LA34_;
nimln_(1365, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
nimln_(1383, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = read;
goto BeforeRet_;
}
goto LA32_;
LA34_: ;
{
nimln_(1367, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = res_2;
goto BeforeRet_;
}
LA32_: ;
}
LA30_: ;
}
LA26_: ;
nimln_(1385, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt((*socket).bufLen, (*socket).currPos, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_128)) { raiseOverflow(); };
if (nimSubInt(size, read, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_129)) { raiseOverflow(); };
chunk = (((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_128) <= (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_129)) ? (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_128) : (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_129));
nimln_(1386, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
d = ((NCSTRING) (data));
nimln_(1387, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_130;
if (nimSubInt(size, read, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_130)) { raiseOverflow(); };
if (!!((chunk <= (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_130)))) goto LA39_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_131));
}
LA39_: ;
nimln_(1388, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((NU)((*socket).currPos) > (NU)(4000)){ raiseIndexError2((*socket).currPos, 4000); }
if ((chunk) < ((NI) 0) || (chunk) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(chunk, ((NI) 0), ((NI) IL64(9223372036854775807))); }
copyMem__system_1727(((void*) ((&d[read]))), ((void*) ((&(*socket).buffer[((*socket).currPos)- 0]))), ((NI) (chunk)));
nimln_(1389, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(read, chunk, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_132)) { raiseOverflow(); };
read = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_132);
nimln_(1390, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt((*socket).currPos, chunk, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_133)) { raiseOverflow(); };
(*socket).currPos = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_133);
} LA23: ;
}
nimln_(1392, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = read;
}
goto LA5_;
LA7_: ;
{
nimln_(1395, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(*socket).isSsl) goto LA44_;
nimln_(1396, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(*socket).sslHasPeekChar) goto LA48_;
nimln_(1397, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
copyMem__system_1727(data, ((void*) ((&(*socket).sslPeekChar))), ((NI) 1));
nimln_(1398, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslHasPeekChar = NIM_FALSE;
nimln_(1399, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_134;
NCSTRING d_2;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_135;
NI T54_;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_136;
if (nimSubInt(size, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_134)) { raiseOverflow(); };
if (!(((NI) 0) < (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_134))) goto LA52_;
nimln_(1400, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
d_2 = ((NCSTRING) (data));
nimln_(1401, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(size, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_135)) { raiseOverflow(); };
if (((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_135)) < ((int) (-2147483647 -1)) || ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_135)) > ((int) 2147483647)){ raiseRangeErrorI((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_135), ((int) (-2147483647 -1)), ((int) 2147483647)); }
T54_ = (NI)0;
T54_ = uniRecv__pureZnet_1536(socket, ((void*) ((&d_2[((NI) 1)]))), ((int) ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_135))), ((NI32) 0));
if (nimAddInt(T54_, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_136)) { raiseOverflow(); };
result = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_136);
}
goto LA50_;
LA52_: ;
{
nimln_(1403, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 1);
}
LA50_: ;
}
goto LA46_;
LA48_: ;
{
nimln_(1405, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((size) < ((int) (-2147483647 -1)) || (size) > ((int) 2147483647)){ raiseRangeErrorI(size, ((int) (-2147483647 -1)), ((int) 2147483647)); }
result = uniRecv__pureZnet_1536(socket, data, ((int) (size)), ((NI32) 0));
}
LA46_: ;
}
goto LA42_;
LA44_: ;
{
nimln_(1407, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((size) < ((int) (-2147483647 -1)) || (size) > ((int) 2147483647)){ raiseRangeErrorI(size, ((int) (-2147483647 -1)), ((int) 2147483647)); }
result = recv((*socket).fd, data, ((NI) (((int) (size)))), ((NI32) 0));
}
LA42_: ;
nimln_(1410, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result < ((NI) 0))) goto LA60_;
nimln_(1412, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).lastError = osLastError__pureZos_408();
}
LA60_: ;
}
LA5_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, peekChar__pureZnet_1668)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NIM_CHAR* c) {
NI result;
nimfr_("peekChar", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimln_(1530, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(*socket).isBuffered) goto LA3_;
nimln_(1531, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NI) 1);
nimln_(1532, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T7_;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_137;
NI res;
T7_ = (NIM_BOOL)0;
T7_ = ((*socket).bufLen == ((NI) 0));
if (T7_) goto LA8_;
if (nimSubInt((*socket).bufLen, ((NI) 1), &TM__XqsrSBxhOTPgLQ9cX4MmV4A_137)) { raiseOverflow(); };
T7_ = ((NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_137) < (*socket).currPos);
LA8_: ;
if (!T7_) goto LA9_;
nimln_(1533, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
res = readIntoBuf__pureZnet_1547(socket, ((NI32) 0));
nimln_(1534, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(res <= ((NI) 0))) goto LA13_;
nimln_(1535, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = res;
}
LA13_: ;
}
LA9_: ;
nimln_(1537, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((NU)((*socket).currPos) > (NU)(4000)){ raiseIndexError2((*socket).currPos, 4000); }
(*c) = (*socket).buffer[((*socket).currPos)- 0];
}
goto LA1_;
LA3_: ;
{
nimln_(1540, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(*socket).isSsl) goto LA18_;
nimln_(1541, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!!((*socket).sslHasPeekChar)) goto LA22_;
nimln_(1542, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = uniRecv__pureZnet_1536(socket, ((void*) ((&(*socket).sslPeekChar))), ((int) 1), ((NI32) 0));
nimln_(1543, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*socket).sslHasPeekChar = NIM_TRUE;
}
LA22_: ;
nimln_(1545, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
(*c) = (*socket).sslPeekChar;
nimln_(1546, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
LA18_: ;
nimln_(1547, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = recv((*socket).fd, ((void*) (c)), ((NI) 1), ((int) 2));
}
LA1_: ;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, readLine__pureZnet_1673)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc** line, NI timeout, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags, NI maxLength) {
tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw waited;
nimfr_("readLine", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ nimZeroMem((void*)(&waited), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
nimln_(1583, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) 0)));
{
nimln_(1584, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
while (1) {
NIM_CHAR c;
NI T3_;
NI n;
c = (NIM_CHAR)0;
nimln_(1586, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T3_ = (NI)0;
T3_ = waitFor__pureZnet_1600(socket, (&waited), timeout, ((NI) 1), ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_126));
(void)(T3_);
nimln_(1587, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
n = recv__pureZnet_1576(socket, ((void*) ((&c))), ((NI) 1));
nimln_(1588, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 lastError;
if (!(n < ((NI) 0))) goto LA6_;
nimln_(1575, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastError = getSocketError__pureZnet_1373(socket);
nimln_(1576, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = isDisconnectionError__pureZnet_171(flags, lastError);
if (!T10_) goto LA11_;
nimln_(1577, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) 0)));
}
LA11_: ;
nimln_(1578, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, n, NIM_FALSE, lastError, flags);
nimln_(1588, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA4_;
LA6_: ;
{
nimln_(1589, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(n == ((NI) 0))) goto LA14_;
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) 0)));
goto BeforeRet_;
}
goto LA4_;
LA14_: ;
LA4_: ;
nimln_(1590, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI T20_;
if (!((NU8)(c) == (NU8)(13))) goto LA18_;
nimln_(1591, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T20_ = (NI)0;
T20_ = waitFor__pureZnet_1600(socket, (&waited), timeout, ((NI) 1), ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_126));
(void)(T20_);
nimln_(1592, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
n = peekChar__pureZnet_1668(socket, (&c));
nimln_(1593, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T23_;
NI T27_;
T23_ = (NIM_BOOL)0;
T23_ = (((NI) 0) < n);
if (!(T23_)) goto LA24_;
T23_ = ((NU8)(c) == (NU8)(10));
LA24_: ;
if (!T23_) goto LA25_;
nimln_(1594, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
T27_ = (NI)0;
T27_ = recv__pureZnet_1576(socket, ((void*) ((&c))), ((NI) 1));
(void)(T27_);
}
goto LA21_;
LA25_: ;
{
NI32 lastError_2;
nimln_(1595, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(n <= ((NI) 0))) goto LA29_;
nimln_(1575, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastError_2 = getSocketError__pureZnet_1373(socket);
nimln_(1576, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NIM_BOOL T33_;
T33_ = (NIM_BOOL)0;
T33_ = isDisconnectionError__pureZnet_171(flags, lastError_2);
if (!T33_) goto LA34_;
nimln_(1577, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), setLengthStr((*line), ((NI) 0)));
}
LA34_: ;
nimln_(1578, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, n, NIM_FALSE, lastError_2, flags);
nimln_(1595, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA21_;
LA29_: ;
LA21_: ;
nimln_(1596, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
nimln_(1571, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(((*line) ? (*line)->Sup.len : 0) == ((NI) 0))) goto LA38_;
nimln_(1572, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), resizeString((*line), 2));
appendString((*line), ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_138));
}
LA38_: ;
nimln_(1597, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA16_;
LA18_: ;
{
nimln_(1598, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!((NU8)(c) == (NU8)(10))) goto LA41_;
nimln_(1599, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
nimln_(1571, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (!(((*line) ? (*line)->Sup.len : 0) == ((NI) 0))) goto LA45_;
nimln_(1572, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), resizeString((*line), 2));
appendString((*line), ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_138));
}
LA45_: ;
nimln_(1600, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
goto LA16_;
LA41_: ;
LA16_: ;
nimln_(1601, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*line)), addChar((*line), c));
nimln_(1604, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(maxLength < ((*line) ? (*line)->Sup.len : 0))) goto LA49_;
goto LA1;
}
LA49_: ;
}
} LA1: ;
}BeforeRet_: ;
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, recvLine__pureZnet_1686)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NI timeout, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags, NI maxLength) {
NimStringDesc* result;
nimfr_("recvLine", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = NIM_NIL;
nimln_(1626, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = ((NimStringDesc*) NIM_NIL);
nimln_(1627, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
readLine__pureZnet_1673(socket, (&result), timeout, flags, maxLength);
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, recv__pureZnet_1635)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, void* data, NI size, NI timeout) {
NI result;
tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw waited;
NI read;
nimfr_("recv", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{ result = (NI)0;
nimZeroMem((void*)(&waited), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
nimln_(1456, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
read = ((NI) 0);
{
nimln_(1457, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
while (1) {
NI avail;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_139;
NCSTRING d;
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_143;
if (!(read < size)) goto LA2;
nimln_(1458, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimSubInt(size, read, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_139)) { raiseOverflow(); };
avail = waitFor__pureZnet_1600(socket, (&waited), timeout, (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_139), ((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_140));
nimln_(1459, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
d = ((NCSTRING) (data));
nimln_(1460, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_141;
if (nimSubInt(size, read, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_141)) { raiseOverflow(); };
if (!!((avail <= (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_141)))) goto LA5_;
failedAssertImpl__stdZassertions_56(((NimStringDesc*) &TM__XqsrSBxhOTPgLQ9cX4MmV4A_142));
}
LA5_: ;
nimln_(1461, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = recv__pureZnet_1576(socket, ((void*) ((&d[read]))), avail);
nimln_(1462, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result == ((NI) 0))) goto LA9_;
goto LA1;
}
LA9_: ;
nimln_(1463, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(result < ((NI) 0))) goto LA13_;
nimln_(1464, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
goto BeforeRet_;
}
LA13_: ;
nimln_(1465, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if (nimAddInt(read, result, &TM__XqsrSBxhOTPgLQ9cX4MmV4A_143)) { raiseOverflow(); };
read = (NI)(TM__XqsrSBxhOTPgLQ9cX4MmV4A_143);
} LA2: ;
} LA1: ;
nimln_(1467, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = read;
}BeforeRet_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, recv__pureZnet_1654)(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ* socket, NimStringDesc** data, NI size, NI timeout, tySet_tyEnum_SocketFlag__4xio0cAXR7XG4pF9bVcpxEg flags) {
NI result;
nimfr_("recv", "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = (NI)0;
nimln_(1491, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((size) < ((NI) 0) || (size) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(size, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*data)), setLengthStr((*data), ((NI) (size))));
nimln_(1493, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
if (!(timeout == ((NI) -1))) goto LA3_;
nimln_(1494, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = recv__pureZnet_1576(socket, ((void*) (nimToCStringConv((*data)))), size);
}
goto LA1_;
LA3_: ;
{
nimln_(1496, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
result = recv__pureZnet_1635(socket, ((void*) (nimToCStringConv((*data)))), size, timeout);
}
LA1_: ;
nimln_(1497, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
{
NI32 lastError;
if (!(result < ((NI) 0))) goto LA8_;
nimln_(1498, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
unsureAsgnRef((void**) (&(*data)), setLengthStr((*data), ((NI) 0)));
nimln_(1499, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
lastError = getSocketError__pureZnet_1373(socket);
nimln_(1500, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
socketError__pureZnet_165(socket, result, NIM_FALSE, lastError, flags);
}
goto LA6_;
LA8_: ;
{
nimln_(1502, "/home/yyoncho/Sources/nim/Nim/lib/pure/net.nim");
if ((result) < ((NI) 0) || (result) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(result, ((NI) 0), ((NI) IL64(9223372036854775807))); }
unsureAsgnRef((void**) (&(*data)), setLengthStr((*data), ((NI) (result))));
}
LA6_: ;
popFrame();
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsNimatslibatspureatsnetdotnim_DatInit000)(void) {
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_2_3[3];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_3_2[2];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_4_2[2];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_5_2[2];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_6_2[2];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_7_2[2];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[16];
static TNimNode* TM__XqsrSBxhOTPgLQ9cX4MmV4A_58_2[2];
NI TM__XqsrSBxhOTPgLQ9cX4MmV4A_60;
static char* NIM_CONST TM__XqsrSBxhOTPgLQ9cX4MmV4A_59[2] = {
"IPv6",
"IPv4"};
static TNimNode TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[41];
NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_.size = sizeof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w);
NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_.align = NIM_ALIGNOF(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w);
NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_.kind = 18;
NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_.base = 0;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_2_3[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[1];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[1].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[1].offset = offsetof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w, context);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[1].typ = (&NTIsslctx__QQ33RYEe889cv60wm9bVkd8A_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[1].name = "context";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_2_3[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[2];
NTIhashset__bGAilYs5sUICRbD13gZaFg_.size = sizeof(tyObject_HashSet__bGAilYs5sUICRbD13gZaFg);
NTIhashset__bGAilYs5sUICRbD13gZaFg_.align = NIM_ALIGNOF(tyObject_HashSet__bGAilYs5sUICRbD13gZaFg);
NTIhashset__bGAilYs5sUICRbD13gZaFg_.kind = 18;
NTIhashset__bGAilYs5sUICRbD13gZaFg_.base = 0;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_3_2[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[4];
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.size = sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.align = NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.kind = 18;
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.base = 0;
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.flags = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_4_2[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[6];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[6].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[6].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field0);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[6].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[6].name = "Field0";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_4_2[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[7];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[7].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[7].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field1);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[7].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[7].name = "Field1";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[5].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[5].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[5].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_4_2[0];
NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[5];
NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_.size = sizeof(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_.align = NIM_ALIGNOF(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_.kind = 24;
NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_.base = (&NTIkeyvaluepair__1v9bKyksXWMsm0vNwmZ4EuQ_);
NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_.marker = Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[4].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[4].offset = offsetof(tyObject_HashSet__bGAilYs5sUICRbD13gZaFg, data);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[4].typ = (&NTIkeyvaluepairseq__8Np6tlClE5az1CyqZdN19bQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[4].name = "data";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_3_2[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[8];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[8].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[8].offset = offsetof(tyObject_HashSet__bGAilYs5sUICRbD13gZaFg, counter);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[8].name = "counter";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[3].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[3].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[3].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_3_2[0];
NTIhashset__bGAilYs5sUICRbD13gZaFg_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[3];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[2].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[2].offset = offsetof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w, referencedData);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[2].typ = (&NTIhashset__bGAilYs5sUICRbD13gZaFg_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[2].name = "referencedData";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_2_3[2] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[9];
NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_.size = sizeof(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ);
NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_.align = NIM_ALIGNOF(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ);
NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_.kind = 17;
NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_5_2[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[11];
NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_.kind = 18;
NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_.base = 0;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_6_2[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[13];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[13].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[13].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[13].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[13].name = "Field0";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_6_2[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[14];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[14].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[14].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[14].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[14].name = "Field1";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[12].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[12].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[12].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_6_2[0];
NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[12];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[11].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[11].offset = offsetof(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ, serverGetPskFunc);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[11].typ = (&NTIsslservergetpskfunc__oFHfEKFsiYTMAy9a42cSiKw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[11].name = "serverGetPskFunc";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_5_2[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[15];
NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_.kind = 18;
NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_.base = 0;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_7_2[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[17];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[17].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[17].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[17].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[17].name = "Field0";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_7_2[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[18];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[18].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[18].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[18].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[18].name = "Field1";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[16].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[16].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[16].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_7_2[0];
NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[16];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[15].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[15].offset = offsetof(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ, clientGetPskFunc);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[15].typ = (&NTIsslclientgetpskfunc__lYMtBEH0vEMRzoDaCw5CJg_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[15].name = "clientGetPskFunc";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[10].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[10].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[10].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_5_2[0];
NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[10];
NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_.size = sizeof(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ*);
NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_.align = NIM_ALIGNOF(tyObject_SslContextExtraInternalcolonObjectType___22zILeNTc8ClX7DrPZ3XOQ*);
NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_.kind = 22;
NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_.base = (&NTIsslcontextextrainternal58objecttype__22zILeNTc8ClX7DrPZ3XOQ_);
NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_.marker = Marker_tyRef__t2PQ49cw9cyPD5BKolxzFbTw;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[9].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[9].offset = offsetof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w, extraInternal);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[9].typ = (&NTIsslcontextextrainternal__t2PQ49cw9cyPD5BKolxzFbTw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[9].name = "extraInternal";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[0].len = 3; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[0].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[0].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_2_3[0];
NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[0];
NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_.size = sizeof(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w*);
NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_.align = NIM_ALIGNOF(tyObject_SslContextcolonObjectType___nNdejAl9bbVbX7sP6RJ4h0w*);
NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_.kind = 22;
NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_.base = (&NTIsslcontext58objecttype__nNdejAl9bbVbX7sP6RJ4h0w_);
NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_.marker = Marker_tyRef__LP7l6kWJNPJLySYXWH5AYA;
NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_.size = sizeof(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA);
NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_.align = NIM_ALIGNOF(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA);
NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_.kind = 17;
NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[19].len = 0; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[19].kind = 2;
NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[19];
NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_.size = sizeof(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*);
NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_.align = NIM_ALIGNOF(tyObject_SslError__GtD0IEVE1EOWxaU5x9amdzA*);
NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_.kind = 22;
NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_.base = (&NTIsslerror__GtD0IEVE1EOWxaU5x9amdzA_);
NTIrefsslerror__VoScTqHOwyXBt9b3u4T1Ksw_.marker = Marker_tyRef__VoScTqHOwyXBt9b3u4T1Ksw;
NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_.size = sizeof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ);
NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_.align = NIM_ALIGNOF(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ);
NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_.kind = 18;
NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_.base = 0;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[0] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[21];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[21].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[21].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, fd);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[21].typ = (&NTIcint__nlCscttRCss70IBTyuBqnA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[21].name = "fd";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[1] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[22];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[22].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[22].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, isBuffered);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[22].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[22].name = "isBuffered";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[2] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[23];
NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_.size = sizeof(tyArray__QQGLPNVVwLhYjkngqAxXQQ);
NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_.align = NIM_ALIGNOF(tyArray__QQGLPNVVwLhYjkngqAxXQQ);
NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_.kind = 16;
NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_.base = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_.flags = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[23].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[23].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, buffer);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[23].typ = (&NTIarrayL48OO52484848_charT__QQGLPNVVwLhYjkngqAxXQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[23].name = "buffer";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[3] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[24];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[24].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[24].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, currPos);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[24].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[24].name = "currPos";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[4] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[25];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[25].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[25].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, bufLen);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[25].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[25].name = "bufLen";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[5] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[26];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[26].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[26].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, isSsl);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[26].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[26].name = "isSsl";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[6] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[27];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[27].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[27].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslHandle);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[27].typ = (&NTIsslctx__QQ33RYEe889cv60wm9bVkd8A_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[27].name = "sslHandle";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[7] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[28];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[28].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[28].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslContext);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[28].typ = (&NTIsslcontext__LP7l6kWJNPJLySYXWH5AYA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[28].name = "sslContext";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[8] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[29];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[29].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[29].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslNoHandshake);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[29].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[29].name = "sslNoHandshake";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[9] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[30];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[30].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[30].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslHasPeekChar);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[30].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[30].name = "sslHasPeekChar";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[10] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[31];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[31].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[31].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslPeekChar);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[31].typ = (&NTIchar__nmiMWKVIe46vacnhAFrQvw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[31].name = "sslPeekChar";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[11] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[32];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[32].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[32].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sslNoShutdown);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[32].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[32].name = "sslNoShutdown";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[12] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[33];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[33].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[33].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, lastError);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[33].typ = (&NTIint5150__sVg18TP9cLifHyygRe9cro9aA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[33].name = "lastError";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[13] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[34];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[34].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[34].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, domain);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[34].typ = (&NTIdomain__Q79bEtFARvq0ekDNtvj3Vqg_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[34].name = "domain";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[14] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[35];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[35].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[35].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, sockType);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[35].typ = (&NTIsocktype__NQT1bItGG2X9byGdrWX7ujw_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[35].name = "sockType";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[15] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[36];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[36].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[36].offset = offsetof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ, protocol);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[36].typ = (&NTIprotocol__dqJ1OqRGclxIMMdSLRzzXg_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[36].name = "protocol";
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[20].len = 16; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[20].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[20].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_25_16[0];
NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[20];
NTIsocket__MkGXUPMSENeRDS7EppfLgA_.size = sizeof(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*);
NTIsocket__MkGXUPMSENeRDS7EppfLgA_.align = NIM_ALIGNOF(tyObject_SocketImpl__aIhANOOoETolVz9cccNO9cRQ*);
NTIsocket__MkGXUPMSENeRDS7EppfLgA_.kind = 22;
NTIsocket__MkGXUPMSENeRDS7EppfLgA_.base = (&NTIsocketimpl__aIhANOOoETolVz9cccNO9cRQ_);
NTIsocket__MkGXUPMSENeRDS7EppfLgA_.marker = Marker_tyRef__MkGXUPMSENeRDS7EppfLgA;
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.size = sizeof(tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA);
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.align = NIM_ALIGNOF(tyEnum_IpAddressFamily__iqqacz9cr9bcNjYY74E10wPA);
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.kind = 14;
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.base = 0;
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.flags = 3;
for (TM__XqsrSBxhOTPgLQ9cX4MmV4A_60 = 0; TM__XqsrSBxhOTPgLQ9cX4MmV4A_60 < 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_60++) {
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60+37].kind = 1;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60+37].offset = TM__XqsrSBxhOTPgLQ9cX4MmV4A_60;
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60+37].name = TM__XqsrSBxhOTPgLQ9cX4MmV4A_59[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60];
TM__XqsrSBxhOTPgLQ9cX4MmV4A_58_2[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60] = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[TM__XqsrSBxhOTPgLQ9cX4MmV4A_60+37];
}
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[39].len = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[39].kind = 2; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[39].sons = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_58_2[0];
NTIipaddressfamily__iqqacz9cr9bcNjYY74E10wPA_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[39];
NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_.size = sizeof(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og);
NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_.align = NIM_ALIGNOF(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og);
NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_.kind = 17;
NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_.base = (&NTIcatchableerror__qrLSDoe2oBoAqNtJ9badtnA_);
TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[40].len = 0; TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[40].kind = 2;
NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_.node = &TM__XqsrSBxhOTPgLQ9cX4MmV4A_0[40];
NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_.size = sizeof(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og*);
NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_.align = NIM_ALIGNOF(tyObject_TimeoutError__VuFrIFILhVuaGaO5FCG0Og*);
NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_.kind = 22;
NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_.base = (&NTItimeouterror__VuFrIFILhVuaGaO5FCG0Og_);
NTIreftimeouterror__OhBa09cfBAnY4MdnNlGabWQ_.marker = Marker_tyRef__OhBa09cfBAnY4MdnNlGabWQ;
}