

#include "BUILTIN.h"
extern OBJ _ACom_23(OBJ);extern OBJ __ACom_23;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;

#include "Nat.h"
extern OBJ __ASeq_6;

#include "Char.h"
extern OBJ _AFile_12(OBJ,OBJ);extern OBJ __AFile_12;
extern OBJ _AFile_14(OBJ);extern OBJ __AFile_14;

#include "Int.h"
extern OBJ _ABinFile_2(OBJ,OBJ,OBJ);extern OBJ __ABinFile_2;
extern OBJ _ABinFile_3(OBJ,OBJ);extern OBJ __ABinFile_3;
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _ABinStream_2(OBJ);OBJ __ABinStream_2; /* openBin */
extern OBJ _ABinStream_3(OBJ);OBJ __ABinStream_3; /* createBin */
extern OBJ _ABinStream_4(OBJ);OBJ __ABinStream_4; /* appendBin */
extern OBJ _ABinStream_5(OBJ,OBJ,OBJ);OBJ __ABinStream_5; /* write */
extern OBJ _ABinStream_6(OBJ,OBJ,OBJ);OBJ __ABinStream_6; /* store */
extern OBJ _ABinStream_7(OBJ,OBJ);OBJ __ABinStream_7; /* read */
extern OBJ _ABinStream_8(OBJ,OBJ);OBJ __ABinStream_8; /* load */
OBJ __ABinStream_9; /* openBin'9 */
extern OBJ _ABinStream_10(OBJ);OBJ __ABinStream_10; /* openBin'10 */
OBJ __ABinStream_11; /* createBin'11 */
extern OBJ _ABinStream_12(OBJ);OBJ __ABinStream_12; /* createBin'12 */
OBJ __ABinStream_13; /* appendBin'13 */
extern OBJ _ABinStream_14(OBJ);OBJ __ABinStream_14; /* appendBin'14 */
extern OBJ _ABinStream_15(OBJ,OBJ);OBJ __ABinStream_15; /* store'15 */
extern OBJ _ABinStream_16(OBJ,OBJ,OBJ);OBJ __ABinStream_16; /* store'16 */
extern OBJ _ABinStream_17(OBJ,OBJ);OBJ __ABinStream_17; /* load'17 */
extern OBJ _ABinStream_18(OBJ,OBJ);OBJ __ABinStream_18; /* load'18 */
extern OBJ _ABinStream_19(OBJ,OBJ);OBJ __ABinStream_19; /* load'19 */

extern OBJ _ABinStream_2(OBJ x1) /* openBin */
{OBJ r;
 CPPRD(__ABinStream_9,1);
 CPCLS(__ABinStream_10,1);
 {OBJ x2;
  x2=_AFile_12(x1,__ABinStream_9);
  r=_AComCompose_5(x2,__ABinStream_10);}
 return r;}

extern OBJ _ABinStream_3(OBJ x1) /* createBin */
{OBJ r;
 CPPRD(__ABinStream_11,1);
 CPCLS(__ABinStream_12,1);
 {OBJ x2;
  x2=_AFile_12(x1,__ABinStream_11);
  r=_AComCompose_5(x2,__ABinStream_12);}
 return r;}

extern OBJ _ABinStream_4(OBJ x1) /* appendBin */
{OBJ r;
 CPPRD(__ABinStream_13,1);
 CPCLS(__ABinStream_14,1);
 {OBJ x2;
  x2=_AFile_12(x1,__ABinStream_13);
  r=_AComCompose_5(x2,__ABinStream_14);}
 return r;}

extern OBJ _ABinStream_5(OBJ x1,OBJ x2,OBJ x3) /* write */
{OBJ r;
 r=_ABinFile_2(x1,x2,x3);
 return r;}

extern OBJ _ABinStream_6(OBJ x1,OBJ x2,OBJ x3) /* store */
{OBJ r;
 CPPRD(__ABinStream_11,1);
 CPCLS(__ABinStream_16,1);
 {OBJ x4;OBJ x5;
  x4=_AFile_12(x1,__ABinStream_11);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ABinStream_16,2))(__ABinStream_16,x2,x3);
  r=_AComCompose_5(x4,x5);}
 return r;}

