P         $PROC     *1
FORK$*    $NAME     'FORK$'
TFORK$*   $NAME     'TFORK$'
          $DO       P(1)>0 , ;
          LA        12,+(OPT$$ +($GFORM 6,P(1,4),6,P(1,3),6,P(1,2),18,P(1,1)))
FORK$P*   $NAME     *'FORK$'
TFORK$P*  $NAME     *'TFORK$'
          $DO       (P(0,0)='TFORK$')**(P(0)>1) , LA 13,+(EQUF$ P(0),1,*1)
          $DO       P(0,*0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          ER        [P(0,0)]
          $END
P         $PROC     0,1
EXIT$*    $NAME     'EXIT$'
ERR$*     $NAME     'ERR$'
ABORT$*   $NAME     'ABORT$'
EABT$*    $NAME     'EABT$'
XCTS$*    $NAME     'XCTS$'
          ER        [P(0,0)]
          $END
P         $PROC     *1
ACSF$P*   $NAME     'ACSF$'
CSF$P*    $NAME     'CSF$'
          $DO       P(1)>0 , LA  12,+(EQUF$ P(1),1)
          ER        [P(0,0)]
          DO        1 , $END
ACSF$*    $NAME     *'ACSF$'
CSF$*     $NAME     'CSF$'
          $DO       P(1)=1 , LA  12,+(EQUF$ P(1),1,2)
          $DO       (P(1)>1)**(P(1,2)=14+7*P(0,*0)) , LA,14  12,P(1,1)
          $DO       (P(1)>1)**(P(1,2)<>14+7*P(0,*0)) , LA  12,(P(1,2),P(1,1))
          ER        [P(0,0)]
          $END
P         $PROC     *1
CSF$S*    $NAME     0
          LA        12,($SL(P(1,1))//6,($CFS(P(1,1))L))
          ER        CSF$
          $DO       1 , $END
ACSF$S*   $NAME     0
          LA        12,($SL(P(1,1))//4,($CAS(P(1,1))L))
          ER        ACSF$
          $END
P         $PROC     *1
AWAIT$*   $NAME     0
AWAIT$P*  $NAME     1
BA        $EQU      $BA(P(1,1))
          $DO       P(0,0)+P(1)+(\BA(0)) ,;
P(2)      $EQU      +(EQUF$ P(1),1)
          $DO       P(0,0)+($AP(P(2))>1*/16-1)+P(1)>1 , LA 12,P(2)
          $DO       (P(1)=1)**(\P(0,0))**($AP(P(2))<1*/16) , ;
          LA        12,+(OPT$$ P(1,1))
          ER        AWAIT$
          $END
P         $PROC     *1
NAME$*    $NAME     0
NAME$P*   $NAME     1
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,1-P(0,0))
          ER        NAME$
          $END
          $PROC     0,1
IDENT$*   $NAME
          ER        IDENT$
          $END
P         $PROC     *1
INT$*     $NAME     'INT$'
INT$P*    $NAME     'INT$'
          $DO       P(0)>1 , LA 13,+(EQUF$ P(0))
ACT$*     $NAME     'ACT$'
ACT$P*    $NAME     'ACT$'
          $DO       P(1)>0 , LA  12,+(EQUF$ P(1),1)
          ER        [P(0,0)]
          $END
P         $PROC     0,1
DACT$*    $NAME     0
          ER        DACT$
          $END
P         $PROC     0,1
TCELL$*   $NAME     *47
TSQRG$*   $NAME     'TSQRG$'
TSQCL$*   $NAME     'TSQCL$'
          $DO       P(0,*0) , $GFORM 6,0,6,P(0,0),6,0,18,0
          $DO       \P(0,*0) , ER  [P(0,0)]
          $END
P         $PROC     *1
CTS$*     $NAME     'CTS$'
CTSA$*    $NAME     'CTSA$'
          $IF       P(1)>0
          SZ,13     P(1,1),P(1,2)
          TZ,1      P(1,1),P(1,2)
          $ENDF
          ER        [P(0,0)]
          $END
P         $PROC     *1
CTSQ$*    $NAME     0
          $DO       P(1)>0 , NOP  0,+(EQUF$ P(1),1)
          ER        CTSQ$
          $END
P         $PROC     *1
RT$*      $NAME     1
RT$P*     $NAME     0
          $DO       P(1)>0 , LA  12,+(EQUF$ P(1),1,P(0,0))
          ER        RT$
          $END
P         $PROC     0,1
NRT$*     $NAME     0
          ER        NRT$
          $END
P         $PROC     *1
TWAIT$*   $NAME     1
TWAIT$P*  $NAME     0
          $DO       P(1)>0 , LA  13,+(EQUF$ P(1),1,P(0,0))
          ER        TWAIT$
          $END
          $PROC     0,1
SWAIT$*   $NAME     'SWAIT$'
SWTCH$*   $NAME     'SWTCH$'
          ER        [P(0,0)]
          $END
P         $PROC     *1
SETC$*    $NAME     1
SETC$P*   $NAME     0
          $DO       P(1)>0 , LA  12,+(EQUF$ P(1),1,P(0,0))
          ER        SETC$
          $END
P         $PROC     0,1
COND$*    $NAME
          ER        COND$
          $END
P         $PROC     0,1
DATE$*    $NAME     'DATE$'
TDATE$*   $NAME     'TDATE$'
TIME$*    $NAME     'TIME$'
          ER        [P(0,0)]
          $END
P         $PROC     *1
MCORE$*   $NAME     *'MCORE$'
LCORE$*   $NAME     *'LCORE$'
MCORE$P*  $NAME     'MCORE$'
LCORE$P*  $NAME     'LCORE$'
          $DO       P(1)>0 , LA  12,+(EQUF$ P(1),1,2*P(0,*0))
          $DO       P(0)>1 , LXI 12,+(EQUF$ P(0),1,*P(0,*0))
          ER        [P(0,0)]
          $END
P         $PROC     *1
PSR$*     $NAME     0
PSR$P*    $NAME     1
          $DO       P(0,0)+P(1)+($IBITS(P(1,1))**(1*/4))>1 ,;
P(2)      $EQU      +(EQUF$ P(1),1)
          $DO       P(0,0)+($AP(P(2))>1*/16-1)+P(1)>1 , LA 12,P(2)
          $DO       (P(1)=1)**(\P(0,0))**($AP(P(2))<1*/16) , ;
          LA        12,+(OPT$$ P(1,1))
          ER        PSR$
          $END
P         $PROC     *1
BANK$*    $NAME     0
          $DO       P(1)>0 ,P(2) $EQU +(EQUF$ P(1),1)
          $DO    ($AP(P(2))>1*/16-1)++(P(0,1)=P(0)-1)**1-P(0,*1)**(P(1)>0) , ;
          LA        12,+(EQUF$  P(1),1,2-P(0,*1))
          $DO       (($AP(P(2))>1*/16-1)++(\P(1)))**P(0,*1) , ;
          LXI,14    12,1*/17+P(0,1)
          $DO       (\P(0,*1))**(P(0)>1)**((P(1)=0)++($AP(P(2))>1*/16-1)) , ;
          LXI       12,+(EQUF$ P(0),1,*1)
          $DO    (1-(P(0,1)=P(0)-1)++P(0,*1))**(P(1)>0)**($AP(P(2))<1*/16) , ;
          LA        12,(1*/17*P(0,*1)+P(0,1),P(2))
BANK$P*   $NAME     1
          $DO       P(0,0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          ER        BANK$
          $END
P         $PROC     *255
INFO$*    $NAME     0
          $DO       P>1 , LA 12,(2*P-1,$LCV(CTL$BNK(0)))
          ER        INFO$
$(CTL$BNK(0))
INFO$PKT* $NAME     1
          $DO       P(0,1)*P(0,0) , + 0D
LEN(1)    $EQU      2
LEN(2)    $EQU      1
LEN(3)    $EQU      2
LEN(4)    $EQU      1
LEN(5)    $EQU      1
LEN(6)    $EQU      1
LEN(7)    $EQU      7
I         $DO       P-1 , ;
          $GFORM    12,P(I,1),24,0,2,0,16,LEN(P(I,1))*(P(I)<3)+P(I,3),18,P(I,2)
I         $DO       P(0,2)*P(0,0) , + 0D
          $DO       P(0,0)=0 ,$($ILCN)
          END
P         $PROC     *1
INFO$P*   $NAME
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1) )
          ER        INFO$
          $END
          $PROC     *0,1
OPT$*     $NAME
          ER        OPT$
          $END
P         $PROC     *1
PCT$*     $NAME     0
PCT$P*    $NAME     1
          $IF       P(0,0)
          $DO       P(1)>0 , DL  12,+(EQUF$ P(1),1)
          $ELSE
LG        $EQU      P(1,2)+(P(1)<2)
          $DO       (P(0)>1)**(P(1)>0) , LA,14  12,P(1,1)
          $DO       P(0)>1 , LA  13,(LG,P(0,1))
          $DO       (P(0)=1)**(P(1)>0) , LA 12,(LG,P(1,1))
          $ENDF
          ER        PCT$
          $END
P         $PROC     *1
MCT$*     $NAME     0
MCT$P*    $NAME     1
          $DO       P(0,0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1,2)
          $DO       (\P(0,0))**(P(1)>0) , ;
          LA,14     12,(MCT$PKT P(1,1),P(1,2),P(1,3),P(1,4)+(P(1)=3))
          ER        MCT$
          $END
P         $PROC     *1
MCT$PKT*  $NAME
          $IF       P(1,2)=3
          $GFORM    12,0,6,P(1,2),18,P(1,1),18,P(1,4)+(P(1)=3),18,P(1,3)
          $ELSE
          $GFORM    12,0,6,P(1,2),18,P(1,1)
          $ENDF
          $END
P         $PROC     *1
IALL$*    $NAME     0
A(1)      $EQU      'IOPR'
A(2)      $EQU      'IGDM'
A(3)      $EQU      'IFOF'
A(4)      $EQU      'IFUF'
A(5)      $EQU      'IDOF'
A(6)      $EQU      'IRST'
A(7)      $EQU      'IABT'
A(8)      $EQU      'IINT'
A(9)      $EQU      'ITS'
A(10)     $EQU      'ERR$'
A(11)     $EQU      'IAI'               INTER ACTIVITY INTERRUPT
A(12)     $EQU      'BRKPT'
A(13)     $EQU      'PARITY'
A(14)     $EQU      'TIME'
A(15)     $EQU      'TERM'
C         $EQU      16                  FIRST APPLICATION SUBSCRIPT
A(C)      $EQU      *'PGM'
A(C+1)    $EQU      *'PROGRAM'
A(C+2)    $EQU      *'ACT'
A(C+3)    $EQU      *'ACTIVITY'
A(C+4)    $EQU      *'ESI'
A(C+5)    $EQU      *'ESI'
A(C+6)    $EQU      *'CDB'
A(C+7)    $EQU      *'COMMON'
B(0)      $EQU      (P(1)=2)+2*(P(1)=3)
I         $DO       B(0) ,J $DO A , $DO P(1,I+1)=A(J) ,B(0) $EQU 0
I         $DO       B(0) ,B(I-1) $EQU P(1,I+1)
I         $DO       P(1)-(P(1)>0) ,J $DO A , $DO P(1,I+1)=A(J) ,;
B(A(*J))  $EQU      B(A(*J))++1*/((J-C*A(*J))*/-A(*J)-1)
DP        $EQU      (B(0)<0)++(B(0)>1*/12-1)
          $IF       DP
IF        $FORM     12,6,18,18,18
          $ELSE
IF        $FORM     12,6,18
          $ENDF
          $DO       DP , DL 12,(IF ,B(1),P(1,1),,B(0))
          $DO       (P(1)>0)**1-DP , LA 12,(IF B(0),B(1),P(1,1))
          ER        IALL$
          $END
P         $PROC     *1
IALL$P*   $NAME     1
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1)
          ER        IALL$
          $END
