/*===========================================================================*/
/*   (Foreign/copaque.scm)                                                   */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Foreign/copaque.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_caliasz00_bgl {
   bool_t BgL_arrayzf3zf3;
} *BgL_caliasz00_bglt;

typedef struct BgL_cenumz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   obj_t BgL_literalsz00;
} *BgL_cenumz00_bglt;

typedef struct BgL_copaquez00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
} *BgL_copaquez00_bglt;

typedef struct BgL_cfunctionz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   long BgL_arityz00;
   struct BgL_typez00_bgl * BgL_typezd2reszd2;
   obj_t BgL_typezd2argszd2;
} *BgL_cfunctionz00_bglt;

typedef struct BgL_cptrz00_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_typez00_bgl * BgL_pointzd2tozd2;
   bool_t BgL_arrayzf3zf3;
} *BgL_cptrz00_bglt;

typedef struct BgL_cstructz00_bgl {
   bool_t BgL_structzf3zf3;
   obj_t BgL_fieldsz00;
   obj_t BgL_cstructza2za2;
} *BgL_cstructz00_bglt;

typedef struct BgL_cstructza2za2_bgl {
   struct BgL_typez00_bgl * BgL_btypez00;
   struct BgL_cstructz00_bgl * BgL_cstructz00;
} *BgL_cstructza2za2_bglt;

typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzforeign_copaquez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_ctypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_accessz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_libraryz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
static obj_t BGl_methodzd2initzd2zzforeign_copaquez00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern obj_t BGl_copaquez00zzforeign_ctypez00;
extern obj_t BGl_makezd2protozd2inlinez00zzforeign_libraryz00(obj_t);
static obj_t BGl_makezd2ctypezd2accessesz12zd2copaque1588zc0zzforeign_copaquez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_makezd2definezd2inlinez00zzforeign_libraryz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzforeign_copaquez00();
static obj_t BGl_importedzd2moduleszd2initz00zzforeign_copaquez00();
extern obj_t BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzforeign_copaquez00 = BUNSPEC;
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzforeign_copaquez00();
extern obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t, obj_t);
extern obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzforeign_copaquez00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t __cnst[ 22 ] ;


