/IMP SUPERVISOR
 .LOC 0
    JMP TB+2000             /->INITIALISATION
    JMP INT
WT  JMP Q5                  /(WT) WAIT = JMP 2
RET 0                       /(3) GUARD = JMS RET
    IOF
    DAC* ACAD
    JMP* RET
    0                       /(7) TIMER
    0                       /(10) NP
    0
    0
.IM 0                       /(13) KB INT MESSAGE
.NF 0                       /(14) NEW FILE
    0                       /(15) DITTO
    0                       /(16) DITTO
    0                       /(17) DITTO
/CAL ENTRY
    0                       /(20)
    CLC                     /(OR HLT!CLC)
    TAD 20; DAC 20          /DECREMENT AD
    LAC* 20                 /PICK UP CAL INSTR
    SNA; JMP .LE            /LOAD EXEC IF ZERO
    JMP ERR
WC                          /(30)
CA                          /(31)
.SS .SIZE                   /(32) SUPER SIZE
.MA 17777                   /(33) MAX ADDRESS
.SD 12000                   /(34) SYS DEV (READ)
.DG GAP                     /(35) DECTAPE GAP
.LR 0                       /(36) LINK R FLAG
.LT 0                       /(37) LINK T FLAG
.TI TB                      /(40) TP INSERT POINTER
.TE TB                      /(41) TP EXTRACT POINTER
.TL 0                       /(42) TP LIMIT POINTER
.TK 0                       /(43) TP CHAR
.KE TB                      /(44) KB EXTRACT POINTER
.KI TB                      /(45) KB INSERT POINTER
.KL 0                       /(46) KB LIMIT POINTER
.KK 0                       /(47) KB CHAR
ESC 33                      /(50) ESCAPE CHAR
.FN 0                       /(51) FAULT NUM
.CS 0                       /(52) CONTROL (INPUT)
    0                       /(53) CONTROL (OUTPUT)
    0                       /(54) CONTROL LIM
