IMD 1.17: 5/01/2010 18:40:39 NGEN ServerGen x12.0 Editor April '88  zArchive<"g<"g9|M^?2@2.2򤸧GPGP?2.2P@2P,2?2@2.2򤸧GPGP?2.2P@2PV]U츧GPGPPP?;2GPGPPP(=2GPGPPP<2"2ޣ t<t7&"2;2@=2"2<2"2I"2H8I>t0 x12.0 Editor Changes New Features:  Protected-Mode operation  Nationalized/diacritical key support  Any modifying action to a ReadOnly doc causes make-writable prompt and action, like Debug File  Autoindention option  CT-Net node support New Commands:  Block Check, used to check source files (F3)  Code/H display toggle between normal display and a hexadecimal, Dump- style display.  Display current line number (Code/N)  Display number of characters in selection or file (Code/Shift/N)  Goto last edit (Shift/F1)  Upper/lower case conversion (upper - Code/[, lower - Code/])  Date/time display (Code/T)  Insert tab (Code/Tab) -- inserts tab without changing cursor position  Space tabs -- Shift/Tab (from 11.0, but not documented)  Direct access to Documents menu options via Code/Shift and documents menu letter, such as C for Copy or L for List Documents  Shift/F9 -- Mark to (but not including) end-of-line Shift/10 -- Mark to end-of-file  Volume Status report from File Commands menu or Code/Shift/V, selected directory name would be filled in if Path or List Files menus are invoked  Open Files list from File Commands menu shows files opened since last save, useful for reopening closed files without typing filespec or for discarding changes from closed file that hasn't been changed  New window commands: full/tiled window options (F4 or code/GO), with Code/Next and Code/numeric - to jump from window to window  Zoom support (Code/Z) added  Shift/Prev Page to jump to previous formfeed (like Shift/Next Page) New Search/Replace options:  'Ignore embedded match?' Search and Replace options  'Select?' Search option  'Alter caps of replacement?' Replace option  Search menu allows two search patterns, with user specifying search for pattern 1, 2 or both  'Expand wildcard?' Search option -- '?' matches any character, '*' matches range (up to end-of-line), and single-quote forces these characters to be literal (non-wildcarded)  Code/Go at Search menu to search backwards (up) UserFile options:  Tab length Default: 4  Open mode Default: Modify  Auto Indent Default: No  Use wildcards? Default: No  Set Defaults menu (F7), used to change above options and optionally save to .user file For color workstations:  Normal color Default: Whatever was setup by Exec or CM  Half bright color Default: ditto  Display Colors menu (Shift/F7) allows you to define these colors for any of the 64 possible colors, and optionally save to .user file Standard Software Interface:  Code/Delete to clear form field, like Executive  Wildcarded and @file open file specs supported  Supports single-quotes surrounding filespec with embedded spaces  Mail notification  VLPB preserved -- Exec redo now works  Preserve Exec video parameters, such as pause suppress, zoom and color  Documents are now called files, work area is now called path  Directory listing information is now same as information from Files command  Initial path   ?O@P_/@!o ""0#P#/ '@1O2 3?;P= A BO0B?BE I0TU Ub0ccefhg@%'("E)*  -./#Dd-i?  ( S b $ 0Rv,ae}-H)CU:Q>_W<9\z @ y%uu   D    8!/ESn)a]#Cb  S q restored on exit List Files Changes:  'Look For' option in List Files -- only list file if specified string is in it, wildcard support dependent on use wildcards default  Directory List and Volume Status are no longer dismissed after file open   Sorted directory lists by name or suffix Misc. Changes:  Help function keys display, like Document Designer  Increased maximum user windows from 7 to 8  Reduced minimum tab setting from 4 to 3  Commands requiring a window now also work on window border  Typescript and temporary files are deleted on successful finish  Menus have DD/Mail-style titles  Nationalization kit  Default file prefixes are no longer supported (feature never fully implemented) Open 12.0 Problems:  When new window opens, previous window often scrolls up several lines  All menu fields that accept file or wildcard specs need to be parsed the same, i.e. multiple entries, wildcard expansion, etc.  Adding characters to the end of a file in hex mode screws up the display Suggested Enhancements:  User-defined tabs  Menu-sensitive help  WP/DD tab conversion/viewing  Wait for master-up or exit option when master down and remote files open  Accept multiple [Read-only?] parameters (one per file)  Preserve files-to-be-opened list  Macro support  Set Indention -- insert/remove user-specified white space depending on level of block indention (non-language specific pretty-printing)  Before failing open file due to too many docs open, check doc list for closed doc that has no changes and free it  Restore initial path on exit  Exec-like overwrite options and confirm each for Copy and Rename Files  Implement divide in full-screen, maybe collapse divided windows when returning to tiled mode  Don't return to tiled mode during save  Filespecs with embedded passwords (using ^) need to have the passwords hidden skfRev or maskfHb> <> ~, ~ ~)%' %DefineMenu(cmidHelp, CmrDisplayHelpMenu, false, 22, ~ HELP ~, ~|(Press CQUERYCHARSANDATTRSPLM86 V2.303/24/88 21:52:1Ֆ=STACKMEMORYCODEDATACONSTQUERYCHARSANDATTRS_CODEDGROUP:h@GHH TND KQUERYCHARSANDATTRSیL GETPSTRUCTURE LOCKVIDEO OSVERSIONQUERYFRAMECHARSANDATTRS UNLOCKVIDEOc DU$FPF u&~ r vvv^Sv ^SvmPPFPF uT^&G ;FvC^_ ^FF&HN&PV&@F&F9Vs9NrwF t N t;u"F uFFFfFPFfY;v>^&?w2PPFPF u^&.    &FFvvv^&FFFFHN;r\~ tv~^&^&~tvF~^&@^&FH;Fu]FuF)FFFlz+ V7VKVV\\\\\\0VͧVt    4@ FVt)Jd;]r'Zquy>y%f9 $AFw      > W ll' ' [ [ E[ f[ [ [  Y s   / 7 l    X   # + P  ^ $ w M q  L <  &  M e    y& & & 3 Z o  A ] l  ]    A  G 7   1    b 3b eb b b b b & Q   9 @   B Repu'/dlU  , BIL<<<{>>,>?># >2Ee {~yl' Z [  & y b s  e Q <{#0>=K[=s PK `P6|PP+#PP$P/# tPd `P# tPd `|#~#n##ZR##vR##RPP'#<$& s@sl<PlPP QWP-P7 PPPlP.P7 <:tA<PP#P/# u # tuP#P,P7 <|#&@u"ZRPPP#P3L#;|#&O@;wA;F|#&luNTO|#&OlNwmOF<PRP# tPd @<Ⱦ$<򤠥r<ȾA<|#&G;du@<# tPd # tPd  # tPd |#&G;fu#us}#uw #t=1u>#u 7 P8#P@=S6D=}#8#PPP}#>(#u0# .#u2##늚 ##uPX# t P6L 6#d U ^&u~wmu^&w &wP^&G^&w &wP^&G^&w &wP PPFV^&7&_SWRPFP#]U ~ F^ &NF&OZ&WPPGPPF Yu^ &7PG PP] UQ~ F^ &FF&GZ&W&G] U!]UF$&8G!uWNQPdF=!uFF]UPPFPTF uh~tPPFPTF uD~tPPFPTF u FfRPPPF]Us^V$h^#P PP^PPFPQF uq^SF uqP PPhPPFPQF uK^SF uFPPPFPPFPQF u{^SF uj`$&!u&G"r`8PPP`PPFPQF u\^SF uqbPdPF ul;P PPbPPFPQF uF^SF uvDP PPdPPFPQF u^SF uTFrNPPPPPFPQF u^SF unoP PPNPNPFPQF uD^SFfP PPNPNPFPQF u ^SFF]U|#&9GuPd |#POP|# P PFPP7 s#N#v& jvF tPe;c;FP"#P#SnF u"#PrmPpFF tPe<PPFPTP7 Nv;Fc;;QPc;< r/PT t"FFFFPFP @u^SP ^SP@HP## uk>@taF@HN;rQF|#&GZ&WPQFPT# u-F|#&GZ&WvFP# uFu]UfF#u#P(F u(PFFFFFPdF u{#FFF@@tYFFF;@wFHPPFPTP7 Nv^FF^@FFu;Ⱦ;PP7 nPPPvPhPPFPPFPd ]U>TuT>Tu L 76TTF 6TNV $&uFD]U~uTヿuL 6~uvTヿt L 5}s$T㋇$&*#,#T㋇D2#T6T$&D>Tu TTヿtL 4T]U ^&t L 05^GFF^_^Fv&2#^&&W*#,#]U9F*#,#+׉NV2#+ȉNPFPF u'^.PvvvF uFP F unFrS@PvvvF uIFP F u8FsP*FV^SP+FF]UFFVFr`~uZ*F u皜sޠ9Ȣ92#N*#>,#V~b9SPQWRPF^Sv2F뙋F]U~ u ^&6(~ u ^&4~ u ^&5^&3]U>Tu L 8DTFF~u FFFVFr*Fu Lq 3F us/2#F*#,#NVb9S9˷SPRQPZFPF uF9Ft ;FuFsF;TuFFt#P3F tuvvvvF>Ftuv^F tF]U # #PR"#_Y;u;r P"PrmPpPFPPFV"#; #u;#r P"PrmPpPvF tPvsF t PebPPPP PP!PPPPPPTPPDPPPP$P P!PP!PP!S6!!PP@<PP$<P@<Pr<PPA<Pr<P<PP;PP;P;PsRPP'F t=ujF t PXFSFV"#6"P"PP P"## #"PwmPpP<]Ut <Z Xt#XX>ZuZ ZZFsZX]UXZ"F uu6&FFFHN;r$&8)uFv&8(uFFuыF;Ft!FF uZ Xu@^&F]UQ^SP6}F uj^SPP}F u^S;P;P}F u^SPP}F u^S;P;P}F uj^SPP}F uPFs6^SPP}F u/^S9Pk:P}F u^SPP}]U>;u'FPF u|FV#&&&<PRPF u|#&&OPPFVd;Q;QWQWRPF t=uFPd;PP]U&? uG]U6N&8 u 6 u]˸]U.FԴXZF>=u+JVuJVv&8 u uFNF@F v L) 9*RP&7FPTF~t Lh :6~֋NFFPvFPFӚ"F u6&F)@F uFFF衔HN;r$&8)uFv&8(uFFuыF;FtDFF uFs\s(^&u1<^&u X^&uuXgs,FPvPPPFPQF!FPvPXPPFPQF~u ^SFXZ^&&WF]U절sC~ u^SP~ u ^SPдXZ;^ . 8Xz$8^&&WXZm^&&W+XZ1^&&WX>ZךY,^&&WX>Z,XZ^&&WX>Z,>X6Z^&&W;Zu;Xtv^&&W;Zu;Xvn^^&&W;Zu;XsVF^&&W;Zu;Xt>.^&&W;Zu;Xw&^&&W;Zu;XrXZ1XZ&^&&W!X!Z^&&W X ZXZ^&&W]UQ&?tF t&?u^&SPP$u^& GuSPP$u ^& !SPP$u^& G(SPP$u^& G]U&?uOF us(PFP*F u3~XZFVFF^F ub&?tXFPb&:ʱuA"s3&8uF,OF u v^SF u F^SP+FF]UQ&?tF t&?u^&SPP$u ^&DSPP$u ^& !SPP$u^& ^&9tOa&<=t<>t<u ^&&?;t F u9[u4ȴ؀9]u'k:9#k:,#&9d;k:k:;FrQF uQk:t>;su1RQ9QgQPFPF u~u@r.r^@=Mv^㍇P6D=F u:^Ŀ6@=D=FY^㋇FF@Fe]U*#,#FVvFPF u\vF uPFV*#,#"#PrmPpF u.<vF< uuF tPeF]UQ*F ur]UQF u`rR9{uk:˷9}uk:,k:F9l:NskF un>k:tn>k: wq>9[u*k:˷9]uk:9l:k:,9l:k:k:FrF u{>k:u>k: wu>9uk:9^l:k:,^l:9k:k:FFr7F uLk:t$<(wN^^l:9k:k:FFrHsF uxk:t,< vh^^^l:9k:k:Fl:PFP؍l:QNQNٍl:PvF u^^l:Pv]U>Tt3PXLq 3xF|#&G &W &G9uyFFwJ؊b90:r9w *ʋJ+^b9A:rF|#P|#&P P|#& P&PF tPd #P#& P&&F6 RPPPPP"F #PP6}FFPP|#&wF~u #QNQP}F~u #P3PP}F~u;6 RPPPPP"F #PP6}F~u #PF~u #PFF tPd ]Ufsk:u9l:k:k::Pm#(MۚԚQ͚ƚ뿚븸P*FV-Pw떚 {Q tP^ie^PM AF=P3 /F u&1s*FF u]U b9P9ȴPFPFs L.>2#Fb9P9PPFPPFPQF u ^SFF]UQQFPP*F^&Z&WN s-v؎8b999& FFrl*F uj9F=v L-Rv8b999Frrrv& F닋FH]UF^SvFPFsFsKFsDF FFV FV^SvPFPPFPQF u ^SFF]UPFPF u!PFF^SP+FF]U#& ##F;##Ⱦ;#<##Ⱦ;Y$#&Z$&&[$]$;_$`$Ⱦ;#&&~$$P6&&#PP]UQ*F ur<]UQ*F ur<]UQF u6>k:t'>k:w 9$<k:k:@<r]UQF u6>k:t'>k:1w 9A<k:k:r<r]UQr*F t]U6>b9$uFF^b9F^9+ÉF*F u6s*s#^&#=`5u+JVu^&G0*&W*Ѷ‰F^(=FP$PFP.F uF@;Fv< vBʢ<>8#Pb9P9P}F u8#P-PP}F ur8#P.*Fr>~u88#P/PP}F uL8#Pb9P9P}F t.8#P0PP}F tFF u]Us $$?F$$F$<P$P F uŸPFF~ s;>$t4 PF<P$P F uPFF뿃>$t4 P8#P@=S6D=}F u8#P4P6#FPF uFr@P6#cF uFFs6#FPF u^&G :@PPcF u6#FPlF u^&G!SF ul P8#P@=S6D=}F uHFPPvF8#QNQP}F u8#P7PP}F u]U"s$uZ6#FPF u_^&tFP^& ?t+&G!SF u16#FPF tFtM PF u]Usk:u!F s ^&?t^&s^&뻸]UQ^&s*F u"^&sPrG*F uvrerٚrК*F uOrr3s}r*F urݚrԸ]U|#&_^F&7^ S*F uKv& ^ &?^Y/F u)P^S,F u^&SPv] UQ;*F u{r{rrr*F uQrQrHb9l:99:*F uvrXsX*F urXr*>99wcb9;99;*F uHr5b9l:99:*F urr]UF t NQNQH FPFPPFF t~uF|#&GZ&WFFH;FsЉFVF*F uer^rUb9F^9FF|#&GZ&WvFPF uDF|#&GZ&W*F tC]F|#&GZ&WvFPF t PXF-F|#&GZ&WFt(F|#&GZ&W]U:<w<s LS 2]˰;8:u ;0m:;m:;L:Ⱦ:l:]U PFP*F u\b9P9P^S PF ub9@t@!#Fs vJ녿b9*9u+J;ub9?9u+Jt!r v벸b9F^9FFPF ug*F uF u FP벚rs>b9@t@!#FsvF uYvJYb9*9u+J;ub9?9u+Jt'!r vF u[vF uL=b9F^9FvFPF u%*F u$F uFt vXF]U>9u>b9,t]˰]U>9u>b9 t]˰]U b9F^9F9Ft>b9$u c9F^NF;Fu'RP^S^SvFPF~t]U>9r9˷b9:t]˰]U>9u>b9(t]˰]U>9u>b9)t]˰]U^S2F t#>#<7u . (#u0# .#u 6# 4#u#<t^&<,t< u!>#<u!>#<u4RP;PP6FPF~u!!^&F!sF#r8#PFPP}F^&?^u!^&?,u!8!u >!u!F t P  ^8vFY^ &G&W &w+&G&W ^ &G&W +׉FV&7&_SQRPFP$F ur^ &7PGPP F uS^ &G&W &G&W^ &G &W&9Wu&9Gu=<FV&7RP F t^ &GFFV^ &G &W^ &+GN+ȉN&+GF^0~ &}^YF^ &G-^ &GF^8vNFY^ F&G^ F&G&W ] UQQFs!N!FZRP!PPFP3LF]UFv8#P@=S6D=}FN]UFv ^Sv8#P@=S6D=}FN]UQQv ^SvvP7 V P9P7 8#PPPP}FPFP6F u~uF ~uFF u ~u ]4U^&7RPPPP!P" u^SP6!^S^&_S^&w}]U^ &7RPPPP!P" u^&&_!^ &G^&Z&W^ &G^&] UQQ^SFP^S^F&9v&^&v~ ^Y]U~uj6RPPPF]Uv{<t ^&<}<v<S F= t = t>{<uPXF]UQk:*F uOrCr:b9999k:*F urr]UQQ}<;{9u 9t*F< t< u/FPF;u9t!'P!)FEFr:~\us9u]ˊF9b99 s<F"U>9u Fb99 tb9$uFF^b9F^9+ÉFutFFw^&ar zw&( Fu^&#=`5u+JVt)^&Pu^&G0:r9:w &G:r:v]U ^&tl&GFF^&GF+ȋ^8^&w &wP PPFV^&7&_SWRPFP$F u5^&7PGPP F u^&G&W &G&W]U^ &u&G& G u&G& Gt&O8F< uI#SPdF^&wF^&^&GFsF&m^&u)]F<$u&^&uNr#SPdFF'F< u%^&uNr#SPdFFiF< r<~v F#SvdFF^&wF^&^&GFr!~&uF#SPdFFUF~tRPQRPQQF tvd &PFPFP=vFP,F tvd v~N^YF|#&G Z&W !&GPd vd ]U 6"# F# # u # #"#"PrmPpP"PFPPPFV"#"PrmPpP"PFPPP"P:PPP"Pl:P:PP"PFPPPv FFV"#6"P"PP P"## #]UQ8#Pvv^ Sv 8#P(P,F u 8#PFF~utRPQRPQQF tvd PFP,F tvd &P^SP|#GPLF|#&G Z&W Pd vd ]UF|#P|#&P P|#& P&PFFF<Fvޖ8N^NOY^&[<<vN^&]FFFȰ^u+JVu'v&Fv<t<~9  @^uB"PQRQWF=QWD=Q_  t@Y"s F=@=B=^G@=B=GD=F>rF]UQFG>s6F>r..=S62=RQP4=S68=:=S6>=F~t@^ uB"PQ^SvF=QWD=Q_  t@Y"rB^Sv^ WwF=PPD=PPK t^ G@=B=GD= F=@=B=F>rF]U v6D=FP,F tPd 6@=~D=^YFPF tPd F^&G Z&W D=^&Gvd ]UQQG>>8=uv4=P*F uvF8=>>=uv:=P*F usF>=^ Sv RPP4=S68=:=S6>=F uG>F>N .=0=N 2=;:=S6>=+F u>=4=S68=+F u8=F] UQF uF>]UQQF>r5.=S62=RPP4=S68=:=S6>=F u2v^Sv^ Sv ^S_ FF>rFF]Uv< tt. t:t\^t< tRt< t\ tҀu92Lt, t:t&;t tt< u< t:u몰]^F;td;F#&d;F#&FFƇd;.@Fd;FFd;XFF؍d;PP#&&FFd;!+F+d;P;P;]U vvFPF^ SvPF^ &:@FPvPFF^ &:@FPvPFF]UFPF ufRPPvv<P2P<PLF u;^S<P<P}F uT5uH6RPPPP!P" u!PP6!!PS6H ]U FFFRP^SP6FPF~uNF~sF9Fr^&8,uFF߃~u"F9Fr^&#@F&8,uFظRP^SP6FPF~u!!!!!H!s6F>r..=S62=RQP4=S68=:=S6>=F~t UPFP*P7 ^&O&7~^Y^&w^&v ^SF^SP+P7 F]UQHPPOPNPRPPvFt2P7 HPPOPNPRPPvFF]UQHPu P FHPJP]UN>FtF~tFFFFF]U^&FFFFFFFFN+N^O>u+JV uAt Pd ^O>P^S rh^&G;Ft$F^&F^&F^ &]Fs %]FF^&F^&F^ &FrFrRP^O>P^&S^&wFPP7 ^v&^bPF^ފO>^bPN9vw&:wFF^&F^&F^ &FFF@FFFr%FrF^&F^&F^ &Fr $]]UQQF;H>s /u]F;JPuBJP6HPHNQWP P<RPFP#F uPd FJP]UrmPl LP t 6HPH>PPPPNPP#LPLP u]6HP PPHPLP]UrmPl \P u]F RPTPFVPRPPXPP`PPZPPG \P tj^&6ZP\P t JN^&XPO>~`P`P^&HN~ NNLNXN~NN^& \P]UQ:P6;^S^S^S^S^ S^S F u]]URPPFP,F u^wbPF]U].3RU].7RU3D&&W؎&O!X:t5@3H@P&&WH@P¹ځ]U$&&tt]U^&&WF F u2RrPPRP/RRR uRF F^ &?TNt4hF RR&GR^ &O>RF u+JRu4-^ &GR6RR&RR^&Z&WR] U6^&^&G :Qt OR RuPPRP/F tR&G < r6<w2F ^&~ t^ &?uxPPP^ Sv 4c>Ru!RFPF u ~ rRR RuPPRP/F t^&GFR&8G w ]FRX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r @Tu>>Tu>TPP7 ~uO>T&G& Gu+PGP,F up>T&_^ F F->T&_^ F &FF >T&GZ&WF^ &F V;v^ S^+P!F uOF ^ &GF^ &GFF9Fr$^ X^F&^&GFuԸ]UQQBT>@Tu>>Tu>TPP7 >T&_^F&G;F s FP^Sv ؎F@P]UQQ>@Tu>>Tu>TPP7 >T&_^F&G;Fs 2BTv^@:TT&_S^S:TS]UQ^&v ^ &Gv&L@^ &;vS&O+P5F ud^&O&7^ &y^Y^&G^ &w&^ &G^&^&G@^&G^ &Gv&D@^ &G] UQ^&v ^&&G^ &;Gt j PK ^ &G@v&L^ &;vS&wF+PkF u^^&O&7^ &y^Y^&G^ &w&^&G@v&D^&G^ &G@v&D^ &G] UQQ9FsF^&&+GFSv+FF9Fw^SF+FP]UF%FPvFPF=t5v7 ^&%FN;tFPQvP7 FF^&]U^&G FFFrFF^F&9GrSX^F&;Fr7&t0Nsv&;s!FFFF^&F^FFFuFs^&N;v&O^0^~9^YF^&^&GFF^&N+F&OF^F&9Gr!X^F&uF&FuӋF9FsRPvFPF=t6v7 ^&%FN;tFPQPP7 FBF^&G#&^&#NFPQF&+PP7 ^&&+G]UQDTPF u DT&G]UDTPF uLDT&GNQ^ QWRQPmmPF uvPFPPF ut9Vu9Fr"FV,Y,FVvvv F u'vPFPP F u v F]URP^ S^S]U^SF uRvTF^ &TGTTUUUT>T;vTTUF udT F uR>TuF>Tu:>Tu.>Tu"8Tt8TuT~] U!Us)FT^;u$:u!UFTT0NNNPPPFPPFPF uVF0*aWF*bWFFw}t ؍"UF^^SW^x RPQFPF uGFv ؍VF^^SW^x RPQFPF u Ft{]UUsUrUsUsI>T rB]ˠUs 8Ts.T(Us!>bWuUr>Tt >TsT ]UQT;TsT&FFTF]UT]UF< v<,t<;uv]U  jW&IjW&O&*u+J;u0jW&O&?u+JujW&ƇjW&WS_PtW u[tW uzvW?tW ujtWF ;vWutW uQjW&Gs&Gs:rW;vWvdtWtW u'>vWt W&G)jW&Gs&Gr/rW;vWv%tWtW ujW&GsqWGPW&w$rqWGSPW&GRPGPW&GPGPW&GPWPP&tW ujW&GjWGPjW&w$s( {WGSPW&GRPGPW&GPGPW&GPGPW&GPjWGPP<PtW ujW&GjW&u&Ƈ] U@^&GF jWlW؍WWFWWWGSjW&GZ&WW&GRjW&GWGjW&G Z&W W&GjW&G jW&8ujW&u&ƇWjW&GsxWP|WP7F tjW&u7W&G|W;t@FsAGPxWSQ$t@#WGPW&GPxWS6|WFFsdWGSPW&GRPGPW&GPxWS6|WWGPW&GPjWGPP<PF uHjW&GjW&Gs>GPP~WPWPjWGPJF tF<:t <.t<-tbWu) Us UPPF tPPP]UFFFFFF9Fra&t ؍"UF^PAFTPAF;Fw0^STQPsF;Fto~tFFFFFuFFF9Frm&v ؍VF^PAFTPAF;Fw<^STQPs(F;Fuv6F9Ft tFFFFFuFsFs vo]UQFFF=w^&8tFu]UF sT"Fs T~sUU~uTT~u T T]UQQ UTTxFumvrvrvrLDTFTTTxFPrߚTƇTF uw UNUTT N0TxFPr١TTTvrxFPr6T2r,T N0TxFPr١TTTvrxFPr2TTU>U0tAUTT<wtT N0TxFPr١TT>aWtTTTTT>aWvTTTTT6Ts@6T2s,6T>T;v U6TQs]U>nW^rWu+JvWu jW&GQjW&GrW+vWHW v]àWW&GnW6vWpWW^YW@)rW]UnW6vW&8{tjW&GrW+vWInW6vWx}u+JWtPW@W wDWW&GRnW6vWpWSW^YvWWvWnW&8[t%]ðjW&GnW6vW&8[uW&GR]UnW6vW&8[tjW&GrW+vWnW6vWx]u+JWt W@W v]àWW&GnW6vWpWW^YvWWvW jW&G]UnW6vW&8u+JWt W@W v]àWW&GnW6vWpWW^YvWWvWW&O*u+J;uW&O?u+Jt jW&GjW&GjW&GjW&G]UrW+vWW2v]nW6vW8*Wu+J;unW8?Wu+Jt jW&G jW&GW&G)WjW&GW&O)w*jW^YnW6vW0jWSW&G)Z[yW^Y]UFhW\v^Sv44]U^ &GF^ &Z&W^ S^S\P4]UdWPYPjW&Gs> PPtWWGSPW&GRPtW PPtW PPtWWGPW&GPtW PPtWjW&Gs xWS6|WWGPW&GPtW PPtWjW&Gs ~WS6WjWGPjW&wtWjW&Gs- PPtWWGPW&GPtWtW t]jW&GsWgjW&Gs hWY[jW&GshWY<u+JW'hWY>u+JBW&G)£WhWW+ãWYW&&_WW&G]UFjWlW&ƇjW&~s) FjWlW؍WWFnWpWN rWjW&GZ&WF jW&GF ;rEnW'&8u:H&8u2GnWpW)rWjW&GZ&WrWjW&G jW&GrwjW&GjW&u/W&9GtANs?&_S~WSP$t@ jWGPjW&w~WS6WFFsF]UQ^&F~ tFF9F v<^ &0r9v(^& ^ v&0^&F뼰] UQ^&&WF~ tYF9F vO^ &0r9v;^&&W Y,^ v&0^&&WF며] U~ ]Nu+JVt)F^F9Fv@^ &80r ^ v&89vz^ ^ v&0^F븡 Z ZuDPPZP/F uKZ&G ^;v ^ZX ^F&u^& u@^] UZRVnjޱ;u$:u ^&GZ ~F =amt =wmt?Z ZuPPZP/F u~Z&G < r<wQ^&G _^SvFPFPrF uEQ^&G F^&GFs  F^F^S^SvFP3L]U>4Zu]6 Z 6Z Z4Z]UQZ;ZsBFZHN;r4Z&F;r;u0~^YFu4]UFFFV;2Zu;0Zt16 ZZS6ZRPFP#F tFV0Z2ZF FuZZZN~׋,Z6.Z;u;v+Z1ZZFVZZ&;FwBZ9Zs$HZF&9rP^SF tFV;.Zu;,Zs4]U9F r9Fs) F 1 u F1 t F ZF ZZFZFZZ8Zr84ZP^Sv^SvrmPF Z=uF4F u64ZZS6ZPPFP#F tu~uF6ZZF>ZmJt4i4Z Z"Z$Z&Z0Z2ZZPRY,,Z.ZZZ1Z+_Z;vʉZ]UQ8ZF4ZRPQRPQ^Sv ^SvF8Z]U4Zt ^&4]U ~teF t%^ S^SvFP^SF t9:F @;Fw.NF ȋV;v+ЉV^ v 8vNFY]U~ u^&^&0fF'^&F~wOF 1v0^&7^&^&7^&8u t^&F N1V 1FFu] UF F u^&^&0FF;^&F~ wrF VN~,0^&7^&^&7^&8u t^&F VN~,~ vFV ,FVFu] U ~ u^&FVF~ u^&FVFF^&&WFVFFF ^&F^&HN;rcFVN~,F w0 F A^v&FVN~,~vFV,FVFu]UQF@;F w^v&F<0r<9v+ V^&^&^&N;F w4^&F0:r#<9w^& V*Ѷ&^&뼸]U~Su4F^&~^Nu+JVt^&FFF~NuR~u ^&P ~u^&79ZP^S~u6^&w&79ZP^SU9ZF^~Hu0Ft tuQ^Sv9ZP^S9ZF^~Dua~uFPF~u^&&WFV, PRPvvv9ZP P^SLF9ZF^^S^&7^Svv ^SF]U> Zu4vF^&S^&pv^SvvFP^SqF uFF^F^ &]UvFP^SF u)^&;F v) ^&v~ ^Y] UvFPFPF u6F ;Fs) )^Sv^Sv^ Sv ^SRP  P-]UF FFFFF^S^SvFPP-]U9Fu^&?*u N^ &^&~u ~t!F^&F<*uv^v&8*u N^ &FFNF;rK^vRV+R^R+Q^ PFPsvNF^ &FFOFu~?uK~t^ &^GPFHP^GPFHP^ GPFPsSF@^&uFF@F^&N9Ft *t?uߋF;Fr^S^Sv$t,^vPF+P^PF+P^ S^S]U`^Sv ^SvFPFP] U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] UQ^ &G :QtS^S2^ SFPRF u^ S^SFQ^ &O ]U ^Sv^ Sv F uzF~tH^ S^SF u(^&FF^&GFFrF. 2Ft(Fr/ F^&Z&WF^&G]UQQvZ&G&WvZ&7OQPvZ&w&wFP#F;u@vZ&GA ]Uv&D F w0 F A^v&FFV,FV눋F] U*~t)vvFPFFPFP8LF t^ Sv FPFִP] U*~t)vvFPFFPFPLF t^ Sv FPFִP] U F FF t9F t~u ~uNF 1Vº1VF1VF1VF1FFPF1ZЋFR1ZЋFFR1YFF0^ v&aF tN +^ 0FY~u~t *~ N F +F] UF ;FsFv~N^YF] U$^&FFFF^&G;Fw F]F9F v^v&8%t^&;wr PK ^v&@F0r9v PK F0F^v&HN9Fw^v&?FW~Su\v^&^F&O&?^u+JVu ^&GF^vPF +P^&Svs~Nu0v^&^F^vPF +P^&7~Hu9v^&^F^vPF +P^&S^&wr~Du4v^&^F^vPF +P^&w&7d8~Tu7v^&^܌F^vPF +P^&w&7F PK F^v&^v&FFUQQFFF^S^ Sv FP   9NuFF]UQFvZ&Os&O ^&vZ&GvZ&w&@^&vZ&GvZ&r &G sF u3vZ&G$vZ&G&G&W&;W u&;GvFF]UFvZ&G vZ&G]UFzZ|ZCzZr) ]UFFPF~ w~tvF]U^&FPFF<%t PF6FPF~'u ^&vF u vFF]UQQFFFr(~u"FPFF<'tA< t@ ΋F]UFFF~uZF ;zZwFsFPF uӃ>zZu ~'t@FFsFF<'uK>zZtDPF uLFPF u;F<'tFPF u# ~ v@FFr vFRF ;zZw^&!^  - zZ^&F] UFvZxZ~ s) T~*N u+J;u~?N u+Jt$^Sv ^SvFPF tFFFF FvZ&GvZ&G&W{[vZS^SvWQPrmPF uxvZ&G vZ&GvZ&7GPvZGP F uEvZ&7GPPvZ&w&wFP#F;u@vZ&G F;w] UQQ^Sv ^SvF tvZ&7 FF] U|Z^&&_^&GN vZxZzZFFFrTF uKFPF u:FsF t%^&SP^GPFF륋F]UQQ{[sF^ S^S7F t^ &7 F~t@{[s^&tF]UQQFFFt'N^QPFP#FFFF(FҀ~v]UQ^~t_^^&F<*u"^:Fs^&8*u^*~?u/ ^S^[&F<*t~?u]^^:FuU u. t!;v 33@33.P 3 ҃+@sH]U؋]UF |[~[FF&Z&W|[&GF[Y] UQQ|[&FF|[&GNȋ[;v+ЉV^6|[&t8vNFY|[F&G]UFЋF ]URPPFP,F uK~tE^&t6G  ^&G &vH* , ^&@. []U[ [uPP[P/F u{[&G < r < wf[rHF s FF * FF. F[ [uPP[P/F uo[&G ^ &:GwY^ &G[X ^F&G;FsF^ &GPP^&GȴP^Sv4F tn<~u8FS^ &OQP^&OɵQPvFF tUV~uF~ t~uF r~t4FPFP6FF^&~uq븋F] U^ SP^SqD]U^ SP^SqD]U^ &G :Qt x[ [uPP[P/F uV[&G < rL< wH^&^&G^&GP^&G^&G^&G^&G^&GA^&G6[ [uPP[P/F u[&G ^ &:Gw^ &G[@ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]UPP^ S^S<]U P P^ S^S ]UPP^ S^S]U^SFP\F u:RPvvv^GPF HPFPLF u F^&] U~ u^SPFP,FF t p F^~uOF~uD^SPPFPPFPF u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9Fr@F^&wFFv&0^^F^Svv^GP^&P^ Sv ^SL]U^SPP, t p Ğ&G s4kĞ&w FƆ džNF;w^&@F!:tV;v+&:u"r^ & G9~ wrƆrRvv^ PP^SF +P^Ss^&Ɔ ^ &!9FvV ;v^&^ &A;w)ƆN9NvQ^&<1rE<9wA,0F4r<*t<0u<*u|Ɔuľu+J⋆;t)t$ƂA1Ğ& Ƃa u ):tƆ^ &F9v v9F v ^ &^&]U.~Ծ F^ SPFP,F t p F^^&w FFvvFPF t^&   &Ytj&w8&SP^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :MRt ]U^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSP(F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uY^&G*1V+^0^~&}*9^Y^&G*H14^SPF u/v&|*&L+^9 ^&G*&G^&G,]UQ^ &G :Qt S^S>6^ &duQQ^ &G ^ S^SFQ^ &G F]U^&G :2Rr^&G :Qt:URu^&G&G &W"^&&Wc^&G :QuX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :MRu^&&G ]U^&^ &&W^&G :Qt ^SlF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:|F t@^&G-F]U^&GFrF@1V^&G&G &W"F^&:FuB~u ~uF"~ u ~uF~ rFF^ SvF^&G:Fu^S^SvFO^&G:Fu'~uFF :w^S^Sv*^&G:Fu^S^SvFu^&G:Fu^ SvFx^&G :Fu^S^SvF:^&G :Fu^S^SvF^&G:Fu^S^SvFPv^&G:FuN^ SvFPFPP^SF uz^& tp^ S^S^SvNQPK^&G:Fu^S^Svv^Sv L+FF^ S^S PPFPv^Sv F]U Fs^&N;v&^&PȴFY^&~ u ^&0=F t9Nt1 10^&F 1F N^v& NFu^0&8@u^&݃~ u5F0F+FF^&*u+JVu-9FF tȹ 10vRF 1F NڋF9Fw)^&^S^SPv ^SvL]FF;FsFF^&F tHvJ^&NFUFsFF9F vM^&;vA9Fv<&xAu^S^ &0^PPF^ v&^&F^&;Fv^&N;v9Nv~^& F^&*u+JVu^S^S^SP^ Sv (N F;w8^&^S^S^SP^ SQ^SvF^&]FNF;sD9Fv?^&xAu^S^ &0^PPF^ v&^&F벋F@^&;rv&xAu1F9F v49Fv/^S^ &0^PPFFϋF9F v9FwC^ &^&FU <r"^&&W&G[&G;F s Wv [X^F&F&GFFF;FsN ;Nv[&@FFڋF;Fr ,[v@^&Z&WS[&_[&G]Us][&G@]U cr [&G;FsGv[X^F&F&GFFF;Fs[&@FFF]U>[u[P u$>[t[&G[[>[t>[t]ð]U6[P6[P, u%6[66[P u6[=t=!t3]U^ &G :QtWSvvdnQ^ &G ^ SvvdFNs=u8^ SFP|~u#Q^ &G ^ &dt@FsQ률Q^ &G F]U,^ &G :2Rr^ &G :Qtw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns.^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSlF u^ &G-sG<PFP|F^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPlF u5F^ &G^ &G :Qt :URt^ SPlF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sS[dF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ SP(F u^ S[dF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: |F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^   V&G-sG<PFP|F^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]U~tP' P'P'N]UFRP PPPt]Uv*t P']U^0 '^0 ']Uv^t P']UFRPPP0Pt P']UvvPP0Pt P']U P']U^F ws FF F FV~PvFFFOw FBFuOFB0FF V tLF VN~,~vF VN^,F V^^\vJ tFN몋F9FsFPF+JQP] UF RPv vvt]UFrvFFRPFP[0Pt]UVF wsF ~PvFFFOw FBFuOFB0FF t-N 1VF 1F ^\vJ tFN̋F9FsFPF+JQP]Uv v%t:P'vv%t]UFrvFv vFP[0Pt]UFrvFFRPFP[0Pt]U^GP^&P]U^Sv]Uv*t]UQF^v&8uSV]FUQQ^ &dt[SFP^& uW^ &du&G-sG<P^S|^&^ SwmPvv^& uQ^ &G ^&]UQQ^ &Gd<tO<uSPl^& uI^ SFP^& u0^ SrmPvv^& uQ^ &G ^&]U].0\]UQZRP^SvFP3LP7 ]UZRPvdP7 ]UQ~<s 9Fw 9Fw9F v~t9^&Ƈ[^vNFY^v&ƀ]FFF^v&ƀFF@^&*^+vN FYF ^&7^&:^&8^S]UQQ~<s 9Fw9Fw 9Fw9F vF~t:^&Ƈ{^v NFY^v&ƀ}FFF~tC^v&ƀ[^vvNFYvv^&ƀ]FFF^v&ƀFF@^&*^+vN FYF ^&7^&:^&8^S]UQQ^&8&8uSqF tb^&8F&^ &^v@^&Z&WF^ &@F^0~^YF^&8]UQ^&8rM^P^&*P+P^&7P&:SF u^&LJ8^&:F]U ^&^SP(F t^&G t~&w8&SP^&w"&w G<P^&w: |F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G,]U ^&G :Qt :URt F^&G-rG<PFP|F^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SPF u]U^&G :Qt :URt ^&G&WFV&O&O &"N~;u;wN~Fs FF%FPFPFP<P>Pj   R P^&7$u+FP P F uF^&v~]UQ~u ^&)F;FvFv~ N^YF^&]UFH^&^w~ ^Y^ S^&7FPFPF~t']UF^&~ ~ t{~^Nu+JVt)F^PF+P^ S^SF u6~u-F t$N tPQ P^ S^SiF u]U~^Nu+JVt^& F^&^&v~ ^Y^ S^&7FPFPF~u ^&?2v&]U^&F F u~tF~Nu+JVtftaF@;Fs ^v&x>tKFH^&^w~ ^Y^ S^&7FPFPF~u ^&? v%]U~[Nu+JVtX tJ^&8}t$^vPF+PFPFPyF ukFFF^NF)FF^&F urF F;Fv(bF F2v&RF t$N t~^Y^vFFv~N ^YFFF ^&]UQQ]UQF Ft~uF F t^~tX^&~u$^S^Sv^Sv^ Sv^S^Sv^Sv^ SF u]U FPFP<P>PF uY^SvFPFPF~u9FPF PFP[P]PjF ucF;F v(S~ v%HA ~^vNFY^vxB FF^&]UQ]UQF F tQ~tK^&~u^S^Sv^ Sv`^S^Sv^ Sv0F u]UFPFP[P]PF uY^SvFPFPF~u9FPF PFP{P}PjF ucF;F v(S~ v$HC ~^vNFY^vxD FF^&]UQ]UQF F tQ~tK^&~u^S^Sv^ Sv^S^Sv^ SvsF u]UFPFP{P}PF u6^SvFPFPF~uF;F v(P~ v#EE ~^vNFY^vxF F^&]UQ]UQF F tQ~tK^&~u^S^Sv^ Sv^S^Sv^ SvF u]Un^Sv PFPFPFPFPFPFPFPFPFPFPvP F uN^S^S^SvPFPvFPvFPvFPvv FPvPvF]U8F*t8Fu P_PF tF( F&u*~*u$_`~򤊆_F$FF&^(F" F u*~*u$~򤊆FFމF ^"F Fu*~*u$~򤊆FF҉F^Fs(67l򤊆6FlF^ ЉFVF F u*~*u$)*~򤊆)F FF ^FrF&PF$P{P}PF u~$ v#'F PFP[P]PF u~ v$A~v&N$ ~v N FPF$PFPFPF uFF&^(FމF ^"^6S^2Sv,^&Sv$vF u^6S^2Sv,^ SvvF u^6S^2Sv,^Svv=F u{^6S^2Sv,^Sv^SvvF uO^2&v.&F^2&^6PF2PV,+R^ Sv vF u ^2F&]4U^SPFP,F t F^FHF^&9GsF^&wFFv&x^FF^&;Fw Kv^S^&0_[Ǎ^F&;F sF ^w~ N ^YF ^&]UF V;6\u;4\t^ S|8\F &9Gr u4`8\FF&|؍ NFv N&08\^F&F~^YFs ^&] UQ^SP8\P,F t 8\:\FV4\6\]UQ^ &{N~Nu+J^ &ud}F~Nu+J^ &uܰ[F~Nu+J^ &u]F~Nu+J^ &uaNu+Jt ~u%g~u+^Sv^ S^SF uC^&?tF~u-F t$N tPQ P^ S^SiF u]U~]Nu+JVtftaF@;Fs ^v&x]tKFH^&^w~ ^Y^ S^&7FPFPF~u ^&? v$]U]U^&?{u4SvFPFP F uhFF^NF)FF^&v~ ^Y^ S^&7FPFPF~u ^&? v$]UPF^&~ ~ tw~[Nu+JVt< t J^&8}uHF^vPF+P^ S^SyF tb~]Nu+JVt$u^&?\ug~u+^Sv^ S^SF uC^&?tF~u-F t$N tPQ P^ S^SiF u]U~}Nu+JVtftaF@;Fs ^v&x}tKFH^&^w~ ^Y^ S^&7FPFPF~u ^&? v#]U]UF^&~ ~ tn^&?{u!FSv^ S^S F tD^&?\u6~u-F t$N tPQ P^ S^SiF u]UFFFF~2t3P_PF tcNv~FF56~򤊆5FBC~򤊆BFOP~򤊆OF^6Sv4FPv^.S^*Svj F uw^6Sv4FPv^&S^"SvF uՊFs ^.S^*S^&S^"SF u^6Sv4FPv^S^SvmF uX^6Sv4RPP^S^Sv$F u,^6Sv4FPv^S^ SvF u]4U^ S^S]UFFFFFPFFFFPdFFFF^FFP,FuFF u)vFPFF^&F^ &]U vFPFPF u&^ Sv ^Sv^SPFPPK] UQQЉFVFs L3FV^Sv^Sv^Sv ^S^SA ]UP\R\vNFFP\]U P\R\L\N\~t#X PP^SvY PPZ PP^Sv[ PPx\ P Pl<\PL\S6P\^Sv rmPF uv6<\P^SPF t6<\ FKF>\@\6<\^SWP<RPFP#F^H\J\OB\D\NF\]U0H\FF>@\s B\&?uT>\@>\6<\H\SWP<RPFP#F t6<\ FFU@\^GB\D\B\G^ &Z&WB\&^&@\@@\#@^B\D\]UQ^ &GF&Z&W&G&O&G &G &O&G &W"&G(&G*&G,&G-&G.&G4&W6&O0&2<(Y~ rmuQ^ &G &Gd&G&G Q^ &G &Gd&G&G ^ SvvdFQ^ &O ] UFV;\u;\t^Sg\s'Fs\F &<~\F &,F ^&FsF sys.cmdsCmdFileToCmdFileFromInstallTypeKeyswitch[sys]sysinit.jcl________________________________________________________ PF labelWhile AND AND(OR OR(<><=>=MOD NOT NOT( , , , [f0] ( ) [sys]exec.run ~ . $$ = [sys]batchMsg.bin`spl~[sys] .jcl[!sys] [sys] [!scr] [sys]batch.run[sys]cli.runSysOut.Tmp!.user-[sys]<$>Context:[sys]<$000>ContextQ[sys]<$00000>ContextkKBatchControl00BatchStatus SysSys[JCL]file[JCL]fileSignOnDirectorySignOnFilePrefixSignOnPassword-SignOnVolumeC Bad priority parameterdWThe specified batch queue does not existeu(Bad time parameterfCannot set path with data in user profile fileg.ContexthNo free pages on the [!scr] volumei"Fatal error encountered when acces   17?GKQW]citTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{x12.0-4/11-18:00ALsing j.' filek]Fatal error encounteredljNo Batch partitions are active.mCannot access user profile file in [!sys] directoryn8 Termination status code: ouser profilep BatchSupvsrq& IF9CALLCCANCELOCANCELONERROR] CONTINUEONERRORrJCLJOJOBLOGPAPATHPREFIXRETURNRUNSUFFIXENDGOTO ELSEENDIF"WHILE/DUMP<COMMANDHENDWHILEWECHOONgECHOOFFuPAUSEONPAUSEOFFDISPLAYNEXTFLOPPY RESTARTDISPLAYLINE RUNNOWAIT FRONTPANEL ********************************************************************************  PCannot re-open the Batch Context file!a%Cannot open specified JCL file"BadJob#The JCL file does not contain a valid $JOB statement$4Execution begun: %Execution ended: &Processing JCL file: '0Processing begun: (MProcessing ended: )gLog*No such keyword+Non numeric value,Line too long- Duplicate labels.Symbol table is full/Goto non-existent label0 Undeclared variable1$ Unrecognized command2? Unexpected end of file3[ Unexpected EndIf4y Unexpected EndWhile5 Unexpected Else6 Too nested7  Not in a control structure8 Maximum size for a variable name is 12 characters9 1The first character in a variable name must be a letter:1 7Illegal string operation;p Type conflict<  Syntax error on current command line= $Processor not found> Remote processor is not accepting commands? * (Press GO to continue, CANCEL to deny, FINISH to exit)x 8Insert S in the floppy drivey^        ||[KBD][sys]install.log[VID]2Q=\z[sys]install.log[sys]install.log {}[]<>^VNVF=\z2Q...!a?!*aPress NEXT PAGE or SCROLL UP to continue (Press NEXT PAGE to continue 0123456789ABCDEF^<>[]{}{}[]MASTERLOCAL{}[]mfd.sysTD aAdDhHmMnNoOsStTwWyY!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index"A`#4DTdxCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+  [sys]<$>install.cmdsIN.N.R.M[m;GUj'4@O_m|[sys]Install.logPN     FTCSD   ^*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~[Vid][Kbd]D[SysIn]t[SysOut]>tL4LL%LlLll%LLll%Llll%LaDLLL%L tLLL%L L|ttL%Ldd6<    [KBD][VID]>[[   0123456789ABCDEF  E;O!SI8\u]&#BM&$1'& Q 3 ! * a 2 !%*W&0VB&b#|(TQ!JG/&6*uHA*:/?(Zv)HgDMXgJD5Y+~Z~;2~'Q~^~#B~l~U2~n~t~7*~!~(2G~[#iO}.yR9yfvyy"z.B&YXeR&a ' @7 K d H ( .bl"8[l%Pl5lsOl2F;ljlz8l)l%)E's3~M'6./NG&v' +Q' r' &LB' $n' *8' JP' ' m[ ,[ n[ +[ . [ U"[ 38 } l +! $ .0G V # w h  + LIBRARY: ctos.lib VERSION: x12.0-4/7-15:01 (thursday april 7, 1988, 15:02) LIBRARY: Batch.lib VERSION: x12.0-4/11-18:00 (monday april 11, 1988, 18:00) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAyG%`{Y?ibr  p8 xp/:, HqN He x[~pH:J`|FQ&q?>~ xSyT0F0\0\2(q2M4(F44G4%?466N6B8: $G:X:>::v<<<2G<>]>;G>>":pL 'n,\%12 C0!~A=tQ%/r^BG!bwEgY*"0vu&#su_ {  KH"*F4%NbF3LO07qC - &/R | 96  :& 7V - UG .v6 h 8va *& _i& %t& @3& (e& & 'y& o& '[& 'r%& ay (D .  Y ^G 9? W> &R| - - !p  $ 1 # %U ) i @ (b _'b 4s es s  s $-xs )Ws 4s .|s &>s 0s 12s 9Qs %s 2s Is  s ^As 3Ros <s ;  ' A\ =b $7b  3 *X -6 0L$ 0 'A )s $__ }912r1q& `c3Yc1!I 7s&,/=Y*@2> =CvF?%5CY)5u'^ .Q xd ,/ K 3X 8- <P $ Ae(ge2E%hN?,/_:>dDO*f*9,h739kG49Y< (4 2g2Hq 0t$$+=92QoQ(8Q<Q&.QIQ-8N?N;X 2A$#[:L&J4h;*CG;^%$,n4Pm<4/'=q+`A%2nZw.&cuG%T)3E'%*<#(<,-<H{,j{C{0W{w{-c{/7{2r{(1`{70{>F={-~{4!s{;R{?{J\{Y{&M{,${I>+Si>,>,a>Z>8$>KF>7>&4m>{Gy>0+>>>h>!; >$)[ >A&j >Fb >/D<U?(KJ&P7Jv=#KD`[ v[*|[R~[&e[l[<[R[=9[$A[&f[-[[9B[K[,,[% [Cq[9S[7|[&i['K['][+%[3.[?r [f[U[k[,*[5:![(%[54+[Qb-[=42[A!8[2@:[;cI[$IO[1[Q[EBc[HRi[k[)Z[j[1)[;a[#([1e[3[K![B2[@a[@)[XR[8[0i[3`["}[2][70[A|[F[/T[UB[K[*[/^ [W[<8[$%[+[Ka-[<+;[F+A[7C[IrO[TU[DLW[,jm[T!s[#u[K[G4[*[8-[*[66[bB[&[41[1 [K)[E8[2M&[Ta,[FN.[O8U[?[[9Z][H9b[6h[>[j[>:[][W\[%O[B[@[@6[4[5[<7 [=s[\[<]['<$[1#&[:i1[7[F:9[8Q;[VA[VFC[kG[T:M[\:O[GU[][[^?][]Fj[Rrp[0Kr[3[J2[6%[C-[ C[0[:t[=T[8^[G[<`[5[/J[-[d[G[1f[/[VY[6*[c[X[Bt[x[d:[Kt[;/[,w[^[+[J[]a[7[S[K6[> [#P[D/[k[9n[;M [D"[)l'[O-["/[%k4[&:[`<[Es@[nBF[vBH[g[U)m[~Bs[/Au[9|[,;[T[C[M[; [?1[G[e[M[f[P+[S6[?[2[[I1[[NN[8~[Mh[&3[bR[L[O|[^6[=. [(VY[2_[Ba[9j[][6;[$[/o[+[5[Tt[An[([GH[L/[4w[Hn[Xh[7J([Rn.[''0[#dE[^YK[QHM[Hc_[CXe[1Ig[-dy[Ms[fa[1'[1V[Yb[>w[(([D [\n[mR[9V[%m[*[>[W[<<[H[a[j [= [FK [7," [2l$ [47 [8A= [f? [VS [8yY [T[ [sq [L w [U/y [E [R4 [+P [fn [J [Ej [D~ [  f*"Up^7{I@WRITE$ GETSLOTINFO. ADVANCETO*STRIPTRAILINGSPACES" GETPARAMBYTE READBSRECORDLNLSFORMATDATETIMEL CBCLIRUNSPEC MSGRUNKEY MSGDISPLAYKEYPPARCNFGBLOCKSAz#RGCHULCMPBXLATbPMODEDATETIMETIMbW ?J*aX4kVALIDATEENDOFBUFFER[dRGBMESSAGEFILE`msgMessageFilevMSGNOUSERPROFILEMSGNEXTFLOPPYKEYMSGUNEXPECTEDENDWHILE  STATUSENTRY# tagDiskModifyQ [s [9o [q [;g [9' [AZ [:l [/) [?Q/ [tn1 [H]h [R]n [Glp [P9 [AJ [F[ [/5 [H< [?^ [NK [/m [z [= [Dg [F [/U [Hi [; [6dV [%z\ [0(^ []z [;I [=#t [@0v [B [p [E* [Z|. [9mp [:5[Q[\]@[Dmd[^)f[W8L[SvN[KmN[Y+^[/`[m:b[hd[Oqf[9Dh[-j[G[ab[6e[jF[H[_\[4[I^ [-p [@[(=$[[D[>*T[5V[A%X[I\[H.^[jbb[Vs[@y[o[G[OZ[ET[i][X&[(C[N[K-[h[8([K%[-z[BD.[g?p[p?[s![S<![Dy![>U![{![VZ![`8![0![[![,}![FE![S^![W ![g\"[Wi #[i"#[H58#[CMN#[V>x#[mx#[ESz#[p|#[r:#[X#[~#[r#[Fw#[a!#[Ql#[X$[>$[$[~T5[8V5[X5[X\5[8p`5[Wb5[]b7[Jb9[e9[>p9[?(k:[|l:[g8:[D7:[;$;[0=;[Y^;[S-;[Tc;[L7d;[DU;[d&;[];[Kw;[`^;[;;[-O#<[P.$<[8@<[XlA<[13r<[/s<[X<[5z<[KQ<[^4<[>d<[Ep<[c<[l<[Rj<[Q<[S1<[bi<[Rc<[C$<[V7<[Wq<[@=[a=[L$=[G#=[C(=[J@=[8_D=[c+G>[U2HN[_rbP[{pQ[l+Q[8=Q[R[Q[6Q[BVQ[93Q[aQ[n\R[>R[22R[F(3R[_l7R[*;R[q]6%P FillBufferKaD READCOMMENTPUTCHAR' msgSysOutSpec MSGPATHKEY RGWCTRLIBREADD fGpamBsDefFR0c<lFYP$tSETUPRUNPARAMSYGetBsLfaTYPETOCONTINUENXT$DPARSESPECFORFFSVOLy RGBSIGNONPSWD- msgSignOnPswd; cbDisplayKey SBCMDFILEFROMN CBNLSMSGSETD= OpenTablepQ  (BUJ91ZINITIALIZESTATEOPENFLOPPYFILEa RESOLVECHAR! FILLBUFFER9 QUERYVIDEOBS=D cbControlQMSGCNTONERRORKEYFNLSG>&19BREALATFILENEXT7 rgbControlQrgbRunNoWaitKey RGBSUFFIXA< tagDiskWriteQ7&,? ShrinkAreaLL SETNLSMSGPBCBMOD32CBBANGSYSSYSSPEC MSGNOLABEL SC$8K,YFACTOP FillBufferSysInt PT_FIXHOUR FINISHPENDINGWRITE(rgbBadTimeParam RGBJCLSPEC WNUMPARAMSCBCASE;3P&=HX WRITEBYTES}COMPACTDATETIME\NLSSTDFORMATDATETIMELCBBATCHRUNSPECcbFrontPanelKey GLOBALTYPE\ CBJOBSTEP#<DU;,&L4`j ReadDirSector SENDJCLENTRYFACTOR APPENDDATEdPUTBYTEt cbReturnKey MSGGOTOKEY cbBadJobCardcbUnexpectedEofw  pPrepWriteMMDR@&7K.QPOPCONTEXTFRAME RELATIONALO BUILDLINE MAPCHPAGENUM  CBDEFAULTDIRTIMETEXT_SALPHAt FTYPEDS?^ISh(4nINITSYSVARIABLES PT_FISNUMERICBUILDSPECFROMFILEcbBadUserProfilergbPauseOffKey MSGRESTARTKEYFTASKOUTSTANDING< tagCommModifyPRBSKBDvR G^=&R5kPROCESSEXPRESSIONFHEXQDOUTtPARSESPECFORNOBRACKETDIR msgTmpSpec% RGBUSERSUFFIX-MSGBADQUEUEPARAMMSGUNEXPECTEDENDIF FINHIBITKEYBOARDJCL<H/%:Q GETVARVALUE LOOKUPSTRINGPFProtectedModergbTypeConflict NLS_DEFAULTDATESTRUCTp  JCLFILEDESC"#^'K-S6@i ECHOJOBSTMTHANDLEFRONTPANELISHEX INITMSGFILEcbBadTimeParamrgbNoUserProfile MSGENDKEYrgbNextFloppyKeyMSGFRONTPANELKEYL$/*"m\T5Fdrw SETFILESTATUS BEEP4 FillFrameBROADCASTFINISH CBSYSOUTSPEC rgbErrMsg3jcbBatchSupvsrPartName7 MSGCALLKEYG cbCallKeyM rgbReturnKeyFLFS`PACB|#6,!A BACKSPACEtDECOUTGtPARSESPECFORVOL MSGECHOOFFKEY|cbBadContextFile  .~U9n#EbvULCMPB$ PERFORMCANCEL#FTOKENLEFTPARENCLOSEALLJCLFILESzRGBBANGSYSSYSSPECRGBDOLLAR3ZEROCONTEXTSPECQRGBREMOTEJCLFILESPECrgbBadUserProfile MSGDUMPKEY@ cbDumpKeyF MSGECHOONKEYm cbAsterisks_TIMETEXT_SALPHAABRv PUSERBUFvZ (. INITPARAMSTERMq MSGJCLSPECPLINESH'<3] LQ_DWORD_MULY,CURRENTOSVERSIONMSGUSERPROFILESPEC cbCommandKeyUMSGDUPLICATELABELSmsgTypeConflict FALREADYOPENED!(0 8@PRINTTERMINATIONMSGA CallProc0 RGBCTRLID CBCOMMAND; sTagProcsQ&C2VL:] GETDATETIME GETBSLFASYSBS% PT_FISNUMERICDELIM CallProc1 GETNEXTCHAR DIRSCANNEXTJ cbEndWhileKeyePARDESCN#^N%/g9FypU SETKBDLED8SETFHLONGEVITY PutFrameAttrs SETFRONTPANELReleaseByteStreamADl CallProc2READBYTE CTOSVERSION cbCancelKey[ RGCBKEYWORDS. RGOKEYWORDSp tag8251WriteRR*2; WRITEERRORMSG RGPARAMSETLISTSTART CallProc3 CBUSERSUFFIX8/$D8NFORWARDJCLLINEHPUTQUADtCBDEFAULTPREFIX CBECHOONKEYsMSGNOSUCHVARIABLE7  PFILTERBUFFERS B9/(KSETUPCALLPARAMS HANDLEATPARAMJNLSCLASST PARSEFILESPEC  WINSTALLTYPEf RGPKEYWORDS2F)<LHANDLECONDITIONALwOPENSYSOUTFILE STRINGTONUM WILDCARDMATCH BUILDFILESPECONEXT!2V](K>jqCHANGEFILELENGTH DoWriteSysOut(D CHKPTBSSYSOUT*MAKESYSOUTFILESPECOBUILDHFSSPECFROMDIR0PARSESPECFORFILE$cbIfKeyArgbCancelOnErrorKey]FPUBLIC2J$u{;^BUkRESPONDFrameBackSpacePutFrameCharsAndAttrsE\ ScrollFrameLSetSysBs'< DECLEXLVL^SKIPINVALIDSTMT GETPNLSTABLE,CHECKPOINTBSADNOTMMDYl WILDCARDVALID$ZPRINTtPARSESPECFORDIRm rgbCancelKeyO RGBPATHCMDMSGPAUSEOFFKEY WINSTALLCASEj SBTEMPSTRING<Q2)G[ CLOSEALLFILESSTRIPLEADINGSPACES INITNEWVLPB MAPPAGENUMLFA<DIRSCANINITNODE MSGBADJOBCARD cbLogInitMsg2K1$;FPT_FSTRINGSEQUALMUL32msgDollarContextSpecI cbLogInitMsg3eMSGINSERTFLOPPYz 7&A/M CREATEFILEDUMPTABLEENTRIES FillBufferADl rgbLogKeyrgbExcEndedMsgmsgIllegalStringOp F0N'<XWRITECONTEXTBYTES APPENDTIME CBSCRSPLSPECcbCancelOnErrorKeyp rgbCommandKeyH rgbNoLabel rgbSyntaxError   H3Xb;m&w HANDLEPAUSE LOGJCLFILEERReOpenByteStreamSysOut>t PT_CBENTRYABUILDHFSSPECFROMVOLsmsgDollar3ZeroContextSpeccCBBATCHSTATUSQMSGRUNNOWAITKEY MSGNONNUMERIC9!+EOREMOVEMARKEDQUEUEENTRY ALLOCPKEYWORDGETCANONICALNODEANDVOLCBLOCALSYSSYSSPEC PPARCNFGBLOCKx#D0:&MINITFILEBUFFERp RELATIONALOP3 ADDTABLEENTRY REINITMSGFILE GetBsLfaAsyncd CBSIGNONVOLUC&2;MPosFrameCursor COMPSTRINGS~BUILDSPECFROMNODE rgbDiskFull MSGELSEKEYSYSOUTFILEDESC8#?/N8F%Z SETPREFIX PutFrameChars4EVALEXPRESSION ISITNUMERICRGPARAMTCPARAMST cbDiskFull,rgbDisplayLineKey%-5; SETUSERPATH GETREMOTECMDi rgbNoBatch RGBJOBSTEP;FLinkR+#7BNEWLINEt VOLSCANINIT& rgbGoToKey cbUnexpectedEndIf MODEDATETIMEYMDaW.8?K'X DELETEFILEREINITIALIZESTATEFTOKENEQ2 APPENDNUMERICrgbIfKey9MSGVARNAMETOOLONG) FINPRIMARYPARTITION< =%/ENGetVhbSETCONTINUEONERROR( PREPWRITEMMAD|CBKEYBOARDJCLFILESPEC MSGJOBCMD FRANDNOTDONED>/%PGETCHARCLOSENLSMSGFILE OPENBYTESTREAMrgbProcessorNotListening CCOMMA!RGBSYSOUTFILESPECd;K(1B9TTRYANDADDLABELFINDCMDFROMABREVG  rgbAsterisks  msgLogSpec cbNonNumeric tagDiskReadQ tagPtrWriteLR?)0G HANDLELABEL*OpenByteStreamSysIntPT_CHGETxBUILDFFSSPECFROMPASSWORD fDiskBsDefR1\DEALLOCMEMORYSL+ READBYTESLLFillBufIllegalLCBDOLLARCONTEXTSPECO cbErrMsg2hcbIllegalStringOp  tagVideoWriteQ  a=jFQY&.oSETPATHGOTOEXISTINGLABEL! SENDSTATUSBEXITFROMBATCHWITHNLSMSG WILDCARDNEXTPARSESPECFORNODEj  CBTMPSPEC+ cbLogSpec RGBMSGBUFFERRNDM^^-&HR;fEXPANDDATETIME PutBackByteWORDOUTtBUILDSPECFROMPASSWORDRGBDOLLARCONTEXTSPEC:rgbLogInitMsg3MBCURRENTPROCESSOR< SplBsOpenBRnA,J_8WgvFillFrameRectangleQueryDefaultRespExchINITKBDJCLFILEDESCn GETIDKEYWORD WILDCARDINITBUILDFFSSPECFROMNODE cbErrMsg3 FROLLBACKNEWENTRY! tagKbdReadQ2qiR\H PUTBACKCHARcbLogKeyrgbLogInitMsg20 rgbLogTrmMsgg rgbConfirm FJUSTINSTALLED<16&=QUERYEXITRUNFILE PARSETIMERGBSPLQUEUESPEC~cbKFSILENT&19DISPLAYNOPARAMS9 READSTRINGRGBDEFAULTSUFFIX MSGPATHCMD;D[Q(2cPARSERUNFILESPECHANDLEWILDCARD WILDCARDCHECK STRINGAPPEND44 cbTooNested MSGPROCESSORNOTFOUND  tag8251ModifySR PFILTERWAS4,%M>XbFCOMMAND OpenByteStreamAD6<GETEOFWP  ATFILEINITGETPENDINGREADlPARSESPECFORNOBRACKETVOLcbDisplayLineKey cbExcBegunMsgb:H0W&j ALLOCEXCH(RGPARAMSETSIMPLE msgScrSplSpec msgDefaultVolrgbBatchSupvsrPartName&MSGPROCESSORNOTLISTENING CONTEXTFILEDESC" FMASTERCLI<,R9E] MYAPPENDTIME;msgDollar5ZeroContextSpecrgbBadPriorityParamWrgbBadContextFileacbUnexpectedEndWhile FCHAININGTOEXEC<%. RGBSYSOUTSPEC rgbCallKeyC rgbWhileKey/  I2?'R_d INCLEXLVLPREPARETABLEENTRYQFlushBufIllegalLBUILDHFSSPECFROMFILE RGBCLIRUNSPEC RGBSIGNONVOLCMSGCANCELONERRORKEYjCMDHN7MEV)=ZMAKEFULLFILESPECCONVERTSTRGTONUMEXPANDLOCALMSGPPROCBSA DIV32  MSGTRMMSG  rgbDumpKey< MSGLOGTRMMSGyCb2Q:_)GXiFTOKENRIGHTPARENmsgSplQueueSpec rgbEndIfKey" cbNoLabel" cbNotInCtrlStructure  cbMustBeAlphan EXCHCLI#CBPREFIX@<pGetBsLfaAsync3RK%D9/SFINDTABLEENTRY OUTPUTQUADtrgbLineTooLongMSGSYNTAXERROR CBSAMVUTMARKNXT. sbVerRun@ SBCMDFILENAfH\R,9t2 GETCHARDIRECT2SETNLSMSGPBCBWITHPARAMSHEXOUTtPUTWORD%t rgbElseKeycbBadJobMSGEXCBEGUNMSGMSGEXCENDEDMSG( rgbNonNumericrgbUnexpectedEndWhile cbVarNameTooLong/ 9/$B ReleaseEasyL FORMATTIMELGETNLSKEYCAPTEXT MSGBADJCLFILE rgbTooNested 8!>O\-Eg OPENFILELLaGETUCBCheckPointBsSysOuttFCALLEDBYINSTALL PASCB\5CBTOKEN9FCANCELONERROR<RGBTIMEALPHATABLEABRVMODEDATETIMEFMTcW=C(1OW^ ALLOCMEMORYSL*CLOSEALLFILESLL> DoReadSysIn)tReleaseByteStreamrPUTDB'tmsgLocalSysSysSpec WREVISIONdTIMEBUF< K0T%B:\ RESTORESTATE GETNEXTPARAMREADBYTESNOTMMDiLTYPETOCONTINUE D RGBJOBCMD MSGPREFIXKEY MSGRETURNKEY MSGBADJOB5*;CPUSHCONTEXTFRAMEvRESTORESYSOUTFILETERMINATEJCLFILEFRmos) DiskBsOpen=R&CS.J8] STRINGSEQUALCOUNTRUNPARAMSZ ISITSTRINGGFlushBufferVid4OpenByteStreamKDCALLPROC VOLSCANNEXT7 OGLOBALNLSMSGLKF,>4S GETSYSCMDINFO BUILDHFSSPECFROMPASSWORD rgbRunKeyrgbExcBegunMsg rgbNoMatchPVID# CBJOBNAME;'0APPENDNUMERICHEX cbPrefixKey tagLptWriteKR.8'D@N REQUESTREMOTE  RESETMEMORYLL/ChkptNopL MSGCOMMANDKEYO MSGBADCMDS I FQUOTEDSTRING!%?5-H OUTPUTDATE cbSyntaxError  MSGCONFIRMV  ERCGLOBAL FALLOCATEDBCB< tag8251ReadQR#CHECKl SAVESYSINFILE_   Sc;C2[(JkFTOKENBOARDNAMEG EXITFROMBATCHd WRITEBSRECORD3L PT_FISMONTH PT_DOPARSEDECNSOUT*t rgbSuffixKey rgbEndKey RGQCTRLLFA$ GpamBsOpenGRT'[H3.>c PERFORMLOGINHANDLEEXPRESSIONINITFISPTYPEwtrgbCntOnErrorKeyr cbLineTooLongcbDuplicateLabelscbBadCmdY  PSYMTABLE!A.ZOe#7n QUERYWSNUM= SECONDARYR SETCANCELONERROR PT_FISDELIM RGBSCRSPLSPECRGBKEYBOARDJCLFILESPECrgbFrontPanelKeyPBSAMVUTMARKNXT*  tagSplWriteUR,"3CmpCmd FLUSHBUFFER RGBDEFAULTDIRNENTRIES!-8D!PREAD# EXPANDAREASLREOPENCONTEXTFILEBUILDSPECFROMDIR=MSGDISPLAYLINEKEYrgbUnexpectedElse &08 EXPRESSIONFCLOSESYSOUTFILEI LOGLOGFILEERR QUERYMSGFH$0>8(ESETEXITRUNFILECHECKCONTEXTERR STRINGINIT4 SSYMTABLE!CQUEUET5tagSysInR7/%@SETSCREENVIDATTRMGETTOKEN* BLANKPASSWORD CBPATHCMD cbSuffixKey 5]#@*IQhOPENFILE DIRSCANINITREINITBSMSGBADTIMEPARAMcbNoUserProfile FALREADYSET  GLOBALRESXFQUEUEFORBATCHMGR<tagPtr8251WriteTR&/7PROCESSJOBCARD; PUTNEXTCHAR MSGWHILEKEY4 FSRPMASTER^hoK9{W`s$A- MapBsDevice"T FATALERRORK CMDCLOSEFILE FlushBufferSysOut|t ATFILENEXT SetBsLfaAsyncdmsgBangSysSysSpec msgSignOnDir  cbWhileKey:WRELEASEbV FDEBUGRUN FPASSWORD!$-5SAVESYSOUTFILE SBPRINTZt RGBSIGNONPRE MSGLOGKEYJ+;S2\CheckPointBsADlmsgBatchSupvsrPartName1cbRunKey msgAsterisksYcbProcessorNotListening  RGBPROCCODES(= pPrepReadMMDRB8#-J GETFILESTATUSDELAYCHECKREADASYNC|msgDefaultSuffix RGBDEFAULTVOL MSGNOBATCHKEX4.a<$k READKBDDIRECT6GETPASCB PERFORMRETURNISDEC PT_UNGETCH FORMATTIMEDT8LNPRINTmsgRemoteJCLFileSpec PARSINGSTATEs< FDEVELOPEMENT=F2=&SLOGSYSOUTFILEERR WRITEBYTEdMSGBADUSERPROFILEcbNextFloppyKey cbTableFull cbProcessorNotFound   (]eF6xPRINTPROCESSINGMSGLOGERRX PT_FISYEARQ APPENDNUMBERL MSGERRMSG2bcbEndKeyrgbUnexpectedEndIfy RGKEYCAPPBCB# LOGBUFFERb5RGBTOKENb9FSYSOUTOPENPRIPAR<(80DSETSYSVARIABLES FLUSHBUFFERLL RGBTMPSPEC! CBJCLSPECRGBTIMEALPHATABLE"Uc(Rk\1s<~H ALLOCMEMORYLL,FETCHCORRECTERC EXITWITHMSGH CHECKWRITEASYNC|PT_MARKALPHAENTRYo FIXFILELENGTH CBMESSAGEFILE|cbTrmMsg cbPathKey cbGoToKeycbUnexpectedElse ERC#RQTASK$r(T]J?i4| ResetFrameINITULCMPBXLATTABLERGPARAMSETELTNEXTUNHOOKVIDFILTER'BUILDSPECFROMVOLEXPANDLOCALMSGK cbEchoOffKeyMSGBADCONTEXTFILE LOGFILEDESC #PJCLFILEBUFFER#CBPARAMk: fSplBsDefAR6/#=CHECKERC7 msgSignOnPre%cbBadPriorityParamsCBSUFFIXr<tagTableQ]%G+X?e3Ok INITJCLENTRY PERFORMGOTOLOOKUP[ INITTABLEOpenByteStreamVid MSGERRMSG1U RGBJOBKEY MSGENDIFKEY'QEHX5 RGBJOBNAME;BSVIDZR4*@PARSESPECFORHFSVOLCBDEFAULTSUFFIXMSGLINETOOLONGrgbNoSuchVariable$  .$7 ERROREXIT  cbRestartKey rgbBadJCLFile tagCommReadNR8a.X~I&jAsREQUEST,READNEXTQUEUEENTRY PERFORMLOGMINITNLSMSGFILE+ APPENDSTRING EXPANDMSG2PARSESPECFORALLBRACKETS rgbPrefixKey rgbTableFull MSGTABLEFULLrgbUnexpectedEof[ RGQUEUE$IQUEUEV5,8$NET PERFORMCALL ADDTOFISP EXPANDMSG1PPARSEDEFAULTLEVELiPARSESPECFORFFSFILE CBSAMVUTMARK SLINEDpY<O3%*fyGETCLUSTERSTATUSdREADKBD5FSRP PERFORMDUMP NUMTOSTRING EXPANDMSG-REMOVEWHITESPACEISSTARTCOMMENTBUILDHFSSPECFROMNODE msgCliRunSpec  PBSAMVUTMARK >+G4R NLSPARSETIMECBDOLLAR3ZEROCONTEXTSPECi cbBadJCLFileFCONTINUEWHILE PSYSCNFGBLK$QUEUESTATUSBLOCK=~yl' Z [  & y b s  e Q <{#0>=K[PT g33D MAXIMUM STACK SIZE = 0030H 48D 13269 LINES READ 0 PROGRAM WARNINGS 0 PROGRAM ERRORS DICTIONARY SUMMARY: 255KB MEMORY AVAILABLE 47KB MEMORY USED (18%) 0KB DISK SPACE USED END OF PL/M-86 COMPILATION M, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: x12.0-4/11-14:28 (monday april 11, 1988, 14:29) @@'@=@F@R@j@v@@@@@@@@+qكٜ@@@(@*@s@@@@@@5@K@P@R@`@c@d@g@@@ @6 @i @l @ @ @ @ @ @ @ @ @, @- @< @Q @S @ @ @ @ @ @ @ @ @& @( @, @: @< @> @B @u @ @ @ @D @G @ @ @ @ @ @ @ @ @ @ @2 @E @Q @j @{ @ @ @ Ăb= l,,@(0H`x 8Ph,  6p RQPr S6v x S6| F~t@^uB"PQRQW QW Q_ t@Y"s ~  ^G~  G rF]UQF s6 r.l S6p RQPr S6v x S6| F~t@^ uB"PQ^Sv QW Q_ t@Y"rB^Sv^ Ww PP PPKt t^ G~  G ~  rF]U v6 FP,F tP6~ ~ ^YFPF tPF^&G Z&W ^&Gv]UQQ >v uvr P*F tFv >| uvx P*F uyF| ^ Sv RPPr S6v x S6| F u$ v >l N ^YF p 8x S6| +F u| r S6v +F uv F] UQF u ]UQQ r5l S6p RPPr S6v x S6| F u2v^Sv^ Sv ^S_ F rFF]U].S U].W UF> tP \]U~u]U6^&^&G : t OGWA  B0h)n,$ g"Copyright 1987 Convergent Technologies, Inc. All rights reserved.Ver x12.0-4/11-14:28 Linker x12.0-03/22/88-16:38*lxC~=t#c%7CVh{#,BU`k8OBONO[ObOfOjOnOrOwO{OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc ^< ^VZ616~66#xQxx_xxxxMxx7xxAk/'5SSpSSSSSSSS S& S' Su S SE7v7#WjAjww7wdOkO:XTY }7777[D[^[[[[lSlflllllCcgR    / /` /!&'@*`+p,P- 0/;p=?p?O?@_@oApAO0EE?pMOPPTU/ 0V``?0apbPc/Pd?eef0'("E)* /"NdpEi[7^^^^l^^^^X^^^#^+^P^^^^ ^ ^$ ^w ^ ^ ^M ^q ^ ^ ^ ^L ^< ^6&66 6M6e666iyxxx3ZoA]l]'A'5Q5SSS9S@SSSB S S`p`/pwwdwwwwlww ,B7OLlll/fY[^6ix'5S7W[`jpw7[klfscUv \]UQQ`PPP6RPPW`&wPfPPhP/|Ph& r 6f \lP6PP+d>ft P|PF'F;fw 1FF uKȋf10~ 6 & @ fN1f 1F u j s9 np6~ FlP P}Pj z P PPz P~ S6 FP3Pz P PP PFP$P@]UQF s6 r.l S   uPP P/|F t &G < r6<w2F ^&~ t^ &?uxPPP^ Sv c> u! FPF u ~ r  uPP P/|F t^&GF &8G w ]F X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r t u]6` v ` t ]UQX ;Z sBFZ HN;r4R &F;r;u0~^YFu4]UFFFV;r u;p t16` R S6V RPFP#F tFVp  usF =rmt=tmu ^&G &G 5^&G&G~ mmu &O FV ^&G FF^Svv F t ^SP]U츖 Vnjޱ;u$:u ^&G(\~F =rmt =tmt  ^&G ]UQQ^&^ &&W^&G : t WFP5F uC& ~uF1~uF$^G^ &Z&W^&F^&GF]UQ^&G : tSv^ S^Si<^SFP F u'^Sv^ S^SiF ^&G F]U^&G :R v^& 6 Vnjޱ;u$:u3 r, PnPPRPQrmWRPQF u^&G :( u < FF^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G]U FFN F;vB~u<^S+QFPFPF^ v8vNFYFF봋F^&F]UQ^&G : uӸz njޱ;u$:uPP( P/|F t( &G4 tt: scP, P*F uGP0 P*F u, SsPPRPPamP0 SPF ud: , FF^S^ Sv ^Se<^SFP F u'^S^ Sv ^SeF ^&G F]U ^&G :R v^& 5z Vnjޱ;u$:u3 r,z PPPRPQwmWRPQF u^&G := u @ FFFFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&4 s ^SFF]U^&G :R v ]U^&G :R v ^&G ]U^&]U^&]U]U^&G : uz ތ;u;uPP6 P/|F u|6 &tq: saPFP*F uPFP*F u^SPPRPPamP^SPF uM: FFF ^Sv10^SFP F u^Sv1F ^&O ]UQ^&G : t SvY6^&du  ^&G ^SvYF ^&G F]U^&G : t :u t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP(dF u^&uS[DF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv(dF Yu0^&w8PGPP ^&G : u ]U ^&G : uC&du ^&du &G ^&G-sN&G : u/G<PFP0^&G : t: t:u t f^G<PFPF^&w:FP4 u ~u~u^&w8 F^&w:)F^&G F uF]UQF =rmt =tmt"6( rmP'< > ( ^&G ]UQF =wmt =mmt"6= wmP'@ B = ^&G ]U^&G := t ^&@ SP( ]UQ^&^ &&W^&G :( t < S)<]U^&G := u@ Sv*T ]U#U$VWQ^S,Y_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG  r F FuX X V N~׋l 6n ;u;v+V 1Z V FVX R &;FwBZ 9X s$HR F&9rP^SF tFV;n u;l s4]U9F r9Fs) F 1 u F1 t F P FL N FV FR T x r8t P^Sv^SvrmPF` =uF4F u6t R S6V PPFP#F tu~uF6R \ F>\ mJt4it ` b d f p r ^ PRY,l n X V 1Z +_Z;vʉZ ]UQx Ft RPQRPQ^Sv ^SvFx ]Ut t ^&4]U ~teF t%^ S^SvFP^S F t9:F @;Fw.NF ȋV;v+ЉV^ v 8vNFY]U~ u^&^&0fF'^&F~wOF 1v0^&7^&^&7^&8u t^&F N1V 1FFu] UF F u^&^&0FF;^&F~ wrF VN~,0^&7^&^&7^&8u t^&F VN~,~ vFV ,FVFu] U ~ u^&FVF~ u^&FVFF^&&WFVFFF ^&F^&HN;rcFVN~,F w0 F A^v&FVN~,~vFV,FVFu]UQF@;F w^v&F<0r<9v+ V^&^&^&N;F w4^&F0:r#<9w^& V*Ѷ&^&뼸]U~Su4F^&~^Nu+JVt^&FFF~NuR~u ^&P ~u^&7y P^S~u6^&w&7y P^SUy F^~Hu0Ft tuQ^Svy P^Sy F^~Dua~uFPF~u^&&WFV, PRPvvvy P P^S|Fy F^^S^&7^Svv ^SF]U>` u4vF^&S^&pv^SvvFP^SqF uFF^F^ &]UvFP^SF u)^&;F v) ^&v~ ^Y] UvFPFPF u6F ;Fs) )^Sv^Sv^ Sv ^SRPA ]Uv&D 6^ &du  ^ &G ^ S^SF ^ &G F]U^&G :R r^&G : t:u u^&G&G &W"^&&Wc^&G : uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :m u^&&G ]U^&^ &&W^&G : t ^SLF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F]U^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]UQQ^ &dt[SFP^& uW^ &du&G-sG<P^S^&^ U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] UQ^ &G : tS^S2^ SFP F u^ S^SF ^ &O ]U u. t!;v 33@33.P \3 ҃+@sH]U؋]URPPFPF uK~tE^&t6G^&G&vH^&@ ]U  uPP P/|F u{ &G < r < wf rHF sFF FFF  uPP P/|F uo &G ^ &:GwY^ &G X ^F&G;FsF^ &GPP^&GȴP^SvF tn<~u8F& ^ &OQP^&OɵQPvlFF tUV~uF~ t~uF r~t4FPFP6FF^&~uq븋F] U^ SP^Sq4]U^ SP^Sq4]U^ &G : t x  uPP P/|F uV &G < rL< wH^&^&G^&GP^&G^&G^&G^&G^&GA^&G6  uPP P/|F u &G ^ &:Gw^ &G @ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]U6 P6 P u%6 66 Pd u6 =t=!t3]U^ &G : tWSvvDn ^ &G ^ SvvDFNs=u8^ SFPT~u# ^ &G ^ &dt@Fs 률 ^ &G F]U,^ &G :R r^ &G : tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns.^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSLF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPLF u5F^ &G^ &G : t :u t^ SPF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sS[DF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ SP(dF u^ S[DF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Ytj&w8&SP^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :m t ]U^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSP(dF u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uY^&G*1V+^0^~&}*9^Y^&G*H14^SPd SwmPvv^& u ^ &G ^&]UQQ^ &Gd<tO<uSP^& uI^ SFP^& u0^ SrmPvv^& u ^ &G ^&]U]. ]U ^&^SP(dF t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G,]U ^&G : t :u t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvdF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SPdF u]U^&G : t :u t ^&G&WFV&O&O &"N~;u;wN~Fs FF% F u+J u4-^ &G 6  &  ^&Z&W ] U v ~FF=r=r O~sF-F-F~ vFt ^8@s~u~uF1 t LF蹵PF%mY^(NHFNt1;t p~w ;8Fw8Fv~u ~u~t GF 1ºPFbatchMsg.binspl[sys]) .jcl;[!sys]G [sys]Z [!scr]l [sys]batch.run[sys]cli.runSysOut.Tmp.user[sys]<$>Context[sys]<$000>Context[sys]<$00000>Context K'BatchControl000BatchStatusF SysYSysd<kbd>[JCL]fileo[JCL]fileInsufficient memory to run Batch Error chaining to Batch, erc        TT[KBD][sys]install.log[VID][sys]install.logVNVFPress NEXT PAGE or SCROLL UP to continue(Press NEXT PAGE to continue!a?!*a2Q=\z=\z2QCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyY!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m [Vid][Kbd][SysIn][SysOut]>%L%d%Ld%a% % |%DD6   [KBD][VID]>    ] w a \b =f Ag 9+k =l $&m -n A+o Ip O$q dr ^s it Y$u Fv Ow Rx 8 z > Z Y q n E <& u', )0 -&: m< ,@ d  a"so. | ------------------------------------------------- */ erctype PutOpParam (dih, type, len, noccur, pbval, cbval, ppbDIU) word dih; byte type; word len; byte noccur; wptr pbval; word cbval; ptr *ppbDIU; { ptr pbDIU = *ppbDIU; erctyW9a(B2iLs ALLOCMEMORYLL,ChangeFileLength FRAMEBACKSPACESetSysBs' LQ_DWORD_DIV,GETNLSDATENAMErgbSplQueueSpec rgbCliRunSpec msgTmpSpec tag8251Modifys  LIBRARY: ctos.lib VERSION: x12.0-4/7-15:01 (thursday april 7, 1988, 15:02) LIBRARY: Batch.lib VERSION: x12.0-4/11-14:28 (monday april 11, 1988, 14:30) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRA %  -  ( $')" % "'+0""0#02-2*4$%44(4466# 8': #: < <) >>2>> .%2 +"+(Y* Y[-[^< 66iai$x!$ix*x13x=%ex x+x-#xx#%x) )$Y& !>'|F 6#& : ('$(5SS3$S$SSA S," SA#_ S2*9r !7 7:"175W3W&W"'W1W[3 [)[.`8j.(p9YpL#qw wC"$w9=w#B(*)'[?$-7'7@[.[Lk4l,(ll6'2*K6 @'R 8@ <$f0s' #+M"2 5( *+,/'B9(;(L!'=)[ 3E(9-;J?LE+GCR2X2Z8dDjI l'wE};! .-G%W>U6O H'a< U ^D UOM 6) H P'D%F'@(G.P(0(>`'D= FLQ_ W1YU#\Pb9dE$gbm&oW};Z, 4T"WU(Q%% j BW0+29*p !`.`@m`'!di'f&hf l1j e~ & U J E , _# 7 -! h Z  h( I= M R n'S . W m [ t\ p =2(FO FILLBUFFER9TYPETOCONTINUECOMMONq4msgMessageFilePBSAMVUTMARKNXT tagLptWritek  tagSplWriteu E+ @6OOpenFileCHAINSETSCREENVIDATTRMcbDefaultSuffixE rgbSysOutSpecrgbK' fDevelopement <.B QUERYMSGFH$FProcessorSupportsProtectedModeNLS_DEFAULTDATESTRUCT`F10VAM 2)#<mw[RfF EXITFROMBATCHWaitPDULCMPB SCROLLFRAMEEXITWITHNLSMSGFlushBufferVidFlushBufferSysOut| FORMATTIMETM|rgbDefaultPrefix)PCONFIGhpSetBsLfaAsyncW  DiskBsOpen] 2d<D'ZMlCHECKWRITEASYNC CHECKPOINTBSCOMPACTDATETIMEEXPANDDATETIME cbTmpSpec cbUserSuffixcbDollarContextSpec tagDiskModify  PSYSOUTBS@ I_j6U)@s DEALLOCEXCH)WRITEBSRECORDNOTMMDeSetImageModeIllegal%EXPANDLOCALMSGKt FORMATTIMEDT8|cbLocalSysSysSpecj rgbUserSuffixmsgBatchStatusQQ MSGCHAINERC.%8A ALLOCEXCH(ReadByteNotMMD rgbChainErcpGetBsLfaAsyncS  tagLptModifyx ,!9CHECK4 FILLFRAMElRGBBATCHRUNSPECrgbRemoteJCLFileSpec  L#W.=G4` SetFileStatus Write$FlushBufIllegalFRmos) BS_OPENFILE\cbSplQueueSpec'msgK(rgbBatchStatusQF rgbNoMemoryW2He!,n>tREADUNEXPANDEDMSGBYTESCloseByteStreamMOD32msgBangSysSysSpecR msgCliRunSpeccbDollar3ZeroContextSpec rgbKeyboardJCLFileSpeco FLOGGEDERRORj FLink ' MapBsDevice"msgSplQueueSpec!1;I'P ReadAsyncFINISHPENDINGWRITE(d rgbScrSplSpeclcbBatchStatusQWmsgKeyboardJCLFileSpec}tagSysIn( =(2E ERROREXIT \OpenByteStreamSysInCHECKREADASYNCcbBangSysSysSpecX SplBsOpenb ) 9OJBXNLSSTDFORMATDATETIME| cbSysOutSpecmsgDollar3ZeroContextSpec cbDefaultVolb cbChainErcFNLS  tagGpamWritev 4ARIZ'` ALLOCMEMORYSL*INITNLSMSGFILE+OpenByteStreamSysOut>msgRemoteJCLFileSpec fGpamBsDeff  tagCommWriteo  tagLptReadw BSKBD m?&t8`LW2|waitdGETPASCBCHECKERCCheckPointBsSysOutGETMSG_ GETEOFWPVALIDATEENDOFBUFFER[DmsgDefaultSuffix? PBSAMVUTMARKNLS_DEFAULTDATENAMESsbVerRun@ deviceLast[  -&3SetBsLfa ReleaseByteStreamrERCCHAINftagNulm BU'^L1q:hz GETFILESTATUS PUTFRAMECHARSQUERYFRAMECHARt READBSRECORD WRITEASYNC QueryGpsAvail< PREPREADMMADT cbCliRunSpec msgUserSuffix tagDiskWrite  pPrepReadMMD 9OC'0Yc PUTFRAMEATTRSFillBufIllegal FillBufferADL GETPNLSTABLERGBMESSAGEFILErgbBangSysSysSpecG msgSysOutSpec pPrepWriteMMD 3D;*TOpenByteStreamAD6OpenByteStreamVid FLUSHBUFFER CallProc0  cbScrSplSpec}msgDollar5ZeroContextSpec&.8OpenByteStreamK WRITEBYTE CallProc1  PREPWRITEMMADTdO 1*\m9EuQueryDefaultRespExch GetUserNumber,GetBsLfa CallProc2 TYPETOCONTINUENXT$4 msgScrSplSpecwmsgDollarContextSpec fSplBsDefa  tag8251Readq  FFIRSTTIME: 8Dh'p-ZPx CallProc3 NLSFORMATDATETIME|Sector/cbDefaultPrefix9rgbLocalSysSysSpecZmsgLocalSysSysSpecd msgDefaultVol\cbKeyboardJCLFileSpec tagKbdRead  fDiskBsDef\ 5b@J"-UlMAIN GETPSTRUCTURE/|CLOSENLSMSGFILE FatalErrorWRITEBYTENOTMMD1GETPENDINGREADLrgbDefaultSuffix;rgbDollarContextSpec msgDefaultDirg  )Y<O3!EdRead# FillBufferKa READBYTESCheckPointBsAD INITMSGFILE APPENDNUMBER| rgbDefaultDird tagCommModifyp tagPtr8251Writet GQ$.=Y SETNLSMSGPBCBWRITELOG} ChkPtBsSysOut*TSETNLSMSGPBCBWITHPARAMS WRITEBSRECORD3CBBATCHRUNSPEC cbNoMemory7>(1D REINITMSGFILEGETNLSKEYCAPTEXTl rgbControlQ0LOGMSGltagTable BSVIDz ,UF#6^gRequest CLOSEMSGFILE QUERYVIDEOBS=4 FlushBufferADdrgbDollar3ZeroContextSpeccbDollar5ZeroContextSpec% CBNLSMSGSET  tag8251Writer =3E&MUDEALLOCMEMORYSL+ RESETFRAMECHECKPOINTBSADNOTMMDYFProtectedMode cbControlQD OpenTable  tagSysOut= '- 6ReleaseByteStreamADRGKEYCAPpPASCB` tagDiskRead M:"Ca,Tj OSVERSIONREADKBD5 DoWriteSysOut( EXPANDLOCALMSGPPROCBSA PutBackByteTYPETOCONTINUE 4NLSCASEcbRemoteJCLFileSpec Bs_pOpenFile U6-_LAiFILLFRAMERECTANGLELPUTFRAMECHARSANDATTRSE$ ReleaseEasyFillBufferSysInGETMSGUNEXPANDED LQ_DWORD_MULY, rgbDefaultVolY tagVideoWrite  $-7 cbDefaultDirm PNLSMSGSET~  tagPtrWritel  PFILTERBUFFER0 "HinP@`u)6{BEEP4 ReadKbdDirect6CALLPROC SETBSLFAASYNCNOTMMDD FIXFILELENGTHd FORMATTIME| rgbTmpSpecrgbDollar5ZeroContextSpec  msgControlQ>ERCdtagLastR FTYPED& EP;.U$5^ CLOSEFILE GETBATCHMSG+OPENBYTESTREAMREADBYTE$Mul32 CBMESSAGEFILEmsgDefaultPrefix3cbK. MSGNOMEMORY# CREATEFILE PFILTERWA, 2(9DPOSFRAMECURSORREADBYTESNOTMMDi SetBsLfaAsyncDPRINTMSGtCBSAMVUTMARKNXT*9A#0J GetDateTimeChkptNopREINITBSDiv32  CBSAMVUTMARK GpamBsOpeng  tagCommReadn " sTagProcs PSYSINBS< $.9 SETKBDLED8 DoReadSysIn)< GetBsLfaAsyncDmsgBatchRunSpec  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmY[^6ix'5S7W[`jpw7[klfscI]FieldValue(FormName,"ladname",rgDocName))!=0){ ErrorForm("Error in GetFieldValue: ladname",0); CloseForm(FormName); return; } if ((Err=GetFieldValue(FormName,"signaddr",rgUID))!=0){ ErrorForm("Error in GetFieldValue: signaddr",0); CloseForm(FormName); return; } } else { CloseForm(FormName); return; } canceltype &= 0x0f; cb = strlen(rgDocName); XlatChar(&rgDocName[0], cb); cb1 = strle)!*,$ g(&rgUID[0], cb1); /* close form */ CloseForm(FormName); MessageOn("Cancel Distribution: Processing . . .",0); erc = DiaCancelDistribution(diahndl, canceltype, &rgDocName[0], cb, &rgUID[0], cb1); if (erc) { MessageOff(); if ( (erc > ercECStart) && (erc < ercDisEnd) ) DiaReturnECInfo(diahndl, pEC, spEC, (wptr)&srpEC); else srpEC = 0; PrintErrMsg(erc, pEC, srpEC); return; } MessageOff(); /* display successful done form */ erc = formdisplay("canceldfm", M, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: x12.0-4/11-14:28 (monday april 11, 1988, 14:29) mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm   mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm! mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm!  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm"  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm# mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm#  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$  mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm% mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm%  fileHeaders.syslog.sys sysImage.sys badBlk.sysmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmfd.sys crashDump.sys& &Archive<"g7g XB59|M^Sysct9{fileHeaders.sysSysE"gE"gE"g<<mfd.sysSysF"gF"gF"glog.sysSysH"gH"gH"gX sysImage.sysSysI"gI"gI"gf badBlk.sysSysJ"gJ"gJ"g&  -o ,n J crashDump.sysSysJ"gJ"gJ"gQUERYCHARSANDATTRS.OBJctggg=> Editor.runctggm@EiX4Zg Editor.changesct gg3Agjf Servergen.01ct ggEih-. Editor.changes-Oldct 7g7g7g' +m*l)k(j'i&h%g$f'  _|#e"d!c ba`(  Servergen.01 Editor.runEditor.changes QUERYCHARSANDATTRS.OBJ2am e \ HandleMessage.plmserver 2?cPePeZ  $MEDIUM OPTIMIZE(3) $TITLE('HandleMessage.plm - Server stub for HandleMessage procedure') HandleMessageStub:DO; DECLARE lOk LITERALLY '0'; HandleMessage:PROCEDURE(w) WORD PUBLIC; DECLARE w WORD; RETURN lOk; END HandleMessage; END HandleMessageStub; t values in each sort of server. A pure system service uses lRespond. An asynchronous server uses lOk. lForward and lPass are used by one-way and two-way filters, respectively. Timer and HandleMessage always return lOk. HandleRespond returns lResp c Initialize.plmserver  ?cQeQe$ $MEDIUM OPTIMIZE(3) $TITLE('Initialize.plm - Server stub for Initialize procedure') InitializeStub:DO; Initialize:PROCEDURE PUBLIC; END Initialize; END InitializeStub; @_pOЯO po _P?? 0P 0 op@ & '?p1?4 ;oETUp^ `@eoPegO j0vO wpz`|`00 B Start.plmserverB?cQeQe< $MEDIUM OPTIMIZE(3) $TITLE('Start.plm - Server stub for Start procedure') StartStub:DO; Start:PROCEDURE PUBLIC; END Start; END StartStub; ialize; END InitializeStub; @(   ServerPLM86 V2.301/12/87 11:55:2X1STACKMEMORYCODEDATACONST SERVER_CODEDGROUPh@AʘHH]TD$  KCRASHIFERCNOTOK6JPCONFIGPTIMEPASCBWVERSION  EXCHSERVE FCONVERTTOSYS\J*INITJ DEINSTALLPROCESSMESSAGEt ALLOCEXCHCHANGEPRIORITYCHECKCHECKERC CONVERTTOSYSCRASH DEALLOCEXCH ERROREXITEXITFORWARDREQUEST GETPSTRUCTURE OPENRTCLOCK OSVERSIONQUERYREQUESTINFO REQUESTDIRECT RESPONDSENDSERVERQ SETMSGRETWAIT KILLPROCESS EXITANDRE_pOЯO po _P?? 0P 0 op@ & '?p1?4 ;oETUp^ `@eoPegO j0vO wpz`|`0H ߢ V2.3plm.flsserver T UcQeQem6T Server.plm Initialize.plm Start.plm HandleRespond.plm HandleMessage.plm Timer.plm Cleanup.plm LogMessage.plm og) $INCLUDE(:f0:CTOSLib.edf) DECLARE pConfig POINTER EXTERNAL ,config BASED pConfig SysConfigType; LogMessage:PROCEDURE(pbMessage, cbMessage) WORD REENTRANT GLOBAL; DECLARE pbMessage POINTER ,cbMessage WORD ,erc ErcType ,LogMsg STRUCTURE ( TextCode WORD /* value to indicate text msg to Plog */ ,cbText WORD ,rgbText (100) BYTE); IF config.hardwareType < FpType THEN LogMsg.Text` 7( HANDLERESPOND.OBJserver +GdQeQe6l HANDLERESPONDSTUBWPLM86 V2.303/26/87 17:03:3і<STACKMEMORYCODEDATACONSTHANDLERESPONDSTUB_CODEDGROUPh@ HH TD K HANDLERESPOND DU]tx  / TIMER.OBJserver/1GdQeQeY  TIMERSTUBPLM86 V2.303/26/87 17:03:4Ж4STACKMEMORYCODEDATACONSTTIMERSTUB_CODEDGROUPh@ HH TD K RQTIME TIMERܜ DbtwU]t }w ServerGen.libserverw K~cQedf$a ) MOVE RGSERVERQNSERVERQRGRQEXCHRQTIME INITIALIZESTARTTIMER HANDLEREQUEST HANDLERESPOND HANDLEMESSAGECLEANUP $ D\EInstallation failedР6UF tP] V+JUPPPX PX@PPPXPPPX&$u&G&&TVPP> bttPPFF;s-FPPP ^FFʚ\s)X tPPP6XFF;sF؃t6&| rPP6^6P6F뱚> btt ]לV !V &16V ;FKV PT_mpsxV~VĄċĎđ̖V ̜VĪĴVVԆVVVV V$+6=VC\NRUV[\eVksx{ϠQUQFF w0؃uv&L&L FuȁZ](,48CHSUQF F w/F9u9u&LLJFuɸP]%+5EVJgUQFF w؃u Fu]6PPPÜ*-2V8V@\UQ> bttFF;s4PP6^P6Fc6P u P&$u&G$s6P6> r&&7P6PP6T&w PX]s&-V3\>BEVK\Y\aVm\tV!z̄VĊ̕V ě ̞V̤\ĪIJ̻V\V\֎ݎVU9>u9u> bttNs%P>uFs6ZZL&G;uSSFsSZ&G!SP6ZZ%Fw.Z;bhH&G u+JVuF ^㋇F~u&G!S|vSlS&G u+JVuF ^㋇F~u&G!6SvSP6]ݜ*V2@CV HNW! _joV~̃VĈĎ̙V̟\ĥĪľ\\\\\ʎЎ׆ۆV$)V 1:AEkxł͇VŒ͗V͝\^:J6PPPZsٚ3\ VV \%0\p XA#  InitializePLM86 V2.301/12/87 11:56:0ٖ9STACKMEMORYCODEDATACONSTINITIALIZESTUB_CODEDGROUPzh@ HH TD K INITIALIZEa D U]bt%  StartPLM86 V2.301/12/87 11:56:0ٖ4STACKMEMORYCODEDATACONSTSTARTSTUB_CODEDGROUPh@ HH TD K STARTϜ D U]bt(  TimerPLM86 V2.301/12/87 11:56:2ז4STACKMEMORYCODEDATACONSTTIMERSTUB_CODEDGROUPh@ HH TD K RQTIME TIMERܜ DbtwU]t)  \6 d"pJA*F.[5N=iUvWVERSIONCRASHIFERCNOTOK HandleMessage Timer Initialize FCONVERTTOSYSPTIMERQTIME INITPASCB LogMessage DEINSTALLHandleMessage! Server! Initialize!Cleanup! HandleRespond! h8  COPYRIGHT 1980, 1985, 1986 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL *   HandleRespondPLM86 V2.301/12/87 11:56:1ؖ<STACKMEMORYCODEDATACONSTHANDLERESPONDSTUB_CODEDGROUPh@ HH TD K HANDLERESPOND DU]t ,   HandleMessagePLM86 V2.301/12/87 11:56:2ז<STACKMEMORYCODEDATACONSTHANDLEMESSAGESTUB_CODEDGROUPh@ HH TD K HANDLEMESSAGE DU]t,.  CleanupPLM86 V2.301/12/87 11:56:3֖6STACKMEMORYCODEDATACONSTCLEANUPSTUB_CODEDGROUPjh@ HH TD KCLEANUPQ D U]bt80  LogMessagePLM86 V2.301/12/87 11:56:4Ֆ1STACKMEMORYCODEDATACONST LOGMSG_CODEDGROUPh@LĘHH T|D K LOGMESSAGElWRITELOGPCONFIGܜ DPUj& sFFFF~vFFPFP]C BVtD2 P4 0="B8'+I EXCHSERVEPROCESSMESSAGECleanup StartPCONFIG HandleRespond Timer! Start! LogMessage! * AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. LIBRARY: ServerGen.lib VERSION: x1.0 (Monday January 12, 1987, 11:t: 57) < !e Server.plmservere q ercOk THEN CALL Crash(erc); END CrashIfErcNotOk; $SET(RqErc) $INCLUDE(:f0:Erc.edf) DECLARE GLOBAL LITERALLY 'PUBLIC'; /* GetpStructure case values */ DECLARE lGetpExParDesc LITERALLY '0' ,lGetpCharMap LITERALLY '1' ,lGetpVCB LITERALLY '2' ,lGetpAscb LITERALLY '3' ,lGetpVLPB LITERALLYA  '4' ,lGetpBcb LITERALLY '5' ,lGetpTypeAhead LITERALLY '6' ,lGetpRgpVidMemLine LITERALLY '7' ,lGetpRgLineMap LITERALLY '8' ,lGetpContextStatus LITERALLY '9' ; DECLARE FpType LITERALLY '10'; /* 1st SRP board hardware type */ DECLARE StubRqCode LITERALLY '7462H'; /* 'tb' */ $SUBTITLE('Initialization') $EJECT DECLARE pConfig POINTER PUBLIC, pTime POINTER PUBLIC; DECLARE config BASED pConfig SysConfigType; DECLARE pASCB POINTER PUBLIC ,Ascb BASED pASCB STRUCTURE(waste(64) BYTE, cbName BC YTE, rgName(30) BYTE) ; DECLARE wVersion WORD PUBLIC; DECLARE exchServe ExchType PUBLIC; DECLARE fConvertToSys FLAG PUBLIC INITIAL (1); /* External data are defined in the user-written module. */ DECLARE rgServeRq(1) WORD EXTERNAL ,nServeRq WORD EXTERNAL ,rgRqExch(1) WORD EXTERNAL ; /* The following two external symbols may be omitted from user program. */ DECLARE rqTime TrbType EXTERNAL ,prqTime POINTER INITIAL (@rqTime) ; /* Local variables for server main program. */ DECLARE pRq POINTER ,rq BE ASED pRq RqType ; DECLARE rgRcb(10) STRUCTURE(pRq POINTER, exchResp ExchType) ,exchNil LITERALLY '0' ; DECLARE poPcbRun POINTER AT(ATpoPcbRun) ,oPcbRun BASED poPcbRun OFFSET ,pPcbRun POINTER ,pcbRun BASED pPcbRun PcbType ; DECLARE erc ErcType ,wRet WORD ; /* External procedures are defined in the user-written module. All routines except HandleRequest may be omitted. Link errors for omitted routines are harmless. */ Initialize:PROCEDURE EXTERNAL;END; Start:PROCEDURE EXTERNAL;END; Timer:PRG OCEDURE(pRq) WORD EXTERNAL; DECLARE pRq POINTER; END; HandleRequest:PROCEDURE(pRq) WORD EXTERNAL; DECLARE pRq POINTER; END; HandleRespond:PROCEDURE(pRq) WORD EXTERNAL; DECLARE pRq POINTER; END; HandleMessage:PROCEDURE(w) WORD EXTERNAL; DECLARE w WORD; END; Cleanup:PROCEDURE EXTERNAL;END; Init: PROCEDURE REENTRANT GLOBAL; DECLARE iRq WORD ,rqInfo STRUCTURE(exch WORD, lsc WORD) ; /* Address some interesting structures. Their pointers are public so user gets them without effort. */ erc=GetpSI tructure(lGetpAscb, 0, @pASCB); *   0900h THEN CALL CrashIfV  ErcNotOk(KillProcess(oPcbRun)); /*SP, old*/ CALL CrashIfErcNotOk(ChangePriority(0FFh)); erc=Wait(pcbRun.exchgSync,@pRq);/*forever*/ END Deinstall; ProcessMessage:PROCEDURE(fNewRqOk) REENTRANT GLOBAL; DECLARE fNewRqOk FLAG, wCase WORD, iRqExch WORD, rqExch ExchType; IF pRq = pRqTime AND RqTime.rqCode <> StubRqCode THEN IF fNewRqOk THEN wRet=Timer(pRq); ELSE wRet=0; /*Ok, don't deinstall*/ ELSE IF SELECTOR$OF(pRq) = 0 THEN IF fNewRqOk THEN wRet=HandleMessage(OFFSET$OF(pRq)); (X  ELSE wRet=0; /*Ok, don't deinstall*/ ELSE DO; IF rq.exchResp = exchServe THEN DO; CALL RestoreRcb(pRq); wRet=HandleRespond(pRq); END; ELSE IF fNewRqOk THEN wRet=HandleRequest(pRq); ELSE DO; /*new rq not ok, deinstalling*/ rq.ercRet=ercServiceNotAvail; CALL CrashIfErcNotOk(Respond(pRq)); wRet=0; END; wCase=wRet AND 0Fh; IF wCase <= 3 THEN DO CASE wCase; /*0 - no action*/; /*1 - Respond*/ erc=OsVersion(@wVersion); erc=GetpStructure(ATpSysTime, 0, @pTime); erc=GetpStructure(ATpConfiguration, 0, @pConfig); IF config.fMultiPartition = 0 /* Single Partition only */ THEN pPcbRun=BUILD$PTR(SELECTOR$OF(poPcbRun),oPcbRun); CALL CheckErc(AllocExch(@exchServe)); /* Use the user-defined structures, if present. */ IF RqTime.rqCode <> StubRqCode THEN DO; rqTime.exchResp=exchServe; CALL CheckErc(OpenRTClock(@rqTime)); END; iRq=0; DO WHILE iRq < nSK erveRq; CALL CheckErc(QueryRequestInfo(rgServeRq(iRq),@rqInfo, SIZE(rqInfo))); rgRqExch(iRq)=rqInfo.exch; iRq=iRq+1; END; CALL Initialize; /* Don't ConvertToSys if flag set */ IF fConvertToSys THEN DO; erc=ConvertToSys; IF erc <> ercOk THEN CALL CheckErc(SetMsgRet(@('Installation failed'),19)); CALL ErrorExit(erc); END; iRq=0; DO WHILE iRq < nServeRq; /* if exch is served on SRP, first unserve it */ IF rgRqExch(iRq) <> 0 AND config.hardwareType >= FpType THEN CALL CrM  ashIfErcNotOk(ServeRq(rgServeRq(iRq),0)); CALL CrashIfErcNotOk(ServeRq(rgServeRq(iRq),exchServe)); iRq=iRq+1; END; CALL Start; IF RqTime.rqCode <> StubRqCode THEN DO; rqTime.cEvents=0; rqTime.counter=rqTime.counterReload; END; END Init; /* Find a free Rcb and register the rq in it. */ AllocRcb:PROCEDURE(pRq) REENTRANT; DECLARE pRq POINTER, rq BASED pRq RqType ,iRcb WORD ; DO iRcb=0 TO LAST(rgRcb); IF rgRcb(iRcb).exchResp = exchNil THEN DO; rgRcb(iRcb).exchResp=rq.exchResO  p; rq.exchResp=exchServe; rgRcb(iRcb).pRq=pRq; RETURN; END; END; wRet=wRet OR 10h;/*Cause to deinstall*/ END AllocRcb; /* Find the Rcb for the rq and restore the rq. Free the Rcb. */ RestoreRcb:PROCEDURE(pRq) REENTRANT; DECLARE pRq POINTER, rq BASED pRq RqType ,iRcb WORD ; DO iRcb=0 TO LAST(rgRcb); IF rgRcb(iRcb).pRq = pRq THEN DO; rq.exchResp=rgRcb(iRcb).exchResp; rgRcb(iRcb).exchResp=exchNil; RETURN; END; END; CALL Crash(ercInconsistency); END RestoreRcb; /* ChecR  k if any Rcb active. If so, wait for respond to rq. */ FlushRcb:PROCEDURE REENTRANT; DECLARE iRcb WORD ; DO FOREVER; DO iRcb=0 TO LAST(rgRcb); IF rgRcb(iRcb).exchResp <> exchNil THEN GOTO WaitForAnotherRq; END; RETURN;/*No more rcb in use.*/ WaitForAnotherRq: CALL CheckErc(Wait(exchServe, @pRq)); CALL ProcessMessage(FALSE); END;/*FOREVER*/ END FlushRcb; DeInstall:PROCEDURE REENTRANT GLOBAL; DECLARE iRq WORD; IF RqTime.rqCode <> StubRqCode THEN rqTime.counter=0; /*Turn ofT  f*/ iRq=0; DO WHILE iRq < nServeRq; CALL CrashIfErcNotOk(ServeRq(rgServeRq(iRq),0)); CALL CrashIfErcNotOk(ServeRq(rgServeRq(iRq),rgRqExch(iRq))); iRq=iRq+1; END; CALL FlushRcb; DO WHILE Check(exchServe,@pRq) = ercOk; CALL ProcessMessage(FALSE); END; CALL Cleanup; /*VP*/ IF config.fMultiPartition = 3 THEN CALL ExitAndRemove; /*MP*/ IF config.fMultiPartition THEN CALL Exit; /*SP with KillProcess*/ CALL CrashIfErcNotOk(DeallocExch(exchServe)); IF wVersion >=+  CALL CrashIfErcNotOk(Respond(pRq)); /*2 - For4Z ward*/DO; IF (iRqExch := FINDW (@rgServeRq, rq.rqCode, nServeRq)) = 0FFFFh THEN rqExch=0; ELSE rqExch=rgRqExch(iRqExch); IF rqExch = 0 THEN DO; rq.ercRet=ercServiceNotAvail; CALL CrashIfErcNotOk(Respond(pRq)); END; ELSE CALL CrashIfErcNotOk(ForwardRequest(rqExch,pRq)); END; /*3 - Pass*/DO; /*Diddle rq.exchResp to come back to us.*/ CALL AllocRcb(pRq); IF (iRqExch:=FINDW(@rgServeRq,rq.rqCode,nServeRq)) =0FFFFh @\ THEN rqExch=0; ELSE rqExch=rgRqExch(iRqExch); IF rqExch = 0 THEN DO; rq.ercRet=ercServiceNotAvail; /* To HandleRespond */ CALL CrashIfErcNotOk(Send(exchServe,pRq)); END; ELSE CALL CrashIfErcNotOk(RequestDirect(rqExch,pRq)); END; END;/* CASE */ END; END ProcessMessage; $SUBTITLE('Main program') $EJECT /* Main program */ CALL Init; DO FOREVER; CALL CheckErc(Wait(exchServe, @pRq)); CALL ProcessMessage(TRUE); IF SHR(wRet,4) THEN CALL^ L DeInstall; END;/*DO FOREVER*/ END SERVER; /*LOG: 10/28/85 JA Created 11/7/85 JA Megaframe 1/3/86 TB Fixed Megaframe, Added LogMessage, Removed font 12/11/86 TB PMode, Removed video 12/22/86 TB Moved LogMessage to separate module */ (SELECTOR$OF(poPcbRun),oPcbRun); CALL CheckErc(AllocExch(@exchServe)); /* Use the user-defined structures, if present. */ IF RqTime.rqCode <> StubRqCode THEN DO; rqTime.exchResp=exchServe; CALL CheckErc(OpenRTClock(@rqTime)); END; iRq=0; DO WHILE iRq < nSX` ) LogMessage.plmserver  UcQe g~ da $MEDIUM OPTIMIZE(3) $TITLE('LogMessage - Routine that correctly logs a text string') LogMsg:DO; $RESET(Debug) $SET(SysConfigType) $INCLUDE(:f0:CTOSStructures.edf) $SET(WriteLog) $INCLUDE(:f0:CTOSLib.edf) DECLARE FpType LITERALLY '10'; /* 1st SRP board hardware type */ DECLARE pConfig POINTER EXTERNAL ,config BASED pConfig SysConfigType; $EJECT LogMessage:PROCEDURE(pbMessage, cbMessage) WORD REENTRANT PUBLIC; DECLARE pbMessage POINTER ,cbMessage WORD ,erc ErcType ,LogMsg STRUCTURE ( Textpc Code WORD /* value to indicate text msg to Plog */ ,cbText WORD ,rgbText (100) BYTE); IF config.hardwareType < FpType THEN LogMsg.TextCode = 0; ELSE LogMsg.TextCode = 0FFF7h; LogMsg.cbText = cbMessage; CALL MOVB (pbMessage, @LogMsg.rgbText, cbMessage); RETURN (WriteLog(@LogMsg, cbMessage + 4)); END LogMessage; END LogMsg; /* LOG: * * 12/22/86 TB Created */ cbRecord WORD *** WARNING 83 IN 5 (LINE 9), NEAR 'WRITELOG': PROCEDURE CONTAINS NO EXECUTABLE STATEMENTS 6 1 DECLARE p|e  i) Legaleseserver ~cReRef   COPYRIGHT 1980, 1985, 1986 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: x1.0 (Monday January 12, 1987, 11:53) h   LibServerGen.flsserver ?c'Re'Remi  Server.obj Initialize.obj Start.obj Timer.obj HandleRespond.obj HandleMessage.obj Cle+  d&$uK&G$s 6)P6> r&&7P6P DP6 &w P $]U9>u9u>4bttNs%P>uFs6&&L&G;uSS#v  FsS&&G!S<P6&&%Fw.Z;bhH&G u+JVuF ^㋇F~u&G!S<|vS$lS&G u+JVuF ^㋇F~u&G!6SvS P6]U]U]UF>@tP ]U~u]U vFP,F ujv~N^YsPP P^SvN,F0PPFP/4F uFy  ^&G Z&W F&GF]UQ^SvFv ]U F t v$S~ uFPF ufF F~u.^SvFPF uF;Fue"`s PvP^SvN,F7vPNQPF uF^anup.obj LogMessage.obj og) $INCLUDE(:f0:CTOSLib.edf) DECLARE pConfig POINTER EXTERNAL ,config BASED pConfig SysConfigType; LogMessage:PROCEDURE(pbMessage, cbMessage) WORD REENTRANT GLOBAL; DECLARE pbMessage POINTER ,cbMessage WORD ,erc ErcType ,LogMsg STRUCTURE ( TextCode WORD /* value to indicate text msg to Plog */ ,cbText WORD ,rgbText (100) BYTE); IF config.hardwareType < FpType THEN LogMsg.Textk  1 Fooserver.runserver-PLM1 MraQeAfl  GW '@P ,,- *cVer x1.0-2/17 Linker x11.0-1/20-19:04.(IO#Sp ;9"20yytO@ P /`  @ ? O`    KN/ n  B^k 2V]1BKhw3!1vyKybyy#Ttuvyp  U6FQPP6]U^#؊^O^^W^"ô^W؈]U&G$rPPPPP*P>/PPP]UPDP P]U+^&W;r(&w9^Y^&G]U+ r+^&wP68  ]UMPPRPPPPPdPPRPPmmP u,6SPPPP$6 4P6]J6r  P PP&sٚUF tP]UPPP/4$P$@PPP/4$PPP/4$&$u&G&& "P(P>4btt0*P1PFF;s-FPPP^FFʚi(s)b$ t|PPP6$ FF;sF؃t6&| rPcP6^6cP6F뱚>4btt .,*]UQFF w0؃uv&L&L Fuȁ&t  ]UQFF w/F9u9u&LLJFuɸP]UQFF w؃u Fu]6P PPUQ>4btt*FF;s4PcP6^cP6Fc6P u P, &GvFYF]U3Zr t]U3 &L&;Wt]a0123456789ABCDEFOS must be MultiPartitionInstallation completeFooServer[sys]OpenNames.dat[sys]OpenNames.datInstallation failed $ {   x1.0-2/17 erc xxxxh *bt}  $  0  LIBRARY: ServerGen.lib VERSION: x1.0 (Monday January 12, 1987, 11:57) LIBRARY: ctos.lib VERSION: x11.0-1/30/87-13:34 (friday january 30, 1987, 15:16) <  \YF FooServer.plmserver-PLMF8ocReg& H  $MEDIUM OPTIMIZE(3) $TITLE('FooServer.plm - Server using standard library') FooServer:DO; /* $INCLUDE(:f0:SysCom.edf) */ /* $INCLUDE(:f0:Erc.edf) */ $INCLUDE(:f1:ServerGen.edf) $SET(Beep, AllocMemorySL) $SET(CreateFile, OpenFile, CloseFile, Write) $SET(Exit, ErrorExit, ErrorExitString, CheckErc, Crash, SetMsgRet) $SET(Send, SetPartitionName) $INCLUDE(:f0:CTOSLib.edf) DECLARE ercOK LITERALLY '0' ,ercNotImplemented LITERALLY '7' ; /* Structures defined by every server - */ DECLARE /* array of requT  ests to be served */ rgServeRq(*) WORD PUBLIC DATA(4,97) /* number of words in rgServeRq */ ,nServeRq WORD PUBLIC DATA(2) /* scratch space for deinstall, 1 word per rqCode in rgServeRq */ ,rgRqExch(2) WORD PUBLIC ; /* Optional structure */ /*DECLARE prqTime POINTER PUBLIC; /*DECLARE rqTime BASED prqTime TrbType;*/ /* Routine for interrupt to call to send a message to the server.*/ PokeServer:PROCEDURE(w) PUBLIC; DECLARE w WORD; CALL CrashIfErcNotOk(Send(exchServe,BUILD$PTR(0,w))); END PokeServ`  er; /* FooServer specific declarations */ DECLARE pBuf POINTER PUBLIC ,rgBuffer BASED pBuf(1024) BYTE ,ib WORD ,postScript(*) BYTE INITIAL(' erc xxxxh',10) ,ibHexErc LITERALLY '5' ,erc ErcType ; /* FooServer local subroutines */ ConvertWHex:PROCEDURE(w,o) REENTRANT; DECLARE w WORD , o OFFSET , rgb BASED o (4) BYTE , rgHex(*) BYTE DATA('0123456789ABCDEF'); rgb(3)=rgHex(w AND 0Fh); rgb(2)=r,   filters, respectively. Timer and HandleMessage always return lOk. HandleRespond returns lRespond or maybe lOk. The Deinstall values are the same as the regular values exc  ept after discharging the request, the system service unserves the requests, flushes the exchange and exits. */ /* Optional*/ /* Timer:PROCEDURE(pRq) WORD PUBLIC; /* /*rqTimer has counted down to 0. See OS call OpenRTClock.*/ /* DECLARE pRq POINTER; /* RETURN lOk; /* END; /**/ HandleRequest:PROCEDURE(pRq) WORD PUBLIC; /*An original request has been issued whose request code field matches one of those in the rgServeRq array. Perform applications-specific operations. Fields of the request bloc  k based on the pointer pRq that may be changed are - rq.ercRet error code to be returned to caller rq.pb-> response buffer(s) pointed to by the request block Any request block field may be examined. See Operating System, VOL 1 for a description of request blocks. */ DECLARE pRq POINTER ,rq BASED pgHex(SHR(LOW(w),4)); rgb(1)=rgHex(HIGH(w) AND 0Fh); rgb(0)=rgHex(SHR(HIGH(w),4)); END ConvertWHex; /*Stal  ndard routines that may be present in all servers.*/ Initialize:PROCEDURE PUBLIC; /*This procedure is called after requests are verified but before requests are actually served. All OS calls are valid here. Do error checking, memory or exchange allocation, config file reading, extraction of arguments from the command form etc.*/ /*This example server checks the OS type, then allocates and clears a buffer for use during the processing of requests.*/ IF NOT sysConfig.fMultiPartition THEN CALL Errox  rExitString(ercNotImplemented, @('OS must be MultiPartition'),25); CALL CheckErc(AllocMemorySL(SIZE(rgBuffer),@pBuf)); ib=0; CALL SETB(0,pBuf,SIZE(rgBuffer)); /* Set message to be printed upon successful installation - */ CALL CheckErc(SetMsgRet(@('Installation complete'), 21)); END Initialize; /*Requests have been served. Installation succeeds or fails. From now on all routines must use RequestDirect to issue OS calls listed in rgServeRq above, issuing the rqs to the exchange recorded in rgRqE  xch. Other requests may still be issued via procedural interface (by name). Some OS calls now no longer work after ConvertToSys. System services have no video structures so calls to VAM or VDM are illegal (PutFrameChars etc). In SinglePartition os, memory allocation/deallocation is illegal, exchange allocation is illegal, files must be opened using OpenFileLL, interrupt routines may no longer be set, bytestreams are not supported. In MultiPartition os, memory deallocation will work, then t  he memory may be reallocated, but long-lived memory is gone, exchanges may be freely allocated, files operate normally, interrupt routines may be set/reset normally, bytestreams are supported. */ /* Optional*/ /* This procedure is called once after installation. Do things that need * not occur unless installation is successful, such as starting the timer. */ Start:PROCEDURE PUBLIC; /*rqTime.counter=rqTime.counterReload;*/ erc = SetPartitionName(0, @('FooServer'), 9); END Start; /*The followi  ng four routines are called as messages are received. Only one routine is ever called at once, i.e. no problems with reentrancy, recursion or semaphores. Each routine returns a word which may have the following values - lOk the routine discharged the request itself; do nothing lRespond the request has been processed, respond to the user lForward the request should be forwarded to the regular handler lPass like lForward, but when it is done call HandleRespond lOkDeinstall like lOk; also deinsta  ll the service lRespondDeinstall like lRespond; also deinstall the service lForwardDeinstall like lForward; also deinstall the service HandleRequest would return different values in each sort of server. A pure system service uses lRespond. An asynchronous server uses lOk. lForward and lPass are used by one-way and two-way- Rq RqType ; /*This example server records the name of every file opened, until its name buffer is full. It then deinstalls. This is a two-way filter.*/ IF SIZE(rgBuffer)-ib >= rq.s0 THEN DO; CALL ̚  MOVB(rq.p0,@rgBuffer(ib),rq.s0); ib=ib+rq.s0; RETURN lPass;/*We wish to see the error code upon Respond*/ END; ELSE RETURN lForwardDeinstall;/*No more room for names, exit*/ END; HandleRespond:PROCEDURE(pRq) WORD PUBLIC; /*A request block has come back via Respond. It was previously received at HandleRequest, which returned with the code lPass. The request was passed to the normal receiver of that request, which completed it and Responded back to us. This routine may now examine the results o؜  f the operation, and then must let the request be Responded.*/ DECLARE pRq POINTER ,rq BASED pRq RqType ; /*This example server records the error code returned from any open.*/ IF SIZE(rgBuffer)-ib >= SIZE(postScript) THEN DO; CALL ConvertWHex(rq.ercRet,.postScript(ibHexErc)); CALL MOVB(@postScript,@rgBuffer(ib),SIZE(postScript)); ib=ib+SIZE(postScript); RETURN lRespond;/*all done with this request forever*/ END; ELSE RETURN lRespondDeinstall;/*No more room for text, exit*/ END; /* Optional*/ /*   HandleMessage:PROCEDURE(w) WORD PUBLIC; /* /*An interrupt routine has sent a one-word message to the server. /* This message may be a data byte or word, or it may indicate some /* condition such as "buffer full". /* The interrupt routine cannot make requests, so it must "poke" the /* server somehow, and the server makes the requests. /* /* The interrupt routine could have set a flag that is checked by the /* server, but then the flag would have to be polled, e.g. every 1/10th /* second the t  imer routine could check the flag. Sending a message /* usually is a better solution because the condition is noticed instantly, /* also without using any processor time for polling.*/ /* DECLARE w WORD; /* RETURN lOk; /* END HandleMessage; /**/ Cleanup:PROCEDURE PUBLIC; /*The server is deinstalling. The requests have been served back to their original destinations. All requests pending have been discharged. The server process is about to disappear. Do any final operations such as writing a   log entry or flushing a buffer. It is ok to issue requests by name that this server had been serving.*/ DECLARE fh FhType, cbWrite WORD; /*This example server writes the name buffer to a pre-existing file.*/ erc = CreateFile(@('[sys]OpenNames.dat'), 23, 0, 0, 512); IF OpenFile(@fh, @('[sys]OpenNames.dat'), 23, 0, 0, 'mm') = ercOK THEN DO; erc=Write(fh,pBuf,SIZE(rgBuffer),0,@cbWrite); erc=CloseFile(fh); END; CALL CrashIfErcNotOk(Beep); END; END FooServer; /*LOG: 10/28/85 JA Crea  ted 8/12/86 TB Removed font support */ng-lived memory is gone, exchanges may be freely allocated, files operate normally, interrupt routines may be set/reset normally, bytestreams are supported. */ /* Optional*/ /* This procedure is called once after installation. Do things that need * not occur unless installation is successful, such as starting the timer. */ Start:PROCEDURE PUBLIC; /*rqTime.counter=rqTime.counterReload;*/ erc = SetPartitionName(0, @('FooServer'), 9); END Start; /*The followi  T FooServer.cserver-c /ocQeQed  /* FooServer.c -- Test server using the Server.lib. Stores a buffer of open * file specs, then writes them to a file and deinstalls. * * Log: * 10/28/85 JA Created - PLM * 2/7/86 TB Converted to C */ #include "ServerGen.h" /* application-specific definitions */ #define RQOPENFILE 4 #define RQOPENFILELL 97 #define IBHEXERC 5 #define ERCNOTIMPLEMENTED 7 #define BUFFERSIZE 512 #define BUFFERSIZEL 512L #define NULL (char *)0 /* Struct-  ke lForward, but when it is done call HandleRespond * lOkDeinstall like lOk; also deinstall the service * lRespt  ondDeinstall like lRespond; also deinstall the service * lForwardDeinstall like lForward; also deinstall the service * * HandleRequest would return different values in each sort of server. * A pure system service uses lRespond. An asynchronous server uses lOk. * lForward and lPass are used by one-way and two-way filters, respectively. * * Timer and HandleMessage always return lOk. * HandleRespond returns lRespond or maybe lOk. * * The Deinstall values are the same as the regular values except af  ter * discharging the request, the system service unserves the requests, flushes * the exchange and exits. */ /* Optional * * rqTimer has counted down to 0. See OS call OpenRTClock. * Timer(pRq) * char *pRq; * { * return(lOk); * } */ HandleRequest(pRq) /* An original request has been issued whose request code field matches * one of those in the rgServeures defined by every server */ unsigned rg,  ServeRq[] = { RQOPENFILE, RQOPENFILELL }; unsigned nServeRq = 2; /* scratch space for deinstall, 1 word per rqCode in rgServeRq */ unsigned rgRqExch[2]; /* Application specific declarations */ char *pBuf; int ib, erc; char postScript[] = " erc xxxxh\n"; /* Application local subroutines */ char rgHex[] = "0123456789ABCDEF"; ConvertWHex(w, pRet) WORD w; char pRet[]; { int i; for(i = 3; i >= 0; i--) { pRet[i] = rgHex[w & 0xF]; w = w >> 4; } } /* Standard routines that may be present in all serv8  ers. */ Initialize() /* This procedure is called after requests are verified but * before requests are actually served. All OS calls are valid here. * Do error checking, memory or exchange allocation, config file reading, * extraction of arguments from the command form etc. * * This example server checks the os type, then allocates and clears a buffer * for use during the processing of requests. */ { if(pConfig->partitionType == 0) ErrorExitString(ERCNOTIMPLEMENTED, "OS must be MultiPartition", D  25); CheckErc(AllocMemorySL(BUFFERSIZE, &pBuf)); *pBuf = 0; /* null-terminate buffer */ /* Set message to be printed upon successful installation - */ CheckErc(SetMsgRet("Installation complete.", 22)); } /* Requests have been served. Installation succeeds or fails. * From now on all routines must use RequestDirect to issue OS calls listed * in rgServeRq above, issuing the rqs to the exchange recorded in rgRqExch. * Other requests may still be issued via procedural interface (by name). * P  * Some OS calls now no longer work after ConvertToSys. System services have * no video structures so calls to VAM or VDM are illegal (PutFrameChars etc). * In SinglePartition os, * memory allocation/deallocation is illegal, * exchange allocation is illegal, * files must be opened using OpenFileLL, * interrupt routines may no longer be set, * bytestreams are not supported. * In MultiPartition os, * memory deallocation will work, then the memory may be reallocated, * but long-lived memory \  is gone, * exchanges may be freely allocated, * files operate normally, * interrupt routines may be set/reset normally, * bytestreams are supported. */ /* Optional: * * This procedure is called once after installation. Do things that need * not occur unless installation is successful, such as starting the timer. */ Start() { /* rqTime.counter = rqTime.counterReload; */ CheckErc(SetPartitionName(0, "FooServer", 9)); } /* The following four routines are called as messages are receih  ved. * Only one routine is ever called at once, i.e. no problems with * reentrancy, recursion or semaphores. * * Each routine returns a WORD which may have the following values - * lOk the routine discharged the request itself; do nothing * lRespond the request has been processed, respond to the user * lForward the request should be forwarded to the regular handler * lPass li. Rq array. Perform applications-specific * operations. Fields of the request block based on the pointer pRq * that may be changed are -   * pRq->ercRet error code to be returned to caller * pRq->pb-> response buffer(s) pointed to by the request block * Any request block field may be examined. See Operating System, VOL 1 * for a description of request blocks. */ struct RqType *pRq; { /* This example server records the name of every file opened, until its * name buffer is full. It then deinstalls. This is a two-way filter. */ if(BUFFERSIZE - ib >= pRq->s0) { strncpy(pBuf + ib, pRq->p0, pRq->s0); ib += pRq->s0; return(lP  ass); } else return(lForwardDeinstall); } HandleRespond(pRq) /* A request block has come back via Respond. It was previously received * at HandleRequest, which returned with the code lPass. The request was * passed to the normal receiver of that request, which completed it and * Responded back to us. This routine may now examine the results of the * operation, and then must let the request be Responded. */ struct RqType *pRq; { /* This example server records the error code returned from any op  en. */ if(BUFFERSIZE - ib >= sizeof(postScript)) { ConvertWHex(pRq->ercRet, &postScript[IBHEXERC]); strncpy(pBuf + ib, postScript, strlen(postScript)); ib += strlen(postScript); return(lRespond); } else return(lRespondDeinstall); } /* Optional * HandleMessage(w) * An interrupt routine has sent a one-word message to the server. * This message may be a data byte or word, or it may indicate some * condition such as "buffer full". * The interrupt routine cannot make requests, so it mu  st "poke" the * server somehow, and the server makes the requests. * * The interrupt routine could have set a flag that is checked by the * server, but then the flag would have to be polled, e.g. every 1/10th * second the timer routine could check the flag. Sending a message * usually is a better solution because the condition is noticed instantly, * also without using any processor time for polling. * * WORD w; * { * return(lOk); * } */ Cleanup() /* The server is deinstalling  . The requests have been served back to their * original destinations. All requests pending have been discharged. * The server process is about to disappear. Do any final operations * such as writing a log entry or flushing a buffer. * It is ok to issue requests by name that this server had been serving.  */ { WORD fh, cbWrite; /* This example server writes the name buffer to a file. */ CreateFile("[sys]OpenNames.dat", 23, NULL, 0, BUFFERSIZEL); if(!OpenFile(&fh, "[sys]OpenNames.dat",   23, NULL, 0, 0x6D6D)) { Write(fh, pBuf, BUFFERSIZE, 0L, &cbWrite); CloseFile(fh); } beep(); } so calls to VAM or VDM are illegal (PutFrameChars etc). * In SinglePartition os, * memory allocation/deallocation is illegal, * exchange allocation is illegal, * files must be opened using OpenFileLL, * interrupt routines may no longer be set, * bytestreams are not supported. * In MultiPartition os, * memory deallocation will work, then the memory may be reallocated, * but long-lived memory  g SERVER.OBJserver FdPePe Y SERVERPLM86 V2.303/26/87 17:02:2S1STACKMEMORYCODEDATACONST SERVER_CODEDGROUPh@AʘHH]TD$  KCRASHIFERCNOTOK6JPCONFIGPTIMEPASCBWVERSION  EXCHSERVE FCONVERTTOSYS\J*INITJ DEINSTALLPROCESSMESSAGEt ALLOCEXCHCHANGEPRIORITYCHECKCHECKERC CONVERTTOSYSCRASH DEALLOCEXCH ERROREXITEXITFORWARDREQUEST GETPSTRUCTURE OPENRTCLOCK OSVERSIONQUERYREQUESTINFO REQUESTDIRECT RESPOND.  D U]bt@ J Obj.flsserver q Uc Qe QemL Server.obj Initialize.obj Start.obj Timer.obj HandleRespond.obj HandleMessage.obj Cleanup.obj LogMessage.obj og) $INCLUDE(:f0:CTOSLib.edf) DECLARE pConfig POINTER EXTERNAL ,config BASED pConfig SysConfigType; LogMessage:PROCEDURE(pbMessage, cbMessage) WORD REENTRANT GLOBAL; DECLARE pbMessage POINTER ,cbMessage WORD ,erc ErcType ,LogMsg STRUCTURE ( TextCode WORD /* value to indicate text msg to Plog */ ,cSENDSERVERQ SETMSGRETWAIT KILLPROCESS EXITANDREMOVE RGSERVERQNSERVERQRGRQEXCHRQTIME INITIALIZESTARTTIMER HANDLEREQUEST HANDLERESPOND HANDLEMESSAGECLEANUP $ D\EInstallation failedР6UF tP] V+JUPPPX PX@PPPXPPPX&$u&G&&TVPP> bttPPFF;s-FPPP ^FFʚ\s)X tPPP6XFF;sF؃t6&| rPP6^6P6F뱚> btt ]לV !V &16V ;FKV PT_mpsxV~VĄċĎđ̖V ̜VĪĴVVԆVVVV V$+6=VC\NRUV[\eVksx{ϠQUQFF w0؃uv&L&L FuȁZ](,48CHSUQF F w/F9u9u&LLJFuɸP]%+5EVJgUQFF w؃u Fu]6PPPÜ*-2V8V@\UQ> bttFF;s4PP6^P6Fc6P u P&$u&G$s6P6> r&&7P6PP6T&w PX]s&-V3\>BEVK\Y\aVm\tV!z̄VĊ̕V ě ̞V̤\ĪIJ̻V\V\֎ݎVU9>u9u> bttNs%P>uFs6ZZL&G;uSSFsSZ&G!SP6ZZ%Fw.Z;bhH&G u+JVuF ^㋇F~u&G!S|vSlS&G u+JVuF ^㋇F~u&G!6SvSP6]ݜ*V2@CV HNW _joV~̃VĈĎ̙V̟\ĥĪľ\\\\\ʎЎ׆ۆV$)V 1:AEkxł͇VŒ͗V͝\^:J6PPPZsٚ3\ VV \%0\p XA( {Y START.OBJserverFdQeQe\4  STARTSTUBPLM86 V2.303/26/87 17:02:1Ԗ4STACKMEMORYCODEDATACONSTSTARTSTUB_CODEDGROUPh@ HH TD K STARTϜ / bText WORD ,rgbText (100) BYTE); IF config.hardwareType < FpType THEN LogMsg.TextX - INITIALIZE.OBJserver FdQeQed INITIALIZESTUB2PLM86 V2.303/26/87 17:02:1Ԗ9STACKMEMORYCODEDATACONSTINITIALIZESTUB_CODEDGROUPzh@ HH TD K INITIALIZEa D U]btp f Backup.flsserverf ~cQeQe5| Cleanup.plm HandleMessage.plm HandleRespond.plm Initialize.plm Lib.fls LibServerGen.fls LogMessage.plm Lst.fls Obj.fls Server.plm ServerGen.edf ServerGen.h ServerGen.lib Source.fls Start.plm Timer.plm V2.3plm.fls FooServer.plm ServerGen.edf FooServer.C ServerGen.h  op@ & '?p1?4 ;oETUp^ `@eoPegO j0vO wpz`|`0 XLOGMESSAGE.OBJserver Gd{Qe{QeG LOGMSGPLM86 V2.303/26/87 17:03:1Ӗ1STACKMEMORYCODEDATACONST LOGMSG_CODEDGROUPh@LĘHH T|D K LOGMESSAGElWRITELOGPCONFIGܜ DPUj& sFFFF~vFFPFP]C BVt P Source.flsserver b UcQeQem Server.plm Initialize.plm Start.plm HandleRespond.plm HandleMessage.plm Timer.plm Cleanup.plm LogMessage.plm og) $INCLUDE(:f0:CTOSLib.edf) DECLARE pConfig POINTER EXTERNAL ,config BASED pConfig SysConfigType; LogMessage:PROCEDURE(pbMessage, cbMessage) WORD REENTRANT GLOBAL; DECLARE pbMessage POINTER ,cbMessage WORD ,erc ErcType ,LogMsg STRUCTURE ( TextCode WORD /* value to indicate text msg to Plog */ ,cbText WORD ,rgbText (100) BYTE); IF config.hardwareType < FpType THEN LogMsg.Text [6Lib.flsserverW.?cQeQea ServerGen.lib  \% Cleanup.plm/  PTIMEWVERSION0 ~TpZ=_wL4*Ei#START HANDLEREQUESTRESPOND<CHANGEPRIORITY D CONVERTTOSYSb CLOSEFILE OPENFILE CREATEFILECRASHEXIT PROCESSMESSAGENSERVERQsbVerRunPCONFIGRQTIME*< kN(<1\6TFfqyCLEANUPdSEND OPENRTCLOCK1 DEALLOCEXCH)BEEP4WRITE$ GETUSERNUMBER DEINSTALLTIMER FatalErrorserver% ?cReRe $MEDIUM OPTIMIZE(3) $TITLE('Cleanup.plm - Server stub for Cleanup procedure') CleanupStub:DO; Cleanup:PROCEDURE PUBLIC; END Cleanup; END CleanupStub; espond:PROCEDURE(pRq) WORD PUBLIC; DECLARE pRq POINTER; RETURN lRespond; END HandleRespond; END HandleRespondStub; / /* DECLARE pRq POINTER; /* RETURN lOk; /* END; /**/ HandleRequest:PROCEDURE(pRq) WORD PUBLIC; /*An original request has been issued whose request code field matches one of those in the rgServeRq array. Perform applications-specific   HANDLEMESSAGE.OBJserver Fd(Re(Re HANDLEMESSAGESTUBmPLM86 V2.303/26/87 17:02:2Ӗ<STACKMEMORYCODEDATACONSTHANDLEMESSAGESTUB_CODEDGROUPh@ HH TD K HANDLEMESSAGE DU]t = Fooserver.symserver-PLM= RraPePeV i#d#*#",) H1 P(46=(E1=6L/@0T4G6O6 oK6Z< oZ<<>dJUF_tNunvTvZyxy7B\aipfwikoq(*~@' B/7(M KILLPROCESSGetPartitionHandleSERVERQc OSVERSIONERROREXITSTRINGSETPARTITIONNAME$ 6o,Z"KaUi@v HANDLERESPOND#WAIT FORWARDREQUEST$ REQUESTDIRECT  ALLOCMEMORYSL*QUERYREQUESTINFO EXITANDREMOVEKINITJCHECKERC RGSERVERQ0 FPROTECTEDMODEPBUFPASCB EXCHSERVEH )ZGxn#dO1= POKESERVER INITIALIZEiCHECK ALLOCEXCH(GetPartitionStatus AllocMemoryLL, ERROREXIT CRASHIFERCNOTOK6 SETPSTRUCTUREN, GETPSTRUCTURE/4 HANDLEMESSAGE SETMSGRETFRmosRGRQEXCH FCONVERTTOSYS( fDevelopement@T tuvy :":<?r< O< _< o< \#<<<!<m< <d<>?> O> _"> o>> >>w>z> > T   rk#stt"v~vq#|# " !# (* @ ` ? *cWj`CLEANUPdWaitLongSetPathQuietKbdForSwap SetFileStatusSet386TrapHandlerRemoveKeyedQueueEntry x CloseRTClockReadOpen SignonRJE pUnLockVideoForModify6 ReuseAlias>?l [ FOOSERVER.OBJserver-PLM cReRex  FOOSERVERPLM86 V2.302/17/87 13:37:3ϖ4STACKMEMORYCODEDATACONSTFOOSERVER_CODEDGROUPh@%H{HTD K RGSERVERQNSERVERQRGRQEXCH POKESERVERM PBUF+G INITIALIZEiSTART HANDLEREQUEST HANDLERESPOND#CLEANUPd;PCONFIG EXCHSERVECRASHIFERCNOTOK ALLOCMEMORYSLBEEPCHECKERC CLOSEFILE CREATEFILEERROREXITSTRINGOPENFILESEND SETMSGRETSETPARTITIONNAMEWRITEa D aR erc xxxxh r0123456789ABCDEFOS must be MultiPartitionԠ/Installation complete DFooServerrM[sys]OpenNames.datd[sys]OpenNames.dat"U6FQPP]^ V VOU^#؊^O^^W^"ô^W؈]6 2As_iU&G$rPPPPPP>/PPP](V &+V1V9=FOV UVrUPDP P  ]˿ V XIU+^&W;r(&w9^Y^&G]< 7 E#U+ r+^&wP68  ]#(2dUMPPRPPPP PdPPRPPmmP u,6 SPPPP 6 P]7 V%(-EV OSafVkorVwzV̀Vt Z ServerGen.h-NewserverUfWfWf%  /* ServerGen.h -- ServerGen constants and structures for C programs */ /* Re0  t WORD ,pbMsgRet POINTER ,cbMsgRet WORD ',ASCB_2 LITERALLY ' ,DtModeID BYTE ,DtModeYmd BYTE ,DtModeTim BYTE ,DtModeFmt BYTE ,reserved (2) BYTE ,fTermination FlagType ,fVacate FlagType ',ASCB_3 LITERALLY ' ,oLastTask OFFSET ,fEx ecFont BYTE ,bActionCode BYTE ,cParMemArray WORD ,ALSignature WORD ,fhContext FhType ,fDollarContext FlagType ',ASCB_4 LITERALLY ' ,pExitRunFileBuf POINTER ,pbPassedData POINTER ,cbPassedData WORD ,sbNodeMail (13) BYTE ,qMailId QUAD ,naMailServer WORD ,sbUserName (31) BYTE ',ASCB_5 LITERALLY ' ,sbUserPswd (13) BYTE ,sbCmdFile(79) BYTE ,cbExitRunFile BYTE ,ExitRunFile(78) BYTE ,cbPswd BYTE ,Pswd(12) BYTE ,priority BYTE ',ASCB_6 LITERALLY ' ,fColor FlagType ,rgbCol orBytes (8) BYTE ,reserved2 (15) BYTE ' ; DECLARE RqType LITERALLY 'STRUCTURE( sCntlInfo WORD ,nReqPbCb BYTE ,nRespPbCbPb BYTE ,userNum WORD ,respExch WORD ,ercRet WORD ,rqCode WORD ,fh FhType ,lfaLow WORD ,lfaHigh WORD turn values indicating how to handle requests - */ #define lOk 0 #define lRespond 1 #define lForward 2 #define lPass 3 #define lOkDeinstall 0x10 #define lRespondDeinstall 0x11 #define lForwardDeinstall 0x12 /* CTOSian typedef equivalents */ typedef unsigned char BYTE; typedef unsigned int ErcType; typedef unsigned int FhType; typedef unsigned char FlagType; typedef unsigned long LfaType; typedef unsigned long   QUAD; typedef unsigned int WORD; struct SysConfigType { BYTE fill[12]; WORD cPcb ,cExch ,CLinkBlk ,cLinkBlkRes ,cTrb ,cIob ,cFcb ,cVhb ,cUcb ,cUfb; BYTE HardwareType ,ClusterCnfg ,fNoFileSystem ,fCommIop ,partitionType; }; extern struct SysConfigType *pConfig; /* from Server.obj */ struct RqType { BYTE sCntInfo; BYTE RtCode; BYTE nReqPbCb; BYTE nRespPbCb; WORD userNum; WORD exchResp; WORD ercRet; WORD rqCode; WORD fh; WORD LfaTypeLow; WORD LfaTypeHigh; BYTE *p0;   WORD s0; BYTE *p1; WORD s1; BYTE *p2; WORD s2;  BYTE *p3; WORD s3; }; struct TrbType { WORD counter ,counterReload ,cEvents ,exchResp ,ercRet ,rqCode; }; struct SysTimeType { BYTE ticks; BYTE tenths; WORD seconds; WORD dayTimes2; }; extern struct SysTimeType *pTime; /* from Server.obj */ struct AscbType { WORD fhSwapFile; BYTE *pVLPB ,fExecScreen ,fChkBoot; WORD ercRet; BYTE *pbMsgRet; WORD cbMsgRet; BYTE reserved[6]; BYTE fTermination ,fVacate; WORD oLastTask; BYTE  fExecFont ,bActionCode; WORD cParMemArray; BYTE rgbReservedforBatch1[15] ,rgbReservedforMail[19] ,sbUserName[31] ,sbPassWORD[13] ,sbCmdFile[79] ,rgbReservedforBatch2[93] ,fColor ,rgbColorBytes[8] ,reserved2[15]; }; extern struct AscbType *pASCB; /* from Server.obj */ - (iAmpersand + 1); END; /* Check if device spec is either [comm] or [ptr] */ IF (UlCmpb(@CommSpec, @bFileSpec(1), 4) = ONES) THEN fPtr = FALSE; ELSE IF (UlCmpb(@PtrSpec, @bFileSpec(1), 3) = ONES) THEN fPtr =  g ServerGen.edfserver_?Pef Y /* ServerGen.h -- ServerGen constants and structures for PLM programs */ /* Return values indicating how to handle requests - */ DECLARE lOk LITERALLY '0' ,lRespond LITERALLY '1' ,lForward LITERALLY '2' ,lPass LITERALLY '3' ,lOkDeinstall LITERALLY '10h' ,lRespondDeinstall LITERALLY '11h' ,lForwardDeinstall LITERALLY '12h' ; /* CTOS types */ DECLARE ErcType LITERALLY 'WORD' ,FhType LITERALLY 'WORD' ,FlagType LITERALLY 'BYTE' ,LfaType LITERALLY 'DWORD' ,Offset LITERALLY 'WORD' ,QUAD LITERALL Y 'DWORD' ; /* public structures from Server */ DECLARE AscbType LITERALLY 'STRUCTURE(Ascb_1 Ascb_2 Ascb_3 Ascb_4 Ascb_5 Ascb_6)' ,sAscb LITERALLY '304' ,ASCB_1 LITERALLY ' fhSwapFile WORD ,pVLPB POINTER ,fExecScreen BYTE ,fChkBoot BYTE ,ercRe1 ,p0 POINTER ,s0 WORD ,p1 POINTER ,s1 WORD ,p2 POINTER ,s2 WORD ,p3 POINTER )'; DECLARE SysConfigType_1 LITERALLY ' SystemBuildType byte ,OsType byte ,SaMinLL word ,SaCurrLL word ,SaCurrSL word ,SaMaxSL word ,SaMemMax word ,cPcb word ,cExch word ,cLinkBlk wo rd ,cLinkBlkRes word '; DECLARE SysConfigType_2 LITERALLY ' cTrb word ,cIob word ,cFcb word ,cVhb word ,cUcb word ,cUfb word ,HardwareType byte ,ClusterConfiguration byte ,fNoFileSystem byte ,fCommIOP byte ,fMultipartition byte '; DECLARE SysConfigType_3 LITERALLY ' reserved byte ,nParDesc word ,oRgUcb word ,oRgOExUcb word ,userNumVid word ,userNumKbd word '; DECLARE SysConfigType LITERALLY 'STRUCTURE( SysConfigType_1 ,SysConfigType_2 ,SysConfigType_3 )'; DECLARE SysTimeType LITERAL  LY 'STRUCTURE( ticks BYTE /* count down from 5 or 6 to 0 */ ,hundredMsec BYTE /* 0 - 9 */ ,seconds WORD /* 0 - 43199 */ ,dayTimes2 WORD /* 0 - 65355 */ ,cksm WORD )'; DECLARE TrbType LITERALLY 'STRUCTURE( counter WORD ,counterReload WORD ,cEvents WORD ,exchResp WORD ,ercRet WORD ,rqCode WORD )'; /* The following variables are in Server.obj */ DECLARE pTime POINTER EXTERNAL ,sysTime BASED pTime SysTimeType ,pConfig POINTER EXTERNAL ,sysConfig BASED pConfig SysConfigT, ype ,pASCB POINTER EXTERNAL ,Ascb BASED pASCB AscbType ,wVersion WORD EXTERNAL ,exchServe WORD EXTERNAL ; /* Server public procedure */ CrashIfErcNotOk: PROCEDURE(erc) EXTERNAL; DECLARE erc ErcType; END CrashIfErcNotOk; 8! Lst.flsserver UcQeQem\D" Server.lst Initialize.lst Start.lst Timer.lst HandleRespond.lst HandleMessage.lst Cleanup.lst LogMessage.lst P$ H Timer.plmserver 0?c{Qe{QeM\% $MEDIUM OPTIMIZE(3) $TITLE('Timer.plm - Server stub for Timer procedure') TimerStub:DO; DECLARE lOk LITERALLY '0'; DECLARE StubRqCode LITERALLY '7462H'; /* 'tb' */ DECLARE rqTime (6) WORD PUBLIC INITIAL (0, 0, 0, 0, 0, StubRqCode); Timer:PROCEDURE(pRq) WORD PUBLIC; DECLARE pRq POINTER; RETURN lOk; END Timer; END TimerStub; @ & '?p1?4 ;oETUp^ `@eoPegO j0vO wpz`|`0h' a CLEANUP.OBJserver %GdReRet(  CLEANUPSTUB"PLM86 V2.303/26/87 17:03:3і6STACKMEMORYCODEDATACONSTCLEANUPSTUB_CODEDGROUPjh@ HH TD KCLEANUPQ D U]bt1   { ZJ2P( Kb T  _ )l< Mw4 B Og<Z y 5 8 J TdH-   sdtH - SN t   ,  'G:FYg!>-L----@---0----0-:-^-h---WFAP=]{GGGGGGG5GG3GG GlGGG1G6GuGGG.GMGGtGGHGaGnju&,FS)E &3AGNmK K K /K =K DK cK mK K K K K K K :K CK TK K K K K * XK HandleRespond.plmserverK [?c(Re(Re+ $MEDIUM OPTIMIZE(3) $TITLE('HandleRespond.plm - Server stub for HandleRespond procedure') HandleRespondStub:DO; DECLARE lRespond LITERALLY '0'; HandleRespond:PROCEDURE(pRq) WORD PUBLIC; DECLARE pRq POINTER; RETURN lRespond; END HandleRespond; END HandleRespondStub; / /* DECLARE pRq POINTER; /* RETURN lOk; /* END; /**/ HandleRequest:PROCEDURE(pRq) WORD PUBLIC; /*An original request has been issued whose request code field matches one of those in the rgServeRq array. Perform applications-specific - GWc  -'-H1n7n\)g7)Copyright 1987 Convergent Technologies, Inc. All rights reserved.Ver x12.0-4/8-15:00 Linker x12.0-03/22/88-16:38 Xi z[>w k7`  [ `R m\( s1 ; 0&/ = 9  A]^ 7 X Q lO  }:^ no ( c|b 6 Di 4@   |%@ % 7 My k9\u F qp KV 6aSz";P E  C A  i 8 F PhD*Wu I_ 2hx d mL n s  x C n) $ pVZ  ?N,f J #K Aa!" ' } *=$ U&e ># @{1;  -LO v / +G j Q T<IE5U?. 3'!2 ,W} j0_ ] E~cfr ~ 6xr U B  # vRY3 o1q e.+ "2 K +K =K GK QK VK K K K K K  M * 6 M p    p          2 > L \ n     . h z   $R o z ! > k v     * W     g c    : ?; n; ; ; ; !; V; [; R ]R R R R R 6R UR mR jR R R R R ?R uR R R R R GR $ ; L e ( / T x     Z y     5       A W n       2 m     < p      _ q   S2 X2 2 2 2 2 52 :2 q2 2 2 2 2 2 :2 e2 u2 2 2 X2 z2 2 2 2 -2 X2 2 2 2 2 x2 <2 A2 W2 \2  0 8 A r  & : G S n       % B _ |        . 9 T    4 E  1 H [ r  E k     B m      = I U c          E X y     0 W      , Q o      6 Y |    a q z      O      + K R         ) 5 S     *  O   5        H  X  a  j  |   < U  S   Y ~     " D U         + : E T b       , ; W i       K i x      & 5 F U          k  D Z  ! 9 j p  # 0 I d  - ` u           " F x    ) E K     7  h,n,,,,,f,,I,U,,,,>,v,,,,8,A,P,,,,-,O,s,|,,,,,,a,r,t,, ,_{H~Viy-<)L[z?? ?&?=?C?N?d?j?????"?-?A?_?????^?g?www!whwwLwwwwwww3whwww9 wV w w wy w w w w w wZ w{ w w wwwwww wGwwwwwDww+LQV?rDpW;;;;;;R;;;;2;p;;J;Y;;;ht 9E !-9>ac2]-Y`,5Y4X~:Aj %>KXer{  ;    2     KXi /7#<KXe18`t|W07]!ALi&Z ~     4 c       |    prrrr=rsrrrrr rDrgrrrrrr@rrrrrr- rB r r r r r r r r r r r r r r(EPE|EEEEEEE &+.Lgw%~erFf9f|Ku<M k   * F k   ,    g'Lm-@b(  4    D q   K z   , c    [ m z     3 J `o&=,D\t*/BQ} g 2  i ! ! ! ! ! !{ ! ! ! !1!6!A!!0!Y!o!!!!s!!X!a!p!!!(!1!A!u!!!!!,!B!!!/!8!!!!#!J!*m*m*m*m*m*m*m*m*m*m*m*m*m+m+m+m +m+m+m+m+m +m$+m(+m,+m0+m4+m8+m &,28>DJPV\bhntz "(.4:@FLRX^djpv| $*06<BHNTZ`flrx~ &,28>@B#B#B#B#@B#B#6B#B#B#B#B#EB#LB#_ B#0&$&$1$B$B$B$B$B$ B$)%)%')%A)%])%n)%)%)%)%)%)%")%?)%[)%)%6)%_)%)% )% 4:hHgE\s   & . = Z     = B K T ]       ( <   $nW+]ctzV[`m  7%%%%%A%3%%%%%V%%:%%%%%-%6%D%X%]%m%%%%%:%%#%w%%%%J%%%%%% %` % % %6 %n %~ % % %= % %[ % % %M % % % %K%%%%%%/++++P+++++*++++6+ oooo o=61I 0@r?af=!,;Beu~$J3O2$Tfqx$DVg|b  D   $^ T9 =ZK:V:i:::::D:::0:;:F:T:j:::hhhh+hShuhhh"hhhh" LQ6U%*/4>`i|IR+9CRqio!:?Daz #0T +@  ppp'pppppEppp$pVpppp5:'-q^i&tDt^tt!-P\!"2;DVn3Sw|:?)1<TY----G-Q-[-----$-.-b---0-J--------P------)-Oe?f0&+EhWt_<Rs A *A* B H f l    R     h s       D  Q      A _ e y  ^ r K!+K!MK!YK!cK!K!K!K!K!K!K!)K!MK!tK!K!K!K!K!K! K!-K!9K!K!K!K!K!K!K!K!DK!^K!cK!hK!~K!K!K!K!K!K!dK!qK!K!K!K!(K!ZK!qK!K!K!K!NK!K!K!K!K!K!&K!/K!8K!JK!bK!!B!N!i!n!!!%!e!{!!!2!r!!!!!+!;!\!o!!!!!!)!T!i!w!!!!)!G!L!Q!e!!!!!!+!@!_!!!!!!!!U!!!!!3!E!S![!!!( !P !3  )%~ )% )%6 )%%;%n% %%&&&&&\&9\&]\&\& \&*\&:\&I\&c\&r\&\&\&/\&@\&X\&|\&"\&\&\&r\&\&\&\&\&;+'K+'+'+'l'w'/w'w' w' w'Pw''q'g''''''''R'''' ' '(((::_?ЬoO p0 `o_ `o o  @ O&-p1FMV/ pWb 0e/ qP~_pЖo0`_P? /O@ _p/ _ `_@!" %)?,37 9 DoN_ Vk@m`mo n{`|}o ~O oO0@/oЦ@?pp/ ? `/`OO1E  F0 I/5,NW \ a f k p u z        $ ) . 3 8 = B G L Q V [ ` e j o t y ~  OQ|ieR 0; / #  Z      wI y Cxdrrr8rzr $<TlN| 5      4  OyoooXoioooWoooRooo+oo5t:L:hhOhhc/?.M#1GY8   ,-?----(---- -(n#=`Ol   `   : `    L   2 [   ?    M q    . LK!K!K!B#B#B#B#B#B#B#B#B#&B#2B#B#B#nB#B#B#*B#cB#B#B# B#\ B# B# B# B#I B#b B# B#/$&$K&$b&$&$1$1$1$cB$B$B$B$/ B$ B$ B$s B$ B$ B$ B$_ B$; B$h B$ B$.B$[B$&)% )% )%&R&4&p4&>&3>&T>&v>&>&>&>&>&$>&m>&>&>&>&\&u\&\&'\&\&/&U&&!+'Z+'r+'+'+'g+'+'+'-+'S+'2l'El'el'l'''' '{'',-GK ; R  2  ,?w;rE %+o:hpt- K!!#4#6#B#$&$1$B$)%%%&&&4&>&\&&&&&&+'l'w'''r(((((((BHNTZ`flrx~ &,28> @ABCDEFGHIJYesNo0123456789ABCDEF]FileHeaders.Sys _ h o w  7 ...                Replaya############  56789:@ABCDEFGHIJ0123456789ABCDEF@ _ 5 < sysmfd.sys $"03   4KcR<3    j+GAZs$$$,,, ,4e444G444}4)44484#4<<G<<<,<<F<<DDDLL7 L@ L* LTdTTTs T T T Tb T T T\8\\\\ \w\\\d@d[d/dVdddlll&llMllllllt|,|D | |t | |||||~J#a2KFB05fl1  WH\N R   # >6N  RA@WWw?6 (1;EPDP .?Capaaaaa'aOazaa!aa(aFaOa}aaaaaa!'aYaba=axa(bb!aaKbb7aJ!^!aaa! !5 ab a A   aH ag a a  a a aG ` av a a a a - a[ a a a a !<adaaaaa!a9a]aaaaaa6aUaa!!!a)!;!""!)!>!X!waaaaa!aCabaa`gqtuuu76]6!!""M!!Z95( V8:55K66L>` mnijnosQR!!!!!!##!!!!!!!!!!!!J!!A!!B!!C!!D!!E!!F!!G!!H!!I!!!!!!W !!!!!!!!33334444OOOOPPPP!!2!!!!1!!@!!!!!!@!!&d!!'c!!J!!iU!!kk!!S!!r!!!!!! g!!!! _!!aa!!f!!!!e!! !!l!! !!h!!M!!!!!![!!!!!!PQRUVWX34OPp{}[]<>^YesNo...Local{}[]mfd.sys!a?!*a2Q=\z=\z2QG2  <t~, lv,<tG<2< l4 4 }4 $ G4 4 444e4j4+s<< $ !  <  p(K) <FB62  2 ,r <,,!!44e44Zv,A~,& L$$$$$$$$$$$z    ,,4 }4 WpC$ <2DS 7 7 ؟ ؟ ؟ ݟ p   S S 靌 S S M   S a N N N N N N N N N N N N N N N N N N N N N N ڝ       @ 0cP)W0&?`ByI%:=Y:K-O4 sE    tOd-  !   }   P     &  bab $H$$,,44M44 4 4<<<<s<<<J<<G<<DD DD^DDD,DD3DDD D D- DT D DLLL7LLTT?TTT T%TqTT%T\\\\\\d.ddd?dbd1dlillFl|llttot)tgttt|||||||Gqf,(8jc6TyS> m&  c pz{h0 o { * K v   C@E K_     {lt $$$$,y,44)<<<DLLT\ddddddddddd7ddlYtt|4|J&789L +1$8*1$M E,47< DLT \Fd l0t.0)| 4I/ 5,N#J( K,BG 0 o  9  w 0@0P6@_}z m!"#[###$$$$3%"&&+,,0,--c/0P11_22@334k445677778H8Z8l8H9;<H>>]?]@@@AAA3BBBCCiDEOExEcFGGGwHHHrIKL MMOPP7Y@Z*[[\O]Zbe4eYeefffh`ijkmFmjnooMpp s;su6uwxz{\||x} ~~o}ׁԐQY(.9VС1qЪD۬x֮ҰtyP-f65@,Y O#cp4!U)B10P8`[S%{ T   w   G v $pohlP1e6!  !"#$%%r&'q'r(* +h+++,,2-33~678999S:n::*<v<'==>?AAnBCC?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#{%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~` a/b^5cgd e f_ fg hP  i !# (Zje"!! k"""k"lY#6#=#"mM$# $Y#n %%%S$o'''%p'''q (''r(g(n( (s#,j*? q*(t~-[-b-*,u...-v22 2.w`:: !:2x<< <c:yEDD"r y6  UFP0PB?#Editor EditorOpenModeEditorTabLengthEditorAutoIndentEditorUseWildcardsEditorNormalColorEditorHalfBrightColor[Scr]<$>[Scr]<$>EditorDir.tmp[Scr]<$>EditorVol.tmp[Scr]<$>EditorStat.tmp[Scr]<$>Editor.tmp .Editor.ts-Old-New [Sys].userPath:Mail Urgent MailCalls Master downLocalMasterFilenameLengthSectorsCreatedRevisedAccessed Number of files: Space used: sector(s) k bytes Space left on volume: File headers free: Open FilesStatus Open Mode UnchangedChangedDeletedModifyReadTB7 FN;s +NFF9FrF;FsFFFP;vNFȋF1F uFFfV+ЉVF FP?FvvvvvH]U]U]Uvv v FVRPRPW] U^twwwww]UFV൉ⵋN~䵉>ף赉굋F V 쵉^v6+ף^㍇PFs^ğ,^F~t&O>tF:u P>ضtF:Ƕu ƶPF: u4ҐԐ; u;t!PF u  P=tH؋л^F;u4ҐԐ;Tu;Rt!RPFT Ru VX=tH؋л^F;u4ҐԐ;u;t!PF u :=tH؋л^F;u4ҐԐ;>u; u#@PPDWY Fs>F:WuR͋T;u;vW]U ^GWFVGWFVNV赋>;u;w;u;u tFV(FV;u;v>;u;vN~NV赋>;u;w;u;u tFV(FV;u;v>;u;vN~FV^GWFV+FV^GW^G GuG^G PF]U^W;Ԑu;ҐtO^W;u;rW-^W;u;r>;u;v]U^㋟л^rG0^G W;u;rT;u;s>;u;vO ^G)^G W;u;uG^G W^GW;u;vGW^9Wu9GvGW^GW;u;vGW^9Wu9GvGW^G"FFG&FFG*FFF tOHF^&Fru؋^GW ;u;w#FsF@^;G.sG.^G0]^W;u;s*Sv^&^F9G.vG.^G0눋^W^GW^GW F0UFF<"wO؃Ft DP^^ヿ.t ,P^^ヿt P^FuFF:)s+؊㋟л^G"P^^G&P^F̃>t P^>tP^>tP^>tP^>tP^FF<w؃~t |P^Fu܋]UFP0PF^FHFN;sNF]UQvPFPPF]UxF`F͋^ͱ㍇͉FFFFFF@F^ FF;r^NF tC9Fv>NFF؋O)N~u @^$FFt ^FF F@tF;Fw^G%FFtNN~rFF;FrFNF:t\2<uF< tuFE~uF9Fs$^vJvF@F@F^ vBFF$vBFF^GFF^Ft%~svBBFF vB+F`+ȉN+Nvz+NvzFPF`\ӍPl]Uf8Fr (FFFP+FFF F~FNN{FFFFB@F^ {NFPF `\ӍPl]U ~FPvF^G`N+\Ӌ8v]Ub^*sSy^Ƈ*8Fr (FFFF F~~F@FPF`\ӍPl]UbF`F~~@~t?^*sSy^Ƈ*FP\ӋvPlF`NF뻋]UF`FF;r!;r^ !ىFFF+F;Fu^ h\ӉFFF`F^*sSyF;rƇ*^^*^vP\ӋvPl^ ]Uh^ *sSy^ Ƈ*8Fr (FFF^&F<:vNPF*ȵNu"F F~F nNFF^w~NFFFFF F~{FnvzFN0tFPv &Sl1$]UQQ^ć|ی tP^Љ|ۉ~ۍFPPs dP^F|ی~ۋظ&^&G^&G&W^&G&W ^&G N^&O^&GҐԐ^&G&W]U^㋇ڋډFV t7  P&G;Fu^&%t jPF^&%t jPFF&G;FvT^&%u&% &*^&%t^&%ulmP^&%F&G;Ft nP]UQ>pTBt @PFs'-rFȿrt+Jp]U-r]UP66RPUQP=FtF]UvP6Y]UQFFFtNFtF^㋇]UF$FNɱtANF؋NuY N Ft+VsN2Q"Fu@P8P*Fs FF FrvFF]UQQFҋ^F&?u &uIFut^&Gt ^&G^&^ Ft^&Gt^ ^ ]UQQs u+JVue :tIFFF s<؊:t'&xt^㋇tN;vFFF6FPK]UQr1 u+JVtڊFFt]UQr0F u+JVtڠLJt]UQQsq4FtF}vFV-RPFVRPFPP F؁?Gt@FsJFr66 FFs"^G W^㉇ډډFV ln^ć|ی tP^Љ|ۉ~ۍFPPs dP^F|ی~ۋظ&GҐԐ^&O&WN^&^&GNV^&O&WNV^&O&W ^&G ^&G]U^ć|ی tP^Љ|ۉ~]U^ğ,^F&ć|ۉFF^&7PPFVN^Dˊ^SWQRP^&w&wQP2D^ć,FF&ğ|ۉ^F&O&W ؉^&g]UFi<tt<tpF FuhvvvvPFPFP%FƉVŠ<t6<t2F Fu*vvvvPFPFP%FƉV€uƆ ƆƆ<w#V~Nv+RމzJʉBtƆdžH;rĿWuڋF Ft.df"hj`bXZ\^FƉVȂt?vvP^PrrrrʰPP|G<ĶFƋVȋ]U4F^F^PvvFPFP# FV t؍PFPs dPFFȴN;rZηBFuߡNĿv؊F @tMؒڒЋ]U6Os lnvvvP4NԋPԣ~̹(FF V;u;w:FN< u$^ ^W^GpF< t< tFu}FvBFF˴FHN;rOėVF& t~Ft+JVuF;FuFFuFs%Ft3F V;u;v!FvBF:F؊FNjF V;u;vFHN;rėVF&N;uPw~Ft+Ju2F؊ ^ ^WF^WFt|A^ Ћ]UQ>juOsl1PRPP4lԊ^ljԃ]Uljԃ.]U^?1uFF^_^GkGWFVGWFVFVFVFV9Vu9FwkRPP4FV+FVFj;vN9FvFFjF9Fv-^SlԊ[ ill8tƆjFˊjs kvvFRPlQPPP FFVDЋ]U&?77t fP҉FFlnFF&GF~un^&%l&%t gP^&% &^&G%t hP^&G%t iP^&G#҉FV؎&#O;Nt k8 sFds F؈FFFs&il6 dvdv FD.dF: u6.dP嚊F$&8uFuF:tנsvdF]UQQ> r3 :uFFvPP-F: u > sS s9؊:t%ヿtuN؈ 뿠s FF]U s:F &G &G&_&GSPFs6FP|P6FP<Fuv;^uF&Zt&bu4Pd  &wtܐ;^uwܐ&GF&GFF s&؋t;NwLJt ^F)tF6FP<F uM~uFs vP]UQPNQP6:r$66YP66RP뼊F]U젏ss&.dss 6d]UQQPPP-FP=FuPSP-F!~uF:tPSP-F]U점sr 6d]U젏s]ˠ t ]U<uK]˰]UT8ԱtANNV>>Ķ66F<uF ~uFĶvvFsG<F]UQPPP-FtF$ҋ&]UQQFs0FV66FV* Ll &$]U^^F ^ FFu+JtP66RPċF!tP66{^ҍ^F&7@FF^ P66:F^ N ^&u+JVt^^v&^ ]U젍ut&&@t&@&@u]˰]UF>tVTԴ;u~ uF ~ uF 5uPvvDFu~ !uur FF F8iu 8?u8Nt1TՊi;t?;t Nٵ;u ~ uF 5FӢĶ~ t'~ uZFs~ u>ufF FNNNNF؍^GFt sbdFtFt>uƶP|TVFu@t PT >u@ttrć,FF :jt :t:Lu^&Gtp&G&*Gv&Opwr6ґ6БvPRPRPRP r^S1FV tFufF pFtfFuA8t9FFFP FV tFF FFtF#;ubP|>u';s5W@P?TP|>u"Դ;uF uĶjF0#;u*T!t<tFs@\^>Fp#;t շSć,FFX:jt :t:Lu ^&Gtj&G&*Gv&Opwr6ґ6БvPRPRPRP sJ^S1FV u.F#;u/>u(FP FV t&FVlnՈF ՈFFt?FtT FuTFP^?WFVsҴFFVFt FFӢFt FsY~ 0tSF FurDG<=>t6ԋG W;Vu;Ft"ԍ~ԹP TFP%TFt?~ Pu FVFV]U>u -s>u P T6^ww]U]U]UF Fu8tԋO WNVĶFV;u;uEF $Fu>tG<Ķs>t>uJ< 6<ԋGW FVԷ㋟л^F$FFO +O;tP<FPwP Ds^G GutAЋ^GW^G^G W^O^G.^O0Դ;uTvvvvvvFPFVF @tFFvvvvvvT DvvF t4F t|]U>u 6lFV]UF@tƆƆlPRPRPvFPFVF tX&PP Ds)PPP F tX&PP Ds)PPP F tX&PP Ds)PPP FFFV]Uٵ򪍆PǸPPwP6P7PN)*Ȳ*ʈt{u"*ȠF**ʵGM8u%*)4**ȵ5 *)/*,08  ^㋏֚YtdtFV7^7拄FV7RPP4lԊ< t< u FF FF^wvvP^wvvvvTЋ]U^ umtfFFT@PP6ԍFP~uA"rTF+ՉF~tpv PP FVN>u^ uG:t S ]FP^ww:FvvP FVRrFV^wՋ չ+RPWQTFvFPFPFPcFVNsFsF #^wՋ չRPWQT^G^PvP FVFFQUQF^^;tFv^ww ]U PPSP,DP, t G<ӋՋ Չ6 RQRPQQPP ȴ< t!< t6ՊRPP6ՊRPPPTЋ]UFFFFF^F8w@FFF< uFs~,uF~tEF?~ t9F0:r<9vFA:r^WF^GWF^^GF^&&WF^&G^&GF^&G] UFFVFFF;FvTFPPvv>FVFFV^ vHQvRP>FVFFF뢊F^ ]UvvPP8P t@]Uvv F^Nu+JVF ;waF;FwFt3t4t OtPuv66FV u4F VFVĶvvnPP|F] UՉFF t+P%TFt ;tP6՚?T1PWPPP|գագագոգո]UQP|>t ;tHP6՚?TTPWPPP|գՋ^_㋟л^G1sՃ?գագոգոЋ]U^?u FF9^?u ^?5u FF^?6u FF \^qFF:)s]؊^㋟л^@;Gr>@^;GuF^G;vFFsvvvhF뚡vvvЋ]U^ ^㋟л^ՉFFsGO+;v+‰FFFs^v^wwFGP,|Fr4Fs^G;~!vw^G;w vGHP?T]UQQ^GP6 6մ PPFV^wRPP^_㋇;Vu;FvFV^wvvPPTЋ]UQQ td^wՋ ՃRPRP SPFV^wRPPF FtFV^wvvPPTЋ]UƶP66 666 հPP|FP؃?t@PP]UQQvFV]UQQvFV]U666P4lԀ? u]ˋlԀ? u]˰]UvP]UvP]UPTsvvPw ƶu pr>ضu TVƶFVs;u;t N~RP D6ӸRPRP666vvFV;Ԑu;ҐtRP DFs666vvȶʶFV6ǶRPRP6RPvvӋFVӉӸУӉӣӉӢӋ^ $Fs(FVFVRPvvTƶP|AƶP6ƶFVFVRPRPPP|ƶ8tP6ʶ6ȶPPvvvvP|Ћ]U^< u+JVu \^F F^_㋏лN u FFxFd;s7NV9 @FFFD~tFF^@FF^Ћ]U6 ^ڶ7<<v ,]U>uԋ;ڶtFP u.RPPvvPPP t PP?PPDFP<X1+ʋ ቆ6 PKЋ]U㋟л^G;t7^?7uFF+FF^O;|AN6v?TЋ]UQQ^?9uFFFՉF;rIN6v?TЋ]UQ^?8uFF9FvF+FP6՚?TЋ]UQ^?:uFFՋNȋJ;r +INFP6՚?TЋ]UՊi;t?;t Nٵ;u v^wP84]UՊi;t?;t Nٵ;u v^wP84]UQQԴ;u v)4)Պi;t?;t Nٵ;u vk^?QuUGP6 6մ PPՋ> +׉FV^w6WQRPPP|^wP84]UԴ;uĶ)Պi;t?;t Nٵ;u va^?Ru(w66 6Պ շP&^w6ոRP շSP|]UԴ;u*FPՋ  ՃRP- D8Fu Ķ_^wFP|FV; u;vvRPP%FVN~; u;wvRPPPTЋ]UՊi;t?;t Nٵ;u^wP#4]U^w|^Gt ƶP|]UFFPPvFPFP|8Fu!մ;t Զ;uĶ^G:FuwFVN~׋wOS_^[;u;uJ;~u;^u@Fs9^FV9u9vvRPPPTF>^PFP|Ћ]U^tG Gu TV\^G: uI~u ^GFFFPPvFPFP|8Fu!մ;t Զ;uĶF:FueFVFV^OO;u;u1Fsv^FV9u9v[vRPPP;^GW;Vu;Fu9Fs2FV t(vFV+RPWQTF^PFP|Ћ]Uv PP ]U>u@Ķ6&6$vPP ]UQQ^_^t?u66 6հPF^G: u^Fv^wwPv^wwPPTЋ]UQQFF֐F=ڐs؊t:NvNFېF8FsFv<Ћ]UFېP]U^7<FP6ҚLPFPDsPSPPPDsPSPPPDsPSPPPDPP PD<Ћ]UPPSP,Dt5PLr=v "<ҋȸ1ҍPPPDt@ҍPPPDt@ҍPPPDt@ҍPP PD tPF< ucs 8P` 8PgP< u*P6ҚLGPP< t RP PP t RĞ_ u+JtĞX u+JtsWPWPP< u?shPhPP< t " G<ĶPЋ]UܶP^SݶPܶPҍG`P&G_PmmPF u]ܶݶܶܶ^&7ݶQPҍG`P&G_PPPP\F t PܶPЋ]Uv PP^GPP^GPPlF tPܶPFV FFFV]U>:u ^7<;$0PPQD;$ PQPD;$ PQ PD<$0 PQPD<$ PQPD<$PQPDPSPD<]U;FFPPPDFȱFN FFPPPDF,FN FFP P PDF, FN FouiУb9  ԸN F;w^ 8 tJ^WFVPF^ PP\^WN~+׉FVvvvVVWQRPvv2ԸFVFVFF^ X^F ugvTFVPP\^WN~+׉FV^vvvVVWQRPSv2ԸFVFVFF] U8^ W;`u;^tF9^ W;u;tF^ W;Ju;HtF^FְFFF^ćDFF^׷.o^&N ^&^&8HUbF uğ^FN&G^^׷.>@>tNL=>>t߉#2@2فt8ى6^ P^PP\^ WFV~t>;w1;tJ^ PP\^F8w[Fȋv QOQP\^ PP\^ W+FVFVPFȴ^HQ*ȵQ\+^ P^GPP\^ W+FVFV~tJ^ PP\^ P^GPP\^GoWqFVO`bN܉~RPs TF^wqwos T@B^:FwJ^ PPdfhrPǸPDPjPDPwPDPmmPcolpt@>q tA fP\ t-8\t|6B6@PRPRP1s,|PPP6ҚN xz t xz>ju ljujPWW6oP oЉډڈhh<#s(ć t&G^h6jPPPPBSWPlLN>@Bkr8iuO8jtI< ru㋟лv+G 1JQ6jRQQP0 i6o^P\\6jT6’6PRPRPRP PPhP\ tƆs!ŷPķP P PLsrPPPrPP PNxzhu,PPPPPP xzhz xu~6’6PRPRPRPPRQ|PQPQQPP xzhu xz;nu;ltYxz tUxz;vu;ttAPL66 PPRPRP rdžuz xt@6’6PRPRPRPs"6j Ph^P6p6qTrs|u6j^PJPT\8\u r* LjPWW6oP oډ6jljldts/P l>iu3< r ܒޒ6jRPP6J0 ikr8iuU8jtOPP TjğD6L&@&P׉6iRPWQTЋ]UrsFPPdDFF~p^GPPFPpP u3^SFP s ~ƾbt+JuFFr(nitfi;u PP%Ti;uT6iK FPv F PPLF݋^PFPP\>pttFsjFs`^^P͏P\^PP\v^P T^PP\vv^P T^PP\>pt FrjFs`^^PϏP\^PP\v^P T^PP\vv^P T^PP\FrA^^PяP\^P P\6H^P T^PP\^WN~+׉FV^ S^؋[^vv VSVVWQRPvv2]UFVFV ]UF V‰F fFV]U ~FPPv PPLFvFPP\]UFV tFV ~FPPvv PPLF^PFPP\]URP PvvPPP t^PP\^PPP\]U@r^ ㋇]^ ćDFF&|؍I NF^&NԸ;t؋]ԸFFFFF9Fur^^F&&WFV荎}QQ+RP>FV䍆~P}PFVRP>FV^ .u S^GPP~P}P|P{PPn^GPPP T~P}PP TSPPPP|P{PP |. FFF*FFЋ]F@FFF FFFFFv^&@&P]UF FFF u$NsHF^ &8.tFFs$^v N FYF ^&WF ^&N F+IN^ p^^Y^v&@N +NI^vxv FY] UPڸrP\FPPdF]ܸ޸\F tPFPP\ tFJrP丸P渋三踸P(Pn㋇Pډ츀uP踍P\K5vw\FV6⸋SWRPLP6긚Kr FPP?dF]UQQJrPKrLPFPFK6游P6丸P6긚)PJ6ڸPbd]U r]FPPd~tFPPd.^ .NF^ ڸ^^FF]rFrFdฉF~t^ 츋^PFPP\ชJrKrLPFPFK~u ^?u踋^>tv;t 三渉踊츀uP踍P\K5vw\FV6⸋SWRPLP6긚Kr;~t^ FFPP?dۏPP?dFPP?dF]UQPPPP6޸ڸSF t ܸ޸F]Uڸ6ܸ8t\F u]ڸ6ܸP^P \r^uJğ,^FF&O*ȋ^ ^ S^Fp[F<ڸ6ܸN0^ Fܸڸp^ڸ6ܸȁܸ]ڸ6ܸȁܸ]Uf^:s>*F>WR@PQFPDP~t]^:s>*F>WR@PQFPDP~t]^:s>*F>WR@PQFPDP~t]~^wF{^FFPR ^^u$ğ,^F&Gu]]UQQF FFFFV]UFPP^:  ^ćFF tP^Љ]U^ğ,^F&O^&:tPQ^&G:tPQ)FF<v*ȈF؊㋟л^N;uQPvy]UQQF:uFF:ǶuFǶF: uF FFF:)sI؊㋟л^F;u(FFs^G^G^G0FF뮋]UFPRQFPRQ^S^^ğ,^FĄ,FF&G^&G^&G^&G]UhlFF(FPv FsFPHFF^ ğ|ۉ^Fvv P&7&w vFPvlvyFs^ğ,^F&OF]UQQ^ć, tP^Љ,.FP^Ps dPF^&F^&GF^&GF ^&GF ^&G^&GF^&G^v|^F,.]UQQFF< v؋л^?tG^G^G^G^G^^G ^G"P Ps dP^" ^G&P Ps dP^FV^G\W^FV^GdWf^GW]UQQ^ćFF^@F^&GM^GW^&GN&WP^G\W^^&GR&WT^G`Wb^&GV&WX^GdWf^&GZ&W\^GoWq]U">jt]^ğ,^Fjğ,^FS^GP^GP^&GPFPDP~u]8it l]rFPPdF^ğ^F&G^Ft vdFr FPP?d~t]i;tTjğD^Fv&@&PFV&H &x +N~6jRPWQ^ğ^F&G^FF߀#r<ćFF u&O^u ;Nw&O^FN>tNsN@B u?^ğ^F&GZ&W\FVRPs T@>B+@>B]Uv[drd]UV>jt]^ğ,^Fjğ,^FS^GP^GP^&GPFPDP~u]8it l]i;tTjğD^F&HF&@&PFVPFr-^&G^&*GF~Ȱ.^P\:^&GF^&O*ȵNp~Fv^P\LF6jFP^PP^P6p6qT^PPFN>>tLFL^ğ^FF&G^]UvdPv[dY rd]Uf>jt]^ğ,^Fjğ,^FS^GP^GP^&GPFPDP~u]8it l]rFPPdM^ğ^F&G^FtvdF^&G^r FPP?d~t]i;tTPFr-^&G^&*GF~Ȱ.^P\:^&GF^&O*ȵNp~Fv^P\LFЋNFҋ>Fԋ@BF։V؋^`FډV܊jćDFFFFN&OFQYF^&&W^`v^&@&PFV&H &x +N~6jRPWQ6jFP^PP^P6p6qTFЉLF҉NFԉ>F֋V؉@BFڋV܉^`^PP]UjğD^F&HF&H&PNV&@ &x +F~6jRQWP6j^PJPT^`FVFFF^FV9u9rډڋ]U^ğ,^Fjğ,^F&Gq^&O*ȵNp~njćDFFLVFFN&OQXЉVF;Nvz^&&WFVRPFPP F؊rr8Ft2Fv^&@ &P &+@&PFV슆r;FwFF~uW~uvvFPP FF;FrFދ^v⍺rNFFVFF)Fr;FwItsFꈆqr*Ȳʈp*´qssrts򤍆rPFP r F]FFz]UFF<#s؃FtF~#uRF0^?t6GtB@s:컋;u;rFHFH9Vu9FvFV tIH &Ns/ًW;~u;VwV~>O&&G t&FV"VFV;u;wv RP"PZPdP |X tƆAƆAvvt |"džX"PZPX|XN拚"^GWFVx t t& &Fs؋W;u;wϡ; ) R t96껡RPPfNV& Ɔ@; w9ssƆ<; u@s 9wƆ< 9vV;v Ɔ< +;s Ɔ<O&&&FV"$+ F;}N9FrF;rZvv"PZPdP |X tƆAƆAvvt |"džX"PZPX|6VN &FX+XF ;$v ;r $;$w, ;$v{6$ &Fs_G t4H $㋇컉Ɔ@F*^G F=t ;rƇ*^G $pFFƆ=;$wNF;sQ+PFy6$ &FsM~tFF ;u ;t-F;껰u@PP컋F@FF;rN;sQ+PFFr؋O NWNPNF;sQ+PF軋F=u)N;ufrJ$LH;t@>VB;ѱtA ??sqJ;sgL;s]Ɔ=^G JL@L;tL &FrƆ?몊>s ^G H^G @;Jt@냊=sH>s*F@PJ@PPL$J軉FF JHN;v QPP:Pvv ኆ:Ј; Ɔ;Ɔ;;s:As66PNF=t ;rƇ*vT=rF^G F@F車=sJ軉FF싆L$F$^$HDD &FrD^GWFVG uFP+Q軡$N;s9;"r+P|6 &6&F뽡$$H$ &FrCH;$v9$6$ &Fs^G =t ;rƄ*;  &FrN^GW;W4u;G2tP^GWG2W4=uP؋л^7Ą,FFG"FFO&NF6^&^YԴ;u w7 DTՊi;tG?;t=Nٵ;t3^&Gt)^GW;W4u;G2tP^GWG2W4^G0r ^G0s|բ]UQ9t9uM㋇лF>uգագ%գաՋ^+GG9G9Gw66՚]U"9t 9t?9t 9t>u գ㋟л^G0s|^G"FF6աՋ  ՃRP }^9G*w^&^Wʹv9uW;Lu;Jt6Ջ^7^w7^G t͉^FON߉F^G1sWHFFF0NNF͋+J͉NF^ tFF9FsF^G0#F:u8VuNF;FuFFFFߋFFF;Fs Ft;<t7F;^uF'FFFF^GFuFFFjFՋN+ȉNFՋN^;G*s^&8rFދF; tHՋF; tHՊFߢ!ՋF$գագագՋ]U ^㋟л^Fs G^G^G $@| Fv &8rFv &^W컉^ +ى6ى66>V+6>Y ^껹6У ]UFV u6껋FVRPPfFV&"FV9Vu9Fv,RPt |FFPPP|^GWFVvvFPFPP |F uvvt |FFPPP|]U"F"9v\ &Ns4 U;Vu;N s&v#^W;Vu;F t6" &"뛸"FFFF;vNv&FF;Fsl&+Fv+6"^v &Fs1؋W;Vu;F u+^G u"FF^GWF V~uF댋F@"+F 0^ F6" 8NF"] UQFr |F66vv^J͹ ^G F]U"FF;"v"HF &Ns&FF~t FFFF:)s`؊F:t؋л^GFF껡F ;vN^G*;FsFF9Fw NN߉FF뗊F:t؋лFF껋^G"FFG&FFFFFF;Fr7^&Fs)؋OWNV~uF^G vv^&F먊F:t؋лFF껋^G"FFG&FFG0r|G2W4;Ԑu;Ґtjtd7Ą,FF&ONtG؋OWO2W4ҐԐ^GW^P^G2W4GWҐԐ^G2W4F:t؋лFF껋^G"FFO&NFvO*+N^0FYv^O*+N^0FYF:u"F)">$t)$> tF) FV^G W^F)G^9GrG^F)G^9GrG^F)G*^F)G.^.rG.F]U ~wF܏^ F&@F&N";v+P|6^ S 8^NFF9Fv"&^6&F֋6N &^&&^G t#t&&6N&&]UQQ㋟л^+FN;w+ȃ NG"PQRs dP^G" G&G&PFPRs dP^G" G&FF 6"~"+0F9^NNOOYY6" 8N6"~"+0F9^NNOOYY6"8N;"rF;"rFF"]UFF;s5 &FsG vv &F¡ ;r㋟л^W"RPRs dP^G" G&G&P PRs dP^G" G& ]U^ ㋟л^F 껹6$FV;u;s6RPPfFVFF;s0 &Fs؋GWFV9Vu9Fr]F6vvFPfFNVF~;u;s.^v++;u;sFV^껹6У ]U㋇лF=t ؋лF:u >t8)ut P<<|>tՋ  ՃFV^OI+ON>} 6RP| ^G;v6vv,^G*;w6vv|6vvF+P,b>"s P|;t5UFFF^&OwJFFJ^&7GP^GPF t Pv7^&ğ|ۉ^F&t66 s ln^&t&G&*GF&Op~FF{FFȍvJFPFP^GPmmPF=u0FPFP^GP^&7F u,vP~uF^&G^&g,Fu+JVtȴ;u]Us=FPPd~u'FPPd^ GPFPdF^ FP^P^PPPPNFPFPP!PF uNv^ 򤠐s@~t FP+Fp^ r򤍆pP^ @P?dF]Uj^?t:FPFPFPPFP^P~t#FPǸP sRFFFFPP sF*FPwP s FF FFF]UFPFPFPFPyP^PFPP s%^PFPPFPFPyPNePFPFPPPPNPPP!PF u!^PFPPFPFPyPNF]UlFPv\FPv^PڸPFPQPPvFPFPFPPFPN]U"^PڸPFP!PPNv^]UQQ^Pڸ P^S PFtD=t?~uA^SRP r&^SXP r^SJP s^v]UF^{tFɵ}u+JVuTF t(ɋ؈^ 8v^vtF tF tF tFFF tTNs'N؈^ 8v^vt^[tǸ^Ǹ^FF^x[tF*ɵx]u+JVuaF t5*ɋ؈^ 8v^S^Fp[F tF tF tFFFFF tLNrjj1F*F,^^ 8v^S^Fp[FF^xu+JVuWF t5*ɋ؈^ 8v^ S^Fp[F tF tFFFFF t]Nr NsHw^ w1F*F,^ ^ 8v^ S^Fp[F t ~u^ F t5^*N؈^28v^S^Fp[] UQF^ tJ?tE^@{FF^w^yF^F^@}FF tO؂?tHF^@[FF^ w^yF^ F^@]F^ ?tHF^@F^w^FyF^F^w^yF^F^] U4~u<~u ln-~u 3(*~u 䑋t~u dfS~u&`bFVPPNQPP^P~u"^Ps @BDF%~u @B~u?prFVFPFPPPP^PFPFPFPPPD~u@FVFPFPPPP^PFPFPFPPP~u PRV~u!^Ps X<>O~u ?~u  /~u 葋~.u ~. uFVh~"uBlnFVFPPPPP^PFPFPPPPPN FVF=   PD t@>P^wG$P:=>u>қt@?>L͢VQWRP4lԊN^ɀNԋԻQRDԋF^Y;u;v ׉^ ㋇;u;s+tԉFXF`F͉^͉NVމVNƆ@FܠԈF݋F;nu F;pt%nԉFޡpԉFq$:֐r:ᬀ@>~tKn0uCl 9jvjԊN NPԉlԊF^ FFF;jrFnԋpԉFVFƆt >^tFt>~ u:֐r.F(~ u%:ؐs~uNF f@~ tt*~tv܍PPP>^͉džFXPP6ԍPs0F :jt:u>^tF򈆟Ɔ:אN;vIu1~tFv܍PPP>^͉džF܂~u Fܴ+X͉F:אsF ~ uF0u:ِsF t-F@t'^͉FNԋPԉFVFFX͉FFFXͣX́>^͕sNN;s_FuY~u7>^tL^͉FNԋPԉFVFHFX+FFF^㍟͉^ƆF^^vFF^͊F󈆝lԋvF^Fj;Tu;Rt1P4ƆlԊF^F^͉FNԋPԉFVNNX͉^;Fu;DuVFFFVN͉P͋FNPԣR͉T͋FX͋F^͋^ @^^GFFG0uƆƆ0FF؊G^G^Gv܍PP>:,]U^ć,FFFPP4^㋇J͉L͹ףN͉PͣR͉T͸\ͣZV^&G\tV͡٣X͊FW͸^ͻ`͉^F̈́Vt-^^^G ^&Gtn n 0^Gpԋ^Gً^GF@FFذ^`^G^G0^G^G]UQQF^FNF;v%^ ^^^ } +^;F r;w ;rt ҉FF뢰]U X͉F^͉F؍`͉N㍇͉F~t?NFFNGt(Fs^? u^@^g}ߋ^G)F뻊FN;v+FFFs\F\͊FX;v+ZZ~t^ ㍟͉^FGFX͋] U^7<s PP  P SPD<]Ui ht|QP XZJs_ƆBB:v5A−uQP \^B뿍PP `bTV^_^?t ~^t'ju#Fs OsPRPP4FVFVlԊ^ljԃFVFFs F~u#^"t@"NɱtA F^G;Fu7^"t@"NɱtA FNssFF^rrvx'uFv@:Ft}udm^vx*t~u!vvvvv PPFVFV;Vu;FsFV~uFV^GWF@F^vx*uF^vx uFVFVFF/vvvvvvvvv v vP FV~tFVHFV;vu;tu9FVFVvRPP4FsaOsXln^GI^v@:FtL͈NFJL͊NR͉>T͉N͉>PͱV͋ىX͵Z͉\͊^ W͉^͈Nnԁ^FFFVF~wnFVN~tFF~Nv׋t~vFVtFVJP`PP^^vvFFuF~w"JP`PP Pvv>  PPPPP/PpPPP/PPPP/F udSPFPF u^wSPFPF u^w P@P*P PDP*P&Gs ҍG@ҌҚPP&Fs ңҌv v vvv$O  Ps,?P]U >t@^FF< QWȴPFP t@Y"s;\9FvFF^Nv^F^@FF뜸PPFP u;SFPFPy,P^.^^PPFPF u3F t,F;vNFvҋF^]UPPPPҍG`P&G_PrmP tPP9P8PP PP u5RPPhPgPPDPuPPPHPGPPPP u4PLtr=wҸP16ңҚPFFuFF:Frv JLRPP4FF;js̊N:NsċlԋFҹ#;u.#n#>pԾ;u;uJP`PP Pv6nJP`PP PvvFFVVJW`WW^P6nԚFFNNJW`WW^P6nԚFFFnԣFN:s:*FFF;Fr"JP`PP PvvFFuF~w"JP`PP PvvFFuFFҊF:Fsbv JLRPP4FF;jsϊN:NsǿJW`WWl0v6nԚFFFnԣFF:s6*ȈNFF;Fr"JP`PP PvvFFuF~w"JP`PP PvvFFu؊F^͋]UFF ^F;tF@FFFFpԉFFAFF F v^G] U^G:it :?t:Nu ^_㋟л^W1ҐԐFV^G;u'Ջ ՉFV ՋՉFV66՚?T^G;PuտP^G;uտ߹^G;uտԹ^G"FFF^F9G*v^&FsPF؋^"W^&W^G"P Ps dP^" ^G&P Ps dP^& ^G, ^G*^G.^G0^GҐԐ^O2W4NV;Ԑu;Ґt%^wRQP^wvvvvTЋ]U㋟л^_"^F6&F0FFFϡ+J͉FF^G0#F:u8VuNF;FuFFF;Fs Ft<tF;^tFFFF뫋FHF;r)Nա`Ӄ9w'F Ջ`;s;r+ F?ագFՋN^;G*s^&8rFF; tHագՊF!Ջ]UQQF t#F fF t+)NF FFҌҋ&77F%&G&GҹPQ&GP]UrsF҉FFF&G;Fv,^&%F&%u F&GFFFFNjF&GnS&FF҉NFF&G;Fvy^&%F&%u.F tRP&+GQN_Z+vF+^&%u~u^FFF mPFFzF t$P&+GQN_Z+v&GҋNPQ&G+FPrs]U^&FFf^&%t eP&G;Fv%^&%F&%u&GFF&GF^F&)]UlҸPPs dP&&]U҈FF<"w=؃Ft)ğD^F&G&+;v vQFuS&&PPWW]U^G;FF^S T^^"ƶi^&G8?^&G9N^&G6^&G7FF:)s@؊㋟л^ S^xG^F؊^&F뷠)^&G:]U FPsFFğ,^F&GFFVFVN~N~ҷ㋏N~^ v ^v҈F6WQWPvvvVSFᢹҠsD&Fv vvNF&FF&F]UQQ~ t!v ҍ^FFV&G &W ]UQQF&F2F&;Nr;v#PFPRs F&]UP9PPPP/PPPP/? PPXPWPPPP u3SPP, tPPPiPhPPPP u3SPP, tPPP|P{PPPP u.9wP, u;PPPPPPPP u.9wP, u<P P]UQ^&Nw^yF^F#$^y#^]Uv~F&w{FF&F{Fs F FFF FPvvFPlFF$.d^..4:QFF6‘6 sF/6‘6 sF66 sm DfFF$<u26‘6 Fr66 s DFFs ^.22FF 6ʑ6ȑ Fr66 ЈFFs66RPRPPs 쒋FVvvRPPP^.sy䒋撉FV҉FF蒋XZ\i߉߉߉߉>߉߉ߢ?:ى<ى>ى@ى>BىDىF٢N٣ԉԉԉԉ>ԉԉԢԣՉՉ Չ Չ>ՉչպՉՉՉՉՉբ !0"բƶǶضٶHvӹ<]UQl؋лF-^Ћ^G W^G^GW^G^G^G )?]U^?tiP{P|PvFV t=FV;nu;lt+6<ĶvvFG<Ķ^@F돋]UF]UFFF~sF^FFFFFFFF< w؋FлF6FuWУJ͉LͣR͉T͋]UPmmPcö]U6öPP6öPPhӉj]UPPP/Pҍ_ ^F&GF&ONWPQ1P0PPPF0PFPP㱴PP]U>FPF tFF< rF,F FPvƚPFɴdӊFʴXӊF˴ZӰڀ~w 7~u*~uF< r~u P~t@N sA"N :s6>;u &;><u &ufPPP/P6ښ]UFP0P9Fr9FvFFFPFP*P^SvDF,FFУى٣҉ң҉ҋ]UPH$P$s PH$P$s  t  P(Pܐ&ܐ&Gܐ&Gܐ&Oܐ&Gܐ&G ܐS1P&&G&O&G&G&G&G 6&O]UPH$PF$u@P8P PH$PF$ u@P8PF]U¶PvP6¶6(]Ulٵ)*ȈhӋjӣhPP\PRQ?  FVFVFFPUFV ; u;rӋӋN~ ;u;s*+׉FVӉ>ӋFV ;nu;lrӷğD^FOQ^&AQRPFlӋn^&+@&PFV6tҍ^F&O&N~6WQWW6ӋlӋ>n+WQRP6tҍ^FFV&G&WFV)lnӊFrbՋ ՋN~ +׉FV6 WQRPFV))pr6 ՋFV RPP4lԊ< t< u6v vP6v vPPT]U uv PP vF ՈNՋ ՉNVFFV tG~uAFVFVvRPP4lԊ< t< uF뽋FVFV믋FVFVFFV; u;sL~uFvRPP4lԊ< t< u^㋇;Vu;FuF묃FVv PP FVFV9Vu9Fr?vRPP4lԊ< t< uFvl7P FVFV뱊Fs66 6ոP66 6ոPPTЋ]UQQF~ sj>u ӡӹ؍vӉ^uA>uC 9 u9ճuC ˈN6RP66 ՚TFsЋ]U ՈFՋ ՉNVPRQP4F^ _㋟л^G1r`ӹ9;v 1VF0:r:w*FA:rjuFHJVlԊF~tF V"ˆF`@F N"F`ӃFF^ ?ZuF vvvRPNQWPP ^ ?ZtFVprӋ^G1r ^ t;t(t F< t< u6vvP6vvPPT^ G uFs;>!u4lԊ< t< t :t@8NtA2s ^G1s Fs v6bӚ?TFsЋ]U u ՈFՋ ՃNVPRQP4n0tFV;u;s&)ӡlӋn9Vu9FrӷğD^FOQ^&AQRPFlӋn^&+@&PFV6tҍ^F6&w&wWW6ӋlӋ>n+WQRP6tҍ^FFV&G&WFV)lnӋ^G u,vvvPP))prvFVRPP4lԊ< t< u6vvP6vvPPTЋ]U^GFԴ;u"?uFP6 6՚- DFP} ^PTrӉӉ>ӉӉ>PRQWSWStӋӣlӉnӣpӉr|>!u  Ћ]U"pӋr9 u9tӷğD^FOQ^&AQRPF^&@ &P FVӷ㋏;u;sN~NVpӋ>r+׉NV6tҍ^ތF6&w&GS&_^&O[PVPP66r6pvv6tҍ^ތFFV&G&WFVpr6 6 6ոPPӋ; u;v . .pr66 666 ՚T]U^FGWFVwRPww^wFVRPP4lԊ< t< uvvvP vvvPPT]U 6tҍ^FlӋn&G&WpӋr+ln^&G &W ҢӚlFҐԐFVԵ;uՋ>;u;t N~RP DvRPRP66666ӚFV;Ԑu;ҐtRP DFӋ^$ Ћ]U^_^sPTs ^P} ՈF ՈFՋ ՉFV;u;s FFFV+ӉFVvvvP4FV;Pu;Nv!n0t RԋTԉFVPRPNjFV9Vu9FvFVӋӋN~׉FVvWQP4NԋP9Vu9Fvn0t[FVvFVRPN~+WQ6ӸPP66ӚvFVRPPPTЋ]PRPyU~uvvvvv I^ Pv FVFFFvvvvv vvvvFPP2]UQQhӋjӉFV^SvRPhӉjӋFV]U ՈFՋ ՉFVFBFFV tkFVFVvRPP4n0uDlԊF":t"N:t$FtDFV; u;r FVFVvv^G$ u@P Ћ]@ UQQ>uF HFF؍vӉ^ضu@Ƕ:MԱtA"rTȶʶ;Pu;N԰v@ȶʶ̶ζ;Pu;NԱwA"rٶnpԋ]6\^&@ &P dԉfԋ^ԁ^ԋFF^&G0t^&G~ t&^&&W`ԉbF^&GF76\NԋP^&+@&P^&&W`ԉbFF~ t ^&GJKL:VԺ`@  J<]UQQ>u<ԋGW FV6)wRPPF$P0 ԸPP]U>t?Է㋟л^G +GFN;v)R+QP FFRF;Ft]6ԚK FPv F:t/؊㋟л^vDH;G uD +FHG ^O0^G +FG^G0]UQ>tqԴ;u P%TԴ;uT6ԚK FPv FҐԐ;u;tRP Dvv{ ԢԸPP]UP T6Ԑ6ҐDFV;Ԑu;Ґt0Ԋ_ğ,^F&O 6vvPPT]U2^ FPvF$P:sՋ9Ԑu9ҐuRPFPFPDFV~σtFՈFԱA:r FVFЉFF^<t<ttJtrMԴ^&G?0XZir@^&G? XԉXԂ>ېu"^&G0tې ZԉZԀ>Kt4>LtM4XԉnԋZԉpԊhԴl6b6`ԍFPlԋl܈hԋFNPԉRԉTJT;԰w@T;ԱtAR;ԲsB" r@T;԰u@R;ԱuA rԋԉRԉTJKKT;F԰w@T;FԱtAR;DԲsB" rET;F԰u@R;DԱuA rDԋFԉRԉTJKLLT;f԰w@T;fԱtAR;dԲsB" rdԋfԉRԉTJir@:Mt>u P 4Ƕ:Mt>ضu ƶP 4R+NԉVԋVԉjԋ]UMԴ;t0ԋ;Pu;Nvԋ;Pu;Nw]˰PrPP4]UMԴ;>t0@ԋB;Pu;NvDԋF;Pu;Nw]˰PP P4]UFMԷćDFFFFFF^ԉFF\ԉF^&;FvA^GF ^Gv^&@&PFVFVFVF^ FF^&GFu^G~ t ^GC^&GF~uF F耋^G F ^G~tFv^&@&PFVFFFFF@F^&;Fw>^&GFuv^&@&PFV,FFF@Fv^&@&PFVFFFF^ԉF\ԉFFr~uFHFFF^&GFu~^G~ t ^GC^&GF~uF F耋^G F ^G~tFv^&@&PFVF&V^GF ^GFFFMԴ^GFV^G W"FV^G$W&F^G(Fr^G~ tv^w 4F^G ]U^GW;Pu;N԰w@^OW;Tu;R"r#^GWRԉTJKL^GW^GWFV^GW;Pu;N԰v@NV;Pu;NԱwA"r^GFF#nunԁnԊFFF nԉnn@u pԉpԋFV;Tu;RrFVRԉTJKL]U~@tHFFH;Fs$F҉FvF^@F@Ftҋ^GF@FF;FwF^FF@F^H1F^GFF;Fs_v^F^?rv~^^A#v^@Fً^^G^GF@FtF@^G]U>t>uԋ^ԋ^7<PPP Ds~ utRP1W0QPP 0RPRPW㱵QPP 0㱴RPPT D<Ћ]U^7<<]UQFP^wG$P:sv DЋ]UQQ>u 02966՚DFV;Ԑu;Ґt6RPPPTЋ]U>u@Ķ]UNt >tG<]U >tG< t2؊Or)6&9tOQWW0ԋ;FtԋGW FVt GsԀuwlԈGԋGQWRP>QQRP>wPPPPPQPlԊGPWWvFPFVJ<ww A ;Ґu^GP^&7vv@FFFFN&OFQYF^&;FwjuPRPP4lԊN^@ljԃFVF묊F^]UQ^ t+JVu=F t^(^vp^ OuIA]UFԊ_ďDNFFNF&GF^&;Fvi^&G0tV&GF~r!FrKv^&@&PFV(F8Fw 8Fr8F u ^&g^&OFFF댊Fs,wFVRPv^&H&x+WQ]U^ FԊ_ďDNFFNF&GF^&;FvI^&G0t6&GF~r Fr+ F8Fw8Fr^&Gu^ FFF묋]U FA:r վ6Չ6վ6Չ6Չ6Չ6Չ6Չ6PлF [Դ;u4 ՃRQ D6 6 6հP4n%0!* շ㋇; u;v!!"F#Ջ] U u FFFV ՉչՉՊԵ;u ՃRP D]UՋҐԐՉ չщ ՉՋ^ՋFՉՉՉգՉգ !0"P%T#66՚]U>"s$9t9u~PWPPP|]A  ?* Lj"t!9t9u66՚?T]U우T~]U^&?u&w &w ?T,^&7&w&w&w&wT^&G &G ]UQԴ;t $):v*؊㋟л^]UQQT ՋՋՋ> ׃FV^t>G: u5Gw;vu;Fv;u;u^GWGW;Vu;Fv]UQQFF:)s3؊^㋟л^G;Fw^G ;FvFFİ]Uh^㋇FVn܃F1Fދ;vNދFޱ FPFvFvRPP4PvPPP666F6DԚvPPFVFP(PFًNNFNNFVFFV9Vu9FwvRPP4j t|N+NN;vFlS^v8^NFFF9Fw:^SPvvFPvFPFVF;FuFFFFFl)j}FRԋTԉFVI^SvvvFPvFPFV^SWRPFPvFPFV^ğ|ۉ^F&^&GNV^&O&WNV^&O&W ^&G ^&G^&Gvvvvvvvv)P]UvPP&Չ(Ջ^W]U&գ(]U^P^GPP\]UQQ^Sv^ w7^ W]UQ/s.dF/s؊/ً]U/r]ˋz;v[r/J~؁6xչzQP66~؍FP# u/9zv//r]ˋ6؊zՈF؋]U>t1dF6؈zՋ@؁tbdtbd]U~u.d^FN]U~u^7dFN]Us]˚1dع;r zՉ|(>tع+z׉z||غ~؋>;u;w!؉6xRQ P6xոzP6|66~ظP6zؚ P.]UQQs]6xՍFPFt(xPPشPRPPmmPFv.rHPFPP>|t#~؋+ȉؾz׿z.]Uش^zP(P.و/ً^ xP^ GPPRPPmmPFtKЉ؉؋^ OQQWQPRPF u ^!]/,~t ]F u ^"]6xոPPPF u ^"]6xոzPPPPFP#Ft/F u ^"]Љ~؉؈؊/r]>zr]F|8F u8FtF]}rFr]]uFr] ~t]~ՋՉ~؉6xչzQWRPFP#F u]]]UQ؉z՚bd1d6xոzPPPPFP#PЉ~ՉՈ}6xչzQWRPFP$P6xոzPP66~؍FP#P]U1dش~؉ع؉zՊN|Ո}Չ~Չ]Ubd1d~zՉ؋~؋؉؉]UQQbd1d6xոzPPPPFP#P؋؉~Չ6xոzPPPPFP$P6xոzPP66~؍FP#P]UQbd1d6xոzPPPPFP#P}~Չ6x՚P]Un؈FvFV66bdB uRPotS DrP9PFV]UQQP FF<wK:öu"PښP^LJPF:¶t؃PtvFuFPPPRPPmmP uvPlPPMPt]UQG<ĶF0^?tGL+׋^;u;sF^G t7WFVWFډV܉FЉVҸF؉F΋^G%0FF:^WFVFVFVFډV܉FԉV։FЉVҸFFFΉF؉FމF0NNNNFFF^ tFF9FsF^÷ğ,^ƌF&GTtF ^G%0F8Fu 8FuF0^G$F^VڷNu^طFFs~ uFu-NVNډV܋NFuNVNډV܋NN؈FFt<uFVFЉVҋFFΊFFF;Fs Ft1<t-F;^u(~uFuFVFЉVҋFFΊFFFFsFVFVFFފFF~ u~uFV ~u FVFԉV֊Fs~ uWFrPF;^tGFVFVFFFFFF^GFFVGFuFFF~ uIF t^W؉WF t^OW؉W^WFډV܋GWFԉV(F t ؋FڋV܉WF t ؋FԋV։WF t]^ ؈FË^GFڋV܋^GWFԋV+FV܋^GW^GWG W ~u F ^G^GFЋVҋ^ GW~t ^W;Vu;Fs^ GG ^ GGF΋^ G^ G+GG ^ G+GG F^ G^ G] U^s`u P^w%T^^G^9u/O^O^O^O^G^G0^G^㋟л^G0s|둋^G"FF^GG^Gv+DDG^G^GG^w^&8r^O^^G^G0^G]U^G^:Gt^GWFVGWFVvDT9W u9G vFV^GWGWFVFV^GWFV+FV^GW^wGPGP Dr#^G W ^G W ^P^P|]UQQ8Ft^㋟л^F^PP)F^F^GFV^GWF V ^GWFV^G W F^G^PP)^.SYkvvvPvFVF V RPPPT]UvP6Ԑ6ҐRQPQ|]U^GFv:t:t8Ot8LuGWFVGWGWFVDTFVDTDTFVFPP|FV^GWFV+FV^GW^PP)FV^GWFV+FV^GW^PP)^v.^PP)^v^PP)F^G]UFN~taFsZFFF9Fv^P9Pu9Hs+NVHPPvFV^@PFF밋]U$^G:jtFL^G:tFF6ً^t] շğD^܌Fދvt&@&PFV^GFFPPPPP|FP^PFPGF^8t]OW;Vu;NtJOW;Vu;Nt7NV9Vu9Ns$PRQPPTFVFVnF^PFP|Ћ]U^ _ğD^Fv<&A&Q׉FVt&H&xN~^ 9WB  NNNًW)V u @^$FFt ^FF F@tF;FvI^G%FFu FFFFvFP&F^GFF^Kv+NPٍ8(]U ~FPvFW+Q^OIQNQPP]U ^ *sSy^ Ƈ*0tv &FFFF^&N;v&@FvF^&F&G ^&*FFFF^&^8FN1$]U]U"ңҌҠ҈Fߠ҈Fr ?&FF uHҋ&FN+ȉN~ FFrvvvvvvvFvvvvvvvvvv^ć,FF t N&OY&Ԡ)tȢ)򼚽lSjvߚlSУ҉ҊFs ?Fޢ]U ^G;FF)^&G::)vQlF>)u^㋟л^) ^pG~FF))^&G8iF^^PHFu^(^Fp^L8GtYć,FFNv^^PHFu^(^Fpr^PP?d^P|]UQr*FPPd^GPFPdF^.^P^PDr^PP?d]UQQ^ ㋇лFFsv v vF^9Gw9Gw(v v v|v v v^G +GP,]U FV uw-FVv RPP4FV ;Pu;Nv_jԉFlԋ NOtINt-NPԃNV9V u9Nv^W(PRP뉋FVFV SЋ^W]UQ^ ㋟л^FV GWF^G^G0]Ur>MuPmmPcMٚ>Lu lL?LPWW6MٰP Mٷډ6LٰPPPPS*WPl682ٰ8NuS8LtMF< r ܒޒ>㋟л^+G N14Q6LٹRQQP0 N6MٸHP\\FF6LٸPPHPvdTFF<"w\ć,FF t?&Gt6&Ow~F6LٍFPPvHPP PTFu6LٸHP4PT\6<<:P TLٷğD^F66&@&P׉FV6NRPWQTЋ]UQ>NtfNٴ;u :P%TNٴ;uT6NٚK FPv FPً@ً&PٌR̸>Pً]UQ~tIFFFFH^;r*sSy^Ƈ*FuvFFHP8(]U F;r5;r ^ FىFFN+&G F&F;FuFvPىFFF^*sSyF;rƇ*^^*S&O ^v0>P^Y(Fs(^ ]UQ^*sSy^Ƈ*SF F&O >P(]Uv &G +FFNN>PFFF&G ȴN;r#^ v FP&FFuʚ(]UvF`F͋^ͱ㍇͉FFFF^ @FF;r^NF tA9Fv<C N^&G7dsF١٣٠fs &G F١;r+FQfPrfr0tFFHN;rrfs9PPPFٍRR‹ٍPRFdP-6ًFN&0ً9^YFufr1$]1Uٌ tPУىٸd٣]U9FrHF9FrHFPvvPF`ӋFb]UQQ&G  PP*P6>ڋ^Y& Pv@ڋ]U uzڍG FFҍG FF&w &w &w&wFPJPFFs:P^&p&0&p&p&p&p&pPPKPF뾸RPvLPP&GPMPPPMPP&GPMPPPPP&G PP&G^&8G t &G ,^&G &&&D&O ؍\PPP\P&G PP]UX;Zu P|]UPdӣيFsXZӣ١٣P6ٰPPFPJPPPP66PPPPPKPRPvLP(PPFP/P>t^&G\ӌ^ӊFڋ]UF F FV]UQQF FFFFFFV]UF~ tGvvFPP FF ;FsF^S^ v8^NFFVF)F 볋FV] UF~ tNvvFPP FF ;FsF^ v0^NFFFVF)F 묋FV] UF FF %FF V FVfvvEF=uvvPFFrF;psPFv t܍09^v拇v܉v܋~S^㋅݋݉݉[݉ݸ9w^v拇މv P FF^u ފ^u&^㡖߉݋C  PڸPFPP F u,Ft/^PڿWNQP F t ^7F] UQQ^FP^ GP^ &P^GP^&PvF u&^PvF tv PF] U FF<v؃PtvPFPPF ud^FVډvPFPPF uˊ^FVۉvPFPPF uP^FVۉۊ^FPS^ߴ^ڋvFt^]U^PڸPFP PF=u vF~u^Pښ F t=uuFP^ GP^ &P^GP^&PmmPF t0FP^ GP^ &PFPFPrmPP^FPڋF] UFs ^ ^]UQ^P^ GP^ &P^GP^&PF=u=vF^P^ GP^ &P^GP^&P] UvP ^LJP]UQQvP^㋇PډF^߈FSFt vv P]U^ ㋇PډFF NVNVFFfv P vvv %;Fw=F;psFF+p16ڋ+ڱ ^^㋇% Fދ^㋇%+F^Flܱ tF]U F FF%FFV FVfvvEF=u4F:¶uF^ヿt@FvvvFu&^㡖߉݋%;Fw=F;psFF+p16ڋ+ڱ ^^㋇% Fދ^㋇%+F^FڋFlܱ tF]U"~ r %P^ ヿPu %Pn;pwFvF t܉FFsډFFF FFFF F^ ㋇ڋډFVFFFFFNVF~;u;r9~u9Fv+Fމ~FFF^ Pڋ^SFH%PvvFP#F=u9v P^ Pڋ^SFH%PvvFP#PFFV;Vu;FvN+N^v8FFFFH^;rKF 3F F㉇v܋vFV ݉݋F扇޸FV 9Fr)FFFuF]UFFsp܉Fn܉FډFFp܉FFFFF;Fsg؃vuFFT^㋇݉FFs(F@FHF^;r㋇;FvFFuߋF;Fs FFFFF둋^tvmFFFFH^;r LJvFuF]U^㋇݋݉FV~r %P^ヿPu %PFFF;pr "P^ヿu #PF t܉FSPvvPPPFV^LJ^ڋ]UQQFFF;ns؃vt ;NsNF۸9FsFFF;ns@؃vt0;NsLJ ^F)݋^㋇;r@F뷋]UF tP^sGSFPF=u%^PښP^ SFPP^~u~r %P^ヿPu %PFFF^㋏PډNNI#ʉNN ~N~NNF^㋏ۋۉN~9~u9NvdNNNFF!Vvvv F=uvPvvv P^FVۉۋF tgv^Svvv Sv F=u4^PښPv^Svvv ^ Sv P^Rv^Svvv FP$F=u)vPv^Svvv FP$P^FV9u9sډڋFVF VFFF V]UFnH^;rw㋇݋݉FVF:FuU^t FPmF<t<u0F;pr%^LJv^ҐԐ݉Ft|]UQF$FFF<w؃Pt vv Fu܋]UF t܋F ڋF ڋFڹڡ & ڣnܹP;vnܡ &ڋn+ȉpppܣrܸvܹP޹PݹPPڹڹߣl]UP FH% n+ȉn;pspܡn+p16pܡnܱ t]Unܱ t;Ft PP FH% nܣn܋r9pt;vpnܣpܡn+p16p]UƆFP^GP^&PRPPvF=u:~mmuu^&8rwwt+JuT򤠣^&*ȵpF^ :~u6~mmu/^GP^&PRPPRPPvPvP]U^^ GP^ &P^GP^&PPPF t^P^ S^SmmPF tFuI2PmmPcߊ PjPDPǸPD<Ћ]UpߢߍP PPP,Dt4PPDP P r 6z6xP PPP,DP2P r2P PPP,Du PP2PW t*P2PPPPPNs򤍆P7 Lsmߊ%P2PPPPPNr t>u luPWW6߰P ߷Љډڈ<#s(ć t&G^6߰PPPPSWPl6߸P\\ƆƆ6߸PPPdT6ƒ6ĒPRPRPRPdžu;Pu6ߍPPPPP PT뾃u6߸PPT\w rPWW6߰P ߷ډ6ߚlߢ߁dtsCP4r8?t8u< r ܒޒ㋟лP6߹RQQ+G 1P0 ?P T߷ğD6&@&P׉6?RPWQTЋ]UPߊsFPPdzߺ߉ߣߍP2PPPƐPǐPNPPP P PrmPF uzFs FPP?dF]UQQ6ߋSP66ߍFP#F uF]UsDFPPd~uFPPd^.NF^FsFsFdFF~uUFrN>vzF t2߉F#ߋt̀x$t0^FF뫠s1~u^FFPϐPP?dFPP?dF]UQ6߸P6ߚ Fbd]UQ>?tf?;u P%T?;uT6?K FPv FuZ^wK FPv FtFFr5FF< rFF:uFظ9HuɈFĊF؊F HNVLNƇKĄ,FF&O؈Jȴ㋇лFPFHNLPً^+G Po FFvNLPPTF]U>u*>u>u >u*>u>u ]Us |~+^_^㋟л^7Pls i< r ܒޒWvK P^7wwwG +GP0 F؋л^G+GvDG^G1^G1Ћ]U^_^㋟л^FF:iu* LLF:?uu㋇лFPHNLPً^+G Po FPJ^㋟л^KG1vNLPPTЋ]U>ujG<^wFFF< w؁HtFFu㋟л^+G FNv 1FFFF< v؋Hu6)RNLPFPo FF؊JN^㋟л^K؈O1F@tFiFtF?FtFNيF9HuFFǶ9HuFƶ8FuvNLPPTF(FFt]UQQ>uY^wK FP Fu*>u>u >u*>u>u >u*>u>u >u*>u>u >u  *>u  >u   ]U]X[SP.U^ V +=v*%&x&09~w r 9vt rы͋] UF2Fl܋;vu㋷݋;^u ;vu5n܍>vu$n+J㋷݋;^u;vu܋]UF]UF%P7FF%P&FF%PFFV‹]U~u~uF]UFPF urFFFFNNNNFFMFFFF6FP F u*vFP|F u^& Mt^&G]U v~FFPPRPQRPQRPQF]UF@vQFPPNQPNQNAQNQPFFvBFPFVNQQPQFPQF]UFFFFFsFFRPQ^SWRPQRPQF]U$~ v~v~v ~v>u F u>h u>js>h v/^Sv^Sv^Sv ^SvF uJv~NFv~݋NF>h u>js>h v(RPQRPQqPPlPPF~tJFtl~v Ftm~v Ftn~v Fto~v FtpF t Ⱦq~F t ȍvq~u~te>h u>js>h v&qPvlPvRPQRPQFFP4F uvqPlPF u]UQF~ uN~uNP~uN F] UQQ&P6PF uhPjPF t>h u>js>h v>&uc>*t\FF$~uv>$uoPv P,F u$ =8t=9uFHP@$X`"F벂>&u'>*t/`1dfbb]U&>u F ufFPF u^&G^&u vW0>&u :Fu vQPFFvPPF ue>*t[>&uv^ S^S>&uv^ S^S_F u#>&uv^ S^S F u] U&s8^&uFFFPPNQWRQPRQP5^&u44df] U"^&7&w&w&w&wbF^&tFF<wJ FFߠs!RPQ^SWRPQRPQ5F^ F&@FuFF<wH FFߠs!RPQ^SWRPQRPQ5F^ F&@FuFF<w> FFߠs!RPQ^SWRPQRPQ5Fİ FuF Fߠs!RPQ^SWRPQRPQ5FİFF<w< FFߠs!RPQ^SWRPQRPQ5Fİ FuFFߠs!RPQ^SWRPQRPQ5Fİ̊F Fߠs!RPQ^SWRPQRPQ5F^ &GȊF Fߠs!RPQ^SWRPQRPQ5F^ &GȊF Fߠs!RPQ^SWRPQRPQ5F^ &GȊF Fߠs RPSvVQRPSRPS5F^ &GȊF Fߠs!RPQ^SWRPQRPQ5F^ &GȊF Fߠs!RPQ^SWRPQRPQ5F^ &GȊF Fߠs!RPQ^SWRPQRPQ5F^ &GȊFFߠs!RPQ^SWRPQRPQ5F^ &Ƞs!RPQ^SWRPQRPQ5FĸPP\P/F uF\&] U&s%FRPQ^SWRPQRPQ5$^&8GtB> 9t&u"F݊F<w"аFu^&^ 0~޵FFF<wB޴PNݵBFuFF<wN"ЋBFu4^&u,FF<w"аFu"j^&^ 0~޵FFF<wB޴P9NݵBFuFF<w:"ЋBFu FF<w"аFu> 9u,FF<w"аFu"> 8ud^&u\~v FFF<wB޴PtNݵBFuFF<w>"ЋBFu'FF<w"аFu"] U~tVFFFNNF NFF F?F*F>v^SPWRP#F>t]F ))FFV6+lj^FNvvPPVQFP#F~t]FFVFVvQWRPFP#FFFHN;s/v^SP^&0F u]FtF FuF9Fw~ ~uv^SWiF u]FFVFV tQv^SPF u]FVNv^SvRPFP#]S~t ]濬FFVFVvQWRPFP#FF]U F'F9Fr 1F~tF FF u%ȋF10vBF 1Fv^Sv^ SvFPvl]UFH;rN>;u;wv RQ F u] v ^Sv66丞P$F>t] FFVF^6&] UN>;u;wv RQ &O>F u+Ju4-^ &G6&^&Z&W] U vFP,F ujv~N^Y<sPP P^SvNF0PPFP/F uF^&G Z&W F&GF]UQ^Sv Fv \]U#U$VWQ^S4Y_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFPL[#uMG~&w<r/^ F%;u^ ^ FF;tX F ;FuX]U]U>tF1 t ~t ] Љv^ SvRPP#F>t] vPPTFvPPPF u] FH;rNFFV>>v^ SPWQP#F>t] ;u;s ] ^ 6&^&] UQQ>u ] F;u;r)H]  ] ] Uv^Sv^ Sv F PPPF u]^&^&?s ]v^SvFPFw]~u ~ t ]~\t#v^SvFPF u]F u.0* vF ]^& F&A]UQQv^Sv^SvFPPPF u]^&^&;F t ]v^SvFPFw]~u ~ t ]~\t#v^SvFPF u]^&7F^ &^&d]UQQv"^Sv^Sv^SPvF u]^&^&;F t ]v"^SvFP Fw]~u ~ t ]~\t#v"^SvFPF u]^&7F^&^&d]UFF ^&FF^^F&FFv^SvFPNF u]F:t$~ tv^SvPdF]~ t^^&;F rGF&F u^&'F ^&F^v^FF&FF F.F ;Fv tvvF^&F@F^&]UFr~w ]FF FFFr@F F u t&v^SvFP F u]#v^SvFPF u]~:t~ tFFF:uF u>v^SvFPF u]Fr ؊FF~:tFr<FHN;t+^SPQ tF^ &]9FH^ &^ &;Fw ]^ &~]0~\t'v^SvFPF u]Fc]U v^Sv^Sv PPFPFw]FNV~to u-H^ &8uvSWPF u]v^SP:PF u]FF HN;s/v^SP^&0F u]Ftv^SP:PF u]FFHN;s/v^SP^&0RF u]Ftv^SP P(F u]v^SPF u]FVNv^SvRPFP#]FH^&8 tFF;FwRF+׉v^SPRQP#F>t]F+FF F+FF;FtdFFHN;s.v^SF  F u]>;u;u+NVv PFPP F u]v ^Sv66FP$]U>^u+Ju &GQ&G+H v]à&G6p^Y@)]U6&8{t&G+I6x}u+JtP@ wD&GR6pS^Y&8[t%]ð&G6&8[u&GR]U6&8[t&G+6x]u+Jt @ v]à&G6p^Y &G]U6&8u+Jt @ v]à&G6p^Y&O*u+J;u&O?u+Jt &G&G&G&G]U졺+2v]68*u+J;u8?u+Jt &G &G&G)&G&O)w*^Y60S&G)Z[y^Y]UF\v^Sv4|]U^ &GF^ &Z&W^ S^S\P|]U츬PP$&Gs> PP$GSP&GRP$!PP$"PP$GP&GP$#PP$&Gs S6GP&GP$%PP$&Gs S6GP&w$&Gs-&PP$GP&GP$衼 t]&Gsg&Gs [&Gs<u+J'>u+JB&G)£衰+ã荇&&_&G]UF&Ƈ&~s) F؍FN &GZ&WF &GF ;rE'&8u:H&8u2G)&GZ&W&G&I&O&*u+J;u0&O&?u+Ju&Ƈ&S_P u[ uz? ujF ;u uQ&Gs&Gs:;vd衼 u'>t &G)&Gs&Gr/;v%衼 u&GsqGP&wlrqGSP&GRPGP&GPGP&GPPP& u&GGP&wls( {GSP&GRPGP&GPGP&GPGP&GPGPP<P u&G&u&Ƈ] U@^&GF ؍FGS&GZ&W&GR&GG&G Z&W &G&G &8u&u&Ƈ&GsPP7F t&u7&G;t@FsAGPSQ t@#GP&GPS6蚑LFFsdGSP&GRPGP&GPS6GP&GPGPP<PF uH&G&Gs>GPPPPGPJF t&Grw&G&u/&9GtANs?&_SSP t@ GP&wS6蚑LFFsF]UFV;Zu;Xt^S:^ &tAQ^S^ SRPY s ^&%^S^ SLPfs ^&4] U^ &u ^&2^S^ ShP,b uhs ^&^&] U^&FFFF^&GHN;r\^&F< uFAFs:F^ S^&S^vP^&wFPDF~uFu] U^S PFPF u2^&GPOLN^&HV@RT (LNP+RTVFVXZ]UP3P%4]UPP%4]Ub#t4df`&F#t N#N&f3&]U+Zr tH]U+ZrH]U3 &L&;Wt]U FV;ru;pt^SxsqtGFFFFF9F v=Ns6^S^&Z[& S^ &[&:uFF뻊Fs ^&F^S^ Sv  ^&]UQx^SPtPF t@xFVpr]U9Fu^&?*u N^ &^&~u ~t!F^&F<*uv^v&8*u N^ &FFNF;rK^vF  &G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFڋF;Fr ,v@^&Z&WS&_[&G]Us]&G@]U cr &G;FsGvX^F&F&GFFF;Fs&@FFF]U>uP u$>t&G>t>t]ð]UQ~<s 9Fw 9Fw9F v~t9^&Ƈ[^vNFY^v&ƀ]FFF^v&ƀFF@^&*^+vN FYF ^&7^&:^&8^S]UQQ~<s 9Fw9Fw 9Fw9F vF~t:^&Ƈ{^v NFY^v&ƀ}FFF~tC^v&ƀ[^vvNFYvv^&ƀ]FFF^v&ƀFF@^&*^+vN FYF ^&7^&:^&8^S]UQQ^&8&8uSqF tb^&8F&^ &^v@^RV+R^R+Q^ PFPLsvNF^ &FFOFu~?uK~t^ &^GPFHP^GPFHP^ GPFPLsSF@^&uFF@F^&N9Ft *t?uߋF;Fr^S^Sv t,^vPF+P^PF+P^ S^SL]U`^Sv ^SvFPFPL] U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] UvPFPPF unvPFPPF uRv^ SvPPFP#F u1^Sv^SvvvF t=u Fr9FP^Sv^SvmmPF uvvv F uvPFPP F uFP0F u9FvFFF F9FsPFP*F tF FFFFFFFV;Vu;FsPv^SvRPFP#F~tRv^SvvvFP$F u0FFV렋F9Fs^SP+F uv ]U ^Sv^ Sv $F uzF~tH^ S^S$F u(^&FF^&GFFrF. 2Ft(Fr/ F^&Z&WF^&G]UQQz&G&Wz&7OQPz&w&wFP#F;u@z&G 9NuFF]UQFz&Os&O ^&z&Gz&w&@^&z&Gz&r &G sdF u3z&G$z&G&G&W&;W u&;GvFF]UFz&G z&G]UF~눇C~r) ]UFFPdF~ w~tvdF]U^&FPdFF<%t PdF6FPdF~'u ^&vdF u vdFF]UQQFFFr(~u"FPdFF<'tA< t@ ΋F]UFFF~uZF ;~wFsFPdF uӃ>~u ~'t@FFsFF<'uK>~tDPdF uLFPdF u;F<'tFPdF u# ~ v@FFr vdFRF ;~w^&!^ .- ~^&F] UFz|~ s) T~*N u+J;u~?N u+Jt$^Sv ^SvFPdF tFFFF Fz&Gz&G&WzS^SvWQPrmPF uxz&G z&Gz&7GPzGPTF uEz&7GPPz&w&wFP#F;u@z&G F;w] UQQ^Sv ^SvdF tz&7 FF] U^&&_^&GN z|~FFFrTdF uKFPdF u:FsdF t%^&SP^GPdFF륋F]UQQsF^ S^S7dF t^ &7 F~t@s^&tF]UQQFFFt'N^QPFP#FFFF(FҀ~v]UQ^~t_^^&F<*u"^:Fs^&8*u^*~?u/ ^S^[&F<*t~?u]^^:FuU u. t!;v 33@33.P \3 ҃+@sH]U؋]UF FF&Z&W&GFY] UQQ&FF&GNȋ;v+ЉV^6&t8vNFYF&G]U <r"^&&W&GG &Z&WF^ &@F^0~^YF^&8]UQ^&8rM^P^&*P+P^&7P&:SF u^&LJ8^&:F]UFF>ufFP(F t8~t)<r8 PPP7PPNF' PPP/F u&G^ &&G^&&G&W;u;vF&G& GuFFPF tr#6FP|F u ~tFk'(&G&W;u;v;Vu;Fw >uF t<se PPPPPNF u PPPPPNF uݸ PPPPPNF u)&G&G&G&W&G^ &&G^&죚&u&uj'l&G< wFF~uN2FwNFFZFvv&w&w;Vu;Fw@NV&9Wu&9OwA r{vƄ}죲6&G&>츎죸츐죾졔죨F<s# PPPPPNF u$&G&WPF tFsFhF&G&GF]UFV ;Vu;FsKF;FrFFFF+FFV +V+VV׋YtN׋]U^ S^S]UFFFFFPFFFFP4FFFF^FFPFuFF u)vFP|FF^&F^ &]U^&FFF^&GPP^Sv?PPx@P PlPS6^Sv rmPF uv6P^SPF t6 FKF6^SWPRPFP#F^ON]U0FF>s &?uT@6SWPRPFP#F t6 FFU^GG^ &Z&W&^&@#@^]UPP^ S^S<]U P P^ S^S ]UPP^ S^S]U^SFPF u:RPvvv^GPF HPFPF u F^&] U~ u^SPFPFF t F^~uOF~uD^SPPFPPFPF u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9Fr@F^&wFFv&0^^F^Svv^GP^&P^ Sv ^S]U^SPP t Ğ&G s4kĞ&w FƆ džNF;w^&@F!:tV;v+&:u"r^ & G9~ wrƆrRvv^ PP^SF +P^Ss^&Ɔ ^ &!9FvV ;v^&^ &A;w)ƆN9NvQ^&<1rE<9wA,0F4r<*t<0u<*u|Ɔuľu+J⋆;t)t$ƂA1Ğ& Ƃa u ):tƆ^ &F9v v9F v ^ &^&]U.~ԾLF^ SPFPF t F^^&w FFvvFPF t^&^&:FuB~u ~uF"~ G  Cannot move or copy to background file&0Unable to create file /0 M0Cannot divide when in full-screen modeV&0Cannot edit there0Unable to open file 0 0Cannot search there0Cannot select there0Checking ... 0Cursor must be in a window 0Color is not supported on this workstation.*0Cannot open |, status code = |. Press GO to continue search, CANCEL to cancel command` 0m0~70Press GO to confirm DISCARD, CANCEL to cancel command50Press GO to confirm FINISH, CANCEL to cancel command40Press GO to create file |, CANCEL to cancel commandD0]0Starting a new session will destroy your unrecovered work. Are you sure this is what you want to do? Press GO to proceed with new session, CANCEL to exit Editor.0File | already exists. Overwrite? Press GO to confirm, CANCEL to cancel command/05J0File | cannot be changed. Press GO to proceed, CANCEL to cancel command.0B0Press GO to confirm REMOVE u ~uF~ rFF^ SvF^&G:Fu^S^SvFO^&G:Fu'~uFF :w^S^Sv*^&G:Fu^S^SvFu^&G:Fu^ SvFx^&G :Fu^S^SvF:^&G :Fu^S^SvF^&G:Fu^S^SvFPv^&G:FuN^ SvFPFPP^SF uz^& tp^ S^S^SvNQPK^&G:Fu^S^Svv^Sv +FF^ S^SPPPFPv^Sv F]U Fs^&N;v&^&PȴFY^&~ u ^&0=F t9Nt1 10^&F 1F N^v& NFu^0&8@u^&݃~ u5F0F+FF^&*u+JVu-9FF tȹ 10vRF 1F NڋF9Fw)^&^S^SPv ^Sv]FF;FsFF^&F tHvJ^&NFUFsFF9F vM^&;vA9Fv<&xAu^S^ &0^PPF^ v&^&F^&;Fv^&N;v9Nv~^& F^&*u+JVu^S^S^SP^ Sv (N F;w8^&^S^S^SP^ SQ^SvF^&]FNF;sD9Fv?^&xAu^S^ &0^PPF^ v&^&F벋F@^&;rv&xAu1F9F v49Fv/^S^ &0^PPFFϋF9F v9FwC^ &^&FU v ~FF=r=r O~sF-F-F~ vFt ^8ls~u~uF1 t LF蹵PF%mY^TNHFNt1;t p~w ;8Fw8Fv~u ~u~t GF 1ºPF 0Deleting ...Q 0Directory | is protected: Access deniede 0p0Too many files in directory0Disk full 0Number of characters: | 00Current line number: | 0 0File | is already open 0$ 0That file has not been changedC 0Your directory is full. Please delete or rename unneeded files before Recovering. Press any key to exit Editor.i o0Your disk is full. Please delete unneeded files before Recovering. Press any key to exit Editor. `0A software error has occurred; status code = |. Please report the error to your system administrator before Recovering. Press any key to exit Editor.H -0v g0There is already a file named | 0 0Unable to complete command; status code = |  *0F 0File | is in useV 0\ 0GO not validu 0Memory low; please Save 0Invalid format set 0Tab length must be between 3 and 80 #0Next key typed will be inserted literally )0Unable to complete command: master down (0Mismatched quotesN 0NEXT not validg 0Please fill in "Directory"} 0Please fill in "File name(s)" 0Please fill in "File name" 0Too many files open; please Save 0Please fill in "Old file name" 0No match found for wildcard expression4 &0Please fill in "New file name"b 0Please fill in "Old file name" 0Please make a selection 0No replacements made 0No such command; press HELP for instructions ,0There is no directory named | 0:0There is no file named | J0b0No such liner 0There is no node named | 00There is no volume named | 00Not found 0 | 00Please fill in "Block end"0Please fill in "Search for"0Please fill in "Line Number"@0Please fill in "Search string (1)"d"0Please fill in "Search string (2)""0Please fill in "Block start"0Please fill in "New file name"0REDO not valid0 does not match a unique file0Please fill in "Volume"=0Cannot ZOOM on this type of workstation\'01 replacement made0Renaming ... 0Recovery complete0Recovery suspended; press GO to continue, CANCEL to stop recoveryA0Save complete 0Saving ...0 0Searching directory | ... (Press CANCEL to interrupt)B0W10Searching volume | ... (Press CANCEL to interrupt)010Searching ... (Press CANCEL to interrupt)*0Searching ... 0Replacing ...0 0 replacements madeE0Too many keys specified_0Too many windows~0Cannot recover; typescript not valid or different version90There is already a user named 0 0Can only recover on an AWS0Can only recover on an IWS(0Volume | is not mountedJ0R0File | cannot be changedp0v0 FILE COMMANDS |(Press CANCEL to dismiss)| | Press O to Open file Press P to change default Path D Delete file L List directory files C Copy file V Volume status R Rename file F List opened files  0pobdccdrewfpflgvhfUz OPEN FILE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | File name(s): | | Password: | | Allow changes? |Yes| |No| (Press Y or N) | Copy from file: | | < P0Rpegpz|pH  1y !0!0n !0%!pD!1yH!0K!0nN!0b!p!1y!0!0n!0!p, GO TO SOURCE CODE LINE |(Press GO to execute, CANCEL to dismiss)| | Line number: | | ""( "0"p""pN DATE AND TIME |(Press CANCEL to dismiss)| | The time is now |. ## #0!#p3#0 BLOCK CHECK |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Block start: | | Block end: | | Comment start: | | Comment end: | | g#h#< #0#p##p##p##p##p- WINDOW COMMANDS |(Press CANCEL to dismiss)| | Press F for Full window display Press D for Divide window (code/D) T Tiled window display C Close window (code/C) H Hexadecimal display P Previous window (code/numeric -) V Change visibility N Next window (code/Next) e$f$ $0$#pd'c&pWnVfXtYhSv SET DEFAULTS |(Press CANCEL to di1y00n0pp/{ OPEN FILE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | File name(s): | | Password: | | Allow changes? |Yes| |No| (Press Y or N) | Copy from file: | | AB< 0ppp1y00n0pp/`{ DELETE FILE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | File name(s): | | Password: | | uv< 0ppp%`| COPY FILE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Old file name: | | New file name: | | Password: | | *+< h0jp|~ppp)`} RENAME FILE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Old file name: | | New file name: | | Password: | | < C0EpWYpkmpp*`~ SET PATH |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Volume: | | Directory: | | Password: | | Node: | | < 0 p+- p;= pKM p[]p=` LIST FILES |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Pattern: | | Node: | | Volume: | | Directory: | | Password: | | Details: |Yes| |No| (Press Y or N) | Sort by: |Name| |Suffix| (Press N or S) | Look for: | | < 0  p p') p79 pGI pWY pg1yk0o0nr0 p0n 01s 0 p p?` VOLUME STATUS |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Volume: | | Password: | | Node:  | | < 0 p p ppT` SEARCH |(Press GO to search, Code/GO to search backwards, CANCEL to dismiss)| | Search string (1): | | Search string (2): | | Search using string: |1|  |2| |Both| (Press 1, 2, or B) | Check caps? |Yes| |No| (Press Y or N) | Select? |Yes| |No| (Press Y or N) | Ignore embedded match? |Yes| |No| (Press Y or N) | Expand wildcard? |Yes|  |No| (Press Y or N) | cdD 0ppp010120 1b0'pA1yE0H0nK0ep0y01n 0p1y 00n 0p1y 00n 0p++ REPLACE |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Search for: | | Replace with: | | Check caps while searching? |Yes| |No| (Press Y or N) | Alter caps of replacement? |Yes| |No| (Press Y or N) | Confirm each? |Yes| |No| (Press Y or N) | Ignore embedded match? |Yes| |No| (Press Y or N) | ) * < g 0i p  p  p 1y 0 0n 0 p!I smiss)| | New tab length: | | Open file mode? |Modify| |Read| (Press M or R) | Autoindent mode? |Yes| |No| (Press Y or N) | Use wildcards default? |Yes| |No| (Press Y or N) | Save to user file? |Yes| |No| (Press Y or N) | %% &0 &p#&%&p?&1mF&0I&0rN&0a&p{&1y&0&0n&0&p&1y&0&0n&0&p&1y &0&0n'0'p\ '0| Press any key to continue ''0 INSERT HEXADECIMAL |(Press GO to execute, CANCEL to dismiss)| | Hexadecimal code(s): | | ( (( I(0K(pc(e(p. DISPLAY COLORS |(Press GO to execute, NEXT for next item, CANCEL to dismiss)| | Normal display Red level |0| |1| |2| |3| | Green level |0| |1| |2| |3| | Blue level |0| |1| |2| |3| | Half-bright display Red level |0| |1| |2| |3| | Green level |0| |1| |2| |3| | Blue level |0| |1| |2| |3| | Save to user file? |Yes| |No| (Press Y or N) | ((< (0((p)10)0)11)0)12)0#)03%)0')pA)10C)0G)11I)0M)12O)0S)03U)0W)pq)10 s)0w)11 y)0})12 )0)03 )0)-p)10 )0)11)0)12)0)03)0)p)10)0)11)0)12)0)03)0)p*10*0*11*0!*12#*0'*03)*0+*pE*1yI*0O*0nR*0h*p^ FUNCTION KEYS |(Press CANCEL to dismiss, HELP for more help)| | |FileCmdDiscard     MrkFile LstEdit   Replace Color Mrk EOLMrk EOF Redo  Undo BlkChkWindows Search DefaultMrkWordMrkLine :,;,- i,0k,pm,5u HELP |(Press CANCEL to dismiss, HELP to display function keys)| | | | Press G for General commands Press F for File commands E Editing commands S Selection commands W Window commands K Keyboard quick reference --8 -0-p-0-pgvewwfzsxky GENERAL COMMANDS HELP |(Press CANCEL to dismiss, HELP for more help)| | |Command| |Keystroke| |Description| Delete Menu Line CODE-DELETE Clears menu line. Display Colors SHIFT-F7 Displays and changes current color display (for workstations with color displays only). File Commands CODE-F1 Opens, copies, renames, deletes files; changes default path; lists directory files, volume directories and opened files. Finish FINISH Finishes a editing session by saving all the edits and closing all the files. Help HELP Displays these lists of commands and keystrokes. Redo F1 Repeats the last command. Save CODE-S Saves all the edits made during a word processing session without closing the current files. Set Defaults F7 Allows changing of several Editor defaults. Undo F2 Undoes the last editing operation. Time CODE-T Display the system date/time. Window Commands F4 Sets full or tiled window display, divides, closes, and moves to previous or next window. ..- /p/p/2!/0#/ 2-/0// 2;/r0u EDIT COMMANDS HELP |(Press CANCEL to dismiss, HELP for more help)| | |Command| |Keystroke| |Description| Block Check F3 Checks that beginning and ending characters used in block-structured programs match up. Character Count CODE-SHIFT-N Display the number of characters in a selection or file. Copy COPY Copies selected text from one location and inserts it at the cursor position. Current Line CODE-N Displays line number of current place in file. Delete DELETE Deletes a single character or a block of characters. Discard CODE-U Discards all edits made in the current CODE-F2 file since the last Finish of Save. Go to CODE-B Moves the cursor to the beginning of the Beginning file. Go to End CODE-E Moves the cursor to the end of the file. Go to SHIFTI   ] Make Upper Case |Key| |Unshifted| |Shift| |Code| |Code/Shift| NEXT PAGE Next Screen Next Form Feed Form Feed PREV PAGE Prev Screen Prev Form Feed Prev Screen SCROLL UP Scroll Up Prev Screen Prev Screen SCROLL DOWN Scroll Down Next Screen Next Screen CANCEL Cancel HELP Function Keys Display Help Display Help Display Help FINISH Finish MOVE Move Set Move Place DELETE Delete Clear Field OverType Toggle OverType Toggle OverType Toggle OverType COPY Copy Set Copy Place Up Arrow Cursor Up Cursor Up Three Top Of Window Left Arrow Cursor Left Cursor Left Five Right Arrow Cursor Right Cursor Rt Five Down Arrow Cursor Down Cursor Dn Three Top of Next Wnd MARK Mark Char Unmark Unmark BOUND Bound GO Go Numeric - Prev Window NEXT Next Next Window ==- D=pF=p>2>0>2>0> 2>`0E@2I@0K@ 2U@0W@2]@0_@2d@0f@ 2q@0B2B0B 2(B0*B20B02B27B09B 2DB0u FILE COMMANDS HELP |(Press CANCEL to dismiss, HE-F1 Moves the cursor to the last point at Previous Edit which you edited or altered text. Pressing SHIFT-F1 repeatedly recalls previous edits in succession. Go to CODE-G Moves the cursor to the specified line. Source Line CODE-SHIFT-G Insert CODE-I Inserts hexadecimal character(s) in the text. Hexadecimal Insert CODE-quote Inserts literal character(s) in the text. Literal Insert CODE-Tab Inserts a tab without moving the cursor. Tab Locate CODE-L Moves the cursor or the selection to the center of the current window. Lower Case CODE-[ Converts the selected text to lower case. Move MOVE Moves selected text to the cursor position and deletes the text from its original location. Replace SHIFT-F6 Replaces old text with new text. Search F6 Searches through a file for specific text. Spaced Tabs SHIFT-Tab Inserts spaces from the cursor position to the next tab stop. Thumb CODE-digit Moves the cursor directly to a specific percentage position in a file. Upper Case CODE-] Converts the selected text to upper case. 3 3- ;3p=3p?32G30I3 2S30U3 2a30u SELECTION COMMANDS HELP |(Press CANCEL to dismiss, HELP for more help)| | |Command| |Keystroke| |Description| Bound BOUND Moves the cursor and extends the selection to include another character, word, or line. See Mark, Mark Word, and Mark Line. Mark MARK Selects and highlights the character at the cursor position. Mark File CODE-F10 Selects and highlights the entire file in which the cursor is positioned. Mark Line F9 Selects and highlights the line in which the cursor is positioned. Mark Word F8 Selects and highlights the word in which the cursor is positioned. }:~:- :p:p:2:0: 2:0: 2:0u KEYBOARD QUICK REFERENCE |(Press CANCEL to dismiss, HELP for more help)| | Below is a list of all the keyboard commands possible in the Editor. Each key has four columns, one for when the key is pressed by itself, one for when the key is pressed with either shift key down, one for when either code key is down, and one for when both a shift key and a code key are down. If a column entry is blank, it means that no command exists for that key combination. |Key| |Code| |Code/Shift| B Goto Beginning C Close Window Copy File D Divide Window Delete File E Goto End Mark File F Search List Open Files G Goto Line Goto Line H Display Hex I Insert Hex L Locate List Files N Current Line Character Count O Open File Open File P Set Path R Rename File S Save T Display Time U Discard Changes V Visible Volume Status W Back Word Z Zoom |Key| |Unshifted| |Shift| |Code| |Code/Shift| F1 Redo Goto Last Point File Commands F2 Undo Discard Changes F3 Block Check F4 Window Commands F5 F6 Search Replace F7 Set Defaults Set Colors F8 Mark Word F9 Mark Line Mark to Line End F10 Mark to File End Mark File BackSpace BackSpace BackSpace Back Word TAB Tab Space Tab Insert Tab RETURN New Line Forced New Line Quote Insert Literal Insert Literal ^, 1 - 10 Thumb [ Make Lower CaseJ LP for more help)| | | Press O to Open file Press P to change default Path D Delete file L List directory files C Copy file V Volume status R Rename file  F List opened files Open file: Press O to display the Open File menu. Use this command to open a file for editing. This menu can also be invoked using Code/O or Code/Shift/O. Delete file: Press D to display the Delete File menu. If the cursor is in a file window, the name of that file will be filled in as a default file name to be deleted. This menu can also be invoked using Code/Shift/D. Copy file: Press D to display the Copy File menu. If the cursor is in a file window, the name of that file will be filled in as a default file name to be copied from. This menu can also be invoked using Code/Shift/C. Rename file: Press R to display the Rename File menu. If the cursor is in a file window, the name of that file will be filled in as a default old file name. This menu can also be invoked using Code/Shift/R. Change default path: Press P to display the Path menu. The path, also known as the work area, is the current default node, volume, directory, and password used to access files. The current default path is displayed in the top left corner of the display. This menu can also be invoked using Code/Shift/P. List directory files: Press L to display the List Files menu. Use this command to display filenames for any directory accessible from your workstation. This menu can also be invoked using Code/Shift/L. Volume status: Press V to display the Volume Status menu. This command displays a list of directories for the specified volume, as well as the amount of space available on that volume. This menu can also be invoked using Code/Shift/V. List opened files: Press F to display the status of all files currently opened by the Editor. The Editor keeps all files it has accessed open until either a Save (Code/S) or a Finish command. This command displays the full filename of each open file, as well as what mode it is currently open in and whether it has been modified or is ready to be deleted. This menu can also be invoked using Code/Shift/F. EE- F0FpFpu OPEN FILE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Open File command is used to open one or more files for editing. File name(s): Specify the name of the file to be opened. The Editor supports the Executive file naming conventions, expanding wildcards and @files. Multiple files are separated either by spaces or commas. File names with embedded spaces can be specified by surrounding the file name with single quotes. Password: If needed, specify a volume, directory, or file password used to access the file(s). If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. Allow changes?: Specify Yes if you wish to edit the file, otherwise No. If you specify No and later wish to modify the file, typing any editing character will cause the Editor to prompt whether you wish to edit the file. If you answer Yes to that prompt, the file is made modifiable. Copy from file: If you are creating a new file and wish to copy its initial contents from an existing file, specify that name in this field. *O+O- YO0[Op]Opu DELETE FILE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Delete File command is used to delete one or more files. Unlike the Executive, the Editor does not actually delete any files until a Save or Finish command. If you delete a file and later wish to cancel that command, you can do so by reopening the file. Once a Save or Finish command has been executed, however, all files that were to be deleted are truly gone. File name(s): Specify the name of the file to be deleted. Multiple files are separated either by spaces or commas. File names with embedded spaces can be specified by sJ  t accessed dates of the file. If No is specified, only the file names will be displayed. Sort by: If Name is specified, the listing is sorted by file name. If Suffix is specified, the listing is sorted first by the extension of the file (the portion following the rightmost period), and then by the rest of the file name. This allows all files of a certain type to be grouped together. Look for: If a search string is specified in this field, all files to be listed are first opened and searched for the string. Only those files where the string is found are displayed in the directory listing. ]]- ]0]p]wpu VOLUME STATUS HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Volume Status displays a list of directories for the specified volume, as well as the amount of space available on that volume. Directories can be selected to be used as defaults for the Open File, Set Path, and List Files commands. Volume: Fill in the name of the volume to be listed. Passwourrounding the file name with single quotes. Password: If needed, specify a volume, directory, or file password used to access the file(s). If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. SS- S0SpS1pu COPY FILE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Copy File command is used to copy one file to another. A file can also be copied using the Open File command, opening the new file and specifying the existing file in the Copy From File field. Like other Editor file commands, the file is not actually copied until a Save or Finish command is executed. Old file name: Specify the name of the file to be copied. New file name: Specify the name that the file copy will have. Password: If needed, specify a volume, directory, or file password used to access the file(s). If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. FWGW- uW0wWpyWpu RENAME FILE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Rename File command is used to change the name of a file. Like other Editor file commands, the file is not actually renamed until a Save or Finish command is executed. Old file name: Specify the current name of the file. New file name: Specify the new name of the file. Password: If needed, specify a volume, directory, or file password used to access the file(s). If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. GZHZ- vZ0xZpzZpu SET PATH HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Set Path command is used to change the default node, volume, directory, and password used to access files. It is equivalent to the Executive Path command. \\- \0\p\pu LIST FILES HELP |(Press CANCEL to dismiss, HELP for more help)| | | The List Files command creates a listing of a specified directory. The Pattern and Look For fields restrict the listing to only those files matching the specified pattern(s). Files may be opened from a directory listing by moving the cursor to the desired file, selecting it, and invoking an Editor file command. Pattern: If you wish to restrict the directory list, enter a wildcard file specification for the desired list. The default is to list all files in the directory. Node, Volume, Directory: Fill in the node, volume, and name of the directory to be listed. The default is either the current path, or a directory selected in a Volume Status listing. Password: If needed, specify a volume or directory password used to access the directory. If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. Details: If Yes is specified, next to each file name will be the length of the file in bytes and sectors, and the creation, last revised, and lasK rd: If needed, specify a volume password used to access the volume. If not specified, the default password as defined by the Path command (either in the Editor or the Executive) will be used. Node: If accessing a volume over CT-Net, specify the node name of the volume. dd- d0dpdCpu SEARCH HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Search command is used to search for a string of one or more characters within a file. The search begins at the cursor position. If you hit GO, it continues to the end of the file until a successful match. If you hit Code/GO, the Editor searches backwards to the beginning of the file. Search string: Enter the string of characters you want to find. If the Expand wildcard? option is set to Yes, a question mark (?) will match on any single character, while an asterisk (*) will match on any range of characters in a manner similar to the filename wildcarding used by the Executive. If you wish to search for either of these characters as part of a wildcard string, type a single quote before the character. Search using string: Depending on whether you choose 1, 2, or Both to this option, the Editor will search using either or both of the search strings strings specified. Check caps?: If you choose Yes, the Editor will find only those occurrences of the string with capitalization exactly matching the search string(s). Select?: If you choose Yes, upon finding a match for the search string the Editor will highlight the matched text. If you choose No, the Editor will move the cursor after the matched text, but will not highlight it. Ignore embedded match?: If you choose Yes, the Editor will not match on a part of a larger word. For example, searching for the string For would not match on the word Form if this option is selected. Expand wildcard?: If you choose Yes, question marks (?) and asterisks (*) in the search string(s) are expanded as described above under Search String. If you choose No, all characters are treated literally with wildcard matching disabled. JgKg- yg0{gp}gpu REPLACE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Replace command is used to search for a specific string of characters and replace it with another character string. You can search an entire document or only a selection. Search for: Enter the string of characters you want to find. Unlike the Search function, wildcard characters can not be expanded, so all search string characters are treated literally. Replace with: Enter the characters you want used for replacement. Check caps while searching?: If you choose Yes, the Editor will find only those occurrences of the string with capitalization exactly matching the search string. Alter caps of replacement?: If you choose Yes, the Editor will modify the replacement string to match the capitalization of the text being replaced. Choose No to leave the replacement string unmodified. Confirm each?: Choose Yes if you want the search to stop and wait for your confirmation before carrying out each replacement. Choose No if you want all instances of the string replaced without pause. Ignore embedded match?: If you choose Yes, the Editor will not match on a part of a larger word. For example, searching for the string For would not match on the word Form if this option is selected. This feature is recommended if you are globally replacing a string that is likely to be part of other words, as an alternative to Confirm Each. {n|n- n0npn`pu GOTO SOURCE LINE HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Goto Source Line command moves the cursor to a specific line number in a file. Source code listings often include the line number when reporting errors. Line number: Enter the number of the desired line. MtNt- |t0~tptpu BLOCK CHECK HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Block Check command is used to verify beginning and end deK   | The Set Defaults command allows the user to tailor certain Editor defaults to his or her needs. Each of these defaults may be made permanent by storing them in his or her .user file. If you have a color display, use the Display Colors menu to set the color defaults. New tab length: Unlike Word Processors, the Editor uses fixed length tabs. The current tab length is displayed, and may be overridden by entering the desired tab length in this field. Changing the value of the tab length has no effect on the file itself, only the manner in which it is displayed. The user file option name is :EditorTabLength:. Open file mode: When a file is opened using the Open File command, the default value for the Allow Changes field may be changed by changing the open file mode. Specifying Modify sets the Allow Changes field to Yes, while specifying Read sets the Allow Changes field to No. The user file option is :EditorOpenMode:. Autoindent mode: The user turns the autoindention feature on or oflimiters in a source code file. You may verify either a whole file or a selection inside it. If comment delimiters are specified, beginning and end delimiters inside of a comment are ignored. Block Check string matching is not case-sensitive. Block start: One or more beginning block delimiters. These may be words, such as the Pascal BEGIN statement, or they may be characters, such as the C block start character { or a left parentheses. If a block may begin with more than one type of block delimiter, all starting delimiters may be entered, separated by a space or comma. For example, PL/M may start a block with either a PROCEDURE statement or an END statement. Block end: One or more ending block delimiters. These may be words, such as the Pascal END statement, or characters such as the C block end character } or a right parentheses. Comment start: The character string used to indicate the start of a comment. Comment end: The character string used to indicate the end of a comment. If nothing is specified in this field, the comment is assumed to continue to the end of the current line. uu- u0upupu WINDOW COMMANDS HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Editor supports multiple windows into one or more files. Each of these windows may be concurrently displayed on the screen, separated by a window bar, in what is called a Tiled Window display. Tiled Window display is the default display. Alternately each window may occupy the full screen; this is called Full Window display. Windows are created by the Open File, List Directory Files, Volume Status, and List Opened Files commands. Press F for Full window display Press D for Divide window (code/D) T Tiled window display  C Close window (code/C) H Hexadecimal display P Previous window (code/numeric -) V Change visibility N Next window (code/Next) Full window display: Press F to select Full Window display. Tiled window display: Press T to select Tiled Window display. Hexadecimal display: Press H to change the window text display between normal and hexadecimal display. This command may also be invoked using Code/H. Change visibility: Press V to change whether tabs, spaces, end-of-line, and formfeed characters are visible. This command may also be invoked using Code/V. Divide window: Press D to split the window where the cursor is into two equal sized windows into the same file. This command may also be invoked using Code/D. Close window: Press C to close the window where the cursor is. This command may also be invoked using Code/C. Previous window: Press P to move the cursor to top of the previous window. This command may also be invoked using Code/numeric hyphen. Next window: Press N to move the cursor to top of the next window. This command may also be invoked using Code/NEXT. zz- z0zpzpu SET DEFAULTS HELP |(Press CANCEL to dismiss, HELP for more help)| |L f with this default. When autoindention is turned on, hitting RETURN causes the tabs and spaces at the beginning of the previous line to be copied to the current line. Shift/RETURN inserts a RETURN without autoindention. The user file option is :EditorAutoIndent:. Use wildcards default: The default of the Expand Wildcard field of the Search command may be changed here. Changing this default also changes whether wildcard expansion occurs with Look For strings in the List Files command. The user file option is :EditorUseWildcards:. Save to user file: Choose Yes to update the user file with the specified defaults. This will make the specified defaults permanent for future Editor sessions. Choose No to only change the defaults for the current Editor session. ρЁ- 0ppu INSERT HEXADECIMAL HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Insert Hexadecimal command is used to insert one or more characters by their hexadecimal equivalent rather than by a literal keyboard character. For example, to insert a GO character into a submit file, the hexadecimal value of GO, 1B, can be enterd via this menu. The string specifying the hexadecimal numbers can be any length as long as it only consists of number and the letters A through F. The characters are inserted where the cursor was positioned in the file. \]- 0ppu DISPLAY COLORS HELP |(Press CANCEL to dismiss, HELP for more help)| | | The Display Colors command allows a user to modify the two colors displayed by the Editor. Any of sixty-four colors may be chosen for the normal and half- bright parts of the display, although not all of these combinations are visible or asthetically pleasing. The normal and half-bright colors are configured by specifying a value of zero to three for the red, green, and blue parts of the color. A zero for a color indicates that that color is turned off, while a one, two or three indicate increasing intensities of that color. When a color combination has been entered, hit GO to change the display to that color combination. Once the desired color combination is determined, the color defaults may be made permanent by storing them in his or her .user file, by specifying Yes to the Save to User File option. - ݋0ߋp:pu LIBRARY: ctos.lib VERSION: x12.0-4/7-15:01 (thursday april 7, 1988, 15:02) LIBRARY: Editor.lib VERSION: x12.0-4/8-15:00 (friday april 8, 1988, 14:57) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: x12.0-4/8-11:50 (friday april 8, 1988, 11:53) L