extern obj_t BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00;
DEFINE_STATIC_PROCEDURE( BGl_proc1968z00zzforeign_copaquez00, BgL_bgl_makeza7d2ctypeza7d2accessesza712za7d2copaque1588za7c0za7za7foreign_copaqueza7001999z00, BGl_makezd2ctypezd2accessesz12zd2copaque1588zc0zzforeign_copaquez00, 0L, 3 );
DEFINE_STRING( BGl_string1972z00zzforeign_copaquez00, BgL_bgl_string1972za700za7za7foreign_copaqueza7002000z00, "predicate-of pragma ::obj static foreign (pragma::bool \"($1 == $2)\" o1 o2) o2 o1 ?::bool = quote foreign-id eq? o foreign? if o::obj symbol macro ::bool ? -> ", 158 );
DEFINE_STRING( BGl_string1971z00zzforeign_copaquez00, BgL_bgl_string1971za700za7za7foreign_copaqueza7002001z00, ")FOREIGN_TO_COBJ", 16 );
DEFINE_STRING( BGl_string1970z00zzforeign_copaquez00, BgL_bgl_string1970za700za7za7foreign_copaqueza7002002z00, "(", 1 );
DEFINE_STRING( BGl_string1969z00zzforeign_copaquez00, BgL_bgl_string1969za700za7za7foreign_copaqueza7002003z00, "cobj_to_foreign", 15 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzforeign_copaquez00(long BgL_checksumz00_319, char * BgL_fromz00_320)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzforeign_copaquez00))
{ 
BGl_requirezd2initializa7ationz75zzforeign_copaquez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzforeign_copaquez00(); 
BGl_cnstzd2initzd2zzforeign_copaquez00(); 
BGl_importedzd2moduleszd2initz00zzforeign_copaquez00(); 
BGl_methodzd2initzd2zzforeign_copaquez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzforeign_copaquez00()
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "foreign_copaque"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzforeign_copaquez00()
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 15 */
{ /* ./Foreign/copaque.scm 15 */
obj_t BgL_cportz00_312;
BgL_cportz00_312 = 
open_input_string(BGl_string1972z00zzforeign_copaquez00); 
{ 
long BgL_iz00_313;
BgL_iz00_313 = ((long)21); 
BgL_loopz00_314:
{ /* ./Foreign/copaque.scm 15 */
bool_t BgL_test1974z00_315;
BgL_test1974z00_315 = 
(BgL_iz00_313==((long)-1)); 
if(BgL_test1974z00_315)
{ /* ./Foreign/copaque.scm 15 */
return BUNSPEC;}  else 
{ /* ./Foreign/copaque.scm 15 */
{ /* ./Foreign/copaque.scm 15 */
obj_t BgL_arg1976z00_316;
{ /* ./Foreign/copaque.scm 15 */
obj_t BgL_list1979z00_317;
BgL_list1979z00_317 = 
MAKE_PAIR(BgL_cportz00_312, BNIL); 
BgL_arg1976z00_316 = 
BGl_readz00zz__readerz00(BgL_list1979z00_317); } 
{ /* ./Foreign/copaque.scm 15 */
int BgL_auxz00_336;
BgL_auxz00_336 = 
(int)(BgL_iz00_313); 
CNST_TABLE_SET(BgL_auxz00_336, BgL_arg1976z00_316); } } 
{ /* ./Foreign/copaque.scm 15 */
int BgL_auxz00_318;
{ /* ./Foreign/copaque.scm 15 */
long BgL_auxz00_339;
BgL_auxz00_339 = 
(BgL_iz00_313-((long)1)); 
BgL_auxz00_318 = 
(int)(BgL_auxz00_339); } 
{ 
long BgL_iz00_342;
BgL_iz00_342 = 
(long)(BgL_auxz00_318); 
BgL_iz00_313 = BgL_iz00_342; 
goto BgL_loopz00_314;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzforeign_copaquez00()
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 15 */
return BUNSPEC;} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzforeign_copaquez00()
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 15 */
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_makezd2ctypezd2accessesz12zd2envzc0zzforeign_accessz00, BGl_copaquez00zzforeign_ctypez00, BGl_proc1968z00zzforeign_copaquez00);} 
}



/* make-ctype-accesses!-copaque1588 */
obj_t BGl_makezd2ctypezd2accessesz12zd2copaque1588zc0zzforeign_copaquez00(obj_t BgL_envz00_304, obj_t BgL_whatz00_305, obj_t BgL_whoz00_306, obj_t BgL_locz00_307)
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 28 */
{ 
BgL_copaquez00_bglt BgL_whatz00_172;BgL_typez00_bglt BgL_whoz00_173;obj_t BgL_locz00_174;
BgL_whatz00_172 = 
(BgL_copaquez00_bglt)(BgL_whatz00_305); 
BgL_whoz00_173 = 
(BgL_typez00_bglt)(BgL_whoz00_306); 
BgL_locz00_174 = BgL_locz00_307; 
{ /* ./Foreign/copaque.scm 29 */
BgL_typez00_bglt BgL_btypez00_177;
{ 
obj_t BgL_auxz00_345;
{ /* ./Foreign/copaque.scm 29 */
BgL_objectz00_bglt BgL_auxz00_346;
BgL_auxz00_346 = 
(BgL_objectz00_bglt)(BgL_whatz00_172); 
BgL_auxz00_345 = 
BGL_OBJECT_WIDENING(BgL_auxz00_346); } 
BgL_btypez00_177 = 
(((BgL_copaquez00_bglt)CREF(BgL_auxz00_345))->BgL_btypez00); } 
{ /* ./Foreign/copaque.scm 29 */
obj_t BgL_idz00_178;
BgL_idz00_178 = 
(((BgL_typez00_bglt)CREF(BgL_whoz00_173))->BgL_idz00); 
{ /* ./Foreign/copaque.scm 30 */
obj_t BgL_widz00_179;
{ /* ./Foreign/copaque.scm 31 */
BgL_typez00_bglt BgL_obj1003z00_298;
BgL_obj1003z00_298 = 
(BgL_typez00_bglt)(BgL_whatz00_172); 
BgL_widz00_179 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_298))->BgL_idz00); } 
{ /* ./Foreign/copaque.scm 31 */
obj_t BgL_bidz00_180;
BgL_bidz00_180 = 
(((BgL_typez00_bglt)CREF(BgL_btypez00_177))->BgL_idz00); 
{ /* ./Foreign/copaque.scm 32 */
obj_t BgL_idzd2ze3bidz31_181;
{ /* ./Foreign/copaque.scm 33 */
obj_t BgL_list1926z00_290;
{ /* ./Foreign/copaque.scm 33 */
obj_t BgL_arg1928z00_291;
{ /* ./Foreign/copaque.scm 33 */
obj_t BgL_arg1931z00_292;obj_t BgL_arg1933z00_293;
BgL_arg1931z00_292 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1933z00_293 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg1928z00_291 = 
MAKE_PAIR(BgL_arg1931z00_292, BgL_arg1933z00_293); } 
BgL_list1926z00_290 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1928z00_291); } 
BgL_idzd2ze3bidz31_181 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1926z00_290); } 
{ /* ./Foreign/copaque.scm 33 */
obj_t BgL_bidzd2ze3idz31_182;
{ /* ./Foreign/copaque.scm 34 */
obj_t BgL_list1915z00_286;
{ /* ./Foreign/copaque.scm 34 */
obj_t BgL_arg1917z00_287;
{ /* ./Foreign/copaque.scm 34 */
obj_t BgL_arg1920z00_288;obj_t BgL_arg1922z00_289;
BgL_arg1920z00_288 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1922z00_289 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_arg1917z00_287 = 
MAKE_PAIR(BgL_arg1920z00_288, BgL_arg1922z00_289); } 
BgL_list1915z00_286 = 
MAKE_PAIR(BgL_bidz00_180, BgL_arg1917z00_287); } 
BgL_bidzd2ze3idz31_182 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1915z00_286); } 
{ /* ./Foreign/copaque.scm 34 */
obj_t BgL_bidzf3zf3_183;
{ /* ./Foreign/copaque.scm 35 */
obj_t BgL_list1909z00_284;
{ /* ./Foreign/copaque.scm 35 */
obj_t BgL_arg1911z00_285;
{ /* ./Foreign/copaque.scm 35 */
obj_t BgL_auxz00_364;
BgL_auxz00_364 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg1911z00_285 = 
MAKE_PAIR(BgL_auxz00_364, BNIL); } 
BgL_list1909z00_284 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1911z00_285); } 
BgL_bidzf3zf3_183 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1909z00_284); } 
{ /* ./Foreign/copaque.scm 35 */
obj_t BgL_bidzf3zd2boolz21_184;
{ /* ./Foreign/copaque.scm 36 */
obj_t BgL_list1903z00_282;
{ /* ./Foreign/copaque.scm 36 */
obj_t BgL_arg1905z00_283;
{ /* ./Foreign/copaque.scm 36 */
obj_t BgL_auxz00_369;
BgL_auxz00_369 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg1905z00_283 = 
MAKE_PAIR(BgL_auxz00_369, BNIL); } 
BgL_list1903z00_282 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg1905z00_283); } 
BgL_bidzf3zd2boolz21_184 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1903z00_282); } 
{ /* ./Foreign/copaque.scm 36 */
obj_t BgL_namez00_185;
BgL_namez00_185 = 
(((BgL_typez00_bglt)CREF(BgL_whoz00_173))->BgL_namez00); 
{ /* ./Foreign/copaque.scm 37 */
obj_t BgL_namezd2sanszd2z42z42_186;
BgL_namezd2sanszd2z42z42_186 = 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_namez00_185); 
{ /* ./Foreign/copaque.scm 38 */

{ 

{ /* ./Foreign/copaque.scm 69 */
obj_t BgL_arg1676z00_191;
{ /* ./Foreign/copaque.scm 69 */
obj_t BgL_list1684z00_194;
{ /* ./Foreign/copaque.scm 69 */
obj_t BgL_arg1686z00_195;obj_t BgL_arg1687z00_196;
BgL_arg1686z00_195 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Foreign/copaque.scm 69 */
obj_t BgL_arg1690z00_197;
{ /* ./Foreign/copaque.scm 69 */
obj_t BgL_auxz00_377;
BgL_auxz00_377 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg1690z00_197 = 
MAKE_PAIR(BgL_auxz00_377, BNIL); } 
BgL_arg1687z00_196 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1690z00_197); } 
BgL_list1684z00_194 = 
MAKE_PAIR(BgL_arg1686z00_195, BgL_arg1687z00_196); } 
BgL_arg1676z00_191 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1684z00_194); } 
{ /* ./Foreign/copaque.scm 67 */
obj_t BgL_list1678z00_192;
{ /* ./Foreign/copaque.scm 67 */
obj_t BgL_arg1680z00_193;
BgL_arg1680z00_193 = 
MAKE_PAIR(BgL_arg1676z00_191, BNIL); 
BgL_list1678z00_192 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg1680z00_193); } 
BGl_registerzd2foreignzd2accesszd2identsz12zc0zzforeign_libraryz00(BgL_list1678z00_192); } } 
{ /* ./Foreign/copaque.scm 72 */
obj_t BgL_arg1695z00_198;
{ /* ./Foreign/copaque.scm 72 */
obj_t BgL_arg1698z00_199;obj_t BgL_arg1699z00_200;
BgL_arg1698z00_199 = 
CNST_TABLE_REF(((long)17)); 
{ /* ./Foreign/copaque.scm 72 */
obj_t BgL_arg1702z00_201;obj_t BgL_arg1703z00_202;
{ /* ./Foreign/copaque.scm 44 */
obj_t BgL_arg1881z00_270;obj_t BgL_arg1882z00_271;
BgL_arg1881z00_270 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/copaque.scm 44 */
obj_t BgL_arg1885z00_272;
{ /* ./Foreign/copaque.scm 44 */
obj_t BgL_arg1888z00_273;
{ /* ./Foreign/copaque.scm 44 */
obj_t BgL_arg1891z00_274;obj_t BgL_arg1892z00_275;
{ /* ./Foreign/copaque.scm 44 */
obj_t BgL_arg1895z00_276;obj_t BgL_arg1896z00_277;
BgL_arg1895z00_276 = 
CNST_TABLE_REF(((long)4)); 
BgL_arg1896z00_277 = 
MAKE_PAIR(BgL_idz00_178, BNIL); 
BgL_arg1891z00_274 = 
MAKE_PAIR(BgL_arg1895z00_276, BgL_arg1896z00_277); } 
BgL_arg1892z00_275 = 
MAKE_PAIR(BGl_string1969z00zzforeign_copaquez00, BNIL); 
BgL_arg1888z00_273 = 
MAKE_PAIR(BgL_arg1891z00_274, BgL_arg1892z00_275); } 
BgL_arg1885z00_272 = 
MAKE_PAIR(BgL_idzd2ze3bidz31_181, BgL_arg1888z00_273); } 
BgL_arg1882z00_271 = 
MAKE_PAIR(BgL_bidz00_180, BgL_arg1885z00_272); } 
BgL_arg1702z00_201 = 
MAKE_PAIR(BgL_arg1881z00_270, BgL_arg1882z00_271); } 
{ /* ./Foreign/copaque.scm 72 */
obj_t BgL_arg1707z00_203;
{ /* ./Foreign/copaque.scm 47 */
obj_t BgL_mnamez00_262;
BgL_mnamez00_262 = 
string_append_3(BGl_string1970z00zzforeign_copaquez00, BgL_namezd2sanszd2z42z42_186, BGl_string1971z00zzforeign_copaquez00); 
{ /* ./Foreign/copaque.scm 48 */
obj_t BgL_arg1862z00_263;obj_t BgL_arg1864z00_264;
BgL_arg1862z00_263 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Foreign/copaque.scm 48 */
obj_t BgL_arg1867z00_265;
{ /* ./Foreign/copaque.scm 48 */
obj_t BgL_arg1870z00_266;
{ /* ./Foreign/copaque.scm 48 */
obj_t BgL_arg1873z00_267;obj_t BgL_arg1874z00_268;
BgL_arg1873z00_267 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg1874z00_268 = 
MAKE_PAIR(BgL_mnamez00_262, BNIL); 
BgL_arg1870z00_266 = 
MAKE_PAIR(BgL_arg1873z00_267, BgL_arg1874z00_268); } 
BgL_arg1867z00_265 = 
MAKE_PAIR(BgL_bidzd2ze3idz31_182, BgL_arg1870z00_266); } 
BgL_arg1864z00_264 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1867z00_265); } 
BgL_arg1707z00_203 = 
MAKE_PAIR(BgL_arg1862z00_263, BgL_arg1864z00_264); } } 
BgL_arg1703z00_202 = 
MAKE_PAIR(BgL_arg1707z00_203, BNIL); } 
BgL_arg1699z00_200 = 
MAKE_PAIR(BgL_arg1702z00_201, BgL_arg1703z00_202); } 
BgL_arg1695z00_198 = 
MAKE_PAIR(BgL_arg1698z00_199, BgL_arg1699z00_200); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1695z00_198); } 
{ /* ./Foreign/copaque.scm 74 */
obj_t BgL_arg1713z00_205;
{ /* ./Foreign/copaque.scm 74 */
obj_t BgL_arg1716z00_206;obj_t BgL_arg1717z00_207;
BgL_arg1716z00_206 = 
CNST_TABLE_REF(((long)18)); 
{ /* ./Foreign/copaque.scm 75 */
obj_t BgL_arg1720z00_208;
{ /* ./Foreign/copaque.scm 75 */
obj_t BgL_arg1724z00_210;
{ /* ./Foreign/copaque.scm 75 */
obj_t BgL_arg1727z00_211;
{ /* ./Foreign/copaque.scm 75 */
obj_t BgL_auxz00_409;
BgL_auxz00_409 = 
CNST_TABLE_REF(((long)19)); 
BgL_arg1727z00_211 = 
MAKE_PAIR(BgL_auxz00_409, BNIL); } 
BgL_arg1724z00_210 = 
MAKE_PAIR(BgL_bidzf3zd2boolz21_184, BgL_arg1727z00_211); } 
BgL_arg1720z00_208 = 
BGl_makezd2protozd2inlinez00zzforeign_libraryz00(BgL_arg1724z00_210); } 
BgL_arg1717z00_207 = 
MAKE_PAIR(BgL_arg1720z00_208, BNIL); } 
BgL_arg1713z00_205 = 
MAKE_PAIR(BgL_arg1716z00_206, BgL_arg1717z00_207); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1713z00_205); } 
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1731z00_212;
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1734z00_213;obj_t BgL_arg1735z00_214;
BgL_arg1734z00_213 = 
CNST_TABLE_REF(((long)20)); 
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1738z00_215;
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1744z00_217;
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1748z00_218;
{ /* ./Foreign/copaque.scm 76 */
obj_t BgL_arg1752z00_220;obj_t BgL_arg1755z00_221;
BgL_arg1752z00_220 = 
CNST_TABLE_REF(((long)21)); 
BgL_arg1755z00_221 = 
MAKE_PAIR(BgL_widz00_179, BNIL); 
BgL_arg1748z00_218 = 
MAKE_PAIR(BgL_arg1752z00_220, BgL_arg1755z00_221); } 
BgL_arg1744z00_217 = 
MAKE_PAIR(BgL_arg1748z00_218, BNIL); } 
BgL_arg1738z00_215 = 
MAKE_PAIR(BgL_bidzf3zf3_183, BgL_arg1744z00_217); } 
BgL_arg1735z00_214 = 
MAKE_PAIR(BgL_arg1738z00_215, BNIL); } 
BgL_arg1731z00_212 = 
MAKE_PAIR(BgL_arg1734z00_213, BgL_arg1735z00_214); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1731z00_212); } 
{ /* ./Foreign/copaque.scm 79 */
obj_t BgL_arg1760z00_222;obj_t BgL_arg1761z00_223;
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_arg1773z00_227;obj_t BgL_arg1775z00_228;
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_arg1778z00_229;obj_t BgL_arg1779z00_230;
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_list1782z00_231;
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_arg1784z00_232;obj_t BgL_arg1785z00_233;
BgL_arg1784z00_232 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_arg1788z00_234;
{ /* ./Foreign/copaque.scm 61 */
obj_t BgL_auxz00_427;
BgL_auxz00_427 = 
CNST_TABLE_REF(((long)13)); 
BgL_arg1788z00_234 = 
MAKE_PAIR(BgL_auxz00_427, BNIL); } 
BgL_arg1785z00_233 = 
MAKE_PAIR(BgL_idz00_178, BgL_arg1788z00_234); } 
BgL_list1782z00_231 = 
MAKE_PAIR(BgL_arg1784z00_232, BgL_arg1785z00_233); } 
BgL_arg1778z00_229 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1782z00_231); } 
{ /* ./Foreign/copaque.scm 62 */
obj_t BgL_arg1792z00_235;obj_t BgL_arg1793z00_236;
BgL_arg1792z00_235 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)14)), BgL_idz00_178); 
{ /* ./Foreign/copaque.scm 63 */
obj_t BgL_arg1798z00_237;
BgL_arg1798z00_237 = 
BGl_makezd2typedzd2identz00zzast_identz00(
CNST_TABLE_REF(((long)15)), BgL_idz00_178); 
BgL_arg1793z00_236 = 
MAKE_PAIR(BgL_arg1798z00_237, BNIL); } 
BgL_arg1779z00_230 = 
MAKE_PAIR(BgL_arg1792z00_235, BgL_arg1793z00_236); } 
BgL_arg1773z00_227 = 
MAKE_PAIR(BgL_arg1778z00_229, BgL_arg1779z00_230); } 
BgL_arg1775z00_228 = 
CNST_TABLE_REF(((long)16)); 
BgL_arg1760z00_222 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg1773z00_227, BgL_arg1775z00_228); } 
{ /* ./Foreign/copaque.scm 53 */
obj_t BgL_arg1804z00_240;obj_t BgL_arg1805z00_241;
{ /* ./Foreign/copaque.scm 53 */
obj_t BgL_arg1809z00_242;
{ /* ./Foreign/copaque.scm 53 */
obj_t BgL_auxz00_442;
BgL_auxz00_442 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg1809z00_242 = 
MAKE_PAIR(BgL_auxz00_442, BNIL); } 
BgL_arg1804z00_240 = 
MAKE_PAIR(BgL_bidzf3zd2boolz21_184, BgL_arg1809z00_242); } 
{ /* ./Foreign/copaque.scm 54 */
obj_t BgL_arg1813z00_243;obj_t BgL_arg1815z00_244;
BgL_arg1813z00_243 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Foreign/copaque.scm 54 */
obj_t BgL_arg1818z00_245;obj_t BgL_arg1821z00_246;
{ /* ./Foreign/copaque.scm 54 */
obj_t BgL_arg1824z00_247;obj_t BgL_arg1825z00_248;
BgL_arg1824z00_247 = 
CNST_TABLE_REF(((long)7)); 
{ /* ./Foreign/copaque.scm 54 */
obj_t BgL_auxz00_448;
BgL_auxz00_448 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg1825z00_248 = 
MAKE_PAIR(BgL_auxz00_448, BNIL); } 
BgL_arg1818z00_245 = 
MAKE_PAIR(BgL_arg1824z00_247, BgL_arg1825z00_248); } 
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1829z00_249;obj_t BgL_arg1830z00_250;
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1833z00_251;obj_t BgL_arg1836z00_252;
BgL_arg1833z00_251 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1839z00_253;obj_t BgL_arg1840z00_254;
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1843z00_255;obj_t BgL_arg1845z00_256;
BgL_arg1843z00_255 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_auxz00_454;
BgL_auxz00_454 = 
CNST_TABLE_REF(((long)8)); 
BgL_arg1845z00_256 = 
MAKE_PAIR(BgL_auxz00_454, BNIL); } 
BgL_arg1839z00_253 = 
MAKE_PAIR(BgL_arg1843z00_255, BgL_arg1845z00_256); } 
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1849z00_257;
{ /* ./Foreign/copaque.scm 55 */
obj_t BgL_arg1853z00_259;obj_t BgL_arg1854z00_260;
BgL_arg1853z00_259 = 
CNST_TABLE_REF(((long)11)); 
BgL_arg1854z00_260 = 
MAKE_PAIR(BgL_bidz00_180, BNIL); 
BgL_arg1849z00_257 = 
MAKE_PAIR(BgL_arg1853z00_259, BgL_arg1854z00_260); } 
BgL_arg1840z00_254 = 
MAKE_PAIR(BgL_arg1849z00_257, BNIL); } 
BgL_arg1836z00_252 = 
MAKE_PAIR(BgL_arg1839z00_253, BgL_arg1840z00_254); } 
BgL_arg1829z00_249 = 
MAKE_PAIR(BgL_arg1833z00_251, BgL_arg1836z00_252); } 
BgL_arg1830z00_250 = 
MAKE_PAIR(BFALSE, BNIL); 
BgL_arg1821z00_246 = 
MAKE_PAIR(BgL_arg1829z00_249, BgL_arg1830z00_250); } 
BgL_arg1815z00_244 = 
MAKE_PAIR(BgL_arg1818z00_245, BgL_arg1821z00_246); } 
BgL_arg1805z00_241 = 
MAKE_PAIR(BgL_arg1813z00_243, BgL_arg1815z00_244); } 
BgL_arg1761z00_223 = 
BGl_makezd2definezd2inlinez00zzforeign_libraryz00(BgL_arg1804z00_240, BgL_arg1805z00_241); } 
{ /* ./Foreign/copaque.scm 79 */
obj_t BgL_list1763z00_224;
{ /* ./Foreign/copaque.scm 79 */
obj_t BgL_arg1766z00_225;
BgL_arg1766z00_225 = 
MAKE_PAIR(BgL_arg1761z00_223, BNIL); 
BgL_list1763z00_224 = 
MAKE_PAIR(BgL_arg1760z00_222, BgL_arg1766z00_225); } 
return BgL_list1763z00_224;} } } } } } } } } } } } } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzforeign_copaquez00()
{ AN_OBJECT;
{ /* ./Foreign/copaque.scm 15 */
BGl_modulezd2initializa7ationz75zztools_miscz00(((long)64117), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zztype_toolsz00(((long)15091), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zzforeign_ctypez00(((long)51394), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zzforeign_accessz00(((long)13730), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zzforeign_libraryz00(((long)43975), "foreign_copaque"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "foreign_copaque"); 
return 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "foreign_copaque");} 
}

