home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / guts / guts.man < prev    next >
Text File  |  2020-01-01  |  24KB  |  531 lines

  1. 1
  2. -
  3.                               KERMIT-GUTS             February 11, 1985
  4. -
  5.  1. Introduction
  6. +_______________
  7. 0KERMIT  is   a set of programs  that transfer files  between computers
  8.  over normal terminal  communication lines.   It implements  the  "KL10
  9.  Error-Free   Reciprocol  Microcomputer   Interchange  over  TTY-Lines"
  10.  protocol.   Originally designed to be used between a microcomputer and
  11.  the DEC-20, the protocol  will  also  transfer files  to  and  from  a
  12.  microcomputer  and IBM mainframe systems running under MVS/GUTS.
  13. 0KERMIT transfers data  by creating packets with  information regarding
  14.  the  type of packet being sent,  it's length,  a packet number,  and a
  15.  checksum  to  determine whether  the  data  has been  modified  during
  16.  transmission.   If a packet is lost or garbled, KERMIT will attempt to
  17.  resend it.
  18. 0Written  in  IBM  370  assembly language  to run under MVS/GUTS on IBM
  19.  370-series mainframes (System/370, 303x, 43xx, 308x,  ...).  These are
  20.  half duplex   systems;  the  communication   line  must  "turn around"
  21.  before any data can  be sent to it.   The fact that  a packet has been
  22.  received from the IBM system  is  no  guarantee that it is ready for a
  23.  reply.   Thus any Kermit talking to this system must wait for the line
  24.  turnaround character (XON) before transmitting the next character.
  25. 0IBM  systems  talk  to  their terminals through a communications front
  26.  end (IBM 3705, 3725,  COMTEN 3805,  etc).   These front ends generally
  27.  insist on using  the 8th  bit  of  each  character  for parity.   This
  28.  means  that  binary  files  (files  con-taining  other  than  ordinary
  29.  letters, digits, punctuation,  carriage returns,  tabs,  and so forth)
  30.  can not  be correctly sent  or received  by these systems  with Kermit
  31.  (protocol version 1).
  32. 0The IBM system under  MVS/GUTS is unable to interrupt a  read  on  its
  33.  "console".   This   means  that   the  IBM   version of  Kermit cannot
  34.  timeout.  The only way to "timeout" GUTS Kermit is from the other side
  35.  -- typing a  carriage return to  the micro's  Kermit   causing  it  to
  36.  retransmit  its  last packet,  or an  automatic timeout as provided by
  37.  Kermit-20.   For  this reason,   GUTS   Kermit  waits   twenty seconds
  38.  before  sending its  first packet  when sending  files from  MVS/GUTS.
  39.  This gives  the user sufficient time  to return to the   local  Kermit
  40.  and  issue  the  Receive  command.    Otherwise,  a  protocol deadlock
  41.  would arise requiring manual intervention by the user.
  42. 0Also, MVS/GUTS stores files as records rather byte streams.   MVS/GUTS
  43.  Kermit  has to  worry  about   assembling  incoming  data packets into
  44.  records and stripping  CRLFs from incoming lines,   and also appending
  45.  CRLFs to - and stripping trailing blanks from -- outgoing records.
  46. 0You must be using an ASCII terminal to run KERMIT-GUTS.
  47. 0KERMIT-GUTS can only work with OS  files,  not with GUTS files.   This
  48. 0                                - 1 -
  49. 1
  50. -
  51.                               KERMIT-GUTS             February 11, 1985
  52. 0means that if you  want to transfer a GUTS file you  will have to copy
  53.  it first to an OS file.
  54.  The KERMIT-GUTS receives a file from a micro he will store it as an OS
  55.  file. You can then after transmission copy the OS file to a GUTS file.
  56.  For more information see chapter 5.
  57. -Please note  that this  document should be  used in  conjunction  with
  58.  the  Kermit  manual,   and   assumes  you   have  read   the  sections
  59.  pertaining  to  the  IBM/PC   microcomputer.    For  more  information
  60.  regarding the manual,   see  the  Reference section at the end of this
  61.  report.
  62. -
  63. -
  64. -
  65. -
  66. -
  67. -
  68. -
  69. -
  70. -
  71. -
  72. -
  73. -
  74. -
  75. -                                - 2 -
  76. 1
  77. -
  78.                               KERMIT-GUTS             February 11, 1985
  79. 02. GUTS Command Syntax and Options
  80. +__________________________________
  81. -/KERMIT
  82. 0You simply type a carriage return after issuing the KERMIT command.
  83. 0Commands:
  84. 0          Send
  85. 0          Receive
  86. 0          Set
  87. 0          Show
  88. 0          Status
  89. 0          Help
  90. 0          Exit
  91. 0          Quit
  92. 0          ?
  93. -2.1. GUTS KERMIT Command Options
  94. +________________________________
  95. 0SEND <dataset name>
  96.            Send the specified dataset.  KERMIT-GUTS will send only  one
  97.            file  per   request,   no wildcarding  is allowed.    If the
  98.            dataset name is  not   specified,  KERMIT-GUTS  will  prompt
  99.            for one.  Note, dataset must be cataloged.  Kermit will only
  100.            search  on the  volume(s)   specified  with the  /SET  UNIT=
  101.            command.   Kermit will add your &INDEX prefix to the dataset
  102.            name  unless  you  have  written   a  leading  and  trailing
  103.            apostrophy.
  104. 0RECEIVE <dataset name>
  105.            Receive the file  sent from  the  micro.     If  the dataset
  106.            name  is   not  specified KERMIT-GUTS  will prompt  for one.
  107.            If no  dataset previously   exists with   this  name  a file
  108.            will be  created using  the value  of the  SPACE  parameter.
  109.            (NOTE,  at  this time  KERMIT-GUTS does not trap for abends,
  110.            and if  the  file   being  received   excedes   the    space
  111.            allocated   KERMIT-GUTS  will abnormally  terminate.)    The
  112.            attributes for  the dataset  will be  taken from  the RECFM,
  113.            LRECL,   and BLKSIZE  parameters.    If   a dataset   exists
  114.            KERMIT-GUTS will prompt to see if  you wish to overwrite the
  115.            dataset.  Note| Kermit will create an OS dataset, not a GUTS
  116. 0                                - 3 -
  117. 1
  118. -
  119.                               KERMIT-GUTS             February 11, 1985
  120. 0          file. The OS dataset will be plased on the volume, or one of
  121.            the volumes you have specified by the /SET UNIT= command.
  122. 0SET <parameter> <value>
  123.            Set  the parameter  to  the  specified value.     Legal  Set
  124.            commands are:
  125. -          SPACE <d>
  126.                 Specifies   the   number  of   tracks  to  be allocated
  127.                 to the dataset.  The default is  5 tracks.    Both  the
  128.                 primary  and  secondary allocation are set to the value
  129.                 specified.
  130. 0          RECFM <c>
  131.                 Denotes the record  format to  be  used   when creating
  132.                 the    dataset.     Only  fixed   and  variable  length
  133.                 records  are   allowed,    where   variable    is   the
  134.                 default.     Indicate   the desired  record  format  by
  135.                 either an F or a V.
  136. 0          BLKSIZE <d>
  137.                 Indicates the  block size  for  creating   the dataset.
  138.                 The default  is 80 and the  maximum is 32767.    If the
  139.                 RECFM is  F  the  blocksize must  be a multiple  of the
  140.                 value specified in the LRECL parameter.   If RECFM is F
  141.                 then the BLOCKSIZE must be at least LRECL + 4.
  142. 0          LRECL <d>
  143.                 Indicates  the   logical  record  length   for creating
  144.                 the dataset.  The default is set to 80, and the maximum
  145.                 allowed is 255.  If  the RECFM  is  V  the  value  must
  146.                 include  the 4  bytes for  the  record descriptor  word
  147.                 (RDW).
  148. 0          QUOTE <c>
  149.                 The quote  character you  wish to use  in place  of the
  150.                 default  (#).    It  must  be   a   single,   printable
  151.                 character    from   among   the following:   33-62, 96,
  152.                 or 123-126 (decimal).
  153. 0          START <d>
  154.                 Indicates  the   start-of-header   character which  you
  155.                 choose to send  and receive.   The default  is a CNTL-A
  156.                 (ASCII 01),  but  can  be set  to  any two digit number
  157.                 between 00 and 31 (dec).
  158. 0          END <d>
  159.                 Indicates  the  end-of-line  character   you choose  to
  160.                 send.   The default is a CR (ASCII 13),  but can be set
  161.                 to any two digit  number between 00 and 31 (dec).
  162. -                                - 4 -
  163. 1
  164. -
  165.                               KERMIT-GUTS             February 11, 1985
  166. 0          PAC <d>
  167.                 Allows  the  user to specify the packet size the  micro
  168.                 should  use   when   sending    to KERMIT-GUTS.     The
  169.                 range is 26-94 (decimal), where 94 is the default.
  170. 0          DEBUG <ON | OFF>
  171.                 Allows the user to specify whether  a  trace of  packet
  172.                 information  will be writen to a dataset.  Before using
  173.                 this option the   user must  have  allocated  a dataset
  174.                 to file name (ddname) "DEBUG".
  175. 0          DELAY <d>
  176.                 Allow the user to specify the length of time in seconds
  177.                 that KERMIT-GUTS will  wait  after  the  user  issues a
  178.                 SEND.   The default is 20 seconds.   This will give the
  179.                 user  time  to  escape  back  to  his  micro KERMIT and
  180.                 issue the neccesary commands.
  181. -SHOW STATUS
  182.                 Displays the current  value of all variables   that can
  183.                 be changed via the SET command.
  184. 0STATUS
  185.                 Returns   the   status  of the  previous  execution  of
  186.                 KERMIT-GUTS.     Therefore,    STATUS    will    either
  187.                 display     the      message     "Kermit      completed
  188.                 successfully",  or  the  last  error  encountered prior
  189.                 to aborting.
  190. 0HELP           Displays  a message  that briefly  explains KERMIT-GUTS
  191.  commands.
  192. 0EXIT           Exit from KERMIT-GUTS.
  193. 0QUIT           Same as EXIT.
  194. 0?              Lists all legal KERMIT-GUTS commands.
  195. -
  196. -
  197. -
  198. -
  199. -
  200.                                  - 5 -
  201. 1
  202. -
  203.                               KERMIT-GUTS             February 11, 1985
  204. 03. Examples under GUTS
  205. +______________________
  206. 0Here is a brief  example of how to use the  IBM/PC in conjunction with
  207.  KERMIT-GUTS to send a file to the IBM-PC.
  208. 0    A>kermit
  209. 0    Kermit-86>set loc on            ; Indicate half duplex
  210.      Kermit-86>set ibm on            ; Cause line turn around wait
  211.      Kermit-86>set baud 1200         ; Set the baud rate
  212.      Kermit-80>connect
  213. 0       < The micro will act as a regular terminal from now on. >
  214.         < Logon here as you normally would, and run KERMIT-GUTS.>
  215. 0    /KERMIT
  216.      KERMIT-GUTS Version 1.00 at GUC.
  217. 0    KERMIT-GUTS>?
  218.      Legal Commands are:
  219.      Receive, Send, Help, Exit, Quit, Set, Status, Show
  220.      KERMIT-GUTS>send finger.database         ; Send this file
  221. 0    Waiting    20 seconds before sending.
  222.      ^$C                                     ; Return to the micro
  223. -
  224. 0                                            ; by typing <escape>$C
  225. 0    Kermit-86>
  226.      Kermit-86>receive                       ; Micro receives the file
  227. 0        <The file is sent .......>
  228. 0    Kermit-86>connect
  229. 0        <press carriage return to see GUTS's prompt>
  230. 0    KERMIT-GUTS>status
  231.      Kermit completed successfully
  232.      KERMIT-GUTS>ex
  233.      _
  234.      /OFF
  235.      TSC0018I  ABCAA logged off at 13.47.10, Monday, February 11, 1985
  236.      ......
  237. 0    ^$C                         ; Return to the micro
  238.                                  ; by typing <escape>C
  239. 0    Kermit-86>exit
  240. 0                                - 6 -
  241. 1
  242. -
  243.                               KERMIT-GUTS             February 11, 1985
  244. 0    A>
  245. 0In  order  to send a file from  the IBM/PC to the IBM mainframe repeat
  246.  the above  procedure swapping the command  SEND with RECEIVE  and vice
  247.  versa.
  248. -
  249. -
  250. -
  251. -
  252. -
  253. -
  254. -
  255. -
  256. -
  257. -
  258. -
  259. -
  260. -
  261. -
  262. -
  263. -
  264.                                  - 7 -
  265. 1
  266. -
  267.                               KERMIT-GUTS             February 11, 1985
  268. 04. Additional Information
  269. +_________________________
  270. 0      The  commands  are  supplied with a help option,   so a question
  271. +1.
  272.        mark can  be typed to  get the appropriate  format or a  list of
  273.        options.    The  question mark,  however,  must  be  followed by
  274.        a carriage  return;  KERMIT-GUTS  will respond  and display  the
  275.        prompt again.  For instance, SET ?   will list all valid options
  276.        for the SET command.
  277. 0      When  receiving files,   if the  record format  is fixed,    any
  278. +2.
  279.        record   longer  than    the  logical  record  length   will  be
  280.        truncated.   The  record length  can be  as high  as 255.    For
  281.        receiving files, the  maximum  record  length  is 255.
  282. 0      Before  connecting  to  the  IBM mainframe,  three flags must be
  283. +3.
  284.        set.  You should set the IBM flag on, set the LOCAL-ECHO flag on
  285.        (used to  indicate half  duplex),    and  specify  the baud rate
  286.        you will  be using.   To  turn a flag  on,  type to  the micro's
  287.        prompt "Set XXX On" where XXX  is  the  flag name.  Indicate the
  288.        baud rate by typing "Set baud", and choose from among a list the
  289.        IBM-PC supplies.   These flags will remain  in effect as long as
  290.        you do  not exit from the  micro's version of Kermit.    See the
  291.        example of a session for further clarification.
  292. 0      The  current  version of KERMIT-GUTS  does not support timeouts.
  293. +4.
  294.        The user,  therefore,  should hit the carriage return key  after
  295.        a  long  period  of inactivity (that is, when the screen display
  296.        does not change.)
  297. 0      Since  the micro  does not send an error packet  when it aborts,
  298. +5.
  299.        KERMIT-GUTS  does not  know  the micro  has  stopped sending  it
  300.        information.    Therefore,   when you connect  back to  the IBM,
  301.        KERMIT-GUTS may still be sending packets (they  will  appear  on
  302.        the screen).   The user must hit a carriage return until KERMIT-
  303.        GUTS has  sent the  maximum   number  of  packets   allowed  and
  304.        aborts.   The error  message,  however,  will not  indicate that
  305.        communication stopped  because  the  micro  aborted,  but rather
  306.        that no start of header character was found.
  307. 0      The minimum send packet size   KERMIT-GUTS  will  allow  is  26.
  308. +6.
  309.        This  is  necessary  to  avoid   an  error  while   sending  the
  310.        filename or an error packet.   If  the micro tries  to  set  the
  311.        value  to  be   less  than  26,  KERMIT-GUTS   will  immediately
  312.        abort  with  an  error of "Bad send-packet size."
  313. 0      During the initialization process  with the micro,   KERMIT-GUTS
  314. +7.
  315.        sends  all  six  pieces  of information  (that is,   the receive
  316.        packet size, the timeout data, the number of padding characters,
  317.        the character used  for  padding, the  line  terminator, and the
  318.        quote  character.)  When  receiving this  data  from the  micro,
  319.        KERMIT-GUTS   ignores   the   data    regarding   timeouts   and
  320.        padding;    they    do  not  effect  the   program's  execution.
  321. 0                                - 8 -
  322. 1
  323. -
  324.                               KERMIT-GUTS             February 11, 1985
  325. 0      Therefore,  if the quote and end-of-line characters used are the
  326.        defaults,   the  micro   need only  send KERMIT-GUTS  its buffer
  327.        size.    Only  if the  defaults  are  not  used must   ALL   the
  328.        information   be   sent   (since   the   data    is    organized
  329.        positionally).     If,   however,    the   micro  sends all  the
  330.        information  even when  not required,   KERMIT-GUTS will  simply
  331.        ignore the irrelevant portion.
  332. 0      When  sending packets  to  KERMIT-GUTS,  the  micro  must use  a
  333. +8.
  334.        carriage   return  as   the    end-of-line   character.     GUTS
  335.        requires   a  carriage   return  to  terminate a  read from  the
  336.        terminal; thus, if any other character is used, KERMIT-GUTS will
  337.        never get the packets.
  338. 0      KERMIT-GUTS  translates  the  data  it  reads  back   to   ASCII
  339. +9.
  340.        (characters  not representable in ASCII are replaced by a null).
  341.        Not only is  it easier to work   with   ASCII  characters,   but
  342.        it  makes  things  more  consistent throughout the many versions
  343.        of Kermit.   When the packets are sent to the micro, KERMIT-GUTS
  344.        converts  all  data  back  to EBCDIC.    The  ASCII  to   EBCDIC
  345.        translation  table can  be found  in  Appendix V  of the  Kermit
  346.        manual.
  347. -
  348. -
  349. -
  350. -
  351. -
  352. -
  353. -
  354. -
  355. -
  356. -
  357. 0                                - 9 -
  358. 1
  359. -
  360.                               KERMIT-GUTS             February 11, 1985
  361. 04.1. Error Messages
  362. +___________________
  363. 0KERMIT-GUTS  supplies   the  micro  and the  user with  numerous error
  364.  messages.   If the execution must be aborted, an error packet is  sent
  365.  to  the  micro  before KERMIT-GUTS  stops.   The  same  message can be
  366.  retrieved via the STATUS command when KERMIT-GUTS returns and displays
  367.  the prompt.    If KERMIT-GUTS  aborted because  the maximum  amount of
  368.  retries was exceeded (20 on initialization packets and  5 on  others),
  369.  the  error message will display the most recent error (i.e. - the last
  370.  NAK  KERMIT-GUTS  encountered).    If   execution  stops  because  the
  371.  micro aborted,  the error message will convey that to the user, but it
  372.  is the  micro's responsibility to  pinpoint the error.    The messages
  373.  KERMIT-GUTS  gives  are  as follows :
  374. 0       "Bad send-packet size"
  375.                 Sent when the micro attempts  to set its receive buffer
  376.                 size to  a value  that is  less than  26 (the   minimum
  377.                 that  KERMIT-GUTS  will accept) or larger than 94,  the
  378.                 maximum.  It  will also occur  if KERMIT-GUTS  tries to
  379.                 send  a  packet   that  is  larger  than   the  maximum
  380.                 specified.
  381. 0       "Bad message number"
  382.                 If the packet number is less  than zero or greater than
  383.                 63  (at which  point it  should "wrap  around" back  to
  384.                 zero).   This  message is returned  if the  packet type
  385.                 does not fall between A-Z.
  386. 0       "Unrecognized State"
  387.                 If   KERMIT-GUTS  is   in   a   state  not   previously
  388.                 defined  by the  protocol,   it  will abort  with  this
  389.                 message.
  390. 0       "No SOH encountered"
  391.                 This  error  arises  if KERMIT-GUTS  reads  the  entire
  392.                 packet  without  encountering an  SOH character.    The
  393.                 result is that it sends a  NAK to the micro,  and marks
  394.                 this error as the most recent one.
  395. 0       "Bad Checksum"
  396.                 If  the   checksum calculated  by KERMIT-GUTS  does not
  397.                 match the one sent by the micro,  KERMIT-GUTS NAK's the
  398.                 packet  and  flags  this error.
  399. 0       "Bad character count"
  400.                 This  error   is set if  KERMIT-GUTS receives  a packet
  401.                 whose  size  is  illegal  (that  is,    if   the   size
  402.                 parameter   was  garbled   during  transmission of  the
  403.                 packet.)
  404. 0       "Micro sent a NAK"
  405.                 Keep track of who rejected the packet.
  406. 0                                - 10 -
  407. 1
  408. -
  409.                               KERMIT-GUTS             February 11, 1985
  410. -       "Lost a packet"
  411.                 When  a  packet  is received and the sequence number is
  412.                 different from  the number  KERMIT-GUTS expected,   the
  413.                 packet is NAK'ed.
  414. 0       "Micro aborted"
  415.                 Tells you that the micro aborted unexpectedly.
  416. 0       "Invalid RECFM, only fixed or variable supported"
  417.                 KERMIT-GUTS  will abort  on  any  file-system error  it
  418.                 encounters when  reading from the  file it is  to send.
  419.                 It can  only send files  with variable or  fixed length
  420.                 record formats,   therefore,   Wylbur   Edit or  Packed
  421.                 format files will cause an error.
  422. 0       "BLKSIZE not a multiple of LRECL for RECFM=F"
  423.                 KERMIT-GUTS  will  refuse RECEIVE request and return to
  424.                 the KERMIT prompt.    The BLOCKSIZE is not  an integral
  425.                 multiple  of   the   LRECL when  RECFM  F  (fixed)   is
  426.                 specified.
  427. 0       "LRECL not less than BLKSIZE-4 for RECFM=V'
  428.                 KERMIT-GUTS  will  refuse RECEIVE request and return to
  429.                 the KERMIT  prompt.   The LRECL for  RECFM=V (variable)
  430.                 must  be four  less  than  the BLKSIZE  to include  the
  431.                 block descriptor work (BDW).
  432. 0       "Open for dataset failed"
  433.                 Indicates a problem opening the dataset.
  434. -
  435. -
  436. -
  437. -
  438. -
  439. -
  440. -
  441. -                                - 11 -
  442. 1
  443. -
  444.                               KERMIT-GUTS             February 11, 1985
  445. 0               5. Sending and receiving a GUTS file.
  446. +               _____________________________________
  447. -               KERMIT-GUTS can only send and receive OS files.
  448.                 If you want to send a GUTS  file you must first copy it
  449.                 to an OS file.  If you want to receive a GUTS file, you
  450.                 must copy  the OS file to  a GUTS file.   The following
  451.                 examples will illustrate how to do this:
  452. -               Sending a GUTS file to a micro
  453. +               ______________________________
  454. 0               /ALLCAT PUB001,TESTFILE  -- Allocate and catalog an OS file called --
  455.                                          -- TESTFILE on PUB001.                    --
  456.                 (Note. The Volumename must corresponde with the volume or volumes
  457.                 you have specified with the /SET UNIT= command. See GUTS referense
  458.                 Manual for further information.)
  459. 0               /TSOS DATA,TESTFILE      -- Copy the GUTS file "DATA" to the OS file --
  460.                                          -- TESTFILE                                 --
  461. 0               /KERMIT                   -- Start up the KERMIT-GUTS program        --
  462.                 KERMIT-GUTS version 1.00 at GUC.
  463. 0               KERMIT-GUTS> SEND TESTFILE
  464.                 Waiting    20 seconds before sending.
  465. 0                (Now go back to your micro and tell it to receive a file)
  466. 0               (After successful transmission you connect back to KERMIT-GUTS)
  467.                 KERMIT-GUTS> EXIT
  468.                 /SCRUNC TESTFILE      -- Scratch and uncatalog the OS file --
  469. -
  470. -
  471. -
  472. -
  473. -
  474. -
  475. -
  476.                                  - 12 -
  477. 1
  478. -
  479.                               KERMIT-GUTS             February 11, 1985
  480. 0               Receiving a GUTS file from a micro.
  481. +               ___________________________________
  482. 0               /KERMIT                      -- Start the KERMIT-GUTS program --
  483.                 KERMIT-GUTS version 1.00 at GUC.
  484. 0               KERMIT-GUTS> RECEIVE TESTFILE  (Tell KERMIT-GUTS to receive a file
  485.                 from the micro and call the OS file "TESTFILE")
  486. 0               (Now go back to your micro and ask it to send your file to GUTS.
  487.                 After successful transmission go connect back to KERMIT-GUTS.)
  488. 0               KERMIT-GUTS> EXIT
  489. 0               /OSTS TESTFILE,TEST          -- Copy the OS file "TESTFILE" to  --
  490.                                              -- a GUTS file and call it "TEST"  --
  491. 0               /SCRUNC TESTFILE             -- Scratch and uncatalog the OS file --
  492.                                              -- called TESTFILE                   --
  493. -
  494. -
  495. -
  496. -
  497. -
  498. -
  499. -
  500. -
  501. -
  502. -
  503. -
  504. -                                - 13 -
  505. 1
  506. -
  507.                               KERMIT-GUTS             February 11, 1985
  508. 0               6. Reference
  509. +               ____________
  510. 0               For   a   more  detailed   explanation  of   Kermit  or
  511.                 information regarding  the IBM-PC,  consult  the Kermit
  512.                 manual,  Kermit  Users Guide  and Specification.    The
  513.                 manual   is  available   at  Gothenburg   Universities'
  514.                 Computing centre.
  515. -
  516. -
  517. -
  518. -
  519. -
  520. -
  521. -
  522. -
  523. -
  524. -
  525. -
  526. -
  527. -
  528. -
  529. -
  530. 0                                - 14 -
  531.