*        CREATED 12/29/71   PJH
         PCC      0
*        MREF ADDED  1/12/74 AR
         SYSTEM   SIG7FDP
UTSPROC SET    0
MONPROC SET    1
S69PROC  SET      1
         SYSTEM   UTS
         DEF      T:OV:
PUSH     CNAME    0
PULL     CNAME    1
         PROC
LF       LCI      AF(1)&X'F'
         DO       NAME=0
         PSM,AF(2) TSTACK
         ELSE
         PLM,AF(2) TSTACK
         FIN
         PEND
*
AD1      CNAME
         PROC
ADD1MO,LF SET     ADD1MO+1
         DISP     LF
         DEF      LF
         PEND
*
T:OV:    EQU      %
*
         DEF      T:OV
         DEF      T:PROCOV
*
         DEF      T:OVER
         DEF      T:REMEMBER
         DEF      T:OVERLAY
         DEF      T:OVERLAY1
         REF      PB:LCT
         REF      S:RTCORE
         REF      UH:FLG2
         REF      E:AP
         REF      J:JIT
         REF      MAXOVLY
         REF      P:NAME
         REF      PB:UC
         REF      PB:REP
         REF      PH:FRQ
         REF      P:SA
         REF      RCVPSD
         REF      S:CUN
         REF      T:REG
         REF      UB:APO
         REF      UB:OV
         REF      NB31TO0
XFFFE    EQU      NB31TO0+1
         REF      TSTACK
         REF      PB:PVA,PB:PSZ,T:SNAC,FPMC
         REF      S:MAPCW
         REF     JX:CMAP
         REF      SPMAP,PX:HPP,UX:JIT,JXCMAP
         REF      UH:FLG
         REF,1    JB:PRIV
TIC      EQU      X'80'
         REF      CC1SET
         REF      CC2SET
         REF      CC0RST
         REF      BOOTFLG
         REF      MAP,UNMAP
         REF      MAXG
         REF      MING
         REF      SB:HQ
         REF      UB:BL
         REF      UB:FL
         REF      S:GUIS
         REF      UB:US
         REF      E:WU
         REF      T:RUE
         REF      S:GJOBTBL
         REF      SB:GJOBUN
         REF      SW
         REF      SQFI
         REF      ADD1
         REF      :BIG
         REF      SB:TQ             TAILS OF QUEUES
         REF      SL:GPRIO          DEFAULT GHOST PRIORITY
         REF      UB:PRIOB          BASE PRIORITY FOR USER
         REF      S:GJOBACN         GHOST JOB ACCOUNT
         REF      SYSACT            ':SYS    '
         DEF      T:GJOB            GHOST JOB IN ACN OTHER THAN :SYS
         DEF      T:GJOBSTRT
         DEF      T:INITJOB
         DEF      T:SELFDESTRUCT
         PAGE
T:PROCOV EQU      %
         PUSH     7,14
         LI,15    UB:APO            PROCESSOR OVERLAY TABLE ADDRESS
         B        OV20
*        1 = START ADDRESS
*        2,3 HAVE OVERLAY NAME
*
T:OVER   EQU      %
         PUSH     7,14
         LD,2     SEGNAME,2
         LI,1     0
         B        OV0
T:OVERLAY         EQU               %
         PUSH     7,14
         LD,2     SEGNAME,2
         LI,1     0
         B        %+3
T:OVERLAY1  EQU   %
         PUSH     7,14
         LI,14    OV0
T:REMEMBER  EQU   %
         LW,4     J:JIT
         BEZ      BI14A
         LW,4     S:CUN
         LB,4     UB:OV,4
         BEZ      BI14A
         STB,4    11
         LW,4     TSTACK
         AH,4     TSTACK+1
         MTH,-1   TSTACK+1
         BLZ      OSTACKOVERFLOW
         STW,11   0,4
         BAL,11   *14
         PUSH     7,14
         LW,4     TSTACK
         MTH,1    TSTACK+1
         AH,4     TSTACK+1
         LW,11    0,4
         LB,4     11
         LD,2     P:NAME,4
         LW,1     11
         B        OV0
T:OV     EQU       %
         PUSH     7,14
OV0      EQU      %
         LI,4     MAXOVLY
OV1      EQU      %
         CD,2     P:NAME,4
         BE       T:OV2
         BDR,4    OV1
         SUA      X'1D'             SUA .1D