P         $PROC     0,1
CEND$*    $NAME     'CEND$'
CRTN$*    $NAME     'CRTN$'
          ER        [P(0,0)]
          $END
P         PROC      *1
CQUE$*    NAME
F         FORM      6,4,4,4,6,6,6
          DO        P(1)>0 , F 8,14,,,P(1,2),P(1,3),P(1,2)
CQUE$P*   NAME      1
          DO        P(0,0)*(P(1)>0) , LA 12,+(EQUF$ P(1) )
          DO        P(0)>1 , LA 13,+(EQUF$ P(0) )
          ER        CQUE$
          END
P         PROC      *1
TRMRG$*   NAME
B         EQU       +(EQUF$ P(1),1,2)
          DO        (P(1)>0)**(P(0)<2)++($AP(B)<14*/26) , LXM 12,B
F         FORM      3,3,12,18
          DO        ((P(1)=0)++($AP(B)<14*/26))**(P(0)>1) , ;
          LXI,14    12,(F ,P(0,1),P(0,2))*/-18
          DO     (P(0)>1)**(P(1)>1)**($AP(B)>14*/26-1)**(B<14*/26+0777777) , ;
          LA        12,(F ,P(0,1),P(0,2),B-14*/26)
TRMRG$P*  NAME      1
          DO        (P(1)>0)**P(0,0) , LA 12,+(EQUF$ P(1) )
          ER        TRMRG$
          END
P         $PROC     *1
SETBP$*   $NAME     0
L(1)      $EQU      'W'
L(2)      $EQU      'R'
L(3)      $EQU      'WR'
L(4)      $EQU      'P'
          $DO       P(0,1)='RW' ,P(0,1) $EQU 3
I         $DO       L , $DO P(0,1)=L(I) ,P(0,1) $EQU I
          $DO       P(0)>3 ,P(0,1) $EQU P(0,1)++8
P(3)      $EQU      +($GFORM 18,0,2,0,4,P(0,1),6,P(0,2)+63*(P(0)<3))
          $DO       P(1)>0 ,P(2) $EQU +(EQUF$ P(1),1)
          $DO       ($AP(P(2))<1*/16)*(P(1)+P(0)>1) , LA 12,+(OPT$$ P(3),P(2))
SETBP$P*  $NAME     1
          $DO       (P(1)>0)**P(0,0)++($AP(P(2))>1*/16-1) , ;
          LA        12,+(EQUF$ P(1),1,2-2*P(0,0))
          $DO       ($AP(P(2))>1*/16-1)*(P(0)>1) , LXI,14 12,P(3)
          $DO       P(0)>3-2*P(0,0) , LA 13,+(EQUF$ P(0),3-2*P(0,0),*1)
          ER        SETBP$
          $END
