

#include "BUILTIN.h"
extern OBJ _AMapByOS_32(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapByOS_32;
extern OBJ __ASeq_6;
extern OBJ _AString_57(OBJ);extern OBJ __AString_57;

#include "Nat.h"

#include "Char.h"
extern OBJ _APairConv_4(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __APairConv_4;
extern OBJ __ASetConv_11;
extern OBJ __ASetConv_12;
extern OBJ _AStringConv_1(OBJ);extern OBJ __AStringConv_1;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ _ASeqConv_5(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_5;
extern OBJ __ASeqConv_8;
extern OBJ _AMapByOSConv_4(OBJ,OBJ);OBJ __AMapByOSConv_4; /* asSeq */
extern OBJ _AMapByOSConv_5(OBJ,OBJ);OBJ __AMapByOSConv_5; /* asMap */
extern OBJ _AMapByOSConv_6(OBJ,OBJ,OBJ,OBJ);OBJ __AMapByOSConv_6; /* ` */
extern OBJ _AMapByOSConv_7(OBJ,OBJ,OBJ,OBJ);OBJ __AMapByOSConv_7; /* `,1 */
extern OBJ _AMapByOSConv_8(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMapByOSConv_8; /* `,2 */
extern OBJ _AMapByOSConv_9(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMapByOSConv_9; /* `,3 */
extern OBJ _AMapByOSConv_10(OBJ,OBJ);OBJ __AMapByOSConv_10; /* explode */
extern OBJ _AMapByOSConv_11(OBJ,OBJ);OBJ __AMapByOSConv_11; /* implode */
OBJ __AMapByOSConv_12; /* `'12 */
OBJ __AMapByOSConv_13; /* `'13 */

extern OBJ _AMapByOSConv_4(OBJ x1,OBJ x2) /* asSeq */
{OBJ r;
 FRCLS(x1,1);
 r=x2;
 return r;}

extern OBJ _AMapByOSConv_5(OBJ x1,OBJ x2) /* asMap */
{OBJ r;
 if(ISPRM(x2)){
  FRCLS(x1,1);
  r=__ASeq_6;
 }else{
  {OBJ x29=FLD1(x2,1);OBJ x30=FLD1(x2,2);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    CPPRD(x29,1);COPY(x30,1);
    FRPRD(x2,1);}
   CPCLS(x1,1);
   {OBJ x32;
    x32=_AMapByOSConv_5(x1,x30);
    {OBJ x33=FLD1(x29,1);OBJ x34=FLD1(x29,2);
     if(EXPRD(x29,1)){
      DSPRDF(x29);
     }else{
      COPY(x33,1);COPY(x34,1);
      FRPRD(x29,1);}
     r=_AMapByOS_32(x1,x33,x34,x32);}}}}
 return r;}

extern OBJ _AMapByOSConv_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* ` */
{OBJ r;
 CPPRD(__AMapByOSConv_12,2);
 CPPRD(__AMapByOSConv_13,1);
 CPCLS(__APairConv_4,1);
 CPPRD(__ASetConv_11,1);
 CPPRD(__ASetConv_12,1);
 CPPRD(__ASeqConv_8,1);
 FRCLS(x1,1);
 {OBJ x5;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__APairConv_4,5))(__APairConv_4,__AMapByOSConv_12,__AMapByOSConv_13,__AMapByOSConv_12,x2,x3);
  r=_ASeqConv_3(__ASetConv_11,__ASeqConv_8,__ASetConv_12,x5,x4);}
 return r;}

extern OBJ _AMapByOSConv_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* `,1 */
{OBJ r;
 CPPRD(__AMapByOSConv_12,2);
 CPPRD(__AMapByOSConv_13,1);
 CPCLS(__AString_57,1);
 CPCLS(__APairConv_4,1);
 CPPRD(__ASetConv_11,1);
 CPPRD(__ASetConv_12,1);
 CPCLS(__AStringConv_1,2);
 CPCLS(__ACompose_4,3);
 CPPRD(__ASeqConv_8,1);
 FRCLS(x1,1);
 {OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AStringConv_1,x2);
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AStringConv_1,x3);
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__APairConv_4,5))(__APairConv_4,__AMapByOSConv_12,__AMapByOSConv_13,__AMapByOSConv_12,x5,x6);
  x8=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AString_57,x7);
  r=_ASeqConv_5(__ASetConv_11,__ASeqConv_8,__ASetConv_12,x8,x4);}
 return r;}

extern OBJ _AMapByOSConv_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* `,2 */
{OBJ r;
 CPPRD(__AMapByOSConv_12,2);
 CPCLS(__APairConv_4,1);
 FRCLS(x1,1);
 {OBJ x9;
  x9=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__APairConv_4,5))(__APairConv_4,__AMapByOSConv_12,x2,__AMapByOSConv_12,x6,x7);
  r=_ASeqConv_3(x3,x4,x5,x9,x8);}
 return r;}

extern OBJ _AMapByOSConv_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* `,3 */
{OBJ r;
 CPPRD(__AMapByOSConv_12,2);
 CPCLS(__AString_57,1);
 CPCLS(__APairConv_4,1);
 CPCLS(__AStringConv_1,2);
 CPCLS(__ACompose_4,3);
 FRCLS(x1,1);
 {OBJ x9;OBJ x10;OBJ x11;OBJ x12;
  x9=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AStringConv_1,x6);
  x10=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AStringConv_1,x7);
  x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__APairConv_4,5))(__APairConv_4,__AMapByOSConv_12,x2,__AMapByOSConv_12,x9,x10);
  x12=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AString_57,x11);
  r=_ASeqConv_5(x3,x4,x5,x12,x8);}
 return r;}