*
T:OV2    EQU      %
         LI,15    UB:OV
         AI,1     0                 WAS START ADDRESS SPECD
         BG       OV10              BRANCH IF YES
         LW,1     P:SA,4            GET STARTING ADR OF THIS OVERLAY
OV10     EQU      %
*                                   LEGAL START ADDRESS
*                                   BRANCH IF NO.
OV20     EQU      %
         LI,2     -2
         STW,1    *TSTACK,2
         LW,2     S:CUN             GET CURRENT USER #
         CB,4     *15,2             IS REQUESTED OVERLAY ALREADY
*                                   ASSOCIATED?
         BE       OVXIT
         LB,3     *15,2
         BEZ      NOOV
         CI,15    UB:APO            SET ACCESS IF PROCESSOR O.L.     RL3
         BNE      NOOV                                               RL3
         XW,3     15
         LCI      14
         PSM,2    TSTACK
         LW,3     15
         LB,8     PB:PSZ,3          PAGES FOR OLD                    RL3
         LB,7     PB:PVA,3          STARTING VIRTUAL PAGE            RL3
         LB,6     PB:PSZ,4          AND COUNT%FOR NEW                RL3
         LI,4     1                 PP ACCESS                        RL3
         LW,9 6
         BAL,11   T:SNAC            SET PP ACCESS FOR NEW            RL3
         SW,8     9                 IS OLD > NEW                     RL3
         BLEZ     EOV               NO                               RL3
         LW,6     8                 COUNT OF REMAINDER               RL3
         LI,4     3                 NO ACCESS (11)
         LW,9 7
         BAL,11   T:SNAC            SET NO ACCESS
       LW,7 9
         LI,4     FPMC
         STORE,4  JX:CMAP,7         RE-INITIALIZE CMAP
         AI,7     1                                                  RL3
         BDR,8    %-2                                                RL3
EOV      EQU      %                                                  RL3
         LCI      14
         PLM,2    TSTACK
         XW,15    3
NOOV     EQU      %
         LI,1     OVXIT
NOOV1    EQU      %
         PSW,1    TSTACK
         MTB,-1   PB:UC,3           DECREMENT USE COUNT
         AI,3     0
         BE       NOOVA
         LH,14    UH:FLG2,2         GET FLAGS
         CI,14    X'800'            LOCKED IN CORE
         BAZ      NOOVA             NO
         MTB,-1   PB:LCT,3          DEC. LCT
         BG       NOOVA             STILL LOCKED
         LB,1     PB:PSZ,3          GET PSZ
         LCW,1    1                 AND TAKE IT
         AWM,1    S:RTCORE          FROM RTCORE
NOOVA    STB,4    *15,2             SEG # TO USER TABLE
         MTB,1    PB:UC,4           INCREMENT USE COUNT FOR NEW OVERLAY
         CI,15    UB:OV
         BNE      NOTINCORE
         MTB,-1   PB:REP,3          DECREMENT MONITOR OVERLAY COUNT
         MTB,1    PB:REP,4          INCREMENT MONITOR OVERLAY COUNT
         MODTST   PX:HPP,4          IS THE OVERLAY IN CORE
         BEZ      NOTINCORE         NO
         MTH,1    PH:FRQ,4          COUNT UP CALLS
         CI,14    X'800'            LOCKED IN CORE
         BAZ      NOOVB             NO
         MTB,0    PB:LCT,4          ALREADY LOCKED
         BG       %+3               YES
         LB,1     PB:PSZ,4          NO, GET PSZ
         AWM,1    S:RTCORE          AND ADD IT IN
         MTB,1    PB:LCT,4          BUMP LCT
NOOVB    PUSH     3,6               SPMAP DOES THEM IN
         LOAD,7   UX:JIT,2          JIT ADDRESS
         SLS,7    11                BYTE RESOLUTION
         AI,7     JXCMAP            DISPLACEMENT TO CMAP
         SLS,7    -:BIG             BYTES FOR 7, HALFWORDS FOR 9
         BAL,1    UNMAP
         LW,2     4                 OVERLAY # TO 2
         BAL,4    SPMAP             UPDATE CMAP TO REFLECT THIS OVERLAY
         LW,2     S:CUN
         LOAD,6   UX:JIT,2          JIT ADDRESS
         LB,4     UB:OV,2
         LB,7     PB:PVA,4          OVERLAY VIRTUAL PAGE
         SLD,6    9                 MAKE BOTH WORD ADDRESS
         OR,6     S:MAPCW           MAP CONTROL WORD R
         OR,7     MAPCW1            MAP CONTROL WORD RU1
         LDMAP,6  0
         BAL,1    MAP
         PULL     3,6
         B        NOOV2