P         $PROC     *1
ABSAD$*   $NAME
          $DO       P(1)>0 , ;
          LA,14     12,($GFORM 18,P(1,2),18,P(1,3),36,P(1,1))
ABSAD$P*  $NAME     1
          $DO       (P(1)>0)**P(0,0) , LA 12,+(EQUF$ P(1),1,2)
          ER        ABSAD$
          $END
P         $PROC     *1
ADED$*    $NAME     1
ADED$P*   $NAME
          $D0       P(1)>0 , LA 12,+(EQUF$ P(1),1,P(0,0))
          ER        ADED$
          $END
SYSBAL$P* $PROC     *1
SYSBAL$*  $NAME
          $DO       \\SYSBAL$P(1) , LA 12,+(EQUF$ SYSBAL$P(1),1,2)
          ER        SYSBAL$
          $END
Q         $PROC     *2
COM$PGEN* $NAME     0
C(1)      $EQU      'S'
C(2)      $EQU      'I'
C(3)      $EQU      'C'
C(4)      $EQU      'H'
B(0)      $EQU      P(0,1)
I         $DO       C , $DO B(0)=C(I) ,B(0) $EQU I-1
          $GFORM    6,0,6,B(0),6,P(2,3),18,0,6,0,12,P(1,2)+50*(P(1)=1),;
                    18,P(1,1)
          *         P(2,2)+50*(P(2)=1),P(2,1)
          $DO       P(2,3)>31 , $RES 1
          $END
P         $PROC     *2
COM$PKT*  $NAME     0
          COM$PGEN
          $END
P         $PROC     *2
COM$*     $NAME     0
          $DO       P(1)>0 , LA,14 12,$LCV(CTL$BNK(0))
F*        $PROC     0
$(CTL$BNK(0))
          COM$PGEN
$($ILCN)
          $END
          ER        COM$
          $DO       P(1)>0 , F
          $END
P         $PROC     *1
COM$P*    $NAME     0
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        COM$
          $END
P         $PROC
II$*      $NAME     0
          ER        II$
          $END
Q         $PROC     0,3
SNAP$PGEN*  $NAME   0
          $DO       P(1)>2 , LJSF$1 P(1,3)
          $DO       P(1)<3 , + $CFS(5)SL
REGS      $EQU      0
I         $REPEAT   P(0)-1
J         $REPEAT   $SL(P(0,I))
REG       $EQU      $SS(P(0,I),J,1)
REGS      $EQU      REGS++(1*(REG='R'))++(2*(REG='A'))++(4*(REG='X'))
          $ENDR
          $ENDR
          $GFORM    3,REGS,15,P(1,2)+(P(1)=1),18,P(1,1),36,0
          $END
P         $PROC     1,3
SNAP$PKT* $NAME     0
          SNAP$PGEN
          $END
P         $PROC     *1
SNAP$*    $NAME     0
F*        $PROC     0
$(CTL$BNK(0))
          SNAP$PGEN
$($ILCN)
          $END
          $IF       P(0)+P(1)>1
          SA        12,$LCV(CTL$BNK(0))+2
          LA,14     12,$LCV(CTL$BNK(0))
          $ENDF
          ER        SNAP$
          $DO       P(0)+P(1)>1 , F
          $END
P         $PROC     *1
SNAP$P*   $NAME     0
          $DO       (P(1)>0)**(P(1)<3) , SA 12,P(1,1)+2,P(1,2)
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        SNAP$
          $END
P         $PROC     *1
ERRPR$*   $NAME
          $DO       P>1 , LA,14 12,(,P(1,1))
ERRPR$P*  $NAME     1
          $DO       P(0,0)*(P>1) , LA 12,+(EQUF$ P(1),1,2)
          ER        ERRPR$
          $END
P         $PROC     *1
READ$P*   $NAME     *'READ$'
AREAD$P*  $NAME     *'AREAD$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1)
READ$*    $NAME     'READ$'
AREAD$*   $NAME     'AREAD$'
          $DO       1-P(0,*0)**(P(1)>0) , LA 12,(($+2)*(P(1)=1)+P(1,2),P(1,1))
          ER        [P(0,0)]
          $END
P         $PROC     *1
PRINT$P*  $NAME     *0
APRINT$P* $NAME     *1
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1)
PRINT$*   $NAME     0
APRINT$*  $NAME     1
          $DO       (\P(0,*0))**(P(1)>0) , ;
          LA        12,($GFORM 12,P(1,3)+(P(1)<3),;
                    6,(22+11*P(0,0))*(P(1)<2)+P(1,2),18,P(1,1))
          ER        P(0,0)->APRINT$!PRINT$
          $END
P         $PROC     *1
PRINT$S*  $NAME     'PRINT$'
APRINT$S* $NAME     *'APRINT$'
PF        $FORM     12,6,18
SP        $EQU      P(1,2)+(P(1)=1)
          $DO       P(0,*0) , ;
          LA        12,(PF SP,$SL(P(1,1))//4,($CAS(P(1,1))L))
          $DO       \P(0,*0) , ;
          LA        12,(PF SP,$SL(P(1,1))//6,($CFS(P(1,1))L))
          ER        [P(0,0)]
          $END
P         $PROC     *1
PUNCH$P*  $NAME     0
APUNCH$P* $NAME     1
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1)
PUNCH$*   $NAME     *0
APUNCH$*  $NAME     *1
          $DO       P(0,*0)**(P(1)>0) , ;
          LA        12,((14+6*P(0,0))*(P(1)<2)+P(1,2),P(1,1)))
          ER        P(0,0)->APUNCH$!PUNCH$
          $END
Q         $PROC     0,3
PRNTA$PGEN  $NAME   0
          $GFORM    12,P(1,4)+(P(1)<4),6,(22+11*P(0,0))*(P(1)<3)+P(1,3),;
                    18,P(1,2)
          LJSF$2    P(1,1)
          $END
P         $PROC     1,3
PRNTA$PKT*  $NAME   0
APRNTA$PKT* $NAME   1
          PRNTA$PGEN
          $END
P         $PROC     *1
PRNTA$*   $NAME     0
APRNTA$*  $NAME     1
          $DO       P(1)>0 , LA,14 12,$LCV(CTL$BNK(0))
F*        $PROC     0
$(CTL$BNK(0))
          PRNTA$PGEN
$($ILCN)
          $END
          ER        P(0,0)->APRNTA$!PRNTA$
          $DO       P(1)>0 , F
          $END
P         $PROC     *1
PRNTA$P*  $NAME     'PRNTA$'
APRNTA$P* $NAME     'APRNTA$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
Q         $PROC     0,3
PNCHA$PGEN*  $NAME  0
          $GFORM    12,0,6,(14+6*P(0,0))*(P(1)<3)+P(1,3),18,P(1,2)
          LJSF$2    P(1,1)
          $END
P         $PROC     1,3
PNCHA$PKT* $NAME    0
APNCHA$PKT* $NAME   1
          PNCHA$PGEN
          $END
P         $PROC     *1
PNCHA$*   $NAME     0
APNCHA$*  $NAME     1
F*        $PROC     0
$(CTL$BNK(0))
          PNCHA$PGEN
$($ILCN)
          $END
          $DO       P(1)>0 , LA,14  12,$LCV(CTL$BNK(0))
          ER        P(0,0)->APNCHA$!PNCHA$
          $DO       P(1)>0 , F
          $END
