2022-12-25 14:07:15 +02:00
/* Generated by Nim Compiler v1.6.11 */
2022-09-19 09:55:15 +03:00
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <setjmp.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 NimStringDesc NimStringDesc ;
typedef struct TGenericSeq TGenericSeq ;
typedef struct Exception Exception ;
typedef struct RootObj RootObj ;
typedef struct TNimType TNimType ;
typedef struct TNimNode TNimNode ;
typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA ;
typedef struct TSafePoint TSafePoint ;
typedef struct tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg ;
typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg ;
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_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA ;
struct TGenericSeq {
NI len ;
NI reserved ;
};
struct NimStringDesc {
TGenericSeq Sup ;
NIM_CHAR data [ SEQ_DECL_SIZE ];
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ ;
typedef N_NIMCALL_PTR ( void , tyProc__ojoeKfW4VYIm36I9cpDTQIg ) ( void * p , NI op );
typedef N_NIMCALL_PTR ( void * , tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ ) ( void * p );
struct TNimType {
NI size ;
NI align ;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind ;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags ;
TNimType * base ;
TNimNode * node ;
void * finalizer ;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker ;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy ;
};
struct RootObj {
TNimType * m_type ;
};
struct Exception {
RootObj Sup ;
Exception * parent ;
NCSTRING name ;
NimStringDesc * message ;
tySequence__uB9b75OUPRENsBAu4AnoePA * trace ;
Exception * up ;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ [ 25 ];
struct TSafePoint {
TSafePoint * prev ;
NI status ;
jmp_buf context ;
};
typedef NU8 tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA ;
typedef NimStringDesc * tyArray__nHXaesL0DJZHyVS07ARPRA [ 1 ];
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind ;
NI offset ;
TNimType * typ ;
NCSTRING name ;
NI len ;
TNimNode ** sons ;
};
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 ;
};
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 ;
NI gcThreadId ;
};
struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
NCSTRING procname ;
NI line ;
NCSTRING filename ;
};
struct tySequence__uB9b75OUPRENsBAu4AnoePA {
TGenericSeq Sup ;
tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data [ SEQ_DECL_SIZE ];
};
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( void , failedAssertImpl__systemZassertions_56 )( NimStringDesc * msg );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( void , openDefaultBrowserImpl__pureZbrowsers_9 )( NimStringDesc * url );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nospquoteShell )( NimStringDesc * s );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , prepare__pureZbrowsers_6 )( NimStringDesc * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , contains__pureZstrutils_1688 )( NimStringDesc * s , NimStringDesc * sub );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , copyString )( NimStringDesc * src );
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 );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , absolutePath__pureZos_735 )( NimStringDesc * path , NimStringDesc * root );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , nosgetCurrentDir )( void );
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , rawNewString )( NI space );
static N_INLINE ( void , nimFrame )( TFrame * s );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NOINLINE ( void , callDepthLimitReached__system_2997 )( void );
2022-09-19 09:55:15 +03:00
static N_INLINE ( void , popFrame )( void );
N_LIB_PRIVATE N_NIMCALL ( NI , nosexecShellCmd )( NimStringDesc * command );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , getEnv__pureZos_418 )( NimStringDesc * key , NimStringDesc * default_0 );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NOINLINE ( void , raiseIndexError2 )( NI i , NI n );
N_LIB_PRIVATE N_NOINLINE ( void , raiseOverflow )( void );
2022-12-25 14:07:15 +02:00
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , substr__system_7790 )( NimStringDesc * s , NI first , NI last );
2022-09-19 09:55:15 +03:00
static N_INLINE ( void , pushSafePoint )( TSafePoint * s );
N_LIB_PRIVATE N_NIMCALL ( tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg * , nospstartProcess )( NimStringDesc * command , NimStringDesc * workingDir , NimStringDesc ** args , NI argsLen_0 , tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg * env , tySet_tyEnum_ProcessOption__bnU6W8LhTMnT4JaSWtGlSA options );
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 , popSafePoint )( void );
static N_INLINE ( TFrame * , getFrame )( void );
static N_INLINE ( void , setFrame )( TFrame * s );
N_LIB_PRIVATE N_NIMCALL ( NIM_BOOL , isObj )( TNimType * obj , TNimType * subclass );
static N_INLINE ( Exception * , nimBorrowCurrentException )( void );
static N_INLINE ( void , popCurrentException )( void );
static N_INLINE ( void , asgnRef )( void ** dest , void * src );
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , incRef__system_5337 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NI , pluspercent___system_696 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
static N_INLINE ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * , usrToCell__system_5299 )( void * usr );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NI , minuspercent___system_716 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , decRef__system_5344 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
2022-09-19 09:55:15 +03:00
static N_INLINE ( NIM_BOOL , ltpercent___system_1005 )( NI x , NI y );
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , rtlAddZCT__system_5342 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
N_LIB_PRIVATE N_NOINLINE ( void , addZCT__system_5293 )( tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w * s , tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c );
2022-09-19 09:55:15 +03:00
N_LIB_PRIVATE N_NIMCALL ( void , reraiseException )( void );
2022-12-25 14:07:15 +02:00
STRING_LITERAL ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_2 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim(69, 12) `url.len > 0` URL must not be empty string" , 125 );
2022-09-19 09:55:15 +03:00
STRING_LITERAL ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_3 , "://" , 3 );
STRING_LITERAL ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_4 , "file://" , 7 );
STRING_LITERAL ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_5 , "xdg-open " , 9 );
STRING_LITERAL ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_6 , "BROWSER" , 7 );
extern TNimType NTIoserror__BeJgrOdDsczOwEWOZbRfKA_ ;
2022-12-25 14:07:15 +02:00
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern TSafePoint * excHandler__system_2565 ;
extern TSafePoint * excHandler__system_2565 ;
extern TSafePoint * excHandler__system_2565 ;
extern TSafePoint * excHandler__system_2565 ;
extern TFrame * framePtr__system_2564 ;
extern TFrame * framePtr__system_2564 ;
extern Exception * currException__system_2566 ;
extern Exception * currException__system_2566 ;
extern Exception * currException__system_2566 ;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5246 ;
2022-09-19 09:55:15 +03:00
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_ : ;
}
static N_INLINE ( void , nimFrame )( TFrame * s ) {
{
2022-12-25 14:07:15 +02:00
if ( ! ( framePtr__system_2564 == (( TFrame * ) NIM_NIL ))) goto LA3_ ;
2022-09-19 09:55:15 +03:00
( * s ). calldepth = (( NI16 ) 0 );
}
goto LA1_ ;
LA3_ : ;
{
2022-12-25 14:07:15 +02:00
( * s ). calldepth = ( NI16 )(( * framePtr__system_2564 ). calldepth + (( NI16 ) 1 ));
2022-09-19 09:55:15 +03:00
}
LA1_ : ;
2022-12-25 14:07:15 +02:00
( * s ). prev = framePtr__system_2564 ;
framePtr__system_2564 = s ;
2022-09-19 09:55:15 +03:00
{
if ( ! (( * s ). calldepth == (( NI16 ) 2000 ))) goto LA8_ ;
2022-12-25 14:07:15 +02:00
callDepthLimitReached__system_2997 ();
2022-09-19 09:55:15 +03:00
}
LA8_ : ;
}
static N_INLINE ( void , popFrame )( void ) {
2022-12-25 14:07:15 +02:00
framePtr__system_2564 = ( * framePtr__system_2564 ). prev ;
2022-09-19 09:55:15 +03:00
}
N_LIB_PRIVATE N_NIMCALL ( NimStringDesc * , prepare__pureZbrowsers_6 )( NimStringDesc * s ) {
NimStringDesc * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "prepare" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 33 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T3_ = contains__pureZstrutils_1688 ( s , (( NimStringDesc * ) & TM__CZNeKGdQ8AWxD1HSDIq5DQ_3 ));
2022-09-19 09:55:15 +03:00
if ( ! T3_ ) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 34 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
result = copyString ( s );
}
goto LA1_ ;
LA4_ : ;
{
NimStringDesc * T7_ ;
NimStringDesc * T8_ ;
NimStringDesc * T9_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
T7_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 1441 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/os.nim" );
2022-09-19 09:55:15 +03:00
T8_ = NIM_NIL ;
T8_ = nosgetCurrentDir ();
2022-12-25 14:07:15 +02:00
nimln_ ( 36 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
T9_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
T9_ = absolutePath__pureZos_735 ( s , T8_ );
2022-09-19 09:55:15 +03:00
T7_ = rawNewString (( T9_ ? T9_ -> Sup . len : 0 ) + 7 );
appendString ( T7_ , (( NimStringDesc * ) & TM__CZNeKGdQ8AWxD1HSDIq5DQ_4 ));
appendString ( T7_ , T9_ );
result = T7_ ;
}
LA1_ : ;
popFrame ();
return result ;
}
static N_INLINE ( void , pushSafePoint )( TSafePoint * s ) {
2022-12-25 14:07:15 +02:00
( * s ). prev = excHandler__system_2565 ;
excHandler__system_2565 = s ;
2022-09-19 09:55:15 +03:00
}
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 , popSafePoint )( void ) {
2022-12-25 14:07:15 +02:00
excHandler__system_2565 = ( * excHandler__system_2565 ). prev ;
2022-09-19 09:55:15 +03:00
}
static N_INLINE ( TFrame * , getFrame )( void ) {
TFrame * result ;
result = ( TFrame * ) 0 ;
2022-12-25 14:07:15 +02:00
result = framePtr__system_2564 ;
2022-09-19 09:55:15 +03:00
return result ;
}
static N_INLINE ( void , setFrame )( TFrame * s ) {
2022-12-25 14:07:15 +02:00
framePtr__system_2564 = s ;
2022-09-19 09:55:15 +03:00
}
static N_INLINE ( Exception * , nimBorrowCurrentException )( void ) {
Exception * result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "nimBorrowCurrentException" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
2022-09-19 09:55:15 +03:00
result = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 2417 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim" );
result = currException__system_2566 ;
2022-09-19 09:55:15 +03:00
popFrame ();
return result ;
}
static N_INLINE ( NI , pluspercent___system_696 )( NI x , NI y ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "+%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 403 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
nimln_ ( 407 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) (( NU )(( NU64 )((( NU ) ( x ))) + ( NU64 )((( NU ) ( y ))))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , incRef__system_5337 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c ) {
nimfr_ ( "incRef" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
nimln_ ( 231 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
( * c ). refcount = pluspercent___system_696 (( * c ). refcount , (( NI ) 8 ));
popFrame ();
}
static N_INLINE ( NI , minuspercent___system_716 )( NI x , NI y ) {
NI result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "-%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = ( NI ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 414 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
nimln_ ( 418 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/arithmetics.nim" );
2022-09-19 09:55:15 +03:00
result = (( NI ) (( NU )(( NU64 )((( NU ) ( x ))) - ( NU64 )((( NU ) ( y ))))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * , usrToCell__system_5299 )( void * usr ) {
2022-09-19 09:55:15 +03:00
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * result ;
NI T1_ ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "usrToCell" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
result = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 177 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
T1_ = ( NI ) 0 ;
T1_ = minuspercent___system_716 ((( NI ) ( ptrdiff_t ) ( usr )), (( NI ) 16 ));
result = (( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) ( T1_ ));
popFrame ();
return result ;
}
static N_INLINE ( NIM_BOOL , ltpercent___system_1005 )( NI x , NI y ) {
NIM_BOOL result ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "<%" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim" );
2022-09-19 09:55:15 +03:00
result = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 186 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim" );
nimln_ ( 188 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/comparisons.nim" );
2022-09-19 09:55:15 +03:00
result = (( NU64 )((( NU ) ( x ))) < ( NU64 )((( NU ) ( y ))));
popFrame ();
return result ;
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , rtlAddZCT__system_5342 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c ) {
nimfr_ ( "rtlAddZCT" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
nimln_ ( 243 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
addZCT__system_5293 (( & gch__system_5246 . zct ), c );
2022-09-19 09:55:15 +03:00
popFrame ();
}
2022-12-25 14:07:15 +02:00
static N_INLINE ( void , decRef__system_5344 )( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * c ) {
nimfr_ ( "decRef" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
nimln_ ( 248 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
( * c ). refcount = minuspercent___system_716 (( * c ). refcount , (( NI ) 8 ));
2022-12-25 14:07:15 +02:00
nimln_ ( 249 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
{
NIM_BOOL T3_ ;
T3_ = ( NIM_BOOL ) 0 ;
T3_ = ltpercent___system_1005 (( * c ). refcount , (( NI ) 8 ));
if ( ! T3_ ) goto LA4_ ;
2022-12-25 14:07:15 +02:00
nimln_ ( 250 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
rtlAddZCT__system_5342 ( c );
2022-09-19 09:55:15 +03:00
}
LA4_ : ;
popFrame ();
}
static N_INLINE ( void , asgnRef )( void ** dest , void * src ) {
2022-12-25 14:07:15 +02:00
nimfr_ ( "asgnRef" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
nimln_ ( 286 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * T5_ ;
if ( !! (( src == NIM_NIL ))) goto LA3_ ;
T5_ = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
T5_ = usrToCell__system_5299 ( src );
incRef__system_5337 ( T5_ );
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 287 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * T10_ ;
if ( !! ((( * dest ) == NIM_NIL ))) goto LA8_ ;
T10_ = ( tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g * ) 0 ;
2022-12-25 14:07:15 +02:00
T10_ = usrToCell__system_5299 (( * dest ));
decRef__system_5344 ( T10_ );
2022-09-19 09:55:15 +03:00
}
LA8_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 288 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/gc.nim" );
2022-09-19 09:55:15 +03:00
( * dest ) = src ;
popFrame ();
}
static N_INLINE ( void , popCurrentException )( void ) {
2022-12-25 14:07:15 +02:00
asgnRef (( void ** ) ( & currException__system_2566 ), ( * currException__system_2566 ). up );
2022-09-19 09:55:15 +03:00
}
N_LIB_PRIVATE N_NIMCALL ( void , openDefaultBrowserImpl__pureZbrowsers_9 )( NimStringDesc * url ) {
NimStringDesc * u ;
NimStringDesc * T1_ ;
TFrame * _nimCurFrame ;
2022-12-25 14:07:15 +02:00
nimfr_ ( "openDefaultBrowserImpl" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
{ _nimCurFrame = getFrame ();
2022-12-25 14:07:15 +02:00
nimln_ ( 46 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
T1_ = NIM_NIL ;
T1_ = prepare__pureZbrowsers_6 ( url );
u = nospquoteShell ( T1_ );
2022-12-25 14:07:15 +02:00
nimln_ ( 47 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
{
NimStringDesc * T4_ ;
NI T5_ ;
T4_ = NIM_NIL ;
T4_ = rawNewString (( u ? u -> Sup . len : 0 ) + 9 );
appendString ( T4_ , (( NimStringDesc * ) & TM__CZNeKGdQ8AWxD1HSDIq5DQ_5 ));
appendString ( T4_ , u );
T5_ = ( NI ) 0 ;
T5_ = nosexecShellCmd ( T4_ );
if ( ! ( T5_ == (( NI ) 0 ))) goto LA6_ ;
goto BeforeRet_ ;
}
LA6_ : ;
{
NimStringDesc * b ;
NimStringDesc * colontmp_ ;
2022-12-25 14:07:15 +02:00
NI lastX60gensym34_ ;
NI splitsX60gensym34_ ;
2022-09-19 09:55:15 +03:00
b = NIM_NIL ;
colontmp_ = NIM_NIL ;
2022-12-25 14:07:15 +02:00
nimln_ ( 48 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
colontmp_ = getEnv__pureZos_418 ((( NimStringDesc * ) & TM__CZNeKGdQ8AWxD1HSDIq5DQ_6 ), (( NimStringDesc * ) NIM_NIL ));
nimln_ ( 365 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
lastX60gensym34_ = (( NI ) 0 );
nimln_ ( 366 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
splitsX60gensym34_ = (( NI ) - 1 );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 426 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
2022-12-25 14:07:15 +02:00
NI firstX60gensym34_ ;
2022-09-19 09:55:15 +03:00
NI TM__CZNeKGdQ8AWxD1HSDIq5DQ_8 ;
TSafePoint TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 ;
tyArray__nHXaesL0DJZHyVS07ARPRA T19_ ;
tyObject_ProcessObj__2rGNQnv9bU4hanI2g3svReg * T20_ ;
NI TM__CZNeKGdQ8AWxD1HSDIq5DQ_10 ;
NI TM__CZNeKGdQ8AWxD1HSDIq5DQ_11 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 368 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( ! ( lastX60gensym34_ <= ( colontmp_ ? colontmp_ -> Sup . len : 0 ))) goto LA10 ;
nimln_ ( 369 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
firstX60gensym34_ = lastX60gensym34_ ;
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
nimln_ ( 370 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
while ( 1 ) {
NIM_BOOL T13_ ;
NI TM__CZNeKGdQ8AWxD1HSDIq5DQ_7 ;
T13_ = ( NIM_BOOL ) 0 ;
2022-12-25 14:07:15 +02:00
T13_ = ( lastX60gensym34_ < ( colontmp_ ? colontmp_ -> Sup . len : 0 ));
2022-09-19 09:55:15 +03:00
if ( ! ( T13_ )) goto LA14_ ;
2022-12-25 14:07:15 +02:00
if ( lastX60gensym34_ < 0 || lastX60gensym34_ >= ( colontmp_ ? colontmp_ -> Sup . len : 0 )){ raiseIndexError2 ( lastX60gensym34_ ,( colontmp_ ? colontmp_ -> Sup . len : 0 ) - 1 ); }
T13_ = ! ((( NU8 )( colontmp_ -> data [ lastX60gensym34_ ]) == ( NU8 )( 58 )));
2022-09-19 09:55:15 +03:00
LA14_ : ;
if ( ! T13_ ) goto LA12 ;
2022-12-25 14:07:15 +02:00
nimln_ ( 371 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__CZNeKGdQ8AWxD1HSDIq5DQ_7 )) { raiseOverflow (); };
lastX60gensym34_ = ( NI )( TM__CZNeKGdQ8AWxD1HSDIq5DQ_7 );
2022-09-19 09:55:15 +03:00
} LA12 : ;
}
2022-12-25 14:07:15 +02:00
nimln_ ( 372 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym34_ == (( NI ) 0 ))) goto LA17_ ;
lastX60gensym34_ = ( colontmp_ ? colontmp_ -> Sup . len : 0 );
2022-09-19 09:55:15 +03:00
}
LA17_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 48 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
nimln_ ( 373 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__CZNeKGdQ8AWxD1HSDIq5DQ_8 )) { raiseOverflow (); };
nimln_ ( 48 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
b = substr__system_7790 ( colontmp_ , firstX60gensym34_ , ( NI )( TM__CZNeKGdQ8AWxD1HSDIq5DQ_8 ));
2022-09-19 09:55:15 +03:00
pushSafePoint ( & TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 );
TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 . status = setjmp ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 . context );
if ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 . status == 0 ) {
2022-12-25 14:07:15 +02:00
nimln_ ( 51 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
nimZeroMem (( void * ) T19_ , sizeof ( tyArray__nHXaesL0DJZHyVS07ARPRA ));
T19_ [ 0 ] = copyString ( url );
T20_ = NIM_NIL ;
T20_ = nospstartProcess ( b , (( NimStringDesc * ) NIM_NIL ), T19_ , 1 , (( tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg * ) NIM_NIL ), 2 );
( void )( T20_ );
2022-12-25 14:07:15 +02:00
nimln_ ( 52 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
popSafePoint ();
goto BeforeRet_ ;
popSafePoint ();
}
else {
popSafePoint ();
setFrame ( _nimCurFrame );
if ( isObj ( nimBorrowCurrentException () -> Sup . m_type , ( & NTIoserror__BeJgrOdDsczOwEWOZbRfKA_ ))) {
TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 . status = 0 ;
popCurrentException ();
}
}
if ( TM__CZNeKGdQ8AWxD1HSDIq5DQ_9 . status != 0 ) reraiseException ();
2022-12-25 14:07:15 +02:00
nimln_ ( 374 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
2022-09-19 09:55:15 +03:00
{
2022-12-25 14:07:15 +02:00
if ( ! ( splitsX60gensym34_ == (( NI ) 0 ))) goto LA25_ ;
2022-09-19 09:55:15 +03:00
goto LA9 ;
}
LA25_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 375 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimSubInt ( splitsX60gensym34_ , (( NI ) 1 ), & TM__CZNeKGdQ8AWxD1HSDIq5DQ_10 )) { raiseOverflow (); };
splitsX60gensym34_ = ( NI )( TM__CZNeKGdQ8AWxD1HSDIq5DQ_10 );
nimln_ ( 376 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/strutils.nim" );
if ( nimAddInt ( lastX60gensym34_ , (( NI ) 1 ), & TM__CZNeKGdQ8AWxD1HSDIq5DQ_11 )) { raiseOverflow (); };
lastX60gensym34_ = ( NI )( TM__CZNeKGdQ8AWxD1HSDIq5DQ_11 );
2022-09-19 09:55:15 +03:00
} LA10 : ;
} LA9 : ;
}
} BeforeRet_ : ;
popFrame ();
}
N_LIB_PRIVATE N_NIMCALL ( void , openDefaultBrowser__pureZbrowsers_13 )( NimStringDesc * url ) {
2022-12-25 14:07:15 +02:00
nimfr_ ( "openDefaultBrowser" , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
nimln_ ( 69 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
{
if ( !! (((( NI ) 0 ) < ( url ? url -> Sup . len : 0 )))) goto LA3_ ;
2022-12-25 14:07:15 +02:00
failedAssertImpl__systemZassertions_56 ((( NimStringDesc * ) & TM__CZNeKGdQ8AWxD1HSDIq5DQ_2 ));
2022-09-19 09:55:15 +03:00
}
LA3_ : ;
2022-12-25 14:07:15 +02:00
nimln_ ( 70 , "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/browsers.nim" );
2022-09-19 09:55:15 +03:00
openDefaultBrowserImpl__pureZbrowsers_9 ( url );
popFrame ();
}