NOTINCORE EQU     %
*
         LH,3     UH:FLG,2          RESET READY TO RUN FLAG
         AND,3    XFFFE             FOR CURRENT USER.
         STH,3    UH:FLG,2
*
         PSW,11   TSTACK
         PSW,6    TSTACK
         LI,6     E:AP              ASSOCIATE PROCESSOR EVENT CODE
*
*
         BAL,11   T:REG             (REG UNINHIBITS INTERRUPTS)
         CI,14    X'800'            LOCKED IN CORE
         BAZ      NOOVC             NO
         MTB,0    PB:LCT,4          ALREADY LOCKED
         BG       %+3               YES
         LB,1     PB:PSZ,4          NO, GET PSZ
         AWM,1    S:RTCORE          AND ADD IT IN
         MTB,1    PB:LCT,4
NOOVC    PLW,6    TSTACK
         PLW,11   TSTACK
NOOV2    EQU      %
         PLW,1    TSTACK
         B        0,1
OVXIT    EQU      %
         PULL     7,14
         B        0,2
BI14A    B        *14
OSTACKOVERFLOW EQU   %
         SUA      X'79',1
         PAGE
         REF      T:OVBALPSD,T:OVBPSD,SKIPPSD,J:OVRLY,M7,M17
         DEF      T:OVBAL,T:OVB,RETURN
*
#REGSAVED EQU     16
*
* MREF TABLE ENTRIES FOR BRANCH INSTRUCTIONS
*
*        XPSD,0   T:OVBPSD
*        GEN,8,4,3,17 SEG#,0,0,OVERLAY ADDRESS
*
T:OVB    EQU      %
         PUSH     #REGSAVED,0
         LW,0     *T:OVBPSD         MREF B
         WD,0     X'27'             ENABLE
         STW,0    J:OVRLY
         B        CALL1
*
* MREF ENTRIES FOR BRANCH & LINK INSTRUCTIONS
*
*        XPSD,0   T:OVBALPSD
*        GEN,8,4,3,17 SEG#,LINK,0,OVERLAY ADDRESS
*
T:OVBAL  EQU      %
         PUSH     #REGSAVED,0
         LW,0     *T:OVBALPSD       MREF BAL
         WD,0     X'27'             ENABLE
         STW,0    J:OVRLY
         LW,2     S:CUN             CURRENT USER
         LB,3     UB:OV,2           CURRENT OVERLAY
         BEZ      CALL2             NO CURRENT OVERLAY
         LW,1     Y00F
         AND,1    J:OVRLY           LINK REGISTER
         SCS,1    12                RIGHT JUSTIFY
         AW,1     TSTACK
         LW,1     -#REGSAVED+1,1    RETURN ADDRESS
         STB,3    1                 OSTACK=GEN,8,24 SEG#,RETURN ADDRESS
         LW,4     TSTACK
         AH,4     TSTACK+1
         MTH,-1   TSTACK+1          STEAL SPACE
         BLZ      OSTACKOVERFLOW    SC 79 01
         STW,1    0,4               PUSH UP
         LI,0     X'6A'             OP-CODE FOR BRANCH & LINK
         LB,4     J:OVRLY           NEW SEGMENT
         STB,0    J:OVRLY
         LI,15    UB:OV
         BAL,1    NOOV1             ASSOCIATE NEW OVERLAY
         PULL     #REGSAVED,0
         EXU      J:OVRLY           B OR BAL,LINK OVERLAY ADDRESS
         XPSD,0   SKIPPSD
XPSDVECT XPSD,0   SKIPPSD
         XPSD,0   SKIPPSD
         XPSD,0   SKIPPSD
         XPSD,0   SKIPPSD
         XPSD,0   SKIPPSD