extern OBJ _AMapByOSConv_10(OBJ x1,OBJ x2) /* explode */
{OBJ r;
 FRCLS(x1,1);
 r=x2;
 return r;}

extern OBJ _AMapByOSConv_11(OBJ x1,OBJ x2) /* implode */
{OBJ r;
 r=_AMapByOSConv_5(x1,x2);
 return r;}

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

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

static OBJ _mt_8_0_7(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,7);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 FLDCLS(r,7)=t7;
 return r;}

static OBJ _mt_8_1_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,1);
 FLDCLS(r,2)=t1;
 return r;}

static OBJ _mt_8_1_4(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,4);
 FLDCLS(r,2)=t1;
 FLDCLS(r,3)=t2;
 FLDCLS(r,4)=t3;
 FLDCLS(r,5)=t4;
 return r;}

static OBJ _mt_8_1_6(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,6);
 FLDCLS(r,2)=t1;
 FLDCLS(r,3)=t2;
 FLDCLS(r,4)=t3;
 FLDCLS(r,5)=t4;
 FLDCLS(r,6)=t5;
 FLDCLS(r,7)=t6;
 return r;}

static OBJ _mt_8_2_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);}
 INCCLS(r,2,3);
 FLDCLS(r,3)=t1;
 FLDCLS(r,4)=t2;
 FLDCLS(r,5)=t3;
 return r;}

static OBJ _mt_8_2_5(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);}
 INCCLS(r,2,5);
 FLDCLS(r,3)=t1;
 FLDCLS(r,4)=t2;
 FLDCLS(r,5)=t3;
 FLDCLS(r,6)=t4;
 FLDCLS(r,7)=t5;
 return r;}

static OBJ _mt_8_2_6(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),t1,t2,t3,t4,t5,t6);
 return r;}

static OBJ _mt_8_5_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  FLDCLS(r,2)=FLDCLS(t,2);
  FLDCLS(r,3)=FLDCLS(t,3);
  FLDCLS(r,4)=FLDCLS(t,4);
  FLDCLS(r,5)=FLDCLS(t,5);
  COPY(FLDCLS(r,1),1);
  COPY(FLDCLS(r,2),1);
  COPY(FLDCLS(r,3),1);
  COPY(FLDCLS(r,4),1);
  COPY(FLDCLS(r,5),1);}
 INCCLS(r,5,2);
 FLDCLS(r,6)=t1;
 FLDCLS(r,7)=t2;
 return r;}

static OBJ _mt_8_5_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{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);
  COPY(FLDCLS(t,5),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),t1,t2,t3);
 return r;}

static OBJ _mt_8_7_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);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  COPY(FLDCLS(t,7),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),FLDCLS(t,7),t1);
 return r;}
static OBJ _mt_8_7_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),FLDCLS(t,7),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;FLDCLS(t,5)=NIL;FLDCLS(t,6)=NIL;FLDCLS(t,7)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AMapByOSConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_AMapByOS();
 init_ASeq();
 init_APair();
 init_AString();
 init_ANat();
 init_AChar();
 init_AOption();
 init_ASet();
 init_APairConv();
 init_ASetConv();
 init_AStringConv();
 init_ACompose();
 init_ASeqConv();
 init_ASeqMap();
 init_AStringMapSeq();
 DEN(" -> ",__AMapByOSConv_13);
 DEN("",__AMapByOSConv_12);
 CLS(2,_AMapByOSConv_11,__AMapByOSConv_11);
 CLS(2,_AMapByOSConv_10,__AMapByOSConv_10);
 CLS(8,_AMapByOSConv_9,__AMapByOSConv_9);
 CLS(8,_AMapByOSConv_8,__AMapByOSConv_8);
 CLS(4,_AMapByOSConv_7,__AMapByOSConv_7);
 CLS(4,_AMapByOSConv_6,__AMapByOSConv_6);
 CLS(2,_AMapByOSConv_5,__AMapByOSConv_5);
 CLS(2,_AMapByOSConv_4,__AMapByOSConv_4);
 MTH(8,0,2,_mt_8_0_2);LZYMTH(8,0,2,_mt_8_0_2);
 MTH(8,0,5,_mt_8_0_5);LZYMTH(8,0,5,_mt_8_0_5);
 MTH(8,0,7,_mt_8_0_7);LZYMTH(8,0,7,_mt_8_0_7);
 MTH(8,1,1,_mt_8_1_1);LZYMTH(8,1,1,_mt_8_1_1);
 MTH(8,1,4,_mt_8_1_4);LZYMTH(8,1,4,_mt_8_1_4);
 MTH(8,1,6,_mt_8_1_6);LZYMTH(8,1,6,_mt_8_1_6);
 MTH(8,2,3,_mt_8_2_3);LZYMTH(8,2,3,_mt_8_2_3);
 MTH(8,2,5,_mt_8_2_5);LZYMTH(8,2,5,_mt_8_2_5);
 MTH(8,2,6,_mt_8_2_6);LZYMTH(8,2,6,_mt_8_2_6);
 MTH(8,5,2,_mt_8_5_2);LZYMTH(8,5,2,_mt_8_5_2);
 MTH(8,5,3,_mt_8_5_3);LZYMTH(8,5,3,_mt_8_5_3);
 MTH(8,7,1,_mt_8_7_1);LZYMTH(8,7,1,_mt_8_7_1_l);}

