

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_42(OBJ,OBJ);extern OBJ __ASeq_42;
extern OBJ _ACom_47(OBJ,OBJ);extern OBJ __ACom_47;
extern OBJ __AVoid_2;

#include "Char.h"

#include "Int.h"

#include "Denotation.h"

#include "NatConv.h"
extern OBJ _AComCompose_5(OBJ,OBJ);extern OBJ __AComCompose_5;
extern OBJ _AComCompose_6(OBJ,OBJ);extern OBJ __AComCompose_6;
extern OBJ _AComSeqReduce_4(OBJ,OBJ,OBJ);extern OBJ __AComSeqReduce_4;
extern OBJ _AOcStream_4(OBJ,OBJ,OBJ);extern OBJ __AOcStream_4;
extern OBJ _AOcStream_5(OBJ,OBJ,OBJ);extern OBJ __AOcStream_5;
extern OBJ _AOcStream_8(OBJ,OBJ,OBJ);extern OBJ __AOcStream_8;

#include "Real.h"

#include "Bitset.h"
extern OBJ _ABoxedText_2(OBJ);OBJ __ABoxedText_2; /* lines */
extern OBJ _ABoxedText_3(OBJ);OBJ __ABoxedText_3; /* lines? */
extern OBJ _ABoxedText_4(OBJ);OBJ __ABoxedText_4; /* lines,1 */
extern OBJ _ABoxedText_5(OBJ,OBJ,OBJ,OBJ);OBJ __ABoxedText_5; /* block */
extern OBJ _ABoxedText_6(OBJ);OBJ __ABoxedText_6; /* block? */
extern OBJ _ABoxedText_7(OBJ);OBJ __ABoxedText_7; /* cont */
extern OBJ _ABoxedText_8(OBJ);OBJ __ABoxedText_8; /* close */
extern OBJ _ABoxedText_9(OBJ);OBJ __ABoxedText_9; /* open */
extern OBJ _ABoxedText_10(OBJ);OBJ __ABoxedText_10; /* indent */
extern OBJ _ABoxedText_11(OBJ);OBJ __ABoxedText_11; /* words */
extern OBJ _ABoxedText_12(OBJ);OBJ __ABoxedText_12; /* words? */
extern OBJ _ABoxedText_13(OBJ);OBJ __ABoxedText_13; /* words,1 */
extern OBJ _ABoxedText_14(OBJ);OBJ __ABoxedText_14; /* word */
extern OBJ _ABoxedText_15(OBJ);OBJ __ABoxedText_15; /* word? */
extern OBJ _ABoxedText_16(OBJ);OBJ __ABoxedText_16; /* word,1 */
extern OBJ _ABoxedText_17(OBJ);OBJ __ABoxedText_17; /* lineNo */
extern OBJ _ABoxedText_18(OBJ);OBJ __ABoxedText_18; /* lineNo? */
extern OBJ _ABoxedText_19(OBJ);OBJ __ABoxedText_19; /* no */
extern OBJ _ABoxedText_20(OBJ,OBJ,OBJ);OBJ __ABoxedText_20; /* write */
extern OBJ _ABoxedText_39(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ABoxedText_39; /* putUnboxed */
extern OBJ _ABoxedText_40(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ABoxedText_40; /* putNextWord */
extern OBJ _ABoxedText_41(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ABoxedText_41; /* putLine */
extern OBJ _ABoxedText_42(OBJ);OBJ __ABoxedText_42; /* empty? */
extern OBJ _ABoxedText_43(OBJ,OBJ,OBJ,OBJ);OBJ __ABoxedText_43; /* putWrap */
extern OBJ _ABoxedText_44(OBJ,OBJ,OBJ);OBJ __ABoxedText_44; /* gen */
OBJ __ABoxedText_45; /* tabWidth */
OBJ __ABoxedText_46; /* putWrap'46 */
OBJ __ABoxedText_47; /* write'47 */
extern OBJ _ABoxedText_48(OBJ);OBJ __ABoxedText_48; /* write'48 */

extern OBJ _ABoxedText_2(OBJ x1) /* lines */
{OBJ r;
 PRD(1,4,r);FLD(r,1)=x1;
 return r;}

extern OBJ _ABoxedText_3(OBJ x1) /* lines? */
{OBJ r;
 if(ISTGPRD(x1,4)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ABoxedText_4(OBJ x1) /* lines,1 */
{OBJ r;
 if(ISTGPRD(x1,4)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection lines\'BoxedText:box->seq");}
 return r;}

extern OBJ _ABoxedText_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* block */
{OBJ r;
 PRD(4,3,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;FLD(r,4)=x4;
 return r;}

extern OBJ _ABoxedText_6(OBJ x1) /* block? */
{OBJ r;
 if(ISTGPRD(x1,3)){
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ABoxedText_7(OBJ x1) /* cont */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x5=FLD(x1,4);
   if(EXPRD(x1,1)){
    r=x5;
    FLD(x1,4)=NIL;DSPRD(x1);
   }else{
    CPPRD(x5,1);
    r=x5;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection cont\'BoxedText:box->box");}
 return r;}

extern OBJ _ABoxedText_8(OBJ x1) /* close */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x4=FLD(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FLD(x1,3)=NIL;DSPRD(x1);
   }else{
    CPPRD(x4,1);
    r=x4;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection close\'BoxedText:box->box");}
 return r;}

extern OBJ _ABoxedText_9(OBJ x1) /* open */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    CPPRD(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection open\'BoxedText:box->box");}
 return r;}

extern OBJ _ABoxedText_10(OBJ x1) /* indent */
{OBJ r;
 if(ISTGPRD(x1,3)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRD(x1);
   }else{
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection indent\'BoxedText:box->nat");}
 return r;}

extern OBJ _ABoxedText_11(OBJ x1) /* words */
{OBJ r;
 PRD(1,2,r);FLD(r,1)=x1;
 return r;}

extern OBJ _ABoxedText_12(OBJ x1) /* words? */
{OBJ r;
 if(ISTGPRD(x1,2)){
  if(EXPRD(x1,1)){
   FREE(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ABoxedText_13(OBJ x1) /* words,1 */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection words\'BoxedText:box->seq");}
 return r;}

extern OBJ _ABoxedText_14(OBJ x1) /* word */
{OBJ r;
 PRD(1,1,r);FLD(r,1)=x1;
 return r;}

extern OBJ _ABoxedText_15(OBJ x1) /* word? */
{OBJ r;
 if(ISTGPRD(x1,1)){
  if(EXPRD(x1,1)){
   FRPRD(FLD(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ABoxedText_16(OBJ x1) /* word,1 */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    CPPRD(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection word\'BoxedText:box->denotation");}
 return r;}

extern OBJ _ABoxedText_17(OBJ x1) /* lineNo */
{OBJ r;
 PRDF(1,0,r);FLD(r,1)=x1;
 return r;}

extern OBJ _ABoxedText_18(OBJ x1) /* lineNo? */
{OBJ r;
 if(ISTGPRD(x1,0)){
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FRPRD(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _ABoxedText_19(OBJ x1) /* no */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x2=FLD(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("BoxedText at <unknown> : undefined selection no\'BoxedText:box->nat");}
 return r;}

extern OBJ _ABoxedText_20(OBJ x1,OBJ x2,OBJ x3) /* write */
{OBJ r;
 CPCLS(__ABoxedText_48,1);
 CPPRD(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x4=_AOcStream_4(x1,x2,__AChar_7);
  x5=_ABoxedText_39(x1,x2,__ANat_5,x3,__ANat_5);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABoxedText_48,1))(__ABoxedText_48,__ABUILTIN_20);
  PRD(2,0,x7);FLD(x7,1)=x6;FLD(x7,2)=__ASeq_6;
  x8=_AComCompose_6(x5,x7);
  r=_AComCompose_6(x4,x8);}
 return r;}

extern OBJ _ABoxedText_39(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* putUnboxed */
{OBJ r;
 switch(TGPRD(x4)){
  case 3:
   {OBJ x122=FLD(x4,1);OBJ x123=FLD(x4,2);OBJ x124=FLD(x4,3);OBJ x125=FLD(x4,4);
    if(EXPRD(x4,1)){
     CPPRD(x124,1);
     DSPRDF(x4);
    }else{
     CPPRD(x123,1);CPPRD(x124,2);CPPRD(x125,1);
     FRPRD(x4,1);}
    {OBJ x126;OBJ x127;
     ANat_61(x3,x122,x126);
     x127=_ABoxedText_42(x124);
     CPPRD(x1,2);
     CPCLS(__ABoxedText_39,2);
     {OBJ x129;OBJ x128;OBJ x130;OBJ x131;
      x129=_ABoxedText_39(x1,x2,x3,x123,x5);
      x128=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_39,4))(__ABoxedText_39,x1,x2,x3,x124);
      x130=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_39,4))(__ABoxedText_39,x1,x2,x126,x125);
      x131=_AComCompose_5(x129,x130);
      r=_AComCompose_5(x131,x128);}}}break;
  case 4:
   {OBJ x136=FLD(x4,1);
    if(EXPRD(x4,1)){
     DSPRDF(x4);
    }else{
     COPY(x136,1);
     FRPRD(x4,1);}
    CPCLS(__ABoxedText_41,1);
    {OBJ x137;
     x137=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_41,3))(__ABoxedText_41,x1,x2,x3);
     r=_AComSeqReduce_4(x137,x5,x136);}}break;
  case 2:
   {OBJ x138=FLD(x4,1);
    if(EXPRD(x4,1)){
     DSPRDF(x4);
    }else{
     COPY(x138,1);
     FRPRD(x4,1);}
    CPCLS(__ABoxedText_40,1);
    {OBJ x139;
     x139=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_40,3))(__ABoxedText_40,x1,x2,x3);
     r=_AComSeqReduce_4(x139,x5,x138);}}break;
  case 0:
   {OBJ x140;FLAG x_x4=EXPRD(x4,1);
    if(x_x4){
    }else{
     x140=FLD(x4,1);}
    FRPRD(x1,1);
    CPCLS(__ACom_47,1);
    {OBJ x141;OBJ x142;
     if(x_x4){
      RPRDF(x4,x141);
     }else{
      FRPRD(x4,1);PRDF(1,0,x141);FLD(x141,1)=x140;}
     x142=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x141);
     PRD(2,0,r);FLD(r,1)=x142;FLD(r,2)=__ASeq_6;}}break;
  default: 
   {OBJ x117=FLD(x4,1);FLAG x_x4=EXPRD(x4,1);
    if(x_x4){
    }else{
     CPPRD(x117,1);}
    CPCLS(__ACom_47,1);
    {OBJ x118;OBJ x119;OBJ x120;OBJ x121;
     if(x_x4){
      RPRDF(x4,x118);CHGTG(x118,0);FLD(x118,1)=x5;
     }else{
      FRPRD(x4,1);PRDF(1,0,x118);FLD(x118,1)=x5;}
     x119=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x118);
     x120=_AOcStream_5(x1,x2,x117);
     PRD(2,0,x121);FLD(x121,1)=x119;FLD(x121,2)=__ASeq_6;
     r=_AComCompose_6(x120,x121);}}}
 return r;}

extern OBJ _ABoxedText_40(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* putNextWord */
{OBJ r;
 r=_ABoxedText_39(x1,x2,x3,x4,x5);
 return r;}

extern OBJ _ABoxedText_41(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* putLine */
{OBJ r;
 if(ISTGPRD(x4,4)){
  {OBJ x30=FLD(x4,1);
   if(EXPRD(x4,1)){
    DSPRDF(x4);
   }else{
    COPY(x30,1);
    FRPRD(x4,1);}
   CPCLS(__ABoxedText_41,1);
   {OBJ x31;
    x31=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_41,3))(__ABoxedText_41,x1,x2,x3);
    r=_AComSeqReduce_4(x31,x5,x30);}}
 }else{
  if(ISTGPRD(x4,0)){
   {OBJ x32;FLAG x_x4=EXPRD(x4,1);
    if(x_x4){
    }else{
     x32=FLD(x4,1);}
    FRPRD(x1,1);
    CPCLS(__ACom_47,1);
    {OBJ x33;OBJ x34;
     if(x_x4){
      RPRDF(x4,x33);
     }else{
      FRPRD(x4,1);PRDF(1,0,x33);FLD(x33,1)=x32;}
     x34=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x33);
     PRD(2,0,r);FLD(r,1)=x34;FLD(r,2)=__ASeq_6;}}
  }else{
   CPPRD(x4,1);
   {OBJ x35;
    x35=_ABoxedText_42(x4);
    if(ISTGPRM(x35,1)){
     FRPRD(x1,1);
     FRPRD(x4,1);
     CPCLS(__ACom_47,1);
     {OBJ x36;OBJ x37;
      PRDF(1,0,x36);FLD(x36,1)=x5;
      x37=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x36);
      PRD(2,0,r);FLD(r,1)=x37;FLD(r,2)=__ASeq_6;}
    }else{
     CPPRD(x1,1);
     CPCLS(__ABoxedText_39,1);
     {OBJ x38;OBJ x39;
      x38=_ABoxedText_43(x1,x2,x3,x5);
      x39=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__ABoxedText_39,4))(__ABoxedText_39,x1,x2,x3,x4);
      r=_AComCompose_5(x38,x39);}}}}}
 return r;}

extern OBJ _ABoxedText_42(OBJ x1) /* empty? */
{OBJ r;
 if(ISTGPRD(x1,2)){
  {OBJ x17=FLD(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x17,1);
    FRPRD(x1,1);}
   CPCLS(__ABoxedText_42,1);
   r=_ASeq_42(__ABoxedText_42,x17);}
 }else{
  if(ISTGPRD(x1,1)){
   {OBJ x18=FLD(x1,1);
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     CPPRD(x18,1);
     FRPRD(x1,1);}
    {OBJ x19;
     ADenotation_15(x18,x19);
     ANat_76(x19,__ANat_5,r);}}
  }else{
   if(ISTGPRD(x1,0)){
    if(EXPRD(x1,1)){
     DSPRDF(x1);
    }else{
     DCPRD(x1,1);}
    r=__ABUILTIN_5;
   }else{
    FRPRD(x1,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _ABoxedText_43(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* putWrap */
{OBJ r;
 CPCLS(__ACom_47,1);
 CPPRD(__ADenotation_3,1);
 CPPRD(x1,2);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x19;OBJ x20;
  ANat_81(x4,__ANat_5,x5);
  x6=_AOcStream_4(x1,x2,__AChar_7);
  ANat_64(x3,__ABoxedText_45,x7);
  ANat_66(x3,__ABoxedText_45,x8);
  PRDF(1,0,x9);FLD(x9,1)=x4;
  x10=_ABoxedText_44(__AChar_8,x8,__ADenotation_3);
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,x9);
  x12=_ABoxedText_44(__AChar_6,x7,x10);
  PRD(2,0,x13);FLD(x13,1)=x11;FLD(x13,2)=__ASeq_6;
  x14=_AOcStream_5(x1,x2,x12);
  if(ISTGPRM(x5,1)){
   CPPRD(x1,1);
   CPPRD(__ABoxedText_46,1);
   {OBJ x15;OBJ x16;OBJ x17;OBJ x18;
    x15=_AOcStream_5(x1,x2,__ABoxedText_46);
    ANatConv_1(x4,x16);
    x17=_AOcStream_8(x1,x2,x16);
    x18=_AComCompose_6(x15,x17);
    x19=_AComCompose_6(x6,x18);}
  }else{
   x19=x6;
   FRPRD(x1,1);}
  x20=_AComCompose_6(x14,x13);
  r=_AComCompose_6(x19,x20);}
 return r;}

extern OBJ _ABoxedText_44(OBJ x1,OBJ x2,OBJ x3) /* gen */
{OBJ r;
 {OBJ x4;
  ANat_81(x2,__ANat_5,x4);
  if(ISTGPRM(x4,1)){
   {OBJ x5;
    ADenotation_1(x2,x1,x5);
    ADenotation_4(x5,x3,r);}
  }else{
   r=x3;}}
 return r;}

extern OBJ _ABoxedText_48(OBJ x1) /* write'48 */
{OBJ r;
 CPPRD(__ABoxedText_47,1);
 CPCLS(__ACom_47,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__ACom_47,1))(__ACom_47,__ABoxedText_47);
 return r;}



static OBJ _mt_4_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

static OBJ _mt_4_3_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 return r;}
static OBJ _mt_4_3_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

static OBJ _mt_5_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

static OBJ _mt_5_0_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,4);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 return r;}

static OBJ _mt_5_3_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1,t2);
 return r;}

static OBJ _mt_5_4_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 return r;}
static OBJ _mt_5_4_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_ABoxedText()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_ASeq();
 init_ACom();
 init_AVoid();
 init_AStream();
 init_AOcOptions();
 init_AChar();
 init_AString();
 init_AFile();
 init_AInt();
 init_AOption();
 init_ADenotation();
 init_ANatConv();
 init_AComCompose();
 init_AComSeqReduce();
 init_AOcStream();
 init_AReal();
 init_ASeqMap();
 init_ATree();
 init_ABitset();
 init_APair();
 init_ASet();
 init_AMap();
 init_AMapReduce();
 init_ASeqReduce();
 init_ASetByBST();
 init_ABSTree();
 CLS(3,_ABoxedText_20,__ABoxedText_20);
 CLS(1,_ABoxedText_19,__ABoxedText_19);
 CLS(1,_ABoxedText_18,__ABoxedText_18);
 CLS(1,_ABoxedText_17,__ABoxedText_17);
 LCLS(1,_ABoxedText_48,__ABoxedText_48);
 CLS(1,_ABoxedText_16,__ABoxedText_16);
 CLS(1,_ABoxedText_15,__ABoxedText_15);
 DEN("#line ",__ABoxedText_46);
 CLS(1,_ABoxedText_14,__ABoxedText_14);
 CLS(1,_ABoxedText_13,__ABoxedText_13);
 CLS(1,_ABoxedText_12,__ABoxedText_12);
 CLS(3,_ABoxedText_44,__ABoxedText_44);
 CLS(1,_ABoxedText_11,__ABoxedText_11);
 CLS(4,_ABoxedText_43,__ABoxedText_43);
 CLS(1,_ABoxedText_10,__ABoxedText_10);
 CLS(1,_ABoxedText_42,__ABoxedText_42);
 CLS(1,_ABoxedText_9,__ABoxedText_9);
 CLS(5,_ABoxedText_41,__ABoxedText_41);
 CLS(1,_ABoxedText_8,__ABoxedText_8);
 CLS(5,_ABoxedText_40,__ABoxedText_40);
 CLS(1,_ABoxedText_7,__ABoxedText_7);
 CLS(5,_ABoxedText_39,__ABoxedText_39);
 CLS(1,_ABoxedText_6,__ABoxedText_6);
 CLS(4,_ABoxedText_5,__ABoxedText_5);
 CLS(1,_ABoxedText_4,__ABoxedText_4);
 CLS(1,_ABoxedText_3,__ABoxedText_3);
 CLS(1,_ABoxedText_2,__ABoxedText_2);
 MTH(4,0,3,_mt_4_0_3);LZYMTH(4,0,3,_mt_4_0_3);
 MTH(4,3,1,_mt_4_3_1);LZYMTH(4,3,1,_mt_4_3_1_l);
 MTH(5,0,3,_mt_5_0_3);LZYMTH(5,0,3,_mt_5_0_3);
 MTH(5,0,4,_mt_5_0_4);LZYMTH(5,0,4,_mt_5_0_4);
 MTH(5,3,2,_mt_5_3_2);LZYMTH(5,3,2,_mt_5_3_2);
 MTH(5,4,1,_mt_5_4_1);LZYMTH(5,4,1,_mt_5_4_1_l);
 __ABoxedText_45=__ANat_15;
 PRDF(1,0,__ABoxedText_47);FLD(__ABoxedText_47,1)=__AVoid_2;}