RETURN   EQU      %
         PUSH     #REGSAVED,0
         LW,1     SKIPPSD
         WD,0     X'27'             ENABLE
         AND,1    M17               ADDRESS
         AI,1     -XPSDVECT         DETERMINE WITCH XPSD WAS EXECUTED
         LW,4     TSTACK
         MTH,1    TSTACK+1
         AH,4     TSTACK+1
         AW,1     0,4               PULL UP
         STW,1    J:OVRLY           RETURN ADDRESS
CALL1    EQU      %
         LW,2     S:CUN
         LB,3     UB:OV,2
CALL2    EQU      %
         LB,4     J:OVRLY
         LI,15    UB:OV
         BAL,1    NOOV1             RE-ASSOCIATE OLD OVERLAY
         PULL     #REGSAVED,0
         B        *J:OVRLY          RETURN
*
*
Y00F     DATA     X'00F00000'
         PAGE
*
*        INITIATE A GHOST JOB
*
         REF      BLANK
T:INITJOB EQU     %
         LI,1     JB:PRIV
         LB,0     0,1
         CI,0     X'A0'
         BGE      INITJOB1          GHOST PRIV OK
         LW,1     S:CUN             TIC IS TOO
         LH,1     UH:FLG,1
         CI,1     TIC
         BAZ      CC1SET
INITJOB1 EQU      %
         LW,0     BLANK             GET NAME FROM FPT
         LW,1     BLANK
         LB,2     *7
         AND,2    M7
         STB,2    0
         LB,5     *7,2
         STB,5    0,2
         BDR,2    %-2
*
         BAL,10   T:GJOBSTRT        START IT UP
         BCS,8    CC1SET
         BCS,4    CC2SET
         B        CC0RST
         DEF      T:GJOBR
*
*        T:GJOBR IS ENTRY TO PASS RESOURCE NAME FROM KEYIN
*
T:GJOBR  EQU      %
         STB,2    10                SAVE RESOURCE NAME INDEX IN LINK
         CI,12    0                 WAS AN ACCCOUNT NUMBER PASSED
         BEZ      T:GJOBSTRT        NOPE
         LD,8     12                YES - MOVE IT
         LW,15    SL:GPRIO          PICK UP DEFAULT PRIORITY
         B        T:GJOB            ENTER
T:GJOBSTRT EQU    %
         LW,15    SL:GPRIO          GET DEFAULT GHOST PRIORITY
         LD,8     SYSACT            ASSUME (:SYS)
T:GJOB   EQU      %                 ENTRY WITH ACCOUNT IN R8,R9
         WD,0     X'37'             DISABLE
         LI,5     MAXG              FIND NAME
         CD,0     S:GJOBTBL,5
         BE       GJOB01
GJOB02   RES      0
         BDR,5    %-2
         MTW,0    BOOTFLG
         BNEZ     GJOB10            NO NO-NAMES IF NOT UP YET
         LI,2     MAXG
         CD,5     S:GJOBTBL,2       FIND ENPTY SLOT
         BE       %+3
         BDR,2    %-2
         B        GJOB10
         REF      SNULL
ADDGJOB  LI,6     SNULL             GET NULL STATE
         CI,2     MING              RESERVED SLOT
         BGE      ADDGJOB1          NO
         LB,4     SB:HQ,6
         BNEZ     %+2
         STB,2    SB:TQ,6           SET TAIL
         STB,2    SB:HQ,6
         STB,2    UB:BL,4
         STB,4    UB:FL,2
ADDGJOB1 LB,4     SB:HQ,6           GET HEAD OF AVAILABLE SLOTS
         BEZ      GJOB10
         STB,4    SB:GJOBUN,2       PUT USER NO
         STB,15   UB:PRIOB,4        SET BASE PRIORITY
         STD,0    S:GJOBTBL,2       PUT NAME
         STD,8    S:GJOBACN,2       SET ACCOUNT
         MTW,1    S:GUIS
         BAL,11   ADD1
         LCI      0
         B        *10
GJOB01   EQU      %
         CD,8     S:GJOBACN,5       CHECK FOR ACCOUNT MATCH
         BNE      GJOB02            NO, KEEP GOING
         LW,2     5                 GET RIGHT INDEX REG
         LB,5     SB:GJOBUN,2       GET USER #
         BEZ      ADDGJOB           PREESTABLISHED NAME, LOG IT ON
         LB,6     UB:US,5           IS HE ASLEEP
         CI,6     SW
         BE       GJOB03            DEFINITELY WAS ASLEEP
         CI,6     SQFI
         BE       GJOB03            IF QUEUED FOR INTERRUPT
         LW,4     5                 ALWAYS RET WITH R4=USER#
         LCI      X'A'              PASS BACK 'RUNNING' CCS
         B        *10