.LO .SIZE                   /(55) LOW LIM
.UL 0                       /(56) USER LIBRARY
.NL 12                      /(57) NEWLINE
/INTERRUPT
INT EEM
    DAC* ACAD
    LAC 0; DAC* PCAD        /STORE RETURN AD
    AND (77770; SNA; JMP Q5 /CAUGHT OFF GUARD ->
    JMS PCAD                /SET UP PC POINTER
PC1 6000; Q9; Q9
PCAD PC1
    JMS ACAD                /SET UP AC POINTER
AC1 0; 0; 0
ACAD AC1
    LAC PC1; DAC RET        /PREPARE FOR RETURN
/DEVICE CASCADE
    JMP* .DT
.DT .+3; JMP Q0; JMS .DT    /DECTAPE
    JMP* .CR
.CR .+3; JMP Q0; JMS .CR    /CARD-READER
    RSF1; JMP C1            /LINK RECEIVER
    RCF1; ISZ .LR           /SET DONE
    JMP Q0
C1  TSF1; JMP* .LP          /LINK TRANSMITTER
    TCF1; DZM .LT           /CLEAR BUSY
    JMP Q0
.LP .+3; JMP Q0; JMS .LP    /LINE-PRINTER
    JMP* .PR
.PR .+3; JMP Q0; JMS .PR    /PAPER-TAPE READER
    JMP* .PP
.PP .+3; JMP Q0; JMS .PP    /PAPER-TAPE PUNCH
    KSF; JMP C4             /KB FLAG
    LAC BUSY; SZA           /IF TP ACTIVE
    LAW -6000; DAC BUSY     /SET DELAY
    LAC RET; SNA!CLL; CML   /SET LINK IF RET 0
    KRB; AND (177
    DAC .KK
    SAD ESC; JMP C3         /ESCAPE ->
    SNL; JMP* .KB           /NOT AFTER ESC =>
    DAC .IM                 /INTERRUPT MESSAGE
    SAD (15; JMP K26        /ESC CR ->
    LAC PC1; DAC RET        /RESTORE RET
    CLA
    JMP* .KB
C3  SZL; JMP K25            /DOUBLE ESC ->
    DZM RET
    LAC .TK; JMS TYPE       /LF?
    LAW 77; JMS TYPE        /'?'
    JMP Q0-1
C4  CLSF; SKP; CLSF!CLON    /CLOCK
    TSF; JMP Q0             /TELEPRINTER
    ISZ BUSY; JMP Q0
    TCF
    JMP* .TT
.TT .+4; JMP Q0             /TELEPRINTER
.KB K21; JMS .TT            /KEYBOARD
/RETURN AFTER INTERRUPT OR HANDLER CALL
Q0  LAC RET
Q3  SNA!RAL                 /RESTORE LINK
    JMP* .DT                /HOWL AFTER ESC
    LAC* ACAD               /RESTORE AC
    ION
    JMP* RET
/WAIT
Q5  CLC; TAD RET; DAC* PCAD /SET RETURN AD
    ISZ PCAD; ISZ ACAD      /BUMP TO NEXT
Q7  LAC* PCAD; DAC RET
    JMP Q3
Q9  JMP Q9                  /LAST PROCESS
/SYSTEM LOAD PROCEDURES
.LS JMS SYSLD               /LOAD SYSTEM
    0; 4; -15000; 2000
    JMP 2000
ERR DAC .FN                 /SET FAULT NUM
.LL JMS SYSLD               /LOAD LOADER FOR DIAG
    0; 10; -2000; 4000
    JMP 4000
.LE JMS SYSLD               /LOAD EXECUTIVE (AND LOADER)
    0; 10; -13000; 4000
    JMP 6000
.LC JMS SYSLD               /LOAD COMPILER
    0; 40; -14345; 3400
    JMP* .-1
SYSLD
S1  LAC .SD; DAC* SYSLD     /SYS DEV (READ)
    LAC SYSLD               /PARAMETER AD
    JMS RET; JMP .DH        /CALL DT HANDLER
    LAC* SYSLD              /FINISHED?
    SMA!SZA; JMP .-2        /NO ->
    SMA!CMA; JMP S2         /OK ->
    JMS RET; JMP .MH        /REPORT ERROR
    JMP S1
S2  LAC SYSLD; TAD (4       /BUMP PAST
    DAC SYSLD               /PARAMETERS
    JMP* SYSLD
/TELETYPE BUFFER [+INITIALISATION]
TB  CAF; EEM; IOF; EBA
    LAC 2000; DAC 0         /COPY DOWN SUPER
    ISZ TB+2004; ISZ TB+2005
    ISZ TB+2013; JMP TB+2004
    JMP V1
    -2000
V1  NOP; NOP; NOP; NOP
    LAW 15; JMS OUT         /CR
    LAW 12; JMS OUT         /LF
    LAW 12; JMS OUT         /LF
    LAW 12; JMS OUT         /LF
    LAW 111; JMS OUT        /'I'
    LAW 115; JMS OUT        /'M'
    LAW 120; JMS OUT        /'P'
    CLL!CLA                 /PDP9(7) OR PDP15?
    RAL!RAR; SZA; JMP .+4   /15 (HAS IAC) ->
 .IFUND PDP7
    LAW 71; JMS OUT         /'9'
 .ENDC
 .IFDEF PDP7
    LAW 67; JMS OUT         /'7'
 .ENDC
    JMP .+5
    LAW 61; JMS OUT         /'1'
    LAW 65; JMS OUT         /'5'
    LAW 15; JMS OUT         /CR
    LAW 12; JMS OUT         /LF
    NOP; NOP; NOP; NOP
    JMP Q7
OUT
    TLS; TSF; JMP .-1; TCF
    JMP* OUT
 .LOC TB+122                /82 [10]
/TYPE CHAR
.TS TB-1;.TM TB+121
POS;BUSY;TWL;KE1;LAST
TYPE
    SNA; JMP* TYPE
    DZM .TK; DAC TWL
    LAC BUSY; SPA; JMS .TT  /WAIT IF BUSY
    LAC TWL; TLS            /SEND CHAR
    SAD (15; DZM POS        /ZERO POS IF CR
    AND (140                /CONTROL?
    SZA!CLC; ISZ POS        /INC POS IF NO
    DAC BUSY                /SET BUSY
    JMP* TYPE
NL
    LAC (15; JMS TYPE       /CR
    LAC (12; DAC .TK        /LF
    JMP* NL
/KEYBOARD HANDLER
.KH SZA; JMP .TH            /PROMPT OR ENABLE ->
    LAC .KE                 /UP TO LIMIT?
    SAD .KL; JMP Q5         /YES => WAIT
ACC ISZ RET                 /ACCEPT
    SAD .KI; JMP K2         /BUFF EMPTY & KB IDLE ->
    SAD .TM; LAC .TS        /WRAP IF NECESSARY
    TAD (1; DAC .KE         /INCREMENT
    LAC* .KE; DAC* ACAD     /PUT CHAR IN 'AC'
    JMP Q0                  /=>
K1  DZM .TK; DZM LAST
K2  DZM .TI; DZM .TL        /LOCK TP
K3  LAC .KI; DAC .KL        /SET KB LIMIT
K4  LAC .KI
    SAD .TM; LAC .TS        /WRAP IF NECESSARY
    TAD (1
    SAD .KE; JMP K18        /BUFF FULL ->
    DAC .KI
    LAC .TK                 /PENDING CHAR?
K5  JMS TYPE
K6  JMS .KB
    SAD (177; JMP K10       /RUBOUT ->
    SAD (25; JMP K11        /CONTROL+U ->
    SAD (15; JMP K12        /CR ->
    DAC* .KI
    SAD (12; JMP K1         /LF ->
    AND (140                /CONTROL?
    SNA; JMP K18            /YES ->
    ISZ POS
    JMP K4
K10 CLC; TAD .KI            /CANCEL LAST CHAR
    SAD .TS; LAC .TM
    SAD .KL; JMP K6         /IF ANY
    DAC .KI
    LAW 134                 /BACK-SLASH
    JMP K5                  /-> ECHO
K11 LAW 100; JMS TYPE       /AT-SIGN
    JMS NL; JMS TYPE        /NEWLINE
    LAC LAST; SPA; DAC .TK  /PROMPT?
    LAC .KL; DAC .KI
    JMP K4
K12 LAC .NL; DAC* .KI
    SKP
K15 ISZ MESS                /JOG MH (IF RELEVANT)
    LAC (12; DAC .TK        /PENDING LF
    DZM POS
K18 DZM .KK; DZM LAST
K19 LAC .KI; DAC .TI        /RESET TP POINTERS
    DAC .TE
    LAC .KE; DAC KE1
    DZM .KL; DZM .TL        /UNLOCK KB AND TP
/KB IDLE
K20 JMS .KB
K21 SAD (12; JMP K1         /LF ->
    SAD (15; JMP K15        /CR ->
    JMS NL                  /NEWLINE
    LAC .TL                 /TP ACTIVE?
    SZA; JMP T4             /YES ->
    JMP K20
/DOUBLE ESCAPE AND ESC CR
K25 DZM ESC
    LAC (.LS; JMP K27       /FORCE SYSTEM RELOAD
K26 DAC .FN                 /FAULT 13[10]
    LAC PC1; DAC 20         /SIMULATE CAL
    AND (74000; SZA; LAW -6
    TAD (.LE
K27 DAC RET
    CLC; DAC TRY            /NO RETRY IF DT ACTIVE
    LAC ACC; DAC .MH        /UNLOCK (ISZ RET)
    DAC POS                 /DELAY
    ISZ POS; JMP .-1
    JMP K15
/TELEPRINTER HANDLER
.TH LAC .TI
    SAD KE1; LAC .KI        /HOP OVER KB PART
    SAD .TL; JMP Q5         /LOCKED => WAIT
    ISZ RET                 /ACCEPT
    SAD .TM; LAC .TS        /WRAP ROUND
    TAD (1; DAC .TI
    LAC* ACAD; DAC* .TI
T1  LAC .KI                 /HANDLER ACTIVE?
    SAD .KL; JMP Q0         /YES =>
    DAC .KL                 /SET ACTIVE AND LOCK KB
T3  LAC .TE                 /BUFF EMPTY?
    SAD .TI; JMP K19        /YES ->
    SAD KE1; LAC .KI        /HOP OVER KB PART
    DAC .TL                 /SET LIMIT
    SAD .TM; LAC .TS        /WRAP ROUND
    TAD (1; DAC .TE
T4  LAC .KK                 /IGNORE OUTPUT?
    SNA; JMP T5             /NO ->
    SAD (40; LAC .NL        /NL FOR SP
    XOR* .TE; SMA!SZA; JMP T3 /NO MATCH ->
    DZM .KK
    LAC* .TE; SAD .NL; JMP T3 /NL ->
T5  LAC* .TE; AND (140      /CONTROL?
    SNA; JMP T6             /YES ->
    LAW -110; TAD POS       /72 CHARS?
    SMA; JMS NL             /NEWLINE
T6  LAC .TK; JMS TYPE       /PENDING LF?
    LAC* .TE
    SAD (400000; JMP K2     /INPUT ENABLE ->
    DAC LAST
    AND (177
    SAD .NL; JMP T8         /NL ->
    JMS TYPE
    JMP T3
T8  JMS NL
    JMP T3
/MESSAGE OUTPUT SR
MI;MJ;MK
.MH ISZ RET                 /OR WAIT
    DAC M1+1                /DEVICE
    LAC WT; DAC .MH         /LOCK
    LAC RET; DAC MI         /SET EXIT AD
    JMS MESS
M1  .SIXBT '@@?*** NOT READY ;'
    JMP* MESS               /WAIT FOR CR
    LAC ACC                 /(ISZ RET)
    IOF; DAC .MH; ION       /UNLOCK
    JMP* MI
MESS
M5  LAC* MESS; DAC MJ
    ISZ MESS
    LAW -3; DAC MK          /3 6-BIT CHARS
M6  LAC MJ; SMA!CLL; STL    /RESTORE 7TH BIT
    RTL; RTL; RTL; DAC MJ
    RAL; AND (177
    SAD (100; JMP M7        /'@' ->
    SAD (73; JMP* MESS      /';' =>
    SAD (77; LAW 40         /ENSURE PRINTING
    JMS RET; JMP .TH        /TYPE CHAR
M7  ISZ MK; JMP M6
    JMP M5
/BUFFER GET AND PUT
.BL;BJ
.BU
    SZA; JMP B5             /AD IN AC -> RELEASE
    LAC .BL                 /BUFFER LIST EMPTY?
    SZA; JMP B3             /NO ->
    LAC .LO; DAC BJ         /BUFFER AD = LOW
    TAD (400; DAC .LO       /UPDATED LOW
    CMA; TAD 10             /LESS THAN NEST P?
    SMA; JMP B4             /YES ->
    ISZ 0; JMP .-1          /LET I/O STOP
    CAL 4                   /BUFF AREA FULL
B3  DAC BJ                  /BUFFER AD
    LAC* .BL; DAC .BL       /UPDATE LIST
B4  LAC BJ                  /EXIT WITH AD
    JMP* .BU
B5  DAC BJ                  /ADD AD TO LIST
    LAC .BL; DAC* BJ
    LAC BJ
B8  DAC .BL
    LAW -400; TAD .LO       /RECLAIMABLE?
    SAD .BL; SKP; JMP* .BU  /NO =>
    DAC .LO                 /ADJUST LOW
    LAC* .BL
    JMP B8
/DECTAPE HANDLER
U0  0; 0; 0; 0; 0; 0; 0; 0
DA;DB;U;SEEK;TRY
.DH ISZ RET                 /OR WAIT
    DAC DA                  /*1ST OF 4 PARAMETERS
    LAC WT; DAC .DH         /LOCK
    LAW -2; DAC TRY         /TRY TWICE
D1  LAC DA; TAD (1; DAC DB  /*REQD BLOCK
    LAC* DA; AND (16007     /FUNCTION+UNIT
    SAD* DA; SNA; JMP D9    /INVALID ->
    AND (7; DAC U           /UNIT
 .IFDEF DISK
    RCR; SNL; LAS           /EVEN UNIT & SW0 SET?
    SPA; JMP DK1            /YES -> DISK
    LAC U
 .ENDC
    TAD (U0; DAC CA         /*UNIT SLOT
    LAC (CLL; DAC Q         /CLL IF REV
    LAC* DB
    SMA!RAL; ISZ Q          /CLL!CMA IF FWD
 .IFUND PDP7
REVBIT=40000;MINGAP=3;GAP=5
    LAC U; RTR; RTR         /UNIT+DIRECTION
    XOR (21600; DAC SEEK    /GO+SEARCH+ENABLE+CLEAR EF
    DTCA                    /CLEAR DT CONTROL
 .ENDC
 .IFDEF PDP7
REVBIT=20;MINGAP=10;GAP=10
    LAC (41                 /SEARCH FWD
    SZL!CLL; XOR (REVBIT
    DAC SEEK
    LAC U; SNA!RTR; TAD (2  /ZERO TO EIGHT
    RTR; RTR; RAR
    MMSE; DZM DTCON
    LAC* DB; DAC DTBLK#
 .ENDC
    LAC* CA                 /CURRENT POSN (APPROX)
Q   CLL!CMA; TAD* DB        /REL TO REQD BLOCK
    LAC SEEK
D2  SZL; JMP D6             /DIRECTION OK ->
D3  XOR (REVBIT
D4  JMS ACT                 /BACK OFF
    SZL; JMP D5             /EOT ->
    LAC* CA; XCT Q; TAD* DB /DIFFERENCE - 1
    SPA!SNA!CLA; JMP D4     /-> KEEP GOING
D5  XOR (REVBIT
D6  JMS ACT                 /HOME IN
    SZL; JMP D3             /EOT ->
    LAC* CA; XCT Q; TAD* DB
    TAD (1
    SZA!CLA; JMP D2         /-> KEEP GOING
    LAW -MINGAP-1; XCT Q    /THIS IS IT
    ADD* CA; DAC* CA        /POSN FOR NEXT TIME
    ISZ DB                  /*WORD COUNT
    LAC* DB; DAC WC
    SMA!CLC; JMP D7         /SEARCH ONLY ->
    ISZ DB                  /*BUFF START
    TAD* DB; DAC CA         /CA = BUFF-1
 .IFUND PDP7
    LAC* DA; XOR (1000      /CHANGE FROM SEARCH
    JMS ACT                 /PERFORM TRANSFER
D7  DZM* DA                 /ZERO TO SIGNAL DONE
D8  DTRA; AND (20400; DTXA  /STOP UNIT
 .ENDC
 .IFDEF PDP7
    JMS DTTFER
D7  DZM* DA                 /ZERO TO SIGNAL DONE
D8  MMLC+10                 /STOP UNIT
 .ENDC
D9  LAC ACC; DAC .DH        /UNLOCK (ISZ RET)
    JMP .DT+2               /==> SYSTEM
D10 LAC U; XOR (735317      /COMP(DTU)
    DAC* DA                 /TO INDICATE ERROR
    XCT 21                  /HALT?
    JMP D8
 .IFDEF DISK
/DISK HANDLER
DK0 1000; 2000; 3000; 0000  /FOR DT0,DT2,DT4,DT6
DK1 LAC U; RCR
    TAD (DK0; DAC CA
    LAC* DB; SPA; JMP D10   /REVERSE => ERROR
    TAD* CA                 /DISK BLOCK AD
    CLL; RTL; RTL           /CONVERT TO WORD AD
    RTL; RTL; DLAL
    GLK; DLAH
    ISZ DB
    LAC* DB; DAC 36
    SMA!CLC; JMP D7
    ISZ DB
    TAD* DB; DAC 37
    LAC* DA; AND (4000
    SZA; LAC (2
    TAD (3
    DETC
    JMS .DT
    DSSF; JMP .DT+3
    CLA; DSRS; DSCD
    SMA; JMP D7
    JMP D10
 .ENDC
ACT
 .IFUND PDP7
    XOR (200; DTXA          /LEAVE EF (USUALLY)
    JMS .DT                 /WAIT FOR DEVICE
    DTRB
    SNA!RCL; JMP .DT+3      /NOT DT ==>
    SNL!RTL; JMP* ACT       /OK (LINK CLEAR) =>
    ISZ TRY; SKP; JMP D10   /NOT FIRST ERROR =>
    SNL; JMP D1             /NOT EOT => RESTART
    LAC (20200              /GO+CLEAR EF
    JMP* ACT                /(LINK SET) =>
 .ENDC
 .IFDEF PDP7
/MODIFIED J.V.O. PDP7 DT HANDLER
    XOR DTCON; DAC DTCON
    MMLC                    /LOAD CONTROL
    JMS .DT                 /WAIT FOR DEVICE
    JMS DTFLAG; JMP .DT+3   /NOT DT =>
    JMP A1                  /DATA ->
    JMP DTEROR              /BLOCK END ->
    ISZ TRY                 /ERROR
    SKP; JMP D10            /NOT FIRST ->
    MMRS; AND (40000        /EOT?
    SNA!STL!CLA; JMP D1     /NO ->
    JMP* ACT                /=> (LINK SET)
A1  MMRD; DAC* CA
    CLL
    JMP* ACT
DTFLAG
    MMRS; AND (700000
    SNA!RCL; JMP* DTFLAG
    ISZ DTFLAG
    JMP .-3
DTTFER                      /DATA TRANSFER
NEXT ISZ DTCON              /CONTROL WORD BECOMES READ
    LAC WC; DAC DTCNT#      /WORD COUNT
    LAC* DA; AND (4000      /READ OR WRITE
    SZA; JMP DTW            /WRITE
    LAC (DAC* CA; DAC DTRX
    LAC DTCON
    MMLC                    /LOAD CONTROL - READ
    JMS DTFLAG; JMP .-1
    JMP .+3                 /DATA ->
    JMP DTEROR              /BLOCK END ->
    JMP DTEROR              /ERROR ->
    MMRD; AND (77           /REV PARITY
    DAC DTCHK#
DTRW JMS DTFLAG; JMP .-1
    JMP DTTRD               /DATA ->
    JMP DTTRB               /BLOCK END ->
    JMP DTEROR              /ERROR ->
DTTRD MMRD                  /DATA FLAG
    ISZ CA
DTRX DAC* CA                /OR NOP
    XOR DTCHK; DAC DTCHK
    ISZ WC; JMP DTRW
    LAC (NOP; DAC DTRX
    JMP DTRW
DTTRB JMS DTBCHK            /BLOCK END FLAG
    MMRD                    /DATA WORD
    XOR DTCHK; LRS 6        /WITH FORWARD PARITY CHECK
    XOR DTCHK; LRS 6
    XOR DTCHK; CMA
    AND (77
    SZA; JMP DTEROR
    JMP BLKEND              /BLOCK READ O.K.
DTW CLC; DAC DTCHK          /INITIALISE PARITY CHECK
    LAC (LAC* CA; DAC DTWX
    ISZ DTCON               /CONTROL WORD BECOMES WRITE
    LAC DTCON
    MMLC                    /LOAD CONTROL - WRITE
DTWW JMS DTFLAG; JMP .-1
    JMP DTTWD               /DATA ->
    JMP DTTWB;              /BLOCK ->
    JMP DTEROR              /ERROR ->
DTTWD ISZ CA
DTWX LAC* CA                /OR CLA
    MMWR
    XCT DTWX
    XOR DTCHK; DAC DTCHK
    ISZ WC; JMP DTWW
    LAC (CLA; DAC DTWX
    JMP DTWW
DTTWB JMS DTBCHK            /CHECK FOR PREMATURE END
    LAC DTCHK; ALS 6
    XOR DTCHK; ALS 6
    XOR DTCHK; CMA
    AND (770000
    MMWR                    /WRITE PARITY CHECK
 .DEC
    LAW -500                /500 MICROSEC DELAY
 .OCT
    TAD (7; SPA; JMP .-2
BLKEND LAC WC               /MORE?
    ISZ DTBLK
    SMA; JMP* DTTFER        /NO =>
    LAC SEEK; DAC DTCON
    MMLC                    /FIND NEXT BLOCK
    JMS DTFLAG; JMP .-1
    JMP .+3                 /DATA ->
    JMP DTEROR              /BLOCK END ->
    JMP DTEROR              /ERROR ->
    MMRD; CMA; XCT Q
    SAD DTBLK; JMP NEXT
    JMP DTEROR
DTBCHK 0                    /CHECK FOR PREMATURE BLOCK END
    LAW -400; TAD WC
    SAD DTCNT; JMP* DTBCHK
DTEROR NOP                  /CAN BE PATCHED TO HLT
    ISZ TRY
    JMP D1
    JMP D10
 .ENDC
/IOT DEFINITIONS
DTCA=707541;DTRA=707552;DTXA=707544
DTLA=707545;DTRB=707572
DLAL=707024;DLAH=707064;DETC=707047
DSSF=707001;DSRS=707262;DSCD=707242
MMRD=707512;MMWR=707504;MMSE=707644
MMLC=707604;MMRS=707612;MMDF=707501
MMBF=707601;MMEF=707541
RSF1=704101;RCF1=704104
TSF1=704001;TCF1=704002
TSF=700401;TCF=700402;TLS=700406
KSF=700301;KRB=700312
EBA=707764;EEM=707702
CLSF=700001;CLON=700044
 .END