extern OBJ _ABinStream_7(OBJ x1,OBJ x2) /* read */
{OBJ r;
 r=_ABinFile_3(x1,x2);
 return r;}

extern OBJ _ABinStream_8(OBJ x1,OBJ x2) /* load */
{OBJ r;
 CPPRD(__ABinStream_9,1);
 CPCLS(__ABinStream_19,1);
 {OBJ x3;OBJ x4;
  x3=_AFile_12(x1,__ABinStream_9);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABinStream_19,1))(__ABinStream_19,x2);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ABinStream_10(OBJ x1) /* openBin'10 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x2;OBJ x3;
  PRDF(1,0,x2);FLD(x2,1)=x1;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
  PRD(2,0,r);FLD(r,1)=x3;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _ABinStream_12(OBJ x1) /* createBin'12 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x2;OBJ x3;
  PRDF(1,0,x2);FLD(x2,1)=x1;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
  PRD(2,0,r);FLD(r,1)=x3;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _ABinStream_14(OBJ x1) /* appendBin'14 */
{OBJ r;
 CPCLS(__ACom_47,1);
 {OBJ x2;OBJ x3;
  PRDF(1,0,x2);FLD(x2,1)=x1;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x2);
  PRD(2,0,r);FLD(r,1)=x3;FLD(r,2)=__ASeq_6;}
 return r;}

extern OBJ _ABinStream_15(OBJ x1,OBJ x2) /* store'15 */
{OBJ r;
 r=_AFile_14(x1);
 return r;}

extern OBJ _ABinStream_16(OBJ x1,OBJ x2,OBJ x3) /* store'16 */
{OBJ r;
 CPCLS(__ABinStream_15,1);
 {OBJ x4;OBJ x5;
  x4=_ABinFile_2(x3,x1,x2);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABinStream_15,1))(__ABinStream_15,x3);
  r=_AComCompose_5(x4,x5);}
 return r;}

extern OBJ _ABinStream_17(OBJ x1,OBJ x2) /* load'17 */
{OBJ r;
 r=_ACom_23(x1);
 return r;}

extern OBJ _ABinStream_18(OBJ x1,OBJ x2) /* load'18 */
{OBJ r;
 CPCLS(__ABinStream_17,1);
 {OBJ x3;OBJ x4;
  x3=_AFile_14(x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABinStream_17,1))(__ABinStream_17,x2);
  r=_AComCompose_5(x3,x4);}
 return r;}

extern OBJ _ABinStream_19(OBJ x1,OBJ x2) /* load'19 */
{OBJ r;
 CPCLS(__ABinStream_18,1);
 {OBJ x3;OBJ x4;
  x3=_ABinFile_3(x2,x1);
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABinStream_18,1))(__ABinStream_18,x2);
  r=_AComCompose_5(x3,x4);}
 return r;}

init_ABinStream()
{
 static int visited=0; if(visited) return; visited=1;
 init_AVoid();
 init_AString();
 init_AStream();
 init_ACom();
 init_ANat();
 init_ASeq();
 init_AOption();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ABinFile();
 init_AComCompose();
 init_ASeqMap();
 init_AEQUALITY();
 CLS(2,_ABinStream_19,__ABinStream_19);
 CLS(2,_ABinStream_18,__ABinStream_18);
 CLS(2,_ABinStream_17,__ABinStream_17);
 CLS(3,_ABinStream_16,__ABinStream_16);
 CLS(2,_ABinStream_15,__ABinStream_15);
 CLS(1,_ABinStream_14,__ABinStream_14);
 DEN("ab",__ABinStream_13);
 CLS(1,_ABinStream_12,__ABinStream_12);
 DEN("wb",__ABinStream_11);
 CLS(1,_ABinStream_10,__ABinStream_10);
 DEN("rb",__ABinStream_9);
 CLS(2,_ABinStream_8,__ABinStream_8);
 CLS(2,_ABinStream_7,__ABinStream_7);
 CLS(3,_ABinStream_6,__ABinStream_6);
 CLS(3,_ABinStream_5,__ABinStream_5);
 CLS(1,_ABinStream_4,__ABinStream_4);
 CLS(1,_ABinStream_3,__ABinStream_3);
 CLS(1,_ABinStream_2,__ABinStream_2);}