GJOB03   LI,6     E:WU              PASS WAKE UP EVENT FOR GHOST
         BAL,11   T:RUE             WAKE UP THE GHOST
         LCI      4
         B        *10
*
GJOB10   EQU      %
         WD,0     X'27'             ENABLE
         LW,4     5                 ALWAYS RET WITH R4=USER#
         LCI      8
         B        *10
         PAGE
*
*
T:SELFDESTRUCT EQU %                ZAP THE CURRENT MONITOR
         LW,4     S:CUN             OVERLAY AND DECREMENT
         LB,1     UB:OV,4           ITS USER COUNT.
         CI,1     MAXOVLY           CHECK FOR LEGAL VALUE
         BGE      *11
         STB,1    11                SAVE 1
         LI,1     0
         STB,1    UB:OV,4
         LB,1     11                GET 1
         MTB,-1   PB:REP,1          DECREASE USERS ASSOCIATED
         MTB,-1   PB:UC,1
         LH,1     UH:FLG2,4
         CI,1     X'800'            LOCKED IN CORE
         BAZ      NOLCT             NO
         LB,1     11
         MTB,-1   PB:LCT,1          STILL LOCKED
         BG       NOLCT             YES
         LB,1     PB:PSZ,1          NO, GET PSZ
         LCW,1    1                 AND TAKE IT
         AWM,1    S:RTCORE          FROM RTCORE
NOLCT    LB,1     11
         B        *11
         PAGE
MAPCW1   GEN,7,25 :BIG+1,0
         BOUND    8
SEGNAME  EQU      %
         TEXTC   'OPEN'
         TEXTC    'CLOSE'
         TEXTC    'LTAPE'
         TEXTC    'DEBUG'
         TEXTC    'MULOV'
         TEXTC    'LDLNK'
         TEXTC    'MISOV'
         TEXTC    'OPENTP'
         TEXTC    'STEPOVR'
         TEXTC    'ENQOV'
         TEXTC    'RTOV'
         TEXTC    'RMAOV'
         TEXTC    'TQOV1'           TP Q MANAGER OVERLAY SEGMENT 1
         TEXTC    'TQOV2'           TP Q MANAGER OVERLAY SEGMENT 2
*
*        ADD NEW TEXTC SEGMENT NAMES HERE
*
         PAGE
         DEF      OPNSEG
         DEF      CLSSEG,DLTSEG,DELSEG
         DEF      LBLTSEG
         DEF      DEBUGSEG
         DEF      MULSEG
         DEF      LDLNKSEG
         DEF      MISOVSEG
         DEF      IODTYSEG
         DEF      STEPOVRSEG
         DEF      ENQSEG
         DEF      RTNRRTSEG
         DEF      RMAOVSEG
         DEF      TQOV1SEG
         DEF      TQOV2SEG
         DEF      OPNTPSEG
*
*        ADD NEW DEFS FOR SEGMENT # NAMES HERE
*
OPNSEG   EQU      0
CLSSEG   EQU      1
DLTSEG   EQU      1
DELSEG   EQU      CLSSEG
LBLTSEG  EQU      2
DEBUGSEG EQU      3
MULSEG   EQU      4
LDLNKSEG EQU      5
MISOVSEG EQU      6
IODTYSEG EQU      7
STEPOVRSEG EQU    8
ENQSEG   EQU      9
RTNRRTSEG EQU     10
RMAOVSEG EQU      11
OPNTPSEG EQU      IODTYSEG
TQOV1SEG EQU      12                TP Q MANAGER OVERLAY SEGMENT 1
TQOV2SEG EQU      13                TP Q MANAGER OVERLAY SEGMENT 2
*
*        ADD NEW SEGMENT #'S HERE
*
         PAGE
         PAGE
*        SAME RELATIVE POSITION AS ADDITION TO VECTOR IN RDERLOG
*        RMAOVSEG
ADD1MO   SET      0
*
T:RDERLOG#        AD1
T:WTERLOG#        AD1
T:MODPRTRT#       AD1
T:BLIST#     AD1
T:DOPEN#     AD1
T:DCLOSE#         AD1
T:LOCK#           AD1
T:MAP#            AD1
         PAGE
