      INTEGER LINE(133),OUTBUF(1024),C,FILLC0
      INTEGER IN,OUT,ROW,COL,MASK,OUTWI0,NEXTIN
      INTEGER GETLIN
      INTEGER MASKS(3,96)
      INTEGER AAAAA0(5)
      DATA MASKS/0,0,0,4228,132,4,10570,0,0,32074,11242,10,6084,16014,4,
     *8803,25668,24,5282,9890,22,1090,0,0,2184,4162,8,8322,4360,2,15012,
     *21956,4,4224,4255,0,0,2048,34,0,31,0,0,0,2,8704,1092,0,26158,18037
     *,14,4292,4228,14,16942,1100,31,8735,17932,14,10632,9193,8,15423,17
     *936,14,1582,17967,14,8735,2116,2,17966,17966,14,17966,17950,14,0,2
     *050,0,0,2050,34,2184,4161,8,31744,992,0,8322,4368,2,8750,132,4,261
     *58,1461,30,17732,18417,17,17967,17967,15,1582,17441,14,17967,17969
     *,15,1087,1071,31,1087,1071,1,1086,18209,30,17969,17983,17,4238,422
     *8,14,16912,17936,14,5425,9379,17,1057,1057,31,22385,17973,17,20017
     *,18229,17,17966,17969,14,17967,1071,1,17966,9905,22,17967,9391,17,
     *1582,17934,14,4255,4228,4,17969,17969,14,17969,10801,4,17969,28341
     *,17,10801,17732,17,10801,4228,4,8735,1092,31,2142,2114,30,2080,166
     *44,0,8463,8456,15,21956,4228,4,0,0,992,16648,0,0,14336,18384,30,15
     *393,17969,15,30720,1057,30,31248,17969,30,14336,2033,14,4232,4238,
     *4,14336,17969,14878,15393,17969,17,6148,4228,14,128,4228,2180,1849
     *8,10442,18,4230,4228,14,11264,22197,21,15360,17969,17,14336,17969,
     *14,15360,17969,1071,30720,17969,16926,26624,2118,2,30720,16833,15,
     *14468,4228,8,17408,17969,30,17408,10801,4,17408,22065,10,17408,103
     *78,17,17408,17969,14878,31744,2184,31,4248,4226,24,4228,4228,4,422
     *7,4232,3,2048,277,0,32767,32767,31/
      DATA AAAAA0/170,243,170,238,0/
      CALL GETOP0(FILLC0,OUTWI0)
10000 IF((GETLIN(LINE,-10).EQ.-1))GOTO 10001
        NEXTIN=1
10002     ROW=0
          GOTO 10005
10003     ROW=ROW+(1)
10005     IF((ROW.GE.9))GOTO 10004
            DO 10006 COL=1,OUTWI0
              OUTBUF(COL)=160
10006       CONTINUE
10007       OUT=1
            IN=NEXTIN
            GOTO 10010
10008       IN=IN+(1)
10010       IF((LINE(IN).EQ.0))GOTO 10009
              C=LINE(IN)
              IF((C.NE.136))GOTO 10011
                OUT=OUT-(5+1)
                GOTO 10008
10011           IF((C.GE.160))GOTO 10012
                  GOTO 10008
10012             MASK=RS(MASKS(ROW/3+1,C-160+1),MOD(ROW,3)*5)
              IF((0.GE.OUT))GOTO 10013
              IF((OUT.GT.OUTWI0-5))GOTO 10013
                DO 10014 COL=1,5
                  IF((AND(MASK,1).EQ.0))GOTO 10016
                    OUTBUF(OUT)=FILLC0
10016             OUT=OUT+(1)
                  MASK=RS(MASK,1)
10014           CONTINUE
10015           OUT=OUT+(1)
                GOTO 10017
10013           GOTO 10009
10017       GOTO 10008
10009       OUTBUF(OUTWI0+1)=0
            CALL STRIM(OUTBUF)
            CALL PRINT(-11,AAAAA0,OUTBUF)
          GOTO 10003
10004     NEXTIN=IN
          DO 10018 ROW=1,3
            CALL PUTCH(138,-11)
10018     CONTINUE
10019   CONTINUE
        IF((LINE(NEXTIN).NE.0))GOTO 10002
      GOTO 10000
10001 CALL SWT
      END
      SUBROUTINE GETOP0(FILLC0,OUTWI0)
      INTEGER FILLC0
      INTEGER OUTWI0
      INTEGER A$BUF(200)
      INTEGER PARSCL
      INTEGER AAAAB0(11)
      INTEGER AAAAC0(40)
      DATA AAAAB0/227,188,242,243,190,247,188,242,233,190,0/
      DATA AAAAC0/213,243,225,231,229,186,160,226,236,239,227,235,160,25
     *1,160,173,227,160,188,227,232,225,242,190,160,252,160,173,247,160,
     *188,247,233,228,244,232,190,160,253,0/
      IF((PARSCL(AAAAB0,A$BUF).NE.-3))GOTO 10020
        CALL ERROR(AAAAC0)
10020 IF((A$BUF(227-225+1).EQ.0))GOTO 10021
        FILLC0=A$BUF(A$BUF(227-225+27))
        GOTO 10022
10021   FILLC0=170
10022 IF((A$BUF(247-225+1).EQ.0))GOTO 10023
        OUTWI0=A$BUF(247-225+27)
        GOTO 10024
10023   OUTWI0=75
10024 RETURN
      END
C ---- Long Name Map ----
C fillchar                       fillc0
C getoptions                     getop0
C outwidth                       outwi0