P         $PROC     *1
PNCHA$P*  $NAME     'PNCHA$'
APNCHA$P* $NAME     'APNCHA$'
          $DO       P(1)> , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
Q         $PROC     0,3
READA$PGEN*  $NAME  0
          +         P(1,3),P(1,2)
          LJSF$2    P(1,1)
          $END
P         $PROC     1,3
READA$PKT*  $NAME   0
AREADA$PKT*  $NAME  1
ARDA$PKT* $NAME     2
          $DO       P(1)<3 ,P(1,3) $EQU (ER ERR$)
          READA$PGEN
          $END
P         $PROC     *1
READA$*   $NAME     'READA$'
AREADA$*  $NAME     'AREADA$'
ARDA$*    $NAME     'ARDA$'
F*        $PROC     0
$(CTL$BNK(0))
          READA$PGEN
$($ILCN)
          $END
          $DO       P(1)=2 ,P(1,3) $EQU $LCV+2
          $DO       P(1)>0 , LA,14 12,$LCV(CTL$BNK(0))
          ER        [P(0,0)]
          $END
P         $PROC     *1
READA$P*  $NAME     'READA$'
AREADA$P* $NAME     'AREADA$'
ARDA$P*   $NAME     'ARDA$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *1
PRTCN$*   $NAME     'PRTCN$'
APRTCN$*  $NAME     'APRTCN$'
PRTCA$*   $NAME     'PRTCA$'
APRTCA$*  $NAME     'APRTCA$'
PCHCN$*   $NAME     'PCHCN$'
APCHCN$*  $NAME     'APCHCN$'
PCHCA$*   $NAME     'PCHCA$'
APCHCA$*  $NAME     'APCHCA$'
PRTCN$P*  $NAME     *'PRTCN$'
APRTCN$P* $NAME     *'APRTCN$'
PRTCA$P*  $NAME     *'PRTCA$'
APRTCA$P* $NAME     *'APRTCA$'
PCHCN$P*  $NAME     *'PCHCN$'
APCHCN$P* $NAME     *'APCHCN$'
PCHCA$P*  $NAME     *'PCHCA$'
APCHCA$P* $NAME     *'APCHCA$'
          $DO       P(0,*0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          $DO       P(1)=1 ,P(1,2) $EQU (132-52*(($SS(P(0,0),1,3)='PCH')++;
                    ($SS(P(0,0),1,3)='APC')))//;
                    (6-2*($SS(P(0,0),1,1)='A'))+;
                    2*(($SS(P(0,0),5,2)='A$')++($SS(P(0,0),6,2)='A$'))
          $DO       1-P(0,*0)**(P(1)>0) , LA 12,(P(1,2),P(1,1))
          ER        [P(0,0)]
          $END
P         $PROC     *1
PRTCN$S*  $NAME     'PRTCN$'
PRTCA$S*  $NAME     'PRTCA$'
PCHCN$S*  $NAME     'PCHCN$'
PCHCA$S*  $NAME     'PCHCA$'
          LA        12,($SL(P(1,1))//6,($CFS(P(1,1))L))
          ER        [P(0,0)]
          $DO       1 , $END
APRTCN$S* $NAME     'APRTCN$'
APRTCA$S* $NAME     'APRTCA$'
APCHCN$S* $NAME     'APCHCN$'
APCHCA$S* $NAME     'APCHCA$'
          LA        12,($SL(P(1,1))//4,($CAS(P(1,1))L))
          ER        [P(0,0)]
          $END
P         $PROC     *2
TREAD$P*  $NAME     *'TREAD$'
ATREAD$P* $NAME     *'ATREAD$'
ATRD$P*   $NAME     *'ATRD$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
TREAD$*   $NAME     'TREAD$'
ATREAD$*  $NAME     'ATREAD$'
ATRD$*    $NAME     'ATRD$'
          $DO       P(2)=0  ,P(2,1) EQU P(1,1)
          $DO       (\P(0,*0))**(P(1)>0) , ;
          LA,14     12,($GFORM 12,P(1,3)+(P(1)<3),6,(33-11*(P(0,0)='TREAD$'))*;
                    (P(1)<2)+P(1,2),18,P(1,1),18,($LCV+2)*(P(2)<2)+P(2,2),;
                    18,P(2,1))
          ER        [P(0,0)]
          $END
CLIST$PGEN* $PROC   *0
TERM      $EQU      -0
          $DO       \P(1,P(1)) ,TERM $EQU P(1,P(1))
          $DO       \\P(0,1) , $GEN 0,0,0,0,P(0,1),TERM
I         $DO       (\P(1))+P(1)-(\P(1,P(1))) , LJSF$1 P(1,I)
          $DO       \P(0,1) , $GEN TERM
          $END
ACLIST$PGEN* $PROC  *0
PLUS      $EQU      0100100100100100100100100D
MINUS     $EQU      0137137137137137137137137D
F         $FORM     36,36
B(0)      $EQU      P(1,P(1))=PLUS
B(1)      $EQU      P(1,P(1))=MINUS
          $DO       P(1,P(1))=0 ,B(+(F ,P(1,P(1)))>0) $EQU 1
I         $DO       (P(1)=0)+P(1)-B(0)-B(1) , ALJSF$2 P(1,I)
          $DO       B(0) , $GEN PLUS
          $DO       B(1) , $GEN MINUS
          END
P         $PROC     *1
CLIST$PKT*  $NAME   0
ACLIST$PKT* $NAME   1
          $DO       \P(0,0) , CLIST$PGEN
          $DO       P(0,0) , ACLIST$PGEN
          $END
P         $PROC     *1
CLIST$*   $NAME     'CLIST$'
ACLIST$*  $NAME     *'ACLIST$'
          $DO       (\\P(1))**(\\P(0,1)) , LA  12,(P(0,1),$LCV(CTL$BNK(0)))
          $DO       (\\P(1))**(\P(0,1)) , LA,14  12,$LCV(CTL$BNK(0))
          ER        [P(0,0)]
          $DO       (\P(1))**(\P(0,*0)) ,$(CTL$BNK(0)) CLIST$PGEN
          $DO       (\P(1))**(P(0,*0)) ,$(CTL$BNK(0)) ACLIST$PGEN
$($ILCN)  $END
P         $PROC     *1
ACLIST$P* $NAME     'ACLIST$'
CLIST$P*  $NAME     'CLIST$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *1
RSI$*     $NAME     0
RSI$P*    $NAME     0
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        RSI$
          $END
P         $PROC     1,2
PLINE$*   $NAME     0
          LA        12,(1,($CFS('L,'):$CFS($CD(P(1,1)))L))
          ER        PRTCN$
          $END
PMARG$*   $PROC     1,2
A(4)      FDCVT$    66*(PMARG$(1)<1)+PMARG$(1,1)
A(5)      FDCVT$     6*(PMARG$(1)<2)+PMARG$(1,2)
A(6)      FDCVT$     3*(PMARG$(1)<3)+PMARG$(1,3)
          LA        12,(2,($GFORM 12,$CFS('M,'),12,A(4),6,$CFS(','),;
                    12,A(5),6,$CFS(','),12,A(6),12,$CFS('  ')))
          ER        PRTCN$
          $END
P         $PROC     *1
IO$*      $NAME     'IO$'
IOI$*     $NAME     'IOI$'
IOW$*     $NAME     'IOW$'
IOWI$*    $NAME     'IOWI$'
IOXI$*    $NAME     'IOXI$'
IOARB$*   $NAME     'IOARB$'
IOAXI$*   $NAME     'IOAXI$'
IO$P*     $NAME     *'IO$'
IOI$P*    $NAME     *'IOI$'
IOW$P*    $NAME     *'IOW$'
IOWI$P*   $NAME     *'IOWI$'
IOXI$P*   $NAME     *'IOXI$'
IOARB$P*  $NAME     *'IOARB$'
IOAXI$P*  $NAME     *'IOAXI$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
WAIT$*    $NAME     'WAIT$'
          $DO       (P(0,0)='WAIT$')**(P(1)>0) ,;
          TP        3+(EQUF$ P(1),1)
          ER        [P(0,0)]
          $END
P         $PROC     0,1
WANY$*    $NAME     'WANY$'
UNLCK$*   $NAME     'UNLCK$'
          ER        [P(0,0)]
          $END
P         $PROC     *4
IO$PKT*   $NAME     0
          LJSF$2    P(1,1)
          $GFORM    12,0,6,P(1,3),18,P(1,2),6,0,6,P(0,1),6,0,18,0
G         $EQU      P(2,3)
          $DO       G='D' ,G $EQU 2
          $DO       G='N' ,G $EQU 1
          $DO       (G='DN')++(G='ND') ,G $EQU 3
          $DO       P(2)>0 , $GFORM 2,G,16,P(2,1),18,P(2,2)
          $IF       P+P(3)>5
          $DO        P(3)>0 , $GFORM  12,P(3,2),24,P(3,1),36,P(4,1)
          $ELSE
          $DO       P(3)>0 , $GFORM  12,P(3,2),24,P(3,1)
          $ENDF
          $DO       (P(3)>1)**(P(4)>0) ,X $EQU 08
          $DO       P(4)>0 , + 0
          $END
P         $PROC     8,1
SM$PKT*   $NAME     0
SM('DENSITY','HIGH')      $EQU    3*/34
SM('DENSITY','MEDIUM')    $EQU    2*/34
SM('DENSITY','LOW')       $EQU    1*/34
SM('PARITY','EVEN')       $EQU    2*/32
SM('PARITY','ODD')        $EQU    1*/32
SM('BCD','ON')            $EQU    1*/30
SM('BCD','OFF')           $EQU    2*/30
SM('NOISE',1)             $EQU    1*/28
SM('SUPPRESS','ON')       $EQU    1*/26
SM('SUPPRESS','OFF')      $EQU    2*/26
SM('MSA-TRN','EBCDIC')    $EQU    1*/22
SM('MSA-TRN','ASCII')     $EQU    2*/22
SM('MSA-TRN','XSEBCD')    $EQU    3*/22
SM('MSA-TRN','XSASCI')    $EQU    4*/22
SM('MSA-TRN','OFF')       $EQU    15*/22
SM('UNIT-TRN','ON')       $EQU    1*/20
SM('UNIT-TRN','OFF')      $EQU    2*/20
SM('FORMAT','Q')          $EQU    1*/18
SM('FORMAT','6')          $EQU    2*/18
SM('FORMAT',6)            $EQU    2*/18
SM('FORMAT','8')          $EQU    3*/18
SM('FORMAT',8)            $EQU    3*/18
MODES     $EQU      0
I         $REPEAT   P-1
          $IF       P(I,1)='NOISE'
MODES     $EQU      MODES++SM('NOISE',1)++P(I,2)
          $ELSE
MODES     $EQU      MODES++SM(P(I,1),P(I,2))
          $ENDF
          $ENDR
          +         MODES
          $END
P         $PROC     *1
FITEM$*   $NAME     0
FITEM$P*  $NAME     1
          $DO       (\P(0,0))**(P(1)>0) , ;
          LA        12,(131071*(P(1)=1)+P(1,2),P(1,1))
          $DO       P(0,0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          ER        FITEM$
          $END
P         $PROC     *1
FACIL$*   $NAME     'FACIL$'
FACIT$*   $NAME     'FACIT$'
FACIL$P*  $NAME     *'FACIL$'
FACIT$P*  $NAME     *'FACIT$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *1
TINTL$*   $NAME     'TINTL$'
TSWAP$*   $NAME     'TSWAP$'
RSWAP$*   $NAME     'RSWAP$'
TINTL$P*  $NAME     *'TINTL$'
TSWAP$P*  $NAME     *'TSWAP$'
RSWAP$P*  $NAME     *'RSWAP$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2-2*P(0,*0))
          $DO       (\P(0,*0))**(P(0)>1) , LXI 12,+(EQUF$ P(0),1,*1)
          ER        [P(0,0)]
          $END
P         $PROC     *1
BBEOF$*   $NAME     'BBEOF$'
MSCON$*   $NAME     'MSCON$'
BBEOF$P*  $NAME     *'BBEOF$'
MSCON$P*  $NAME     *'MSCON$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *1
DGET$PKT* $NAME     'DGET$'
DGETP$PKT* $NAME    'DGETP$'
          $GFORM    30,0,6,[P(0,0)]
          LJSF$2    P(1,1)
          +         0
          +         P(1,2),P(1,3)
          $DO       P(0,0)='DGETP$' , LJSF$1 P(1,4)
          $END
P         $PROC     1,5
DREAD$PKT* $NAME
          $GFORM    30,0,6,DREAD$
          LJSF$2    P(1,1)
          $GFORM    12,P(1,3),6,P(1,4),18,P(1,2),12,P(1,5),12,0,12,0
          $END
P         $PROC     1,4
DBITS$PKT* $NAME    'DBITS$'
DUNLD$PKT* $NAME    'DUNLD$'
DCYC$PKT*  $NAME    'DCYC$'
          $GFORM    30,0,6,[P(0,0)]
          LJSF$2    P(1,1)
          $DO       P(0,0)='DBITS$' , +P(1,2),P(1,3)
          $DO       P(0,0)='DUNLD$' , +P(1,2)
          $DO       P(0,0)='DCYC$' , $GFORM 30,0,6,P(1,2)
          $END
P         $PROC     *2
DBACK$PKT* $NAME
          $GFORM    30,0,6,DBACK$
          LJSF$2    P(1,1)
NR        $EQU      (P(2)-P(0,1))*(P(2)>P(0,1))+P(0,1)
          +         NR,,0
          +         P(1,2)
          $GFORM    6,P(1,6),6,P(1,7),6,0,18,P(1,3),12,P(1,8),;
                    12,P(1,5),12,P(1,4)
I         $DO       NR , LJSF$1 P(2,I)
          $END
P         $PROC     1,5
DLAPS$PKT* $NAME
          $GFORM    30,0,6,DLAPS$
          LJSF$2    P(1,1)
          +         P(1,2)
          +         P(1,3)
          $END
P         $PROC     1,7
DKEY$PKT* $NAME
          $GFORM    30,0,6,DKEY$
          LJSF$2    P(1,1)
I         $DO       4 , +(LJSF$1 P(1,I+1))*(\\P(1,I+1))
          $END
P         $PROC     1,5
DBB$PKT*  $NAME
          $GFORM    30,0,6,DBB$
          LJSF$2    P(1,1)
          $GFORM    12,0,24,P(1,2),18,P(1,3),18,P(1,4)
          $END
P         $PROC     1,10
DREG$PKT* $NAME
          $GFORM    30,0,6,DREG$
I         $DO       3 , LJSF$2 P(1,I)
          $GFORM    12,0,6,P(1,4),18,P(1,5)
          +         P(1,6)
          +         P(1,7)
          $END
P         $PROC     1,3
MSALL$PKT* $NAME
          $GFORM    30,0,6,MSALL$
          +         P(1,2),P(1,1)
          +         0
          $END
Q         $PROC     0,3
LABEL$PGEN*  $NAME  0
          $GFORM    6,P(1,4),6,P(1,3),6,0,18,P(1,2)
          LJSF$2    P(1,1)
          $END
P         $PROC     1,3
LABEL$PKT* $NAME    0
          LABEL$PGEN
          $END
P         $PROC     *1
LABEL$*   $NAME     0
F*        $PROC     0
$(CTL$BNK(0))
          LABEL$PGEN
$($ILCN)
          $END
          $DO       P(1)>0 , LA,14 12,$LCV(CTL$BNK(0))
          ER        LABEL$
          $DO       P(1)>0 , F
          $END
P         $PROC     *1
LABEL$P*  $NAME     0
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        LABEL$
          $END
P         PROC      *1
TLBL$*    NAME      0
          DO        (P(0)=1)**(P>1) ,P(0,1) EQU 19
A         EQU       1--(P(0)=2)**(P(0,1)<1*/18)**(P(1)=1)**($AP(P(1,1))<1*/18)
          DO        1-A , LA 12,(P(0,1),P(1,1))
          DO        A**(P(0)>1) , LXI 12,+(EQUF$ P(0),1,*1)
          DO        A**(P(1)>0) , LXM 12,+(EQUF$ P(1),1,2)
TLBL$P*   NAME      1
          DO        P(0,0)*(P(1)>0) , LA 12,+(EQUF$ P(1) )
          ER        TLBL$
          END
P         $PROC     *1
PFS$*     $NAME     'PFS$'
PFD$*     $NAME     'PFD$'
PFWL$*    $NAME     'PFWL$'
PFS$P*    $NAME     *'PFS$'
PFD$P*    $NAME     *'PFD$'
PFWL$P*   $NAME     *'PFWL$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *2
PFUWL$*   $NAME     0
PFI$*     $NAME     1
PFUWL$P*  $NAME     *0
PFI$P*    $NAME     *1
          $DO       (P(1)>0)**(\P(0,0))++(P=2) , LA 12,+(EQUF$ P(1),1,2)
          $DO       (P>2)**P(0,0) , LNA 12,+(EQUF$ P(1),1,2)
          $DO       P(2)>0 , LA 13,+(EQUF$ P(2),1)
          ER        P(0,0)->PFI$!PFUWL$
          $END
P         $PROC     *1
CMS$*     $NAME     0
CMS$P*    $NAME     1
K(1)      $EQU      +(EQUF$ P(1),1)
          $DO       (P(0)>1)**(\P(0,0)) ,K(0) $EQU +(EQUF$ P(0),1)
          $DO       (P(1)>0)**(K=1)++($AP(K(1))>1*/16-1) , ;
          LA        12,+(EQUF$ P(1),1,2-2*P(0,0))
          $DO       (P(1)>0)**(K=2)**($AP(K(1))<1*/16)**($AP(K(0))<1*/16) , ;
          LA        12,(K(0),K(1))
          $DO    K=2 , DO ($AP(K(0))>1*/16-1)++($AP(K(1))>1*/16-1)++(P(1)=0) , ;
          LXI       12,+(EQUF$ P(0),1,*1)
          ER        CMS$
          $END
P         $PROC     *1
CMD$*     $NAME     'CMD$'
CMI$*     $NAME     'CMI$'
CMO$*     $NAME     'CMO$'
CMSA$*    $NAME     'CMSA$'
CMH$*     $NAME     'CMH$'
CMT$*     $NAME     'CMT$'
CMD$P*    $NAME     *'CMD$'
CMI$P*    $NAME     *'CMI$'
CMO$P*    $NAME     *'CMO$'
CMSA$P*   $NAME     *'CMSA$'
CMH$P*    $NAME     *'CMH$'
CMT$P*    $NAME     *'CMT$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *2
CPOOL$*   $NAME     0
CPOOL$P*  $NAME     1
          $DO       P(0,0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1,2)
          $DO       (\P(0,0))**(P(1)>0) , ;
          LA,14     12,($GFORM 6,P(2,2),12,P(2,1),18,P(1,1),12,0,;
                    6,P(2,3),18,P(1,2))
          ER        CPOOL$
          $END
P         $PROC     *1
CGET$*    $NAME     0
CGET$P*   $NAME     1
          $DO       P(0,0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          $DO       (\P(0,0))**(P(1)>0) , LXI 12,+(EQUF$ P(1),1,2)
          ER        CGET$
          $END
P         $PROC     *1
CADD$*    $NAME     'CADD$'
CJOIN$*   $NAME     'CJOIN$'
CADD$P*   $NAME     *'CADD$'
CJOIN$P*  $NAME     *'CJOIN$'
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          ER        [P(0,0)]
          $END
P         $PROC     *2
ADACT$*   $NAME     0
ADACT$P*  $NAME     1
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1,2)
          $DO       P(2)>0 , LA 13,+(EQUF$ P(2),1)
          ER        ADACT$
          $END
P         $PROC     *1
CREL$*    $NAME     0
CREL$P*   $NAME     1
          $DO       (P(0,0)++(P(0,1)=0))**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          $DO       (\P(0,0))**(P(0,1)>0) , LXI,14 12,1
          ER        CREL$
          $END
P         $PROC     *1
ROUTE$*   $NAME     0
ROUTE$P*  $NAME     1
          $DO       P(0,0)**(P(1)>0) , LA 12,P(1,1)
          $DO       P(1)>1 , LA,14 13,P(1,2)
          $DO       (\P(0,0))**(P(1)>0) , LA 12,(P(0,1),P(1,1))
          ER        ROUTE$
          $END
P         $PROC     *1
LOAD$*    $NAME     0
          $DO       (\P(0,1))**(P(1)>0) , LA,14 12,P(1,1)
          $DO       (\\P(0,1))**(P(1)>0) , LA  12,(1*/17,P(1,1))
          $DO       (\\P(0,1))**(\P(1)) , LXI,14 12,*0
          $DO       P(1)>1 , LA,14 13,P(1,2)
          $DO       P(1)=3 , LA,14 14,P(1,3)
          $DO       P(1)>3 , LA 14,(P(1,4),P(1,3))
          ER        LOAD$
          $END
Q         $PROC     0
RLIST$PGEN*  $NAME   0
          LJSF$2    P(1,1)
I         $DO       (P(1)=0)+P(1)-1 , LJSF$1 P(1,I+1)
          $END
Q         $PROC     0
RLIST$PGEN*  $NAME   0
          LJSF$2    P(1,1)
I         $DO       (P(1)=0)+P(1)-1 , LJSF$1 P(1,I+1)
          $END
P         $PROC     *1
RLIST$PKT*  $NAME    0
          RLIST$PGEN
          $END
P         $PROC     *1
RLIST$*   $NAME     0
F*        $PROC     0
$(CTL$BNK(0))
          RLIST$PGEN
$($ILCN)
          $END
          $DO       P(1)>0 , LA 12,+(OPT$$ P(1)-1,$LCV(CTL$BNK(0)))
          ER        RLIST$
          $DO       P(1)>0 , F
          $END
P         $PROC     *1
RLIST$P*  $NAME     0
          $DO       P(1)>0 , LA 12,+(EQUF$ P(1),1)
          ER        RLIST$
          $END
P         $PROC     *1
LINK$*    $NAME     'LINK$'
RLINK$*   $NAME     'RLINK$'
LINK$P*   $NAME     *'LINK$'
RLINK$P*  $NAME     *'RLINK$'
          $DO       P(0,*0)**(P(1)>0) , LA 12,+(EQUF$ P(1),1)
          $DO       (\P(0,*0))**(P(1)>0) , LA 12,(LJSF$1 P(1,1))
          ER        [P(0,0)]
          $END
P         $PROC     0,1
EXLNK$*   $NAME     'EXLNK$'
UNLNK$*   $NAME     'UNLNK$'
          ER        [P(0,0)]
          $END
P         $PROC     *1
LJSF$*    $NAME     'S'
ALJSF$*   $NAME     *'S'
          $DO       P(0,1)=2 ,P(0,0) $EQU P(0,*0)->*'D'!'D'
LJSF$1*   $NAME     'S'
LJSF$2*   $NAME     'D'
ALJSF$1*  $NAME     *'S'
ALJSF$2*  $NAME     *'D'
          +         (P(0,*0)->$CAS!$CFS)(P(1,1)[P(0,0)]L)
          $END
P         $PROC     1
FDCVT$*   $NAME     0
*         $EQU      $CFS($CD(P(1,1)///100))
          $END
P         $PROC     *1
LIT$*     $NAME     0
          $DO       \P(1) ,P(1,1) $EQU $LCN
$(P(1,1)) $LIT
CTL$BNK(0)*  $EQU   P(1,1)
          $END
E         PROC      1,1
EQUF$*    NAME      0
C         EQU       E(1,2)+($AP(E(1))<2)
          IF        ($AP(E(1,1,C))<1*/18)**(E(1,3)>0)**(E(1,1,*C)=0)**;
                    (E(1,1)-E(1,*3)-C<1)
B(1)      EQU       +(I$ 0,14,0,0,0,E(1,1,C))
          ELSE
B(1)      EQU       +(I$ 0,E(1,1,C+2),0,E(1,1,C+1),;
                    2*E(1,1,*1+C)+E(1,1,*C),E(1,1,C))
          ENDF
          DO        (E(1)>2)*(E(1,1)-E(1,*3)-C<E(1,3))*;
                    (($AP(B(1))>1*/26-1)+($AP(B(1))>1*/16-1)<E(1,3)) ,;
B(1)      EQU       B(1)+(14*/26)
                    B(1)
          END
P         $PROC     1,1
OPT$$*    $NAME
FF        $EQU      36/(P(1)+(P(1)=0))
ST1       $EQU      'FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF'
F         $FORM     [$SS(ST1,1,P(1)*3-1)]
ST2       $EQU      'P(1,1),P(1,2),P(1,3),P(1,4),P(1,5),P(1,6)';
                    ',P(1,7),P(1,8),P(1,9),P(1,10),P(1,11),P(1,12)'
K         $EQU      ['+(F ':$SS(ST2,1,P(1)*7-1+(P(1)>9)*(P(1)-9)):')']
L         $EQU      $AP(K)
REL       $EQU      K-L
U         $EQU      L**0177777
OPT       $EQU      (L>0)*(L<1*/18-1)+(-L>0)*(-L<1*/17)+(L=0)
          $DO       OPT , ;
          I$        ,14+(L<0),0,0,2*(L**(1*/17)>0)+(L**(1*/16)>0),U+REL
          $DO       \OPT , I$ ,,,,,(F K)
          $END
          $DEF
F         $FUNC
OPTION*   $NAME     0
NOPTION*  $NAME     1*/26-1
OPT       $EQU      0
I         $DO       F-1 ,;
J         $DO       $SL(F(I)) ,OPT  $EQU  OPT++1*/('Z'-$SS(F(I),J))
          $END      OPT--F(0)
F         $FUNC
BIT*      $NAME     0
BITS*     $NAME     0
A         $EQU      0
I         $DO       F-1 ,;
A         $EQU      A++1*/F(I)
          $DO       A>=1*/36 , $END (A)D
          $END      A
F         $FUNC
BITSPAN*  $NAME     0D
BS*       $NAME     0D
NBITSPAN* $NAME     4722366482869645213695
NBS*      $NAME     4722366482869645213695
BITSPAN2* $NAME     *0D
BS2*      $NAME     *0D
NBITSPAN2* $NAME    *4722366482869645213695
NBS2*     $NAME     *4722366482869645213695
A         $EQU      4722366482869645213695
BITS      $EQU      0D
I         $REPEAT   F/2
M         $EQU      F(I*2)>F(I*2-1)
P1        $EQU      F(I*2)*(\M)+F(I*2-1)*M
P2        $EQU      F(I*2-1)*(\M)+F(I*2)*M
BITS      $EQU      BITS++(A*/(71-P2)*/(-(71-P2+P1))*/P1)
          $ENDR
C         $EQU      4722366482800925736960
Q         $FORM     72-36*((\(BITS**C))**(\F(*0)))
          $END      +(Q BITS--F(0))
F         $FUNC
GCD*      $NAME
          $DO       G(2)=0 , $END G(1)
          $END      GCD(G(2),G(1)///G(2))
P         $FUNC
OPT*      $NAME     0
OPT2*     $NAME     1
          $DO       P(0)=0 , ;
          $DO       (K>0)*(K<1*/18-1)+(-K>0)*(-K<1*/17)+(K=0) , ;
       $END   +(I$  14+(K<0),0,0,2*(K**(1*/17)>0)+(K**(1*/16)>0),K**0177777)
          $END      (F K)
F         FUNC
BF*       NAME      6
ABF*      NAME      *9
C(0)      EQU       5+27*F(*0)
LJ*       NAME      6
ALJ*      NAME      *9
C(1)      EQU       F(2)*F(0)>36
          DO        C(1)<(F(1)-F(1)+1)*/36 ,C(1) EQU 1
N         EQU       (36+36*C(1))/F(0)*(F(2)=0)+F(2)
K         EQU       1-1D*/((N-1)*F(0))
          DO        C(1)>(F(1)-F(1)+1)*/36 ,F(1) EQU F(1)**1D*/36-1
          DO        N , DO 0=F(1)**K ,F(1) EQU F(1)*/F(0)++C(0)
          END       F(1)
F         FUNC
RJ*       NAME      6
ARJ*      NAME      *9
SP        EQU       5+27*F(*0)
MS        EQU       1*/F(0)-1
DP        EQU       (F(1)-F(1)+1)*/36>0D
          DO        DP=0 ,B EQU 1*/(36-F(0))-1
          DO        DP ,B EQU 1D*/(72-F(0))-1
          DO        (36*DP+36)/F(0)*(F(2)=0)+F(2) , ;
          DO (F(1)**MS)*/1-SP--SP=0 ,F(1) EQU F(1)*/-F(0)**B
          END       F(1)
F         $FUNC
INF*      $NAME
          $END      +(I$ F(5),F(3),F(4),F(2),2*F(*2)+F(*1),F(1))
F         $FUNC
GAF*      $NAME
A         $EQU      F(1)
B         $EQU      F(2)
          $END      +(I$ 0,P(0,1)+P(A,B+2),0,P(A,B+1),2*P(A,*B+1)+P(A,*B),P(A,B)
F         $FUNC
GAF1*     $NAME
A         $EQU      F(1)
B         $EQU      F(1)
          $END      +(I$ 0,P(A,B+2),0,P(A,B+1),2*P(A,*B+1)+P(A,*B),P(A,B))
F         $FUNC
FLD*      $NAME
          $END      F(1)*/(F(2)-1)*/(36-F(3))
C         $FUNC
COLUMN*   $NAME     6
COL*      $NAME     6
ACOLUMN*  $NAME     4
ACOL*     $NAME     4
I         $EQU      (C(1)-(C(1)<-0))//C(0)-(C(1)>-1)
J         $EQU      C(1)-C(0)*I
          $DO       C(0)=6 , $END  I++(I$ 0,14-J,0,0,0,0)
          $END      I++(I$ 0,7-J/2-2*(J=2),0,0,0,0)
M         $FUNC
MOD*      $NAME
          $END      M(1)///M(2)
S         $FUNC
SIGN*     $NAME
          $DO       $IBITS(S(1))**2 , $END -0-(S(1)<>0)
          $END      0+(S(1)<>0)
A         $FUNC
ABS*      $NAME
          $DO       $IBITS(A(1))**2 , $END -A(1)
          $END      A(1)
M         $FUNC
MAX*      $NAME     '>'
MIN*      $NAME     '<'
Z         $EQU      M(I)
I         $DO       2,M-1 , $DO M(I)[M(0)]Z ,Z $EQU M(I)
          $END      Z
UX*       FUNC
A         EQU       1-2*(UX(1)<0)
B(0)      EQU       0
I         DO        18 ,B(0) EQU 2*B(0)+(A*UX(1)>(2*B(0)+1)*/(35-I)-1)
          DO        UX>2 ,B(1) EQU (UX(3)-(B(0)*/-9*A**15))*/26
B(0)      EQU       B(0)*A**31
          DO        B(0)=1 ,B(0) EQU UX(*2)
          END       UX(1)+(UX(2)*2-B(0)+UX(*2))*/17+B(1)
J         FUNC
JREG*     NAME      0
BYTES     EQU       36/J(1)
          DO        36>J(1)*BYTES , EQU 09
          DO        (BYTES<2)++(BYTES=5)++(BYTES>6) , EQU 09
          DO        J<4 ,J(3) EQU 1
BL        EQU       (BYTES**3)-(BYTES=2)
IW        EQU       J(3)/BYTES
OW        EQU       J(2)/BYTES
IB        EQU       (J(3)-IW*BYTES)*/(J(1)//6-1)
OB        EQU       (J(2)-OW*BYTES)*/(J(1)//6-1)
F         FORM      1,2,1,11,3,15,3
          END       +(F 1-J(*3),BL,J(*1),IW,IB,OW,OB)
DEFUNCT$* $PROC
          $END
CTS*      $PROC     1,1
          SZ,13     +(EQUF$ CTS(1),1)
          $END
P         $PROC     0,1
TTW*      $NAME     0
TQW*      $NAME     1
          P(0,0)->TP!TN,4  $LCV
          $END
P         $PROC     *1,2
JTW*      $NAME     0
JQW*      $NAME     1
          P(0,0)->TN!TP,4  $LCV
          J         P(1,1)
          $END
P         $PROC     0,3
SETQW*    $NAME     0400001
SETTW*    $NAME     *1
          L,14      12,P(0,0)
          P(0,*0)->TN!TP,7   $LCV
          ER        PSR$
          $END
P         $PROC     0,0
THIRD*    $NAME     5
QUARTER*  $NAME     3
          $INFO     1  P(0,0)
          $END
REZ*      $PROC     *1
          $DO       REZ(1,1)<-0 , $RES REZ(1,1)
          $DO       REZ(1,1)>0 , +REZ(1,2)
          $DO       REZ(1,1)<2 , $END
A         $EQU      $TMODES**2
          $UNLIST
          $DO       REZ(1,1)-1 , + REZ(1,2)
          $DO       A , $LIST
          $END
SNZ2*     PROC      1,2
W         FORM      36
B(0)      EQU       +(I$ +(EQUF$ SNZ2(1),1,0),SNZ2(0,1))
I         DO        4 ,B(1) EQU ((B(1)*2+1)*/(30-I)-1<B(0))+B(1)*2
B(1)      EQU       +(W B(1))
          SA        12,B(0)
          SNA,B(1)/6*4+(B(1)**9)*2+7-5*(B(1)=0) 12,B(0)-B(1)*/26
          END
DIU       PROC      *1
DIU*      NAME
W         FORM      36
X         EQU       +(W DIU(1,2)--DIU(1,2)*/-72)
          DO        X=0 , DSA DIU(1,1),36
          DO        X=0 , DI DIU(1,1)+12*(DIU(1)<1),+(OPT$$ DIU(1,2))
          DO        X=0 , END
MY        EQU       +(W (DIU(0,1)--DIU(0,1)*/-72)+0377777777777*(DIU(0,1)=0))
MBETA     EQU       MY-MY/X*X
Y1        EQU       MY/(X-MBETA)
Y2        EQU       MY-MBETA-1
NUM       EQU       (Y1<Y2)*Y2+MY*(Y1>Y2-1)
DNM       EQU       (X-MBETA-1)*(Y1>Y2-1)+1D
N(-1)     EQU       0
F(0)      EQU       1D
ALPHA(0)  EQU       X-1
TOP       NAME
N(0)      EQU       N(0)+1
F(0)      EQU       F(0)-(ALPHA(0)*2>X-1)+F(0)
          DO        N(0)>0 ,ALPHA(0) EQU ALPHA(0)-X*(ALPHA(0)*2>X-1)+ALPHA(0)
          DO        1+ALPHA(0)*NUM>DNM*/N(0) , GO TOP
N(1)      EQU       N(0)+1
DECN      NAME
N(1)      EQU       N(1)-1
          DO        N(1)<N(0) ,F(0) EQU F(0)*/-1
          DO        F(0)**1=0 , GO DECN
OPT       EQU       F(0)>1D*/35-1
          DO        OPT , DSA DIU(1,1),36
          DO        OPT , DI DIU(1,1),+(OPT$$ DIU(1,2))
OPT0      EQU       F(0)=1
          DO        OPT0 , DO N(1)>0 , SSA DIU(1,1),N(1)
          DO        OPT0 , DO DIU(1,2)<0 , LNA DIU(1,1),DIU(1,1)
          DO        OPT++OPT0 , END
OPT1      EQU       F(0)*/(36-N(1))
OPT2      EQU       (OPT1<1*/19)**(N(1)<36)
          DO        OPT2 , MF DIU(1,1),+(OPT$$ OPT1*/-1--DIU(1,2)*/-72)
OPT3      EQU       (OPT1-1<0377777777777)**(N(1)<37)--OPT2
          DO        OPT3 , MI DIU(1,1),+(OPT$$ OPT1--DIU(1,2)*/-72)
OPT4      EQU       OPT2++OPT3--1
          DO        OPT4 , MI DIU(1,1),+(OPT$$ F(0)--DIU(1,2)*/-72)
          DO        OPT4 , DO 36-N(1)<0 , SSA DIU(1,1),N(1)-36
          DO        OPT4 , DO 36-N(1)>0 , LDSC DIU(1,1),36-N(1)
          END