*        MISOVSEG
ADD1MO   SET      0
*
MVNAMDAT# AD1
T:ASSOCIATE# AD1
T:DISASSOCIATE# AD1
T:CHTBL# AD1
T:SAVEGET# AD1
T:GHOST# AD1
T:WAIT#  AD1
MSTRAP#  AD1
MXCON#   AD1
MINT#    AD1
MSTIMER# AD1
MTTIMER# AD1
T:DSMT#  AD1
T:JOBENT# AD1
MSRTFILE# AD1
MTIME#   AD1
PEOF#    AD1
PFIL#    AD1
PLEOFRM# AD1
PRECORD# AD1
REW#     AD1
WEOF#    AD1
SEGLD#   AD1
T:GDDL#  AD1
AVR#     AD1
MSRKEY#  AD1
         PAGE
*  CLS
ADD1MO   SET      -1
*
CLSM#    AD1
REL#     AD1
CLSC#    AD1
DELFWD#  AD1
DELETE#  AD1
DELSET#  AD1
DELO#    AD1
DELAA#   AD1
BADA#    AD1
ERFILDA# AD1
         PAGE
*  MUL
ADD1MO   SET      -1
*
MULMUL#  AD1
RELMUL#  AD1
OPV#     AD1
OPNDEV#  AD1
LDEV#    AD1
CCLOSE#  AD1
OPNLD#   AD1
         PAGE
*                   IODTYSEG/OPNTPSEG
ADD1MO   SET      0
*
OPNLA#   AD1
OPNLO#   AD1
OPNT#    AD1
AOPNL1#  AD1
OPNLBL#  AD1
OPNT1#   AD1
RDCLS#   AD1
CLSTP#   AD1
MSRCLSLBL# AD1
CLSLBL#  AD1
RELTP#   AD1
         PAGE
*        RTNRRTSEG
ADD1MO   SET      0
*
RTGJOBCON#        AD1
RTCONNECT#        AD1
RTDISCON#         AD1
RTCLOCK#          AD1
RTRNDWN#          AD1
RTSTOPIO#         AD1
RTSTARTIO#        AD1
RTRESDF#          AD1
         PAGE
*                 ENQSEG
ADD1MO   SET      0
*
CHKQO#   AD1
CHKUO#   AD1
DEQUEUE# AD1
ENQALL#  AD1
ENQOLD#  AD1
LNKQUE#  AD1
RELDWO#  AD1
RELQO#   AD1
SAJCK#   AD1
TEST#    AD1
ENQ#     AD1
*
         PAGE
*      STEPOVRSEG
ADD1MO   SET -1   NOTE 1ST ENTRY =0 (T:EXIT#)
*
T:EXIT#       AD1
T:ERROR#      AD1
T:ABORT#      AD1
XCONSETUP#    AD1
KICKOFF#      AD1
RUND#         AD1
T:SCRATCH#    AD1
T:ASP#        AD1
ASP1#         AD1
OUTPGS#       AD1
T:DEL#        AD1
T:ECCP#       AD1
T:TELDELCCI#  AD1
T:DELUS#      AD1
DCBCHK#       AD1
T:AMRDWT#         AD1
T:GVP#   AD1
T:FVP#   AD1
T:SAD#   AD1
T:GDP#   AD1
T:FDP#   AD1
T:GCP#   AD1
T:FCP#   AD1
T:SMP#   AD1
T:GL#    AD1
         PAGE
*        TQOV1SEG
ADD1MO   SET      -1
*
TQUEUE#  AD1
TQ:RTN#  AD1
TQ:NEWQ# AD1
TQ:MOVE# AD1
TQ:AOK#  AD1
         PAGE
*        TQOV2SEG
ADD1MO   SET      -1
*
TQ:ABORT#         AD1
TQ:UNLOCK#        AD1
TQ:PURGE#         AD1
TQ:LOCK#          AD1
CKECB1#           AD1
CNMPROC9#         AD1
CNMPROC0#         AD1
CNMPROC1#         AD1
CNMPROC2#         AD1
CNMPROC3#         AD1
CNMPROC4#         AD1
CKECB#            AD1
TQ:AUTH#          AD1
         END

