e¿ Vü‘�[3õ XV—Ð� ’ � ÊÖP¶PÆÂ@(U� W\X T(}e.(T¦0V•0µÊ©#X/8R S0V•#BÓûS40T…8VÊííš"CÓû«û ‚!@!bR@ÿ (€Ï ¥bÔvRg’_qÒJ(|0}vdÕrRg’kqÒKÒÀÒ‹«ÒÁÔv0~rRg’yfÿöÿ gˆ�iˆH¤  § (¡¥ �û(¢�û�ª(¤gI‘jIªò‘X££3*ª£�ÓšO XVP¿—À ¿® V®­X£Õ‘Å(½«Å[°�Ò�Ò�Ò”±(¾�£/ AFAT LREOR,RT PA ETSTASU= RFMO TM:0OCYPIRHG(T)CGD,C9177LA LIRHGSTR SEREEVD( ÿÿÿÿ ÿÿÿÿÿÿ  $ë%{%{R$š%%…]tØÊ”ÄÈ»¿hy‘#x¶Ûü¡ ìj¦½Ë϶­¥ Vr‚åÿBFž›±¶Ö VTµÓ÷$&(*,›—¶¸º¼ÁÃÉÎ÷  > C N Z | ˆ €!!d!n!w!�!�!¨!±!²!Æ!Â!Ü!â"""#„#Œ#�“,eVÿÿ,eÿÿÿÿÿÿ ÿÿ<(C&N,U�7 ^�6e�5 l58 GG s +êCOPY REV 5.01 +ê o‡ ½Ÿðñ o«é˜1…B ¬…PCŒ´#ŒƒCŒ eï�ù I[ dðG� Ib o²€ ²˜¹COPY o ¶�A o � I@ï'� eè§ g4 o E,�: o ± À o E0�: o ± À o,çî0#� eì¥ g* eðÕ�·–@Œ­¬ fçK�­�ÏŽ@Ä ÕÔ+�À§–ÒÀ o0ç0#� e¥ g+ eðÕ�·–@Œ­¬ fçK�­�ÏŽ@Ä ÕÔ+�À§–Ò:À>DP d, e<�­¬IDP f0 dGK�Å…„+�§‚YB]DP d, e[�­¬ªj¸nMT d, el�­¬ª{ðÓ�DP d0 e�­¬ªŽý’MT d0 e��­¬ªŸ5Ó o­¨MT0 og¦ ±MT1 og¯ ” o·* o ± ­ d eæ�­¬K� o,åÕF#� eÓ�­¬#��ªè d* eä¦ g* o‡Ÿð} o Øñ, o‡|Ÿð} o·+ o ± ­ d eæ�­¬K� o0åF#� e�­¬#��ª- d+ eä¦ g+ o‡¤Ÿð¡ o Øð0 o‡æŸð¡ o·* o ± ­ d eæ�­¬K� o,å_F#� e]�­¬#��ªr d* eä¦ g* d eæ�­¬K� o0å„F#� e‚�­¬#��ª— d+ eä¦ g+ o‡*Ÿð¡ j**INITIALIATION FAILURE** +êDISK SIZING ERROR ” +êINSUFFICIENT ARGUMENTS” +êINVALID ARGUMENT” rŠ?  ù(&ƒô ƒóƒò lòõ!…PCŠ dÁC‹“#‹ƒC‹ e#�ù dÁCŒ‘#ŒƒCŒ e$�ù dÁC��#� e½¦C� e%�÷­P f%Î�K� O½#�C‰ I o€ I oÆÁ* € I  o²€¾«#Š­P¦CŠ f¿­�ÏŽ@Ä ÕÔÒ�­PKŠ@4( I o€ I  o²€¼« o# j**FATAL MULTITASKING ERROR** rÿÿ @Ê,фŠڄÄá„à lÃÆë…PCŠ8#ŠƒCŠ eu�ù I×  o€ #‰ exÕ�·–@Œ­¬ª: dv+‰¦CŽ IÎy oxx€ o 4 + o � IÞ o²€yaïë oxxw o 4 G d4 exÕ�·–@¤ ­¬ªW+ o“ o›x o# j**FATAL MULTITASKING ERROR** r P`�(ˆ&�…| ˜…{Ÿ…z lz}©…PCŠ dWC‹8#‹ƒC‹ e#�ù dWCŒ6#ŒƒCŒ e$�ù dWC�4#� eS¦C� e%�÷­P f%Î�K� OS#�C‰ I• o€ IŒX oÆX+ € I…U'� eV§‚ IŒX oÆW+ € Iœ o²€TB#Š­P¦CŠ fU­�ÏŽ@Ä ÕÔÒ2­PKŠÈ¼° o“ o›W o# j**FATAL MULTITASKING ERROR** r @`,g†[ p†Zw†Y lY\� dþ eû¦C‰…PCŠÁ#ŠƒCŠ eü�ù It o€ Idÿ oxÿ € o 4 à o � Im o²€ 狇 d4­P¥ g4 Im o¹€øç d4 eþÕ�·–@�­¬ªå o#’ j**FATAL MULTITASKING ERROR** rÿÿ P(&‡ ‡%‡ l/ d´CŠ¥#ŠƒCŠ e#�ù d´C‹£#‹ƒC‹ e$�ù d´CŒ¡#Œ e°¦CŒ e%�÷­P f%Î�K� O° #ŽC‰ I µµ oÆ´* € I µµ oƵ+ € I ²'� e³§‚Ÿ I µ² oÆ´+ € L@4 o“ o›´ o# r @ }`¿'‰‚�‚€‚€C‰!8CŽ)AKŒ!>C�+Œn#“+”1:Ç �ø!6�Ž7ŽÒ "� ú"€ !#CŽ)*KŒå;Š"C…C"C"C"C"C8…PG‹` r!ü!úDöü% P?ÿ¾�ÿÿ ÊÏ0 ÊÐ/Ž ÊÙ¾Jàš‡€¹¨ —Š@&:LŽb!-)%ŽI+‰1&) ŽI­K�)K�)ŽI)·�û�ù)ŽI¡qrr€ug€`@tnrÀxÿ•)ú· -)ïŽI+‰3ŒÎ1î–Q1ïö)çŽII )áŽI)ÞŽIþ)ÒŽIS“)ÏŽI)ÌŽIS”Æ)ÄŽI1Þ,›ÿÿ¥Y Q i›j! )19!º(Á& ‚ G³Í d }C—/‰ÕPµÕÔÒÜ d {C— d yC“ o �! |€ #¡C– où!€ v o"€ ~#¢/Œ¦C¢ où#" u#¡+£ŽK¡ où"€ t#¡+¢Ž'Ž�C¡K¢ oæ#! s#¢+£ŽK”#”f#–bÛ oÂ!#œ­P§‚ * J d yC“ o �!€ #¡C–#–b#”f#�d[ oÂ!#œ­P§‚ I › r#“­P¥C“ f }­�ÏŽ@•ÕÔÒ \ ß I¾! ~'¡ e |§ f y­Pµ+“C¡µÕÔ#¡—Ò  + ySEEK RETRY o �! z€ #¡C–#”f#–bÛ oÂ!#œ­P§‚ ™ Jß#“­P¥C“ f }­�ÏŽ@•ÕÔÒ ­ ß I¾! ~ d y­P¥C¢ Y" S Q a…t„/¡§‚ Ó + yREAD/WRITE RETRY#œ e x§‚ Ý -  o!€ w#¡CŸ + y + yHARD DISK ERROR!…PC  ## ƒC  e x�ù e r�K¡ I"!# ­P¥C£ d q+£ LK£ où$##¤ e r§G¢ ý + y C€ € €  kHIT ANY KEY TO CONTINUE r p(" UNIT CYL HEAD SECTOR STATUS"/1X,OI2,T9,OI4,T16,OI3,T26,OI3,T35,6OI1/)! rÿý  } „ oæ€ ¹ où µ oæ€ ´#�+�Ž'ŠŽO‰ f d ³Å…„‚ ± où€ ¼#Ž/‹¦G‰ r r‡ÿ ! "`¿e¿! bÛ) a�ýe¿!@ÿ`[ÿ@ þ Ò(( ‚  + 5 + 5 o ÷ 5€ € o ±€ 2 * 4 # û 6 )(S72)!…P g Ñ o E€ € € r r ( < Ò(( v w } F @€  L I  v d tG“ I  w d tG“…PG‹ e ÑÕPµÕÔÒ j Ý d Ñ g Ñ � d у g Ñ e sÕ�·–@�ô o‹: Ñ#“C� e |�¬ª Ž ” p d xG‹ r…PC‘ d Ñ g Ñ Ó d у g Ñ e sÕ�·–@�ô o‹: Ñ#“C� e |�­¬ f yK“•ÕÔ+“À§–Ò Å Õ o%€ w v#‘­P¦C‘ œ � o% t€ v v d Ñ g Ñ l d у g Ñ e sÕ�·–@�ô o‹: Ñ#“C� e ÑÕPÎ h Ñ e y�¬ª  r o‹: Ñ#“C’ e {Õ�·–@¥ ­¬ f zK“­�ÏŽ@•ÕÔ+“·Ò ' K I  w I  w'”+’¦ f ~Å e r§C” I  w'• e q§3”ˆÏ¦G“ j#’ e {¥C’ d p+’ M…PŽK“ I  K p d o+•¥C• oÊ€ ã � rÿ?H( /ZA 90 } „'‰ e ®�­¬ª � r'‰­P�­¬ª ™ r + ¬RDOS ERROR NO.€  k r  } ´'‰­P�­¬ª ¾ r'‰ e Ì�­¬ª É r R€ r - . } G Ï  F Ó€  ã I  , d 1G“ o%€€ - - + oo€ 1#‘ e /�¬ª  o � o€ *#“ e 0�­¬ª  o% 1€ - * - oé€ € 1 o � r(  } 7'‰ e îÕ�·–@¥ ­¬ª E r'‰ e ð§‚ O R€ '‰ e ï§‚ Y Î + í**TAPE ERROR**'‰ e ñ§‚ { + íILLEGAL COMMAND'‰ e ò§‚ � + íPARITY ERROR'‰ e ó§‚ ¡ + íLOADPOINT'‰ e ô§‚ ¶ + íBAD TAPE ERROR'‰ e õ§‚ Ë + íODD CHARACTERS k r kREWIND TAPE AND MOUNT NEXT REEL- TYPE ANY KEY TO CONTINUE r € …P…C� }'‰†P0„–2#Š‚P� ? …PGŒO‹ r ?ù!Æ÷ }#Š/‹‚P©¤ zO‰ r r ‚(#‰/‹‚P©¤+Š7ŒªPÑÌ7�Ö. b r rCOPYRIGHT(C)DGC,1971,1972,1973,1974,1975ALL RIGHTS RESERVED.P  …P " r9<åâ@…¥l i8 + …¥d@…+¥`3 )v·)sÍÊ3ÓP„ýZÓ•ý0„Jÿ®P8 ¥L¶S3 )\·À)W« ²Š… �IV8 ;ÑÐâ¦C¾ùÿÿS0„)A„:ÿùJBÓ€Ó@Óûú(0 2µʪH!t­ ( …‚PªP  0 2 PŠ 0Š…B)ªPJ ] ­!U " !   € äÿjÿYKQ=8 +ªPº�+ªRý!ô檠Kû)ìZ ò¾Z)7ŽJ­J)/îJ9-îJ9+¾Z9%¾¬K�)WKˆ1öPZ�9+º�+ÿJ€9SS! †¦)Ç¥¯Ú1~ X€ ØwYÿ9* ½ ûIú  )1"CûÓ«û)ºí) 1 #BÓû«ûäÿú†8 ;ø   Ê!Î o!I! w!É w! w o#ÒSYSTEM ERROR:â NO MEMORY OR F$COM.CM F$COM.$$$TTO…CŒ ‚'‹+‰ªP3ŒÒ 7ŒÒ ª¡ª� r R€ á ‚'‰ r ‚'‰ r ‚'‰ r÷ïÓ ‚ rã ‚#‰/Š  r ‚#‰/Š r R€  ‚#‰ OŠr]a¹X:#¸çä@d?X ‚   7­ X3ûX2X 9ó#SB")¦B@X ‚ ) @X 9ÞY;ø  3)·• øSò* 9 Kò) )@¿ÿÿX1!Qý2Ð :)÷ï� ø‚  )=J� òB* 1ëJí)žZ9¬+S:J1àZâI%)!I"X93 Ð 3)Ï� )¾õ)ªK·Sö©·´Sð) Kí" ÿ"FûXý0ûX9.Y. `¿ª '>ú " Z8+J  0*N ")¦BQ1X:ø ) J²Z +Œùòô �# �M ª ’`¿2Ò IY993Ð  *� Úù*K)J  š)K91Ü1Ü%ZX `¿.ª »J­N"   "ûX9 3Ð *� Úù*K8ÿ ûûX 8#þB"¶ûX =vø 2)tªÀ§Å 9%1%P1$+ � %Þû=eø !+M`C 0*K)\"§"§*X 0ªPJB…0B ‚  " ë �1 �"X )?§B ð  0: ú -.J¬J U*2 Ò "0 2*ªUª�Œ²ùJÒZ­J  X ‚@B  `¿5 Ð 5 Ð `÷$³ ÿ$x0 óP 0…@"Eó"*:ú�Y:X:2`7YÚ0BJZ8ZZ8ú@ZüZ"F`¿Q YAI"9çB†J93Ð *ŒÚùÊ1 J!)S9 3÷@ÿ  ‚'‰+Š " r ‚'‰ "rÁY tqº­qº­P„ qº­qº­P…CÆK‰!TæPC’C“!Væ`CA!Næ‚PC”!Næ`Cü!HæC¡…C¥C¦CÅCÄC˜CŽCŠC‹CŒCšC‘!;C�…PC›C 2ˆS� �"C–�'�C—‚  3� �)%"¥ ÓÓÒPS�#’­ {+—ª +‰3–ª  BS‘ "�'�) ¥¥+�ŽK�ø1 �–ÿýÿÓÿªn ÿû@*xBå‚©P ÍÑ3‘Ò ð#”C•#—‚%d#›‚�› 9ÿ�C›‚!âC�#� zK™�1 #š‚ 1N+™"ÓÓ€\¥mú‚ "ÿ‚KSË 9ÿ�Cœ3Ë"þ‚K� 9ÿ�C˜3Ë2ÿkI’Ë€E’Ë€D’Ë€F’Ë€G’ËOâA’ËPæL’ËS’Ë(’,@/lZuW!W F)¤HºXT“é"Ì'ÌÿW�H#Æ‚ +#‰‚ (#’+“¥+¦)ô� 3–�µSÇ#•)3ü .’%+ž…3  �‚¬#Ÿ’¶ªPSŸÕPS ‚P3– D4 n#‰‚ Ï#Æ‚ ç3—Ò 3œ ?|Ö3•! +™� !˜� !›� ­Â {#�‚�#žC© 0’1J @|•3•í!ñDa#”C• 8ÿ•GŸ1…+—ª ÒJ#˜�+ŽÒ‹¥ 33¡"ÿ–"ÿ)'¦'Bÿ3¡"þ)§ €Ù t…GŸ+Ÿª`ÂP2ÿÑÐ` b3¡"‚ "ý‚…�*þªÀŽ'Ÿ¦GŸ+Ÿ#žŽKŸÄÿ€,àÿ´3¡*ÿKÇ1üö…BÓÇý)ôJÿ /‚ Ì\ˆ)83¡;©ù"‚€BÓûû«õ8¨4ˆÿü3•ª #“C’3– B(åð#‰3–‚ #“C’ Bk#‰‚ h#’’+A� Àù t­ {C#’+A� Àù t)w {‹#“3– AC’Pnn = 3Œ+›ª «J#�B3ÄÒœCÀSÁK¿Ä 3ŒÒ "C� > Ä#Ä‚œ#Å‚  W3›#‰‚  ?…PC› ?Áø3™#‰‚  @ î @Á’çÀ™ t3!þC�F#›CŽÛ+’#“3œ´–ÒJð #•­ {3œÓƒC•#”+ŸªP b_ 3œ#Ÿ‚P ?ÁUµSÇ#’)3A .C’M3›#‰‚  ?|«SÇ#’)3A .C’¤ Â)þ {3œÒ�1ºÅ+ŸªP1¶ b.3œ)²µÒJ SÇ#’)ë3A .C’)¨²¶#Ÿ‚P ?Á­#• {•#” zƒ1Í ü1Í 1 Í „…GŸ€¹ tû4FT 3Â#—‚ 3œÑ÷#’ÐSÇ)·3A .+A� Àù t)ì?Ÿú )ê {ƒC’ä'�C��3� �CŸ…PC +�r = 7�")� !Z•SÇ �’*3‹J+�JR3ÇÓCÇ �"GÇž3‹…Bô3‹"‚ )3� �CÇ!33�– �"/ÇŽDˆOÇ„P3�• �"/Ç4ˆÒZ’¢Ê† ® Œ3‹"C�Ð3� �C¥Ì3� �C¦È� > Ã) 3�ÎK� �;‹+Jô3� �CÇ“ �CŸ3Ç � HC ")�K�1«¶"Cž1¶"CÂ3 #�)ç¥J ¥­ÒPS    3#�‚P+‰ª -CÃÕS @CÁ#Ã�€ z1îµSÇÒ #’+A� Àù t)ä {’#à zª ƒü3Ç‚�C�Ò 3–#“+’ A4C’ wÕP¦ð#�ò JKŸ…PC 3�"ÆC�Ó �2 š3�#�Bˆ#—‚ ¶#š‚ ##Æ‚ r#‰‚ r#’+A� Àù t)¦ {‹#“3– Ar#¥)µ #¦‚ 3�Bˆr€é t\Å#¿C›#ÀC�#ÁCÄ›%C™lLAþ.S#Æ‚ N#—‚  #™)ó� C)ñ� ñ)ò� í#�+žK©+’K¤‚�O3¡…Bý#žBÿÊP–…Bÿ#Ÿ‚`3žÑÐ` b3¡'Ÿ‚Ný)%§ÀBþ"Cà 7C¢#¨C£#—‚ #™)� )� 9+£3ŽÍK£)#� ^) � €™ tYR^F_DG+ž3 … �‚¬#Ÿ’¶SŸÕPS ‚PªP3– CnE'Ÿ :+œ3—Ò +ÂKœ’ ;#¤+œ¦C’+Ÿ4#Ž+£ŽK£+œ#˜Œ²BCÃ#¢3£ ;+ë3£ÒKÕ <#™)Å� ã1 )#’SÇ3A .C’Û *3œ)þó#Ž•S£)ÅK™+œ#˜�!ò�ªJò3Ž#¢ ;+˜«3ŽÒKÕ <#’+A� Àù t+™ {’#”C•#Â#£ :)Ö’ ;¬#ÂCœ#�)‚š)K˜)šK™Õ3£ÒJË#˜ÅÈ+œ1ÁÍ£\ˆˆLˆ8SÌ3Ì• Àù t,ˆ {ƒÇøˆ4ˆ\ˆ8ˆ3¡#©–žDˆ"ÿ+³‚«¦BÿÑÐùøˆõ8ˆ4ˆ\ˆˆ8…CÒ3¡#©Bÿ)`†P¦Bþ…)ZBÓ«ýCËBýCÌCÎ#”CÑ#Ñ zѪ 61Rµ ù1Jµ 1Hµ Ë#Ñ zѪ '1Cµ );1;µ .19µ +17µ $15µ &13µ #!+3�–¤´�#Ì‚ ΢3�SÏ 1‚ 5Ø€Ù t3¡#ËBý#Î 3#Òˆ4ˆÌ…�CÒÉÑ 8ÿÑ+ΦCÎÒìÿû@0+-.ED \ˆ8+¡3©SɶSÈ3ÏÈ/È �OÈÉû4ˆ\ˆ8#¡CÈ#©CÉ3ÏÉ…/È �É4ˆOÈÈø\ˆˆ83�‚J‚J$CÊ…PCÐ#Ê‚› …SÏ 1‚ 53ÏÐ#ÊЂ•6CÊÊ… �‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 43�…PCÐ#Ê‚› SÏ 2 43ÏÐ#ÊЂ•CÊÊ… �‚²ì…CÐ#Ê‚PCÊéÊç­ 6ˆ4ˆ8\ˆˆ83¡"ª‚(:ÿ\ˆÞXŠ‚Š$ŠLŠŠˆû"þ)&¥Bþ"­î9!çÞïÀŠ$Š‚ÀŸîåLŠŠ9ˆö"þ)¥BþÍ:ÿ\ˆPŠ<ŠŠúÓˆûZþÂÿ\ˆˆ83¡PŠ*ÿLˆ9øŸ ‚ÁŠ,Š¿ÀæDŠ9ï¢Àçˆ÷"þƒƒBþ¥,ŠDŠŠ¢ˆû"þ)ݦBþš\ˆˆ 43¡"‚9ç9"ÿDˆÆ@ŠªPŠ$Š‚@DŠˆûûôþ‚tÿü@ð\ˆˆ8…CÎ3¡*ÿK©"þ)ó¥Bþ+ÎŽKÎ�­ 33¡"þ‚÷#�#�1æ• )ä3©Ò�Ò”)z)Ý3©Ò�Ò”)uK¢CÍ¢­KÍ+”KÑ+—ª #™)d� )`�  +˜#ަ +ÎÒJú#˜¥÷#Î+˜¦+ަ‚Z…+¢�ŠK£3�SÏ/¡ª $…+¡3©SɶSÈ3ÏÈ/È �Éü‚  1Î…�C´…CµC¶C·#£‚  *£þ /…uÎ… 1),Ž#Ñ {ÑÍ¢÷#Ñ+ͪ  Ñ#Ñ z1ÍÍùKÎ {#Í3¡+ÎJþˆ4ˆFG—ÿ´\ˆ8!úæùƒ­ê0……P+û\ˆˆ8CÇ…CÉCÈîKÊ'ÊÊ z#Ç1:µ ‚ø)é¦ õ3ÈÒ  …P1*µ 1(„µ !%1%µ¦1+Ǫ 3�+É �‚ªZ KÉÚCÈØ#É+È«�ʈ4ˆ#Ç‚ À™ t¬‘€Y tñ +-ÿÐ9 \ˆˆ8­KÉK§‚[§‰Š3�… �Dˆˆɪù#ÉCÇ#”ˆ+ü� Àù t,ˆ1aÎ {ƒÇõ­ {#Ɉ4ˆ\ˆˆ8ª KÒ ÒJ2Å6CÈ•SÉ…CÊ3§#É–#È–Í0ªKÇ#’)83A .C’#§‚  #’+A� Àù t)-’ {3È ?Á3ÉÒSÇ#’)!3A .C’CÊ…CȃCÉÑSÈÅCÊÕSÉË#’’+A� Àù t) {Ñ#ʈ4ˆ -*0\ˆˆ8©¨ÑSÉÍ­�'KÈ…CÊ#’’+A� Àù t)% {)"3ÉÒSÇ#’)3A .C’3È ?Á)3ÊÒ SÇ#’) 3A .C’CÈ�KÊÚˆ4ˆ0.q!! ƒ'‰‚  >€ € r3�"€)ŽJ€–!–W‰…Bñq! ƒ7‰"G‰'ŠWŠBrÿˆq)#q)KŒ!= ƒ3�ˆ2‡S�…C�'‰‰ zª )Œâ�KŽ'Š7‹• Àù t {Š+Ž3�Í írñ!!� !� �3�Ò 'Š7‹• Àù t {Š�Ø3�#�B†r3�ˆ‰ú‰�öõ q CŠ!NC‹…C� q CŠKŒ…P ƒ#Œ)@?‰ú­ {!—ÅÀC!;§�ÀKÆÀC…CC4ˆ8\ˆ3 ~8ŒS!,�XŒ#+‚À‚@ª€‚€+ 1¶+9¿íÀŽ!ÇæÀ8Œ; KC4ˆ8+«ð9 ª€Ò€ûý‚ÀƒÀè€ÿüÿÿPŒ\ˆˆ8Œ#3û• ÊCCûÑ!=‚ �!>Å…­\ˆ#+94ÜŠ…õÑ +Óþ<ˆCK8Œ#+úŽ€#ü+ý3;‚  îÓ8ŒÆ 8ŒûCüKý7íÄÅ8Œ‚ ø©€�3SúòÁ¹ v\ˆˆ8Œ+3ý… �8ŒC¢+3ü �8ŒKþ+3ü �8Œ3΃CüKý#+ûŽ!�Kû#+úŽ€…pCú!Ø�XŒ ˆ4ˆ8ÿ€@\ˆ8Œ#+Ž«…+1Ç  8ŒúCK#)ì� <ˆð8Œ…CCCCö‚J€‰ v0Œ î€y vï!B„BB\ˆ3 ~ˆ"8Œ1;Þ0†ÝXŒ’PÕpSÒŠ�C!.C…CCC ¶ˆ4ˆ8P\ˆ3 ~8ŒS!�XŒ#1¦­• 1•+ÖPѪ�Óþ#‚Š©; Kà€Y v¬�8ŒöD\ˆ8Œ1ýÝXŒ#+ Ž«……P+ªŠ„4ˆ8Œò8@‚�‚�ª€‚�ª€‚�ª€‚�ª€ªP‚@ªP‚@ªP‚@ªP‚@!è!ç!æ!å…P\ˆˆDˆˆ V8Œ!Ã�XŒÕP#+ Ž«…#‚ŠÒPÒPˆ$ˆˆÇ‚ 4ˆ8‚Mò ˆ€I vˆ8ŒD®\ˆˆ8Œ#û+¥)¶¦Cû#ú+Ž€­pKú#ü+ý3”Ò àû ¨ �8Œ3CKü… �8Œ3Å©€�ÕÕP;œ ”ÒaÒP8ŒS3 �8Œ3…Òƒ ‘8ŒÒ‹©€�3üÆCüKýyq‚ q‚2‡S�C‰KŠ…pC‹#‰ z#ŠKŒ {Љ#‹‚ �õr3�+Œµ ðr'/7G\‹8‡‡OûWù­)#q­!q­P!K‰ w.ˆ"ˆ¨ ‚P w¦�ƒBˆ! w‰ rZ?Ø?Þ?æ?ìSTOP PAUSE EXIT q>ˆˆ&ˆˆ’"‚r(…JÝr#¦Cûúw! –ÕP8#‚žÒJÖ WˆrT‹0Zˆˆ;û \ú[Þ;€Zƒû UB…J†ª@J„ª€;ÿû ƒê9LÞ"€žK€î ‡�'S�X)Cî0H‹*†"…ƒT‹0Zˆ<‹ßT‹0Zˆ3ÿ93ß;ûû0Ô8;�X!*æ@‹#„‚€#…+†3‡ˆ8ù"ˆ)Ú3ˆµ3�ûVÊÚ3�Ð ýXÕS€1öP‹ o sJˆÀ uÂI u ÿÿ‡q"ˆ 0"ˆ† "…*†2‡qCŠ2ˆ"þ9v+ªM�Eûú!kæPC‰2þ)hÏ€ª€ª€ª€#‰ o!!?ÒPÒR!; w#‰ w!D w#‰+Šª@ª� o!I#‰ w!@ w#‰3ŠÒJ 1J;�+ˆ;�µø û1B(ˆKŠ,ˆ´¨ ˆû3ŠPˆ¨ ì o!I#‰ w!, w‚ rV ‰‚€‚`@‰‚Br8·AÂAÈFATAL RUNTIME ERROR AÚ AT LOC. Aæ, CALLED FROM LOC. Aü ÿ‹?ðV!€y€‰�‰q­J† z“¢r xÂ3�†øq²C‰…C‹!&CŠ'Š­«•þ–‚�…pCŒ#‹Ž  !Ž#‰S� {3�‹‰ŠŒê3‹Ò #‰) {ƒ­ {3�B…r0!B'èd q²P)K‰)ª@)KŠ)ÒPª@ŠýS‹ {3‹ƒ‰ô­ {3�B…rqÿÿ ) � s! ùqÿÿ B…ò XŠ’�*‚ ªÀ!�Â@8ŠXŠ1 Ïš’ÒÀ#ǪÀŽKâ@8Šÿq)ÎK‰2�*ˆKŠŽJˆ‚rC‹3�*�7Š 8W‰‰Š‹÷rÿ‰q)ýÎK‰2�&ˆˆå(!ÒZ—\¶@–°—\¶2€2ÿXŠ8+�XŠ8ê2!—\ÒJ ¶@–°ÂŠÒJ2Âж2€ÂŠÿXŠ83�&ˆˆXŠ83�C‚‚ ŠC„*ˆK…ŽJˆ)î0K†!)Î0…†7…—]¶ÒJ2W†„÷Šÿ‰ÿÿ€…0XŠ9 ªƒ‚�Æ�ûüª°8ŠÿðXŠÅ 9üªP‚@ŠŪ@ûûý!ý8Šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¥÷¦§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$TTI¥÷$TTO¦§ÿÿ) §À)qŒ9>ž+¨  �ÿ%B!B -þ"¦9ü�BE÷ J �9‚�9ž#€ � K )‚Œ 9 ž#‚B¬K �% �?"m!ÿB "ú"À"À"À"Ã"À+ "À"À*þ#r(„$9$;#r"À$$$)ÿÿ"Ê"À"À#ÿ"À$#’$$1$3"À$5$7"À"À"À#*"À"À"À$="À"À"À#’"À"À"À"À/"9Wç9 ž;);ø ��"*#8"öÿÿÿÿÿÿÿÿÿÿÿÿ"Ö"ã#‹#‹#‹"À"À"À"À"À"À#‹&("À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À"À$Š"À"À"À"À"À"À#l$ç29ø  ÿÿ8 +ÿ9 ! A ! Ý Kžü(„" ÿ0#B*J +: K €o*I1"€ Q! 3! 1 –) õ1:0!"­$F9ø 9ø 9ø 9ø 9 ø 9 ø � ÿÿÿÿÿÿÿÿ+uÿÿ0'€ JêN$fY*ºÒPÆA'ú€#ú‚Àú@Y$Ò€*ÒªÀÒ@9¢çï� ª  ‚ 9Óû)½ æ‚  ) � )� 9 G€“ � A€ � „C#Bº;#€ T#‰ � /€îº0…B#B"B !9 +(J!9+ ¨ 9ç(L"m       €È9ø Ò*ªX!B*�� *�99í597¾¾Z+$¨ ‚J¨ «;Zº;ž#€ °B"† BJ º`¿# € š#€ `ûS:]8 2 : S ò8`#+ �"a?)ý©9ü#€ ûû«ú �!ò� Z Â2 :Z*¨  ’J ‚  %Z9Z`¿=UZò$x9-3 Ð "‚ …0B!&E$) 3Ð ÒK" ‚  ‚J `¿"€ ] û«`ë9ø %-ÿÿ''ÿÁ%""mX:$í¬M 'wY7{?I3Q31.ö2Ð :CK!*C!)C C(KªQ ‚@C"€�ŒH!@l8 1 ÞY`€8Y$9X1 9 `f?`€"m:3P3t¿P)/ª  3Ò�Q#+3;`Ò õ…A0Ò ðH0#B#B#B#B#B B †¬5 8] S=ú   COPYRIGHT (C) DGC,1971,1972,1973,1974,1975ALL RIGHTS RESERVEDe¿)i1YIhQh5gÐ ÒK¬J J…^\õ…@@EPü]K]K]K­PMV)B©P1?ZÓ«ý)=HªÀ18ÎMG18B!4¬M:M:PU@ýZZ –Ú U0žJ JZòø!(-&‚ŠI$M"1*" ‚À Óû‚ bIgIÿ!@`=ø f?"m"a "%Z @  %í TRSOR VE4 0. 0 & &E  & &ž*:&€&ÿÿ&Âê:…PC…C º„A+\(ý9€ ø  )m§*® J­PJ `¿A`Q  �'ø  A1B QÚ S)S§)ú�  "1÷B „Aò1Ì %Z1É:2QÅø !5 ?õô1¿2).· )111¥Ä­)+¥A±+9*ï 1­9(!ªå ! &!¥1¥)¡� !  )� 1š…:C! !’1“ �8  _ az*8 (³ (f(o((ÿÿÿÿÿÿÿÿÿÿ&¿)…à &Æ&Û)ƒ&€&²ÿÿ M¬&Í&§(Y(mÿÿÿÿ((@ÿÿÿÿ(Y%f?ÿÿ&û&õAúA A A A E!ïbL'˜'ÿÿmÿÿ9ØKS(Iû)×H`L1ë*:ø ½ ý0ZÓ÷-ઠ «MçIÅ-Pª@ª 1OÒ «MJ9lúi YgAÀ‚@A½ e!»‚€!º1µÐ 9³ú ± 9¢-2ª '+3;`Á)¡ª žùø9�C!µ‚@C C C" AŽ€ ’*ª é÷…A‡ 1  C!ž‚@C C Cö%Z&ä9"‚ P3Ð  *¥Úù¦�J(KºSC#† C…C E&æ&î…-19ªP‚@ŠŪ@ûû0BJ%B <ÿð''0 <<ÿÿ"+¨ ŒûÓø0"ŠP¦PŠPªPŽP"¦Eæ"Eå �!94%2ƒ+ ¤ûü+ ¥#B)(½Z%#B ‚ ë9ª ìç9¾+¤â+ ©¤E"E 9§úI¥A¢A¢ �%…A� ù ''(;Zx—µÔó0N)ª „ª6ªJ6B !:Ÿ " ‚’.ª’," ýpþ B J Z*8`¿(Ù¬B…B9òÀš�;‚ úÀ)ï ¬�æ…C!æ‚`­P9ïß: ­PK ‘"¨�J…BB9 ! ï Ö "¨§B ") �  …¬J*4 *!� )…¹þp8#))¥C!'A!&C5Ð „E Ê2"€ 5Sò$fÿþì#C#) ¦C’�"þ)�  �"a ZP*ªŠ* :½ *J J ­J   :  15Çú’ÒÀ+Ï‚ÀŽK0*ª‹*:2„!„Y!º"C#‚J‚€‚PC‚ :ø  #€ šüKºC J9"CZ€ ÿZB:+ª‹')s§*9u¿ )p� !rBK)g� * !e�   )a�  : #B !YB )T� )P� :+º�+9Ђ úÀï‚ÀŽ:#š�K:+ª‹*!@§  *ªÐ®ÿª ):J")-§)(� « ‚  #‚‹!+B:#‚J‚€‚`C;Z‚K"†J* : #�K*ªK9ï’ ÿ„\ *4€€ *€ZZ ÷…B:ø #‚ ó‚K ƒ"B ")ë� bq#)Úš“ªÀ#§‚À:+ª‹c)ϧj)y:¿)z9z¥ä­)x¥)y� )l:¿  !Ä)r:¿½8* JZ B3)^:¿ /* J¬J )^J()¢�J J)S¦*9H¿ -)˜J­J¬J &ª” J J*9=¿ ­JJ)AJ ŠÐ™øç4ý®€¢À*=6½!„B)&:¿ *9&½ -" ‚ ƒÿ -:+ªK! Bª€ª`K;Z)‰)Š)d €@@az€ Pÿ ÿð)x) )))) ) X:î8N`@`€b@a€g@a@X) 2:ø CÓ«ûÿø+„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9+â*j: ú  :*ªK‚J"‚ ® J . !B!* ¦  +ß 8¬JJ üý)§ ‚Kú "† B!* Ž„ ‚ *ª )û� *"�º#9"� 8:;Z!`*µB ;#B " B : +¥C": C‚K+å+V*fZB !§B�Àª�: îJª�ª�9 ïí æ9¾Zÿªð �!šBB » ‚  *è*Š+þ +ü *è*Ÿ*è*Ÿ*è*‰*è*‰ ; ZC#‚Š „PC! 0 Z#‚‹ …PC!$f � �%+;#B „B¨  6 P 4  +';#B …B * D: ;"C…Cÿ0+îX:ú�#)512� *)0� *#9íçÀ9ìå9ë� º;ž;0X‚Š: )�  "‚ ­J �"€ " B!+�K c"m,MTCT Y 0  #€ ™2Zº#È+„;+µ ;Z +J š�#)>�¥À9¥å98� 4ª  9ží91½ -šPúPæP¦B ´@": +C‚   Æ¥B‚J  )� ù Q P": +ŒK * Hþ E N " ÿ,,X: ;!¯� : '• „Gb@)ÿa€)ÿc)ÿX:îN+ å’Z) 9 ç î: îJ9Z0@ªü ‘" à*Ä)� !È* ¦×€…Q…Z)9B" ¦BZ…Q…Z)9õ ªöªø*^ÿ*f,:*U*S*Iÿÿ,E,<,@" ba’f’" djR,M,P,S,V,Y,\,_,bÿSYS5.LBû h h þÕh ÷ÿýÿ.GšM4kîÿ$I@…â�M qv‹M D„¡M q¡M ”œM qœM ”ñÿ’D’$’$îD@úZo @úZk @úZg  ‚�‚ñÿ’D’$’$òŽ@úZa  ‚ ‚¬*J*U9ï¦B"ñÿ’D’$’$ŠÿR)¥* ¨PüùíêJP®¥K‚åñÿ’D’$’$Oý*K*8 UúG Z B)2 P„Jž@Z=9ñÿ’D’$’$þ&,"8 Z5)Î J… BB Bº.)PîKK "ñÿ’D’$’$FÕFŽK�ªKõ­K"*:1÷ ñÿ’D’$’$ÖT?!ò")À§: *Jþ JKþJ)ÿñÿ’D’$’$8ÇbZýû¥þ¦ÿ?ñÿ"I’$’$*—pB©G…ø1¬8 ¨KS#P¬¦ñÿ¢D’$’$Á~Có€ @úZ:Júì)è " Bñÿ’D’$’$qNŒþ  J :úi!Æÿú;"J† :€ú#ñÿ’D’$’$‡Yš`)‚À‚§ :*K®J®  :;K® :ñÿ’D’$’$C¬¨€úÊ+C¾!�#ŽK :*K® ñÿ’D’$’$¶J® *Kª Ã9û+ ¥ªûñÿ’D’$’$!²Ä :#C :#+Œ+JªL)d ñÿ’D’$’$2WÒ *ªH)I D!Ƭÿ0"K‚*ñÿ’D’$’$ýcà "�þ.J  "‚§" :K‚3!C*ñÿ’D’$’$ǵî "�J#+¥#B‚ ÿ &ñÿ’D’$’$â9ü@‚�‚B*P„ŽJ0 8 ;"@C"ñÿ’D’$’$ס ƒƒC"C*K2S;�ú¿`Y8ñÿ’D’$’$oz` €¶*ª ²*ªñÿ’D’$’$Œû&Jª²úB’*J…*KªB0ñÿ’D’$’$»~4¶Ê2þ3ÂJ*Jª­2J0ñÿ’D’(’$B:úÖ!Æ’ ¨ÿøP# *:V1ñÿ’D’$’$MõP÷Jþ Kú ? ?V 0 ñÿ’D’$’$�™^Kú ? ?K 0 *:¦Cñÿ’D¢$’$KÄl±)È ®)° ‰!ƬÚ0Í@úZ1 "ñÿ’D’$’$CNz €!K†…B›!Ƭÿ0 :+Bªñÿ’D’$”$4òˆ +;½  Zþ†¿Ž)¦ �)Ž ‰!Ƭƒñÿ’D’D’$ßO–0„!ÆP­•0"¬J1— ?ñÿ¤D’D’$wn¤?wûBJR BP…@Âøÿ’D€$y/² ‚0 2B"ñÿ$IП¯ëAG§ì!šš§ì–s›êÁpIûë¡“aÿÿ û_€ýÿ«ß] ôúÿˆ¦Qê ƒ l Fôÿ`Ûiì ì;ÿìCxÿ¦¤Cvÿþ•©ýU<ÿþÿˆ%wÛñÿ’D’$’$:å\91" €]+ ¥"+ ¥ !–ñÿ’D¢D”(egô!PæST,T-UQ,EoIK,LKñÿ¢D”(%ÑJRP,IcUS,SQDR,YUUR,NnED,Qñÿ’H’$’$4K*ÕÿÿS ÿ9 å,P/1–!* 0ñÿ’D’$¶%i—8 !K9*ï !¬ÿ ñÿ’D’$’,yFÿÿ þ°5 ÿ!ï/ ÿ ñÿ’D²$”%Ñ“Tú+ ÿö!äNÿ!à"ÿºñÿ’D’$’$Äob0 H 9½R¢(ÿñáQ­­ñÿ’D’$’$ÒpI ¨GCAe1 Òâ: ½  øÝ9ñÿ’D’$’$̲~öùÿÿÿPq!n1* : ¾ñÿ’D’$’$H²Œj9öƒù)!­&Q8+J+J+ Jñÿ’D’$’$KHšç#¬JP­J!þ`Åß 0" ¨Þ9½ñÿ’D’$’$TÛ¨øç¦ 1Bÿž1…B!‰ñÿ–L’%’$Šl¶>!ƒ2ÿù!: K8 PªPªñÿ’D’$’$ßPÄP²PÒPÒPÒµS/ 3¶S+ ª¬Kñÿ’D¢$b;îYÒ' KÍ« ÿØ]¿`X Añÿ’D’$’$áà¤9¿áAØ9Àï9ÕS SK 1ÞñÿâD’$’$^›îƒù83èQÿ þ¨(Y‰ ¨ñÿ’D’$’$ ü¾»9TSTA =P,IR = ONQ ñÿ’D’$’$I� EUEUA ERAKOIT DON TCAITEVñÿ’D’$’$ì–NIUP TREORRLIOLIGAC LUQUEöÿ’D’$¤ƒ&ERPGON TOF UODNÓÿ$I$I$Eøçì!�?N¡~F{l!Žƒ+l!Ž€–ë¡“®ì�IVì¡HLìAIkì¡IR¿‘P\‹é¡™Öô½áCÿ&ÀÁ?þjt`G±!“GFêÁ”.ýÿ@Ä ºAôÿÿ û_€ýÿaÌg 4“åÿ$R IrµG± “b ì I ì � ¿‘Pª ºAùN ~!+l Žý{l Žþ&ÀÀ?8ôÿ`Ûiì ì;ÿ¦¤CvÿìCxÿýU<ÿýÿ‰®vSñÿbGâ$’$.0¿`X ¨ + 8)3S1ÿñÿE’$’$ˆÛ"!‚‚¿` 0 2 ‚þáÏûûZÿZñÿ’X’$’$±0À8 Yü9P¿Púø1Àö ÷9�¿ñÿ’D’$’$¡ã*�ú�ú|1ö z9¿w1ö ì1 ñÿ’X’$’$Ôš8XIA )’šÀª#§ÀÒÆC)!ƒñÿ’X’Äâ$¨­FÿX�š3ú9 úÀÒ÷ƒ¿`ñÿb[''oãTX M1 ÒQ 8+!ŽK�ýñÿ’D’$’$B†b0! "</IC1+) µ,ö þuK 0 2 Ð-ñÿ’D’$’$}'p : ½2ú*ê9ï í#)�9îñÿ’D’$’$²ã~J©:YQÇ ³A!² A¯!«ù 1ñÿ’D’%’$mÇŒ*Ó!€�JÑT,*) ¨ñÿ’D’„²%øtš ! !¬  Øäÿñÿ’D’$’$ר0Y 83 Ð õQ*K )J…B÷ÿ’D�%]v¶ BÊ ÿÄÿÿÿ@þð’¿ìñÿ’D’$’$ç]ìNIUP TREORRIT DON TOFNUD«!ñÿâD’$’$��ú ‚¯ ­P­3I0Y7 89 Ý1­+I39ñÿ’D’$’$øY Ý2-9 Ý$%9 ú˜9#)´܆õñÿ’D’$’$ýg)SºRúûîRªøÎI çQ9ßñÿ’D’$’$wâ$„) ½î‚)Ï1RÒéSÒRÒæîñÿ’D%”$Ǩ29¬ú,Jø  �€òþcÀ8ñÿ$IgÓë�A¿¡z½l F§À�N»Õºa– ÿÿ û_€ýÿΈ¿trñÿHRý²a¡À�Hë`k Hëà� ìÀ¢ Hë@O ôÿ`ÛiìýU<ÿ¦¤Cvÿ ì;ÿìCxÿûÿ$‰u�‰ÃñÿlG’8’$Üà¿`X " 8+ ¨ *9 ï.F9ñÿ’D’$’$7¦*Àï �B9*ïÀŠ«J9þ&ó*îñÿG”$œ(íJ83)3S1ÿBÿž€ñÿ’X’Ä’$bÌ*8()#À§8+K$)K †C !+ŽñÿGâ$’$•Ä8K*9Àï ¥ì8#î !‚‚¿`ñÿâD’$’8ã‹F 0 2PZ:Z ‚ P‚ ? ÿñÿ’E’$’$t Tÿþ*%ID ø9Z*É9íJ`‚ñÿbG’$â$é b X ‚ 0 2: �2 Ðû:þ Öñÿ’D’$’$Óp ) ¿ùÏ)¨¿)JZï ñÿ’D’Äì(ÔÜ~¿` 0 2PZ:Z"¿`XñÿœXb;’$ÓŒ   ¿`X 0¿` Z  ÿñÿ’D’$’$Oš1ÿX´9ÀŸ 02*ìõPúPúñÿ’D’$’$íǨö«9ç*X¥9À¿ å驨 !ºñÿ’D'’$¨¶Ÿ åâJ�0"•9ÀçP‚£ ¿`õÿþ �b[’8ÀG�ÄX × ä 83@ÒSôÿ I_±›êÁp™ô½áC�Õºa–#b¿A–%ÿÿ û_€ýÿrÖ¿´:÷ÿŠÂD‹é ™ }­ie–ë “ ôÿ`Ûiì ì;ÿ¦¤CvÿìCxÿýU<ÿýÿ‰väñÿlG’$’$ò”¿`X 3" €$*X9å åñÿ’D’$’$U¹T9íG9æBH9¼@þ¾_*G!À�DQE ñÿ’D’$âÄ"h =1 ! ‚  )8ñÿ’D’$%‚=*ÿ6!B5!Bè2"1&1û(Y$9ñÿ’D’$’$r&8 ø…"A"+¥  ¥"+¥ñÿ’D’$’$9CFY; øó9 ú+SJb  9Qñÿ’D’$’$¯ÒTZû1ÿ(ÿÿÿÿÿÿñÿ’D’$’ÄÿubÿÿÿÿüAüIüMü ò9 ø Žþk„ê)…ñÿ’D’$œ$ó©p3µC’S; øøè!è)à9 øñÿâDâ$â$�~3Å •3Í×Y 83 Ð*ñÿ’D’$’$CÓŒK­ JÎ95)JZ#)§BÊI+ ñÿ’D’$’$9všÃ93Ã)ÅÏÁ ­1 J¹9�­ K+ñÿ’Dâ$’$õ¨ ¨ ;¯YËÿÿ+¨1#ñÿ’D’$’$.]¶Ž´ÍüK3�Qòò þ{s¶ñÿ”E’$’$xÄÄÿ�6P" € *2ÿ0*ñÿ’D˜$’$¼^Ò ªJ *‹ª*4!À� 0:­ Jñÿ’Db;’$Bûà ¿`X   "J‚ ºñÿ’D'œ$äî*K…BÀ8S€‚`‚ BúXñÿ’D’8d' «ü19 Q2 Ð"Àç ¥ù)Vüÿ�H· Tÿèÿ$IIYû’zÿÿ û_€ýÿ©çÀ–ôÿ@’Œ¦ZêÀv ¯ëA §ì š §ì– ôÿ`ÛiìýU<ÿ ì;þhÿìCxÿ¦¤Cvÿûÿ$‰Cv'"SñÿG’Ø’$& ¿`X0ý#Y š; ú ªV ñÿ’X’Ø'"/šK0*g9îJB18ñÿ’Dâ$’$<<ÿ1ü#M¿`XüÞ?g¡þ¿`ñÿ’D’$’$] *'Y’2 Ò ª!1 2: å2ñÿ’D’$’$¢ß8 Ðû :@ú@úCúø�ú€ú�úZJñÿ’D’$’$þ~NßœFšK 9Kú`Ó1ûÒ1ùÿ¿`ñÿ[â$œ$”uTX ¿`š+ ª¹0JÕS ñÿ’D’$’$Zb 0 2YI: �2 Ðû) : )ñÿ’D’$’$Ç}p ¿ø )¨¿Z)J  úÿH–¶fÆÁ8Rô½áCÿÿ û_€ýÿb†¾AñÿH’¨Ýì@I ì H ì€I ì I FêÀ” þÜÍôÿ`ÛiìýU<ÿìCxÿ¦¤Cvÿ ì;ÿúÿ$‰@ë5"3<dñÿbG'’$ñ[¿`X +U 8S…*BªJªPƒñÿâX’$’$Ö8CN!üƒBª Cª÷ƒ*Jªƒñÿ’Dì$’Äã\ƒñP†Kªü÷¿`X +2 2P­ñÿ’Dâ$b;e$*¿`9"ç ªäBÿ¿¿`X +ñÿ’Db;œ$Í8! !­ï¿`Xþ¬/ + )JPñÿ’D’$’$ö\F¿`")§è9ç9 ç…B 8 +Jñÿ2G’$’$bAT S°ÿÿ1ÿ1 ÿñÿœD’Ø’$¶Èbÿÿ¿`X +ð ðÀŠ¿`!:Ÿùÿ’D$>spÀ§žZÿÿîÿ$I@É”pÀ¡pc¿¡zb¬¿At›êÁpXô½áC\†¾�”Yÿÿ û_€ýÿ<ᬿ_ôÿ@Rþãñã�¬¿@ Œé ’ ´é ’ lë_ ÷ÿÛÅþ¦¤CvÿìCxÿ ì;ÿüÿ ‰°vñÿbG’$’$Ì®¿`X ò):¿Àª§žZ 8 ;+ñÿG’8b;]ˆ ¨ Ê ÿÿÿ¿`X ¿`óÿ’X’$€8¼˜X 8 I +@ª ª K)ÿ`÷ÿI¬Óë�A$¿¡zpÀ¡pÿÿ û_€ýÿ¤¬D½þÄp–ýÿ€| 退 ôÿ`Ûi즤Cvÿ ì;ÿìCxÿýU<ÿþÿˆxñÿlG’$’$Ñ¿`X + ª) )¿`*Kª! �ñÿ’D’8’$ÕÄ!�ŒJ8)S3S1ÿ0"ñÿ’H’$’$÷ë0ÿ¿!‚‚¿` 0 2Z:Z ª 2ñÿâD’$’8«!*  ÿÿÿ1 0 2P1ÿýÿ€Dк8þ)K1HîÿI@°•pÀ¡p.ï¿n-†¾�”/›êÁpÿô½áC7Õºa–ÿÿ û_€ýÿ‰ÆŸ¿Ôyúÿ�½rçë@” _ëÀy ôÿ`ÛiììCxÿ¦¤Cvÿ ì;ÿýU<ÿþÿˆxõÿbGœ$ yå¿`X ¿`+!ŽK@ÿÿ û_€ýÿ¹ÀoÀÔ~ôÿÀ$ˆŒ+ì@O 2ì@O%ì@Oþ®Œßë “ þÿˆx÷ÿ’D�$ˆª0 "¨§¤ @?dÿÿ û_€ýÿ4Ì”½4vÓÿ$I$‰DI¼†’z<ˆÕº@–_†¾€”'}­À{SÖ� ’ ýU<ô½àCU�€…~ï¿n‚¿ zjpÀ p�b¿@–Õº`–\ì@x#¿ªîÿHR€*ƒÀ€N›ê`o ¦¤@v ì;›êÀp ûë “ þÿ(™×Xþÿ(þ?úÖøÿ"‰€HÝ*ðÏ ® ñÿ’H’$’$£X 0 2ZÒ>O9 ø1 Íÿÿ¿`ñÿ’D’$’$ãû 0 2 Ð 9…* ¿ Â2 ÐúÕñÿ’D’$’$¶/7) ªÓEÈHA0Q: ø*3X!�ñÿ’D’$’$æä*Ç �<1 Ò Zò )K 1 8#)ñÿ’D’$’$á_8 �  "b"`""@"&@*:�úYñÿ’D’$þj`’$^ÕF:X 8 S":2`  0 Zàñÿ¢D’0’$kÙTÿˆ¿`XT *Ó@ÓSK+ ®ñÿ’D’$’$¬ibKò¿` 8 SþI 0)¶)>Yñÿ’D’$’$—EpùQ2 Ð:¿œùð9ð1*KZ0ñÿ’D’$’$è£~êIïÿ+Y 8+JS&Y1 8`ñÿ¢D’$’$9 Œ S�Y 8 ;­ õê; øñÿ’D’$’$³bþo"šúªº*K * 8 K ¨­) ªñÿ’D’$’„Óx¨)Ú´ ÿY 8 ;XCKSÿñÿ’D’$’$K¶C 02œ! — �b C�`C" C& CñÿBF’$È$cöÄÄ 80@ÂC€‚ C#+ß¿`Xñÿ’D’$Â$6ŽÒÜ S)Ä�R _ 83 Ð7*K8+ñÿ’D’$’$sQà@ªJ+JB)À� J™) §#§ÊB ñÿQ’$Â$[šîþ,Êj¿` 8 +• ² : ú˜ ‰ Cúñÿ’D’$’$Ùçüý Zù ê JZ#)"§B‰ 8 +ñÿÂDÂ�˜„ã J S¿`X C18SþÿDƺ"ÿÿ@Ù¾&ñÿ’D’$’$²X&ÿY9ï 0 2 Ð  : í2úûÿ’DWq41Üÿÿ@ƾ9ýÿ€D¹91ÿ÷ÿE6ÉÓë!AµÓëþÔ¿�Aÿ}­iTÿÿ û_€ýÿ½È+¿xýÿ@Ôˆ+¿xþÿ(Ó×þÿ(úÖñÿ’H’$’$ðê 0 2*Zª"*:X8œú:ñÿ’D’$’$1Ú2 !H¯‚`:�úY:2`Õñÿ’D’$’$HÿY8 ú¿` 8 ;CKSñÿ’D’$’$4*òÿZð9(J+Jû@ûZ*þÓÕ ®Jøÿ’D€$Oµ88œúÂH‡‚`ýÿ@’Óë�A+ÿÿ û_€ýÿ¦‚[Ô�ýÿ •ùl Fÿÿÿÿ û_€ýÿr`Ö[´Cýÿ „É}­iÿÿÿÿ û_€ýÿßI\Ô¢ýÿ€7å ìÀ¢ þÿˆxúÿ’D P1 Oÿÿ û_€þæ#ýÿÕ#“š”Aôÿ�$µvÓë€A8Óë`A0Óë@A(Óë A ÿÿ û_€ýÿääY4�ýÿ@ùÈäY �ÿÿ€÷ñÿE’$’$ãªè¿`T¿`R¿`P¿`N¿`L¿`ñÿ’D’$’$ΣJ¿`H¿`F¿`bAbIbQbY°ý\Y>)”ªñÿ’D’$’$ç 8â!æáE8!+ � +CK 3"ñÿ’D’$’$ôÆ*þX*:�ú:2å 83kQ"1Sÿ*H +ñÿ’D’$’$€�8dI1 S+_I0­K`(J)EI_!Añÿ’D’$’$q›FAB9PÔ#GûBÖü¾þ+II7 ýñÿ"E’(’$ ¥T6Ž ¢ öö+1  ó(9ñÿ’D’$’$Ûïb`-Y' ­(I& &)>9¾+# !) P„ñÿ’D’$’$�×pŽ« ó Y !Æñÿ”D%$%²æ~  þ_ã /Bd÷BñÿI¢(’(ÞmŒ�]�€`­ñÿ’D”DÄ06šûøÿ vñÿ’D’$’$ñ¿¨ß!‚ú„ñÚA 0" úß%ÞEJ‚é ñÿ’D’$’$Fs¶Õ Ü%áAÏ1ÒãÕ%úP…Ê9öÿB×%HAñÿ’D’$’$Æ®ÄÛ1ÏQÞ1/KWÓûÈúË)Æ1·9Åñÿ’D’$’$PÒÅŸÓ1öþ÷œú*¾ @Ž1!¼9ñ Ç Ÿæñÿ’D’$’$²ûà€ª/I¶1Æ'A»1³)PÙŸ»—>]Åñÿ’D’$’$îpý²YA±9´1²!8)ZÓž«ü¿` 8ñÿ’D’$’$ü ) KŸ1Sÿ*H™)K`!%@‚ % - 5ñÿ’D’$”$±4  =�Œ‹ŠY =ú   Àñÿ’D’$%Y� 9*Cªú �² !d™ñÿ$I¤H"E¼&uvwxyûþAøÿcÇÖ÷üÿñÿ’D’$’$ݶ4ú=ú1ô!1úö!= Ÿë öñÿ’D’$’DOBá Q*MW P…AéE^á *ñÿ¤HE"%¸PQ÷vz úÓ ú= uBö5ñÿ’D’$’$›v^Î)úÓ!JÒÈ *Ž�ÒÅ ë9I#æ) •ñÿ’D’$’$¯l/ �àYûøÂÛ9SP…C$Ý! Añÿ’D’$’$=�z 1×9Þ+Ò! �Ö þ¡øÍ91¥)ñÿ’D’$’$«*ˆ¨!‚ ¶Ÿ Þ3Á! •𠢬ŸAñÿ’D%’$%ï–º!Cû«ý8Y !1‚1 ñÿ"E’D’$‰Œ¤^8Ó…ú]AY)ð ,…úWAñÿ’D’$’$¡Á²S)2 &…úQAM)  YI 9�ªÞñÿ’D¤$’HÂÀ ) !’ªÀ‚  ÀÀde01×YñÿE’$”$8ÎÎ< ù Ó3)@ª‘ª0)…úþ¿{0Aô ^ñÿ’D’$’$=lÜ1…ú)A%! ø1ù¿Y!�ÿ§ñÿ’D’$’$ÈêÀÏ.A ,) µ¸QG¶1)µŠÝñÿ$II")¬ø�Í冻ŽQ…„eâáûñÿ’D"E’$ ùÿˆ ]â! Y À‚ ñÿ¤D”D’D3à ONeŽçã=�Õâ-ñÿ’D’$’$~}"P„ª¬ŽÞ ß1ÞÙ]ÛY9×5P…þj •Õ ñÿ’D’D’$nÓ0@Ö@ÒÐ=õóP„äAý ýÌ!Î)Ü5ÚÌ1ñÿ’D’$’$k>Ø]ªBÆYÌ Å1ËÓ!Ž…ÐAºIñÿE’$’$‚L¾ ½!Á Ë!C‚„ „´AÁE¯1²Q"¬Añÿ’D’$’$¾Z€‚ÀAC‚• …½E­E~A~A~A…~A~A…ñÿ’D’$”(#+h}A}A}A£A}AÇE|E|EW e -kñÿ’D’$’$›Bvr1Žr%‚¶ Ò?Š1z9íδj)j9þÔñÿ’D’$’$�%„©`_1Þf!”æ…ÿ;æ«þ�Ê�ªñÿ’D’$¢$ÿm’X9ö¾+¦CG!G) ŽÕR Œ ñÿ’D’$’$½d FAb ?QÍL)‚K):1¶2H!Q* ñÿ’D’$’$úm®…1A5A-½2!* �ø¦-A¶+!ñÿ’D’$’(_{¼R‚> S‚R‚; ©1I¤"A[Y ñÿ’D’$’$¹;Ê1*)*1¬¥ •(!•1 9A3*ñÿþQ:’D%’$®YØJª�Óúñÿ’D¢HIÑæöÿ‰Š%z�doñÿ’D’$%bDô}$ !1Õ! ýBU?ñÿ"I’$’$ïPeqUQã!‚ó Ý!à-è9 ¾¾ì ñÿ’D¢$’$Ü9ªÏ)Í1 ¶Ù Œ ÍAÐ- 1µT ñÿ’D’$’$$èÃQÇ!Ã9úØ @ç41*KªÐ Òñÿ¢D’$þŠ›’$NF,. ÷ ³)³1JÒ�Ò¦­AÍEL)!1ñÿ’D’$’$Öt:­µ§!H1£)¶2Ÿ9ö2ʶ ú’ªñÿ’D’$’$Œ;HP‚ý•–)úØ$Ÿ ’YŽ�I°M‚ñÿ’D’(’$ñ¯Væ1ü�ÀØ Ý�  øK‚ˆ$¿ñÿ’D’D’$/Ëd— Ç-êâ-¥ˆŠ ¿� PýõPÕñÿ’D’$’$Í@rB‚ÓB‚B‚ÓC‚ýÓÓ )§ñÿ’DI%Úþd€Ó ¥Ó-{ 8ªû6ÿ…ñÿ’D’$’$x„ŽsE„…qAqYp=ooY�ýnYn9nYnIe%ñÿ’D’$’$R÷œe-l1 µ8d1ÿ"“‚�‚�‚q­]1þ"_ƒñÿ’D’$’$ªYû ª;Uý*Kª­QóU9Š‚Mñÿ’D’$’$� ¸‚‚0‚‚LYK)Ч+€‚‚‚ C9þ*D!¥ñÿ’D’$’$ UÆåDQå� : ¸Ù!Ñ H)ñÿ’D’$’$׫ÞÖ1E9ÅÏç�ªBIŠB ?)D Òª@-ñÿ”D’$’DÊPìŽÌ 3 Ê: ý ¬À,  Á ñÿ”H%’(úôõ °€ ³@õ ¬À  ñÿ’D’$’$â#$ î®­5¨)Ï’Ò�ªü!‚‚+ Iñÿ’D’$”$+�!§‚ Y ë" 9dñÿ’D$I’$Ó1$ÿ6Öe ]þ¥C+-@#=ñÿ’D’$’$Oj2 , $!/'_^<%;ñÿ’D$)$I/0@:&?*Ñÿÿ,©78ddñÿ$I$I$IånN«ª}¯5û‚†ÜÕµãÒñÿ’D’$’$— \ÿÿ…ú‘ü1=-2A2YK‚ä&-!*E+%ñÿ’D”$’$øj%1%)� µ $) ° % !)ñÿ’D”$’$¼gx 9îIM¤ì ^úþ¶â=YPýñÿ”D"I$%MO†Y…`òˆû eÿÿ@iº–ñÿ’D’$’$uÓ–5ùÒ 5 )´ï 9ÿ"çäÿBê ñÿ$E’(’$g:¤ÜóŒ ïÿ€…þE÷¿` 85S %ñÿ’D’$$)>'² C -Kšÿ"@)K›œ�¿ ñÿ’D’$’$thÀCETMWLQABDFNYRñÿ’D’$”$èèÎVJSKP=þ|²:_;'&?ÿÿu€ñÿ$I$I$IîyÜ›€œ€�…�…�€5:]…®§�胩­ñÿ$I$I’H�€ê�…]–¹ðððððððÿÿñÿ’D¤$$I„>øQQQQQQQñÿ’H’$’DƺQ?f?f?f?f?f?f?f?f   ñÿE”$’HP  P…`‚•�Uˆù�ŠR5Ò'ñÿ’D’$’$¬œ"T5Ò$M9 å! þ0BÀ‚QE N5–ñÿ’D’$’$X¶0LUH @) ¥D  Ò?UY …> 95)ñÿ’D’$’$}ô> ¥ ‚ ‚…õ.5Ò,1ñÿ’D’$%'L Å *5 Ò# …"E%(E$ $ -# ñÿ’H’$’$hôZv!ZŽE%R‚ S‚R‚  5PÒÆñÿ’D”D"EËûh¤Ep€Ò Uýç‰"ûéñÿ¤HI”$$9vó.ÇÖæ…úEþ¤% ^ñÿI’$’$.΄YÀ‚ À‚ Y5—-Ìñÿ’D’$’$-á’)´  AÊ! ! !ñÿ”D"E”$j( $s`e]<>„ „Tñÿ’D’$’$y‘®ú8 4!U U  f R /!O O  O1ñÿ’D’$’H ¶¼_ K K!H H  H1R 8HYH1~gñÿ’D’$’$vƒÊÿ}tCBYB1~gÿýt=xYó 51þ{~gÿñÿ’D’$’$êØ½`~gÿ}tñ nnY~gÿ¾a(1BhFñÿ’D’$’$MÒæTg% ‚Ü ú!  Ù , Ô”‚ Ó ñÿ’D’$’$[žôò!  Ü 1" Ê ‚S”‚QÇ ! öÿ’D)„( Û 1 ¾edS ÿÿ@ð¸ýÿEá¬ÿÿ@ê¸ñÿ’D’$’$–m;Y3!/AP­1I5Y-!)A5!+APÒ0Q ñÿ’Dþój’$’$zg#%A�‚�‚�‚�‚)§*1–"Ú !)§ñÿ’D’$’$/Å1#1–"Ó 1ÓéÏ ! Aäñÿ’D’$’$™ž?)�Ò" ‚À‚§ñÿ"I¢$’$…UM^ûÿU012345ñÿ’D’$$)�E[6789ABCDEF�  —ñÿ$I$I$I•²i›—     “   ž  ñÿ$I$I$IþÂþܹw    º¼ÁÅÊÎÑ¿×Óñÿ$I$%’H …üôðpp�¤¦ZOCñÿ’D’$’$Ãg“LRSÿÿSCPÿÿBDÿÿZNÿÿñÿ’D’$’$öf¡#ÿÿ@ÿÿ 0@€Àÿÿ@€Àñÿ’D’$’$æÞ¯ÿÿ€ÿÿ@ÿÿÿÿÿÿÿÿ‡ñÿ’D’$’$•ó½`ÿ`ÿgñÿ’D’$’$�ƒËþx?g?g??ñÿ’D’$’$s;ÙoU{”\âZ®�(ñÿ’D’$’$U¡ç CÀ) IÀ ½³ IÀCÀñÿ’D’$’$A‚õüºíº¹ ¹ñÿ’D’$’$#í¢¸¼·8·‡ŽH†ñÿ’D’$’$ÒþF…$º„ýFƒ�z‚È“ñÿ’D’$’$:ž€þ:—?U�i˜g¢¸fu[?f–ñÿ’D’$’$Å*-Nr¿eÀ”Äze…Z?d}]”dt[?cñÿ’D’$’$Â%;7žzc„Zbs[?a Ic±aƒZñÿ’D’$’$èI`™¿` Ižz`Nžz@û¹ ñÿ’D’$’$WÔW»‹,\l{¤�²€ñÿ’D’$’$=Øe`Ldéàoé`y¯ësçê`L<éñÿ’D’$’$aWsà’¶ëþÖØŒƒé LºéÀbPê xñÿ’D’$’$Ð�¾ë à’¯ë ™´é:dé`[õéñÿ’D’$’$¶]�`[]ë`oé`uçê!€Ué# Rºéñÿ’D’$’$É,�- >ºéàƒ¹ë*@€öê@€HëÀ:ñÿ’D’$’$hC«ZéÀ:ê <®ë <„ìàƒéñÿ’D’$’$T¹NBë €^é‘®ën®ëŒ®ëñÿ’D’$’$<ÔÇ‘„ìn„ìþÍ«Œ„ì qHë&`Hñÿ’D’$’$Õöê' €âë( €ê)àƒ±é+`oZé,ñÿ’D’$’$}LãÀ”Zé.`G2ì"€�úé"ÀC�é"ÀC¿ëñÿ’D’$’$URñ"À~ê"À~æë"`;Öë"`;öé"Mñÿ’D’$’$e°ÿFê"wTê "Àkâë "`Gâë "`Lâë "ñÿ’D’$’$Èr €:bé"€bVé" zÃê"c³é"€böéñÿ’D’$’$/# "`“ëë"`[uì"vþÊ.Eê"àC„ì"àCñÿ’D’$’$Ùæ) ®ë" b6ë"À>7ë"À>é" b~é"ñÿ’D’$’$èð7 @€®ë"@€„ì"`tæë"bõé"à€õéñÿ’D’$’$DSE "À:æë!"€q¥é%"ÀyÑé&"àMÿé'"àMñÿ’D’$’$1mS ßë("À€9é)"€bæê*"]õé+" z.ì,"ñÿ’D’$’$c�a €…„ì-"€L„ì." ²ê/"@�Hë0" —éñÿ’D’$’$¹Åo 1"`Bÿé2"`C×ë3"€™-ê4"þ6: ™-ê5" •ñÿ’D’$’$R} ®ë6"àMWì7"Àƒãê8"ì9"€ì:"ñÿ¢D’$’$-‹ `—Pê¯ ¿` 0 2*Zª "*:X:öÿ’D’$j™ �úY:2`ý!ÿÿ@P¶¯ ñÿ’D’$’$‹#¯ ¿`Y 8 ;CKS1(KK*KÓñÿ’D’$’$$c½ @ÓS+ ®KòOCYPIRHG(T)Cñÿ’D’$’$fpË GD,C91271,79,391471,þ@79A5LLR ÷ÿ’D�$-kÙ GITH SERESVRDEÿÿ û_€ öÿÿPLCNAK.ûËËþEAÿT28.ûÐ92þ—');} MOVESRT := 8-POSITION MOD 8; POSITION := POSITION + MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); END; {OUTPUT TAB} BEGIN POSITION := 1; WITH LINE DO BEGIN FOR I := 1 TO LEN DO þ¿8BEGIN IF STR[I] IN [' '..']'] THEN BEGIN { WRITE(' <',LINE.STR[I],'>');} PCHAR(ORD(STR[I])); POSITION := POSITION+1; END ELSE CASE ORD(STR[I]) OF {TAB} 9 : OUTPUTTAB(POSITION); {CR} 13 : PCHAR(13) END{CASE} END;{FOR DO} END;{WITHþ.} END;{WRITE STRING} ÿCONSOLE.MCûqr þœömCHATR CONSOLE.PA 0 CHATR CONSOLE.PX 0 DELETE/V CONSOLE.PA XFER CONSOLE CONSOLE.PA/R PASINTERP PASCALO/S/V CONSOLE CHATR CONSOLE.PA *WP CHATR CONSOLE.PX *WP ÿALMSPD.RBû;;*þúýÿa#GHT”Óÿ’$’$’$ú{GH€#ÿÿGH`#ÿÿGH@#ÿÿGH #ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ÿÿÓÿ’$’$’$òGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿÓÿ’$’$’$ú\GH€ÿÿGH`ÿÿGH@ÿÿGH þÜPfÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ ÿÿÓÿ’$’$’$ÓGH ÿÿGH ÿÿGHà ÿÿGHÀ ÿÿGH  ÿÿGH€ ÿÿGH` ÿÿGH@ ÿÿGH ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿôÿ�$!¥GH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿÿÿ û_€ÿINTERPOK.PXû?? 8þRINTERPOK Copyright (C) 1980 Rational Dataþ„é Systems¼  8% þŸ~ÖÆÆ?ÏÖÆ¦OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥®€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ Jü,ü ?ÏÖÆ¦þo)OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥®€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ JÿT38.ûÜÒþ k(* T38 SUBSTRING TESTER*) PROGRAM T38 (INPUT,OUTPUT); TYPE STRING = ARRAY[1..10] OF INTEGER; VAR OUT,NBYTESREAD,ERROR,NBROTE,ST1S,ST1F,ST2S,ST2F,TTI,TTO : INTEGER; STRING2,STRING1 : STRING; PROCEDURE RDLI (CHANNEL:INTEGER; VAR BUFFER:STRING; VAþÒÅR NBYTESREAD:INTEGER; VAR ERROR:INTEGER);EXTERNAL; PROCEDURE SUBSTR(VAR ST1:STRING;ST1S:INTEGER;ST1F:INTEGER; VAR ST2:STRING;ST2S:INTEGER;MAXBYTE:INTEGER);EXTERNAL; PROCEDURE WRSQ(CHANNEL:INTEGER VAR BUFFER:STRING; NBYTES:INTEGER; VAR NBWROTE:þcyINTEGER; VAR ERROR:INTEGER);EXTERNAL; BEGIN WRITELN(OUTPUT,' ENTER STRING'); RDLI (1,STRING1,NBYTESREAD,ERROR); WRITELN(OUTPUT,' NBYTES=',NBYTESREAD); SUBSTR(STRING1,0,NBYTESREAD,STRING2,0,19); IF NBYTESREAD < 20 THEN OUT := NBYTESREAD ELSE OUT :þR…†= 20; WRITELN(OUTPUT); WRSQ(2,STRING2,OUT,NBROTE,ERROR); WRITELN(OUTPUT); END. ÿPRETTY.PAû½Ü 'þ…ô(*************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUþ:‘SETTS, AMHERST - AUGUST, 1976 (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. þ"õINDICATED BY <<< . MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMþ(ATS THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THþ'·EY MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS Pþ‰ëRETTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. **********************************************************************þiD**** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. Tþ ^HE USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINþ¯òES. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COþüMMENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFOREþN/ AND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "Vþ£µAR" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE þIˆINDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** ***þ�·************************************************************************* GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENþ„RDENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR THE SYMBOL BEING SCþ_ANNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTOþâ= A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND þGINVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESSþ4# ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESþ’üS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THþpäERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIþHIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THEþ-É SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAþù¸T CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF Aþ© CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANKþm­ LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS þÏúNOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] þJ` SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBþˆ´YTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. **************************þM*************************************************** *) PROGRAM PRETTYPRINT ( (* FROM *) INPUT, (* TO *) OUTPUT ); CONST MAXSYMBOLSSIZE = 200; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A*) (* SYMBOL SCANNED BY THE LEXICAL SCANNER. *) MAXSTACþ,¥KSIZE = 100; (* THE MAXIMUM NUMBER OF SYMBOLS CAUSING *) (* INDENTATION THAT MAY BE STACKED. *) MAXKEYLENGTH = 10; (* THE MAXIMUM LENGTH (IN CHARACTERS) OF A *)  (* PASCAL RESERVED KEYWORD. *) MAXLINESIZE = 72; (* THE MAXIMUM SIZE þ8ü(IN CHARACTERS) OF A *) (* LINE OUTPUT BY THE PRETTYPRINTER. *) SLOFAIL1 = 30; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; (* UPþŠØ TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT2". BEYOND *) (* THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOþ L = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOþýÇSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, þ — CRAFTER ); OPTIONSET = SET OF OPTION KEYSYMSET = SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; Kþº�EY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAR; KEYWORDTABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; Sþ¶ GLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OF CHAR; STRING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO þ�’= ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLANK, QUOTE, ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTAþåÀCK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRY; VAR RECORDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTþ;ABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBOLSTACK; TOP, STARTPOS, (*STARTING POSITION OF LAST SYMBOL WRITTEN <<< *) CURRLINEPOS, CURRMARGIN : INTEGER; PROCEDURE GETCHAR ( (* FROM INPUT *) (* UPDATING *) VAR NEXTCHAR : CHARINFO; (* RETURþ‚ýNING *) VAR CURRCHAR : CHARINFO ); BEGIN (* GETCHAR *) CURRCHAR := NEXTCHAR; WITH NEXTCHAR DO BEGIN IF EOF(INPUT) THEN NAME := FILEMARK ELSE IF EOLN(INPUT) THEN NAME := ENDOFLINE ELSE IF INPUT^IN ['A'..'Z'] THEN NAME := DIGIT ELSE þ"KIF INPUT^IN ['O'..'9'] THEN NAME := DIGIT ELSE IF INPUT^= '''' THEN NAME := QUOTE ELSE IF INPUT^= SPACE THEN NAME := BLANK ELSE NAME := OTHERCHAR; IF NAME IN [ FILEMARK, ENDOFLINE ] THEN VALU := SPACE ELSE VALU := INPUT^; IF NAMEþh$ <> FILEMARK THEN GET(INPUT) END (*WITH*) END; (* GETCHAR *) PROCEDURE STORENEXTCHAR (* FROM INPUT *) (* UPDATING *) VAR LENGTH : INTEGER; VAR CURRCHAR, NEXTCHAR : CHARINFO; :( PLACING IN *) VAR VALU : STRING ); BEGIN (* þS°STORENEXTCHAR *) GETCHAR( (* FROM INPUT *) (* UPDATING *) NEXTCHAR,  (* RETURNING *) CURRCHAR ); IF LENGTH < MAXSYMBOLSIZE THEN BEGIN LENGTH := LENGTH + 1; VALU [LENGTH] := CURRCHAR.VALU END END; (*STORENEXTCHAR *) þˆq PROCEDURE SKIPSPACES ( (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR SPACESBEFORE, CRSBEFORE : INTEGER ); BEGIN (* SKIPSPACES *) SPACESBEFORE := 0; CRSBEFORE := 0; WHILE NEXTCHAR.NAME IN [ BLANK, Eþa�NDOFLINE ] DO BEGIN GETCHAR( (* FROM INPUT *) (* UPDATING *) NEXTCHAR, :( RETURNING *) CURRCHAR ); CASE CURRCHAR.NAME OF BLANK, : SPACESBEFORE := SPACESBEFORE+1; ENDOFLINE : BEGIN CRSBEFORE := CRSBEFORE+1; SPACESBEFORE := 0 END Eþ" ND (* CASE *) END (* WHILE *) END; (* SKIPSPACES *) PROCEDURE GETCOMMENT ( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEþÔkGIN (* GET COMMENT *) NAME := OPENCOMMENT; WHILE NOT ( ((CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')')) OR (NEXTCHAR.NAME = ENDOFLINE) OR (NEXTCHAR.NAME = FILEMARK)) DO STORENEXTCHAR ( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHþð´AR, NEXTCHAR, (* IN *) VALU ); IF (CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')') THEN BEGIN STOENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, :( IN *) VALU ); NAME := CLOSECOþò¡MMENT END; (* GETCOMMENT *) FUNCTION IDTYPE( (* OF *) VALU : STRING; (* USING *) LENGTH : INTEGER ) (* RETURNING *) : KEYSYMBOL; VAR I: INTEGER; (* TED, THIS NEXT SECTION ARE SMALL I';S - JG *) KEYVALU: KEY; HIT: BOOLEAN;þå THISKEY: KEYSYMBOL; BEGIN (* IDTYPE *) IDTYPE := OTHERSYM; IF LENGTH <= MAXKEYLENGTH THEN BEGIN FOR I := 1 TO LENGTH DO KEYVALU [I] := VALU [I]; FOR I := LENGTH+1 TO MAXKEYLENGTH DO KEYVALU [I] := SPACE; THISKEY := PROGSYM; HIT :þ‹[= FALSE; WHILE NOT(HIT OR (THISKEY = SUCC(UNTILSYM))) DO IF KEYVALU = KEYWORD [THISKEY] THEN HIT := TRUE ELSE THISKEY := SUCC(THISKEY); IF HIT THEN IDTYPE := THISKEY END; END; (* IDTYPE *) PROCEDURE GETIDENTIFIER ( (* FROM INPUT *) þË~ (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; :( RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETIDENTIFIER *) WHILE NEXTCHAR.NAME IN [ LETTER,DIGIT ] DO STORENEXTCHAR( (* FROM Iþ LNPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := IDTYPE( (* OF *) VALU, (* USING *) LENGTH ); IF NAME IN [ RECORDSYM, CASESYM, ENDSYM ] THEN CASE NAME OF RECORDSYM : RECORDSEEN := TRUE; CASESYM þ' : IF RECORDSEEN THEN NAME := CASEVARSYM; ENDSYM : RECORDSEEN := FALSE END (* CASE *) END; (* GETIDENTIFIER *) PROCEDURE GETNUMBER( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYþ]'MBOL; VAR VALU  : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETNUMBER *) WHILE NEXTCHAR.NAME = DIGIT DO STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := OTHERSYM þ1END; (* GETNUMBER *) PROCEDURE GETCHARLITERAL( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETCHARLITERAL *) þì´ WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( (*FROM INPUT *) (* þXºUPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ) END; NAME := OþLTHERSYM END; (* GETCHARLITERAL *) FUNCTION CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR : CHARINFO ) (* RETURNING *) : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN (* CHARTYPE *) NEXTTWOCHþqrARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR); BEGIN (þ†þ* GETCHARLITERAL *) WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( (*þ ×FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR,  (* IN *) VALU )þ}n END; NAME := OTHERSYM END; (* GETCHARLITERAL *) FUNCTION CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR : CHARINFO ) (* RETURNING *) : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN (* CHAþÆ�RTYPE *) NEXTTWOCHARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(þNTHISCHAR); IF NOT HIT THEN BEGIN THISCHAR := SEMICOLON; WHILE NOT(HIT OR (PRED(THISCHAR) = PERIOD)) DO IF CURRCHAR.VALU = SGLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR) END; IF HIT THEN CHARTYPE := THISCHAR ELSE Cþ­×HARTYPE := OTHERSYM END; (* CHARTYPE *) PROCEDURE GETSPCIALCHAR( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING*) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGINþv (* GETSPCIALCHAR *) STOENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR ); IF NAME IN DBLCHARS THEN STORENEXTCHAR( (* FROM INPUT *) þv (* UPDATING *) LENGTH, CURRCHAR NEXTCHAR, (* IN *) VALU ) END; (* GETSPECIALCHAR *) PROCEDURE GETNEXTSYMBOL( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYMBOL; þgCVAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETNEXTSYMBOL *) CASE NEXTCHAR.NAME OF LETTER : GETIDENTIFIER( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); DIþÛ9GIT : GETNUMBER( (* FROM INPUT *) (* UPDATING *) CURRCHAR NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); QUOTE : GETCHARLITERAL( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, þ¨© VALU LENGTH ); OTHERCHAR : BEGIN GETSPECIALCHAR( *)_( FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); IF NAME = OPENCOMMENT THEN GETCOMMENT( (* FROM INPUT *) (* þÕUPDATING *) CURRCHAR, NEXTCHAR, NAME, VALU, LENGTH ) END; FILEMARK : NAME := ENDOFFILE END (* CASE *) END; (* GETNEXTSYMBOL *) PROCEDURE GETSYMBOL( (* FROM INPUT *) (* UPDATING *) VAR NEXT SYM : SYMBOLINFO; (* RETURþüNING *) VAR CURRSYM : SYMBOLINFO ); VAR DUMMY: SYMBOLINFO; BEGIN (* GETSYMBOL *) DUMMY := CURRSYM; CURRSYM := NEXTSYM; NEXTSYM := DUMMY ; WITH NEXTSYM^ DO BEGIN SKIPSPACES( (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *þAu) SPACESBEFORE, CRSBEFORE ); LENGTH := 0; IF CURRSYM^.NAME = OPEN COMMENT THEN GETCOMMENT( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ) END (* WITH *) END; (* GETSþ sYMBOL *) PROCEDURE INITIALIZE( (* RETURNING *) VAR TOPOFSTACK : INTEGER; VAR CURRLINEPOS, CURRMARGIN : INTEGER; VAR KEYWORD : KEYWORDTABLE; VAR DBLCHARS : DBLCHRSET; VAR DBLCHAR : DBLCHARTABLE; VAR SGLCHAR : SGLCHARTABLE; þ*( VAR RECORDSEEN : BOOLEAN; VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR CURRSYM, NEXTSYM : SYMBOLINFO; VAR PPOPTION : OPTIONTABLE  ); BEGIN (* INITIALIZE *) LINELIMIT(OUTPUT,MAXINT); TOPOFSTACK := 0; CURRLINEPOS := 0UEH10Tþ5GIN := 0; KEYWORD [ PROGSYM ] := 'PROGRAM '; KEYWORD [ FUNCSYM ] := 'FUNCTION '; KEYWORD [ PROCSYM ] := 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL '; KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEþ‚YWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BEGIkv'; CURRMARGIN := 0; KEYWORD [ PROGSYM ] := 'PROGRAM ';  KEYWORD [ FUNCSYM ] := 'FUNCTION '; KEYWORD [ PROCSYM ] := 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL ';þˉ KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEYWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BEGIN '; KEYWORD [ REPEATSYM ] := 'REPEAT '; KEYWORD [ RECORDSYM ] := 'RECORD '; KEYWORD [ CASESYM ] := þZÑ'CASE '; KEYWORD [ CASEVARSYM ] := 'CASE '; KEYWORD [ OFSYM ] := 'OF '; KEYWORD [ FORSYM ] := 'FOR '; KEYWORD [ WHILESYM ] := 'WHILE '; KEYWORD [ WITHSYM ] := 'WITH '; KEYWORD [ DOSYM ] := 'DO '; KEYWORD [ IFSYM ] := 'þNIF '; KEYWORD [ THENSYM ] := 'THEN '; KEYWORD [ ELSESYM ] := 'ELSE '; KEYWORD [ ENDSYM ] := 'END '; KEYWORD [ UNTILSYM ] := 'UNTIL '; DBLCHARS := [ BECOMES, OPENCOMMENT ]; DBLCHAR [ BECOMES ] := ':='; DBLCHAR [ OPENCOMMENT ] :þyI= '(*'; SGLCHAR [ SEMICOLON ] := ';'; SGLCHAR [ COLON ] := ':'; SGLCHAR [ EQUALS ] := '='; SGLCHAR [ OPENPAREN ] := '('; SGLCHAR [ CLOSEPAREN ] := ')'; SGLCHAR [ PERIOD ] := '.'; RECORDSEEN := FALSE; GETCHART( (* FROM INPUT þ÷8*) (* UPDATING *) NEXTCHAR, (* RETURNING *) CURRCHAR ); NEW(CURRSYM); NEW(NEXTSYM); GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [ PROGSYM ] DO BEGIN OPTIONSSELECTED := [BLþË›ANKLINEBEFORE; SPACEAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ FUNCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSþÊTSYM TAPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PROCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM, VARSYMþp¦ ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ LABELSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, SPACEAFTER, IDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CONSTSYM ] DO BEGIN OPþŸ TIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ TYPESYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDEþÃ�NTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM, CONSTSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ VARSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENþ1ïTTOCLP ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ BEGINSYM ] DO BEGIN OPTIONSSELECTED := [DINDENTONKEYS, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ LABELSYMþe, CONSTSYM, TYPESYM, VARSYM ]; GOBBLETERMINATORS  := [] END; WITH PPOPTION [ REPEATSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ RECþ»LORDSYM ] DO BEGIN OPTIONSSELECTED := [ IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CASESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAþXFTER ]; DINDENTSYMBOLS := [] GOBBLETERMINATORS := [ OFSYM ] END; WITH PPOPTION [ CASEVARSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS þ‘} := [ OFSYM ] END; WITH PPOPTION [ OFSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; WITH PPOPTION [ FORSYM ] DO BEGIN OPTIONSSELECTED := SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS þ”® := []; GOBBLETERMINATORS := [ DOSYM ] END; WITH PPOPTION [ WHILESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; WITþ6sH PPOPTION [ WITHSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; þ) WITH PPOPTION [ DOSYM ] DO  BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLþo­ESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WþƒNITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN þŠEOPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] ENDþ[Ÿ; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYþ0-M, COLON, EQUALS ]; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; þ®D GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMþµMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS :=þ^ [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; þ#Ç GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ DOSYM ] DO BEGIN OPTIONSSELþáECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS þºà := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELþY ECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENþ¿TONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIþ€HONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORSþXê := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ ENDSYM, UNTILSYþÿíM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUþ3õPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYMþ6Û, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTþœAION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OPENPAREN ] DO BEGIN OPTIONSSELECTED := [ GOBBLESYMBOLS ]; DINDENTþ*ISYMBOLS := []; GOBBLETERMINATORS := [ CLOSEPAREN] END; WITH PPOPTION [ CLOSEPAREN ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PERIOD ] DO BEGIN OPTIONSSELCTED þqí := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDOFFILE ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OTHERSYM ] DO BEGIN OþPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMNATORS := [] END END; (* INITIALIZE *) FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE þM 0 THEþñGN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; (* WRITECRS *)  PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTEþ2&R *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INSERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO þ»(* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( Tþƒ#WICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* þÌINSERTBLANKLINE *) PROCEDURE 1SHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFTON *) IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PRþ ÚEVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) ENþc¹D END; (* 1SHIFTON *) PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END;þ{ó (* 1SHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBþ(—OL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER; (* FROM *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) );þ§~ VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPOS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SþÎ{YMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER  (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I)þÓø STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *). CURRLINEPOS := CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); COþÑ÷NST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENþ!ÿCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGINþüy + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS, (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRIþp–NTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* þÏzUP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DOþ²¦ BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) 1SHIFT END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYþ»NM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *). IF STARTPOS > CURRMARGIN (* <<< *). THEN þÙ; (* <<< *). CURRMARGIN := STARTPOS; (* <<< *). IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDþQ ENDOFFILE) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM,  (* Rþ®øETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSEþßl END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELþh×ECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USINþÿzG *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( (* USING *) CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEþ ¿N GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRSYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (* WITH *) END; (* WHILE *) IF CRPENDING THEN WRIþO¥TELN(OUTPUT) END. FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; (* STACKEMPTY *) FUNCTION STACKFULL (* RETURNING *) : BOOLEAN; BEGIN (* STACKFULL *)þqß IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; (* STACKFULL *) PROCEDURE POPSTACK( (* RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN (* POPSTACK *) IF NOT STACKEMPTY THEN BEGINþƒ• INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP - 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; (* POPSTACK *) PROCEDURE PUSHSTACK( (* USING *) INDENTSYMBOL : KþœåEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN (* PUSHSTACK *) TOP := TOP + 1 STACK[TOP].INDENTSYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; (* PUSHSTACK *) PROCEDURE WRITECRS( (* USING *) NUMBEROFCRS : INTEGER; (* UPþŒDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED THIS IS SMALL I) BEGIN (* WRITECRS *) IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 þ:à END END; (* WRITECRS *) PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTER *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS þ (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INSERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *)þ>‘ IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( TWICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE :þrÒ= 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* INSERTBLANKLINE *) PROCEDURE 1SHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INþ°…DENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFTON *) IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL Nþ¨=OT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) END END; (* 1SHIFTON *) PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INþ6TEGER; BEGIN (* 1SHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; (* 1SHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITINþ}ŒG TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END þö› END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER; (* FROM *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO þçwNEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPOS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SYMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); þðé VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *). CURRLINEPOS þ€::= CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN þ WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS þë†:= CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEþ9N NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS, (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRINTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) þ›) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLþäBINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRþ°®SYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) 1SHIFT END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSþ€ÂYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *). IF STARTPOS > CURRMARGIN (* <<< *). THEN (* <<< *). CURRMARGIN := STARTPOS; þÃÆ (* <<< *). IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; (* RSHIFT *) PROCEDURE RSHIFTTOCLP; BEGIN (* RSHIFTTOCLP *) IF NOT STACKþÙtFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; (* RSHIFTTOCLP *) BEGIN (* PRETTYPRINT *) INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, þ]´ CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(þ3ÒCRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) Cþ”$URRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRþ„âSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHþRšIFT( (* USING *) CURRSYM^.NAME );  IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRþ¶Ÿ8SYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (* WITH *) END; (* WHILE *) IF CRPENDING THEN WRITELN(OUTPUT) END. ÿCBOOK.PAûŽŽ þMjPROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK,ERRORENTRY); FIELD = RECORD KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE IþdÎNTEGER OF 1 : (IMREAL : REAL); 2 : (IMINT : INTEGER); 3 : (IMSTR : STRING[10]) END;{RECORD} VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOþí£UNT : REAL; ENTRY : ENTRYTYPES; LOGFILE,OUTFILE,INFILE : TEXT;  NEXTFIELD : FIELD; NFIELD,CATEGORY : INTEGER; N : ARRAY [4..7] OF INTEGER; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} {$I GETFIELD.PI} PROCEDURE ERROR; BEGIN WRITELN(OUTFILE,þ WORDS SUB 1,0,SNR ;MAþy+TCH WITH CALL? JMP @PCUPA ;YES -- GO DO IT CXERR: JSR @P4ER ;ERROR 412 ENT3C: 61003 PCUPA: PCUP ASMLV: LDA 3,SP ;CURRENT TOP OF STACK LDA 0,KM6 ADD 3,0 ;DIMINISH BY HOUSEKEEPING AREA SUB 1,0 ;AND BY # OF PARAM WORDS STA 0,SPOP ;TO GET PREVIOUSþ€× TOP-OF-STACK INC 0,0 ;SLOT ABOVE IS FUNCTION VALUE JMP 0,2 ;ENTER PROCEDURE KM6: -6 SPOP: .-. ;EXIT FROM MACHINE LEVEL BACK TO P-CODE ;BY EXECUTING (PSEUDOINSTRUCTION) "XPRET" ;WITH AC1 = 0 FOR PROCEDURE, 1 FOR INTEGER FUNCTION, ; 2 FOR REALþÕˆ„ FUNCTION. .ZREL XPRET = JMP @. XXPR .NREL XXPR: LDA 2,SPOP ;GET PREVIOUS STACK TOP ADD 1,2 ;INCREASE BY RETURN VALUE IF ANY STA 2,SP ;SET STACK POINTER JMP @P4IX ;GO BACK TO INTERPRETER .END ;OF P4 MOD ÿT17.ûŽ/2þ¾]PROGRAM T17(INPUT,OUTPUT); VAR CHR : ARRAY [1..80] OF CHAR; X,Y,Z : REAL; IPEN,I,J : INTEGER; TESTCHAR : CHAR; BEGIN TESTCHAR := 'A'; WHILE NOT EOF(INPUT) DO BEGIN I := 1; WRITELN(OUTPUT,'PROMPT T17'); WHILE NOT EOLN(INPUT) DO BEGIN Wþ“RITELN(OUTPUT,'TESTCHAR=',TESTCHAR); READ (INPUT,CHR[I]); TESTCHAR := CHR[I]; I := I+1; END; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,X,Y,Z,IPEN); END; READLN(INPUT); WRITELN(OUTPUT,' '); FOR J := 1 TO I DO WRITE(OUTPUT,þH[èCHR[J]); WRITE(OUTPUT,X,Y,Z,IPEN); WRITELN(OUTPUT,'A'); END END. ÿBITS.ûää7þ`; BIT SET AND CLEAR ROUTINES ; ; CALL VIA ; SBIT(BIT NO: INTEGER, VAR WORD : INTEGER);EXTERNAL; ; CBIT(BIT NO : INTEGER ; VAR WORD : INTEGER);EXTERNAL; ; TBIT(BIT NO:INTEGER;WORD:INTEGER;VAR VALUE:INTEGER); ; EXTERNAL; ; ; THE BIT SPECIFIED BY BIT NOþ(ª IS SET OR CLEARED IN WORD ; BITS ARE NUMBERED 0=LEFT MOST BIT 15=RIGHT MOST BIT .TITL BITS .ENT ?SBIT,?CBIT,?TBIT .EXTN XPRET .NREL TABLE: .+1 ;TABLE ADDRESS HERE 1B0 1B1 1B2 1B3 1B4 1B5 1B6 1B7 1B8 1B9 1B10 1B11 1B12 1B13 1B14 1B1þ¼A5 WORD=0 ;BYTE ADDRESS OF WORD ON STACK BIT=WORD-1 ;WORD ADDRESS OF BIT NO ?SBIT: STA 3,USP ;SAVE AC3 IN USER STACK POINTER LDA 0,BIT,3 ;GET VALUE OF BIT NO LDA 2,TABLE ;GET TABLE START ADDRESS ADD 0,2 ;ADD BIT OFFSET TO ADDRESS LDA 2,0,2 ;HAVEþ< BIT IN AC2 LDA 3,WORD,3 ;GET BYTE ADDRESS OF WORD MOVZR 3,3 ;MAKE IT A WORD ADDRESS LDA 0,0,3 ;GET VALUE OF WORD ; INCLUSIVE OR BIT IN AC2 TO WORD IN AC0 ; COM 2,2 AND 2,0 ADC 2,0 ;RESULT IS IN AC0 ; STA 0,0,3 ;RETURN RESULT TO PASCAL SUBO 1,þ0­1 ;CLEAR AC1 BEFORE RETURNING XPRET ;BACK TO PASCAL ?CBIT: LDA 0,BIT,3 ;GET VALUE OF BIT LDA 2,TABLE ;GET START OF TABLE ADD 0,2 ;ADDRESS OF BIT TO BE CLEARED LDA 2,0,2 ;BIT IN AC2 NOW LDA 3,WORD,3 ;BYTE ADDRESS OF WORD MOVZR 3,3 ;MAKE IT A þ8KWORD ADDRESS LDA 0,0,3 ;GET VALUU OF WORD ; ; CLEAR BIT IN AC2 IN WORD IN AC0 ; COM 2,2 AND 2,0 ;RESULT IS I AC0 ; STA 0,0,3 ;RESULT TO PASCAL SUBO 1,1 XPRET ; TEST A BIT AND RETURN 1 FOR ON 0 FOR OFF ; ; CONTENTS OF AC3 = STACK ADDRESS VALUE=0 þ7­ ;BYTE ADDRESS OF VALUE ON STACK WORD=-1 ;VALUE OF WORD ON STACK BITS=-2 ;VALUE OF BIT ON STACK ?TBIT: LDA 0,BITS,3 ;GET VALUE OF BITS LDA 2,TABLE ;GET TABLE START ADDRESS ADD 0,2 ;ADDRESS OF BIT PATTERN LDA 2,0,2 ;BIT PATTERN IN AC2 LDA 0,WORDþÿx,3 ;GET VALUE OF WORD SUBO 1,1 ;SET UP AC1 FOR NOT SET AND 2,0,SZR ;RESULT IN AC0 SUBZL 1,1 ;SET AC1=1 IF SET LDA 3,VALUE,3 ;GET BYTE ADDRESS OF VALUE MOVZR 3,3 ;MAKE IT A WORD ADDRESS STA 1,0,3 ;RETURN VALUE TO PASCAL SUBO 1,1 XPRET .END ÿTEDIT.SVúÔÅDÉÔ.SVÿTEST.02û½½þìǾPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; I : INTEGER; {$I GETINTEGER.PI} BEGIN REPEAT BEGIN I := 1; READLN(STR); WRITELN(' ',GETINTEGER(STR,I),'=NUMB'); END; UNTIL EOF(INPUT); END. ÿ1978.01û½½ þ¢øB 4196.05 C 2332 2000 C 2356 264.05 C 2355 280.60 D 23546.65 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 Cþ•o 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 E 4424.29 D 13878.50 C 2394 85.54 C þ†c2395 1000. C 2396 405.38 C 2397 64. D 3885. C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 E 4499.72 W 5477.65 C 2402 80. ÿ1978EMP.R1ûr½*þ ÚE 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 510 304.73 E 509 432.47 E 508 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500þ]Ì 372.80 W 499 561.91 W 498 497.97 E 497 926.48 E 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.65 E 528 393.86 E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.8þq90 W 517 277.10 E 516 259.01 E 515 439.51 E 514 398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 E 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.38 E 546 924.04 E 547 982.73 E 5þ:Ì48 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.0þÔ^4 E 561 297.08 E 559 688.29 E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 W 579 483.00 W 580 2210.00 W 581 38.36 E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 Eþ®- 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 E 593 960.21 E 595 645.08 E 597 430.98 E 598 343.31 W 600 1863.74 W 602 850.20 E 603 796.26 E 604 802.32 E 605 379.26 E 606 542.91 E 607 2þ­83.06 E 608 180.93 E 609 282.18 E 615 369.00 W 617 2861.14 E 625 2210.00 E 627 1209.08 E 628 1158.89 E 629 552.62 E 630 596.12 E 632 359.96 W 634 800.03 E 635 921.48 E 636 1050.72 E 637 533.66 E 638 610.74 E 639 361.79 E 640 201.10 E 645 346.92 E 610 325.4þ�6 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E 624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 E 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 6þß$û52 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 E 654 373.60 E 657 1176.43 E 658 1184.18 E 659 566.46 E 661 247.78 E 663 393.62 E 664 40.27 ÿTEST8.ûŽŽ þèGPROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 133; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRIþÖ›NG LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEþè¯POINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFþ&IX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} VAR LINE : LINESTRING; I : INTEGER; NBYTES : INTEGER; FILENAME :BIGSTR; DATA :BIGSTR; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; FILEPOSITIþŠON : DPINTEGER; {$I GPOS.PI} {$I SPOS.PI} {$I GCHN.PI} {$I OPEN.BU} {$I CLOSE.PI} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I RDS.BU} {$I WRS.BU} PROCEDURE ADDZEROTO( VAR STR : BIGSTR); { ADD A ZERO BYTE TO STR TO MAKE IT RDOS COMPATIBLE ANþòþD LENGTHN THE STRING BY ONE} BEGIN {$R-} STR[0] := CHR(LENGTH(STR)+1); STR[LENGTH(STR)] := CHR(0); {$R^} END; BEGIN GCHN(I); WRITELN(' FREE CHANNEL = ',I); FILENAME := 'FOBAR'; ADDZEROTO(FILENAME); CRAND(FILENAME,SYSERROR,ERRORNUMBER); OPEN(I,FIþ%LENAME,SYSERROR,ERRORNUMBER); GPOS(I,FILEPOSITION); SPOS(I,FILEPOSITION); DATA := 'THIS IS A TEST'; ADDZEROTO (DATA); { NBYTES := 14; WRITESEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER);} WRITELINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERRþE§OR,ERRORNUMBER); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); { NBYTES := 14; READSEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER);} READLINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN(OUTPUT,'LENGTH OF DATA =',LENGTH(DATA),' þv cNBYTES=',NBYTES); WRITELN(OUTPUT,DATA); WRITELN(' HIT CTLA'); READLN; DELETE(FILENAME,SYSERROR,ERRORNUMBER); END. ÿGETFIELD.PIûŽsþP±PROCEDURE GETFIELD(STR : ALPHANUMERIC; FIELDNUMBER : INTEGER; VAR FIELDVAL : FIELD ); {TYPE FIELD = RECORD OF KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1: (IMREAL : REAL); 2: (IMINT : INTEGER); 3: (IMSTR : STRING[10]) END; {Cþ ÕASE} VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (I -1) OR (BYTE = CTLZ) END. ÿT17RL.ûÐÐ #ÿCROSSREF.BUûÝÝ þ • PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; þns WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : þjÑALFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE PACK (A : ARRAY[1..C1] OF CHAR ; I : INTEGER ; VAR ID : ALFA ); VAR J : INTEGER; BEGIN FOR J := 1 TO C1 DO ID[J] := A[J-1+I] END (* PACK *) PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMRþZEF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN Sþ>9EARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;Lþˆd := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRIþcçNTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN þ6‡NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-þI{1 UNTIL K1 = K; PACK(A,1,ID);SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GþJ£]ET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. ÿTEST3.PXû½½þÀãlTEST3 Copyright (C) 1980 Rational Dataþ„— Systems¼þð Ö襀…Òϭ鎕ÌéÙ‚«Ö ¥€…ÌÚÒÏÖÚÙÏ ÖÚ ÏÖÚéÏ ÖÚÏÌÙÌØÚȡ֦ ¥€…ÒÏØ‚̹ö­VèÌسÿÿÿÿÿÿÿÿÿÿÿ‹¡ Ö襀…ÒϹôعAÖιöÖιöÖ¦ LINEFEED¥€…ÒϹöÖ¦ UP¥€…ÒϹöÖ¦ DELETE¥€…ÒϹö¬¹öHEB/  þ'@"$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ�’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìî­ l«­ ÖÆ€…Æ€ÃÏÖÆ€…¦þžãOUTPUTÏÖÆÆAÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€…ÏÖÎÖ¥¥ÒÏÖÎÖ¥Ï ¡öÖÆ€…ÏÖÆÏ­#lr„öR þÿ1978.03û½½ þiÀB 5621.74 D 5532.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC 2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 2471 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 þ™°380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 E 5322. W 7656 CC2498þ ÿTOTAL.ûŽŽ þ¼DPROGRAM TOTAL(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; TOTAL,AMOUNT : REAL; I,CHECKNUMBER : INTEGER; INFILE,OUTFILE : TEXT; (*$I GETREAL.PI *) (*$I REALPRINT.PI *) (*$I GETINTEGER.PI *) BEGIN WRITE(' INPUT FILE NAME? þ'); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); TOTAL := 0.0; WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); I := 2; { CHECKNUMBER := GETINTEGER(SþîÆNTR,I);} AMOUNT := GETREAL(STR,I); TOTAL := TOTAL + AMOUNT; { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} REALPRINT(OUTFILE,AMOUNT); WRITELN(OUTFILE); END; WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITELN(OUTFILE); END. ÿAS.RBûŽŽ1þ”€ýÿ ¶HIÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿ’D’$’$5[????? ? ?*"?ýÿ€Dõk?(?'ÿÿ@ï¿ÿÿ û_€ÿCLOSE.PIû޽þ 4PROCEDURE CLOSE(RDOSCHANNEL : INTEGER ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCLOSE =6463; {.CLOSE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCLOSE;þ¥ñ¨ R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CLOSE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {CLOSE} ÿ1978EMP.R3ûrrþ$ÔE 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 1 E 493 456.63 12 1 E 492 497.88 12 1 E 491 574.03 12 1 E 490 890.20 12 1 E 489 842.19 12 1 E 488 788.81 12 1 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12 5 E 506 842.80 12 5 E þ42505 1033.57 12 5 E 504 254.00 12 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 14 3 W 500 372.80 14 3 W 499 561.91 14 3 W 498 497.97 14 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 12 8 E 511 830.88 12 7 E 537 464.55 12 10 E 531 356.37 12 9 E 5þ�29 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 12 8 W 522 182.00 14 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 14 7 E 516 259.01 12 7 E 515 439.51 12 7 E 5þ}ó14 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 14 11 W 544 5.00 14 11 W 545 1345.3þñq8 14 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 15 E 565 948.24 12 14 EþÚ§ 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 12 13 E 555 991.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 571 1069.11 12 16 E 572 1þ\à019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 14 16 W 580 2210.00 14 16 W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 996.51 12 17 E 585 627.63þCA 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 594 531.30 12 18 E 596 500.91 12 18 W 599 5659.58 14 18 E 593 960.21 12 0 E 595 645.08 12 0 E 597 430.98 12 0 E 5þÖ 98 343.31 12 0 W 600 1863.74 14 18 W 602 850.20 14 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 625 2210.00 12 23 E 627 1209þ`.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 14 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 346.92 12 26 E 610 325.46 12 þõN21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12 23 W 626 483.00 14 23 E 63þIx1 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 E 646 326.75 12 26 W 647 24þ¸Û24.72 14 26 W 648 393.57 14 26 W 649 251.13 14 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 12 29 E 664 40.27 12 29 ÿDATA.BTûwwþM3B 4196.05 C 2332 2000 U21 1 C 2313 1804.52 V22 1 C 2337 43.50 A0 0 C 2338 6.00 A0 0 C 2345 53.35 A0 0 C 2347 38.00 A0 0 C 2348 50.00 X24 1 C 2356 264.05 A0 0 C 2354 50.00 T20 1 D 23546.64 DM 250.00 C 2355 280.60 V22 1 CC 2357 C 2358 J10 D3 1 C 2359 42.80 Jþ9Í10 1 C 2360 119.40 S19 1 C 2361 50 R18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 R18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 R18 1 CC 2372 CC 2373 C 2374 547.42 Q17 1 C 2375 86 F5 1 C 2376 500 U21 1 C 2377 1500 U21 1 C 2378 93.20 D3 2 C 2379 1562.80 þlòC2 2 C 2380 3.60 F5 2 C 2381 136.16 F5 2 C 2382 114.98 R18 2 DM 250 C 2383 139.24 E4 2 C 2384 155 F5 2 C 2385 60.30 F5 2 C 2386 1151 Q17 2 C 2387 L12 R18 2 C 2388 66.80 V22 2 C 2389 33.30 V22 2 C 2390 22.80 V22 2 C 2391 L12 R18 2 C 2392 39 V22 2 C 2393 64þ›±.65 Y25 2 C 2394 85.54 V22 2 D 13878.10 DM 1865.00 C 2395 1000. U21 3 C 2396 405.38 E4 3 C 2397 64. H8 3 D 3885. DM 250.00 C 2398 14.85 R18 3 DM 1865. C 2399 7.95 R18 3 C 2400 8.52 R18 3 C 2401 29.39 V22 3 C 2402 80. W23 3 D 3222.52 C 2403 1562.80 C2 5 C 2þêR404 1887.00 Q17 5 C 2405 28.26 U21 5 C 2406 52.68 F5 5 C 2407 53.35 F5 5 C 2408 27.00 F5 5 C 2409 301.50 U21 5 C 2410 32.23 F5 5 C 2411 110. P16 5 C 2412 1500 U21 0 C 2413 O15 R18 3 C 2414 286.41 F5 3 C 2415 12.68 F5 3 C 2416 93.20 D3 5 C 2417 7.75 K11 3 Cþ¤ø 2418 66.34 E4 3 C 2419 1197.81 F5 5 C 2420 50 X24 3 C 2421 261.65 W23 5 C 2422 J10 P16 5 C 2423 2386 Q17 5 C 2424 28.15 W23 5 C 2425 8.95 R18 5 D 3727.5 C 2426 16.05 F5 7 C 2427 450.59 Q17 5 C 2428 621.73 H8 6 C 2429 4000. U21 6 C 2430 6.75 R18 6 C 2431 1þdl10 F5 6 C 2432 991 P16 6 C 2433 41.5 T20 6 C 2434 52 F5 6 C 2435 675 H8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 T20 6 CC 2437 C 2438 3.47 R18 6 C 2439 K11 R18 6 C 2440 339.45 V22 6 C 2441 28.76 R18 6 C 2442 589.40 E4 6 C 2443 19.89 V22 6 C 2444 16. R18 þ&”6 CC 2445 C 2446 93.20 D3 6 C 2447 410.72 Y25 6 C 2448 695.00 H7 6 C 2449 50. A27 6 C 2450 13.00 Q17 6 C 2451 55.00 V22 7 C 2452 74.42 V22 7 C 2453 56.30 F5 7 C 2454 7.85 F5 7 C 2455 223.17 F5 7 C 2456 368.00 W23 7 C 2457 1562.80 C2 7 D 5534.20 C 2458 450.þE59 Q17 8 C 2459 75.65 K11 8 C 2460 923. F5 8 CC 2461 CC 2462 C 2463 Y25 R18 8 C 2464 Z26 V22 8 C 2465 50.50 R18 8 C 2466 39 F5 8 C 2467 4.80 V22 8 CC 2468 C 2469 70 R18 8 C 2470 500 U21 8 C 2471 L12 V22 8 D 6157.00 C 2472 113.56 E4 8 C 2473 9.95 R18 8 CC 2þç474 C 2475 368 W23 8 C 2476 616 I9 8 C 2477 208.65 F5 8 C 2478 380 H7 9 C 2479 129 F5 9 C 2480 3.95 R18 9 C 2481 7.06 B1 9 C 2482 D30 R18 9 C 2483 O15 R18 9 D 5631.50 CC 2484 C 2485 2000 U21 9 C 2486 H7 B1 9 C 2487 34.03 V22 9 C 2488 474.35 F5 9 C 2489 179þà½.46 F5 9 C 2490 145 F5 9 D 5395 C 2491 12.30 R18 9 C 2492 H7 B1 11 C 2493 C2 V22 9 C 2494 3.50 R18 9 C 2495 46.49 E4 10 CC 2496 C 2497 117.03 D3 10 CC 2498 C 2499 1773.70 C2 11 C 2500 94.90 V22 11 C 2501 50 T20 11 C 2502 21.85 K11 11 C 2503 89.37 H8 11 D 1þpT0811.70 C 2504 547.42 Q17 11 C 2505 1203.31 V22 11 C 2506 368 W23 11 C 2507 616 I9 11 C 2508 10.80 R18 11 C 2509 23.30 F5 11 C 2510 27.60 F5 11 C 2511 126.00 F5 11 C 2512 168.26 F5 11 C 2513 230.66 Y25 11 C 2514 R18 18 11 C 2515 T20 R18 11 C 2516 42 Z26 11þùÐ C 2517 H8 R18 11 D 7237.50 C 2518 446.86 E4 11 C 2519 T20 Z26 12 C 2520 28.99 J10 12 C 2521 4.15 J10 12 C 2522 61.36 J10 12 C 2523 1210.49 J10 12 C 2524 H7 B1 12 C 2525 P16 J10 12 C 2526 45.45 F5 12 C 2527 13.30 F5 12 C 2528 387 Q17 12 C 2529 18.70 R18 12þÝQ CC 2530 C 2531 1800 U21 13 C 2532 206.25 Z26 12 C 2533 1703.40 C2 0 D 3825 C 2534 3178.45 V22 14 CC 2535 C 2536 97.67 W23 14 C 2537 55.93 E4 14 C 2538 Z26 F5 14 C 2539 550 X24 14 C 2540 106.32 H8 14 C 2541 105 D3 14 C 2542 108.06 H8 14 D 6507.66 CC 2543 CþTï 2544 74.95 J10 14 C 2545 671.81 Q17 14 C 2546 262.60 F5 14 C 2547 50.50 F5 14 C 2548 11.70 Y25 14 C 2549 85 G6 14 C 2550 J10 R18 14 C 2551 34 G6 14 C 2552 200 F5 14 C 2553 368 W23 14 C 2554 912.90 I9 14 C 2555 500 U21 14 C 2556 90 J10 14 C 2557 120 B1 15 þ8C 2558 2.05 R18 15 C 2559 899 Q17 15 C 2560 267.58 V22 15 D 465 D 3182.36 C 2561 100 F5 15 CC 2562 DM 200 D 5187.50 C 2563 500 H8 15 C 2564 100.75 J10 15 C 2565 3000 U21 15 C 2566 1800 U21 17 C 2567 75.21 J10 15 C 2568 563.06 E4 15 C 2569 Z26 Q17 15 C 2570þøÊ 192 V22 15 C 2571 14.30 F5 15 C 2572 184.25 F5 15 D 3000 C 2573 500 U21 15 C 2574 115 D3 16 D 11960.00 C 2575 42 Z26 16 C 2576 26.12 F5 16 C 2577 81.71 E4 16 C 2578 36.81 K11 16 C 2579 368.00 W23 16 C 2580 671.81 Q17 16 C 2581 37.70 R18 16 C 2582 72 G6 16þ¿( C 2583 350 U21 16 C 2584 23.95 H8 16 C 2585 1773.70 C2 16 CC 2586 C 2587 271.60 W23 17 CC 2588 D 2107.75 D 4990 C 2589 F5 B1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 H8 17 C 2591 311.54 H8 17 C 2593 770.94 Y25 17 C 2594 109.92 V22 17 Cþ‰U 2595 432.25 E4 18 C 2596 B28 B1 18 C 2897 200 A27 18 C 2598 919 C2 18 C 2599 187.22 F5 18 C 2600 134 F5 18 C 2601 90.50 F5 18 C 2602 153.64 F5 18 C 2603 14850. V22 18 CC 2604 C 2605 50 X24 18 C 2606 186.36 H8 18 C 2607 85 B1 18 D 32927.50 C 2608 1352.93 Yþ¦Ï25 19 C 2609 50 T20 19 CC 2610 CC 2611 DM 7.37 C 2612 Q17 G6 20 D 14750.00 D 2040 C 2613 33 F5 20 C 2614 9.22 F5 20 C 2615 115 D3 20 C 2616 1875.10 C2 20 C 2617 134 F5 20 C 2618 46.45 F5 20 C 2619 790.75 Q17 20 C 2620 33 Q17 20 C 2621 368 W23 28 C 2622 52.þæØ30 F5 20 C 2623 309.14 H8 20 C 2624 I9 R18 20 C 2625 1452.77 Y25 20 D 8742.50 C 2626 50 X24 20 C 2627 39.50 R18 20 CC 2628 C 2629 56 Q17 20 C 2630 164 F5 21 C 2631 400.88 E4 21 CC 2632 C 2633 8.75 R18 21 C 2634 7.50 B1 21 C 2635 48 E4 21 C 2636 12.55 K11 2þKA1 C 2637 139.70 V22 21 D 538 C 2638 1200 U21 21 C 2639 1000 U21 21 C 2640 115 D3 21 C 2641 D30 F5 21 C 2642 101.39 E4 22 D 3000 DM 3000.00 C 2643 140 V22 21 C 2644 35 Z26 22 C 2645 671.81 Q17 22 C 2646 1850.16 C2 22 C 2647 70 W23 22 C 2648 14.20 W23 22 C 2þƒ649 500 X24 22 C 2650 13.05 K11 22 C 2651 205.74 V22 22 C 2652 199.40 F5 22 C 2653 17.16 F5 16 C 2654 19.94 F5 22 C 2655 34.12 V22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 U21 22 C 2657 116.89 B1 23 D 1545 C 2659 368 W23 22 C 2660 37 R18 22 C 2661 Y25þ�„ V22 22 C 2662 O15 R18 22 C 2663 500 U21 23 C 2664 25.35 F5 23 D 6212.50 CC 2665 C 2666 50 X24 23 C 2667 96.30 R18 23 C 2668 495.42 E4 23 C 2669 145 F5 23 C 2670 8.70 B1 24 C 2671 16.80 B1 24 C 2672 C29 F5 23 C 2673 11.48 V22 23 C 2674 1397.48 Y25 23 C 267þß5 200 B28 23 C 2676 500 H8 23 CC 2677 C 2678 49.56 H8 24 C 2679 10000 W23 24 C 2680 110 W23 24 C 2681 1007 W23 24 C 2682 37.64 V22 24 C 2683 2000. U21 24 C 2684 49.44 B1 25 D 4762.50 C 2685 1850.16 C2 25 C 2686 35.27 K11 25 C 2687 115 D3 25 C 2688 144.36 EþÈH4 25 C 2689 50 V22 25 C 2690 39.85 R18 25 C 2691 141.22 E4 25 C 2692 552.87 Q17 25 C 2693 134.32 V22 25 CC 2694 D 1882.50 C 2695 500 H8 25 C 2696 500 H8 25 C 2697 20.32 F5 26 C 2698 750 C 2699 110.25 B1 25 C 2700 368 W23 25 C 2701 134.74 V22 25 C 2702 6.90þ¿’ F5 25 C 2703 99 Q17 25 DM 11.49 DM 11.61 C 2704 36 R18 26 C 2705 635.69 A27 26 C 2706 18.50 R18 26 D 7130 C 2707 295 Z26 26 C 2708 472.87 E4 26 C 2709 O15 R18 26 C 2710 36.50 F5 26 C 2711 16.75 R18 26 C 2712 218.26 F5 26 C 2713 139.96 M13 16 CC 2714 C 271þ™`5 50 V22 26 C 2716 1500 U21 27 C 2717 1500 U21 28 C 2718 11.56 F5 26 C 2719 4812.51 W23 27 D 1545 C 2720 3920.58 Q17 27 C 2721 115 D3 27 C 2722 76.99 V22 27 C 2723 40.30 F5 27 C 2724 117.43 E4 27 C 2725 552.87 Q17 27 C 2726 127.35 F5 27 C 2727 G6 R18 27 C þŸ�2728 T20 F5 27 C 2729 52.84 K11 27 C 2730 5.74 F5 27 DM 23.10 C 2731 50 X24 27 D 592.50 C 2732 911.35 Y25 27 C 2733 46.85 F5 27 C 2734 164.11 F5 27 C 2735 1850.16 C2 27 C 2736 140 B1 27 D 1997 C 2737 368 W23 27 D 1467.50 C 2738 154.01 F5 28 C 2739 33 R18 2þåZ8 C 2740 40 W23 28 C 2741 15.15 H8 28 C 2742 342.32 H8 28 C 2743 J10 Z26 28 C 2744 160 A27 28 C 2745 S19 Z26 28 C 2746 1136.47 G6 28 C 2747 174.34 H8 28 C 2748 208.22 Y25 28 C 2749 131.46 J10 28 D 13855 C 2750 145.75 J10 28 C 2751 D30 F5 28 C 2752 54 F5 28þ½ C 2753 55 V22 28 C 2754 569.90 E4 28 C 2755 64.50 G6 28 C 2756 75 B28 29 CC 2757 C 2758 374 Q17 29 C 2759 115 D3 29 C 2760 500 U21 29 C 2761 500 U21 29 C 2762 1510 U21 29 E 496 1177.09 L12 3 E 495 1076.21 L12 3 E 494 392.55 L12 1 E 493 456.63 L12 1 E 492 þ Ë497.88 L12 1 E 491 574.03 L12 1 E 490 890.20 L12 1 E 489 842.19 L12 1 E 488 788.81 L12 1 E 510 304.73 L12 5 E 509 432.47 L12 5 E 508 575.53 L12 5 E 507 502.81 L12 5 E 506 842.80 L12 5 E 505 1033.57 L12 5 E 504 254.00 L12 4 W 503 702.05 N14 4 W 502 4521.60 þ ®N14 4 W 501 387.26 N14 3 W 500 372.80 N14 3 W 499 561.91 N14 3 W 498 497.97 N14 3 E 497 926.48 L12 3 E 519 84.76 L12 12 E 520 483.00 L12 8 E 511 830.88 L12 7 E 537 464.55 L12 10 E 531 356.37 L12 9 E 529 589.96 L12 9 E 530 436.65 L12 9 E 528 393.86 L12 9 E þcÑ527 888.88 L12 9 E 526 1034.18 L12 9 E 525 991.35 L12 9 E 524 733.00 L12 8 W 522 182.00 N14 8 W 523 1549.00 N14 8 W 521 2210.00 N14 8 W 518 3391.80 N14 7 W 517 277.10 N14 7 E 516 259.01 L12 7 E 515 439.51 L12 7 E 514 398.75 L12 7 E 513 1113.18 L12 7 E 512 þZÌ893.06 L12 7 W 540 4601.70 N14 10 E 532 1062.02 L12 10 E 533 1122.84 L12 10 E 534 999.70 L12 10 E 535 538.32 L12 10 E 536 643.20 L12 10 E 538 386.34 L12 10 E 539 105.03 L12 10 W 541 1703.92 N14 11 W 544 5.00 N14 11 W 545 1345.38 N14 11 E 546 924.04 L12 12 þͪE 547 982.73 L12 12 E 548 873.83 L12 12 E 549 473.57 L12 12 E 550 542.91 L12 12 E 551 440.27 L12 12 E 553 299.63 L12 12 E 552 185.93 L12 12 E 568 343.38 L12 15 E 569 304.73 L12 15 E 567 596.15 L12 15 E 566 465.02 L12 15 E 565 948.24 L12 14 E 564 985.99 L12þ*æ 14 E 563 991.80 L12 14 E 557 473.57 L12 13 E 558 601.00 L12 13 E 560 265.01 L12 13 E 555 991.16 L12 12 E 554 927.77 L12 12 E 556 852.47 L12 13 W 562 4255.04 N14 13 E 561 297.08 L12 13 E 559 688.29 L12 13 E 570 1050.61 L12 16 E 571 1069.11 L12 16 E 572 101þat9.07 L12 16 E 573 566.88 L12 16 E 574 630.97 L12 16 E 575 269.88 L12 16 E 576 472.09 L12 16 E 577 346.43 L12 16 W 578 4412.14 N14 16 W 579 483.00 N14 16 W 580 2210.00 N14 16 W 581 38.36 N14 16 E 582 1046.89 L12 17 E 583 1151.39 L12 17 E 584 996.51 L12 17 Eþ³ë 585 627.63 L12 17 E 586 732.19 L12 17 E 587 537.45 L12 17 E 588 513.44 L12 17 E 589 374.42 L12 17 E 590 110.15 L12 17 E 591 979.37 L12 18 E 592 1426.28 L12 18 E 594 531.30 L12 18 E 596 500.91 L12 18 W 599 5659.58 N14 18 E 593 960.21 L12 0 E 595 645.08 L12þÖ 0 E 597 430.98 L12 0 E 598 343.31 L12 0 W 600 1863.74 N14 18 W 602 850.20 N14 18 E 603 796.26 L12 20 E 604 802.32 L12 20 E 605 379.26 L12 20 E 606 542.91 L12 20 E 607 283.06 L12 20 E 608 180.93 L12 20 E 609 282.18 L12 20 E 615 369.00 L12 21 W 617 2861.14 þØN14 21 E 625 2210.00 L12 23 E 627 1209.08 L12 24 E 628 1158.89 L12 24 E 629 552.62 L12 24 E 630 596.12 L12 24 E 632 359.96 L12 24 W 634 800.03 N14 24 E 635 921.48 L12 25 E 636 1050.72 L12 25 E 637 533.66 L12 25 E 638 610.74 L12 25 E 639 361.79 L12 25 E 640þrr 201.10 L12 25 E 645 346.92 L12 26 E 610 325.46 L12 21 E 611 1020.87 L12 21 E 612 922.47 L12 21 E 613 505.84 L12 21 E 614 595.69 L12 21 E 616 258.02 L12 21 E 618 1053.55 L12 23 E 619 845.14 L12 23 E 620 420.35 L12 23 E 621 548.51 L12 23 E 622 293.42 L12 23þñs E 623 339.16 L12 23 E 624 374.42 L12 23 W 626 483.00 N14 23 E 631 142.22 L12 24 W 633 2792.12 N14 24 E 660 484.10 L12 29 W 662 2276.24 N14 29 E 650 981.35 L12 28 E 651 992.28 L12 28 E 652 327.45 L12 28 E 653 384.95 L12 28 E 641 1081.13 L12 26 E 642 1042.4þ_E3 L12 26 E 643 490.20 L12 26 E 644 516.116 L12 26 E 646 326.75 L12 26 W 647 2424.72 N14 26 W 648 393.57 N14 26 W 649 251.13 N14 26 E 654 373.60 L12 28 E 657 1176.43 L12 29 E 658 1184.18 L12 29 E 659 566.46 L12 29 E 661 247.78 L12 29 E 663 393.62 L12 29 E 6þ›64 40.27 L12 29 ÿINTERPOK.û½à þ[SGprogram interpok; var output : text; begin rewrite(output); writeln('Interpreter OK') end. ÿTEST7.ûŽq +þ¿©PROGRAM TEST(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKEDþÌü ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR);  3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTEþôXR} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR LINE : LINESTRIþÙ^NG; I : INTEGER; NBYTES : INTEGER; STR :BIGSTR; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; {$I GCHN.PI} {$I OPEN.PI} {$I CLOSE.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I RDS.PI} {$I WRS.PI} PROCEDURE ADDZEROTO( VAR STR : BIGSTRþÈ); { ADD A ZERO BYTE TO STR TO MAKE IT RDOS COMPATIBLE AND LENGTHN THE STRING BY ONE} BEGIN {$R-} STR[0] := CHR(LENGTH(STR)+1); STR[LENGTH(STR)] := CHR(0); {$R^} END; BEGIN GCHN(I); STR := 'FOBAR'; ADDZEROTO(STR); CRAND(STR,SYSERROR,ERRORNUMBER);þñ OPEN(I,STR,SYSERROR,ERRORNUMBER); WRITESEQUENTIAL(I,'THIS IS A TEST',14,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); NBYTES := 14; READSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORþ‡H�NUMBER); WRITELN(OUTPUT,'LENGTH OF STRING =',LENGTH(STR),' NBYTES=',NBYTES); WRITELN(OUTPUT,STR); WRITELN(' HIT CTLA');READLN; END. ÿT16.ûŽ/ þŸMPROGRAM T16(INPUT,OUTPUT); VAR CHR : ARRAY [1..80] OF CHAR; X,Y,Z : REAL; IPEN,I,J : INTEGER; TESTCHAR : CHAR; BEGIN WHILE NOT EOF(INPUT) DO BEGIN I := 1;TESTCHAR := 'A'; WRITELN(OUTPUT,'PROMPT T16'); WHILE TESTCHAR <> ' ' DO BEGIN READ (INPUT,þ¯ížCHR[I]); TESTCHAR := CHR[I]; I := I+1; END; READ(INPUT,X,Y,Z,IPEN); FOR J := 1 TO I DO WRITE(OUTPUT,CHR[J]); WRITE(OUTPUT,X,Y,Z,IPEN); WRITELN(OUTPUT,'A'); END END. ÿSEDIT.SVúSÅDÉÔ.SVÿREALPRINT.PAû½½ :þ6¿PROGRAM TEST (INPUT,OUTPUT); VAR I,DIGIT : INTEGER; R,R1,R2 : REAL; STR : STRING(11); PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-R2*10); R1 := R2 WRITELN(' GETDIGIT,DIGIT=',DIGIT); END{GETDIGIT} BEGIN {MAIN} {do decimal part firsþÎlt} WRITELN(' ENTER A REAL NUMBER'); READLN(R); R1=R*100; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[11-I] := CHR(DIGIT) END I :=I+1 STR[11-I] :='.' {do integer part} R1 :=R; WHILE ( R1>0.0 AND I<8) DO BEGIN GETDIGIT; STR[11-I] :=CHR(Dþ]'1IGIT) IF I = 6 THEN BEGIN I := I+1; STR[11-I] := ',' END I := I+1 END END. ÿT3.MCû½½ þŽæ©CHATR TEST3.PX 0 CHATR TEST3.PA 0 DELETE/V TEST3.PA XFER TEST3 TEST3.PA/R CHATR TEST3.PA *P PASINTERP PASCALO/S/V/A/L TEST3 CHATR TEST3.PX *P ÿC.MCû޽3þ‚yÒCHATR CBOOK.(PA,PX) 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *P PASINTERP PASCALO/A/S/V/L CBOOK CHATR CBOOK.PX *P ÿ1978.04û½½ /þAlB 8273.34 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.60 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 þè}D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.49 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 1800 C 2532 206.25 C 2533 1703.40 D 3825 E 5096.35 W 4255.04 ÿ1878.05û½½ÿTOTAL.PAûŽŽ þ¼DPROGRAM TOTAL(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; TOTAL,AMOUNT : REAL; I,CHECKNUMBER : INTEGER; INFILE,OUTFILE : TEXT; (*$I GETREAL.PI *) (*$I REALPRINT.PI *) (*$I GETINTEGER.PI *) BEGIN WRITE(' INPUT FILE NAME? þ'); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); TOTAL := 0.0; WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); I := 2; { CHECKNUMBER := GETINTEGER(SþîÆNTR,I);} AMOUNT := GETREAL(STR,I); TOTAL := TOTAL + AMOUNT; { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} REALPRINT(OUTFILE,AMOUNT); WRITELN(OUTFILE); END; WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITELN(OUTFILE); END. ÿPL.MCûrqþpùvCHATR PL.PA 0 CHATR PL.PX 0 DELETE PL.PA XFER PL PL.PA/R CHATR PL.PA *WP PASINTERP PASCALO/S PL CHATR PL.PX *WP ÿ1978.05û½½ þÎHC 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C 2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912þžf.90 C 2555 500 C 2556 90 E 4635.31 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 2563 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 C 2568 563.06 C 2569 26 C 2570 192 C 2571 14.30 C 2572 184.þ¡w525 D 3000 C 2573 500 C 2574 115 C 2575 42 C 2576 26.12 C 2580 671.81 C 2581 37.70 C 2582 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 ÿT26.ûÐUþb`?PROGRAM T26; PROCEDURE PCHA (VAL : BOOLEAN);EXTERNAL; BEGIN PCHA ( TRUE ); PCHA (FALSE); END. ÿCROSSREF.ûŽÜ+þ³æPROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*)  CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; þ‘‡WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : Aþ`ƒLFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO :þ-E= N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); þ›œPROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN þû:END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THENþ’ÿ N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; PACK(A,1,ID);SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNþ¯È{TIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. ÿTEST.MCûŽl þ„'‰CHATR TEST.PA 0 CHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V TEST CHATR TEST.PA *WP CHATR TEST.PX *WP ÿPL5.PXûrq $þ¶ÈPLO  Copyright (C) 1980 Rational Dataþ„Õ Systems¼  * þ&�Ö¦ ****¥†7®ÒÏÖÙ ð•ÏÖÙ^ÏÖÙØÏ ÖÙÏò‚« ­6ðñáôÖ¥…µÏ ¡"Ö¦PROGRAM INCOMPLETE¥†7®ÒÏ ž« « Öô¥†7®ÒÏ ÖØ ÏÖ¥…µÏ “¡'ñ‚« Ö¥¥…µÒÏÖ襆7®ÒÏ¥ñQˆ•¤èš¹öÖ¥†7Ïñ‚« Ö¥ñQˆ•¤¥…µÒÏð‚« ¥ðQˆ•¤ø«­c ²è áÖιöè³ÿþMÁÿþ‹¡îÌØ ɡ؂̥_Ø ˆ•Âè¿ÖÎè³ÿÿþÿ‹“¡ôØóġث ¹¥_ó ˆ• ¿ó•« óØÃ¡ò¥¥_Ñ Ì ÌÚÙ‚†Ì¥¥�-Ø ˆ•¤´ ¡Ø•Ì¥¥�-Ø ˆ•¤° ¡Ø‚ÌÚÙÅ¡ðÚ•ÙÅ¡¥�dØ ˆ•¤ø«¹«¹qè³ÿ‹¡6Ì«« ï�è•‚«Ø‚ÌÖÎè³ÿ‹“¡ìØÅ¡ÖþJ[ι+è:áÖÎè=á«Öι«¹¥�oèÇÿˆ¤ø«Öέ[vÎñ)LTôÇÈÅ¡ Ö¦PROGRAM TOO LONG¥†7®ÒÏ ž¥dôÇȈ¤ÌÛÇàØ»ÛÇÙ ˆ»ÛÇþÚÇψ»ô‚« ­Z鯼‹“¡$ÖÜÎÆÆ¼Æ¼œ ½éƼ‹“¡Öιö­8¶‚¸¥‚�¶dˆ¤ÌÙ¥Ñ Ù¢ Øþ¾—šØ¹6ïÇÏÅ¡ÖΫ٢ ïš¹/Ù¢¶šÙ¢ ¶š¶‚¸¹Ù¢¶š¹¬¹>+­nÆÙÑ ¥‚�dˆ¤ÆÑ ¶Ì¥‚�ßdˆ¤Æ· ¡ß•̹ößÌ­ < éá5ÖÎ鳋¡ éáÖÎÖÎéá ÖÎÖιÖιÖιÖέF éá ÖÎÖιÖέ ¶®þNÖô•®È¡PÚ̹ØÐÌ¥dØÇȈ¤ÌÖØ¥†7®ÒÏ ÖÛ¥‚oÚÇຈ¤ÏÖÛÚÇºÏ ÖÛÚÇþºÏ ÖÛÏØÙáö­N h Ö¥‚‡¼ Æ¼ Î饂‡¼‹¡ôéáQ֥ΠÌÚáÖ Î¹9¥‚�Údˆ¤ÌÛý¹ÖÛþι!Ö¶Ûÿ•ÛþιÖι ¬¹$ÖιCéáïÇÏÅ¡ÖΫÖïÎÖι%éá ÖÎþ2ŠÖǀƼœ ÎéáÖιÖÎÖÆ¼ Ç@ Î¹ö­» ÖÖÆ¼`œ Îé`‹¡(éÌÖÎÖÆ¼`œ ÎÚáÖιÖιö­1 Fé‹¡ éÌÖÎÖÆ¼œ ÎÚáÖι ÖÆ¼œ Îé‹¡(éÌÖÎÖÆ¼œ ÎÚáÖιÖιö­1 léáþDzÖÎÖÆ¼ ÎÖιtÖÇ?Ƽœ ÎéÇ?‹“¡ÖιVéÌÖÎÖÆ¼ ÎÚ¹0Öι;Ö Î¹3Ö Î¹+Ö Î¹#Ö Î¹Ö Î¹¬ ¹ 71+)­–éáa֥ΠÌÜáÖ Î¹¥‚�Üdˆ¤ýË¡Ö ÎÌÖÎéáÖÎ¹Ö ÎÖÆ¼ ÎÜË¡¥‚�Üdˆ¤ÌÖ¶Ýÿ•Ýþιðéáþ8ÝIÖÎéË¡Öι9֥ΠÌÜáÖ Î¹#¥‚�Üdˆ¤ÌÝýáÖ¶Ýÿ•ÝþιÖÎÖιòéáMÖÎÖ³€Æ¼œ ÎéáÖιÖÎôÌÖÎÖÆ¼ Î ¥dÛÇȈ¤ÇþôÇψ»¹ôéáZÖÎÖ³"Ƽœ Î é³¥‚‰¼œ‹¡"éáÖÎ¹Ö ÎÖ³"Ƽœ Î ¹öéáÖιÖιYéáTþ wôÌÖÎֳƼœ ÎôÌÖÎéáÖιÖÎÖÆ¼ Î ÖÛÎ¥dÚÇȈ¤ÇþôÇψ»ÖƼ  Î­³Ü ÌÙÌ¥‚�Ùdˆ¤¢ ôšÖÎØ Å¡Ö Îéá&ÖÎÖÎ éáÖÎÖÎ ¹öéáÖιÖÎéË¡ôéá&ÖÎÖÎ éáÖÎÖÎ ¹òéáÖιÖÎéË¡ðéáeÖÎéá ÖÎÖþ×(ιÖÎéáÖιÖÎÖØ‚ٳƼœ Îéá ÖÎÖ¥‚‰¼³ œ Æ¼ Î¹ÖιîÖ¥‚‰¼œ ¥‚‹¼ Î饂‹¼‹“¡ì¥d¥‚�Ýdˆ¤þÇȈ¤ÇþôÇψ»¥‚�Ýdˆ¤Ìߢ ôšôÌÖÜÎÖ³"Ƽœ Î ÖÎÖÆ¼  ÎÖÎ ­DðDCx¶ÌÙÅ¡²ÚþÇôˆ•¤øÌٕ̹öÚÌ­!.Ö¦ START OF PL/0¥†7®�ùÒÏÖÊ�ùÏÌÌÌÆÇôˆ•¤šÆÇôˆ•¤šÆÇôˆ•¤šÆ¥dÚÇȈ¤¨Ú‚ÌÆÇູòØ‚ÌÆØÇôˆ•¤ÆÇþºš¹ðÆÇþº¹öÙ•ÌÆØ‚Çôˆ•¤øÌÆØ‚Çôˆ•¤øÌ¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø‘š¹ôØ•ÌÆþ¬ÛØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø‚š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø•š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø�š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø†š¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø„š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚þ˜•Çôˆ•¤øÃš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øËš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÉš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÄš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÅš¹UØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÈšþ¨¹$¬ ¹V/嶇X>ూS¹ðØ‚ÌÆØÇôˆ•¤ÆÖÆÇºÎÆÇþº‚Çôˆ•¤øš¹ðÆÖÆÇºÎÆÇþº‚Çôˆ•¤ÆØÇôˆ•¤øšÖÆØÇôˆ•¤ø¥†7®�ùÒÏ ÖÊ�ùÏØ•Ì¹ðÆØ‚Çôˆ•¤ÖÆÇºÎ飢Çôˆ•¤Ù飢Çôˆ•¤ÚšØ‚ÌÆÇþºÌ¹NØÆÇþº‚̹BÆÇþþmºÌ¹8ÆØÇôˆ•¤øÃ¡ÆÇþºÌ̹ؕ¬¹œ„ ÛŽH>6ÚáîÖ¦ END OF PL/0¥†7®�ùÒÏ­ç"<>dùJÖÆ†7ƆuÏÖÆ†7¦OUTPUTÏÖÆ…µÆ…óÏÖÆ…µ¦INPUTÏÖÏÖÆ…µÏÖÆ†7ÏA®†º;®†¹È¡ʆº«¹èЫ¥�oèÇÿˆ¤šèʆ¹Ã¡ô¥�- ˆ•¤¦ BEGIN ÐÑ ¥�- ˆþ?•¤¦ CALL ÐÑ ¥�- ˆ•¤¦ CONST ÐÑ ¥�- ˆ•¤¦ DO ÐÑ ¥�- ˆ•¤¦ END ÐÑ ¥�- ˆ•¤¦ IF ÐÑ ¥�- ˆ•¤¦ ODD ÐÑ ¥�- ˆ•¤¦ PROCEDURE ÐÑ ¥�-  ˆ•¤¦ THEN ÐÑ ¥�-  ˆ•¤¦ VAR ÐÑ ¥�-  ˆ•¤¦ WHILE ÐÑ ¥�dþÒ¤ ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�o+Çÿˆ¤š¥�o-Çÿˆ¤š¥�o*Çÿˆ¤š¥�o/Çÿˆ¤š¥�o(Çÿˆ¤š¥�o)Çÿˆ¤š¥�o=Çÿˆ¤š¥�o,Çÿˆ¤š¥�o.Çÿˆ¤šþ×¥�o!Çÿˆ¤ š¥�o<Çÿˆ¤ š¥�o>Çÿˆ¤ š¥�o"Çÿˆ¤ š¥�o#Çÿˆ¤ š¥�o;Çÿˆ¤š¥‚oˆ¤¦LIT ÐÑ¥‚oˆ¤¦OPR ÐÑ¥‚oˆ¤¦LOD ÐÑ¥‚oˆ¤¦STO ÐÑ¥‚oˆ¤¦CAL ÐÑ¥‚oˆ¤¦INT ÐÑ¥‚oˆ¤¦JMP ÐÑ¥‚oˆ¤¦JPC ÐÑ¥‚‹³8 ½¥‚‰³P þêÔ½¥‚‡Ç@ ½Ö¥†7Ï« « « « « « ÖÎÖ³¥‚‹¼œ¥‚‰¼œ ÎéË¡Ö ÎòáÖι$Ö¦ ERRORS IN PL/0 PROGRAM¥†7®†¹ÒÏÖ¥†7ÏÖÆ†7ÏÖÆ…µÏ­Ìº*~2  f  ° 8H¶Ö"dÈÚÐzŠ&þÿ1980.D2ûŽŽþâ 810 10 EM 810 17 15 811 11 EM 811 604.28 15 812 12 EM 812 643.69 15 813 16 C 813 980.89 14 814 18 CC 814 816 25 C 816 1581.88 12 817 17 C 817 205.18 12 818 55 EM 818 140 27 819 26 C 819 1581 12 820 56 EM 82þ¹V0 1581 12 821 65 EM 821 195.18 12 822 66 EM 822 1415.95 12 823 117 EM 823 1000 12 824 131 EM 824 333.14 15 825 132 EM 825 378.68 15 826 133 EM 826 2590.51 14 827 134 EM 827 425.95 12 828 135 EM 828 82.50 26 829 136 EM þU§829 138.70 14 830 138 EM 830 1425.95 12 831 139 EM 831 205.18 12 832 140 EM 832 209.37 12 833 57 EM 833 948.57 12 834 58 EM 834 912.14 12 835 59 EM 835 17 15 836 60 EM 836 181.73 14 837 61 EM 837 482.61 15 838 62 Eþø©M 838 2742.40 14 839 63 CC 839 840 64 EM 840 622.50 27 841 137 EM 841 1425.95 12 842 192 EM 842 209.37 12 843 197 EM 843 1527.87 12 844 193 EM 844 1527.87 12 845 194 EM 845 290.37 12 846 195 EM 846 3584 14 847 198 EM 8þ»47 1527.87 12 848 199 EM 848 209.37 12 849 200 EM 849 1000 12 850 201 EM 850 9000 12 851 221 EM 851 4000 36 852 227 EM 852 1527.87 12 853 239 EM 853 540 15 854 238 EM 854 48.65 12 3040 1 C 3040 704.45 3064 2 CC 3064 þ*A 3066 3 C 3066 250 27 3067 20 C 3067 62 1 3068 32 C 3068 10 18 3069 4 C 3069 96 4 3070 5 CC 3070 3071 22 C 3071 330 20 3075 6 C 3075 23 5 3076 7 C 3076 100 24 3077 8 C 3077 10.77 6 3078 9 C 3078 22.5þ»0 4 3081 19 C 3081 35 4 3082 267 C 3082 1350.12 25 3083 21 C 3083 34 6 3084 273 CC 3084 3085 23 C 3085 50.99 5 3086 33 C 3086 138.02 25 3087 24 CC 3087 3088 34 C 3088 1040 23 3089 274 CC 3089 3090 35 C 3090 53þµ¸24 9 3091 36 C 3091 250 8 3092 37 C 3092 206.59 20 3093 38 C 3093 15.40 22 3094 39 C 3094 120.70 4 3095 40 C 3095 20 26 3096 41 C 3096 775 9 3097 42 C 3097 32.88 10 3098 43 C 3098 74.05 22 3099 45 C 3099 4000 32þé® 3100 275 CC 3100 3101 46 C 3101 1557.44 25 3102 276 CC 3102 3103 48 C 3103 42.50 10 3104 47 C 3104 40 33 3105 49 C 3105 504.39 25 3106 50 C 3106 119.98 4 3107 51 C 3107 793.50 9 3108 52 C 3108 1537.50 27 3109 þ”¢ 53 C 3109 3394.50 6 3110 54 C 3110 25 3 3111 277 CC 3111 3112 92 C 3112 25 26 3113 67 C 3113 79.95 5 3114 68 C 3114 69.95 10 3115 69 C 3115 200 20 3116 70 C 3116 225 27 3117 71 C 3117 4.65 10 3118 93 C 3118 1.3þÙ0 11 3119 72 C 3119 48 18 3120 73 C 3120 1940.43 25 3121 74 C 3121 269.78 17 3122 94 C 3122 100 26 3123 75 C 3123 12.24 4 3124 76 C 3124 93.27 15 3125 77 C 3125 181.78 15 3126 78 C 3126 243.77 14 3127 79 C 3127 þLˆ68.45 23 3128 95 C 3128 7.86 22 3129 80 C 3129 128.35 5 3130 81 C 3130 25.98 5 3131 260 CC 3131 3132 82 C 3132 15.90 5 3133 83 C 3133 125.81 22 3134 84 C 3134 20.47 22 3135 85 C 3135 85.15 22 3136 268 C 3136 16.00þw 1 3137 44 CC 3137 3138 96 C 3138 185.26 4 3139 97 C 3139 19.37 10 3140 98 C 3140 6.17 10 3141 99 C 3141 6.46 10 3142 100 C 3142 3.96 10 3143 101 C 3143 3.62 10 3144 102 C 3144 42.08 22 3145 103 C 3145 46.50 3 3146þºÇ 104 C 3146 36.70 11 3147 105 C 3147 27.73 10 3148 106 C 3148 25.95 5 3149 107 C 3149 6 33 3150 108 C 3150 95 33 3151 109 C 3151 78.50 33 3152 110 C 3152 1000 25 3153 111 C 3153 227.40 25 3154 112 C 3154 100 8 3155 11þ°o3 C 3155 160.43 4 3156 114 C 3156 835.38 25 3157 115 C 3157 781.68 25 3158 118 C 3158 21.92 5 3159 119 C 3159 12 33 3160 122 C 3160 155.47 17 3161 123 C 3161 34 10 3162 146 C 3162 39.95 18 3163 124 C 3163 594 17 3164 147þ{q C 3164 130.46 14 3165 120 C 3165 638.45 27 3166 125 C 3166 465 4 3167 121 C 3167 15 5 3168 126 C 3168 83.85 3 3169 127 C 3169 200 24 3170 148 C 3170 120.97 4 3171 149 C 3171 18 33 3172 150 C 3172 36.70 10 3173 151 C 317þÙH3 947.50 25 3174 152 C 3174 80 26 3175 153 C 3175 204 5 3176 169 C 3176 50 22 3177 154 C 3177 496.56 25 3178 155 C 3178 136.20 25 3179 156 C 3179 729 17 3180 157 C 3180 170 23 3181 170 C 3181 950 7 3182 158 C 3182 121.30þ¯; 11 3183 159 C 3183 25.91 22 3184 160 C 3184 127 17 3185 171 C 3185 125 23 3186 161 C 3186 10.08 23 3187 172 C 3187 174.75 23 3188 173 C 3188 290.64 4 3189 174 C 3189 1372 27 3190 175 C 3190 3.28 5 3191 176 C 3191 18 5 þ¹v3192 177 C 3192 5.68 23 3193 179 C 3193 37.25 23 3194 180 C 3194 147.08 23 3195 181 C 3195 17 23 3196 182 C 3196 50 21 3198 116 C 3198 28.30 3 3199 183 C 3199 26 33 3200 162 C 3200 1020 27 3201 184 C 3201 2764.81 27 3202þ‡ 185 C 3202 948.17 25 3203 178 C 3203 100 27 3204 186 C 3204 55.20 5 3205 187 C 3205 14.25 7 3206 188 C 3206 10 6 3207 189 C 3207 7.58 5 3208 190 C 3208 60.59 2 3209 191 C 3209 250.65 25 3210 202 C 3210 720 27 3211 20þ.É3 C 3211 69.37 2 3212 204 C 3212 1.81 11 3213 205 C 3213 176.55 25 3214 206 C 3214 10.46 25 3215 207 C 3215 18.28 5 3216 269 C 3216 64.28 5 3217 209 C 3217 547.32 17 3218 210 C 3218 136.48 17 3219 211 C 3219 48.60 10 3220 þ_ 212 C 3220 170 23 3221 213 C 3221 10 8 3222 216 C 3222 450 27 3223 217 C 3223 10.64 5 3224 214 C 3224 227.40 17 3225 215 C 3225 36 5 3226 218 C 3226 93.71 4 3227 219 C 3227 74.13 2 3228 223 C 3228 102.08 4 3229 222 C 3þ|m229 2774.75 23 3230 220 C 3230 31 26 3231 224 C 3231 35 18 3232 228 C 3232 125 23 3233 229 C 3233 3654.15 23 3234 270 C 3234 298.80 25 3235 230 C 3235 37 33 3236 231 C 3236 42.50 33 3237 232 C 3237 2282.26 6 3238 233 C 3þø238 138.17 33 3239 234 C 3239 95.64 2 3240 235 C 3240 3.70 5 3241 236 C 3241 4.33 5 3242 237 C 3242 35.39 18 3243 245 C 3243 28.20 3 3244 246 C 3244 341.40 10 3245 247 C 3245 500 25 3246 248 C 3246 328.44 10 3247 249 C 3þª 247 784.13 25 3248 250 C 3248 125.30 11 3249 251 C 3249 5.76 23 3250 252 C 3250 50 24 3251 254 C 3251 100 2 3252 253 C 3252 1760 27 3253 255 C 3253 43 1 3254 256 C 3254 290.77 4 3255 257 C 3255 100 2 3258 258 C 3258 42.þ¥«50 33 3259 259 C 3259 4.60 23 3260 261 C 3260 820.84 25 3261 262 C 3261 732.30 8 3262 271 C 3262 88.41 14 3263 263 C 3263 50 22 3264 264 C 3264 296.31 23 3265 265 C 3265 168.01 25 3268 272 C 3268 14.00 26 3276 278 C 3276þ]£á 146.75 11 3277 279 C 3277 60 1 3278 280 C 3278 19.01 11 3279 281 C 3279 72.18 5 ÿBTREE.PXûrrþÆï xBTREE Copyright (C) 1980 Rational Dataþ„– Systems¼  þË$¶ÌÚøÉ¡[ÚÚø‚ˆš¶šÚø®¶‚®Ä¡)Ü̹ؕÌڢ؈•¤Ú¢Ø•ˆ•¤¨ØÛáöÚ¢¶‚ˆ•¤² ¨¹èÆž¶È¡ð¶á ¶² ¨¹Z¶Ú¢ˆ•¤¨®¶‚®Ä¡)Ü̹ؕÌڢ؈•¤Ú¢Ø•ˆ•¤¨ØÛáôÚ¢¶‚ˆ•¤² ¨®®È¡*Ü̹ØÐÌ٢؈•¤¶¢Øþxð‚ˆ•¤¨ØÛáò¹ê¶•¸¶Ú¢‚ˆ•¤¨®¶•®È¡,Ü̹ØÐÌ٢؈•¤¶¢Ø‚‚ˆ•¤¨ØÛáîÙ¢¶ˆ•¤² ¨¶‚®®È¡*Ü̹ØÐÌ٢؈•¤¶¢Ø‚ˆ•¤¨ØÛáìÚˆšÙˆšÙ¢¶ùš¶¢Ùš­ G”Âë3®âٟáÚšÛÌ Ê ØšÊ ¢šÊ ¢ŸþŒ~š¹ôÙÌ ÌÊ øÌÝÜ‚†ÌØÊ ¢Þˆ•¤øÈ¡Þ•ÌØÊ ¢Þˆ•¤øÄ¡Þ‚ÌÜÝÉ¡öÝܕš#Ê ¢Þˆ•¤¢Ê ¢Þˆ•¤ú‚šÚš¹*ÜáÊ ùÌ¹Ê ¢Üˆ•¤ùÌÖØßÚÆ ÎÚø¡Öέ� ÀØøÌÚÝÉ¡ìÚ‚ÌØ¢Úˆ•¤ùÌÜøÌÞ•‚†ÌÙ¢ˆ•¤Ø¢Úˆ•¤¨Ù¢ˆ•¤¢ÜùšßÅ¡òþ×_® ß•® È¡.Ê Ì ¹Ê ÐÌ Ù¢Ê ‚ˆ•¤Ü¢Ê ˆ•¤¨Ê Ê Ã¡öØ¢Úˆ•¤Ü¢ßˆ•¤¨Ø¢Úˆ•¤¢ܚܢܢ߈•¤ùšÞߕ̮ Þ® È¡.Ê Ì ¹Ê ÐÌ Ü¢Ê ˆ•¤Ü¢Ê ß‚ˆ•¤¨Ê Ê Ã¡ôÜÞˆšÙ•ß‚ˆšÛš¹~® ® È¡.Ê Ì ¹Ê ÐÌ Ù¢Ê ‚ˆ•¤Ü¢Ê ˆ•¤¨Ê Ê Ã¡ðÚ® Ý•® þ}»È¡.Ê Ì ¹Ê ÐÌ Ø¢Ê ˆ•¤Ø¢Ê ‚ˆ•¤¨Ê Ê Ã¡îÙˆšØÝ•ˆš¹âÚáØù̹آڕˆ•¤ùÌÜø‚ÌÞ•†Ìßš敮 ® Ä¡/Ê Ì ¹Ê •Ì Ù¢Ê ß‚ˆ•¤Ù¢Ê ˆ•¤¨Ê Ê Ã¡ê٢߈•¤Ø¢Úˆ•¤¨Ù¢ßˆ•¤¢ÙùšÞß•Ìß•® ® Ä¡/Ê Ì ¹Ê •Ì Ù¢Ê ˆ•¤Ü¢Ê Þ‚þˆ•¤¨Ê Ê Ã¡è٢ܢވ•¤ùšØ¢Úˆ•¤Ü¢Þˆ•¤¨Ø¢Úˆ•¤¢ÙšÜÞ•ˆšÙ•ß‚ˆšÛš¹oÜ¢Þˆ•¤Ø¢Úˆ•¤¨Ü¢Þˆ•¤¢Ùùš® •® È¡.Ê Ì ¹Ê ÐÌ Ü¢Ê Þ‚ˆ•¤Ù¢Ê ˆ•¤¨Ê Ê Ã¡ä܈šØÝ•ˆš­:uîW—Ñ \Ñ@ØÌÛ¢Ûøˆ•¤ùÌþFmÚŸË¡ÖÚÙÎÙø¡ÖØÚÛøÙιKØ¢Ûøˆ•¤¢¶¢¶ˆ•¤ùš¶¢¶ˆ•¤Ø¢Ûøˆ•¤¨ÛÛø•ˆšÙÛøÉš­~ٟá0Ö¦KEY IS NOT IN TR¥€Š® ÒÏÖÊ ¦EEÏÖÊ ÏÚš¹òÙÌ ÌÊ øÌÜÛ‚†ÌØÊ ¢Ýˆ•¤øÈ¡Ý•ÌØÊ ¢Ýˆ•¤øÄ¡Ý‚ÌÜÛÅ¡öÛáÊ ùÌ¹Ê ¢Ûˆ•¤þ�ÝùÌÜÛ•Å¡bߟáKÊ Ê ø•ˆšÚÊ øɚݮ Ê ø® È¡,Ê Ì¹ÞÐÌÊ ¢Þˆ•¤Ê ¢Þ‚ˆ•¤¨ÞÊ Ã¡ô¹ÖßÚÎÚø¡ÖÙßÛÚÎ¹ÖØßÚÎÚø¡ÖÙßÛÚέPÔ ØŸË¡ðØÌ®Ù®È¡Ý̹ÚÐÌÖ¦ ¥€Š®ÒÏÚÜáö®Ûø®È¡$Ý̹ÚÐÌÖÛ¢Úˆ•¤ø¥€Š®ÒÏ ÚÜáôÖ¥€ŠÏÖÛùÙ‚Î®Ûø®þ•úÈ¡ Ý̹ÚÐÌÖÛ¢Úˆ•¤ùÙ‚ÎÚÜáò­ ^†¤ÖÆ€ŠÆ€ÈÏÖÆ€Š¦OUTPUTÏÖÆÆFÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€ŠÏŸ«Ö¥¥ÒÏ êË¡lÖ¦ SEARCH KEY¥€Š®� ÒÏÖÊ� êÏ ÖÊ� ÏÖê饥Îë¡,é«¥žéÌ� §� ˆš§� ¢èš§� ¢ˆ•¤¥¨ÖéÎÖ¥¥ÒÏ ¹öÖ¥¥ÒÏ êË¡KÖþÈå¦ DELETE KEY¥€Š®� ÒÏÖÊ� êÏ ÖÊ� ÏÖêé¥Îë¡ éøÃ¡é«èù«ÖéÎÖ¥¥ÒÏ ¹ôÖÆ€ŠÏÖÆÏ­`Û ,2ü€àŒÊÿINPUT.ú$ÔÔÉ.ÿT36.ûÚ¸ þ¦´PROGRAM T36(INPUT,OUTPUT); TYPE INTSTR = ARRAY [1..10] OF INTEGER; VAR INCHNL,OUTCHNL,NBYTE,NBYTESREAD,ERROR,NBYTESWROTE,BYTE:INTEGER; NEWBYTE,STRING:INTSTR; PROCEDURE RDSQ(IOCH:INTEGER;VAR BUFFER:INTSTR; NBYTES:INTEGER;VAR NBYTESREAD:INTEGER;VAR ERROþêÃR:INTEGER);EXTERNAL; PROCEDURE PBYT(VAR BYTE:INTEGER;POSITION:INTEGER;STRING:INTSTR);EXTERNAL; PROCEDURE GBYT(VAR BYTE:INTEGER;POSITION:INTEGER;STRING:INTSTR);EXTERNAL; PROCEDURE SWAP(VAR WORD:INTEGER);EXTERNAL; PROCEDURE RDLI(CHANNEL:INTEGER;VAR STRING:INþïATSTR;VAR NBYTESREAD:INTEGER; VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WRLI(CHANNEL:INTEGER;STRING:INTSTR;VAR NBYTESWROTE: INTEGER;VAR ERROR:INTEGER);EXTERNAL; BEGIN INCHNL:=1;OUTCHNL:=2; REPEAT WRITELN(OUTPUT,' ENTER S','TRING CR'); RDLI(INCHNL,STRING,þê-NBYTESREAD,ERROR); WRITELN(OUTPUT,' ENTER B','YTE TO B','E EXTRAC','TED'); READLN(INPUT,NBYTE); GBYT(BYTE,NBYTE,STRING); WRITELN(OUTPUT,BYTE); WRITELN(OUTPUT,' ENTER B','YTE TO BE PUT'); RDSQ(INCHNL,NEWBYTE,1,NBYTESREAD,ERROR); SWAP(NEWBYTE[1]); PBþ^‡qYT(NEWBYTE[1],NBYTE,STRING); WRLI(OUTCHNL,STRING,NBYTESWROTE,ERROR); UNTIL INCHNL = 2 END. ÿT.û½½ &ÿ EDIT.SVûÚÚ þ-& VþG lþ,x, t 9ÿÿ tÿÿÿÿþøQÿÿ%ÿÿÿÿ²ÿÿCOPYRIGHT (C) DGC,1972,1973,1974 ALL RIGHTS RESERVEDEDIT REV 01.00 \8) ¥)�)¥az h  ü8 3S9ùÞX0 )‚  ø  ê1q¥ ç  ä9lå á8©¨KìKëë…CšCÊCïGìC±C§CêCèC»CîCðCÕCC„CåþÐa­!G4 Ò !E  ÂãPC÷CôCé)BKóÓÂPCÆÃP  ´):  ° …¦Cõ  ¨!4 " ¤)-Õ ? ŸSÜ " ›Ó)$ ? –ÓSÛÓSÚÓQ!"0 B 3õÑ2Ð! *3õõ *O°±FCOM.CMUY Êë (€…Cðò#õ+Æ¥)t¥ 1#õ‚PC™ ‘ k#é)e¦€‚PCõCÆ!] +!=Gë!ç0 B „þôóC› 5)Y� E)X¥ 13õ *õ3õ+ëªPµ +›1I• µ ì  F!Å0 B D0Zÿ"õ›�"Æ‚�2ëåùøÑÐ+Jø8ÒPSõÿ!Gë (n#ÆCõ) Õ ‘)¥ õ+Æ3õͱÑÐ ))¥ ºõõ ¥#ÆÅ¤#› +3õÑÐ )¬*+  k#õC™…C¤CãC¥ Z)c� ¥ U)ì� )^� )\1X¥KÅK¥+¤²PÒP;¥ú9ÝåK!ÊQþ7¿ÎPŽ8K¤ :ëãý+¤ã©K¤‚ &)Ë�  ,)Ç� õÇ 5)K££/£ª (–3™ (#ð‚ …Cð‘£7£� ì î¬ë#ð‚õí#òð#óCõ¡ò8Sä3õ )õ1•ûä": -0I^@ >ÿà{{ÿÿA VB…CyD]E)F (G8H0IœJxKTLMêN÷PªQöRþK(SòT°U5WEX=Y RZ‹:+=7.> •# !- - -ò8ò8  â "Cù3õ )õ ž1 *¥ ÓÓª ú "ùKYŠEHDµRÁN‚S›C˜Zö?`H®#±‚  (”1$ö` (#ê‚  (b3¦ (#è‚  ("1ö` (ùË (ó (ôù¬ Xÿ§ÿ±­Kà+êª þ?  (ùÎ+èª  (Üù!ðæ` G+ઠæ /Æ=3Û­ ? xª  …C± ($ù#ùCýRCæ))§ ¦ p!næ`)kî` ()" k  ¤‚+ઠ…C¤ ùù÷ó8Sýÿ) Í î ($…�Cà[  R€à.SC0*õò8SþC£K¢):Kã)9KäKáCâ3¢¢ ))/‚ ¥ ))� ))¥ ä¬Käï3£ *£ãêø)Kä+᪠­Káþ�ó¢3¢‚ Sõ…3£ *#âþ) Käç ($Ò9.ÿý:ÿìÿõÿ±ÿ§�•ò8SþCäCáªPKã3ä ))í‚ ¥ äù!èCâ3ã )3ä *äãâù…3ä *#áþ‘…Cà+èª û+êª  F+ߪ ? @3Ú Î…Cè3Û ÊCê#±‚ %!Âæ`­3Û )? µ#æ ¼3Û »!·æ`+ઠª] « ' )­î`!¬æ`  ù…C±C§C»CêCè (41�ö` (òþÞm!—æ` õåFâ)ª…PCà¿„­!æ`)îaä ÿ) Š!æ`  ÚÊ)ÿ±ÿ»³.BU %#õCä u3õ… *#ä 3 #õCä i…3õ *õ +õKã a3õ… *#ä+ã  3õ! *ù»ò8Sý#õ+¦ 1#õ)-î` ,ý+¦)&î`Kà (P3à (£9ã#õCä 53õ… *5øÓ#ä ? ñ ? î)ð�¥ ? è ? åþ­qÇÿ§ó8SþC£K¢!YCá3££ )1ÙÅ …Câ3¢¢ )1ÒÅ …+â� þ‚ áíþþò8Sþõ3õ ))¿¥ ûþâ8Cý3õ )õ /Cà)+� ;))� 2+±ª  (ž>)¥ !)� 8#è‚3Ú ?#ê‚  3Û#±‚ #æ 03Û 4…CêC±C§C»Cè OCRWIÿõ+èª -3Ú "­Kè(+èª% (Ü +êª3Û …C»Cê!æ`ý "ý þõ9\ ?û4\ ?õ4ÿ»âÿ§!ÿæ` ü+ઃ#Cá 3Ú)7 )?. ?ÞKç)4§  á (dÒ„®)'Í  (')"Í Ë ($!CáC¦3Û) )? ?¾)§   (F³„Cê¯) Í ä (8  €3á ( â8Cþ+¤#ô¦+÷¥ +é¤Cô’ )þþKô…ü\Ò�"))‚‚À§8ò8Sü3¤ÑÒKþQ­PÑÓ¬SÅK¤3ô )+¤ªK Ð u‚ ) �úÅø­PK¤ Å jüü ÿò8Sü3é   üü k Ë ò8Sü+é3÷Íóò8Sü3ô ô«ìò8Sü3õ ))*¥ %#š‚ +ì#÷ƒ�Œ`1…̓ý+¤ª �Kš+šª 1 ( 1ûüü…Cšò (ÔüõíP?öê Ëâ8Cû#÷Cô#¤�€C¤ † ûûã8D#÷CôãD8þ/#éúDâ8Cý#ë‚P+™¥)X¤L (¦#邊ƒCÆ )M¥C (Ê#ÆC£!C¢ )¥ ÷) ¥ )l¢¥  3£ *£ò  Õ k…3£ *#Æ à)(5& ?Û ?1Ç (dÒ#™5 ?¦3ëÓPÅø5 ? 3ÆÒ�…Býƒ ³ù 9ã1„…ò8SþCû#ôCä#õCã3ã )) � CÇ3ä )ä‚)3ǵ •ôëþ�ƒãíþ#ãCõ#äCôþ#÷Côûþ (ªþâ8Cø'øSä‚ Cä‚ —…øCã3ä )‚ø +3ä )ä+ã1ê• µ óø8Sâ äþ+â„C¥  Ë Ûpü\Ò�:) ‚úÀ¿žÁžZ8ÿã8Cû#ôCã  ê ã8Cû#ôCã  á#ã3ôĊ²SôSéCä3ä )ä3é *‚éøûêâ8Cú#õCÑ vú#õ+Ñ�K¤  ¿…C¤õ  ºõ3õ )þ¯î)�õúú]ò8#¤‚õò8Sþ#é‚�ƒC£+õ3ïÒ +ñ3ðÒ+ò1éÍ K¢¢+¢�9ªP3é¶Sé3ôKÏÎKäÊ��£'£¢G¢«û)Ñ#¤1/Ç� 3ô *ô3õ )õ)Ã� 3ô *ôÏöÇõ#ôCã3ä )ä3ã *‚ãø#ãCéþþ (.#ï+ð3õ‚ ª øS™öòó…Q…ê8CÐKú#¤‚ú#÷+é� …C¤ ðúú#Ђ úþ2Rõ úòâ8Cû#¤‚Jû‚…PCÈ…�C¤ û…C¤ ûÈ÷ûû R©â8Cú#é+÷�…C¤ õ„�C¤ Üü#ß‚úúâ8Cþ#ð‚@3¤ÒZþÒÕPSí3õ ))P�)L� /+îª/)E¥ 5#õCò#óCõðþþKîõ#õ+ë3ì«K£S¢Cóµe –Só‚��Kä£'£¢G¢äû#óî‘ Ð…SëëGëëõþ (º#ìCëë…CîCðþ3óS£õþñ© )£ +3£+ìÃ�ƒŒøþþ?DM\8#é+õ3ðÒ+ò1Í¥ŸÕÔâ "ÕPâ8CýÓ  …CÊ3õ ) C)A¥ õÊÕ#è‚Ò (ô0#¤ŠPªJ,+ô‚]+÷KäCÉÒ53ä )‚ #ä3Ú ?#ŽKää3ä )ä‚)� Éì3Ú .?#Ê‚ #š‚ …C¤ 4ý "ý WIŽKä!Å O (‚Î3ä )‚ì +3ä )þ†Ää)ì� Éõãâ8Cý#÷Cä­KãSâ#ä3â+ã•ý3ä )ä1וãõò8#¤‚JSþ+誊UªP¦P3ç)Ï  )�¢CË… Ëýþþ »! 3Ú ? ø (ôþž è9ò8#÷ò8#éSü+šª K¤­KÊ+êª8CéCô…Cß 2 (Nßü3é §KÎ#é3Û ?)ŽKéé3é )‚õ3šÒ )IŒ éΤ è (Nß #ô+éþZôÊ�#ß‚ü…3é *üœ (üŽKéé!$Å é!!Å ç!"ßÅ  (‚!3é *éÖ!3é *éß (š+Ϋ  Ê!Å ’ (�Ï k \ÔÕâ8CýSá14#¥‚ 19S£…Câ£7£Ò !0̓ýÎ1*Å âKã +ãï3âÒ ú!ø3âÒ ý+᪠õ! ýê8Kþ+᪠ +þ3õ *õþ 'èd 0 þt@+  ·ùâ8ƒCù3õ )õ1 *¥ ÓÓª úùù (_ 5+ 8- ;O P! >? #¤C ù ù ù#¤+ ¥ ù õ3õ ))¥ ù)m¥ óõù!-#õCñ!æ`Cõ+  3õ!^ *!æ`Cõ„Cï…C¤ ù…Cï#ñCõù Êÿœœ!1ò8SÿCÒ)I§)D�!?)'� &):� () K¡¡7¡SÍ¡/¡KÌ¡/¡¡7¡ª÷«  ¥K•Jöþ¶#Íö *#Ò+̦ö %+Ò!¤ ÖÿÛ !­Köô+åª !ø#ö) ¥ÿCö! öýÿ $  \­¬\šÔößýý�úÂæ8CÓ! æP3ÜÓª 3Ú­P ? zÿÓ9ò8Sþ­P3Ü!2æP ? ö#Ô)Ù1Ô§• ô1í•� !ÍCÔ1"• � +#Ô3ÕÒ)1¥• 1¾Æ)3åÐ� þSå×!¶ ·Ô% +Õ¨! KÕ +ÍÿÔþóF@Z<ç  f?f?TEXT BUFFER FULL DURING INSERT TEXT BUFFER FULL WHILE READING COMMAND BUFFER FULL;EXECUTING COMMAND ??PARITY,LINE # STR NOT FOUND MACRO UNDEFINED OR ERROR IN MACROOUTPUT FILE IN USE NO OUTPUT FILENO INPUT FILEFILE NAME þ *IN USE-ILLEGAL FILE NAME-NO SUCH FILE-FILE CAN'T BE USED FOR INPUTFILE CAN'T BE USED FOR OUTPUTLINE TOO LONGDISK FILE READ ERRORSAVE COMMAND BUFFER?(1-YES, 0-NO) ENTER FILENAME ILLEGAL ARGUMENT IN COMMAND LINE SYSTEM ERROR # : INPUT IN UþìOSE!-OUTPUT IN FILE -RENAMING ERROR,OUTPUT IN -FILE IS IN USE!-INPUT FILE- UNKNOWN ERROR EXECUTION ABORTED EDITING FILE OPENED BY UY OR UN - USE UE,US OR UC TO CLOSE! ILLEGAL WINDOW WIDTH PAGE MODE LINES WIDE WINDOW MODE  þ´Ë !ú )8#›)/¥ õ+Æ3õÍïÑÐ )!%¥ èõõõ3õ#ÆÅá#› +ö¢©¨‚¢Cö3õÑÐ )ÒYÿ83ÜÓ)ú ? u÷ ò8SÿCÒ)û§ !¿ ë#Òÿò8)ï� )W� 3ÆSä…PCãCö#õ3äÅ$ä ) ë +ã¦Cã­ Köï#ããö#öê­ KöKãæò8+媅P#ö)*¥ÿ�#› Éþ¼:!&)©3ÜÓ ? ##ã‚!­P ß‚ Cãö3ÜÓ! ­P ? ãü#Òÿ b fj 9 V5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚þÿ1978.06û½½ þiD 2107.75 D 4990 C 2589 5 DM 14.60 DM 7.50 D 5680 C 2590 105.78 C 2591 311.54 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 E 5817.44 W 8373.52 D 32þI{.927.50 C 2608 1352.93 C 2609 50 CC 2610 CC 2611 DM 7.37 C 2612 17 D 2040 ÿDATA.ûrrþËáB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 1þ—Ú19.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C þi2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 þľDM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 þø5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65þµu 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.þ?ù20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.0þÝ+0 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18þe 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2þ¿ø482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 þ¯k10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00þBË 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 12 C þ¯„2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.32 8 þtZ14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C 2555 þîT500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568 563.þ¼ 06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.70 18 þı16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 109.92 þ'22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25 19 CþÐ 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 C 2621 368 23 28 C 2622 52.30 5 20 C 2623 309.14 8 2þm 0 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 C 2638 1200þL 21 21 C 2639 1000 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 205.74 22 22 C þ`2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 5 23 D 6212.50þ‚Ÿ CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 23 24 C 2680 11þ?0 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C 2693 134.32 22þ© 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 365.69 C 2706 18.50 18 26 D 7130 C 2707 295þ¾c 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.58 17 27 C 2721 115þú 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 27 C 2734 164.11 5 2þ˜�7 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 174.34 8 28 C 2748 2þüäf08.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2762 1510 21 29 ÿ1980.D3ûŽŽ þÐÕ 1 C 3040 704.45 2 C 3066 250 27  3 C 3069 96 4 4 C 3075 23 5 5 C 3076 100 24 6 C 3077 10.77 6 7 C 3078 22.50 4 8 EM 810 17 15 9 EM 811 604.28 15 10 EM 812 643.69 15 11 D 1þÆ40 34 12 D 8347.06 34 13 D 2086.75 14 C 813 980.89 14 15 C 817 205.18 12 16 C 3081 35 4 17 C 3067 62 1 18 C 3083 34 6 19 C 3071 330 20 20 C 3085 50.99 5 21 C 816 1581.88 12 22 C þæ…819 1581 12 23 D 1468.38 34  24 D 871.98 34 25 D 13056 34 26 D 12436.99 34 27 D 435.99 34 28 C 3068 10 18 29 C 3086 138.02 25 30 C 3088 1040 23 31 C 3090 5324 9 32 C 3091 250 8 33 þ42C 3092 206.59 20 34 C 3093 15.40 22 35 C 3094 120.70 4 36 C 3095 20 26 37 C 3096 775 9 38 C 3097 32.88 10 39 C 3098 74.05 22 40 C 3099 4000 32 41 C 3101 1557.44 25 42 C 3104 40 33 43 C 3þW¸103 42.50 10 44 C 3105 504.39 25 45 C 3106 119.98 4 46 C 3107 793.50 9 47 C 3108 1537.50 27 48 C 3109 3394.50 6 49 C 3110 25 3 50 EM 818 140 27 51 EM 820 1581 12 52 EM 833 948.57 12 53 EþÙM 834 912.14 12 54 EM 835 17 15 55 EM 836 181.73 14 56 EM 837 482.61 15 57 EM 838 2742.40 14 58 EM 840 622.50 27 59 EM 821 195.18 12 60 EM 822 1415.95 12 61 C 3113 79.95 5 62 C 3114 69.95 10 þ | 63 C 3115 200 20 64 C 3116 225 27 65 C 3117 4.65 10 66 C 3119 48 18 67 C 3120 1940.43 25 68 C 3121 269.78 17 69 C 3123 12.24 4 70 C 3124 93.27 15 71 C 3125 181.78 15 72 C 3126 243.77 14 þµ 73 C 3127 68.45 23 74 C 3129 128.35 5 75 C 3130 25.98 5 76 C 3132 15.90 5 77 C 3133 125.81 22 78 C 3134 20.47 22 79 C 3135 85.15 22 80 D 435.99 34 81 D 906.32 34 82 D 435.99 34 83 DþsŸ 1628 34 84 D 3000 34 85 D 11481.06 34 86 C 3112 25 26 87 C 3118 1.30 11 88 C 3122 100 26 89 C 3128 7.86 22 90 C 3138 185.26 4 91 C 3139 19.37 10 92 C 3140 6.17 10 93 C 3141 6.46 10 þ²ë 94 C 3142 3.96 10 95 C 3143 3.62 10 96 C 3144 42.08 22 97 C 3145 46.50 3 98 C 3146 36.70 11 99 C 3147 27.73 10 100 C 3148 25.95 5 101 C 3149 6 33 102 C 3150 95 33 103 C 3151 78.50 33 104 Cþzz 3152 1000 25 105 C 3153 227.40 25 106 C 3154 100 8 107 C 3155 160.43 4 108 C 3156 835.38 25 109 C 3157 781.68 25 110 C 3198 28.30 3 111 EM 823 1000 12 112 C 3158 21.92 5 113 C 3159 12 33 114 C 31þ¾765 638.45 27 115 C 3167 15 5 116 C 3160 155.47 17 117 C 3161 34 10 118 C 3163 594 17 119 C 3166 465 4 120 C 3168 83.85 3 121 C 3169 200 24 122 D 1834.55 34 123 D 435.99 34 124 D 802.29 34 125 þÎ? EM 824 333.14 15 126 EM 825 378.68 15 127 EM 826 2590.51 14 128 EM 827 425.95 12 129 EM 828 82.50 26 130 EM 829 138.70 14 131 EM 841 1425.95 12 132 EM 830 1425.95 12 133 EM 831 205.18 12 134 EM 832 20þQþ9.37 12 135 D 905 34 136 D 594 34 137 D 520 34 138 D 435.99 34 139 DM 18.88 140 C 3162 39.95 18 141 C 3164 130.46 14 142 C 3170 120.97 4 143 C 3171 18 33 144 C 3172 36.70 10 145 C 3173 947.5þã0 25 146 C 3174 80 26 147 C 3175 204 5 148 C 3177 496.56 25 149 C 3178 136.20 25 150 C 3179 729 17 151 C 3180 170 23 152 C 3182 121.30 11 153 C 3183 25.91 22 154 C 3184 127 17 155 C 3186 10.08 23 þP 156 C 3200 1020 27 157 D 13331.89 34 158 D 11943.74 34 159 D 4546.81 34 160 D 129.24 34 161 D 3229.35 34 162 D 715 34 163 C 3176 50 22 164 C 3181 950 7 165 C 3185 125 23 166 C 3187 174.75 23þóÑ 167 C 3188 290.64 4 168 C 3189 1372 27 169 C 3190 3.28 5 170 C 3191 18 5 171 C 3192 5.68 23 172 C 3203 100 27 173 C 3193 37.25 23 174 C 3194 147.08 23 175 C 3195 17 23 176 C 3196 50 21 177 þQ)C 3199 26 33 178 C 3201 2764.81 27 179 C 3202 948.17 25 180 C 3204 55.20 5 181 C 3205 14.25 7 182 C 3206 10 6 183 C 3207 7.58 5 184 C 3208 60.59 2 185 C 3209 250.65 25 186 EM 842 209.37 12 187 EM þKB844 1527.87 12 188 EM 845 290.37 12 189 EM 846 3584 14 190 D 531.21 34 191 EM 843 1527.87 12 192 EM 847 1527.87 12 193 EM 848 209.37 12 194 EM 849 1000 12 195 EM 850 9000 12 196 C 3210 720 27 197 þ_�C 3211 69.37 2 198 C 3212 1.81 11 199 C 3213 176.55 25 200 C 3214 10.46 25 201 C 3215 18.28 5 202 3216 64.28 5 203 C 3217 547.32 17 204 C 3218 136.48 17 205 C 3219 48.60 10 206 C 3220 170 23 207 þ\…C 3221 10 8 208 C 3224 227.40 17 209 C 3225 36 5 210 C 3222 450 27 211 C 3223 10.64 5 212 C 3226 93.71 4 213 C 3227 74.13 2 214 C 3230 31 26 215 EM 851 4000 36 216 C 3229 2774.75 23 217 C 3228 102þD<.08 4 218 C 3231 35 18 219 D 4888.40 34 220 D 3435.99 34 221 EM 852 1527.87 12 222 C 3232 125 23 223 C 3233 3654.15 23 224 C 3235 37 33  225 C 3236 42.50 33 226 C 3237 2282.26 6 227 C 3238 138.17 3þf�3 228 C 3239 95.64 2 229 C 3240 3.70 5 230 C 3241 4.33 5 231 C 3242 35.39 18 232 EM 854 48.65 12 233 EM 853 540 15 234 D 3148 34 235 D 296.31 34 236 D 1403.43 34 237 D 174 34 238 D 2600 30 þÍ 239 C 3243 28.20 3 240 C 3244 341.40 10 241 C 3245 500 25 242 C 3246 328.44 10 243 C 3247 784.13 25 244 C 3248 125.30 11 245 C 3249 5.76 23 246 C 3250 50 24 247 C 3252 1760 27 248 C 3251 100 2 þç1249 C 3253 43 1 250 C 3254 290.77 4 251 C 3255 100 2 252 C 3258 42.50 33 253 C 3259 4.60 23 254 C 3260 820.84 25 255 C 3261 732.30 8 256 C 3263 50 22 257 C 3264 296.31 23 258 C 3265 168.01 25 259þЀ D 435.99 34 260 C 3082 1350.12 25 261 C 3136 16.00 1 262 C 3216 64.28 5 263 C 3234 298.80 25 264 C 3262 88.41 14 265 C 3268 14.00 26 266 C 3276 146.75 11 267 C 3277 60 1 268 C 3278 19.01 11 269 þÀt C 3279 72.18 5 270 CC 3064 271 CC 3070 272 CC 814 273 CC 3087 274 CC 3137 275 CC 839 276 CC 3131 277 CC 3084 278 CC 3089 279 CC 3100 280 CC 3102 281 CC 3111 0 270 CC 3064 0 27þÆá1 CC 3070 0 272 CC 814 0 273 CC 3087 0 274 CC 3137 0 275 CC 839 0 276 CC 3131 0 277 CC 3084 0 278 CC 3089 0 279 CC 3100 0 280 CC 3102 0 281 CC 3111 1 87 C 3118 1.30 11 1 198 C 3212 1.81 11 3 94 C 3142 3þaè.96 10 3 95 C 3143 3.62 10 3 169 C 3190 3.28 5 3 229 C 3240 3.70 5 4 65 C 3117 4.65 10 4 230 C 3241 4.33 5 4 253 C 3259 4.60 23 5 171 C 3192 5.68 23 5 245 C 3249 5.76 23 6 92 C 3140 6.17 10 6 93 C 3141 6.46 10 6þ©l 101 C 3149 6 33 7 89 C 3128 7.86 22 7 183 C 3207 7.58 5 10 6 C 3077 10.77 6 10 28 C 3068 10 18 10 155 C 3186 10.08 23 10 182 C 3206 10 6 10 200 C 3214 10.46 25 10 207 C 3221 10 8 10 211 C 3223 10.64 5 12 69 þ ýC 3123 12.24 4 12 113 C 3159 12 33 14 181 C 3205 14.25 7 14 265 C 3268 14.00 26 15 34 C 3093 15.40 22 15 76 C 3132 15.90 5 15 115 C 3167 15 5 16 261 C 3136 16.00 1 17 8 EM 810 17 15 17 54 EM 835 17 15 17 175 C 3þÒ¨195 17 23 18 143 C 3171 18 33 18 170 C 3191 18 5 18 201 C 3215 18.28 5 19 91 C 3139 19.37 10 19 268 C 3278 19.01 11 20 36 C 3095 20 26 20 78 C 3134 20.47 22 21 112 C 3158 21.92 5 22 7 C 3078 22.50 4 23 4 C 307þ‘ 5 23 5 25 49 C 3110 25 3 25 75 C 3130 25.98 5 25 86 C 3112 25 26 25 100 C 3148 25.95 5 25 153 C 3183 25.91 22 26 177 C 3199 26 33 27 99 C 3147 27.73 10 28 110 C 3198 28.30 3 28 239 C 3243 28.20 3 31 214 C 3230 31þ*Q 26 32 38 C 3097 32.88 10 34 18 C 3083 34 6 34 117 C 3161 34 10 35 16 C 3081 35 4 35 218 C 3231 35 18 35 231 C 3242 35.39 18 36 98 C 3146 36.70 11 36 144 C 3172 36.70 10 36 209 C 3225 36 5 37 173 C 3193 37.25 23 þƒ! 37 224 C 3235 37 33 39 140 C 3162 39.95 18 40 42 C 3104 40 33 42 43 C 3103 42.50 10 42 96 C 3144 42.08 22 42 225 C 3236 42.50 33 42 252 C 3258 42.50 33 43 249 C 3253 43 1 46 97 C 3145 46.50 3 48 66 C 3119 48 18 þÈ 48 205 C 3219 48.60 10 48 232 EM 854 48.65 12 50 20 C 3085 50.99 5 50 163 C 3176 50 22 50 176 C 3196 50 21 50 246 C 3250 50 24 50 256 C 3263 50 22 55 180 C 3204 55.20 5 60 184 C 3208 60.59 2 60 267 C 3277 60 1 62 þ  17 C 3067 62 1 64 262 C 3216 64.28 5 68 73 C 3127 68.45 23 69 62 C 3114 69.95 10 69 197 C 3211 69.37 2 72 269 C 3279 72.18 5 74 39 C 3098 74.05 22 74 213 C 3227 74.13 2 78 103 C 3151 78.50 33 79 61 C 3113 79.95 5 þkó 80 146 C 3174 80 26 82 129 EM 828 82.50 26 83 120 C 3168 83.85 3 85  79 C 3135 85.15 22 88 264 C 3262 88.41 14 93 70 C 3124 93.27 15 93 212 C 3226 93.71 4 95 102 C 3150 95 33 95 228 C 3239 95.64 2 96 3 C 3069 96 4þæ� 100 5 C 3076 100 24 100 88 C 3122 100 26 100 106 C 3154 100 8 100 172 C 3203 100 27 100 248 C 3251 100 2 100 251 C 3255 100 2 102 217 C 3228 102.08 4 119 45 C 3106 119.98 4 120 35 C 3094 120.70 4 120 142 C 3170þÑ­ 120.97 4 121 152 C 3182 121.30 11 125 77 C 3133 125.81 22 125 165 C 3185 125 23 125 222 C 3232 125 23 125 244 C 3248 125.30 11 127 154 C 3184 127 17 128 74 C 3129 128.35 5 130 141 C 3164 130.46 14 136 149 C 3178 136.2þ¡�0 25 136 204 C 3218 136.48 17 138 29 C 3086 138.02 25 138 130 EM 829 138.70 14 138 227 C 3238 138.17 33 140 50 EM 818 140 27 146 266 C 3276 146.75 11 147 174 C 3194 147.08 23 155 116 C 3160 155.47 17 160 107 C 3155 160þb¼.43 4 168 258 C 3265 168.01 25 170 151 C 3180 170 23 170 206 C 3220 170 23 174 166 C 3187 174.75 23 176 199 C 3213 176.55 25 181 55 EM 836 181.73 14 181 71 C 3125 181.78 15 185 90 C 3138 185.26 4 195 59 EM 821 195.18þô³ 12 200 63 C 3115 200 20 200 121 C 3169 200 24 204 147 C 3175 204 5 205 15 C 817 205.18 12 205 133 EM 831 205.18 12 206 33 C 3092 206.59 20 209 134 EM 832 209.37 12 209 186 EM 842 209.37 12 209 193 EM 848 209.37 12 2þT25 64 C 3116 225 27 227 105 C 3153 227.40 25 227 208 C 3224 227.40 17 243 72 C 3126 243.77 14 250 2 C 3066 250 27 250 32 C 3091 250 8 250 185 C 3209 250.65 25 269 68 C 3121 269.78 17 290 167 C 3188 290.64 4 290 þV188 EM 845 290.37 12 290 250 C 3254 290.77 4 296 257 C 3264 296.31 23 298 263 C 3234 298.80 25 328 242 C 3246 328.44 10 330 19 C 3071 330 20 333 125 EM 824 333.14 15 341 240 C 3244 341.40 10 378 126 EM 825 378.68 15 425 þ 128 EM 827 425.95 12 450 210 C 3222 450 27 465 119 C 3166 465 4 482 56 EM 837 482.61 15 496 148 C 3177 496.56 25 500 241 C 3245 500 25 504 44 C 3105 504.39 25 540 233 EM 853 540 15 547 203 C 3217 547.32 17 594 118 C þ–‹3163 594 17 604 9 EM 811 604.28 15 622 58 EM 840 622.50 27 638 114 C 3165 638.45 27 643 10 EM 812 643.69 15 704 1 C 3040 704.45 720 196 C 3210 720 27 729 150 C 3179 729 17 732 255 C 3261 732.30 8 775 37 C 3096 775þ| 9 781 109 C 3157 781.68 25 784 243 C 3247 784.13 25 793 46 C 3107 793.50 9 820 254 C 3260 820.84 25 835 108 C 3156 835.38 25 912 53 EM 834 912.14 12 947 145 C 3173 947.50 25 948 52 EM 833 948.57 12 948 179 C 3202 948þ,j.17 25 950 164 C 3181 950 7 980 14 C 813 980.89 14 1000 104 C 3152 1000 25 1000 111 EM 823 1000 12 1000 194 EM 849 1000 12 1020 156 C 3200 1020 27 1040 30 C 3088 1040 23 1350 260 C 3082 1350.12 25 1372 168 C 3189 1372 þ” 27 1415  60 EM 822 1415.95 12 1425 131 EM 841 1425.95 12 1425 132 EM 830 1425.95 12 1527 187 EM 844 1527.87 12 1527 191 EM 843 1527.87 12 1527 192 EM 847 1527.87 12 1527 221 EM 852 1527.87 12 1537 47 C 3108 1537.50 27 1557þÖ” 41 C 3101 1557.44 25 1581 21 C 816 1581.88 12 1581 22 C 819 1581 12 1581 51 EM 820 1581 12 1760 247 C 3252 1760 27 1940 67 C 3120 1940.43 25 2282 226 C 3237 2282.26 6 2590 127 EM 826 2590.51 14 2742 57 EM 838 2742.þ™Ú40 14 2764 178 C 3201 2764.81 27 2774 216 C 3229 2774.75 23 3394 48 C 3109 3394.50 6 3584 189 EM 846 3584 14 3654 223 C 3233 3654.15 23 4000 40 C 3099 4000 32 4000 215 EM 851 4000 36 5324 31 C 3090 5324 9 9000 195 EM þ è850 9000 12 ÿIO.ûÕWþ‘ .ENT ?OPEN,?ENDL,?ENDF,?RDLI,?WRLI,?CREA .NREL ; PROCEDURE OPEN (VAR FILENUMBER : INTEGER ; FILENUMBER : ALPHA OR ; INTEGER ; VAR ERRORNUMBER : INTEGER);EXTERNAL; ; PROCEDURE IS ENTERED WITH : ; C (AC3) ADDRESS OF BYTE ADDRESSOF ERROR NUMMBER ; C (AC3þm-1) ADDRESS OF BYTE ADDRESS OF FILE NAME ; C (AC3-2) ADDRESS OF BYTE ADDRESS OF FILE NUMBER ; CALLER SUPPLIES FILE NAME ; OPEN RETURNS FILE NUMBER AND ERROR NUMBER .TITL OPEN .EXTN XPRET ?CREA: STA 3,USP LDA 0,-1,3 ;GET BYTE POINTER TO FILE NAME .SþR YSTM .DELETE ;DELETE IT JMP .+1 .SYSTM .CRAND ;CREATE RANDOM FILE JMP ERTN ; OPEN FILE HERE ?OPEN: STA 3,USP LDA 0,-1,3 ;BYTE ADDRESS OF FILE NAME .SYSTM .GCHN ;GET FREE CHANNEL NO IN AC2  JMP ERTN SUBO 1,1 ;CLEAR AC0 .SYSTM .OPEN Cþ_™PU ;OPEN FILE UP JMP ERTN ; CHANNEL NO TO PASCAL LDA 3,-2,3 ;BYTE ADDRESS OF VAR FILENUMBER MOVZR 3,3 ;WORD ADDRESS NOW STA 2,0,3 ;CHANNEL NO BACK LDA 3,USP ;RESTORE AC3 LDA 2,BUFAD ADD 0,2 SUBO 1,1 STA 1,0,2 ADC 0,0 ;GENERATE -1 JMP SAVþwIT ERTN: MOV 2,0 SAVIT: LDA 2,0,3 ;GET ADDRESS OF ERROR NO ;ERROR = -1 IF NO ERROR ELSE = SYSTMERR MOVZR 2,2 ;MAKE IT A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL SUBO 1,1 ;GEN 0 TO WARN PASCAL ;PROCEDURE IS RETURNING XPRET ;BACK TO PASCAL þY ; BUFFER STATUS TABLE ; FOR CHANNEL N SEE ADDRESS BUFAD+N ; BIT 0 SET = END OF LINE ; BIT 15 SET = END OF FILE BUFAD: .+1 .BLK 30 ; FUNCTION ENDL (CHANNEL NUMBER : INTEGER );BOOLEAN;EXTERNAL; ?ENDL: STA 3,USP MOV 0,2 ;SAVE STACK PþROINTER FOR FUNCTION VALUE IN AC2 LDA 0,0,3 ;GET CHANNEL NO INTO AC0 LDA 3,BUFAD ;GET BUFFER ADDRESS IN AC3 ADD 0,3 ;CHANNEL NO + BUFFER ADDRESS IN AC2 LDA 0,0,3 ;GET CHANNEL STATUS SUBZL 1,1 ;GENERATE TRUE MOVZL# 0,0,SNC ;SKIP IF BIT 0 = 1 SUBþ#ÅO 1,1 ;GENERATE FALSE STA 1,0,2 ;TRUE OR FALSE IN AC1 BACK TO PASCAL SUBZL 1,1 ;TELL XPRET 1 ARG. TO BE COPIED LDA 3,USP XPRET ; FUNCTION ENDF(CHANNEL NO. : INTEGER );BOOLEAN;EXTERNAL; ?ENDF: STA 3,USP MOV 0,2 ;SAVE STACK POINTER IN AC2 LDAþZ~ 0,0,3 ;GET CHANNEL NO INTO AC0 LDA 3,BUFAD ;GET BUFFER ADDRESS INTO AC3 ADD 0,3 ;CHANNEL NO + BUFFER ADDRESS IN AC2 LDA 0,0,3 ;GET CHANNEL STATUS SUBZL 1,1 ;GENERATE TRUE ( +1) MOVZR# 0,0,SNC ;SKIP IF BIT 0 = 1 SUBO 1,1 ;GENERATE FALSE STA 1þm,0,2 ;TRUE OR FALSE IN AC1 BACK TO PASCAL SUBZL 1,1 ;TELL XPRET 1 ARG. TO BE COPIED LDA 3,USP XPRET ; PROCEDURE RDLI( CHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : ; INTEGER ; VAR ERROR : INTEGER );EXTERNAL; ; AC3 = ADDRESS OF BYTE ADDREþ–¸SS OF ERROR ; AC3-1 = ADDRESS OF BYTE ADDRESS OF NBYTESREAD ; AC3-2 = ADDRESS OF BYTE ADDRESS OF BUFFER ; AC3-3 = ADDRESS OF CHANNEL NO ?RDLI: STA 3,USP  LDA 2,-3,3 ;GET CHANNEL NO INTO AC2 LDA 0,-2,3 ;GET ADDRESS OF BUFFER .SYSTM .RDL CPU JMP þE.+2 ADC 2,2 ;GENERATE -1 FOR OK RETURN TO PASCAL MOV 2,0 ;ERROR NUMBER IN AC0 LDA 2,0,3 ;BYTE ADDRESS OF VAR ERROR MOVZR 2,2 ;MAKE IT A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL ; ERROR NO = -1 FOR NORMAL RETURN ; = 0 OR MORE IFF AN ERROR SEE SþDuYSTM ERROR AC2 'S ; CHECK IF AC2 = EREOF (END OF FILE) ; SENT NO OF BYTES READ INCL. TERMINATOR TO PASCAL LDA 3,-1,3 ;GET ADDRESS OF BYTE ADDRESSOF VAR NBYTESREAD MOVZR 3,3 STA 1,0,3 ;BACK TO PASCAL LDA 2,C6 SUBO 1,1 ;GENERATE 0 FOR NOT EOF Sþ:6UBZ 2,0,SNR ;SKIP IF NOT EOFILE SUBZL 1,1 ;GENERATE 1 LDA 2,BUFAD LDA 3,USP LDA 0,-3,3 ;GET CH NO AGAIN ADD 0,2 ;BUFAD + CH NO IN AC2 STA 1,0,2 SUBO 1,1 ;WARN XPRET PROCEDURE RETURNING XPRET C6: 6 ;ERROR CODE 6 ;PROCEDURE WRLI(CHANNEL : INTEþz0GER ;BUFFER : ALPHA ; ; VAR NBYTESWROTE : INTEGER ; VAR ERROR : INTEGER );EXTERNAL; ; AC3 = ADDRESS OF BYTE ADDRESS OF ERROR ; AC3-1 = ADDRESS OF BYTE ADDRESS OF NBYTESREAD ; AC3-2 = ADDRESS OF BYTE ADDRESS OF BUFFER ; AC3-3 = ADDRESS OF CHANNEL NO ?þÄJWRLI: STA 3,USP LDA 2,-3,3 ;GET CHANNEL NO INTO AC2 LDA 0,-2,3 ;GET ADDRESS OF BUFFER .SYSTM .WRL CPU JMP .+2 ADC 2,2 ;GENERATE -1 FOR OK RETURN TO PASCAL MOV 2,0 ;ERROR NUMBER IN AC0 LDA 2,0,3 ;BYTE ADDRESS OF VAR ERROR MOVZR 2,2 ;MAKE ITþ�æ A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL ; ERROR NO = -1 FOR NORMAL RETURN ; = 0 OR MORE IFF AN ERROR SEE SYSTM ERROR AC2 'S ; CHECK IF AC2 = EREOF (END OF FILE) LDA 2,C6 SUBO 1,1 ;GENERATE 0 FOR NOT EOF SUBZ 2,0,SNR ;SKIP IF NOT EOFILE SUBZþ¬Ý±L 1,1 ;GENERATE 1 LDA 2,BUFAD LDA 3,USP LDA 0,-3,3 ;GET CH NO AGAIN ADD 0,2 ;BUFAD + CH NO IN AC2 STA 1,0,2 SUBO 1,1 ;WARN XPRET PROCEDURE RETURNING XPRET .END ÿT15.ûŽ/þ1èbPROGRAM T15; VAR I : 1..10; BEGIN I := 1 END. ÿ1978.07û½½þfƒC 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45 C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 E 3104.27 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 C 2630 164 C 2631 400.88 CC 2632 C 26þ”×c33 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2639 1000 C 2640 115 C 2641 30 E 3991.35 W 2861.14 C 2642 101.39 D 3000 C 2643 140 ÿFDUMP.SVúÆDUMP.SVÿTEST6.û޽ þ7ãPROGRAM TEST(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTRþxW: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; þu R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; VAR INSTR : STRING[132]; DESTINATION,SOURCE : TEXT; LINE : LINESTRING; {$I þÒkPCHAR.PI} {$I READLINE.PI} {$I WRITELINE.PI} BEGIN WRITE(' INPUT FILE NAME? '); READLN(INSTR); FILETITLE(SOURCE,INSTR); RESET(SOURCE); WRITE(' OUTPUT FILE NAME? ');READLN(INSTR); FILETITLE(DESTINATION,INSTR); RESET(DESTINATION); REPEAT BEGIN þVFè READLINE(SOURCE,LINE); WRITELINE(DESTINATION,LINE); END UNTIL EOF(SOURCE) END. ÿFOBAR.ûŽŽþ<@B 4196.05 C 2332 2000 C 2313 1804.52 C 2337 43.50 C 2338 6.00 C 2345 53.35 C 2347 38.00 C 2348 50.00 C 2356 264.05 C 2354 50.00 D 23546.64 DM 250.00 C 2355 280.60 CC 2357 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366þ2 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.8þ³É0 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 D 13878.10 DM 1865.00 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. DM 250.00 C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 C 2402 80. D 3222.52 C 2403 1562þ.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 238þˆ[Ñ6 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75 C 2431 110 C 2432 991 C 2433 41.5 ÿOPEN.BUû޽"þ€PROCEDURE OPEN(RDOSCHANNEL : INTEGER;FILENAME : BIGSTR ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTOPEN =6207; {.OPEN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := Fþ­ILENAME; WRITELN(' ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTOPEN; R0.SPTR := FILEPTR; R0.INT := R0.INT+1; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN OPEN = ',R2.INT); ERR := ERROR; ERRNUM þ,I–:= R2.INT; END; RELEASE(HEAP); END; {OPEN} ÿGETREAL.BUûŽŽ þUæFUNCTION GETREAL( STR : BIGSTR;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; SIGNOF = (PLUS,MINUS); VAR LEN : INTEGER; FGETREAL,þØ PLACE :REAL; PART : WHOLORFRACT ; SIGN : SIGNOF; BEGIN SIGN := PLUS; PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF NOT (STR[I] IN [þ�Ê'0'..'9','-','.']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : BEþ1¼GIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { WRITELþµN(' FP');} END END; {case} I := I+1; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END; CASE SIþ`PÁGN OF PLUS : GETREAL := FGETREAL; MINUS : GETREAL := -FGETREAL; END;{case} END;{getreal} ÿCBOOK.02ûs½ þ€�PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK,ERRORENTRY); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,þY#I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; OUTFILE,INFILE : TEXT; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(OUTFILE,' ERROR',STR); END;{erroþŸr} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(OUTFILE,' CK ',CHECKNUMBER : 10); REALPþ”ÀRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(OUTFILE,' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(OUTFILE,NEWBALANCEþE©); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(OUTFILE,' DP ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT)þÃ4; REALPRINT(OUTFILE,NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(OUTFILE,' CM ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); þ0 REALPRINT(OUTFILE,NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(OUTFILE,' DM ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUþ%ÀTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(OUTFILE,' CC ',CHECKNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; CHECKNUMBþµMER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' EM ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REþ€°ALPRINT(OUTFILE,NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' WH 'þ,BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN ENTRY := ERRORENTRY; CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK þ¨ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN þlÛENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(LINE[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(LINE[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); þ�›FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.þª¸0; WRITELN(OUTFILE,' KEY TO TRANSACTION TYPES'); WRITELN(OUTFILE,' C CHECK CC CANCELLED CHECK'); WRITELN(OUTFILE,' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(OUTFILE,' DP DEPOSIT BL FORCED BALANCE'); WRITELNþ#à(OUTFILE,' EM EMPLOYEE CK WH  WITHOLDING CHECK'); WRITELN(OUTFILE); WRITELN(OUTFILE,' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZE; WRITELN(OUTFILE); WHILE NOT EOF(INFILE) DO BEGIN READLN(INFIþ´ÄLE,STR); GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHþìOLDINGCHECK; ERRORENTRY : ERROR; END;{case} WRITELN(OUTFILE); END; WRITELN(OUTFILE);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTALS '); REALPRINT(OUTFILE,TOTALDEBITS);REALPRINT(OUTFILE,TOTALCREDITS); REALPRINT(OUTFILE,NEWBALANCE); WRITELN(OUTFþ¡kßILE); WRITE(OUTFILE,' TOTAL CHECKS ');REALPRINT(OUTFILE,TOTALCHECKS);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL DEPOSITS');REALPRINT(OUTFILE,TOTALDEPOSITS);END. ÿPL.CMûqqþv‡_CHATR PL.PA 0 CHATR PL.PX 0 DELETE PL.PA XFER PL PL.PA/R CHATR PL.PA *WP PASINTERP PASCALO/L/S/V/A PL CHATR PL.PX *WP ÿ1980.D4ûŽŽþ 0 1 2 5 18 24 44 63 260 273 274 275 276 277 SEARCH KEY 0 1 C 3040 704.45 2 CC 3064 5 CC 3070 18 CC 814 24 CC 3087 44 CC 3137 63 CC 839 260 CC 313þ§?1 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 AMOUNT = 7.044E+02 1 20 255 268 279 SEARCH KEY 1 20 C 3067 62 1 255 C 3253 43 1 268 C 3136 16.00 1 279 C 3277 60 1 AMOUNT = þ A 1.810E+02 2 190 203 219 234 254 257 SEARCH KEY 2 190 C 3208 60.59 2 203 C 3211 69.37 2 219 C 3227 74.13 2 234 C 3239 95.64 2 254 C 3251 100 2 257 C 3255 100 2 AMOUNT = 4.997E+02 3 54 1þAß03 116 126 245 SEARCH KEY 3 54 C 3110 25 3 103 C 3145 46.50 3 116 C 3198 28.30 3 126 C 3168 83.85 3 245 C 3243 28.20 3 AMOUNT = 2.118E+02 4  4 9 19 39 50 75 96 113 125 14þ-Q8 173 218 223 256 SEARCH KEY 4 4 C 3069 96 4 9 C 3078 22.50 4 19 C 3081 35 4 39 C 3094 120.70 4 50 C 3106 119.98 4 75 C 3123 12.24 4 96 C 3138 185.26 4 113 C 3155 160.43 4 125 C 3166 465 4 þé 148 C 3170 120.97 4 173 C 3188 290.64 4 218 C 3226 93.71 4 223 C 3228 102.08 4 256 C 3254 290.77 4 AMOUNT = 2.115E+03 5 6 23 67  80 81 82 106 118 121 153 175 176 186 189 207þa 215 217 235 236 269 281 SEARCH KEY 5 6 C 3075 23 5 23 C 3085 50.99 5 67 C 3113 79.95 5 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 106 C 3148 25.95 5 118 C 3158 21.92 5 þlG 121 C 3167 15 5 153 C 3175 204 5 175 C 3190 3.28 5 176 C 3191 18 5 186 C 3204 55.20 5 189 C 3207 7.58 5 207 C 3215 18.28 5 215 C 3225 36 5 217 C 3223 10.64 5 235 C 3240 3.70 5 236 C 3241 4.33 5 269 þõçC 3216 64.28 5 281 C 3279 72.18 5 AMOUNT = 8.845E+02 6 8 21 53 188 232 SEARCH KEY 6 8 C 3077 10.77 6 21 C 3083 34 6 53 C 3109 3394.50 6 188 C 3206 10 6 232 C 3237 2282.26 6 AMOUNT = 5.731E+03 þàR 7 170 187 SEARCH KEY 7 170 C 3181 950 7 187 C 3205 14.25 7 AMOUNT = 9.642E+02 8 36 112 213 262 SEARCH KEY 8 36 C 3091 250 8 112 C 3154 100 8 213 C 3221 10 8 262 C 3261 732.30 8 AMOUNT =þÓl 1.092E+03 9 35 41 51 SEARCH KEY 9 35 C 3090 5324 9 41 C 3096 775 9 51 C 3107 793.50 9 AMOUNT = 6.892E+03 10 42 48 68 71 97 98 99 100 101 105 123 150 211 246 þ· 248 SEARCH KEY 10 42 C 3097 32.88 10 48 C 3103 42.50 10 68 C 3114 69.95 10 71 C 3117 4.65 10 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 105 C 314þEÃ7 27.73 10 123 C 3161 34 10 150 C 3172 36.70 10 211 C 3219 48.60 10 246 C 3244 341.40 10 248 C 3246 328.44 10 AMOUNT = 1.006E+03 11 93 104 158 204 250 278 280 SEARCH KEY 11 93 C 3118 1.30 11 10þr`4 C 3146 36.70 11 158 C 3182 121.30 11 204 C 3212 1.81 11 250 C 3248 125.30 11 278 C 3276 146.75 11 280 C 3278 19.01 11 AMOUNT = 4.521E+02 12 17 25 26 56 57 58 65 66 117 134 137þÅÝ 138 139 140 192 193 194 197 198 199 200 201 227 238 SEARCH KEY 12 17 C 817 205.18 12 25 C 816 1581.88 12 26 C 819 1581 12 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12þç: 65 EM 821 195.18 12 66 EM 822 1415.95 12 117 EM 823 1000 12 134 EM 827 425.95 12 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 192 EM 842 209.37 12 193 EM 844 1527þ±%.87 12 194 EM 845 290.37 12 197 EM 843 1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 227 EM 852 1527.87 12 238 EM 854 48.65 12 AMOUNT = 2.998E+04 14 16 6þ�=0 62 78 133 136 147 195 271 SEARCH KEY 14 16 C 813 980.89 14 60 EM 836 181.73 14 62 EM 838 2742.40 14 78 C 3126 243.77 14 133 EM 826 2590.51 14 136 EM 829 138.70 14 147 C 3164 130.46 14 þPª 195 EM 846 3584 14 271 C 3262 88.41 14 AMOUNT = 1.068E+04 15 10 11 12 59 61 76 77 131 132 239 SEARCH KEY 15 10 EM 810 17 15 11 EM 811 604.28 15 12 EM 812 643.69 15 59 EM 8þß 35 17 15 61 EM 837 482.61 15 76 C 3124 93.27 15 77 C 3125 181.78 15 131 EM 824 333.14 15 132 EM 825 378.68 15 239 EM 853 540 15 AMOUNT = 3.291E+03 17 74 122 124 156 160 209 210 214 SEARCH KEY 1þ©Ï7 74 C 3121 269.78 17 122 C 3160 155.47 17 124 C 3163 594 17 156 C 3179 729 17 160 C 3184 127 17 209 C 3217 547.32 17 210 C 3218 136.48 17 214 C 3224 227.40 17 AMOUNT = 2.786E+03 18 32 72 146 22þSC4 237 SEARCH KEY 18 32 C 3068 10 18 72 C 3119 48 18 146 C 3162 39.95 18 224 C 3231 35 18 237 C 3242 35.39 18 AMOUNT = 1.683E+02 20 22 37 69 SEARCH KEY 20 22 C 3071 330 20 37 C 3092 206.59 20 þe½ 69 C 3115 200 20 AMOUNT = 7.365E+02 21 182 SEARCH KEY 21 182 C 3196 50 21 AMOUNT = 5.000E+01 22 38 43 83 84 85 95 102 159 169 263 SEARCH KEY 22 38 C 3093 15.40 22 43 Cþ¨B 3098 74.05 22 83 C 3133 125.81 22 84 C 3134 20.47 22  85 C 3135 85.15 22 95 C 3128 7.86 22 102 C 3144 42.08 22 159 C 3183 25.91 22 169 C 3176 50 22 263 C 3263 50 22 AMOUNT = 4.967E+02 23 34 79 þÓè157 161 171 172 177 179 180 181 212 222 228 229 251 259 264 SEARCH KEY 23 34 C 3088 1040 23 79 C 3127 68.45 23 157 C 3180 170 23 161 C 3186 10.08 23 171 C 3185 125 23 172 þuR C 3187 174.75 23 177 C 3192 5.68 23 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 17 23 212 C 3220 170 23 222 C 3229 2774.75 23 228 C 3232 125 23 229 C 3233 3654.15 23 251 C 3249 5.76 23 259 C 3259 4þ =.60 23 264 C 3264 296.31 23 AMOUNT = 8.825E+03 24 7 127 252 SEARCH KEY 24 7 C 3076 100 24 127 C 3169 200 24 252 C 3250 50 24 AMOUNT = 3.500E+02 25 33 46 49 73 110 111 114 115 þcà 151 154 155 185 191 205 206 247 249 261 265 267 270 SEARCH KEY 25 33 C 3086 138.02 25 46 C 3101 1557.44 25 49 C 3105 504.39 25 73 C 3120 1940.43 25 110 C 3152 1000 25 111 C 3153þ•x 227.40 25 114 C 3156 835.38 25 115 C 3157 781.68 25 151 C 3173 947.50 25 154 C 3177 496.56 25 155 C 3178 136.20 25 185 C 3202 948.17 25 191 C 3209 250.65 25 205 C 3213 176.55 25 206 C 3214 10.46 25 247 C 3þšÕ245 500 25 249 C 3247 784.13 25 261 C 3260 820.84 25 265 C 3265 168.01 25 267 C 3082 1350.12 25 270 C 3234 298.80 25 AMOUNT = 1.387E+04 26 40 92 94 135 152 220 272 SEARCH KEY 26 40 C 3095 20 26 þyí 92 C 3112 25 26 94 C 3122 100 26 135 EM 828 82.50 26 152 C 3174 80 26 220 C 3230 31 26 272 C 3268 14.00 26 AMOUNT = 3.525E+02 27 3 52 55 64 70 120 162 174 178 184 202 216 þž‰ 253 SEARCH KEY 27 3 C 3066 250 27 52 C 3108 1537.50 27 55 EM 818 140 27 64 EM 840 622.50 27 70 C 3116 225 27 120 C 3165 638.45 27 162 C 3200 1020 27 174 C 3189 1372 27 178 C 3203 100 27 184 C 3201 þÓÅ2764.81 27 202 C 3210 720 27 216 C 3222 450 27 253 C 3252 1760 27 AMOUNT = 1.160E+04 32 45 SEARCH KEY 32 45 C 3099 4000 32 AMOUNT = 4.000E+03 33 47 107 108 109 119 149 183 230 2þ¹=31 233 258 SEARCH KEY 33 47 C 3104 40 33 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 119 C 3159 12 33 149 C 3171 18 33 183 C 3199 26 33 230 C 3235 37 33 231 C 3236 42.50 33 233 C 3238 138.17þ�Éè 33 258 C 3258 42.50 33 AMOUNT = 5.356E+02 36 221 SEARCH KEY 36 221 EM 851 4000 36 AMOUNT = 4.000E+03 ÿ284.ûÐÐ ÿR.PXû½½þ­%®TEST  Copyright (C) 1980 Rational Dataþ„” Systems¼þê7²²¼ Ї½²¼²¼ž �Š–ž¸²²¼½­4Æ ¦ ª ÆÆ¼Æ¼žŠ–dŠ�³@LÌ̃½ÌÌÌÜÊÈ¡ÖÎÆ Û•›Ú0‚¿Û‚Ì܂̹öÆ Û•›.¿Û‚ÌÆÆ¼½Æ¼³A±Û É„¡&ÖÎÛá Æ Û•›,¿Û‚ÌÆ Û•›Ú0‚¿Û‚̹ôÖ¦ STRING=¥€…ÌÊÒÏÖÊÆ ÏÖÊÏ­^þ2E” ÐÖÆ€…Æ€ÃÏÖÆ€…¦OUTPUTÏÖÆÆAÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€…ÏÖ¦ ENTER A REAL NUMBER¥€…Ì�Ê�ÒÏÖÊ�ÏÖ¥¥ÒÏÖ¥¼ÎÖ¥Ï ¡öÖÆ€…ÏÖÆÏ­P–pžÿG.ûÜÜ ÿ1978.08û½½7þAC 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 500 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 C 2657 116.89 D 1545 E 3874.55 C 2659 368 C 2660 37 C 2661 2þ,5 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 96.30 C 2668 495.42 C 2669 145 BC 2670 8.70 C 2671 16.80 C 2672 29 C 2673 11.48 W 2210 W 483 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 C 2678 49.56 C 2679 10000 C 2680 110 C 2681 100þ6x,7 C 2682 37.64 E 4018.89 W 2792.12 W 800.03 D 4762.50 ÿTEST.CMûŽl9þˆ†CHATR TEST.PA 0 CHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V/A/L TEST CHATR TEST.PA *WP CHATR TEST.PX *WP ÿTEST.POûll "þ±ånTEST Copyright (C) 1980 Rational Dataþ„Í Systems¼   þÓÐÆž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙªÿÆ€†ž Æ€…žÆ€‡Ç€žÊ€‡ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊ€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…þMÂÆž ÆžÛÌݚݢÇ?šÝ¢ ØšÛž#Ýù¡)Ö¦ ERROR IN CLOSE = ¥�J®ÒÏÖÞÝýÏ ÖÞÏÙÝùšÚÝýšÆž!­`ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€‡ÒÏÖÊ€‡Ê€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊþož€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€†ÏÖÊ€ˆÏÊ€„Ì€ˆÊ€ˆšÊ€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šÊ€„ž#Ê€ˆù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€þ\•žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…®Æž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥þ"•�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šÆž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡5Ö¦ ERROR IN READSEQUENTIAL = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­  ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†þäÒÌ€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡:Ö¦ ERROR IN WRITESEQUENTIAL = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…´ ÖÆ�JÆ�ˆÏÖÆ�J¦OUTPUTÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎþŸ«Ö§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾Ä~$Äx:þd, þÿ1978.DOûŽŽ0þ ì 1 B 4196.05 2 C 2332 2000 21 1 3 C 2313 1804.52 22 1 4 C 2337 43.50 0 0 5 C 2338 6.00 0 0 6 C 2345 53.35 0 0 7 C 2347 38.00 0 0 8 C 2348 50.00 24 1 9  C 2356 264.05 0 0 10 C 2354þñ 50.00 20 1 11 D 23546.64 12 DM 250.00 13 C 2355 280.60 22 1 14 CC 2357 15 C 2358 10 3 1 16 C 2359 42.80 10 1 17 C 2360 119.40 19 1 18 C 2361 50 18 1 19 CC 2362 20 CC 2363 21 CC 2þræ364 22 CC 2365 23 C 2366 50 18 1 24 CC 2367 25 CC 2368 26 CC 2369 27 CC 2370 28 C 2371 50 18 1 29 CC 2372 30 CC 2373 31 C 2374 547.42 17 1  32 C 2375 86 5 1 33 C 2376 500 21þÂå 1 34 C 2377 1500 21 3 35 C 2378 93.20 3 2 36 C 2379 1562.80 2 2 37 C 2380 3.60 5 2 38 C 2381 136.16 5 2 39 C 2382 114.98 18 2 40 DM 250 41 C 2383 139.24 4 2 42 C 2384 155 5 2 43 C 2385þY 60.30 5 2 44 C 2386 1151 17 2 45 C 2387 12 18 2 46 C 2388 66.80 22 2 47 C 2389 33.30 22 2 48 C 2390 22.80 22 3 49 C 2391 12 18 2 50 C 2392 39 22 2  51 C 2393 64.65 25 2 52 C 2394 85.54 22 2 þê 53 D 13878.10 54 DM 1865.00 55 C 2395 1000. 21 3 56 C 2396 405.38 4 3 57 C 2397 64. 8 3 58 D 3885. 59 DM 250.00 60 C 2398 14.85 18 3 61 DM 1865. 62 C 2399 7.95 18 3 63 C 2400 8.52 18þ"½ 3 64 C 2401 29.39 22 3 65 C 2402 80. 23 3 66 D 3222.52 67 C 2403 1562.80 2 5 68 C 2404 1887.00 17 5 69 C 2405 28.26 21 5 70 C 2406 52.68 5 5 71 C 2407 53.35 5 5 72 C 2408 27.00 5 5 73 CþH† 2409 301.50 21 5 74 C 2410 32.23 5 5 75 C 2411 110. 16 5 76 C 2412 1500 21 10 77 C 2413 15 18 3 78 C 2414 286.41 5 3 79 C 2415 12.68 5 3 80 C 2416 93.20 3 5 81 C 2417 7.75 11 3 82 C 2418 66.34þ« 4 3 83 C 2419 1197.81 5 5 84 C 2420 50 24 3 85 C 2421 261.65 23 5 86 C 2422 10 16 5 87 C 2423 2386 17 5 88 C 2424 28.15 23 5 89 C 2425 8.95 18 5 90 D 3727.5 91 C 2426 16.05 5 7 92 C 242þ)È7 450.59 17 5 93 C 2428 621.73 8 6 94 C 2429 4000. 21 6 95 C 2430 6.75 18 6 96 C 2431 110 5 6 97 C 2432 991 16 6 98 C 2433 41.5 20 6 99 C 2434 52 5 6 100 C 2435 675 8 6 101 D 10674.20 102 Dþãí 8655.39 103 D 3056.00 104 C 2436 40 20 6 105 CC 2437 106 C 2438 3.47 18 6 107 C 2439 11 18 6 108 C 2440 339.45 22 6 109  C 2441 28.76 18 6 110 C 2442 589.40 4 6 111 C 2443 19.89 22 6 112 C 2444 16þêb. 18 6 113 CC 2445 114 C 2446 93.20 3 6 115 C 2447 410.72 25 6 116 C 2448 695.00 7 6 117 C 2449 50. 27 6 118 C 2450 13.00 17 6 119 C 2451 55.00 22 7 120 C 2452 74.42 22 7 121 C 2453 56.30 5 7 122 þ`ÕC 2454 7.85 5 7 123 C 2455 223.17 5 7 124 C 2456 368.00 23 7 125 C 2457 1562.80 2 7 126 D 5534.20 127 C 2458 450.59 17 8 128 C 2459 75.65 11 8 129 C 2460 923. 5 8 130 CC 2461 131 CC 2462 132 C 246þ´x3 25 18 8 133 C 2464 26 22 8 134 C 2465 50.50 18 8 135 C 2466 39 5 8 136 C 2467 4.80 22 8 137 CC 2468 138 C 2469 70 18 8 139 C 2470 500 21 8 140 C 2471 12 22 8 141 D 6157.00 142 C 2472 113.56 4 8 þ°ª 143 C 2473 9.95 18 8 144 CC 2474 145 C 2475 368 23 8 146 C 2476 616 9 8 147 C 2477 208.65 5 8 148 C 2478 380 7 9 149 C 2479 129 5 9 150 C 2480 3.95 18 9 151 C 2481 7.06 1 9 152 C 2482 30 18 9 þù153 C 2483 15 18 9 154 D 5631.50 155 CC 2484 156 C 2485 2000 21 9 157 C 2486 7 1 9 158 C 2487 34.03 22 9 159 C 2488 474.35 5 9 160 C 2489 179.46 5 9 161 C 2490 145 5 9 162 D 5395 163 C 2491 12.3þþ¸0 18 9 164 C 2492 7 1 11 165 C 2493 2 22 9 166 C 2494 3.50 18 9 167 C 2495 46.49 4 10 168 CC 2496 169 C 2497 117.03 3 10 170 CC 2498 171 C 2499 1773.70 2 11 172 C 2500 94.90 22 11 173 C 2501 50 20þçÆ 11 174 C 2502 21.85 11 10 175 C 2503 89.37 8 10 176 D 10811.70 177 C 2504 547.42 17 11 178 C 2505 1203.31 22 11 179 C 2506 368 23 11 180 C 2507 616 9 11 181 C 2508 10.80 18 11 182 C 2509 23.30 5 11 þ¶ 183 C 2510 27.60 5 11 184 C 2511 126.00 5 11 185 C 2512 168.26 5 11 186 C 2513 230.66 25 11  187 C 2514 18 18 11 188 C 2515 20 18 11 189 C 2516 42 26 11 190 C 2517 8 18 11 191 D 7237.50 192 C 2518 446þÎ�.86 4 11 193 C 2519 20 26 12 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 198 C 2524 7 1 12 199 C 2525 16 10 12 200 C 2526 45.45 5 12 201 C 2527 13.30 5 1þŸl2 202 C 2528 387 17 12 203 C 2529 18.70 18 12 204 CC 2530 205 C 2531 1800 21 13 206 C 2532 206.25 26 12 207 C 2533 1703.40 2 12 208 D 3825 209 C 2534 3178.45 22 14 210 CC 2535 211 C 2536 97.67 23 þ‘a14 212 C 2537 55.93 4 14 213 C 2538 26 5 14 214 C 2539 550 24 14 215 C 2540 106.32 8 14 216 C 2541 105 3 14 217 C 2542 108.06 8 14 218 D 6507.66 219 CC 2543 220 C 2544 74.95 10 14 221 C 2545 671.8þ•1 17 14 222 C 2546 262.60 5 14 223 C 2547 50.50 5 14 224 C 2548 11.70 25 14 225 C 2549 85 6 14 226 C 2550 10 18 14 227 C 2551 34 6 14 228 C 2552 200 5 14 229 C 2553 368 23 14 230 C 2554 912.90 9 14 þ[—231 C 2555 500 21 14 232 C 2556 90 10 14 233 C 2557 120 1 15 234 C 2558 2.05 18 15 235 C 2559 899 17 15 236 C 2560 267.58 22 15 237 D 465 238 D 3182.36 239 C 2561 100 5 15 240 CC 2562 241 DM 200þPO 242 D 5187.50 243 C 2563 500 8 15 244 C 2564 100.75 10 15  245 C 2565 3000 21 15 246 C 2566 1800 21 17 247 C 2567 75.21 10 15 248 C 2568 563.06 4 15 249 C 2569 26 17 15 250 C 2570 192 22 15 251 C þïâ2571 14.30 5 15 252 C 2572 184.25 5 15 253 D 3000 254 C 2573 500 21 15 255 C 2574 115 3 16 256 D 11960.00 257 C 2575 42 26 16 258 C 2576 26.12 5 16 259 C 2577 81.71 4 16 260 C 2578 36.81 11 16 261 þc" C 2579 368.00 23 16 262 C 2580 671.81 17 16 263 C 2581 37.70 18 16 264 C 2582 72 6 16 265 C 2583 350 21 16 266 C 2584 23.95 8 16 267 C 2585 1773.70 2 16 268 CC 2586 269 C 2587 271.60 23 17 270 CC 2588 þ’ 271 D 2107.75 272 D 4990 273 C 2589 5 1 17 274 DM 14.60 275 DM 7.50 276 D 829.25 277 D 21228.50 278 D 5680 279 C 2590 105.78 8 17 280 C 2591 311.54 8 17 281 C 2593 770.94 25 17 282 C 2þ5ê594 109.92 22 17 283 C 2595 432.25 4 18 284 C 2596 28 1 18 285 C 2597 200 27 18 286 C 2598 919 2 18 287 C 2599 187.22 5 18 288 C 2600 134 5 18 289 C 2601 90.50 5 18 290 C 2602 153.64 5 18 291 C 2603 148þýr50. 22 18 292 CC 2604 293 C 2605 50 24 18 294 C 2606 186.36 8 18 295 C 2607 85 1 18 296 D 32927.50 297 C 2608 1352.93 25 19 298 C 2609 50 20 19 299 CC 2610 300 CC 2611 301 DM 7.37 302 C 2612þš› 17 6 20 303 D 14750.00 304 D 2040 305 C 2613 33 5 20 306 C 2614 9.22 5 20 307 C 2615 115 3 20 308 C 2616 1875.10 2 20 309 C 2617 134 5 20 310 C 2618 46.45 5 20 311 C 2619 790.75 17 20 312 C 2620 þÎë33 17 20 313 C 2621 368 23 20 314 C 2622 52.30 5 20 315 C 2623 309.14 8 20 316 C 2624 9 18 20 317 C 2625 1452.77 25 20 318 D 8742.50 319 C 2626 50 24 20 320 C 2627 39.50 18 20 321 CC 2628 322 C 26þNY29 56 17 20 323 C 2630 164 5 21 324 C 2631 400.88 4 21 325 CC 2632 326 C 2633 8.75 18 21 327 C 2634 7.50 1 21 328 C 2635 48 4 21 329 C 2636 12.55 11 21 330 C 2637 139.70 22 21 331 D 538 332 C 2638þ³· 1200 21 22 333 C 2639 1000 21 21 334 C 2640 115 3 21 335 C 2641 30 5 21 336 C 2642 101.39 4 22 337 D 3000 338 DM 3000.00 339 C 2643 140 22 21 340 C 2644 35 26 22 341 C 2645 671.81 17 22 342 C 264þ(³6 1850.16 2 22  343 C 2647 70 23 22 344 C 2648 14.20 23 22 345 C 2649 500 24 22 346 C 2650 13.05 11 22 347 C 2651 205.74 22 22 348 C 2652 199.40 5 22 349 C 2653 17.16 5 22 350 C 2654 19.94 5 22 351 C 265þvu5 34.12 22 22 352 D 2530.69 353 D 20162.50 354 D 8992.41 355 C 2656 1500 21 23 356 C 2657 116.89 1 23 357 D 1545 358 C 2659 368 23 22 359 C 2660 37 18 22 360 C 2661 25 22 22 361 C 2662 15 18 22 þÃG 362 C 2663 500 21 23 363 C 2664 25.35 5 23 364 D 6212.50 365 CC 2665 366 C 2666 50 24 23 367 C 2667 96.30 18 23 368 C 2668 495.42 4 23 369 C 2669 145 5 23 370 C 2670 8.70 1 24 371 C 2671 16.80 1 24 þi¿ 372 C 2672 29 5 23 373 C 2673 11.48 22 23 374 C 2674 1397.48 25 23 375 C 2675 200 28 23 376 C 2676 500 8 23 377 CC 2677 378 C 2678 49.56 8 24 379 C 2679 10000 23 24 380 C 2680 110 23 24 381 C 2681þ;ï 1007 23 24 382 C 2682 37.64 22 24 383 C 2683 2000. 21 25 384 C 2684 49.44 1 25 385 D 4762.50 386 C 2685 1850.16 2 25 387 C 2686 35.27 11 25 388 C 2687 115 3 25 389 C 2688 144.36 4 25 390 C 2689 50 22 2þ¬Ê5 391 C 2690 39.85 18 25 392 C 2691 141.22 4 25 393 C 2692 552.87 17 25 394 C 2693 134.32 22 25 395 CC 2694 396 D 1882.50 397 C 2695 500 8 25 398 C 2696 500 8 25 399 C 2697 20.32 5 26 400 C 2698 7þ ç50 21 26 401 C 2699 110.25 1 26 402 C 2700 368 23 25 403 C 2701 134.74 22 25 404 C 2702 6.90 5 25 405 C 2703 99 17 25 406 DM 11.49 407 DM 11.61 408 C 2704 36 18 26 409 C 2705 635.69 27 26 410 C 27þí06 18.50 18 26 411 D 7130 412 C 2707 295 26 26 413 C 2708 472.87 4 26 414 C 2709 15 18 26 415 C 2710 36.50 5 26 416 C 2711 16.75 18 26 417 C 2712 218.26 5 26 418 C 2713 139.96 13 26  419 CC 2714 420 þi› C 2715 50 22 26 421 C 2716 1500 21 27 422 C 2717 1500 21 28 423 C 2718 11.56 5 26 424 C 2719 4812.51 23 27 425 D 1545 426 C 2720 3920.58 17 27 427 C 2721 115 3 27 428 C 2722 76.99 22 27 429 C 2723 40.þ�30 5 27 430 C 2724 117.43 4 27 431 C 2725 552.87 17 27 432 C 2726 127.35 5 27 433 C 2727 6 18 27 434 C 2728 20 5 27 435 C 2729 52.84 11 27 436 C 2730 5.74 5 27 437 DM 23.10 438 C 2731 50 24 27 439 þ÷O D 592.50 440 C 2732 911.35 25 27 441 C 2733 46.85 5 27 442 C 2734 164.11 5 27 443 C 2735 1850.16 2 27 444 C 2736 140 1 27 445 D 1997 446 C 2737 368 23 27 447 D 1467.50 448 C 2738 154.01 5 28 449 þuƒC 2739 33 18 28 450 C 2740 40 23 28 451 C 2741 15.15 8 28 452 C 2742 342.32 8 28 453 C 2743 10 26 28 454 C 2744 160 27 28 455 C 2745 19 26 28 456 C 2746 1136.47 6 28 457 C 2747 174.34 8 28 458 C 2748 20þc™8.22 25 28 459 C 2749 131.46 10 28 460 D 13855 461 C 2750 145.75 10 28 462 C 2751 30 5 28 463 C 2752 54 5 28 464 C 2753 55 22 28 465 C 2754 569.90 4 28 466 C 2755 64.50 6 28 467 C 2756 75 28 29 468 þ�® CC 2757 469 C 2758 374 17 29 470 C 2759 115 3 29 471 C 2760 500 21 29 472 C 2761 500 21 29 473 C 2762 1510 21 29 474 E 496 1177.09 12 3 475 E 495 1076.21 12 3 476 E 494 392.55 12 2 477 E 493 456.63 12þðì 2 478 E 492 497.88 12 2 479 E 491 574.03 12 2 480 E 490 890.20 12 2 481 E 489 842.19 12 2 482 E 488 788.81 12 2 483 E 510 304.73 12 5 484 E 509 432.47 12 5 485 E 508 575.53 12 5 486 E 507 502.81 12 5 þ'; 487 E 506 842.80 12 5 488 E 505 1033.57 12 5 489 E 504 254.00 15 4 490 W 503 702.05 14 4 491 W 502 4521.60 14 4 492 W 501 387.26 12 3 493 W 500 372.80 12 3 494 W 499 561.91 12 3 495 W 498 497.97 12 3 þ1 496 E 497 926.48 12 3 497 E 519 84.76 12 12 498 E 520 483.00 15 8 499 E 511 830.88 12 7 500 E 537 464.55 12 10 501 E 531 356.37 12 9 502 E 529 589.96 12 9 503 E 530 436.65 12 9 504 E 528 393.86 12 9 50þÚv5 E 527 888.88 12 9 506 E 526 1034.18 12 9 507 E 525 991.35 12 9 508 E 524 733.00 15 8 509 W 522 182.00 12 8 510 W 523 1549.00 14 8 511 W 521 2210.00 14 8 512 W 518 3391.80 14 7 513 W 517 277.10 12 7 51þÕ44 E 516 259.01 12 7 515 E 515 439.51 12 7 516 E 514 398.75 12 7 517 E 513 1113.18 12 7 518 E 512 893.06 12 7 519 W 540 4601.70 14 10 520 E 532 1062.02 12 10 521 E 533 1122.84 12 10 522 E 534 999.70 12 10 þxÝ 523 E 535 538.32 12 10 524 E 536 643.20 12 10 525 E 538 386.34 12 10 526 E 539 105.03 12 10 527 W 541 1703.92 15 11 528 W 544 5.00 14 11 529 W 545 1345.38 15 11 530 E 546 924.04 12 12 531 E 547 982.73 12 þì‚12 532 E 548 873.83 12 12 533 E 549 473.57 12 12 534 E 550 542.91 12 12 535 E 551 440.27 12 12 536 E 553 299.63 12 12 537 E 552 185.93 12 12 538 E 568 343.38 12 15 539 E 569 304.73 12 15 540 E 567 596.1þcÀ5 12 15 541 E 566 465.02 12 15 542 E 565 948.24 12 14 543 E 564 985.99 12 14 544 E 563 991.80 12 14 545 E 557 473.57 12 13 546 E 558 601.00 12 13 547 E 560 265.01 12 13 548 E 555 991.16 12 12 549 E 554 þŠ 927.77 12 12 550 E 556 852.47 12 13 551 W 562 4255.04 14 13 552 E 561 297.08 12 13 553 E 559 688.29 12 13 554 E 570 1050.61 12 16 555 E 571 1069.11 12 16 556 E 572 1019.07 12 16 557 E 573 566.88 12 16 558þæä E 574 630.97 12 16 559 E 575 269.88 12 16 560 E 576 472.09 12 16 561 E 577 346.43 12 16 562 W 578 4412.14 14 16 563 W 579 483.00 15 16 564 W 580 2210.00 14 16 565 W 581 38.36 14 16 566 E 582 1046.89 12 17 þ« 567 E 583 1151.39 12 17 568 E 584 996.51 12 17 569 E 585 627.63 12 17 570 E 586 732.19 12 17 571 E 587 537.45 12 17 572 E 588 513.44 12 17 573 E 589 374.42 12 17 574 E 590 110.15 12 17 575 E 591 979.37 þOf12 18 576 E 592 1426.28 12 18 577 E 593 960.21 12 18 578 E 595 645.08 12 18 579 E 597 430.98 12 18 580 E 598 343.31 12 18 581 E 594 531.30 12 18 582 E 596 500.91 12 18 583 W 599 5659.58 14 18 584 W 600 þrö1863.74 15 18 585 W 602 850.20 15 18 586 E 603 796.26 12 20 587 E 604 802.32 12 20 588 E 605 379.26 12 20 589 E 606 542.91 12 20 590 E 607 283.06 12 20 591 E 608 180.93 12 20 592 E 609 282.18 12 20 593 þK[E 615 369.00 12 21 594 W 617 2861.14 14 21 595 E 625 2210.00 14 23 596 E 627 1209.08 12 24  597 E 628 1158.89 12 24 598 E 629 552.62 12 24 599 E 630 596.12 12 24 600 E 632 359.96 12 24 601 W 634 800.03 15 24 þš¬ 602 E 635 921.48 12 25 603 E 636 1050.72 12 25 604 E 637 533.66 12 25 605 E 638 610.74 12 25 606 E 639 361.79 12 25 607 E 640 201.10 12 25 608 E 645 346.92 12 26 609 E 610 325.46 12 21 610 E 611 1020.87 þQ°12 21 611 E 612 922.47 12 21 612 E 613 505.84 12 21 613 E 614 595.69 12 21 614 E 616 258.02 12 21 615 E 618 1053.55 12 23 616 E 619 845.14 12 23 617 E 620 420.35 12 23 618 E 621 548.51 12 23 619 E 622 2þgý93.42 12 23 620 E 623 339.16 12 23 621 E 624 374.42 12 23 622 W 626 483.00 15 23 623 E 631 142.22 12 24 624 W 633 2792.12 14 24 625 E 660 484.10 12 29 626 W 662 2276.24 14 29 627 E 650 981.35 12 28 628 þÙ·E 651 992.28 12 28 629 E 652 327.45 12 28 630 E 653 384.95 12 28 631  E 641 1081.13 12 26 632 E 642 1042.43 12 26 633 E 643 490.20 12 26 634 E 644 516.116 12 26 635 E 646 326.75 12 26 636 W 647 2424.72 14 26 þÈ 637 W 648 393.57 15 26 638 W 649 251.13 15 26 639 E 654 373.60 12 28 640 E 657 1176.43 12 29 641 E 658 1184.18 12 29 642 E 659 566.46 12 29 643 E 661 247.78 12 29 644 E 663 393.62 15 29 645 E 664 40.27 1þØh5 29 646 W 656 483 15 29 647 W 655 2210. 14 29 648 CC 542 649 CC 543 650 CC 2592 651 CC 2658 488 482 E 488 788.81 12 2 489 481 E 489 842.19 12 2 490 480 E 490 890.20 12 2 491 479 E 491 574.03 12 2 492 þ10 478 E 492 497.88 12 2 493 477 E 493 456.63 12 2 494 476 E 494 392.55 12 2 495 475 E 495 1076.21 12 3 496 474 E 496 1177.09 12 3 497 496 E 497 926.48 12 3 498 495 W 498 497.97 12 3 499 494 W 499 561.91 12 3 500 493 W 500 372þ'H.80 12 3 501 492 W 501 387.26 12 3 502 491 W 502 4521.60 14 4 503 490 W 503 702.05 14 4 504 489 E 504 254.00 15 4 505 488 E 505 1033.57 12 5 506 487 E 506 842.80 12 5 507 486 E 507 502.81 12 5 508 485 E 508 575.53 12 5 509 þ‹è 484 E 509 432.47 12 5 510 483 E 510 304.73 12 5 511 499 E 511 830.88 12 7 512 518 E 512 893.06 12 7 513 517 E 513 1113.18 12 7 514 516 E 514 398.75 12 7 515 515 E 515 439.51 12 7 516 514 E 516 259.01 12 7 517 513 W 517 27þ;T7.10 12 7 518 512 W 518 3391.80 14 7 519 497 E 519 84.76 12 12 520 498 E 520 483.00 15 8 521 511 W 521 2210.00 14 8 522 509 W 522 182.00 12 8 523 510 W 523 1549.00 14 8 524 508 E 524 733.00 15 8 525 507 E 525 991.35 12 9 52þË®6 506 E 526 1034.18 12 9 527 505 E 527 888.88 12 9 528 504 E 528 393.86 12 9 529 502 E 529 589.96 12 9 530 503 E 530 436.65 12 9 531 501 E 531 356.37 12 9 532 520 E 532 1062.02 12 10 533 521 E 533 1122.84 12 10 534 522 E þH|534 999.70 12 10 535 523 E 535 538.32 12 10 536 524 E 536 643.20 12 10 537 500 E 537 464.55 12 10 538 525 E 538 386.34 12 10 539 526 E 539 105.03 12 10 540 519 W 540 4601.70 14 10 541 527 W 541 1703.92 15 11 542 648 CC 542 þ÷543 649 CC 543 544 528 W 544 5.00 14 11 545 529 W 545 1345.38 15 11 546 530 E 546 924.04 12 12 547 531 E 547 982.73 12 12 548 532 E 548 873.83 12 12 549 533 E 549 473.57 12 12 550 534 E 550 542.91 12 12 551 535 E 551 440.þëø27 12 12 552 537 E 552 185.93 12 12 553 536 E 553 299.63 12 12 554 549 E 554 927.77 12 12 555 548 E 555 991.16 12 12 556 550 E 556 852.47 12 13 557 545 E 557 473.57 12 13 558 546 E 558 601.00 12 13 559 553 E 559 688.29 12 13þ\x 560 547 E 560 265.01 12 13 561 552 E 561 297.08 12 13 562 551 W 562 4255.04 14 13 563 544 E 563 991.80 12 14 564 543 E 564 985.99 12 14 565 542 E 565 948.24 12 14 566 541 E 566 465.02 12 15 567 540 E 567 596.15 12 15 568 þ þ 538 E 568 343.38 12 15 569 539 E 569 304.73 12 15 570 554 E 570 1050.61 12 16 571 555 E 571 1069.11 12 16 572 556 E 572 1019.07 12 16 573 557 E 573 566.88 12 16 574 558 E 574 630.97 12 16 575 559 E 575 269.88 12 16 576 560þQ E 576 472.09 12 16 577 561 E 577 346.43 12 16 578 562 W 578 4412.14 14 16 579 563 W 579 483.00 15 16 580 564 W 580 2210.00 14 16 581 565 W 581 38.36 14 16 582 566 E 582 1046.89 12 17 583 567 E 583 1151.39 12 17 584 568 E 58þ44 996.51 12 17 585 569 E 585 627.63 12 17 586 570 E 586 732.19 12 17 587 571 E 587 537.45 12 17 588 572 E 588 513.44 12 17 589 573 E 589 374.42 12 17 590 574 E 590 110.15 12 17 591 575 E 591 979.37 12 18 592 576 E 592 1426.2þЄ8 12 18 593 577 E 593 960.21 12 18 594 581 E 594 531.30 12 18 595 578 E 595 645.08 12 18 596 582 E 596 500.91 12 18 597 579 E 597 430.98 12 18 598 580 E 598 343.31 12 18 599 583 W 599 5659.58 14 18 600 584 W 600 1863.74 15 1þ ž8 602 585 W 602 850.20 15 18 603 586 E 603 796.26 12 20 604 587 E 604 802.32 12 20 605 588 E 605 379.26 12 20 606 589 E 606 542.91 12 20 607 590 E 607 283.06 12 20 608 591 E 608 180.93 12 20 609 592 E 609 282.18 12 20 610 þê© 609 E 610 325.46 12 21 611 610 E 611 1020.87 12 21 612 611 E 612 922.47 12 21 613 612 E 613 505.84 12 21 614 613 E 614 595.69 12 21 615 593 E 615 369.00 12 21 616 614 E 616 258.02 12 21 617 594 W 617 2861.14 14 21 618 615 þ¦ëE 618 1053.55 12 23 619 616 E 619 845.14 12 23 620 617 E 620 420.35 12 23 621 618 E 621 548.51 12 23 622 619 E 622 293.42 12 23 623 620 E 623 339.16 12 23 624 621 E 624 374.42 12 23 625 595 E 625 2210.00 14 23 626 622 W 626 þù,483.00 15 23 627 596 E 627 1209.08 12 24 628 597 E 628 1158.89 12 24 629 598 E 629 552.62 12 24 630 599 E 630 596.12 12 24 631 623 E 631 142.22 12 24 632 600 E 632 359.96 12 24 633 624 W 633 2792.12 14 24 634 601 W 634 800.0þD=3 15 24 635 602 E 635 921.48 12 25 636 603 E 636 1050.72 12 25 637 604 E 637 533.66 12 25 638 605 E 638 610.74 12 25 639 606 E 639 361.79 12 25 640 607 E 640 201.10 12 25 641 631 E 641 1081.13 12 26 642 632 E 642 1042.43 12 þÂ}26 643 633 E 643 490.20 12 26 644 634 E 644 516.116 12 26 645 608 E 645 346.92 12 26 646 635 E 646 326.75 12 26 647 636 W 647 2424.72 14 26 648 637 W 648 393.57 15 26 649 638 W 649 251.13 15 26 650 627 E 650 981.35 12 28 65þíI1 628 E 651 992.28 12 28 652 629 E 652 327.45 12 28 653 630 E 653 384.95 12 28 654 639 E 654 373.60 12 28 655 647 W 655 2210. 14 29 656 646 W 656 483 15 29 657 640 E 657 1176.43 12 29 658 641 E 658 1184.18 12 29 659 642 EþÒs 659 566.46 12 29 660 625 E 660 484.10 12 29 661 643 E 661 247.78 12 29 662 626 W 662 2276.24 14 29 663 644 E 663 393.62 15 29 664 645 E 664 40.27 15 29 2313 3 C 2313 1804.52 22 1 2332 2 C 2332 2000 21 1 2337 4 C 2337 þ%43.50 0 0 2338 5 C 2338 6.00 0 0 2345 6 C 2345 53.35 0 0 2347 7 C 2347 38.00 0 0 2348 8 C 2348 50.00 24 1 2354 10 C 2354 50.00 20 1 2355 13 C 2355 280.60 22 1 2356 9 C 2356 264.05 0 0 2357 14 CC 2357 2358 1þèj5 C 2358 10 3 1 2359 16 C 2359 42.80 10 1 2360 17 C 2360 119.40 19 1 2361 18 C 2361 50 18 1 2362 19 CC 2362 2363 20 CC 2363 2364 21 CC 2364 2365 22 CC 2365  2366 23 C 2366 50 18 1 2367 24 CC 2367 2368 25 CC þãˆ2368 2369 26 CC 2369 2370 27 CC 2370 2371 28 C 2371 50 18 1 2372 29 CC 2372 2373 30 CC 2373 2374 31 C 2374 547.42 17 1 2375 32 C 2375 86 5 1 2376 33 C 2376 500 21 1 2377 34 C 2377 1500 21 3 2378 35 C 2378 9þŸ3.20 3 2 2379 36 C 2379 1562.80 2 2 2380 37 C 2380 3.60 5 2 2381 38 C 2381 136.16 5 2 2382 39 C 2382 114.98 18 2 2383 41 C 2383 139.24 4 2 2384 42 C 2384 155 5 2 2385 43 C 2385 60.30 5 2 2386 44 C 2386 1151 17 2 238þd[7 45 C 2387 12 18 2 2388 46 C 2388 66.80 22 2 2389 47 C 2389 33.30 22 2 2390 48 C 2390 22.80 22 3 2391 49 C 2391 12 18 2 2392 50 C 2392 39 22 2 2393 51 C 2393 64.65 25 2 2394 52 C 2394 85.54 22 2 2395 55 C 2395 1þiR000. 21 3 2396 56 C 2396 405.38 4 3 2397 57 C 2397 64. 8 3 2398 60 C 2398 14.85 18 3 2399 62 C 2399 7.95 18 3 2400 63 C 2400 8.52 18 3 2401  64 C 2401 29.39 22 3 2402 65 C 2402 80. 23 3 2403 67 C 2403 1562.80 2 5 240þFi4 68 C 2404 1887.00 17 5 2405 69 C 2405 28.26 21 5 2406 70 C 2406 52.68 5 5 2407 71 C 2407 53.35 5 5 2408 72 C 2408 27.00 5 5 2409 73 C 2409 301.50 21 5 2410 74 C 2410 32.23 5 5 2411 75 C 2411 110. 16 5 2412 76 CþU 2412 1500 21 10 2413 77 C 2413 15 18 3 2414 78 C 2414 286.41 5 3 2415 79 C 2415 12.68 5 3 2416 80 C 2416 93.20 3 5 2417 81 C 2417 7.75 11 3 2418 82 C 2418 66.34 4 3 2419 83 C 2419 1197.81 5 5 2420 84 C 2420 50 24 3 þp‘ 2421 85 C 2421 261.65 23 5 2422 86 C 2422 10 16 5 2423 87 C 2423 2386 17 5 2424 88 C 2424 28.15 23 5 2425 89 C 2425 8.95 18 5 2426 91 C 2426 16.05 5 7 2427 92 C 2427 450.59 17 5 2428 93 C 2428 621.73 8 6 2429 94þ  C 2429 4000. 21 6 2430 95 C 2430 6.75 18 6 2431 96 C 2431 110 5 6 2432 97 C 2432 991 16 6 2433 98 C 2433 41.5 20 6 2434  99 C 2434 52 5 6 2435 100 C 2435 675 8 6 2436 104 C 2436 40 20 6 2437 105 CC 2437 2438 106 C 2þÌ�438 3.47 18 6 2439 107 C 2439 11 18 6 2440 108 C 2440 339.45 22 6 2441 109 C 2441 28.76 18 6 2442 110 C 2442 589.40 4 6 2443 111 C 2443 19.89 22 6 2444 112 C 2444 16. 18 6 2445 113 CC 2445 2446 114 C 2446 93.20 3 6 2447 þ÷n115 C 2447 410.72 25 6 2448 116 C 2448 695.00 7 6 2449 117 C 2449 50. 27 6 2450 118 C 2450 13.00 17 6 2451 119 C 2451 55.00 22 7 2452 120 C 2452 74.42 22 7 2453 121 C 2453 56.30 5 7 2454 122 C 2454 7.85 5 7 2455 123 C 2455 2þnu23.17 5 7 2456 124 C 2456 368.00 23 7 2457 125 C 2457 1562.80 2 7 2458 127 C 2458 450.59 17 8 2459 128 C 2459 75.65 11 8 2460 129 C 2460 923. 5 8 2461 130 CC 2461 2462 131 CC 2462 2463 132 C 2463 25 18 8 2464 133 C 2464 þÔŸ26 22 8 2465 134 C 2465 50.50 18 8 2466 135 C 2466 39 5 8 2467 136 C 2467 4.80 22 8 2468 137 CC 2468 2469 138 C 2469 70 18 8 2470 139 C 2470 500 21 8 2471 140 C 2471 12 22 8 2472 142 C 2472 113.56 4 8 2473 143 C 2473 9.9þå¬5 18 8 2474 144 CC 2474 2475 145 C 2475 368 23 8 2476 146 C 2476 616 9 8 2477 147 C 2477 208.65 5 8 2478 148 C 2478 380 7 9 2479 149 C 2479 129 5 9 2480 150 C 2480 3.95 18 9 2481 151 C 2481 7.06 1 9 2482 152 C 2482 30 18þªü 9 2483 153 C 2483 15 18 9 2484 155 CC 2484 2485 156 C 2485 2000 21 9 2486 157 C 2486 7 1 9 2487 158 C 2487 34.03 22 9 2488 159 C 2488 474.35 5 9 2489 160 C 2489 179.46 5 9 2490 161 C 2490 145 5 9 2491 163 C 2491 12.30 1þÕ8 9 2492 164 C 2492 7 1 11 2493 165 C 2493 2 22 9 2494 166 C 2494 3.50 18 9 2495 167 C 2495 46.49 4 10 2496 168 CC 2496 2497 169 C 2497 117.03 3 10 2498 170 CC 2498 2499 171 C 2499 1773.70 2 11 2500 172 C 2500 94.90 22 1þkè1 2501 173 C 2501 50 20 11 2502 174 C 2502 21.85 11 10 2503 175 C 2503 89.37 8 10 2504 177 C 2504 547.42 17 11 2505 178 C 2505 1203.31 22 11 2506 179 C 2506 368 23 11 2507 180 C 2507 616 9 11 2508 181 C 2508 10.80 18 11 250þaë9 182 C 2509 23.30 5 11 2510 183 C 2510 27.60 5 11 2511 184 C 2511 126.00 5 11 2512 185 C 2512 168.26 5 11 2513 186 C 2513 230.66 25 11 2514 187 C 2514 18 18 11 2515 188 C 2515 20 18 11 2516 189 C 2516 42 26 11 2517 190 CþáX 2517 8 18 11 2518 192 C 2518 446.86 4 11 2519 193 C 2519 20 26 12 2520  194 C 2520 28.99 10 12 2521 195 C 2521 4.15 10 12 2522 196 C 2522 61.36 10 12 2523 197 C 2523 1210.49 10 12 2524 198 C 2524 7 1 12 2525 199 C 2525 16 10þ¨° 12 2526 200 C 2526 45.45 5 12 2527 201 C 2527 13.30 5 12 2528 202 C 2528 387 17 12 2529 203 C 2529 18.70 18 12 2530 204 CC 2530 2531 205 C 2531 1800 21 13 2532 206 C 2532 206.25 26 12 2533 207 C 2533 1703.40 2 12 2534 2þµò09 C 2534 3178.45 22 14 2535 210 CC 2535 2536 211 C 2536 97.67 23 14 2537 212 C 2537 55.93 4 14 2538 213 C 2538 26 5 14 2539 214 C 2539 550 24 14 2540 215 C 2540 106.32 8 14 2541 216 C 2541 105 3 14 2542 217 C 2542 108.06 8 þ´õ14 2543 219 CC 2543 2544 220 C 2544 74.95 10 14 2545 221 C 2545 671.81 17 14 2546 222 C 2546 262.60 5 14 2547 223 C 2547 50.50 5 14 2548 224 C 2548 11.70 25 14 2549 225 C 2549 85 6 14 2550 226 C 2550 10 18 14 2551 227 C þCø2551 34 6 14 2552 228 C 2552 200 5 14 2553 229 C 2553 368 23 14 2554 230 C 2554 912.90 9 14 2555 231 C 2555 500 21 14 2556 232 C 2556 90 10 14 2557 233 C 2557 120 1 15 2558 234 C 2558 2.05 18 15 2559 235 C 2559 899 17 15 25þ3—60 236 C 2560 267.58 22 15 2561 239 C 2561 100 5 15 2562 240 CC 2562 2563 243 C 2563 500 8 15 2564 244 C 2564 100.75 10 15 2565 245 C 2565 3000 21 15 2566 246 C 2566 1800 21 17 2567 247 C 2567 75.21 10 15 2568 248 C 2568 þ‡è563.06 4 15 2569 249 C 2569 26 17 15 2570  250 C 2570 192 22 15 2571 251 C 2571 14.30 5 15 2572 252 C 2572 184.25 5 15 2573 254 C 2573 500 21 15 2574 255 C 2574 115 3 16 2575 257 C 2575 42 26 16 2576 258 C 2576 26.12 5 16 25þ³477 259 C 2577 81.71 4 16 2578 260 C 2578 36.81 11 16 2579 261 C 2579 368.00 23 16 2580 262 C 2580 671.81 17 16 2581 263 C 2581 37.70 18 16 2582 264 C 2582 72 6 16 2583 265 C 2583 350 21 16 2584 266 C 2584 23.95 8 16 2585 þ>Ÿ267 C 2585 1773.70 2 16 2586 268 CC 2586 2587 269 C 2587 271.60 23 17 2588 270 CC 2588 2589 273 C 2589 5 1 17 2590 279 C 2590 105.78 8 17 2591 280 C 2591 311.54 8 17 2592 650 CC 2592 2593 281 C 2593 770.94 25 17 2594 282þé C 2594 109.92 22 17 2595 283 C 2595 432.25 4 18 2596 284 C 2596 28 1 18 2597 285 C 2597 200 27 18 2598 286 C 2598 919 2 18 2599 287 C 2599 187.22 5 18 2600 288 C 2600 134 5 18 2601 289 C 2601 90.50 5 18 2602 290 C 2602 153.þÜ64 5 18 2603 291 C 2603 14850. 22 18 2604 292 CC 2604 2605 293 C 2605 50 24 18 2606 294 C 2606 186.36 8 18 2607 295 C 2607 85 1 18 2608 297 C 2608 1352.93 25 19 2609 298 C 2609 50 20 19 2610 299 CC 2610 2611 300 CC 2611 þú 2612 302 C 2612 17 6 20 2613 305 C 2613 33 5 20 2614 306 C 2614 9.22 5 20 2615 307 C 2615 115 3 20 2616 308 C 2616 1875.10 2 20 2617 309 C 2617 134 5 20 2618 310 C 2618 46.45 5 20 2619 311 C 2619 790.75 17 20 2620 312 C þ €2620 33 17 20 2621 313 C 2621 368 23 20 2622 314 C 2622 52.30 5 20 2623 315 C 2623 309.14 8 20 2624 316 C 2624 9 18 20 2625 317 C 2625 1452.77 25 20 2626 319 C 2626 50 24 20 2627 320 C 2627 39.50 18 20 2628 321 CC 2628 2629þ… 322 C 2629 56 17 20 2630 323 C 2630 164 5 21 2631 324 C 2631 400.88 4 21 2632 325 CC 2632 2633 326 C 2633 8.75 18 21 2634 327 C 2634 7.50 1 21 2635 328 C 2635 48 4 21 2636 329 C 2636 12.55 11 21 2637 330 C 2637 139.70 22þýü 21 2638 332 C 2638 1200 21 22 2639 333 C 2639 1000 21 21 2640 334 C 2640 115 3 21 2641 335 C 2641 30 5 21 2642 336 C 2642 101.39 4 22 2643 339 C 2643 140 22 21 2644 340 C 2644 35 26 22 2645 341 C 2645 671.81 17 22 2646 þÑî342 C 2646 1850.16 2 22 2647 343 C 2647 70 23 22 2648 344 C 2648 14.20 23 22 2649 345 C 2649 500 24 22 2650 346 C 2650 13.05 11 22 2651 347 C 2651 205.74 22 22 2652 348 C 2652 199.40 5 22 2653 349 C 2653 17.16 5 22 2654 350 þÐC 2654 19.94 5 22 2655 351 C 2655 34.12 22 22 2656 355 C 2656 1500 21 23 2657 356 C 2657 116.89 1 23 2658 651 CC 2658 2659 358 C 2659 368 23 22 2660 359 C 2660 37 18 22 2661 360 C 2661 25 22 22 2662 361 C 2662 15 18 22 2663þØ 362 C 2663 500 21 23 2664 363 C 2664 25.35 5 23 2665 365 CC 2665 2666 366 C 2666 50 24 23 2667 367 C 2667 96.30 18 23 2668 368 C 2668 495.42 4 23 2669 369 C 2669 145 5 23 2670 370 C 2670 8.70 1 24 2671  371 C 2671 16.80 1þ  24 2672 372 C 2672 29 5 23 2673 373 C 2673 11.48 22 23 2674 374 C 2674 1397.48 25 23 2675 375 C 2675 200 28 23 2676 376 C 2676 500 8 23 2677 377 CC 2677 2678 378 C 2678 49.56 8 24 2679 379 C 2679 10000 23 24 2680 380 C þô2680 110 23 24 2681 381 C 2681 1007 23 24 2682 382 C 2682 37.64 22 24 2683 383 C 2683 2000. 21 25 2684 384 C 2684 49.44 1 25 2685 386 C 2685 1850.16 2 25 2686 387 C 2686 35.27 11 25 2687 388 C 2687 115 3 25 2688 389 C 2688 1þ '44.36 4 25 2689 390 C 2689 50 22 25 2690 391 C 2690 39.85 18 25 2691 392 C 2691 141.22 4 25 2692 393 C 2692 552.87 17 25 2693 394 C 2693 134.32 22 25 2694 395 CC 2694 2695 397 C 2695 500 8 25 2696 398 C 2696 500 8 25 2697 þÄÐ 399 C 2697 20.32 5 26 2698 400 C 2698 750 21 26 2699 401 C 2699 110.25 1 26 2700 402 C 2700 368 23 25 2701 403 C 2701 134.74 22 25 2702 404 C 2702 6.90 5 25 2703 405 C 2703 99 17 25 2704 408 C 2704 36 18 26 2705 409 C 2705þXl 635.69 27 26 2706 410 C 2706 18.50 18 26 2707 412 C 2707 295 26 26 2708 413 C 2708 472.87 4 26 2709 414 C 2709 15 18 26 2710 415 C 2710 36.50 5 26 2711 416 C 2711 16.75 18 26 2712 417 C 2712 218.26 5 26 2713 418 C 2713 139.þµþ96 13 26 2714 419 CC 2714 2715 420 C 2715 50 22 26 2716 421 C 2716 1500 21 27 2717 422 C 2717 1500 21 28 2718 423 C 2718 11.56 5 26 2719 424 C 2719 4812.51 23 27 2720 426 C 2720 3920.58 17 27 2721 427 C 2721 115 3 27 2722 þ Ÿ 428 C 2722 76.99 22 27 2723 429 C 2723 40.30 5 27 2724 430 C 2724 117.43 4 27 2725 431 C 2725 552.87 17 27 2726 432 C 2726 127.35 5 27 2727 433 C 2727 6 18 27 2728 434 C 2728 20 5 27 2729 435 C 2729 52.84 11 27 2730 436 C þÌ2730 5.74 5 27 2731 438 C 2731 50 24 27 2732 440 C 2732 911.35 25 27 2733 441 C 2733 46.85 5 27 2734 442 C 2734 164.11 5 27 2735 443 C 2735 1850.16 2 27 2736 444 C 2736 140 1 27 2737 446 C 2737 368 23 27 2738 448 C 2738 154.þä¦01 5 28 2739 449 C 2739 33 18 28 2740 450 C 2740 40 23 28 2741 451 C 2741 15.15 8 28 2742 452 C 2742 342.32 8 28 2743 453 C 2743 10 26 28 2744 454 C 2744 160 27 28 2745 455 C 2745 19 26 28 2746 456 C 2746 1136.47 6 28 2747 þ 457 C 2747 174.34 8 28 2748 458 C 2748 208.22 25 28 2749 459 C 2749 131.46 10 28 2750 461 C 2750 145.75 10 28 2751 462 C 2751 30 5 28 2752 463 C 2752 54 5 28 2753 464 C 2753 55 22 28 2754 465 C 2754 569.90 4 28 2755 466 CþL" 2755 64.50 6 28 2756 467 C 2756 75 28 29 2757 468 CC 2757 2758 469 C 2758 374 17 29 2759 470 C 2759 115 3 29 2760 471 C 2760 500 21 29 2761 472 C 2761 500 21 29 2762 473 C 2762 1510 21 29 2733 441 SEARCH KEY 2733 þ-.I 441 C 2733 46.85 5 27 AMOUNT = 4.685E+01 ÿNSB801215.ûŽŽ'þPÔ15 December 1980 North Slope Borough P.O. Box 69 Barrow, Alaska 99723 Re: Services Rendered for Wainwright School Shop Addition Electrical 27 Oct. Fly PDX - Anch. 5 28 Oct. Meet with Claude Laws & Review Spex 1 Travel Anc Brw Wain 5 Scþ¼ähool Final Inspection 2 29 Oct. School final inspection 3 Travel Wain - Anc 5 Standby 3 30 Oct. Travel Anc - Pdx 5 10 Nov. Electrical Design 10 11 Nov. Electrical Design 8 12 Nov. Write Spex 8 13 Nov. Review plans & Spex þ\ 8 14 Nov. Review plans and spex 8 Mechanical 09 Oct. Conference w/ Creedon & Lunsford 3.5 02 Nov. Mark up spex 2.5 08 Nov. Review sheets M-1,M-2,M-3 per NSB 8.5 change request 09 Nov. Revise drawings 2.5 10 Nov. Review with Architþ½/ect .5 ==== 88.5 HRS 88.5 HRS @ $65.00 $5,752.50 Telephone 81.58 ======== Total $5,834.08 Status: Mechanical/Electrical design is complete. The Contract documents will be ready for bid þG†after final review and one on site visit to verify the actual design. ÿOPEN.û½½þ : ;PASCAL EXTERNAL PROCEDURE TO "OPEN" ;A FILE VARIABLE TO A FILE NAME ;PETE GOODEVE .TITL OPEN ;PJG 78:10:22 .ENT ?OPEN .EXTN XPRET .EXTN WRLIN .EXTD .GCH,CHAN,TEMP1,.FIND,CNTAD,TABAD SP=41 SYSER = JSR @50 ;RDOS ERROR FCH = -1 FST = -2 .NRþŒÝEL ;TYPE THINGFILE = FILE OF THINGS; ; NAME = ARRAY[1..16] OF INTEGER; ;... ;... ;PROCEDURE OPEN(VAR F:THINGFILE;FILENAME:NAME;MODE:INTEGER); ?OPEN: LDA 2,-2,3 ;FILE VARIABLE MOVZR 2,2 ;FORM WORD POINTER STA 2,FBAP ;HOLD IT SUB 1,1 STA 1,TEMP1 ;NULþ3L FOR TEXT LINE TERMIN. STA 1,0,2 ;CLEAR FILE BUFFER JSR @.GCH ;GET CHAN ETC JMP CLOS ;RETURNS HERE IF NOT TEXT FILE LDA 1,FST,2 ;CHECK STATUS MOVZL 1,1,SNR ;FOR UNWRITTEN STUFF JSR @.WRLN ;FLUSH IF NEEDED LDA 2,CHAN JSR @ .FIND ;GET TEXT FILE DESCþ„²RIPTORS MOVZR 0,3 ;POINTER TO LINE BUFF. SUB 0,0 STA 0,0,3 ;MAKE BUFFER "EMPTY" STA 0,@CNTAD ;CLEAR CHAR COUNT STA 0,@TABAD ;AND TABBING CLOS: LDA 2,CHAN .SYSTM .CLOS 77 LDA 2,CHAN ;IGNORE FAILURE LDA 3,SP LDA 1,0,3 ;MODE LDA 0,-1,3 ;FILENAME þzÖPOINTER MOV 1,1,SNR ;READ MODE? JMP OPN ;YES -- DO NOT CREATE MOVZR# 1,1,SZR ;REWRITE? JMP CREAT ;NO -- DON'T DELETE .SYSTM .DELET LDA 2,CHAN ;DON'T WORRY ABOUT ABSENCE CREAT: .SYSTM .CRAND LDA 2,CHAN ;IGNORE ANY ERROR MOVZR 1,1,SZR ;APPEND þNÁMODE? JMP APPEN ;YES OPN: .SYSTM .OPEN 77 ;OPEN ON ORIGINAL CHANNEL JMP NOPN ;HANDLE A PROBLEM JMP WRCK APPEN: SUB 1,1 .SYSTM .APPEN 77 JMP NOPN WRCK: LDA 3,SP LDA 1,0,3 ;CHECK MODE MOV 1,1,SNR ;WRITE? SUBZL 2,2,SKP ;NO -- SET BUFFER EMPTY FLAG þýÜ SUBZR 2,2 ;YES -- SET EOF JMP STAT NOPN: LDA 3,DLECK SUB 2,3,SZR SYSER ;SERIOUS PROBLEM SUBZR 2,2 ;SET EOF ON FILE STAT: LDA 3,FBAP STA 2,FST,3 ;SET FILE VARIABLE STATUS XPRET .WRLN: WRLIN DLECK: 12 ;NON-EXISTENT FILE CHECK FBAP: .-. .END ÿT35.ûÚ© þãPROGRAM T35(INPUT,OUTPUT); VAR BITNO,TABPOS,CURPOS,WORDNO : INTEGER; TABS : ARRAY [1..5] OF INTEGER; PROCEDURE SBIT(BITNO:INTEGER;VAR WORD:INTEGER);EXTERNAL; BEGIN FOR CURPOS := 1 TO 72 DO BEGIN TABPOS:= CURPOS*8-1; WORDNO:=CURPOS MOD 16; BITNþ£|{O:=CURPOS-WORDNO*16; WRITELN(OUTPUT,' ',TABPOS,WORDNO,BITNO); SBIT(BITNO,TABS[WORDNO]); END; WRITELN(OUTPUT,' ',TABS[1],TABS[2],TABS[3],TABS[4],TABS[5]) END. ÿTEST1.PXû½½ þþÿGETI.û½½ÿ1978.09û½½7þ‡äC 2685 1850.16 C 2686 35.27 C 2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 C 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 E 3679.49 C 2þÁ„È704 36 C 2705 365.69 C 2706 18.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2716 1500 C 2718 11.56 E 3803.54 W 3069.42 ÿ1978.R0û½½þ¢øB 4196.05 C 2332 2000 C 2356 264.05 C 2355 280.60 D 23546.65 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 Cþ•o 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 E 4424.29 D 13878.50 C 2394 85.54 C þƺ2395 1000. C 2396 405.38 C 2397 64. D 3885. C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 E 4499.72 W 5477.65 C 2402 80. D 3222.52 C 2403 1562.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2þñØ411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 2386 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75þ1r C 2431 110 C 2432 991 C 2433 41.5 C 2434 52 C 2435 675 D 10674.20 C 2436 40 CC 2437 C 2438 3.47 C 2439 11 C 2440 339.45 C 2441 28.76 C 2442 589.40 C 2443 19.89 C 2444 16. C 2445 C 2446 93.20 C 2447 410.72 C 2448 695.00 C 2449 50. C 2450 13.00 C 2451 55.00þâj C 2452 74.42 C 2453 56.30 C 2454 7.85 C 2455 223.17 C 2456 368.00 C 2457 1562.80 E 4211.49 W 3391.80 D 5532.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC 2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 247þ/»1 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 þ+-12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 E 5322. W 7656 CC2498 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.6þwþ0 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.49 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 18þBJ00 C 2532 206.25 C 2533 1703.40 D 3825 E 5096.35 W 4255.04 C 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C 2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2þâÓ549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912.90 C 2555 500 C 2556 90 E 4635.31 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 2563 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 þ- C 2568 563.06 C 2569 26 C 2570 192 C 2571 14.30 C 2572 184.25 D 3000 C 2573 500 C 2574 115 C 2575 42 C 2576 26.12 C 2580 671.81 C 2581 37.70 C 2582 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 D 2107.75 D 4990 C 2589 5 DM 14.60 DþL*M 7.50 D 5680 C 2590 105.78 C 2591 311.54 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 E 5817.44 W 8373.52 D 32927.50 C 2608 1352.93 C 2609 50 CC 2þÚ610 CC 2611 DM 7.37 C 2612 17 D 2040 C 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45 C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 E 3104.27 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 þ­8C 2630 164 C 2631 400.88 CC 2632 C 2633 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2639 1000 C 2640 115 C 2641 30 E 3991.35 W 2861.14 C 2642 101.39 D 3000 C 2643 140 C 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 50þâE0 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 C 2657 116.89 D 1545 E 3874.55 C 2659 368 C 2660 37 C 2661 25 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 þ 96.30 C 2668 495.42 C 2669 145 C 2671 16.80 C 2672 29 C 2673 11.48 W 2210 W 483 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 C 2678 49.56 C 2679 10000 C 2680 110 C 2681 1007 C 2682 37.64 E 4018.89 W 2792.12 W 800.03 D 4762.50 C 2685 1850.16 C 2686 35.27 C þN2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 C 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 E 3679.49 C 2704 36 C 2705 365.69 C 2706 18þÊ\.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2716 1500 C 2718 11.56 E 3803.54 W 3069.42 C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 þ-117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 46.85 C 2734 164.11 C 2735 1850.16 C 2736 140 D 1997 E 3059.63 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.þ1è15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 C 2750 145.75 C 2751 30 C 2752 54 C 2753 55 C 2754 569.90 C 2755 64.50 C 2756 75 CC 2757 E 3685.95 W 2710.13 C 2758 374 C 2759 115 C 2760 500 C 2761 50þIü0 C 2762 1510 ÿ1978.DPûŽŽ þÑÎ 0 4 5 6 7 9 14 19 20 21 22 24 25 26 27 29 30 105 113 130 131 137 144 155 168 170 204 210 219 240 268 270 292 29þ�_9 300 321 325 365 377 395 419 468 648 649 650 651 SEARCH KEY 0 4 C 2337 43.50 0 0 5 C 2338 6.00 0 0 6 C 2345 53.35 0 0 7 C 2347 38.00 0 0 9 C 2356 264.05 0 0 14 CC 2357 19 þŽr CC 2362 20 CC 2363 21 CC 2364 22 CC 2365 24 CC 2367 25 CC 2368 26 CC 2369 27 CC 2370 29 CC 2372 30 CC 2373 105 CC 2437 113 CC 2445 130 CC 2461 131 CC 2462 137 CC 2468 144 þè CC 2474 155 CC 2484 168 CC 2496 170 CC 2498 204 CC 2530 210 CC 2535 219 CC 2543 240 CC 2562 268 CC 2586 270 CC 2588 292 CC 2604 299 CC 2610 300 CC 2611 321 CC 2628 325 CC 2632 365 Cþ5C 2665 377 CC 2677 395 CC 2694 419 CC 2714 468 CC 2757 648 CC 542 649 CC 543 650 CC 2592 651 CC 2658 AMOUNT = 4.049E+02 1 151 157 164 198 233 273 284 295 327 356 370 37þÔ1 384 401 444 SEARCH KEY 1 151 C 2481 7.06 1 9 157 C 2486 7 1 9 164 C 2492 7 1 11 198 C 2524 7 1 12 233 C 2557 120 1 15 273 C 2589 5 1 17 284 C 2596 28 1 18 295 C 2607 85 1 18 327 C 2634 7.50 1 21 35þr;6 C 2657 116.89 1 23 370 C 2670 8.70 1 24 371 C 2671 16.80 1 24 384 C 2684 49.44 1 25 401 C 2699 110.25 1 26 444 C 2736 140 1 27 AMOUNT = 7.156E+02 2 36 67 125 171 207 267 286 308 342 þ U386 443 SEARCH KEY 2 36 C 2379 1562.80 2 2 67 C 2403 1562.80 2 5 125 C 2457 1562.80 2 7 171 C 2499 1773.70 2 11 207 C 2533 1703.40 2 12 267 C 2585 1773.70 2 16 286 C 2598 919 2 18 308 C 2616 1875.10 2 20 34þnf2 C 2646 1850.16 2 22 386 C 2685 1850.16 2 25 443 C 2735 1850.16 2 27 AMOUNT = 1.828E+04 3 15 35 80 114 169 216 255 307 334 388 427 470 SEARCH KEY 3 15 C 2358 10 3 1 35 C 2378 93.2þ2è0 3 2  80 C 2416 93.20 3 5 114 C 2446 93.20 3 6 169 C 2497 117.03 3 10 216 C 2541 105 3 14 255 C 2574 115 3 16 307 C 2615 115 3 20 334 C 2640 115 3 21 388 C 2687 115 3 25 427 C 2721 115 3 27 470 C 2759 115 þ3 29 AMOUNT = 1.201E+03 4 41 56 82 110 142 167 192 212 248 259 283 324 328 336 368 389 392 413 430 465 SEARCH KEY 4 41 C 2383 139.24 4 2 56 C 2396 405.38 4 3 þÈ’82 C 2418 66.34 4 3 110 C 2442 589.40 4 6 142 C 2472 113.56 4 8 167 C 2495 46.49 4 10 192 C 2518 446.86 4 11 212 C 2537 55.93 4 14 248 C 2568 563.06 4 15 259 C 2577 81.71 4 16 283 C 2595 432.25 4 18 324 C 2631 þúˆ400.88 4 21 328 C 2635 48 4 21 336 C 2642 101.39 4 22 368 C 2668 495.42 4 23 389 C 2688 144.36 4 25 392 C 2691 141.22 4 25 413 C 2708 472.87 4 26 430 C 2724 117.43 4 27 465 C 2754 569.90 4 28 AMOUNT = 5.431E+03 þ}Þ 5 32 37 38 42 43 70 71 72 74 78 79 83 91 96 99 121 122 123 129 135 147 149 159 160 161 182 183 184 185 200 201 213 222 þ|| 223 228 239 251 252 258 287 288 289 290 305 306 309 310 314 323 335 348 349 350 363 369 372 399 404 415 417 423 429 432 434 436 441 442 448þÑö 462 463 SEARCH KEY 5 32 C 2375 86 5 1 37 C 2380 3.60 5 2 38 C 2381 136.16 5 2 42 C 2384 155 5 2 43 C 2385 60.30 5 2 70 C 2406 52.68 5 5 71 C 2407 53.35 5 5 72 C 2408 27.00 5 5 74 C 2410 32.23 5 5þ$ö 78 C 2414 286.41 5 3 79 C 2415 12.68 5 3 83 C 2419 1197.81 5 5 91 C 2426 16.05 5 7 96 C 2431 110 5 6 99 C 2434 52 5 6 121 C 2453 56.30 5 7 122 C 2454 7.85 5 7 123 C 2455 223.17 5 7 129 C 2460 923. 5 þj�8 135 C 2466 39 5 8 147 C 2477 208.65 5 8 149 C 2479 129 5 9 159 C 2488 474.35 5 9 160 C 2489 179.46 5 9 161 C 2490 145 5 9 182 C 2509 23.30 5 11 183 C 2510 27.60 5 11 184 C 2511 126.00 5 11 185 C 2512 168.þ\&26 5 11 200 C 2526 45.45 5 12 201 C 2527 13.30 5 12 213 C 2538 26 5 14 222 C 2546 262.60 5 14 223 C 2547 50.50 5 14 228 C 2552 200 5 14 239 C 2561 100 5 15 251 C 2571 14.30 5 15 252 C 2572 184.25 5 15 258 Cþ:` 2576 26.12 5 16 287 C 2599 187.22 5 18 288 C 2600 134 5 18 289 C 2601 90.50 5 18 290 C 2602 153.64 5 18 305 C 2613 33 5 20 306 C 2614 9.22 5 20 309 C 2617 134 5 20 310 C 2618 46.45 5 20 314 C 2622 52.30 5 20 þ1ª 323 C 2630 164 5 21 335 C 2641 30 5 21 348 C 2652 199.40 5 22 349 C 2653 17.16 5 22 350 C 2654 19.94 5 22 363 C 2664 25.35 5 23 369 C 2669 145 5 23 372 C 2672 29 5 23 399 C 2697 20.32 5 26 404 C 2702 6.90 5 2þ<»5 415 C 2710 36.50 5 26 417 C 2712 218.26 5 26 423 C 2718 11.56 5 26 429 C 2723 40.30 5 27 432 C 2726 127.35 5 27 434 C 2728 20 5 27 436 C 2730 5.74 5 27 441 C 2733 46.85 5 27 442 C 2734 164.11 5 27 448 C 2þu738 154.01 5 28 462 C 2751 30 5 28 463 C 2752 54 5 28 AMOUNT = 8.340E+03 6 225 227 264 302 456 466 SEARCH KEY 6 225 C 2549 85 6 14 227 C 2551 34 6 14 264 C 2582 72 6 16 302 C 2612 17 6 20 456 C 2þu8746 1136.47 6 28 466 C 2755 64.50 6 28 AMOUNT = 1.409E+03 7 116 148 SEARCH KEY 7 116 C 2448 695.00 7 6 148 C 2478 380 7 9 AMOUNT = 1.075E+03 8 57 93 100 175 215 217 243 266 279 þWŽ280 294 315 376 378 397 398 451 452 457 SEARCH KEY 8 57 C 2397 64. 8 3 93 C 2428 621.73 8 6 100 C 2435 675 8 6 175 C 2503 89.37 8 10 215 C 2540 106.32 8 14 217 C 2542 108.06 8 14 243 C 25þy³63 500 8 15 266 C 2584 23.95 8 16 279 C 2590 105.78 8 17 280 C 2591 311.54 8 17 294 C 2606 186.36 8 18 315 C 2623 309.14 8 20 376 C 2676 500 8 23 378 C 2678 49.56 8 24 397 C 2695 500 8 25 398 C 2696 500 8 25 þÍ0 451 C 2741 15.15 8 28 452 C 2742 342.32 8 28 457 C 2747 174.34 8 28 AMOUNT = 5.182E+03 9 146 180 230 SEARCH KEY 9 146 C 2476 616 9 8 180 C 2507 616 9 11 230 C 2554 912.90 9 14 AMOUNT = 2.144E+03 10 þä% 16 194 195 196 197 199 220 232 244 247 459 461 SEARCH KEY 10 16 C 2359 42.80 10 1 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 199 C 2525 þ¥¸16 10 12 220 C 2544 74.95 10 14 232 C 2556 90 10 14 244 C 2564 100.75 10 15 247 C 2567 75.21 10 15 459 C 2749 131.46 10 28  461 C 2750 145.75 10 28 AMOUNT = 1.981E+03 10 16 194 195 196 197 199 220 23þY42 244 247 459 461 SEARCH KEY 10 16 C 2359 42.80 10 1 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 199 C 2525 16 10 12 220 C 2544 74.95 10 14 232 þ9 C 2556 90 10 14 244 C 2564 100.75 10 15 247 C 2567 75.21 10 15 459 C 2749 131.46 10 28 461 C 2750 145.75 10 28 AMOUNT = 1.981E+03 11 81 128 174 260 329 346 387 435 SEARCH KEY 11 81 C 2417 7.75 11 3 þ£ô 128 C 2459 75.65 11 8 174 C 2502 21.85 11 10 260 C 2578 36.81 11 16 329 C 2636 12.55 11 21 346 C 2650 13.05 11 22 387 C 2686 35.27 11 25 435 C 2729 52.84 11 27 AMOUNT = 2.557E+02 12 474 475 476 477 478 þ™~ 479 480 481 482 483 484 485 486 487 488 492 493 494 495 496 497 499  500 501 502 503 504 505 506 507 509 513 514 515 516 517 518 520 521 52þT2 523 524 525 526 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 552 553 554 555 556 557 558 þÄÓ559 560 561 566 567 568 569 570 571 572 573 574 575 576 577 578  579 580 581 582 586 587 588 589 590 591 592 593 596 597 598 599 600 602 603 þÒ# 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 623 625 627 628 629 630 631 632 633 634 635 639 640 641 642 643 SEþ0HARCH KEY 12 474 E 496 1177.09 12 3 475 E 495 1076.21 12 3 476 E 494 392.55 12 2 477  E 493 456.63 12 2 478 E 492 497.88 12 2 479 E 491 574.03 12 2 480 E 490 890.20 12 2 481 E 489 842.19 12 2 482 E 488 788.81 12 2þ07 483 E 510 304.73 12 5 484 E 509 432.47 12 5 485 E 508 575.53 12 5 486 E 507 502.81 12 5 487 E 506 842.80 12 5 488 E 505 1033.57 12 5 492 W 501 387.26 12 3 493 W 500 372.80 12 3 494 W 499 561.91 12 3 495 W þŒ;498 497.97 12 3 496 E 497 926.48 12 3 497 E 519 84.76 12 12 499 E 511 830.88 12 7 500 E 537 464.55 12 10 501 E 531 356.37 12 9 502 E 529 589.96 12 9 503 E 530 436.65 12 9 504 E 528 393.86 12 9 505 E 527 888.88 1þÉn2 9 506 E 526 1034.18 12 9 507 E 525 991.35 12 9 509 W 522 182.00 12 8 513 W 517 277.10 12 7 514 E 516 259.01 12 7 515 E 515 439.51 12 7 516 E 514 398.75 12 7 517 E 513 1113.18 12 7 518 E 512 893.06 12 7 520þ: E 532 1062.02 12 10 521 E 533 1122.84 12 10 522 E 534 999.70 12 10  523 E 535 538.32 12 10 524 E 536 643.20 12 10 525 E 538 386.34 12 10 526 E 539 105.03 12 10 530 E 546 924.04 12 12 531 E 547 982.73 12 12 532 þ­E 548 873.83 12 12 533 E 549 473.57 12 12 534 E 550 542.91 12 12 535 E 551 440.27 12 12 536 E 553 299.63 12 12 537 E 552 185.93 12 12 538 E 568 343.38 12 15 539 E 569 304.73 12 15 540 E 567 596.15 12 15 541 E 56þ­6 465.02 12 15 542 E 565 948.24 12 14 543 E 564 985.99 12 14 544 E 563 991.80 12 14 545 E 557 473.57 12 13 546 E 558 601.00 12 13 547 E 560 265.01 12 13 548 E 555 991.16 12 12 549 E 554 927.77 12 12 550 E 556 85þ`Š2.47 12 13 552 E 561 297.08 12 13 553 E 559 688.29 12 13 554 E 570 1050.61 12 16 555 E 571 1069.11 12 16 556 E 572 1019.07 12 16 557 E 573 566.88 12 16 558 E 574 630.97 12 16 559 E 575 269.88 12 16 560 E 576 472þ§i.09 12 16 561 E 577 346.43 12 16 566 E 582 1046.89 12 17 567 E 583 1151.39 12 17 568 E 584 996.51 12 17 569 E 585 627.63 12 17 570 E 586 732.19 12 17 571 E 587 537.45 12 17 572 E 588 513.44 12 17 573 E 589 374.4þÒ2 12 17 574 E 590 110.15 12 17 575 E 591 979.37 12 18 576 E 592 1426.28 12 18 577 E 593 960.21 12 18 578 E 595 645.08 12 18 579 E 597 430.98 12 18 580 E 598 343.31 12 18 581 E 594 531.30 12 18 582 E 596 500.91 1þÄÈ2 18 586 E 603 796.26 12 20 587 E 604 802.32 12 20 588 E 605 379.26 12 20 589 E 606 542.91 12 20 590 E 607 283.06 12 20 591 E 608 180.93 12 20 592 E 609 282.18 12 20 593 E 615 369.00 12 21 596 E 627 1209.08 12 2þ 4 597 E 628 1158.89 12 24 598 E 629 552.62 12 24 599 E 630 596.12 12 24 600 E 632 359.96 12 24 602 E 635 921.48 12 25 603 E 636 1050.72 12 25 604 E 637 533.66 12 25 605 E 638 610.74 12 25 606 E 639 361.79 12 25 þfÞ 607 E 640 201.10 12 25  608 E 645 346.92 12 26 609 E 610 325.46 12 21 610 E 611 1020.87 12 21 611 E 612 922.47 12 21 612 E 613 505.84 12 21 613 E 614 595.69 12 21 614 E 616 258.02 12 21 615 E 618 1053.55 12 23 þ&D 616 E 619 845.14 12 23 617 E 620 420.35 12 23 618 E 621 548.51 12 23 619 E 622 293.42 12 23 620 E 623 339.16 12 23 621 E 624 374.42 12 23 623 E 631 142.22 12 24 625 E 660 484.10 12 29 627 E 650 981.35 12 28 62þåÚ8 E 651 992.28 12 28 629 E 652 327.45 12 28 630 E 653 384.95 12 28 631 E 641 1081.13 12 26 632 E 642 1042.43 12 26 633 E 643 490.20 12 26 634 E 644 516.116 12 26 635 E 646 326.75 12 26 639 E 654 373.60 12 28 640þ ‚ E 657 1176.43 12 29 641 E 658 1184.18 12 29 642 E 659 566.46 12 29 643 E 661 247.78 12 29 AMOUNT = 8.877E+04 13 418 SEARCH KEY 13 418 C 2713 139.96 13 26 AMOUNT = 1.399E+02 14 490 491 510 511 512 þnÔ519 528 551 562 564 565 583 594 595 624 626 636 647 SEARCH KEY 14 490 W 503 702.05 14 4 491 W 502 4521.60 14 4 510 W 523 1549.00 14 8 511 W 521 2210.00 14 8 512 W 518 3391.80 14 7 þuÁ 519 W 540 4601.70 14 10 528 W 544 5.00 14 11 551 W 562 4255.04 14 13 562 W 578 4412.14 14 16 564 W 580 2210.00 14 16 565 W 581 38.36 14 16 583 W 599 5659.58 14 18 594 W 617 2861.14 14 21 595 E 625 2210.00 14 23 þª 624 W 633 2792.12 14 24 626 W 662 2276.24 14 29 636 W 647 2424.72 14 26 647 W 655 2210. 14 29 AMOUNT = 4.833E+04 15 489 498 508 527 529 563 584 585 601 622 637 638 644 645 646 SEARCHþtù KEY 15 489 E 504 254.00 15 4 498 E 520 483.00 15 8 508 E 524 733.00 15 8 527 W 541 1703.92 15 11 529 W 545 1345.38 15 11 563 W 579 483.00 15 16 584 W 600 1863.74 15 18 585 W 602 850.20 15 18 601 W 634 800.03 15þâl 24 622 W 626 483.00 15 23 637 W 648 393.57 15 26 638 W 649 251.13 15 26 644 E 663 393.62 15 29 645 E 664 40.27 15 29 646 W 656 483 15 29 AMOUNT = 1.056E+04 16 75 86 97 SEARCH KEY 16 75 C 2411 110. þ16 5 86 C 2422 10 16 5 97 C 2432 991 16 6 AMOUNT = 1.111E+03 17 31 44 68 87 92 118 127 177 202 221 235 249 262 311 312 322 341 393 405 426  431 469 SEARCH KEY þôí17 31 C 2374 547.42 17 1 44 C 2386 1151 17 2 68 C 2404 1887.00 17 5 87 C 2423 2386 17 5 92 C 2427 450.59 17 5 118 C 2450 13.00 17 6 127 C 2458 450.59 17 8 177 C 2504 547.42 17 11 202 C 2528 387 17 12 22þ(;1 C 2545 671.81 17 14 235 C 2559 899 17 15 249 C 2569 26 17 15 262 C 2580 671.81 17 16 311 C 2619 790.75 17 20 312 C 2620 33 17 20 322 C 2629 56 17 20 341 C 2645 671.81 17 22 393 C 2692 552.87 17 25 405 C 2703 þâ‘99 17 25 426 C 2720 3920.58 17 27 431 C 2725 552.87 17 27 469 C 2758 374 17 29 AMOUNT = 1.713E+04 21 2 33 34 55 69 73 76 94 139 156 205 231 245 246 254 265 332 3þ»>33 355 362 383 400 421 422 471 472 473 SEARCH KEY 21 2 C 2332 2000 21 1 33 C 2376 500 21 1 34 C 2377 1500 21 3 55 C 2395 1000. 21 3 69 C 2405 28.26 21 5 73 C 2409 301.50 21 5 76 C 2þó[412 1500 21 10 94 C 2429 4000. 21 6 139 C 2470 500 21 8 156 C 2485 2000 21 9 205 C 2531 1800 21 13 231 C 2555 500 21 14 245 C 2565 3000 21 15 246 C 2566 1800 21 17 254 C 2573 500 21 15 265 C 2583 350 21 16 þ¿3332 C 2638 1200 21 22 333 C 2639 1000 21 21 355 C 2656 1500 21 23 362 C 2663 500 21 23 383 C 2683 2000. 21 25 400 C 2698 750 21 26 421 C 2716 1500 21 27 422 C 2717 1500 21 28 471 C 2760 500 21 29 472 C 2761 500þE� 21 29 473 C 2762 1510 21 29 AMOUNT = 3.374E+04 22 3 13 46 47 48 50 52 64 108 111 119 120 133 136 140 158 165 172 178 209 236 250 282 291 330 3þ(39 347 351 360 373 382 390 394 403 420 428 464 SEARCH KEY 22 3 C 2313 1804.52 22 1 13 C 2355 280.60 22 1 46 C 2388 66.80 22 2  47 C 2389 33.30 22 2 48 C 2390 22.80 22 3 50 C 2392 39 22þË— 2 52 C 2394 85.54 22 2 64 C 2401 29.39 22 3 108 C 2440 339.45 22 6 111 C 2443 19.89 22 6 119 C 2451 55.00 22 7 120 C 2452 74.42 22 7 133 C 2464 26 22 8 136 C 2467 4.80 22 8 140 C 2471 12 22 8 158 C 2487 þM334.03 22 9 165 C 2493 2 22 9 172 C 2500 94.90 22 11 178 C 2505 1203.31 22 11 209 C 2534 3178.45 22 14 236 C 2560 267.58 22 15 250 C 2570 192 22 15 282 C 2594 109.92 22 17 291 C 2603 14850. 22 18 330 C 2637 139.7þ"Ç0 22 21 339 C 2643 140 22 21 347 C 2651 205.74 22 22 351 C 2655 34.12 22 22 360 C 2661 25 22 22 373 C 2673 11.48 22 23 382 C 2682 37.64 22 24 390 C 2689 50 22 25 394 C 2693 134.32 22 25 403 C 2701 134.74 22 25 þ© 420 C 2715 50 22 26 428 C 2722 76.99 22 27 464 C 2753 55 22 28 AMOUNT = 2.392E+04 23 65 85 88 124 145 179 211 229  261 269 313 343 344 358 379 380 381 402 424 446 þU›450 SEARCH KEY 23 65 C 2402 80. 23 3 85 C 2421 261.65 23 5 88 C 2424 28.15 23 5 124 C 2456 368.00 23 7 145 C 2475 368 23 8 179 C 2506 368 23 11 211 C 2536 97.67 23 14 229 C 2553 368 23 14 261 C 2579 368.00 þÙü23 16 269 C 2587 271.60 23 17 313 C 2621 368 23 20 343 C 2647 70 23 22 344 C 2648 14.20 23 22 358 C 2659 368 23 22 379  C 2679 10000 23 24 380 C 2680 110 23 24 381 C 2681 1007 23 24 402 C 2700 368 23 25 424 þßåC 2719 4812.51 23 27 446 C 2737 368 23 27 450 C 2740 40 23 28 AMOUNT = 2.010E+04 24 8 84 214 293 319 345 366 438 SEARCH KEY 24 8 C 2348 50.00 24 1 84 C 2420 50 24 3 214 C 2539 550 24 14 293 Cþ´À 2605 50 24 18 319 C 2626 50 24 20 345 C 2649 500 24 22 366 C 2666 50 24 23 438 C 2731 50 24 27 AMOUNT = 1.350E+03 25 51 115 186 224 281 297 317 374 440 458 SEARCH KEY 25 51 C 2393 64.þÇ65 25 2 115 C 2447 410.72 25 6 186 C 2513 230.66 25 11 224 C 2548 11.70 25 14 281 C 2593 770.94 25 17 297 C 2608 1352.93 25 19 317 C 2625 1452.77 25 20 374 C 2674 1397.48 25 23 440 C 2732 911.35 25 27 458 C 2748þÞ 208.22 25 28 AMOUNT = 6.811E+03 26 189 193 206 257 340 412 453 455 SEARCH KEY 26 189 C 2516 42 26 11 193 C 2519 20 26 12 206 C 2532 206.25 26 12 257 C 2575 42 26 16 340 C 2644 35 26 22 412 C 2707 þ¡›295 26 26 453 C 2743 10 26 28 455 C 2745 19 26 28 AMOUNT = 6.692E+02 27 117 285 409 454 SEARCH KEY 27 117 C 2449 50. 27 6 285 C 2597 200 27 18 409 C 2705 635.69 27 26 454 C 2744 160 27 28 AMOUNT = 1.045Eþt …+03 28 375 467 SEARCH KEY 28 375 C 2675 200 28 23 467 C 2756 75 28 29 AMOUNT = 2.750E+02 ÿ1978CHECKS.ûŽŽ þÖãB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 1 1 C 2338 6.00 1 1 C 2345 53.35 1 1 C 2347 38.00 1 1 C 2348 50.00 24 1 C 2356 264.05 4 1 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 1þ™Ú19.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 3 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C þi2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 3 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 þ«ÿDM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5þ d 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 10 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65þµu 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.þ?ù20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.0þÝ+0 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18þe 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2þ¿ø482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 þ¯i10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 10 C 2503 89.37 8 10 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00þ4ð 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10þx  12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 12 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 10þ7„6.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 þy¬C 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 25þ@Ï68 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37þ²–.70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 þ.109.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2597 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 þÎç25 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 20 C 2622 52.30 5 20 C 26þ¡U23 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 53þ©í8 C 2638 1200 21 22 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651þ0 205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 22 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 23 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.3þ²—5 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000þ¹P 23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 25 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 þÁÍC 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 21 26 C 2699 110.25 1 26 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 1þ®�8.50 18 26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 26 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 27þú?20 3920.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 4þŽk6.85 5 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 þ/ C 2747 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 2þo­1 29 C 2762 1510 21 29 E 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 2 E 493 456.63 12 2 E 492 497.88 12 2 E 491 574.03 12 2 E 490 890.20 12 2 E 489 842.19 12 2 E 488 788.81 12 2 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12þ" 5 E 506 842.80 12 5 E 505 1033.57 12 5 E 504 254.00 15 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 12 3 W 500 372.80 12 3 W 499 561.91 12 3 W 498 497.97 12 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 15 8 E 511 830.88 12 7 E 537 464.55 12 1þu0 E 531 356.37 12 9 E 529 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 15 8 W 522 182.00 12 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 12 7 E 516 259.01 12 þ»7 E 515 439.51 12 7 E 514 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 15 11 W 544 þyù5.00 14 11 W 545 1345.38 15 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 þG_15 E 565 948.24 12 14 E 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 12 13 E 555 991.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 57þwŠ1 1069.11 12 16 E 572 1019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 15 16 W 580 2210.00 14 16 W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 99þ�6.51 12 17 E 585 627.63 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 593 960.21 12 18 E 595 645.08 12 18 E 597 430.98 12 18 E 598 343.31 12 18 E 594 531.30 12 þ™18 E 596 500.91 12 18 W 599 5659.58 14 18 W 600 1863.74 15 18 W 602 850.20 15 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 6þs25 2210.00 14 23 E 627 1209.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 15 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 34þ06.92 12 26 E 610 325.46 12 21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12þ—ô 23 W 626 483.00 15 23 E 631 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 þÅuE 646 326.75 12 26 W 647 2424.72 14 26 W 648 393.57 15 26 W 649 251.13 15 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 15 29 E 664 40.27 15 29 W 656 483 15 29 W 655 2210. 14 29 CC 542 CC 5þ§³43 CC 2592 CC 2658 ÿPL5.ûŽq þñâPROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVELþ%ˆ OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VAþáIRSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEþ¬åL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP þú×TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : þ¨INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF Pþy-ACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER);þs¸ BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CXþ\:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN Bþ˜åEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FþÒgOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'þ}‚9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM :=þ> BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L :þDÁ= Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAþH™R DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF þšûCONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INþÑ]TEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMESþ‚¤] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM =þ?v IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODEþuG} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACþ°BEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEþØ4VEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPARENþ2V THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS);  IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP :þ¡e= SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END þ—ÁELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYMþBÏ = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEþ¤ÙN(OPR,0,8); NEQ: GEN(OPR,0,9);  LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABþëßLE[I].KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BþÕ´EGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN þä GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+SþNçTATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0þjÞ,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CþBONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END; IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLAþ§úRATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM;  END ELSEþ[ ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYþÂgM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE Iþy÷NTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR Bþi¨1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T :=þ‚â T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1]þ” END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])) END; 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIþ„ÅN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]<=S[T+1]) END END ;{CASE} LOD : BEGIN T := T+1;S[T] := S[BASE(L)+A] END; STO : BEGIN S[BASE(L)+A] := S[T]; WRITELN(S[T]);T :=þ– T-1 END; CAL : BEGIN {GENERATE NEW BLOCK MARK} S[T+1] := BASE(L);S[T+2] := B; S[T+3] := P; B := T+1; P := A END; INT : T := T+A; JMP : P := A; JPC : BEGIN IF S[T] = 0 THEN P := A;T := T-1; END END {WITH,CASE} UNTIL P = 0; WRITE('END OF PL/þ"0'); END {INTERPRET}; BEGIN {MAIN PROGRAM} FOR CH := 'A' TO ';' DO SSYM[CH] := NUL; WORD[1] := 'BEGIN '; WORD[2] := 'CALL '; WORD[3] := 'CONST '; WORD[4] := 'DO '; WORD[5] := 'END '; WORD[6] := 'IF '; WORD[7] := 'ODD þ® '; WORD[8] := 'PROCEDURE '; WORD[9] := 'THEN '; WORD[10]:= 'VAR '; WORD[11]:= 'WHILE '; WSYM[1] := BEGINSYM; WSYM[2] := CALLSYM; WSYM[3] := CONSTSYM; WSYM[4] := DOSYM; WSYM[5] := ENDSYM; WSYM[6] := IFSYM; WSYM[7] := ODDSYM; WSYM[8] := PROCþëSYM; WSYM[9] := THENSYM; WSYM[10] := VARSYM; WSYM[11] := WHILESYM; SSYM['+'] := PLUS; SSYM['-'] := MINUS; SSYM['*'] := TIMES; SSYM['/'] := SLASH; SSYM['('] := LPAREN; SSYM[')'] := RPAREN; SSYM['='] := EQL; SSYM[','] := COMMA; SSYM['.'] := PERIOD; SSYM['!']þöX := NEQ; SSYM['<'] := LSS; SSYM['>'] := GTR; SSYM['"'] := LEQ; SSYM['#'] := GEQ; SSYM[';'] := SEMICOLN; MNEMONIC[LIT] := 'LIT '; MNEMONIC[OPR] := 'OPR '; MNEMONIC[LOD] := 'LOD ';MNEMONIC[STO] := 'STO '; MNEMONIC[CAL] := 'CAL '; MNEMONIC[INT] := 'INT þlõ '; MNEMONIC[JMP] := 'JMP '; MNEMONIC[JPC] := 'JPC '; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSþ«°YM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; þ­{LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUSþŒ,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONþØyIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXþ:ßECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL;þÈ {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; COþ¢¾DE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TþÀ+MAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; þ*æVAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=Cþ ™H END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[Kþºô] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(þ­mCH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH EþÚRND END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEþ37GIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEþ ŠGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; þ)6 END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1;  END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX;þe• WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEþã/GIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROþ§?CEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSþN"YS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN þP I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE þxØ IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM þ}³ ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPþÇòR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TEþ ­RM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION(þzo[EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0þX$,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I).KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; ENDþXP; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = þYá0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CXþ…21 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLNþ^Ë,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2]þ€Y.A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN þ—¼GETSYM; CONSTANTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOþX‘LN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSþæHYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; þç{START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTþPüERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1;þg¼ END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3þ�Š];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T]));þÁ† 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END;þn_ 13 : BEGIN T := T-1;S[T] := ORD(S[T]=] := GTR; SSYM["] := LEQ; SSYM[#] := GEQ; SSYM[;] := SEMICOLN; MNEMONIC[LIT] := 'LIT'; MNEMONIC[OPR] := 'OPR'; MNEþ›MONIC[LOD] := 'LOD';MNEMONIC[STO] := 'STO'; MNEMONIC[CAL] := 'CAL'; MNEMONIC[INT] := 'INT'; MNEMONIC[JMP] := 'JMP'; MNEMONIC[JPC] := 'JPC'; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBEþø)R,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. ÿPINFO.PXû?? þàšPINFO Copyright (C) 1980 Rational Dataþ„¥ Systems¼  þ¬C®ؾ®È¡8Û̹ÙÐÌØÙ›¾³ÿÿþ‹¡ØÙ›ØÙ›¾ •Çÿˆ¿ÙÚáö­5LØøŸË¡ŸÌØøÌØÙ𨸣ÌØø¢&ÚšØøÌٟáö­ 0Æž Æ žÜÌݚݢ‘Çÿ• ‚šÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÜž#Ýù¡Ì¹Ìݢݣ •šÝ£ ÂÝû¿ÚÝ£ ª!Æž!­hÆž Æ žÝÌÞšÞþr—¢‘Çÿ• ‚šÞ¢ šÞ¢ÙšÞ¢‘šÞ¢‘šÝž#AAZˆ® PAZˆ®È¡)Ê Ì¹ÜÐÌÚÜAZˆA•ÀޢܕA‚ˆÀº»ÜßáöQAZˆ® ZAZˆ®È¡)Ê Ì¹ÜÐÌÚÜAZˆA•ÀޢܕQ‚ˆÀº»ÜßáôÞù“ÌÆž!­/i ºÌÖÊÆÎ¡5²ž¶¢&¶øš¶¶š¶øÆª!Öʶø¢"ÎÌʂ̹ö­ALÆþž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆž!­2 ²ˆ•¤ˆ•¤AAZˆš²ˆ•¤ˆ•¤HAZˆš²ˆ•¤ˆ•¤IAZˆš²ˆ•¤ˆ•¤PAZˆš²ˆ•¤ˆ•¤QAZˆš²ˆ•¤ˆ•¤XAZˆš²ˆ•¤ˆ•¤YAZˆš²ˆ•¤ˆ•¤ZAZˆšÖÎ ¡Ö²s¦þcFCOM.CMϹֲs¦COM.CMÏÖ²sϸ²cˆ¤²€±øš²¶�ÇLj¾ÇÿÇÿˆË²¶�‚ÇLj¾ÇÿÇÿˆË„¡b¶‚¸¶cÅ¡:Ö¦(F)COM.CM file is too long.¥�!®ÒÏÖØÇÿˆÏÖØÏžÖ²sϲ¶cˆ¤²€±øš¹ö­™  ÖÆsÆ€±ÏÖÆs¦CLIFILEÏÖΠ̲ž¶¢þ…y&¶øš¶¶šÌÆÝÇLj¾ÇÿˆË¡Ü‚̶øÜÂÆݾ¿Ý‚̹ö̶݂øÂÜ¿®€³®€²È¡ðÊ€³Ì¹ÛÐÌÆÝÇLj¾ÌÝ‚ÌÌÆÛˆ•¤ˆ•¤øAZˆ®€´ÆÛˆ•¤ˆ•¤øAZˆ®€³È¡1Ê€´Ì¹ØÐÌڕ̶ø¢"ØAZˆA•ÀÆÚˆÀº»ØÊ€³Ã¡ôÛÊ€²Ã¡òÆÝÇLj¾ÇÿÇÿˆÃ¡îÖÆsÏ­þDÀ¦Tô´40ÌÙø ŽÌ­ ØŸšÖÎ ÌÙ‹¡Ù¹ ÖιÖι ¬¹¹6ÖÇÿˆ¥�!®ÒÏÖÛ¦Wrong operating system.ÏÖÛÏžÖØÎ­l²Ùˆ¤ÌÚøÃÚùIJ#Ùˆ¤¦ Я„Ì­6 ÆÙ¨€¯ÖˆÎ ֈΠ“„Ì€³ˆ®€µˆ®€´È¡)Ê€µÌþR¤€²¹Ê€²ÐÌ€²Ê€³ÖÊ€²ˆÎ „Ì€³Ê€²Ê€´Ã¡öÊ€³Ì­(³d Ø É¡ Ö0¥�!®ÒÏÖØ¥�!®ÒÏ ­$ÖÚ¥�!®ÒÏ ÖÛ ÏÙ¹öÖ¦January¥�!®ÒϹôÖ¦May¥�!®ÒϹôÖ¦ September¥�!®ÒϹôÖ¦February¥�!®ÒϹôÖ¦June¥�!®ÒϹôÖ¦October¥�!®ÒϹôÖ¦March¥�!®ÒϹþEôÖ¦July¥�!®ÒϹsÖ¦November¥�!®ÒϹ]Ö¦April¥�!®ÒϹJÖ¦August¥�!®ÒϹ6Ö¦December¥�!®ÒϹ ¬ ¹ú¿„Kí±y@ä§o4Ö ¥�!®ÒÏÖÛØÏ ­6 DÖØ¥�!®ÒÏ Ö:¥�!®ÒÏÖÙÎÖ:¥�!®ÒÏÖÚέ2ÖÆ�!Æ�_ÏÖÆ�!¦OUTPUTÏÖÆ4Ærǯþ¥`ÏÖÆ4¦CODEÏÖ¥�£Î§�££«�£§�££«�£§�£ŸÃ¡,Ö¥�!ÏÖ¦No program name.¥�!®�¤ÒÏÖÊ�¤Ï¹ì¥§�£ªc¥?¯¡;Ö¥�!ÏÖ¦PX PINFO program[.PU] [listing]¥�!®�¤ÒÏÖÊ�¤Ï¹ì®�¥¥¾®�¤È¡@Ê�¥«¹èЫ¥蛾³ÿÿþ‹¡¥蛥蛾a•A‚Çÿˆ¿èÊ�¤Ã¡ö¥¾É¡ ¥Ì�¤ÖÆ�¤¥cþDšÏÖÆ�¤¦.PXfÏÆ�¤ªcÖ¥Æ�¤¥¾•ÏÆ�¤¦.PX·Ö¥Æ�¤¥¾•ÏÆ�¤¦.PU·„¡ ¥Ì�¤ÖÆ�¤¥cÏÖÆ�¤¦.PXfÏÆ�¤ªc§�££«�£§�£ŸË¡ Ö¥�!§�£ÏÖ¥�!ÏÖ¥4¥ÏÖ¥4ÏÖ¥�!ÏÖ Çÿˆ¥�!®�¤ÒÏÖÊ�¤¥ÏÖÊ�¤ÏÖ Çÿˆ¥�!®�¤ÒÏÖÊ�¤Ö¦.==============================================Æ�þД¥¥¾ÏÆ�¥ÏÖÊ�¤ÏÖ¥�!Ï¥rÌ�¤§�¤¢�<Ì�¥§�¤¢�0Ì�¦Ö¦ Compiled:¥�!®�§ÒÏÖ Çÿˆ¥�!®�§Òϧ�¥ø¹'Ö¦AOS.¥�!®�§ÒϹ Ö¦RDOS.¥�!®�§ÒϹ ¬¹1Ö§�¥ùÎÖ.¥�!®�§ÒÏÖ§�¥úÎÖ¥�!ÏÖ Çÿˆ¥�!®�§ÒÏÖÊ�§ ÇÿˆÏÖ§�¦ø§�¦ù§�¦úÎÖ¥�!ÏÖ Çÿˆ¥�!®�§ÒÏÖÊ�§ ÇÿˆÏþÈSÖ§�¦û§�¦ü§�¦ýÎÖ¥�!ÏÖ¥�!ÏÖ¥rÎ ¡2Ö¦Separately compiled subprogram.¥�!®�¥ÒÏÖÊ�¥Ï§�¤£€¬¹ôÖ¦)Contains unresolved assembler references.¥�!®�¥ÒÏÖÊ�¥Ï¹ò§�¤¢�LÌ�¥Ö¦ PLINKed to:¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖÊ�¦§�¤¢�ÏÖÊ�¦ÏÖ Çÿˆ¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖ§�¥øþ$ê§�¥ù§�¥úÎÖ¥�!ÏÖ Çÿˆ¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖ§�¥û§�¥ü§�¥ýÎÖ¥�!Ϲ;Ö¦No assembler references.¥�!®�¥ÒÏÖÊ�¥Ï¹¬¹5à §�¤£€­¹ðÖ¦(Contains unresolved external references.¥�!®�¥ÒÏÖÊ�¥Ï¹sÖ¦$External modules have been bound in.¥�!®�¥ÒÏÖÊ�¥Ï¹:Ö¦þQ›No external references.¥�!®�¥ÒÏÖÊ�¥Ï¹¬¹4o®Ö¥�!ÏÖ¦Segment ¥�!®�¥Ò ÏÖÊ�¥¦BytesÏÖÊ�¥¦BlockÏÖÊ�¥ÏÖ¦------- ¥�!®�¥Ò ÏÖÊ�¥¦-----ÏÖÊ�¥¦-----ÏÖÊ�¥Ï®�¦®�¥È¡_Ê�¦«¹èЫ§�¤èˆ¤ùË¡?Ö§�¤¢@舤¥�!®�¦Ò ÏÖÊ�¦§�¤èˆ¤ùÏ ÖÊ�¦§�¤èþƒðˆ¤øÏ ÖÊ�¦ÏèÊ�¥Ã¡î§�¤£€¥Ë¡3Ö¥�!ÏÖ¦ Overlay size ¥�!®�¥ÒÏÖÊ�¥§�¤£€¥Ï ÖÊ�¥ÏÖÆ�!ÏÖÆ4Ï­¦<èø¹×–œÔ°J ^ ® T z Þ ž ’D þÿALLINK.ûÐl .þôLINK ALGOL.SV ALGOL:ALGOL.SV LINK AL1.SV ALGOL:AL1.SV LINK AL2.SV ALGOL:AL2.SV LINK ALGOL0.LB ALGOL:ALGOL0.LB LINK ALGOL1.LB ALGOL:ALGOL1.LB LINK ALGOL2.LB ALGOL:ALGOL2.LB LINK ALGOL3.LB ALGOL:ALGOL3.LB LINK TRACE.SV ALGOL:TRACE.SV LINK LIBRARY.CM ALGOL:LIþ (BRARY.CM ÿT14.ûŽ.þ¼ðPROGRAM T14(INPUT,OUTPUT); VAR I:INTEGER; BEGIN REPEAT BEGIN READLN (INPUT,I); IF I<21 THEN CASE I OF 1,2,3,4,5,6,7,8,9,10 : WRITELN(OUTPUT,'BETWEEN 1 AND 10'); 11,12,13,14,15,16,17,18,19,20 : WRITELN(OUTPUT,'BETWEEN 2 AND 20') END ELSE END UNþ£WTIL EOF(INPUT) END. ÿR.BUû½½ þg¹PROGRAM TEST (INPUT,OUTPUT); VAR I,J,DIGIT : INTEGER; R,R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; { WRITELN(' GETDIGIT,DIGIT=',DIGIT);} END; {GETDIGIT} BEGIN {MAIN} REPEAT þõ BEGIN {do decimal part first} WRITELN(' ENTER A REAL NUMBER'); READLN(R); { WRITELN( 'TRUNCR=',TRUNC(R));} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[10-J] := CHR(DIGIT+48); J :=J+1; { Wþ|yRITELN(' CHR(DIGIT):=',CHR(DIGIT+48));} END; STR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN  GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); þXk; J :=J+1; END; WRITELN(' STRING=',STR); END;{OF REPEAT} UNTIL EOF(INPUT); END. ÿ1978.DQûŽŽÿ1978.R1ûw½!þ<@B 4196.05 C 2332 2000 C 2313 1804.52 C 2337 43.50 C 2338 6.00 C 2345 53.35 C 2347 38.00 C 2348 50.00 C 2356 264.05 C 2354 50.00 D 23546.64 DM 250.00 C 2355 280.60 CC 2357 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366þ2 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.8þ³É0 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 D 13878.10 DM 1865.00 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. DM 250.00 C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 C 2402 80. D 3222.52 C 2403 1562þ.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 238þ3¾6 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75 C 2431 110 C 2432 991 C 2433 41.5 C 2434 52 C 2435 675 D 10674.20 D 8655.39 D 3056.00 C 2436 40 CC 2437 C 2438 3.47 C 2439 11 C 2440 339.45 C 2441 28.76 Cþ¿� 2442 589.40 C 2443 19.89 C 2444 16. CC 2445 C 2446 93.20 C 2447 410.72 C 2448 695.00 C 2449 50. C 2450 13.00 C 2451 55.00 C 2452 74.42 C 2453 56.30 C 2454 7.85 C 2455 223.17 C 2456 368.00 C 2457 1562.80 D 5534.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC þ7t2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 2471 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5þ: 631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 CC 2498 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 þ– C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.60 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.4þÀ>9 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 1800 C 2532 206.25 C 2533 1703.40 D 3825 C 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C þÐ2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912.90 C 2555 500 C 2556 90 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 25þw†63 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 C 2568 563.06 C 2569 26 C 2570 192 C 2571 14.30 C 2572 184.25 D 3000 C 2573 500 C 2574 115 D 11960.00 C 2575 42 C 2576 26.12 C 2577 81.71 C 2578 36.81 C 2579 368.00 C 2580 671.81 C 2581 37.70 C 2582þÊ 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 D 2107.75 D 4990 C 2589 5 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 C 2591 311.54 C 2593 770.94 C 2594 109.92 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.þ¼L22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 D 32927.50 C 2608 1352.93 C 2609 50 CC 2610 CC 2611 DM 7.37 C 2612 17 D 14750.00 D 2040 C 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45þ.´ C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 C 2630 164 C 2631 400.88 CC 2632 C 2633 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2638 1200 C 2639þHœ 1000 C 2640 115 C 2641 30 C 2642 101.39 D 3000 DM 3000.00 C 2643 140 C 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 500 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C þ.é2656 1500 C 2657 116.89 D 1545 C 2659 368 C 2660 37 C 2661 25 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 96.30 C 2668 495.42 C 2669 145 C 2670 8.70 C 2671 16.80 C 2672 29 C 2673 11.48 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 Cþyö 2678 49.56 C 2679 10000 C 2680 110 C 2681 1007 C 2682 37.64 C 2683 2000. C 2684 49.44 D 4762.50 C 2685 1850.16 C 2686 35.27 C 2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 CþFÅ 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 DM 11.49 DM 11.61 C 2704 36 C 2705 365.69 C 2706 18.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2þ—m716 1500 C 2717 1500 C 2718 11.56 C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 4þ¼:6.85 C 2734 164.11 C 2735 1850.16 C 2736 140 D 1997 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 D 13855 C 2750 145.75 C 2751 30 C þwá`2752 54 C 2753 55 C 2754 569.90 C 2755 64.50 C 2756 75 CC 2757 C 2758 374 C 2759 115 C 2760 500 C 2761 500 C 2762 1510 ÿTEST5.û޽ þÈåPROGRAM TEST5(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..0] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTRING = STRING[255]; STRPTR = ^BIGSTRING; WORDPTR = ^INTEGER; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTþÇÇR: WORDPTR); 4: (SPTR: STRPTR) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE: SYSCALLTYPE; ERROR: BOOLEAN; CALLNUM: INTEGER; R0: REGISTER; R1: REGISTER; R2: REGISTER END; {SYSCALLPREFIX} SCALLPTR = ^SYSCþ õALLPREFIX; FUNCTION FOREGROUND : BOOLEAN; CONST DOTFGND = 8741; LASTBKGND = 5; VAR HEAP : ^ INTEGER; REQUESTPTR: SCALLPTR; BEGIN MARK(HEAP); NEW(REQUESTPTR); WITH REQUESTPTR^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTFGND; { SYSCALL (REQUESTPTR);} þŸºTFOREGROUND := (R1.INT > LASTBKGND); END; RELEASE(HEAP); END;{FOREGROUND) BEGIN IF FOREGROUND THEN WRITELN(' FOREGROUND') ELSE WRITELN(' BACKGROUND') END. ÿMANUAL2.10û þ¼²MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 1 This file contains information regarding the RDS Pascal Programmer's Manual. The current edition is 2.10. The previous edition was 2.00. ---------------- The old chapters þn5 and 6 have been reorganized into chapters 5, 6, 7 and 8 due to the addition of separate compilation facilities to RDS Pascal. ---------------- The old chapters 7 and 8 have become chapters 9 and 10 respectively. ---------------- In Release 2.10 the fþ86ollowing changes have been made to the Programmer's Manual and to the file 'MANUAL': new --- 0-2 "Third Edition" added 0-3 A new table of contents 1-10 Added "PACKED ARRAY OF CHAR and STRING Compatibility" 2-3 Restriction on non-local GOTþ&�O removed 2-4 Added "Data Limitations" 3-6 Changes to "Default Filenames in I/O Statements" 4-4 Rangechecking code now generated for CHR, SUCC, PRED 4-11 PASCALO no longer uses a separate 'overlay' (.PO) file 8-2 PINFO has new input fileþ;¼name rules 8-5 Changes to rangechecking information 9-2 AOS: Compiler may generate .PU instead of .PX 10-2 RDOS/DOS: Compiler may generate .PU instead of .PX B PACK and UNPACK are now intrinsics C Changes to many Compiler error messaþ/Åges D Runtime errors may now show Module #'s, changed "DIVIDEND" to "DIVISOR" in "MOD" error message, added a new message. Index Re-written MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 2 The following þB} material has not yet been incorporated into the Programmer's Manual: 1. There has been some confusion regarding the differences between 'TEXT' files and 'FILE OF STRING[n]'. A FILE OF STRING[n] is composed of fixed length records, eaþ¶ch one being a STRING[n]. Each of these records includes a 'current length' byte as described in the 'Data Representation' section of the manual. A TEXT file is a sequence of CHARs and 'linemarks'. The linemarks permit TEXT files to be read þ-P and written with READLN and WRITELN respectively. FILE OF STRING[n], being a typed file, can only be referenced using GET, PUT, READ and WRITE. TEXT files are compatible with your operating system's ASCII files which have been created using the stanþ´¼dard text editors. FILEs OF STRING[n] are specialized, as are any other typed Pascal files. Examples are the compiler and runtime error files, PASCAL.ER and PASINTERP.ER, which are declared as 'FILE OF STRING[63]'. Each record of these files is exacþ¹0tly 64 bytes in length. (Remember the dynamic length byte!) These typed files can be accessed randomly using the RDS extension 'SEEK', whereas TEXT files may only be read or written sequentially. 2. RDS Pascal supports an assembler interface whicþ±Çh allows access to features of the host system beyond those supported directly by standard Pascal. One common usage of this facility is to access the host system's I/O calls. However, for many of these calls information about an open file isþæ¾ required -- the channel number, for example. In order to permit users to obtain this information, we have documented below a portion of the 'FIB' (or 'file information block') used in RDS Pascal for all files. If you pass a file as a 'var' parameter,þ8¤ you are actually passing a byte pointer to the FIB. We strongly recommend that you not modify any fields within the FIB -- just read them. The interpreter uses the FIB in strange and mysterious ways. You can easily get a program into trouble ifþ ç you 'innocently' modify a field. MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 3 The FIB consists of three major sections: (a) a 6-word 'SYSCALLPREFIX' (see the sections on SYSCALL in the Programmer's Manual), (b) aþ,*n AOS-style I/O packet, and (c) additional fields used only by the interpreter. Note that the second section (the AOS packet) is even used in the RDOS/DOS implementation to ensure that programs are fully portable between operating systems.þ The following pseudo-Pascal declaration will assist you in understanding the FIB design: offset fieldname type contents ------ --------- ---- -------- +0: mode: syscalltype; {see 'syscalþ:_l'} +1: error: boolean; +2: callnum: integer; +3: r0: register; +4: r1: register; +5: r2: register; +6: channel: integer; {i/o channel number} +7: isti: integer; {AOS ?ISTI} +8: aosfiletype: integer; {AOS þþè?ISTO} +9: fbufferp: byteptr; {^read/write buffer} +10: ires: integer; {AOS ?IRES} +11: reclen: integer; {# bytes/record} +12: xferred: integer; {# bytes transferred} +13: recnumhi: integer; {record #: hi-order} +14: recnumlo: integer; {record #: þìvlow-order} +15: fnamep: byteptr; {^filename} +16: blocksize: integer; {AOS ?IMRS} +17: deltabl: deltablptr; {AOS ?IDEL} {followed by interpreter-only portion of FIB} MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 4 3.þž³ On page 1-4 of the Programmer's Manual we discuss the input and output of STRINGs. It should be noted that a minimum field width for the output of a STRING to a TEXT file in a WRITE or WRITELN statement may be used. The syntax is: : If the length of the is less than characters, - length() spaces will precede the output of the . 4. The proposed standard speþä™cifies that the order of evaluation of a boolean expression shall be implementation dependent. For example: result := ifok(test) and expectation; A possible optimization in  the evaluation of the above expression is evaluation of the boolean functioþn 'ifok' only if the boolean scalar 'expectation' is true. If 'expectation' yields 'false' then 'result' will be 'false' no matter what 'ifok' returns. RDS Pascal performs no such optimizations. All boolean expression will be fully evaluated. þµ In other words, if 'ifok' has some side effects, they must always be considered whenever the above statement is executed. Without the use of explicit parentheses, the evaluation of complex boolean expressions is in left-to-right order -- the funþûg;ction 'ifok' will be invoked and its result 'anded' with the scalar 'expectation'. 5. Both the RDOS/DOS and AOS compilers have an additional global switch: "/C" for 'conformance'. See the release notice for full details regarding its use. ÿ BREAK.SVûll *þ™Ê"Óf  X(u(oOUX¥Y½&€(o"ûY•YµYYY•'HU'Êÿÿ$ÿÿ…Q…(D(8)(*]„ŽH* noz–¥(D(²�"«‚À0IÇ’ÀÒS[0i–.³£Ãݧ©Üåô !,ÁÙM¾½M+š¶Üôÿì�!„!Õþì:" " �Y½"¶ÿÿ"ñÿÿÿÿþ5’ÿÿ%ÿÿN—O?ÿÿØÂ¿ØØÂ¾‚¾ˡ ØÂØÂ¾‚¿¹ö­((Æž ÆžÙÌÚšÚ¢Ç"šÚ¢²DšÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²DÎ(ÚšÚ¢Ç"šÚ¢²?šÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²?Î(Æž!­p'Æž ÆžÚÌÛšÛ¢Ç%"šÚž#ØÛüŚƞ!­,)þ$ˆÆÇíž¶IÌØÌÛÌÛ¢ Ì® ®È¡&ß̹ÙÐÌܚܢÇ?šÜ¢ ÚÙ•¤øšØž#ÙÞáö® ®È¡Eß̹ÙÐÌܚܢǚܢڢٕ¤šÜ¢Üû‚šÚ¢Ù•¤Ú¢Ù•¤¾‚¿؞#ÙÞáô­Bs  *Ùɡ̹MÌÌÞ‚ÌÆÞÂÙ Ž0‚¿Ù †ÌÙáöÚÂÞ¿® Ú¾•®È¡Ê ̹ÞÐÌÚÞ‚ÂÆھޕ¾¿Þßáô­þ—ÁL d+¶'£P‘áئª2¹ö¶'ÌÊ£PÅÊ£PÇýÉ„¡Ê¢€ Ê£PÇR‚勉Module ª ¹Æ ¦Segment ª ÖÊ£PÆÎ+“¡Æ?©ÖÊ£QÆÎ+“¡Æ?©ÖÊ£RÆÎ+“¡Æ¦??ªØÌÖÆÆ ÏÖÆÆÏÖÆ¦ , Procedure ÏÖÆÆ!ÏÖÆ¦ , Offset +ÏÖÆÆ0ÏÆª2­)â,®ؾ®È¡&Ü̹þu÷ÚÐÌØÚ¾ÌÙaÄÙzÈ„¡ ØÚÂÙa•A‚¿ÚÛáö­#:%Ö²bÎ%ÆÌ²bÌ ÖÆ ²€ýÏÖÆ ²bÇÿÏÖÆ ²€ýÇÿÏÆ ªÿ® ²b¾® È¡+Ê Ì¹ßÐÌÌÇ̲bß¾ÌØž#Ú¡ÖÞÎßÊ Ã¡ö­'ˆv-ÖÆÆ?ÏÖÆ¦FÏÖÆ¦ PASINTERP.ERÏÖÆÏ­? 2.ÖÆÆB ÏÖÆ¦ERMESÏÆ€ý¿ƀýþlö ¿Æ€ý ¿¶'£V“¡ÖÎ*ÆžÚ¢ šØË¡öØ2ÅØÉ�¡ÌØáÆb¦ªÿ¹-ÖÎ.ÖÆ¦ PASINTERP.ERÏÖÆÏÖÆØÏ ÖÆÏÆbÆBªÿ²-¾Å¡iÆb¾Å¡"ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÆ€ÿªÿÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿ¦File: "ÇÿÏÖÆ€ÿ²-ÇÿÏÖÆ€ÿ¦"ÇÿÏÆ€ÿªÿÖÆ€âÎ,Æ€â¾Å¡.ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€þÞþýÇÿÏÖÆ€ÿÆ€âÇÿÏÆ€ÿªÿÖÎ-ÚÌ€ÿÊ€ÿšÙˡʀÿ¢ ٚʀÿ¢Ç šÚž#ÖÆÏ­*|lÆž ÆžÛÌÞ•šÞ¢šÞ¢ØšÞ¢ÙšÚÌÝŸË¡²-Ú¢Fª!Ûž#Æž!­@/ÖØýØÎ/­0ÖÆ ÆHÏÖÆ ¦CLIFILE϶¸'‘Çÿ•¸(²³ÿ ½²——œ —œ —œ ½²"¤š²"¤þö š²"¤dš²"¤Çèš²"¤Ç'š¸)²-¦ª!Ÿ¸*Ÿ¸+Ÿ¸,²IÇ´ž®�‹ ®�ŠÈ¡ Ê�‹Ì¹ÞÐ̶I¢Þ•¤¦ª!ÞÊ�ŠÃ¡öÖ²>Î)ÖÎ'¶>¡ÖÆ ¦FCOM.CMϹ ÖÆ ¦COM.CMÏÖÆ ÏÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏ®�‹®�ŠÈ¡Ê�‹Ì¹ÞÐÌÖÆ ®�‹ÆÏÞÊ�ŠÃ¡ôÖÆ Ï ÆHøÇÿáÖÎÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊþ¶Õ�ŠÏÆ€Œ¾!•Å¡ÖÎÖÆ€ŒÎ%ÖÆ€Œ¦.PXÏÆ€Œ¾•ËÆ€Œ¾Ã�¡"Æ€ŒÌ�ŠÖÆ�ŠÆ€Œ!ÏÖÆ�Ц.PX$ÏÆ�Šª!Æ€ÛÌÖÆ€�ÙÇ^†ÎÖÆ€�Æ€ŒÎÖÆ€�ÎÊ�zËÊ�{ †Å�¡Ö*ÎÊ�‡¹Æ��¶'¢€®·¡Ö2ιÖ0ι ¬¹$Æ€Û¤ùáÖÎÊ�ˆáÖ1ÎÊ€£Ì®�‹®�ŠÈ¡DÊ�‹Ì¹ÛÐ̶'Û¤Ì�‹Æ€ÛÛ¤þ9Ì�ŒÊ�‹Ê�ŒøšÊ�‹¢Ê�ŒùšÊ�‹¢ÚšÊ�‹¢šÛÊ�ŠÃ¡ò¶'¢€¦Ì�ŠÊ�Š¢Ì�‹Ê�ŠÊ�‰šÊ�‹Ê�€šÊ�‹ø¹!Ê�‹¢Ÿš¹&Ê�‹¢Çž¹Ê�‹¢Çž¹¬¹)"ÖÆ Ï­™Ä:œê1®®È¡Ú̹ØÐÌÖ²€‚ÏØÙáö­(2ÖÆ€‚Æ€ÀÏÖÆ€‚¦CLIFILEÏÖÆ�Î)Ê�¡ÖÆ€‚¦FCOM.CMÏ¹ÖÆ€‚¦COþ0M.CMÏÖÆ€‚ÏÖÆ€‚ÏÖÎ2ÖÆ€‚ÏÖÎ2¶,ŸË¡UÖÆ€‚Ï Æ€ÀøÇÿËÖÆ€‚Ï “„¡2ÖÆ€‚®�ÏÖÊ�ÆÇÿÏÖÊ�ÏÆ¾ÅÆ-·„¡Ö¶,ÆÎÖÎ2¶,£¸,¹öÖÆ€‚Ï­eÊØÌÜ¢ ÌÜ¢jšÜ¢lšÝ¢ٚݢÜ¢FšÝ¢Ý£ ‚šÚšܢ,šÜ¢nÚÚ‚š¹4Ü¢xšÜ¢zšÜ¢tšÜ¢ršÜ¢všÜ¢6 šÜ¢p šÜ¢,šÜ¢nšÝ¢Ü¢~šÝ¢þäO Ü£7šÛ¡ Ü¢0¶,šØ¸,­ŒØ£5¡Ö(ØÎ/Ù¾!ġآFÖÙÆ!•ÏÆª!Ö&ØÎ/¹ÆÙª!ÖÆÎ%Ø¢Fƪ!Ø¢Fƾ‚¿­NÙáÖ/ØÎ/ØÌÝ¢ ÌÝÌÝ£5¡7Ù¹$ÖØÎÖØÎ¹&ÖØÎÖØÎ¹ÖØÎÖØÎ¹¬¹ .¹òÝ¢F¦INPUT¯Ý¢F¦OUTPUT¯�¡DÝ¢zšÝ¢F¦INPUT¯¡ Ý¢F²Dª!¹¶*þR‘ŸË¡ÖØÎ/Ý¢F²?ª!ظ*Ý¢FÝ¢F¾‚¿¹Ø¢zšÝ¢.ÙšØÌÙá=ߚߢǚߢޣ šÚž#ßù“ßùßý Ä�¡ߚߢǚߢޣ šÚž#ßù¡ÖØÎ0ߚߢÇ*"šÚž#ßù¡ÖØÎ0Þßýšßšß¢Ç?šß¢Þ£ šß¢šÚž#ßù¡ ßýË¡ÖØÎ0ßù“¡ö¶'£V“¡P¶IÌ ÌÌÛ ÈÜ“„¡Ê ¢Û•¤¾Ã¡Ì¹Û‚̹ôÜ¡Ê ¢Û•¤Ý¢Fª!Ê þåzÛ•¤Þøš¹Ö/ØÎ/Ùáß•šß¢šÚž#ߚݣá#ß•šß¢šÚž#ßšÙá Ý¢rÝ£8š¹Ý¢ršß•šß¢šÚž#ߚݢjšÙá Ý¢hšÖØÎ$¹Ý¢hšÖØÎ$Ý£Ë¡ÖØÎ&­Á $Ø£5¡xØÌÛ¢ ÌÛÌØÌÚ¶*ÃÙË„¡Ÿ¸*Û£ÃÛ£‹„¡ÖØÎ#Û¢jšÛ¢lšÛ¢xšÛ¢všÝšÝ¢Ç?šÝ¢ ÜøšÚž#Ýù¡ÖØÎ0Ùþ| ‹¡ݚݢǚݢܣ šÚž#­†ØÌÙ¢ ÌÙ¢lÙ£4šÙ£áÙ¢všÙ¢xšÙ¢ršÙ¢t‘š­4$ØÌØÌÛ¢ ÌÙÉÙÛ£8Ä�¡Ö'ØÎ/Û¢rÙšÛ•šÛ¢šÚž#ÛšÛ¢lš­> Ù£;¡Ù£8̹٣̭٣áÖÙÎ!Ù£6Ì­ ÖÙÎ!Ù£<Ì­ ØÌØÌÛ¢ ÌÛÌÛ£5“þ®¡Ö)ØÎ/Û£=¶)„¡Ö¶*Î#Ý¢Ç?šÝ¢ÜûšÝ¢ÜýšÝ¢ ÜøšÙž#Ü¢ ÝüšÝýÃÌÝù¡;Ú¡2Û£áÛ¢~Üþ¿ܢ Üþ‚š¹Û¢~Üþ•¿ܢ Üþ‚šÛ¢lš¹ÖØÎ0¹Û¢hš­ž3ØÌÚ¢ ÌÚÌÚ£6¡Ö ØÎ/¹òÚ£áôÚ£9Ú£:Å¡JÚ£¡ÖØÎ¹?ÖØÎ3Ú¢ršÚ¢tšÚ£=¡,ØÌܢǚܢڢ~¾šÙž#Üù¡ÖØÎ0Üû áÜ¢ šþ�$¹öÚ¢|Ú¢~Ú£9¾šÚ¢rÚ£9‚šÚ¢lÚ£>Úڣ>²¼‹¡Ú¢6Ú£8šÚ¢pÚ£>šÚ¢| šÚ¢xš¹Ú¢xš¹Ú¢lšÖØÎ3Ú£6“¡ Ú¢rÚ£9‚š­‚ ä&Ø£9Ø£:Å¡rØÌÚ¢ ÌÚÌÚ£5“¡Ö)ØÎ/Ú£=¶)„¡Ö¶*Î#ØÌÜ¢ÛûšÜ¢ ÛøšÜ¢Ç?šÙž#Û¢ ÜüšÜù¡ÜýáÚ¢~Ûþ¿ۢ Ûþ‚š¹ÖØÎ0Ú¢tÛþ•šÚ¢rš­„þþtØ£áØ£;¡ÖØÎ&Ø¢všØ£6¡Ö ØÎ/¹ÖØÎ&­.ØÌÙ£;Ù£6“„Ù£Ä¡ÖØÎ&Ù¢vš­$!ÖØÎ “¡ÖØÎ&¹öØ¢vš­ ÖØÎ!ÙØ£>šØ¢vš­Ö#ØÎ/­ØÌÖØÎ!ÙÂÚ¿ÌÛÚÈÜ£<“„¡ÙÛÂÜ£>¿ÖØÎ&ۂ̹öÙÂÛ•¿Ü£<“¡ÖØÎ&¹ô­3 JØÌÖØÎ!ÙšþóÅÌÌÜ£> áÖØÎ&¹öÜ£>+ÃÜ£>-Ã�¡ Ü£>-ÃÌÖØÎ&Ü£>²¼‹¡ÌÙÙø �0•Ü£>‚šÖØÎ&¹ôÛ¡ÙÙø‘šÚ¡ÖØÎ/­5\ t ØÌÖØÎ!ÙŠ½ÌÌÝ£> áÖØÎ&¹öÝ£>+ÃÝ£>-Ã�¡ Ý£>-ÃÌÖØÎ&Ý£>²¼‹¡ÌÙÙ¼ Š�Ý£>0•Šƒ½ÖØÎ&¹ô‘ÌÝ£>.áDÌÖØÎ&Ý£>²¼‹¡$ÌÜ‚ÌÜKš֨Î/ÙÙ¼Ýþ“£>0•Üž$‰‡ƒ½Ý£>²¼‹“¡òÝ£>eÃÝ£>EÃ�ÜÉÚ“�„¡>Ý¢všÖØÆÎ Ú¡ÙнÌÜ€Kš֨Î/ÜÉ¡ Ùټ܀ž$‡½¹ Ùټܞ$�½Ú¡ÖØÎ/Û¡ÙÙ¼’½­¨Ý ØÌØÌÚ¢ ÌÚÌÚ¢hšÜ¢ÛûšÜ¢ ÛøšÚ£¡Ú¢~Ú£9¿ܢÇ?š¹ Ü¢ÛýšÜ¢Ç?šÙž#Üù¡ÖØÎ0­V4Ø£5“¡Ö)ØÎ/ØÌÚ¢ ÌÚÌþm\Ú£ájÚ¢~Ú£9ÂÚ£>¿Ú¢rÚ£9‚šÚ£9Ç„ÅÚ£>²¼‹�¡7Û¢ Ú£9šÖØÎ4Û¢ šÚ¢ršÚ£>áÚ¢~¿ܢšÜ¢Ç?šØÌÙž#¹ Ú£=¡¸)¹/Ú£8Ú£9•ȡڢlšÚ£8Ú£9á Ú¢pÚ£8‚šÖØÎ4Ú¢rÚ£9‚š­À Úšآ| šÖØÎ ڕ̹öØ¢|ÙšÖØÎ ­ (ØÌÚ¢ ÌÚÌÚ£á,Ú£9šۢ Ú£9šÖØÎ4Û¢þ‰Ž šÚ¢ršØÌÙ¶*á¸)¹ÖØÎ ­J#ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڕ®È¡Þ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ @Ù¾ÌÚÈ¡Û̹ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڮȡÞ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ LØ¢| šÖØÎ ÖØÎ#­Ø¢| šÖØÎ ÖØÎ#­Ö#ØÎ/­þÙs Ù¡ ƦTrueª¹ ƦFalseªÖØÆÚέ*"ÌÌÆ ¿ÙÉ¡ Ù€ÌÙȡƦ-32768ª ¹cÆÂ-¿Ì®®Ä¡IÊ̹ܕÌÙ²"ܤø†0‚ÌÝ0ÃÜńބ¡¹ÌÆÛÂݿۂÌÝ0Ë¡ Ù²"ܤøŽÌÜÊáöÆÂÛ•¿ÚƾɡƾÌÖØÆÚέ` ¨ÌƲ ¼½Æ¼³Bd±¡¶‚¸ÚþÕX‚ÌÆÆ¼² ¼‡½¹öƼž Ä¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹ôÚÅ¡ ÚKšֶÎ/² ² ¼Úž$‡½ÖÎ5¹JƼžÉ¡¶•¸Ú‚ÌÆÆ¼² ¼�½¹òÚÅ¡ÚKšֶÎ/² ² ¼Úž$�½ÖÎ5­M›È Ü5Ö¶ØÎ­6®Ø®È¡:Ü̹ÚÐ̲ ¼žÌÖÙ0‚Î6² ² ¼ÙŠ–½²þon ² ¼² ¼�½ÚÛáö­8 N7Æ ž$½Æ ž$½ÛÉÜÉ�ÜKÅ�ÛKÅ�¡Ö$ØÎ/Ƽ³µÌÆ Æ¼�½ÌÝ¡òÆ ¼³·¡Æ Æ ¼³@€Üž$‡ƒ½Æ ¼³·Æ ¼³A °„¡ÖÎ5®ÛÞ•Ü••®È¡Ê̹ßÐÌÖ Î6ßÊáöÊ¡Ö-Î6¹Ö Î6ÖÞÎ7Ö.Î6‘®Þ®Ä¡Ê̹ߕÌÖ0Î6Ü•ÌßÊþ >áôÖÜÎ7¹ðÛ‚É¡‚ÌÆ ¼³¯¡Ì¹ÖÎ5Æ Æ ¼³@€Û••ž$‡ƒ½ÖÎ5Ê¡Ö-Î6¹Ö Î6ÖÎ7Ö.Î6ÖÛ••Î7ÖEÎ6ÞÈ¡Ö-Î6¹Ö+Î6Þ•€ É¡Ö0Î6ÖØÞ•€Î­‡£Ù zÙ¦ªÚÅÛÅ„ÚÛ‚•ؾȄ¡ØÚÂÙÂÛžÙÂÛ¿¹Ö¶+Î/­8پؾ‚ÚÈ¡ÙÂØØ¾‚ÂÙ¾žØÂپؾ‚¿¹Öþ“¶+Î/­2ÌھšSÚ¾ÌÌÙ¾Ú¾•‚ÌÆÂÚ¾¿ÜÛÈ¡3ÜÛÜ•ÝÙÜž ‚ÌÜÛÅ¡¹ÙÜÂÆÂÚ¾žÆÚ¯¡Ü̹܂̹ö­:ƒfÖÎ1­H ­xÌâ¶ â̾¦¶\ê DŽ dš” lÆ " Ì>TâødÆ `r$ì PHZ€   VH Æ Ö b BàþO\²xnÿ7n&{ÿÿÿÿÿÿÿÿ¼  8X6H**º�+ª ªÀ8Iï8)6X6H**º�+ª ªÀ8JïRª�ªÀ8)6ª�H7(**º�+þÐBª ªÀ8Iï87î8)60-•P-("�H"((Ž <Ž´ n0-–P-("ŽH"€ÿ ç;óŸxÜÚÓÆå§‹Vý'í±|-øv†¶CóÃúƒ0ÝÓuYgî^€Ò�oãåM.86—Ï42‡0¦Éþ õ(3Û¹3ï >x#6ùEö[¼¿“ÇPÎRä]........þ ¾RRRRRRRRUUUUUUUUUUUUUUUU½ÄÄÄÄÄÄÄ1–ö2(T(]ÿ) X²(*ö2(T(] X²(*öP(T(] X²(*ö$((B]0(" X²(*öB]1– /–2(T(]ÿ X²(* /–2(T(] X²(* /–P(T(] X²(* /–$((B] W²(* W¢(*‚À–(T(]Ô(T(] W¢(*�ò2üƒþì»þ X¢(*–"(D(] W¢(*�ò2üƒþ X¢(*–P(T(] W¢(*�ò2üƒþ X¢(*–$((B]$((4((Ó�B]4((Ó�2(T(]1 Æ4((Ó�–"(D(]ÿ W¢(*H*P7@80(–P( "Ä n- 807³�8(�ûŠ©"CÓû«ûÊP8)](L( W¢(*Ž] W¢(*4((Ó�H*P7@80(–P( "Ä n- 807Š8(½û©"þ1TCÓû«ûO W¢(*0(•P(<((û�ÓH*Š©"CÓû«ûO4((Ò�"‚‚À0IÇ(D(]$((4((8IçÒ“‚ÀH**ÒúÀïŽJO$((†/<((H*ó�2(J·À(*•ž(\(8)]H* n X¢(*‚œ $((†4((–(T(]H*ŠP…4(( p8)4((¶(T((*O X¢(*†4((–�"(D(] X¢(*H*Š4((<((Ó�û�©"CþKåÓû«ûO X¢(*H*<((4((Š W¢(*H*<((4((P7ú�+ú ªÀ0IÏú@07¥ n«©OP7ú�#ú ‚À0IÇú@07X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887ûÓ«åO$((0HÆ4((Ó�B] W²(*H*,((… q<((®¾(\((* W²(*H*Š… p8j¾#ÎÔÎ8k¾+§(D(O$((4((Ó�2—‚’Ò�ý(T(]H*,(þ3x($((<((û�’Ò’ªPý�€3—¶SO$((‚Z�(D(]$((�(D(]$((4((� $((4((–(T(]$((4((‚J ÒJ–ÒZ–ÒJ––Ò[(T(]H* n,H*…4((,((Ö/ ªJ rª[‚  rªZ€  ÒK®/÷ð­(L(O nH*4((Ò,((…ªJ„ s(L(O0("(D(ÌH*4((þ7Ö/8(+…ªJ„ s8(‚JÆCO n n+$((4((—(T(]$((4((€—”(T(]$((‚‚……P(D(]$((€(D(]0(]]0(ÿ]]0(":ÿZBÿ8)]0("(D(] X¢(*4((–(T(]$((<((4((Ýþ.Å‚J(T(8)]H* n$((4((•…Q…(D(]$((4((•ÕP(T(]$((4((•Ö/……P(D(]$(þ7b(4((•ÒJ……P(D(]$((4((•ÒJ…Q…(D(]$((4((•Ö/…Q…(D(]Õ ÕP0@0A0B0C W¢(*9ž@R�}G9ÞKQgRRRR X¢(*H*‚ K@6<((4((Ó�û�#*� LÓû6ùK X¢(*H*‚ L@6<((4((Ó�û�#*� KÓû6ùL$((8Hæ8-ùøCúP(\(Šþé:H*9øÞ#(D(8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07‚ ª FFª DŒ@6H6ÓûX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07Œ&�$6ä8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07� Œ…P @ B<((4((,((ŸKL X¢(*H*9‚Þ+(L(8(3ÿþÖK;þ‚ å@6P7ú�#ú ‚À0IÇú@07X7Ò�*Ò ªÀ8IïÒ@87ŒÑ�ÏÓû6äÆ W¢(*4((• ]=”H*8(ÝûŠÂ¥ò–©"CÓû«ûX($(('H*Ê¥0(P7@80(–P( "Ä n- 8078((D(®/ ©"C„–ž«ú,((©…ÔCÞ«ýO$(((D((D(H*<((4((ÝÕ(T(O ÒK n!8þå‚å nP6X7(Gï8k¾#(7ª�ª�ª�ª�86ú�ú�ú�ú�½(D(„Žú86(Gï8j¾+§(6ª�ª�ª�ª�¨(D(…«ü 7‚�‚�‚�‚�ƒ(D(Oï$((0(•P(H**ª�ª�ª�ª��…Úž½* G§+8lž#§…P8)B(*] zª H6"+�JÓû6ùP(O lªüH6"+€�ŒJÓû6÷ð ]ªíH6"+¨§BÓû6þ‘cøâ9Þ0R?RO Eª H6"+�Óû6ù…Q…,((®0(µP(BO /ª H6"+�Óû6ù……Pê ª H6"+��Óû6ø…Q…Ú ª H6"+§¥Óû6ø…Q…ÊX6H*8(+½ÔÞ3¢Å‚  8(+½òµ”–6 ‚K8(+«S�KΫ«(D(«0(P7@80(–P( "Ä n-þúÔ 8078(©"C„–ž«ú,((©…ÔCÞ«ýÉ?ÿÿÿÿÿÿ?ÿÿÿÿÿÿÿþÿüÿøÿðÿàÿÀÿ€ÿþüøðàÀ€ @€ @€0(ÓP("ÿ A8)]0(ÓP("ÿB"þBÿ @•"ÿ 48)]0("ÿ‚P‚�Bÿ]0("ÿ‚P‚°Bÿ]0( %P(8)]0( !P(8)]0( P(8)]0( P(8)]0(ÓÓ"ýBÿ"þBþ% P(8)]ÂH*0( P(O[|ˆ’›¥p!(D(!(D(0("ý‚K ñ î òP(8)]0( íP(8)]@€4((ÒJ! Å Ö! –"(D("(D(]K nLAA BdC>€D'EjEô$F˜–€G_^H;šÊI%@¾JHvJèÔ¤K‘„æLZóM8×êN#†òO4WOÞ jPŠÇ"QV¼uR65ÉS!á�T-TÓÂU„YPVR·ÒW3²ãX OÎY1àYÉòÇZ~7¼[NâÕþÙ\1MÅ]Л^Ba^À—Ë_x^ß`K;Ka/bc)c]ùc·«ÂdrËYeG¿f,×og¥h„'h¯)‰imyõjDl9k*ãlºFm´lm§ 8nhg£oA@Åp(È{q}MqþårŸO"sc‘ut>:éu&äÑvOvów—íÓx^ô¤y;Xæz%�{.º{çÓD|�ä }Zކ~8™#_¬â0+80(D((L((T((\(8,(\(8(X0š] W²(* Wº(*H*(\(80Ký8>ÞÖPÞX6#†/.…PC#þù®ƒ�‚  n ((Ž0<Î0-´ n ((00Í0CÎ0(ÚžX(©"C„–ž«ú"–86#ƒ�(0ŽH00CÍK863P,* J�À$((ª  ­P�  0,•"ƒ�•P+ 0@/P8) W¢(*H*00Jý0>*H, W¢(*H*00Jý(+0-µ0.µ00(:Jþ,+0,•<,úK!Iä""‚K Sƒ�•P+"‚K99œ 0+P,ÑÐ"•P+"@þ¨¸0IÇÏ8)� #ü�â;üƒö80Cü#ÿ‚P‚ CÿX)0+"üP7@80(–P( "Ä n- 807ÑÐ"ƒ�•ÊPH*]þ W¢(*ƒ00Jý0;•"ƒ�•P+ ;@, 1Ò"o80#ÿ‚P‚ CÿX)2ÿ I—!–"@60(6$0+"ÿ(J§À@680X)/ W¢(*@6(J$,‚K1Í•T!§À7·À• 8>ž†Pž#ƒ�0)Ú(Bµ�X)Ú� 6Ž«©"Cþ<ØÓû«û8)#@,#ÿ‚P‚�@0+ý3þÒK ®8)P+ 6‚  C�X(H*0)ÓÚ(C½Š©"CÓû«û„žX((*80#ÿ‚Z;ÿüúPú�X)]$+§À(@� Ë+ýöH6,(($((ªÀŽ0+ @•"ÒP•P*$+0JÇ·•  $,‚À0IÇ·• O3þÒKÂ(\( &<(( @•"ÒP•Sý3þÒPÒ�"0JÇ·• '‚À0IÇ·• á3þÒPÒ�"0IÇ;ÿþÏlÙ(6H* n "o0+ @•"ÒP•P*+üH6(6#ÿ‚P‚��H63þÒKÂ(\( ê<(((6ª "(I§,((�  $((‚�•"ÒP•SýO(L( @•"ÒP•Sý;ÿÕ W¢(*’ÀÒS0JÆ‚JŽ‚ 0+–"ÒP•Ê]$((‚ƒé«]³�$((*�®.*�ªJ *¥(A¶–"ÊP�]ÓËP] W¢(*H*1–RD�ÃK0RR lg€ïþú' —RRRRRR”RRsiGIMKOQS+2Rz7YRRR4((Ó� -‚PB]4((Ó�"ƒ�0-” n0.• n@-]$((4((Ó�(-�H-ªPJ«� <� (¤ n H"(*] $<((û�C<((û�K<((û�SO ò -0(Å0<ņ/…(D(]$((ÕPÇ(D(]4((!Þ!æ!ë$((<((4((þ/]ùX7H88IÒ’úÀþ/8*ïúÀŸúÀîJÒ@(887Óûï8)]$((<((4((†/O�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807ÓûƒåO$((<((4((–ž¬¶¾‚JO�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807¬¶¾ƒäO8(+þ#ýCþ‚ O#ÿ3ª$+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ 9¬¶þò8X7þ½‰Ò�*Ò ªÀ8IïÒ@87¥ (Óþó(+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ ¬¶þòX7Ò�*Ò ªÀ8IïÒ@87¥ Óþó#ý+þ¥Cý A�X(O… …P @ A B C D0(4 8()¾X(X)X0…�CúX1! æCÿ =(D()] ÿûJ2ÚÏÖÍÖÏH)H($,‚C#) � 1–�‰""6"A"U nûX6+8)'þй‚K;ÿü0JÇÀE'þÇÀE3ý @•;þ„ž#úP�õUbcdX6­Š$,0JÇÀE÷8+#ÇÀEô„ž#úP� *ÔÆåEë0; A•"ƒ�•"ý2üÆ0CÆ01Æ@(@0ª $6! (D((L(81X))]3´ÏX69ªƒ‚�Æ�ûüª°6X6Å 9 ªP‚@ŠŪ@ûûý!ý6ÿðX7ýªKû©ÒKøÑX8 p88úZÑú›¨€«ƒ7X7ý‚KþÞû¨€«ƒÒKøÑX8 q88úZÑú›©�72\2 @–…BBÿ y<222\2 z @•<222D2 u$222T29ž422 vOCüûXRS¸X6! YP3! YP2! YP4!–P56 f n nðÿú2\284#+3;Ž«„Þû…%84)™îH6+9ìç 848B2\2<6úPÒ@ª@‚@2û\6<22í84CKS#(J�Ë42284…)ÌCû«ýö2\204"*ûŽ!b�Jû"*úŽ€…pBú82!=žX2!8ÆCþ!6ÆCý BC…CüCû+Kÿ/þ7ý p82þý3û–üSû¢ÿôGþ#þ+ý3ÅCþÎKýý#û+üKû­KüâGþ82!�X2þYD84!K�X4 "83422ÿü2\2841=Þ05Ý:X4’PÕpSÒŠ�C!0C…CCC 83422@2\284#1û­•1•+Ò ªZÖPѪ�Óþ#‚Š©! �X4¢83422 nDK2\2841ûÝX4#+ Ž«„# + Ž«……P+ªŠ„834224ò832\2 ‚0422 C B A @…P2\22D2 |84þ !Ì�X4ÕP#+ Ž«„# + Ž«…#‚ŠÒPÒP$22Ç‚ 83422ÿüŸÿú2\284#û+¥)„¦Cû#ú+Ž€­pKú#ü+Œª ]û1êö (B æ8402!S–P2 BBþ!MÆBÿ#ü+ý3”¬ q02Nÿ84Z BBý…6ÿ+ p02:K ýøC 1584…#+ ‚ ¥¤C ùøÓ÷02‚ ÿà)±84#Cüû«ü84ÿþÍ)¦"ùCüÓû«û029õP284þò�1 ÝX4 83422ÿùÿû n2\283(4K’C*ÿK w# w }! +¦C w {ö# x4222\28304"C…B!K w } ‰)H�?C!A w | 4C w 4 w } ˆ# w!9 Š } ˆ!0 Š 4 w# w { ˆ# w | ~!& w }# x+!=§ª�ª�04:îJ83‚C! w ~ü#‚ƒ! w ˆ ~422 n(@FLúþÖjÿÿÿÿÿÿÿÿB<�g¡ö EDvNøÁ)×÷IF¾€XÀû?HACmTš_àâÝhEPÒm·ðF[˜ \8œ´u@€A žf;Ì’AGe+‚þ…Q…2\283C04"‚F"‚‚N")O¥ J†@C04"‚J!G w }ø÷ 4 w!@ w „!>‚!<‚C 4 w# w | ˆ# w { ~ 4 w 4 w } 4 w!* Šþþ‚ ˆ!( Š ~ }# ! w } {! w }422…P04B! B„BBBBó n@¸Äê¾ÊÐ×êA @€@µó3ùÞd„@±r÷ÑÏy¤@o-ìT›”8ÇBSïP þ©œB]vÂ1I«¹fBZ,¸—¿YÀAB»ÅÜÛ>†)B=ÂÕ1ï‹oB-\K߬•u2\28304"‚Š2"‚,ÂCþaª w04")žJ¥ ‚€C…pC!$ Š!" w }0404"+ŽJ BCS# w# w ~ {! w }ö ˆ#@4422 n@RL@äù*ù¨Íê@9>Nð(§ü@@@€2\28304"C…BCC"):¥!= w ˆ ~ 4 w!1 w „‚ 4 w!- w }!, w | ˆ!& w { ~ 4 w 4 w } 4 w! Š ˆ! Š ~ }þ|! w {! w {#D4422A·«¥½±ÄÝA2Cö¨ˆZ0Œ@† ‘Ák›,A¶zèXLªt@D˜Qz{5XÃA!ûTD-FAɈgô)ƒß2B}”D@nV�C®Ù>rWÿBÅ3þ,Á1åAB%ëÈÝ£BϱS—^UCÊ™43F­£BÅ3þ,Á1Þ…… 2\28304*…uªƒƒPC…B!! w } ‰+þULŽ“K! w ˆ |+04ª‚ w 4 w } 4 w! Š ˆ! Š ~ }422 f T / T>•6-î-Ïj@Aãõ1·ó7AÆP6QÏõîûC·ÅZ�QFåC©; È(:óìDpÔ‹´ËÙ0ABsMÊ�]pÄZDx%U³îXl@¢ùƒnND'8(3þSþ;û�Ó� B@6"+�Óû6ù®'¬3­p8(3þÓ�ªK22Ð å$((<((þbô4((û�S(L(O h…PEþ AP7@80(–P( "Ä n- 8078(3ýÓ�!ìBBBB3øÓ�"3ý;ùž F@6P7ú�#ú ‚À0IÇú@07(\( -'X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887<((Óû6ßP7ú�#ú ‚À0IÇú@07(\( <((ûð$((üæ)Œ)Œ)�) �) �) �0:@Z`z8(3ùÅ3øÓ�B FþKó@63ý)o9pX7Ò�"Ò ‚À8IçÒ@87�¥X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Ó6ã8(3ýX7Ò�"Ò ‚À8IçÒ@87)E¥3úÓ�–"Cþ"ŠP¦P‚PCÿ!;3ú–#ÿÆC#þŠP¦P‚P–(T(;ýÓ�û� B@6"+�Óû6ù4((!–8(#Äé…;ûû�C8(!�X(O4((Ó�"8(;üû�C"8(î A`6 ÂoÔ  ŒÔP  Œþ#Ǫ ÷f?F‹QfX�1,Â)+H6)*�H7…Ó*¤À7Ó66ø)é� ä!ê‚ Ù " Œ9öÀ®P®P¶P–9ÝúÀ)Ù®P®P¾P)Ö¾ÝÊ‹�!„0!‘D  Œ¥   ŒH-H. <�H"  t‚  " ŒWsX6 " Œ9ö6°X6 " Œ6Û�X6#€  ‚K n) �ü1–v!ü!ÿ!ò#+1S1S1S386C…86þOžC…PCKSO Ž�#X9! Y89ZP9Ë!øæ‚Pƒ " Œ89ó" *1k p<937 q<9K8!09 ZOX937+9… p893 '? ŒOX93 ? Œ1 Ï­P89KÐÇ1Å……PCO@X9!ß YP8Ê89!¼æ‚Pƒ " Œ08" *10 p092 '? Œ!É ZOH9X8ÕP)!� ÓÁÒÀ(:¥ …@:-¶)�%Ž%ƒ�  ? Œ% •`¬P¶-¶Ó�þb”(98ge@?86X93)ü… p893 '? Œ 0)¥‚P893+ ? Œ89X6 ‹‚  n%/"Ó5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ'Î 'JYÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚€"û2Ü¢ö$ÿþ¹ø0 dè'$€O”ÿÿÿÿFOBAR.PXPX$TTO$TTI±JÆž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙªÿÆ€†ž Æ€…žÆ€‡Ç€žÊ€‡ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊþ®€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…ÂÆž ÆžÛÌݚݢÇ?šÝ¢ ØšÛž#Ýù¡)Ö¦ ERROR IN CLOSE = ¥�J®ÒÏÖÞÝýÏ ÖÞÏÙÝùšÚÝýšÆž!­`ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€þR|‡ÒÏÖÊ€‡Ê€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€†ÏÖÊ€ˆÏÊ€„Ì€ˆÊ€ˆšÊ€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šþ+­Ê€„ž#Ê€ˆù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­þ„ …®Æž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šÆž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡5Ö¦ ERROR IN þyYREADSEQUENTIAL = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­  ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡:Ö¦ ERROR IN WRITESEQUENTIAL = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…þï´ ÖÆ�JÆ�ˆÏÖÆ�J¦OUTPUTÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎÖ§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾Ä~$Äx:þd, &€2à Ó¢ûÿ‹¡î>}âþnߦLJöÿL><bÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«« FOBARнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Û¾þ} ‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFj$ ?�Ž€—îÂOÃ�‚«N×—¾È¡¹ÖÎO” î¾¹îÖÎ#¹ìÖÎ$¹$TTI�¥¥ ¥ž ¹ìÖιð¹ì¥€— ÿÿ ¹ì«¹ì¥€—îþHM‚¾.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—¹ « ?P ¹ ¬P>¹ìOÛ « ¹ì)«¥€—ÿÿ î‚«¹ « ¹ì¬$TTOTò×…Ø{×w "$&( ÿÿ HIT CTLA þðRAND = 9 OQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿï/áÖÇ)Îî‚O”"ûLÈ&p¦€&{N�"û{ K¨QN�"ûø¨WN�N�"ûe :¨^N�N�NœN�"ûãɨeN�N�N�NœN�N�0Ùùá ÙüÙû§‚cÄÌ­"ž§‚þ‚ÈJÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Ö¥…÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷±>±>±>±J°>±>Q®Q°&{O”"ûå x¨ßO”O”O”O O”O” ä¨åO”O”O”O O”?00O”þšÖ0§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏ"û žÕ¨QQ¦Q¦Q¦Q²Q¦R000ÖÚ¥‚xÏÖÚ¦ þ‹of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ È鮮ġIÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹þMЧ‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦þ Ÿ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„Ù•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,þ5`„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFILEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUþtÍTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒ1ƒ0‚2 R‚/„,„+ƒ-ƒ*ƒ)‚. Мþ:`�3èH H Ô ` ¤�(�'�&6�%¢þí4FN',2à Ó¢û¤™ôÇEND  ®FÍ {$I WRS.PI}I}}þ�‰END.þöÇ   !"$$$$AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO ELSE END FILE .FOþ#¸R FUNCTION GOTO IF IN )LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -REPEAT SEGMENT 0SET *STRING 3THEN TO TYPE UNTIL þ5- VAR WHILE WITH ¼BNvj ´ ÿÿÿÿ¨ &® ®$®®*®4®:®@ÿÿ¨¬È¬ê­ ­&­<­Pÿÿ®F PROGRAþ;&M bodyarations B$12$29$14.WKTEST.PXþUìtøt€€ø}444­úÿÿÿÿ§Ü¤$ÿÿ ^ÿÿÿÿ¥b‰V<f(èš8Ü”þþvÉnTEST  þ22 0ÿÿRDOS(Copyright (C) 1980 Rational Data Systems?b’þè b’b[ $TTOT ÿÿ 334 lines 10 . WRITESEQ ping. r 1980 at 12:29:17 verlaid] þùQc–c_ ANALFILE þ‘dšdc LP þ¸režeg ERRFILE þ™w?f f fk B$12$29$14.WKþþs9?ijikhçWRS.PIIþÆTESEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL}  ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUESþr:T); NEW(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRIþŠF?k˜vk˜wkcTEST.PAD(STR,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); WRITESEQUENTIAL(I,'THIS IS A TEST',14,SYSERROR,ERRORNUMBER); { READþµmSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); READSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); FOR I := 1 TO NBYTES DO WRITE(STR[I]); } WRITELN(' HIT CTLA');READLN; END. PEN.PI} {$I Cþ±oLOSE.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I RDS.PI} {$I WRS.PI} BEGIN GCHN(I); STR := 'FOBAR'; CRAN"ûWÅ+ê¬,e bbb b¶Ðbbbb bÿÿÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛøþ\,•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚ƾÊ$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆþý/GÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏþ–´ÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐÌ¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐþ<ÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚þÄ[Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 ,W�+ê¬,¨9:rB9/¹:95]–]ØTEST.PX B$12$29$14.WKÿÿþ‡ÿÿþƒÿ@TEST.PX §ø¨¦ùþ*ª§øs7ŹF95§þrÔ B$12$29$14.WK]ØrønŸ7[¹F95r’rørøƒÿ@« Ê£ áÖPιB$12$29$14.WK ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« «¹¬§þ¥ù7x¹“95snnÎAsn øÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ þ_hÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáþ CÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖþPKÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:ïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ Üέþ=Á0ØêšÖÓê§Å¡ê«­ ñŸË¡ñùÉ¡ÖÎ ¹Öέ%¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó þóšÖÓ ÖóÓ §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïËþô;¡îïáÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ð``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òþ»ñŸË¡ ñùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸþN†Ë¡ ñ§‚eË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)þªg02*6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥þ±’ Ê¢¨¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšþ¼‘Ê¢šïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓþÛóì¡ðïáÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³þèý€œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡ÖÎþ¬§¹ ÖÇÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧþ躂dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ι ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚þÇJÖÆ¼³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñþüŽÓ„�¡Ì̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓþ~Ì ¹ ÖÇ…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï þßcáÖÓ¹Ö^Ó­:< D=êÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØþ.°üÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Ê ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPÎþιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@Bž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ þwÈž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ Ó­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚x¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡þ^„Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜú̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎþä}Ö2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎþ­PÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßþµ–Å¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓ¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤þøÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺ ƒ$„#~„"„!„ „Ì…„ L þü ¸ 4`€†„þë………„„„„„„„„Ø„„„„ „ „ „ „ „„„„„„„6îƒp ¢²4^Îôƒ®¶ *!$!l!šŒˆD,FÄ#m¶Ð,ÿøÿÿÇÃG¾§îÿÿX>X@¤$¤:ÿÿ ¨®^òVÇÎG¾XÂXÇæ,f$f$f0f$f–Çïf$f$f$f0f$? þb{ ¦(AoÈ#G¾ÿø.'@¬È4G¾�ÿø.€™ô¤P€t€®@ €�ÿø*¤P ’@ ( þ>¹®F®F®J *È“,†P Y]ëÈ®,Y\ $} WRITELN(' HIT CTLA');READLN;E(STR[I]);RRORNUMBER);mý7ÈÒG¾‰‘*éÇß,Y\�Ä ;�Æ�Æt€§†*éÇ÷,Y\�ô .�ö2�ö22þÙ›ANNEL : IN*éÈ,Y\�$  N‘&*éÈ,*éÈ#,Y\�L WRITELN(' HIT CTLA');READLN;E(STR[I]);RRORNUMBER);*éÈM,Y\�  ;‘¢ ‘¢ Y] Y]DEþq ;’ 4’44  Y] Y]  Y]*éȳ,Y\‘l$% ;’n’n Y]" Y] Y]þ´8D Y]$ Y]þþþþþ…z®@®4›ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡®@®4 Ä~$Äx:þd, þ TÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎÖ§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾ šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�J® þ®"ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šžÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…®Ê€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šÊ€„ž#Ê€ˆþÐøù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÞÏÙÝùšÚÝýšÆž!­`žÊ€‡ÆþhAªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊ€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…Âþþõ¨STRINGPOÿÿÿÿ§nÿÿˆ®@HEAP ÿÿÿÿŸªÿÿ‡REQUEST Ÿ”Ÿ°¤Ôÿÿ†DOTWRS ÿÿÿÿ®@ÿÿ? tZ`X> Ì§îERRNUM ŸÆÿÿ®@ÿÿþå-ERR  ŸÜ®* BYTESOUTÿÿÿÿ®@ BUFFER  2ÿÿ§† 2CHANNEL   H®@ HWRITESEQÿÿÿÿÿÿ ^ ERRNUM  Vÿÿ®@ÿÿERR  – l®* –BYTESREAÿÿÿÿ®@ ¬BUFFER  Âÿÿ§† ÂCHANNEL  ¬ Ø®@ ØREADSEQUÿÿÿÿÿÿ î þ€¢ERRNUM  æÿÿ®@ÿÿERR ¡& ü®*¡&BYTESREAÿÿÿÿ®@¡<BUFFER ¡Rÿÿ§†¡RCHANNEL ¡<¡h®@¡hREADLINE¡ÿÿÿÿ¡~ERRNUM ¡vÿÿ®@ÿÿERR ¡¶¡Œ®*¡¶BYTESOUTÿÿÿÿ®@¡ÌBUFFER ¡âÿÿ§†¡âCHANNEL ¡Ì¡ø®@þW¡øWRITELIN tÿÿÿÿ¢ERRNUM ÿÿÿÿ®@ÿÿERR ¢F¢®*¢FFILENAME¢¢\§†¢\CRAND ÿÿÿÿÿÿ¢rERRNUM ÿÿÿÿ®@ÿÿERR ¢ª¢€®*¢ªFILENAME¢j¢À§†¢ÀDELETE ÿÿ¢ˆÿÿ¢ÖERRNUM ¢¸ÿÿ®@þá¦ÿÿERR £¢ä®*£RDOSCHAN¢Î£$®@£$CLOSE ¢ìÿÿÿÿ£:ERRNUM ÿÿÿÿ®@ÿÿERR £r£H®*£rFILENAME££ˆ§†£ˆRDOSCHAN£2£ž®@£žOPEN ÿÿÿÿÿÿ£´FREECHAN£˜£Â®@ÿÿGCnþ'TEST Copyright (C) 1980 Rational Data Systemsþ½¨¼   B$12$29$14.WKÿÿ¦,SPTR þð¼ ÿÿ¥Ö§nÿÿÿÿ¦LWPTR ÿÿ¦§Vÿÿÿÿ¦lBPTR ¥öÿÿ§ªÿÿÿÿ¦ŒINT ¦6¦V®@ÿÿÿÿÿÿ¨ ìU?9ñ+ª ®@ÿÿ¦–¥ìREGISTER¥ž¤’¥Î)ã¦ÞLINEPOINÿÿ¤¾¦ÆJC§ÿÿ®@„B¦æ®4TEST.PXTR ÿÿÿÿ¦ðÿÿLEN þšë §ÿÿ®@§LINESTRI¦´¦Ì¦Þª ®4CHARPTR §,ÿÿ§>Æ®@WORDPTR ¢$¥¼§V�§†STRPTR §\§D§n!&€®@®4ÿBIGSTR ÿÿ¥Š§†í§ÌBYTEPTR §tÿÿ§ªB@®@ §Â®4BYTEARRA§°§˜§Ì…¨BúBö  �ލOUTPUT ÿÿINPUT PROGþI�RAM )BbIÿÿÿÿSYSCALL ÿÿÿÿÿÿ¨P#`H!1bIg‰ÿ)%®$ÿÿýRELEASE ÿÿÿÿÿÿ¨’!MARK ÿÿÿÿÿÿ¨’ ! ŽK4!@ ®$ÿÿØðSQRT ÿÿÿÿ®:©nEXP ÿÿÿÿ®:©nLN ÿÿÿÿ®:©nARCTAN ÿÿÿÿ®:©nLOG ¨|¨Ô®:©nCOS þ|Æ ÿÿÿÿ®:©nSIN ÿÿÿÿ®:©nTRUNC ÿÿÿÿ®@©nROUND ÿÿÿÿ®@©nICE DRIVER N®:ÿÿDED MEMAVAILÿÿÿÿ®@ÿÿPWROFTENÿÿÿÿ®:©°$ SYSGEN ERRO®@ÿÿ INCHR ÿÿÿÿÿÿÿÿ)ODD ÿÿÿÿÿÿÿÿ(UNPACK ÿÿ©Bÿÿÿÿ'PACK ÿÿÿÿÿÿÿÿþƒú&SIZEOF ÿÿ©,ÿÿÿÿ%PUT ©šÿÿÿÿÿÿ#GET ÿÿÿÿÿÿÿÿ"RESET ÿÿ¨fÿÿÿÿ!SEEK ª©Xÿÿÿÿ CLOSE ÿÿ©ÆÿÿÿÿPAGE ÿÿªÿÿÿÿREWRITE ªvª`ÿÿÿÿAPPEND ¨êÿÿÿÿÿÿTIME ÿÿÿÿÿÿÿÿEXIT ¨¾ÿÿÿÿÿÿINDEX ÿÿªJþ…ÿÿÿÿSUBSTR ÿÿ¨¨ÿÿÿÿEOLCHAR ÿÿÿÿÿÿÿÿDATE ÿÿ©ÿÿÿÿLENGTH ©ÿÿÿÿÿÿCONCAT «RªŒÿÿÿÿPURGE ª4ÿÿÿÿÿÿFILETITL«ÿÿÿÿÿÿ NEW ÿÿ©„ÿÿÿÿ ABS ªÎÿÿÿÿÿÿ SQR «&ª¸ÿÿÿÿ ORD ª¢©Üÿÿÿÿ SUCCþ[ ¨:«ìÿÿÿÿPRED «”¬ÿÿÿÿEOLN ªú«<ÿÿÿÿEOF ¬D«~ÿÿÿÿWRITELN ÿÿÿÿÿÿÿÿWRITE ¬p©òÿÿÿÿREADLN ÿÿÿÿÿÿÿÿREAD ¬œ¬.ÿÿÿÿ C#ÿÿÿÿ “Vÿÿÿÿ ÐÑÿÿÿÿþ@Iä \ ÿÿÿÿ !(Cÿÿÿÿ ª ÿÿ NIL ¬²«À®$ÿÿTRUE ¬†ªä®*­ŠFALSE «ª¬Z®*ÿÿMAXINT ­b«h®@RNÿTEXT ­v¬® MBOOLEAN ÿÿ«Ö®*USCHAR ­Š­Ä®4LEREAL ­²­ž®: INTEGER ­è­Ö®@ F®@®4þZ]‚®4ÿÿ­v HIT CTLA TESTESEQUENTIAL = ²‘ DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE oÕu_[#^àÿÿÿÿc&9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `þÅçZðvô_¼3B$12$29$14WK™ll @  �Ž ²‘²‘þxáTHIS IS A TEST«§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖþþêÇEι ¥#æTESTPXAl?°?‚ÂÁÆCCOM.CM5çôë �è XGWÞXWWÅXWTEST.PXPXX%'XX%ÿÿhki¤iEvç\ COM.CM=ù+Jû+Jü3€X€}€¢€Ç€ì�$TTI€�¥Êï$TTI@$TTO@beqY $TþîTOÀ>> cïjqYÇCOMMØll *q}Øç`ÙØÿTESTPXAll )q}AN`ÙA1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ þ^Q1`WÀÿùøYþ)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9ÚÿDEAR.ûqq,þ01234567890 1234567890 ÿ1979CHECKS.ûŽŽþcC 3049 44.55 10 C 3065 223.70 32 C 2763 1850.16 2 C 2764 552.87 17 C 2765 314.49 8 C 2766 314.49 8 C 2767 100 8 C 2770 20.07 18 C 2771 630.50 4 C 2774 38.75 11 C 2777 47.70 5 C 2779 229.63 25 C 2780 6.94 5 C 2781 64.25 5 C 2786 228.23 8 EM 665 1102.70 12 EþèÀM 666 1209.04 12 EM 667 1350.43 12 EM 668 199.40 12 EM 669 550.32 12 EM 670 539.29 12 EM 671 526.45 12 EM 672 344.29 12 EM 673 2468.66 14 EM 680 411.53 12 EM 682 2234.86 14 D 1567 D 2945 D 7000 D 2500 D 6590 D 700 C 2768 677.50 20 C 2769 125 26 C 2772 736þq 23 C 2773 13 1 C 2775 12.82 18 C 2776 7.30 23 C 2778 258.40 5 C 2782 160.96 5 C 2783 563.93 23 C 2784 67 26 C 2785 45.00 26 C 2788 93.70 5 C 2790 1000 8 C 2791 100 26 C 2792 1850.16 2 C 2793 115 3 C 2794 75 5 C 2795 114.48 24 C 2796 14 1 C 2797 150 5 EM 6þƒ74 1360.43 12 EM 675 209.40 12 EM 676 1053.55 12 EM 677 1083.87 12 EM 678 516.30 12 EM 679 550.39 12 EM 681 276.95 12 EM 684 209.40 12 EM 685 1101.20 12 EM 686 1580.40 12 EM 687 533.66 12 EM 688 610.74 12 EM 689 422.46 12 EM 690 215.64 12 EM 698 3861.48 14þeÞ DM 2000 D 1575 D 3195 D 3144.56 D 2556 D 2000 D 7097 D 2000 EM 683 1360.43 12 EM 691 209.40 12 EM 692 981.35 12 EM 693 1050.72 12 EM 694 479.62 12 EM 695 554.62 12 EM 696 369.47 12 EM 697 329.08 12 EM 699 1398.97 12 EM 700 194.48 12 EM 701 1016.68 12 EM 7þæé02 1156.68 12 EM 703 563.99 12 EM 704 640.40 12 EM 705 470.84 12 EM 706 483.71 12 EM 707 2984.02 14 EM 708 555.34 14 EM 709 310.37 15 EM 710 1372.35 15 C 2800 38 20 C 2802 7 1 C 2803 1850.16 2 C 2804 12.45 C 2805 125 8 C 2806 2 1 C 2807 115 3 C 2808 1105.7þô04 17 C 2809 23.35 1 C 2810 131 8 CM 1995 D 1377.50 D 1708.14 D 1885 D 24676.36 D 892.50 C 2812 63.75 6 C 2813 545 7 C 2814 1406.50 17 C 2815 368 23 C 2816 600 28 C 2817 151.18 25 C 2818 13.80 5 C 2819 30 5 C 2820 692 25 C 2821 100 25 C 2822 1291.19 4 C 282þŽ3 275.82 4 C 2824 100 26 C 2825 25 26 EM 711 1408.97 12 EM 712 204.48 12 EM 713 1091.05 12 EM 714 1096.88 12 EM 715 595.09 12 EM 716 613.84 12 EM 717 514.82 12 D 8907.50 34 D 4462 34 D 14386.25 34 D 527.50 34 EM 718 482.51 12 EM 719 3016.96 14 EM 720 125.2þ=b4 14 EM 721 879.67 15 C 2826 1850.16 2 C 2827 115 3 C 2828 552.87 17 C 2829 75 24 C 2830 88 18 C 2831 20 26 C 2832 108 26 D 3232.50 34 C 2833 64.59 4 C 2834 157.50 22 C 2835 8.93 1 C 2836 25 26 C 2837 30 5 C 2838 12.25 5 C 2839 10.94 5 C 2842 273.55 25 C 2þ…A843 1444.50 17 C 2844 176 5 C 2845 446.10 5 C 2847 739.11 4 C 2848 108.10 4 C 2849 341.33 4 C 2850 428.08 25 C 2851 26.19 11 C 2853 611.53 17 C 2854 20.75 1 C 2855 500 27 C 2858 9.93 5 C 2860 28.50 5 EM 722 1032.90 12 EM 723 1408.97 12 EM 725 1166.68 12 EMþiµ 726 527.17 12 EM 727 560.96 12 EM 728 492.78 12 EM 729 298.75 12 EM 730 2831.26 14 EM 739 2326.89 14 C 2840 770.93 25 C 2841 32.27 25 C 2846 33.44 5 C 2852 101.44 23 C 2856 513.12 23 C 2857 83.07 5 C 2864 25.83 8 C 2865 1850.16 2 C 2866 30.29 5 C 2867 115þ°k 3 C 2868 27.76 14 C 2869 80 18 C 2870 736 23 C 2871 546.84 5 C 2872 68.98 5 C 2874 298.05 6 C 2875 766.49 6 C 2877 16 18 C 2878 121.92 1 C 2879 1633.42 23 C 2880 11.25 5 C 2881 23.85 5 C 2882 49.52 5 C 2883 9.80 5 C 2886 24.45 5 C 2889 77 5 EM 724 204.48 þµ«12 EM 731 1408.97 12 EM 732 204.48 12 EM 733 863.83 12 EM 734 915.34 12 EM 735 368.67 12 EM 736 514.29 12 EM 737 430.51 12 EM 738 322.85 12 EM 740 1420.97 12 EM 741 204.48 12 EM 742 1131.44 12 EM 743 1096.04 12 EM 744 551.67 12 EM 745 640.60 12 EM 746 385.þ¡Ý40 12 EM 747 360.91 12 EM 748 2850.69 14 EM 751 1049.82 12 EM 758 2575.50 14 D 210 34 D 600 34 D 15954.41 34 D 1278.47 34 D 611.53 34 C 2861 611.53 17 C 2862 171.16 25 C 2863 32 8 C 2887 30 5 C 2888 41.62 5 C 2890 104.82 23 C 2891 129.76 8 C 2892 115 3 C 2þ‘³893 27.46 5 C 2894 3.95 23 C 2895 244.30 25 C 2896 16.85 5 C 2897 1850.16 2 C 2898 601.53 17 C 2899 177 5 C 2900 717.86 4 C 2901 50 26 C 2902 3 18 C 2903 22 18 C 2904 169.04 5 C 2905 300 17 DM 7.50 C 2906 60 1 C 2909 81.22 15 EM 749 1424.97 12 EM 750 204.4þ"Œ8 12 EM 752 992.88 12 EM 753 551.67 12 EM 754 550.23 12 EM 755 431.37 12 EM 756 343.46 12 EM 759 1391.48 15 EM 760 1569.95 15 EM 761 80.68 14 EM 762 1017.67 12 EM 763 929.08 12 EM 764 518.89 12 D 4302.50 34 D 1558.65 34 D 418.50 34 D 430 34 D 3475 34 EM þöy765 271.86 12 EM 766 384.02 12 EM 767 256.22 12 EM 782 2500 14 EM 783 1956.74 14 D 7202.98 34 D 3000 34 D 1240 34 C 2907 45 1 DM 6 D 552.50 34 D 1030 34 D 1547.28 34 D 1800 34 D 618 34 D 4310 34 D 368278 34 D 2675 34 DM 3000 C 2915 26 5 C 2918 336.98 27 C þË»2919 263.44 8 C 2920 153.50 6 C 2921 1159.13 25 C 2925 54 10 C 2926 306.79 17 C 2927 225 1 C 2928 1850.16 2 C 2929 395.75 2 C 2930 2839.54 14 C 2931 115 3 C 2932 18.02 5 C 2934 83.31 4 C 2935 56 33 C 2936 1390 28 EM 768 1426.97 12 EM 769 204.48 12 CC 770 Cþ\5C 779 EM 771 864.72 12 EM 772 1001.57 12 EM 774 640.60 12 EM 775 302.19 12 EM 776 451.39 12 EM 777 429.02 12 EM 778 314.65 12 EM 780 568.52 12 EM 781 993.27 12 EM 784 551.67 12 EM 785 993.62 12 EM 786 993.62 12 EM 787 444.04 12 EM 788 375 12 EM 789 415.74 þ›+12 EM 790 204.48 12 EM 791 1426.97 12 EM 792 1426.97 12 C 2914 101.18 5 C 2916 70.65 5 C 2917 76.47 5 C 2913 133.61 23 C 2910 897 15 C 2908 601.81 4 DM 52.15 C 2933 51.22 5 C 2937 398 17 C 2938 60.80 1 C 2939 19.75 18 C 2940 30.95 32 C 2941 31.65 32 C 2942þ†  115 3 C 2943 350 27 C 2944 100 27 C 2945 1850.16 2 C 2946 20.76 11 C 2947 75.64 32 C 2948 124.89 17 C 2949 106.45 25 C 2950 150.70 10 C 2951 8.46 32 C 2952 1057.58 27 C 2953 830 27 C 2958 25 3 C 2961 100 22 C 2962 1000 17 EM 794 1426.97 12 EM 795 204.48 1þÛê2 EM 796 2090.76 14 EM 793 561.13 12 D 2320.45 34 D 3314.44 34 D 4439 34 D 2039.96 34 D 2747.24 34 EM 797 360.94 15 C 2955 1301.13 32 C 2956 60 27 C 2957 125 27 C 2959 30 3 C 2960 10.35 32 C 2963 178.83 32 C 2964 270.22 32 C 2965 174.85 4 C 2966 81.63 32 Cþ9[ 2967 365.44 32 C 2968 34.70 32 C 2970 22000 12 C 2971 1500 32 C 2972 398.04 32 C 2973 1550 9 C 2975 294.74 25 C 2976 548.34 32 C 2978 35 26 C 2979 500 7 C 2983 398.04 32 C 2985 1850.16 2 D 2197.25 34 D 5527.98 34 D 832.50 34 D 6471.12 34 D 12653.22 34 DM þá1301.13 D 808.23 34 D 1890 34 C 2981 34 1 C 2984 7.68 10 C 2988 17.50 8 C 2991 31 1 C 2992 7.50 5 C 2994 196.14 22 C 2995 60.93 23 C 2996 202.41 23 C 2997 20.58 23 C 2998 118.46 23 C 2986 22 1 C 2987 47.20 5 C 2989 2 4 C 2990 890.60 4 C 2993 30.95 3 C 3003þL 63.01 4 C 3004 5.80 23 C 3005 81.83 32 C 3006 190.25 4 C 3009 89.20 5 C 3011 61.95 5 C 3013 550 2 C 3014 93.39 2 C 3015 368.32 2 C 3018 414.75 2 EM 798 204.48 12 EM 799 204.48 12 EM 800 1426.97 12 EM 801 426.97 12 CC 806 CC 807 CC 808 D 660 34 D 2500 34 DþÝ 1332.87 34 D 7430.13 34 D 3561.07 34 EM 803 1207.97 27 EM 804 1426.97 12 EM 805 204.48 12 EM 809 1835.96 14 C 2999 80 10 C 3000 230 1 C 3001 359 1 C 3007 37.12 10 C 3008 12.40 10 C 3010 69 1 C 3012 600 3 C 3016 4 5 C 3017 1208.43 25 C 3019 31 5 C 3020 8 1þÒs8 C 3021 262.25 22 C 3022 34.90 22 C 3023 535.05 3 C 3024 12.60 10 C 3025 547.25 27 C 3026 40 32 C 3027 327.12 4 C 3028 44.82 3 C 3029 397.33 23 C 3032 202.96 17 C 3033 215.05 3 C 3034 6.30 3 C 3035 230 3 C 3036 50 27 C 3037 288 27 C 3038 150 27 C 3039 55.þž)06 3 C 3042 88.17 3 C 3043 49.80 3 C 3045 10 1 C 3046 5428.82 6 C 3047 300 24 C 3051 164 17 C 3052 612.92 3 D 1029.72 34 D 440 34 D 16000 34 CC 2789 CC 2798 C 2799 157. 23 CC 2801 CC 2811 CC 2859 CC 2876 CC 2884 CC 2885 CC 2911 C 2912 787.00 17 CC 2922 CC þtÛ2923 C 2924 368 23 CC 2954 CC 2974 CC 2977 CC 2980 CC 2982 CC 2873 C 3030 626.30 23 C 3031 30 27 C 3041 3.57 4 C 3048 22.56 11 C 3050 35 26 C 3053 256.07 4 C 3054 1743.66 7 C 3055 1200 21 C 3057 60 26 C 3058 385 3 C 3059 172.14 8 C 3060 6.95 3 C 3061 646.3þ´ýþ3 8 C 3062 31 1 C 3063 30 26 C 3072 129.64 4 C 3074 2500 21 C 3077 10.77 6 C 3079 37.50 6 C 3080 1298.05 25 C 3056 10 26 C 660 484.10 12 EM 815 887.50 12 CC 2969 C 3073 1340.73 25 ÿALLOC.ûÐþå× ;PASCAL "ALLOCATE" PROCEDURE ; -- GENERATES ANY SPECIFIED SIZE OF HEAP FRAME ;PETE GOODEVE 78:7:22 ;TYPICAL USE: ; VAR P:ARRAYPOINTER; (* MADE AS LARGE AS POSSIBLY NEEDED *); ; .... ; ALLOC(5) (* GET 5 WORDS OF SPACE *); ; MARK(P) (* MAKE IT AVAILABLEþíö FOR USE *); ; .... (* PROGRAM MUST NOT EXCEED 5 WORD ACCESS RANGE!*) .TITL ALLOC ;78:7:22 .EXTN XPRET .ENT ?ALLOC SP=41 ;STACK POINTER HP=44 ;HEAP POINTER SL=45 ;CURRENT STACK LIMIT P4ERR=JSR @51 .NREL ;PROCEDURE ALLOC(I:INTEGER);EXTERNAL; þA: ?ALLOC: LDA 0,0,3 ;NUMBER OF WORDS TO ALLOCATE LDA 2,HP ;CURRENT HEAP SUB 0,2 ;FORM NEW POINTER LDA 3,SL ;STACK LIMIT ADCZ# 3,2,SZC ;CLUNNK? JMP MAKE ;NO -- MAKE THE SPACE P4ERR 414 ;OVERFLOW ERROR MAKE: STA 2,HP ;NEW HEAP COM 0,0 ;SET COUNTERþtm SUB 1,1 MLP: INC 0,0,SNR ;DONE? XPRET ;YUP STA 1,0,2 ;CLEAR SLOT INC 2,2 ;NEXT JMP MLP .END ;OF ALLOCATE ÿT24.ûÐ2þ¢¾PROGRAM T24(INPUT,OUTPUT); TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOTA,KLIG,IOFILE,FOBAR,GZYXX : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (NUMBER : INTEGER ; IFILE : ALPHA ; VAR IOTA : INTEGER);EXTERNAL; BEGIN IOTA :=100; IOFILE := 8; FILENþ]¬@AME := 'INPUTFILE0.SR'; OPEN (IOFILE , FILENAME,IOTA); WRITELN (OUTPUT,'IOTA= ',IOTA) END. ÿ36.ûÐÐ 8ÿTKOM.01û``þPROGRAM TKOMPAR(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); TEXT = PACKED ARRAY[1..10] OF CHAR; VAR A : TEXT; B : TEXT; I,J : INTEGER; FUNCTION KOMPAR ( A : TEXT; B : TEXT; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INTEGEþšÆR; T : COMPARATIVE; BEGIN T := EQUAL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN WRITELN(' ',A[I],' ',B[I]); BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS END; I := I+1 END; KOMþ«ÉPAR := T END; BEGIN WHILE NOT EOF(INPUT) DO BEGIN I :=1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,A[I]);I := I+1 END; RESET(INPUT); B[1] := 'P';B[2] := 'A';B[3] := 'S'; CASE KOMPAR(A,B,1,10) OF LESS : WRITELN ('LESS'); EQUAL : WRITELN ('EQUþ3“AL'); GREATER : WRITELN ('GREATER') END END END. ÿF.ûÜÜ *þŽzPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARþX©RAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEþÂM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OFþŠ A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGINþ›r IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[þ*ZI] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEYþ½¥ X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1þ�/; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROþdCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDUREþ¬Z UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.EþS[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.EþH[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO þìC^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROMþ PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; Aþ¿½^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REþʇF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END ENDþÒ¹ END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THENþþ� L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DþvÌO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THENþz` BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN þ¥ABEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . ÿREALPRINT.02û½½ þë¬ PROCEDURE REALPRINT (R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTEN (J)); { WRITELN(' þbjR1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] := ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J='þz,J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSE BEGIN R := -R; SþvIGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 2; IF SIGN = MINUS THEN STR[1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; STR[CHARPOS] := '.'; CHARPOS := CHARPOþ9ƒXS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(STR); END; ÿCBOOK.MCûqs4þŒHáCHATR CBOOK.PA 0 CHATR CBOOK.PX 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *WP PASINTERP PASCALO/S/V CBOOK CHATR CBOOK.PX *WP ÿCONSOLE.PXûsq þô. ‚CONSOLE  Copyright (C) 1980 Rational Dataþ„² Systems¼  ( þªÆž ÆžÆCžßÙ¨CÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ÙߨCÙÊ üšÊ ù¡/Ö¦ ERROR IN READLINE = ¥�Õ® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÚÊ üšÆž!­šÆÙ¨CÆJž ÆIžÆKCžÊKƨCÊIÌLÊLšÊL¢Ç?šÊL¢ÊKšÊL¢ÊLû‚šÊL¢ ØšÊIž#ÊLù¡0Ö¦ ERROR IN WRITELINE = þ‰:¥�Õ®MÒÏÖÊMÊLýÏ ÖÊMÏÛÊLùšÊLüÌÜÊLýšÆJž!­H”Æž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙ¨CÆIž ÆHžÆJCžÊJƨCÊHÌKÊKšÊK¢Ç?šÊK¢ÊJšÊK¢ÊKû‚šÊK¢ ØšÊHž#ÊKù¡+Ö¦ ERROR IN OPEN = ¥�Õ®LÒÏÖÊLÊKýÏ ÖÊLÏÚÊKùšÛÊKýšÆIž!­HŠþQÆبCÆHž ÆGžÆICžÊIƨCÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡-Ö¦ ERROR IN DELETE = ¥�Õ®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšÚÊJýšÆHž!­H†ÆبCÆHž ÆGžÆICžÊIƨCÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡,Ö¦ ERROR IN CRAND = ¥�Õ®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšþGÚÊJýšÆHž!­H†Æž ÆžÙÌۚۢǚؚۢٞ#Ûù¡ ÛšÛ¢Ç šÙž#Æž!­<Æž ÆžÙÌۚۢǚٞ#Ûù¡ ÛšÛ¢Ç šÙž#ØÛûšÆž!­: ØøŽ•ÌØØøÙ‚š®Ù®È¡Ü̹ÚÐÌÖ ÎÚÛáö­ 4 ÆبCÌE®HÙ®GÈ¡xÊHÌF¹ÊFÐÌFÆÊFÇ„ˆ•¾³?ÿÿÿÿÿÿÿþà ‹¡ÖÆÊFÇ„ˆ•¾ÎÊE‚ÌE¹.ÆÊFÇ„ˆ•¾¹ ÖÆEÎ ¹Ö ι¬ ¹ ÊFÊGáö­uG ” Ø¢ÙÇ„ˆ•ÂÚ¿­ ØÌÙÜøÅ¡ÜÜø‚šÜ¢ÜøÇ„ˆ•ÂÚ¿¹IÜÜø‚šÜø®Ù®Ä¡+Þ̹ەÌÜ¢ÛÇ„ˆ•ÂÜ¢Û•Ç„ˆ•¾¿ÛÝáöÜ¢ÙÇ„ˆ•ÂÚ¿­7 t ØÌÛøÅ¡<ÙþÜ®Ûø•®È¡*Ý̹ÚÐÌÛ¢ÚÇ„ˆ•ÂÛ¢Ú•Ç„ˆ•¾¿ÚÜáöÛÛø•š­. PÆÙ¨CÌH®JÚ®IÈ¡ZÊJÌG¹ÊGÐÌGÆÊGÇ„ˆ•¾³ÿÿÿÿÿÿÿÿÿÿÿ ‹¡ÊH‚ÌH¹ÆÊGÇ„ˆ•¾ á ÊH‚ÊHŽ•ÌHÊGÊIáöÊHÌ­[G z­éÅ¡Vè•«Ö¥è•ÎÌØé•ÌÚÄ¡®Ú®È¡Ü̹þ¥ÙÐÌÖ ÎÙÛáö¹®Ú‘®È¡Ü̹ÙÐÌÖÎÙÛáôØ«­3 h鎕ÌéÙ‚«®Ù®È¡Û̹ØÐÌÖ ÎØÚáöÖ¥è§HÎ è‚«­>Ö¥è§HÎ è«­Ö ÎÖ ÎÖ¥Î Ö ÎÖ Î­ÖëÎé‚«Ö¥è§HÎ è‚«­è•ìá Ö¥è•ÎÖι֥èέþ½«"Ö§�R¥¥�O¥�M¥�NÎ앫֥Π삫֥ìΫ«§�M«�P­:Ö§�Q¥§�O¥�M¥�Nέë³ÿÿÿÿÿÿÿÿÿÿÿ‹¡Öιôë¹*ÖιöÖιöÖÎÖÎÖιö¹öÖÎÖÎÖÎÖιöÖιö¬¹ö2/,# % "$&(*,.02468:<>@BDFHJLNþF;PRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ�’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîû­ NÖ¦ INPUT FILE?¥�Õ®HÒÏÖÊHÏÖÆÆEÆFÆDÎÖÆÊEÆFÆDÎÖ¥�RÎÖ§�RÆÆFÆDÎÖ¦ OUTPUþ³LT FILE?¥�Õ®HÒÏÖÊHÏÖÆÆEÆFÆDÎÖ¥�QÎÖÆÆFÆDÎÖÆÆFÆDÎÖ§�QÆÆFÆDέHœ®é•®È¡Ú̹ØÐÌÖ ÎØÙáöÖ^ÎÖ¥�ÕÏ­ 2ÖÆ�ÕÆ‚ÏÖÆ�Õ¦OUTPUTÏÖÆ�SÆ�‘ÏÖÆ�S¦INPUTÏÖÆIÆ€‡ÏÖÆI¦OUTPUTFIÏÖÆ€ËÆ� ÏÖÆ€Ë¦INPUTFILÏÖÏÖÆ�SÏÖÆ�ÕÏÖÎþ\¯ÖÎ֥ΠëÇÿˆ«HÖÎëáö§�P¡ôÖÆ�ÕÏÖÆ�SÏÖÆIÏÖÆ€ËÏ­;:V&¾ÄüžòRzžÂÜ Žœrì  Ü^êv  F à6þÿASM.SVúASM.SVÿMANUAL2.11û?? þ¥ÿMANUAL2.11 Update to RDS Pascal Programmer's Manual 14 October 1980 Note: There is no update to the Programmer's Manual for Release 2.11. However, be sure to read "MANUAL2.10" which includes important changes to the Release 2.00 manual.þ ÿGETCOLUMN.BUûsrþiyFUNCTION GETCOLUMN(STR : ALPHANUMERIC) : INTEGER; VAR I,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; {BYPASS FIELD 1} WHILE ( (I< LEN) AND (STR[I]IN ['!'..'}']) ) DO I := I+1; WRITELN('WHILE1',I); WHILE ( (I< LEN) AND NOT (STR[I] IN ['!'..'}']) ) Dþ¹±ÅO I := I+1; WRITELN('WHILE2',I); WHILE ( (I 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITELN(' STRING=',STR); END;þ„oƒ{OF REALPRINT} BEGIN REPEAT BEGIN WRITELN(' ENTER A REAL NUMBER'); READ(R); REALPRINT(R); END; UNTIL EOF(INPUT); END. ÿT34.ûÛ©6þ¬Ñ(*PROGRAM T34 TESTS BIT SET AND BIT CLEARING*) PROGRAM T34(INPUT,OUTPUT); VAR BIT,WORD,VALUE : INTEGER; CHR : CHAR; PROCEDURE TBIT(BIT:INTEGER;WORD:INTEGER;VAR VALUE:INTEGER);EXTERNAL; PROCEDURE BSET(BIT:INTEGER;VAR WORD:INTEGER);EXTERNAL; PROCEDURE CBIþ£KT(BIT:INTEGER;VAR WORD:INTEGER);EXTERNAL; BEGIN WRITELN(OUTPUT,'ENTER S ','C OR T F','OR SET C','LEAR OR ','TEST BITS'); READLN(INPUT,CHR); IF CHR = 'S' THEN REPEAT WRITELN(OUTPUT,' BIT NO AND WORD'); READLN(BIT,WORD); BSET(BIT,WORD); WRITELN(OUTþÆPUT,' WORD=',WORD); UNTIL EOF(INPUT) ELSE IF CHR = 'C' THEN REPEAT WORD:=32767; WRITELN(OUTPUT,' BIT NO'); READLN(INPUT,BIT); CBIT(BIT,WORD); WRITELN(OUTPUT,WORD); UNTIL EOF(INPUT) ELSE IF CHR = 'T' THEN REPEAT WRITELN(OUTPUT,' BIT,WORD'); REAþ„¬(DLN(INPUT,BIT,WORD); TBIT(BIT,WORD,VALUE); WRITELN(OUTPUT,' BIT=',VALUE); UNTIL EOF(INPUT) ELSE WRITELN(OUTPUT,' ILLEGAL') END. ÿREALPRINT.PIû޽ þO PROCEDURE REALPRINT (VAR OUTFILE : TEXT;R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTENþœÕ (J)); { WRITELN(' R1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] := ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; þ�±BEGIN { WRITE(' J=',J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSEþ!r BEGIN R := -R; SIGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 15-I-3-I DIV 3; IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; þiž‰ STR[CHARPOS] := '.'; CHARPOS := CHARPOS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(OUTFILE,STR); END; ÿDELETE.PIûŽr þ›“PROCEDURE DELETE(FILENAME : LINESTRING;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTDELETE =256; {.DELETE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WIþö·jTH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTDELETE; R0.LPTR := FILEPTR; R0.INT := R0.INT+2; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN DELETE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {DELETE} ÿCRAND.PIûŽr þgJPROCEDURE CRAND(FILENAME : LINESTRING;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCRAND = 3584; {.CRAND} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WIþ²TH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCRAND; { APPEND 0 TO END OF STRING} R0.LPTR := FILEPTR; R0.INT := R0.INT+2; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CRAND = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAPþX²); END; {CRAND} ÿ |PASCALO.PXûŽl þb|?œ œÔ/ž!ÔCOMPILEROPSYSINICOMPINITSHOWERROCOMPFINIDECSEGMEBODSEGME  Copyright (C) 1980 Rational Dataþ… Systems¼ 4  Hþ´ Æž Æ žÜÌÝÌÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÞšÞ¢‘Çÿ• ‚šÜž#Þù¡Ì¹Ìݢݣ •šÝ£ ÂÞû¿ÚÝ£ ª@Æž!­lÖ¥„óÏÖ¥„ó®¦&PX PASCAL[O][switches] sourcefile[.PA]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦þ4¬!/A analysis to @OUTPUTÏÖØÏÖ¥„ó®¦/A=afile analysis to afileÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦/E=efile errors to efileÏÖØÏÖ¥„ó®¦/L listing to @LISTÏÖØÏÖ¥„ó®¦/L=lfile listing toþ�â lfileÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦"/V verbosity to @OUTPUTÏÖØÏÖ¥„óÏ­>Æž ÆžÚÌÛšÛ¢šÛ¢‘šÛ¢NšÚž#ÛüÌÆž!­2ئ abcdefghiª@ƤƤþblƤž ®®È¡4ß̹ÝÐÌØÝ�‚Â0Æݤø † Ž‚¿ØÝ�‚Â0Æݤø Ž‚¿ÝÞáöØÂ.¿ØÂ_¿ØÂ_¿ÖÎÌØÌÖÆ¦?pidÏÖÆØDÏÖÆ¦.TMPHÏÆª@ØÂ0Üd† Ž‚¿ØÂ0Ü † Ž‚¿ØÂ0Ü Ž‚¿­�* ÂÆÚª@ÖÆÎÆ&ž Æ( žÊ(Ì)Ê)Ì*Ê)¢ šÊ)¢ÙšÊ)¢Ç€žÊ)£ÆªÿÊ)£Æ¾‚¿Ê)¢Ê)£‚šÊ)¢þÍÇ€žÊ)¢Ê)£ ‚šÊ*šÊ*¢‘Çÿ• ‚šÊ(ž#Ê*ù¡Ì¹<Ê*ûÌ'Ê'‘á̹ÌÊ)¢Ê)£ •šÊ)£ ÂÊ'¿Ê'Å¡ ÛÊ)£ ª@¹Û¦ª@Æ&ž!­&Ê «‚V«‚W¥„ƦAOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®i®hÈ¡ÊiÌC¹ÊCÐÌC¥„¿ÊC¤ šÊCÊháöÖ¥‚ÕΓ¡ ÖÎ ž¹¥‚Õ?¯¡ÖÎ žÖ¦NÆÎ“«‚þ�ƒ,Ö¦SÆÎ“«‚0Ö¦CÆÎ«‚6‚ÌFÖÊFÆGΡ1ÆG¾á"ÆG¾³ÿ‹¡¥‚öÆG¾0•¤šÊF‚ÌF¹ôÖ¦AÆÎ¡WƦ¯¡ ÌE¹ ÌEÖ¥…uÆÏÖ¥…uÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháòÖ¦LÆ"ΡSÆ"¦¯¡ Æ"¦@LISTª@Ö¥…÷Æ"ÏÖ¥…÷Ï®i®hÈ¡(ÊiÌD¹ÊDÐÌþ*eD¥„¿ÊD¤¥„¿ÊD¤øœ šÊDÊháðÖ¦EÆÎ¡_Ʀ·¡WÆÆ"¯¡ ÌE¹ ÌEÖ¥†yÆÏÖ¥†yÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháîÖ¦VÆÎ¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤ø¯¡ ¥„¿¤ šÖ¥‚þîÕÎ¥‚վš0Ö¥‚ÕÆh¥‚Õ¾•ÏÆh¦.PA¯¡¥‚ÕÖ¥‚ÕÆh¥‚Õ¾•ÏÆhª@¥‚ÕÌhÖÆh¥‚Õ@ÏÖÆh¦.PACÏÆhª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´ÎÖ¥†û¥‚´ÏÖ¥†ûÏ­ ŒîkÕ‰ئ abcdefghiª@ƤƤƤž ®®È¡4Þ̹ÜÐÌØÜ�‚Â0Æܤø † Ž‚¿ØÜ�‚Â0Æܤø Ž‚¿ÜÝáöØÂ$¿ØÂ$¿þMüØÂ$¿ØÌÖÆØ@ÏÖÆ¦.WKCÏÆª@¶¡ØÌÖÆ¦FÏÖÆØAÏÆª@¹ØÌÖÆ¦BÏÖÆØAÏÆª@­‘&Æ Ö¥„óÏÖ¥„ó®¦0PX PASCAL[O][switches] sourcefile[.PA] [options]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/þŠ+C conform to standardÏÖØÏÖ¥„ó®¦&/L listing to sourcefile.LSÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦%/V verbosity to $TTO/$TTO1ÏÖØÏÖ¥„óÏÖ¥„ó®¦oþ/Ÿption meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦afile/A analysis to afileÏÖØÏÖ¥„ó®¦efile/E errors to efileÏÖØÏÖ¥„ó®¦lfile/L listing to lfileÏÖØÏÖ¥„óÏ­p Æž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆžþì/!­2 ÌÌA®Z®È¡,Þ̹ÜÐ̲rÙ•¤ÜA•Àº¡ Û¡¹¹ÌÚÜšÜÝáöÛÌ­,H ÆتÿÖ¥„óÏÖ¥„󮀂ÆÏÖÊ€‚ÏÖ¥„󮀂ÏÖÊ€‚Ï ž­�:ÆتÿÖ¥…÷ÆÏÖ¥…÷Ï®€„®€ƒÈ¡0Ê€„Ì€‚¹Ê€‚ÐÌ€‚¥„¿Ê€‚¤¥„¿Ê€‚¤øœ šÊ€‚Ê€ƒÃ¡ö­+ƒ Z «‚V«‚W¥„þç3ƦRDOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®®È¡Ú̹ØÐÌ¥„¿Ø¤ šØÙáö² •¤•¤Aš² •¤•¤Hš² •¤•¤Iš² •¤•¤Pš² •¤•¤Qš² •¤•¤Xš² •¤•¤Yš² •¤•¤Zš¶¡Ö²€â¦FCOM.CMϹֲ€â¦COM.CMÏÖ²€âϸ²~¤²� øš²~þ„>¶�¾Çÿ˲~¶�‚¾ÇÿË„¡F¶‚¸¶cÅ¡ Ö¦(F)COM.CM file is too long.ÎÖ²€âϲ~¶¤²� øš¹ô­j5 z¸¸¶‚¸¸²~¶¾ˡ)¶‚¸²¶•¤¶²~¶¾¿¶‚¸¹ö¶‚¸²¶•¤¶¿®®È¡yÛ̹ØÐ̲~¶¾¸¶‚¸¸²þ1 Ø•¤•¤ø®² Ø•¤•¤ø®È¡1Ü̹ÙÐ̶•¸²r¶•¤ÙA•À²¶Àº»ÙÛáôØÚáò²~¶¾Çÿáð¶É¡ ÖÎ ž¹²•¤?¯¡ÖÎ ž¥‚Õ²•¤ª@Ö¥‚ÕÎ¥‚վš0Ö¥‚ÕÆ¥‚Õ¾•ÏÆ¦.PA¯¡¥‚ÕÖ¥‚ÕÆ¥‚Õ¾•ÏÆª@­Zõ´T#p‚®¶®È¡èÛ̹ØÐÌÖþ}زÎ “¡=²Ø•¤¾á.²Ø•¤¾³ÿ‹¡¥‚ö²Ø•¤¾0•¤š¹ì¶³"‹“¡Ö¦Invalid local switch.ιòÖ¥…u²Ø•¤ÏÖ¥…uÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáö¹ðÖ¥†y²Ø•¤ÏÖ¥†yÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáô¹ZþÖ}²r•¤LA•Àº¡Ö¦Duplicate listing files.Îֲؕ¤Î¹¬AL¹ÆŒ XØÚáê­j 1�Ñ�²r•¤LA•Àº¡ÖÌÖÆ¥‚Õ@ÏÖÆ¦.LSCÏÆÎ²r•¤NA•Àº“«‚,²r•¤SA•Àº“«‚0²r•¤CA•Àº«‚6²r•¤VA•Àº¡P¥„¿¤¥„¿¤øþبœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š­"ÎÖÆ€âÆ� ÏÖÆ€â¦CLIFILEÏÖÎ ÌÖÎÖÎÖÎÖÎ¥„¿¤ø¯¡ ¥„¿¤ š¥‚ÕÌ�!ÖÆ�!¥‚Õ@ÏÖÆ�!¦.PACÏÆ�!ª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´Î Ö¥†û¥‚´ÏÖ¥†ûÏÖÆ€âÏ­B   0ÌÙø ŽÌ­þº®ؾ®È¡3Û̹ÙÐÌØÙ¾³ÿÿþ‹¡ ØÙÂØÙ¾ •¿ÙÚáö­1 H®$ ®#È¡Ê$̹ØÐÌ¥‚öؤšØÊ#áöÖΫ‚<§‚<‹¡§‚<¹ ÖÎ ¹Öι ¬¹¹2Ö¥„ó®#ÏÖÊ#¦Wrong operating system.ÏÖÊ#Ï ž­q$ˆÚ–jvöV–ä ’~PNþ ê’ j²(þ&i‘Ì¥�AA•¤Ø‚šØ‚Ì¥�4ؤ¦AND ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦ARRAY ÐÑ¥�4ؤ¢,š¥�4ؤ¢ š¥�BA•¤Ø‚šØ‚Ì¥�4ؤ¦BEGIN ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�CA•¤Ø‚šØ‚Ì¥�4ؤ¦CASE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦CONST ÐÑ¥�4ؤ¢š¥�4ؤþ¢ š¥�DA•¤Ø‚šØ‚Ì¥�4ؤ¦DIV ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DOWNTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�EA•¤Ø‚šØ‚Ì¥�4ؤ¦ELSE ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦END ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�FA•¤þöFØ‚šØ‚Ì¥�4ؤ¦FILE ÐÑ¥�4ؤ¢.š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FOR ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FUNCTIONÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�GA•¤Ø‚šØ‚Ì¥�4ؤ¦GOTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�HA•¤Ø‚š¥�IA•¤Ø‚šØ‚Ì¥�4ؤ¦IF ÐÑ¥�4ؤ¢š¥�4ؤþñî¢ šØ‚Ì¥�4ؤ¦IN ÐÑ¥�4ؤ¢)š¥�4ؤ¢ š¥�JA•¤Ø‚š¥�KA•¤Ø‚š¥�LA•¤Ø‚šØ‚Ì¥�4ؤ¦LABEL ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�MA•¤Ø‚šØ‚Ì¥�4ؤ¦MOD ÐÑ¥�4ؤ¢'š¥�4ؤ¢ š¥�NA•¤Ø‚šØ‚Ì¥�4ؤ¦NOT ÐÑ¥�4ؤ¢&š¥�4ؤ¢ š¥�OA•¤Ø‚šØ‚ÌþŒÒ¥�4ؤ¦OF ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦OR ÐÑ¥�4ؤ¢(š¥�4ؤ¢ š¥�PA•¤Ø‚šØ‚Ì¥�4ؤ¦PACKED ÐÑ¥�4ؤ¢+š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROCEDURÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROGRAM ÐÑ¥�4ؤ¢!š¥�4ؤ¢ š¥�QA•¤Ø‚š¥�RA•¤Ø‚šØ‚ÌþøÀ¥�4ؤ¦RECORD ÐÑ¥�4ؤ¢-š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦REPEAT ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�SA•¤Ø‚š§‚6“¡,؂̥�4ؤ¦SEGMENT ÐÑ¥�4ؤ¢0š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦SET ÐÑ¥�4ؤ¢*š¥�4ؤ¢ š§‚6“¡,؂̥�4ؤ¦STRING ÐÑ¥�4ؤ¢3š¥�4ؤ¢ š¥�TA•¤Ø‚šØ‚Ìþ¼‚¥�4ؤ¦THEN  ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TYPE ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�UA•¤Ø‚šØ‚Ì¥�4ؤ¦UNTIL ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�VA•¤Ø‚šØ‚Ì¥�4ؤ¦VAR ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�WA•¤Ø‚šØ‚ÌþÁÉ¥�4ؤ¦WHILE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦WITH ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�XA•¤Ø‚š¥�YA•¤Ø‚š¥�ZA•¤Ø‚š¥�Z‚A•¤Ø‚š­Ž¥‚ež§‚eÌØšØ¢šØ¢š¥‚dž§‚dÌØšØ¢šØ¢š¥‚cž§‚cÌØšØ¢šØ¢š¥‚bž§‚bÌØšØ¢šØ¢šØ¢š¥‚`ž§‚`þ&ÌØšØ¢šØ¢Ÿš¥‚až§‚aÌØ>‚C‚šØ¢šØ¢§‚cš¥‚_ ž§‚_ÌØ¢šØšØ¢šØ¢šØ¢§‚e𨢠𨢠𨢧‚cšØ¢š­ÞÆ žÙÌÛ¦INTEGER ÐÑÛ¢ §‚ešÛ¢šÖÙÓÆ žÙÌÛ¦REAL ÐÑÛ¢ §‚dšÛ¢šÖÙÓÆ žÙÌÛ¦CHAR ÐÑÛ¢ §‚cšÛ¢šÖÙÓÆ žÙÌÛ¦BOOLEAN ÐÑÛ¢ §þ뺂bšÛ¢šÖÙÓÆ žÙÌÛ¦TEXT ÐÑÛ¢ §‚ašÛ¢šÖÙÓÆ žÙÌÛ¢šÛ¦MAXINT ÐÑÛ¢ÇÿšÛ¢ §‚ešÖÙÓŸÌ®®È¡VÜ̹ÚÐÌÆ žÙÌÜ¢ §‚bšÚáܦFALSE ÐѹܦTRUE ÐÑÜ¢ؚܢښܢšÖÙÓÙÌÚÛáö§‚b¢ÙšÆ žÙÌÛ¦NIL ÐÑÛ¢ §‚`šÛ¢ŸšÛ¢šÛ¢šÖÙÓ­Šþu³Ž¥‚m ž§‚mÌئ ÐÑØ¢ ŸšØ¢š¥‚l ž§‚lÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚k ž§‚kÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢šØ¢š¥‚j ž§‚jÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚iž§‚iÌئ ÐÑØ¢ ŸšØ¢šØ¢ŸšØ¢ šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šþOdØ¢š¥‚hž§‚hÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢𨢠šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š­XÆ€¨³ ` ½§‚6¡Æ€¨Æ€¨¼³1Ÿÿàœ ½Æ•¤¦READ ÐÑÆ•¤¦READLN ÐÑÆ•¤¦WRITE ÐÑÆ•¤¦WRITELN ÐÑÆ•¤¦EOF ÐÑÆ•¤¦EOLþ9›N ÐÑÆ•¤¦PRED ÐÑÆ•¤¦SUCC ÐÑÆ •¤¦ORD ÐÑÆ •¤¦SQR ÐÑÆ •¤¦ABS ÐÑÆ •¤¦NEW ÐÑÆ •¤¦FILETITLÐÑÆ•¤¦PURGE ÐÑÆ•¤¦CONCAT ÐÑÆ•¤¦LENGTH ÐÑÆ•¤¦DATE ÐÑÆ•¤¦EOLCHAR ÐÑÆ•¤¦þÜFSUBSTR ÐÑÆ•¤¦INDEX ÐÑÆ•¤¦MOVELEFTÐÑÆ•¤¦MOVERIGHÐÑÆ•¤¦EXIT ÐÑÆ•¤¦IDSEARCHÐÑÆ•¤¦TREESEARÐÑÆ•¤¦TIME ÐÑÆ•¤¦FILLCHARÐÑÆ•¤¦APPEND ÐÑÆ•¤¦REWRITE ÐÑÆ•¤¦PAGE ÐÑÆ•¤¦CLOSE ÐÑÆ þ}[•¤¦SEEK ÐÑÆ!•¤¦RESET ÐÑÆ"•¤¦GET ÐÑÆ#•¤¦PUT ÐÑÆ$•¤¦SCAN ÐÑÆ%•¤¦SIZEOF ÐÑÆ&•¤¦PACK ÐÑÆ'•¤¦UNPACK ÐÑÆ(•¤¦ODD ÐÑÆ)•¤¦CHR ÐÑ®€¬)®€«È¡}Ê€¬Ì¹ÙÐÌÙ³0�à‹ÌÙÆ€¨¼‹“¡RÚ¡Æ ž¹Æ þµ¥žØÌ€¬Ê€¬ÆÙ•¤ÑÊ€¬¢ŸšÊ€¬¢ ŸšÚ¡ Ê€¬¢š¹Ê€¬¢šÊ€¬¢šÊ€¬¢ÙšÖØÓÙÊ€«Ã¡ö­x¬ôÆ•¤¦PWROFTENÐÑÆ?•¤$𯕤¦MEMAVAILÐÑÆ?•¤šÆ•¤¦ROUND ÐÑÆ?•¤šÆ•¤¦TRUNC ÐÑÆ?•¤šÆ•¤¦SIN ÐÑÆ?•¤šÆ•¤¦COS ÐÑÆþ²�?•¤šÆ•¤¦LOG ÐÑÆ?•¤šÆ•¤¦ARCTAN ÐÑÆ?•¤šÆ •¤¦LN ÐÑÆ? •¤šÆ •¤¦EXP ÐÑÆ? •¤šÆ •¤¦SQRT ÐÑÆ? •¤šÆ •¤¦MARK ÐÑÆ? •¤ 再¤¦RELEASE ÐÑÆ? •¤!𯕤¦SYSCALL ÐÑÆ?•¤#š§‚6¡ džp ÌM¹þLÜ ÌMÌ®O®NÈ¡ðÊO̹ÜÐÌܹöÆ žØÌOÊO¢ §‚ešÊO¢š§‚d̹ôŸÌ§‚e̹~Æ žØÌOÊO¢ §‚dšÊO¢š§‚e̹a§‚d̹ZÆ žØÌOÊO¢ §‚`šÊO¢šÌŸÌ¹<Æ žØÌOÊO¢ §‚`šÊO¢š¹$¬¹‰nfM T:ÜÊM‹“¡[Ý¡Æ ž¹Æ žÙÌOÊOÆÜ•¤ÑÊO¢šÊO¢Æ?Ü•¤øšÝ¡ÊO¢þ.›š¹ÊO¢šØŸË¡Ø¢ŸšÊO¢ ÚšÊO¢ØšÖÙÓÜÊNáò­p–Oâ«‚8«‚[«‚Y«‚s«‚5«‚4«‚3«‚2Ÿ«‚f«‚U«‚T«‚S«‚1««‚QÇÿ«‚OÇÿ«‚NŸ«„Å«„W«‚G«‚r«‚q«‚F«‚E«‚.«‚D«‚A««‚?«‚>«‚=«‚+«‚*ÌÆ¾ë‚9ÆÂ¿ÆÂ0§‚;Ç膂¿ÆÂ0§‚;d† Ž‚¿ÆÂ0§‚; † þÁ"Ž‚¿ÆÂ0§‚; Ž‚¿®®È¡.Þ̹ÜÐÌ¥ƒ÷ܤÌÞ¢šÞšÞ¢¦ ÐÑÜÝáö¥‚pÇ‚ž¥„ÊÌÖÆ¦Copyright (C) ÏÖÆÆÏÖÆ¦ Rational Data Systems(ÏÆªP­y^¥ƒ³4 ½¥ƒ¥ƒ¼œ ½¥ƒ³|¥ƒ¼œ ½¥ƒ³t ½¥ƒ³ø ½þ•¥ƒ ³€ ½¥ƒ³t€ ½¥ƒ³ø ½¥‚  ½ ­  Ú•ÌÚÉ¡ Ú ‚ÌÙ•ÌÙd†ÌÙdŽÌÚ�• †Û‚قن‚܆‚Ü�•ŽÌ­B ÖØ®¦'Rational Data Systems Pascal Compiler [ÏÖØ®¦release ÏÖÙ¥„ÆÏÖÙ.ÏÖÙÏ ÖÙ.Ï É¡ÖØ®0ÏÖØ® Ï ¡Öþ„LØ®¦ , overlaidÏÖØ®]ÏÖÙÏ­š ÖØÏÖØ®¦line seg procÏÖÙÏÖØ®¦==== === ====ÏÖÙϧ‚gÌÖØ®§‚A‚Ï ÖÚ:ÏÖÚÙ£ Ï ÖÚÙ£ Ï ÖÚ ÏÖÚ¥‚tÏÖÚÏ­| Æت¶“¡ Ö¶® ,ϸֶ® ¦ /ÏÖÊ ÆÏ­ 6ÖØ®"ÏÖÛ¥‚ÕÏÖÛ"ÏÖÛ¦ cþÕfompiled on ÏÖÛ²ÏÖÛ ÏÖÛ§‚XÏ ÖÛ ÏÖÛ² ÏÖÛ ÏÖÛ§‚;Ï ÖÛ¦ at ϧ‚R š֨®§‚RÏ ÖÛ:Ï¹ÖØ®§‚RÏ ÖÛ:ϧ‚I š֨®§‚IÏ ÖÛ:Ï¹ÖØ®0ÏÖÛ§‚IÏ ÖÛ:ϧ‚@ Å¡ ÖØ®§‚@Ï ¹ÖØ®0ÏÖÛ§‚@Ï ÖØÏ̧‚-§‚6‚§‚,“‚§‚0“‚ÌÚÅ¡öÖØ® ¥‚Õ¾‚ÏÖÛ¦using the þoptionÏÚš֨®sϧ‚-¡ Ö¦ByteswapΧ‚6¡Ö¦ ConformanceΧ‚,“¡ Ö¦NocodeΧ‚0“¡ Ö¦SwappingÎÖØ®.ÏÖÛÏÖØÏ­ ˜ Ö§‚;§‚H§‚XÎ ¹q²¦Sundayª¹x²¦Mondayª¹i²¦Tuesdayª¹Y²¦ Wednesdayª¹G²¦Thursdayª¹6²¦Fridayª¹'²¦Saturdayª¹þ_Ŭ¹yl_QA2%§‚H¹ö² ¦Januaryª¹ô² ¦Februaryª¹ô² ¦Marchª¹ô² ¦Aprilª¹ô² ¦Mayª¹ô² ¦Juneª¹² ¦Julyª¹r² ¦Augustª¹c² ¦ Septemberª¹Q² ¦Octoberª¹A² ¦Novemberª¹0² ¦Decemberª¹¬ ¹½¯ ”ˆ~sh[K=.¥„¿¤ø‹¡1Ö¥…÷þZ Î Ö¥…÷Î Ö¥…÷®¦ line seg proc off nstÏÖØÏ¥„¿¤ø‹¡ Ö¥…uÎ Ö¥…uÎ ¥„¿¤ø‹¡Ö¥„óÏÖ¥„óÏÖ¥„óÎ Ö¥„óÎ ¥„¿¤ø‹¡ Ö¥†yÎ Ö¥†yÎ ­”µ Ç&‚«‚]Ç «‚K¥‚;¥‚H¥‚Xž%¥‚R¥‚I¥‚@ž ÖΧ‚,¡Ö¥†ûÏ«‚ZÖÎÖÎÖÎ «‚n«¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š«‚Bþ¬M«‚CÖÓÖÓÖÎÖÎÖÎÖÎÖΫ¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š¥‚gž§‚gÌÊ¢ŸšÊ¢êšÊ¦PROGRAM ÐÑÊ¢ ŸšÊ¢šÊ¢šÊ¢šÊ¢šÊ¢íšÊ¢šÊ¢šÊ¢ š¥‚x¦ declarationsª ï!áwÖÓï᥂t¥Ñ¥ƒ÷í¤¢¥Ñ¹ÖÓÖÓïá>ÖÓïá"ƞʢ¥Ñʧ„Śʫ„ÅÖÓþ„©ïË«¹«ì¡öïáÖÓ¹Ö)ÓïáÖÓ¹ÖaÓ¹F§‚6¡ÖÓ¹;«‚3«‚s«‚r«¥ƒ÷í¤ÌÊ¢šÊšÊ¢¦EXTERNALÐÑ¥‚tʢѥ„¿¤ø‹¡Ö¥„óÎ ¥„¿¤ø‹¡Ö¥…uÎ Æž ¥‚o ž§‚oÌÊ¢ŸšÊ¢šÊ§‚gšÊ¢ êšÊ¢§‚nšÊ¢éšÊ¢§‚sšÊ¢šÊ¢ Êš­ X^tLÎn¶\ ÀþZƒ ¨¢”xþþAŒÖØÏÖØÏÖØ®¦Error Message SummaryÏÖÙÏÖØ®¦===== ======= =======ÏÖÙÏÖØÏ­XÖØ®¶Ï ÖÙ ÏÖÙ²@ÏÖÙÏ­$ÖÆÆ@ ÏÖÆ¦ERMSGFILÏÖÆ¦ PASCAL.ERÏÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎþƒ;®aÇÿ®`È¡tÊa̹ØÐÌØ¥‚¼ ‹¡ZÖÆØÏ ÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎØÊ`áöÖÆÏ­va <þZ½ÖØÏÖØ®¦Segment NumberÏÖÚ¦ Segment NameÏÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛø•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚Æþ‘v¾Ê$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆGÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#þÏ~Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐþ¬Ì¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹þz3ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 þþ¡ÞØÄØÈ„¡ÖØÓ ¹ÖGÇ€‚Ó ÖØÆÆÓÖÙÓ ÖÚÓ ­0ØÈ¡ÖØÓ ¹ÖÇ€ØÇ†‚Ó ÖØÇŽÓ ­(ÖØÇ€‚Ó Ø&á+óÌÖÚùÓ ®Úù®È¡Ü̹ÙÐÌÖÚ¢Ù•Â¾Ó ÙÛáö­BÖØÇ€‚Ó Ø3áxÌÌÙá̹ÛÈó¢Û•¤øÃ„¡Û‚̹öÚÛ•‚ÌñÝšÝÅ¡)ÖÝÓ Û®Ú®È¡ß̹ÜÐÌþ^#Öó¢Ü•¤øÓ ÜÞáô¹ë•«Ýá Ö󢕤øÎ¹cسÀ0$@‹¡ÖÙÓ ¹LØ'ÃÙÈ„¡ë•«ÖÇçÙ‚Ó ¹4ØJÃÙÈ„¡ë•«ÖÇ×Ù‚Ó ¹Ø#ÃÙÈ„¡ë•«ÖÇøÙ‚Ó ¹ÖÙέ”Ï ôØ@ÃØMÃ�¡ÖØÇ€‚Ó ÖÙÓ ÖÚÓ ¹Jس³€‹¡ÙáÖØ‚Î¹ÖØÙÎÙÅ¡ÖÚιÙá ÖØ‚ÚÎ¹ÖØÇ€‚Ó ÖÙÓ Öþ:&ÚέnÙÌÝù¡^ÖØÇ€‚Ó Ýúë••ÌÚÄÚÈ„¡ÖÚÓ ¹=ÝøÃ¡&ݧ„Wš§„WcáÖÇÿÓ¹§„W‚«„W¥„XÝø¤ÝúšÝø‘ÌÖÇøÝø•Ýø•Ó ¹'ÖÝúÆÆÓØ9á ëǂ̹ëÌÝ¢ÚšÖÜÓ ÖÛÓ ­”ÖÎ ñ§‚bË¡ÖÇÓÖ!ØÎ­ ØžØøÌÙ¢šÙšÙ¢Ç`mš­ ØÌÛúÌÛ¢šÛøË¡ þiÎ¥„XÛø¤ëšÛ¢ëš§‚7“¡6ÙÇ`mÉ¡/ÙÇÄ¡ ÙÇ•Ì9̹!ÌÙ«Öèë¾è낾ÆÓÖÚØÎ¹öÛú«­<j ñŸË¡ôò¹öñùÃñ§‚dË„¡Öóι ñ§‚`áÖιñ§‚dáÖ3ιÖ3ιZó¹3ôáÖ'õι Ö6§‚nô•õι-Ö#ôι&Ö:ι Ö<ñøÎ¹Ö>ι¬¹ ;% ¹¹¬¹ˆVñùÃòË„¡ÖñøÎþÁ« ­$ ´ ØÌÙøŸË¡[Ùú¹EÙûáÖ+Ùüι Ö8§‚nÙû•Ùüι;ÙûË¡ÖÇ.Ó¹Öι'Ö;ι!Ö=ÙøøÎ¹Ö?ι¬¹ M3!­lñŸË¡nò¹VÖñÓ¡Ö&ιÖÇ-Ó¹Mó¹.ôáÖ%õι Ö2§‚nô•õι$ôË¡Ö"ôô‚ιÖǾÓ¹¬¹6 ¹ ¬¹^K« « « ­þ W|ÜÌÊþ« « Ê£¹ö« Ê£ « Ê£ «¹ôÊ£ á Ö'Ê£ ιÖ6§‚nÊ£ •Ê£ Ϋ « ¹ô¥ƒ §¤ÌÊùá« Êú« ÊûÊ£ ‚«¹!§‚ná Ö'ÊúιÖ6ÊúΫ Ê£ « Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« þEÕ«¹¬¹ æùÀ?ñŸË¡ñùÈñøÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ ÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖþ}ιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊþñÅ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“þª`¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:ïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ Üέ0ØêšÖÓê§Å¡ê«­ ñŸË¡ñùÉ¡ÖÎ ¹Öέ%¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þîxþø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó ÖÓ ÖóÓ §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£þå‚Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïË¡îïáÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ðþŸ­``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òñŸË¡ ñùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>þ¢,Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖþPÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)02*6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3þg>­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥ Ê¢¨¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œþúÀ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšÊ¢šïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñþòÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓì¡ðïáÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$þ=˜&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³€œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖþfeÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡Öι ÖÇÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáþJKÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ιþ˜ ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚JÖÆ¼³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáþ¾¯ÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñÓ„�¡Ì̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRþ‘9ÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓÌ ¹ ÖÇ…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ þ‘]n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï áÖÓ¹Ö^Ó­:< D=êÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dþ·‰ØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüþÀªÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Ê ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@Bž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüþº,ÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ ž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ þlìÓ­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚x¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþZšþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜú̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎÖ2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖþ¨ÇÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVþbÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßÅ¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓþºã¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤øÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹þb—.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺ ƒ$„#~„"„!„ „Ì…„ L þü ¸ 4`€†„………„„„„„„„„Ø„„„„ „ „ „ „ „„„„„„„6îƒp ¢²4^Îôƒ®¶ *!$!l!šŒˆDþÒ–ÇÿÙ€•Ú€ÉÙÉÚÉ„ÙÅÚÅ„�„¡Ì¹ÌÛÙÚ‚š­0Ùá̹ Ú€ÇÿÙ€†ÈÌÜ¡ ÌÛÙÚ�š¹Ì­.ݚ弄¼‹“¡ÖÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡ìïáòéÌ ¥ƒ é¤ùˡ镫¹öÆžßÌʚʢšÊ¢šŸÌ Ì ÖÓïá=Æ žÊ ÌÊ¥ÑÊ¢ ßšÊ¢Ê šÊ¢Ê šÊ¢šÖÊ Óþ@›Ê ‚Ì Ê Ì ÖÓ¹Ö!ÓïÆ¼"œ‹“¡ÖFÓÖÆ¼"œ ÓïË¡ôߢÊ šß¢Ê šÊ «ïáÖÓ¹Ö,Ó¹îïáðÖ Æ ÓÖÓÊ £ánÆžßÌÊ ÌÊ¢ÊþšÊ¢šÖÊúÓ¡ ÖÇ”ÓÊ¢ŸšÊ¢Ê¢¨Êšï#áÖÓ¹ÖÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖÇÃÓ¹Ê þÌߟˡÝßøš¹vÆžߢšÖƼ³þ~œ ÆÆ ÓÖÞÓ¡ ÖÇ ÓŸÌßÌÊ¢ÞšÊ¢Æ ¨Êšï#áÖÓ¹ÖǺÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖkÓߟˡ7ßÌÊùá-ÊúŸË¡&Êú§‚dáÖÇ$Ó¹ÊüÊûÅ¡ ÖfÓÊ¢ÊüšÜßšïÆ¼‹“¡ÖGÓÖÆ¼ Ó¹ÜŸš­$Øqÿ1 nÌٟ˶„¡ôÙÌÝù¹kÙ§‚eËÙ§‚dË„¡8ÖÙÆÆÓ þ1)ÛÄ¡+ÌÚḹÇ@̸ÜÚÅ¡¶•¸Ü†Ì¹ö¹4ÖÝúΡÖÝúÆÆÓ Ú‚ÌÚÉ¡ÌÚ¸¹¬¹su2­N šÌØÌÖÚþΡ@¶¶‚Å¡¶ ‚¸ ¸ÌÚ¢¶ šÚ¢šÚ¢¶šÚ¢¶š¶¶‚¸¹/¶ ¶Å‚¸ ¸ÌÚ¢šÚ¢¶ šÚþŸË¡ ¶ Úþø‚¸ Ù¶ŸË„¡/¶ÌþôbÚ£ ¡%Ú£ áÚ¢š¹Ú£ ÈÚ£ È„¡ Ú¢šÚ¢š­¾²ž¶ÌÙ¢ŸšÙ¢ŸšÙ¢š¶¶šÖÓïáö¶¡² ž¹² ž¶ ÌÙ¢ ŸšÙ¢šÙ¢ŸšÙ¢šÌ«‚.Ö ² Ó«‚.¶ ŸÃ¡!̶ ¥ÑÖ¶ ÓÖÓïáÖÓ¹Ö8ÓïáXÖ ² Ó¶ þ¸¶ŸË¡;¶ùÈ¡/Ö§‚d¶Ó¡ÖÇÆÓþ·¶ ¢ ¶š¶¢¶ šØ¡Ö¶ ιÖnÓÖÓ¹Ö%ÓÖ²¼Çœ Ó¹Ö&ÓÖ²¼Çœ Ó¶¶ ¶Å‚šï áÖÓ¹ÖWÓŸ¸¶ ¸¶ ¸¶¸¶¸Ÿ¸ Ö²¼œ ² ²Ó¶úŸË¡Ö¶úþ¶ Ó“¡ÖoÓ² ž¶ ÌÙ¢¶šÙ¢¶ šÙ¢²¨Ù¢š¶ ¸¶ ¸ ï˫쓡ÖÓì¡ôïáþBJÖÓ¹Ö9ÓïáÖÓ¹ÖXÓï៸ ¹Ö²¼(œ ² ζ ¶Å¡¶ ¸¶¸¹¶ ¶ö¶Å„¡¶¸¶ ŸË¡%¶ ú¸ ¶ ¢¶ š¶ ¶ ¶Å‚š¶ ¸ ¹òïá%ÖÓï²¼œ‹“¡ÖNÓÖ²¼œ Ó¹Ö-Óï˫쓡ÖÓ¶¸ ¶¸ï Ãì�¡ð¶¸ ¶¸¶¢¶š­j’j»þS(È ŸÌŸÌŸÌï³ ‹“¡ÖÓÖÆ¼³ œ ÓïáðÞÌïáA¶¡Æ ž¹Æ žÊ ÌÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢šÊ¢šÊ ÌÖÊ ÓÖÓ¹ÖÓï‹“¡ÖAÓÖÆ¼³ œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö.ÓÖÆ¼³ œ ÆÆÎÊŸË¡ ÊùáÖlÓßÞË¡ßÌÊ¢ ÊšÖßÎßÌÊÿÌþnê¹ôÊ Ìïá)ÖÓï³ ‹“¡ÖÇ™ÓÖÆ¼³ œ Ó¹òŸÌÞŸË¡ÞÌÊÿÌ Ê¢ßšÞÌÊ Ì¹îïáÖÎ ¹ÜŸš­+08…4p² ž¶¶ š¶ ÌØ¢ŸšØšØ¢šÖÓïál«‚.Ö ² Ó«‚.¶ ŸÃ¡+² ž¶ ÌØ¥ÑØ¢ ¶ 𨢧‚fšØ¢š¶ «‚f¹#¶ þŸË¡¶ þùË¡ ¶ ¢¶ þš¹þ‘ÖÇÄÓÖÓ¹ÖÓ­  Ì弄¼‹“¡Ö ÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡Þ弄¼‹¡ÖƼ ÜÝιàïáÖÎ ¹âï+á&ÖÓÌ弄¼‹“¡ÖYÓÖÆ¼¥ƒ¼œ Óï,áðÖÓïáÖÓ¹Ö ÓŸÌÊ¡Æ ž¹Æ žÊ ÌʢߚʢŸšÊ¡Ê¢šÊ¢šÊ¢šÊ ÌÖÆ¼³œ ÆÆ ÎþÜtßÊ šÞŸË¡7ÞùÈ¡(Þ§‚dá Ömӟ̹ާ‚eá ÖǕӟÌÊ ¢Þš¹ ÖÇÇÓŸÌï˫쓡ÖÓì¡öïáÖÓ¹Ö[Óï áÖÓ¹ÖTÓÖÆ¼ Æ Æ ÎÊ ŸË¡ Ê ùáÖÇÅÓÖÊ Î¡"ÊʂȡßÌÊ¢šÊ¢ ʆšÊ¢ ÊšßÌÊûÌÊ¢Ê šÊúŸË¡ôÖÊúÆÆÓ Êü¡;ÖÊÊ‘ÆÎ¡&ÖÊÆÎ¡ÊÊþ†ÊÊþŽþtÑË‚Ì ¹ÖÇKÓ¹ÖÇFÓ¹@ÖÊÊ‘ÆÎ¡-ÖÊÆÎ¡ÖÊ ÊÆÎ¡ÊÌ ¹ÖÇGÓ¹ÖÇHÓ¹ÖÇIÓÊ Çÿ?Å¡ ÖÇJÓÌ Ê È¡ ÖÇ'ÓÌ ÊÊ šßÌ ÞÌߟáò¹äï-áîÖÓéÌ é ɡ邫¥ƒ é¤ÌÊŸšÊ¢š¹ÖÇÓÌ ÌÖÆ¼…Çœ ÆÎÊ ÊÅ‚Ì Æ žÊ ÌÊ¢¥ƒ 餸šÊ¢ßšÊÊ šÊ¢šþwÊ «ï áÖÓ¹Ö_Ó¹æï*áìÖÓï áÖÓ¹ÖUÓÖÆ¼ ÆÆ ÎߟË¡%ßùÅ¡ ÖÇÈӟ̹ߧ‚dÃß§‚eÃ�¡ÖrÓŸÌÆ žÊ ÌʢߚʢšßŸË¡4Ö߯ÆÓ ÊÉ¡ÖÇTÓÊÊ‚†šÇÿÊøÉ¡ ÊÇÿšÖǩӹʚ¹èï.áWÖÓÆ žÊ ÌÊ¢šÊ¢Ÿšï áÖÓÖÆ¼ ÆÆ ιÖVÓŸÌÊ ¢ߚߟˡßùþ!÷áÖÇ6ÓÊ >ßø‚š¹êï3á|ÖÓïË¡ÖÇ´Ó¹lÖÓÖÆ¼³œ ÆÆÓß§‚eá8ÊÈÊÇÿÅ�¡ ÖÇÓÌÆ žÊ §‚_¨ Ê ÌʢʚÊÊ‚†š¹ÖÇ€ÓïáÖÓ¹Ö\ÓÜÊ šïƼ‹“¡ÖJÓÖÆ¼ Ó¹ÜŸšÜøŸÃ¡Ýš¹ÝÜøøš­139;=?ÂP$a/ Êï"áY¥ƒ é¤ÌÚüÌÌØŸþ{œËÙ“„¡Øù§Ë¡Øú̹ ÌÖǦÓ¹öÙ“¡!ÆžØÌÛšÛ¢§šÛ¢ŸšÛ¢ÚüšÚ¢ØšÖÓ¹ÖÓï²¼ œ‹“¡ÖBÓÖ²¼ œ Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖcÓ­¢� ¬ ïË¡ÖÓÖ²¼œ ÓïáôÆ žØÌÛ¥ÑÛ¢ ŸšÛ¢ŸšÛ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÓÖ²¼œ ÆÆÓÖØÓØ¢ þ¡ٚآƨïá%ÖÓï²¼œ‹“¡Ö?ÓÖ²¼œ Ó¹ÖbÓ¹ö­� ¬ ïË¡Ö"ÓÖ²¼œ ÓïáòÆ žÚÌÝ¥ÑÝ¢ ŸšÝ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÇ—ÓÖ²¼œ ÆÆÎÖÚÓÚ¢ Ûš§‚fÌÙŸË¡+ÙÚ¯¡Ùþ¢ÚþšÙ§‚fˡآÙÿš¹Ùÿ«‚fÙÌÙÿ̹öïá%ÖÓï²¼œ‹“¡ÖKÓÖ²þ>r¼œ Ó¹ÖvÓ¹ô§‚fŸË¡ ÖÇÒÓŸ«‚f­Éx ê ŸÌïá/Æ žÚÌÝ¢šÝ¥ÑÝ¢ٚݢ ŸšÝ¢§‚nšÖÚÓÚÌÖÓ¹Ö#Óï²¼œ¥ƒ¼œ‹“¡ÖLÓÖ²¼œ¥ƒ¼œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö1ÓÙÌÖ²¼œ¥ƒ¼œ ÆÆÎÙŸË¡=ÙÌÝ¢ ۚݢêšÖÜÓÝÿÌÝÿŸÃ¡ ÛŸË¡Ûþb7ùáÝ¢¥ƒ é¤úš¥ƒ é¤¢Øš¹ôïá%ÖÓï²¼œ‹“¡ÖMÓÖ²¼œ Ó¹Ö|ÓïË弄¼‹“„¡ò§‚fŸË¡ ÖÇÓÓŸ«‚f­1”5 @ŸÌ êÌïÆ¼œ‹“¡ÖÓÖ²¼Æ¼œœ Óïáì¶¡ÖwÓÖÓï³@‹“¡ÖOÓÖ²¼!œ Óï³@‹¡ðïáÌ ÖÓ¹Ì ŸÌÌïáKÆ þ÷üžÊ ÌÊ Ã¡Ê¢š¹Ê¢šÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢§‚nšÖÊ ÓÊ ÌÊ‚ÌÖÓ¹ÖÓï²¼œ‹“¡ÖPÓÖ²¼.œ Óï˫쓡ÖÓì¡öÌ ŸÌ ïáNÖÓïá@Ö Æ ÓÖÓÊ þÌ Ê ŸË¡Ê Ã¡Ê ùáÖyÓ¹ Ê ùÈ¡Ê øÌ ÖÊÊ �Ó¹ÖÓ¹Ö/ÓŸÌ êÌßÌÞŸË¡"ÞÌ ÞÌÊÊ •Ìʢʚʢ Ê þ¼šÊÿ̹ôÊ ŸË¡ Ê ¢Ê šßÌ ï(²¼œ‹“¡ÖQÓÖ(²¼œ Óïá)ÖÓï²¼³@œ‹“¡ÖRÓÖ²¼!œ Ó¹òïá+ÖÓïÆ¼²¼œ‹“¡ÖCÓÖÆ¼²¼œ Ó¹Ö+ÓÝ¢ꚟÌÊ ŸË¡<Ê ÌÊÿÌʢޚʣáÊþŸË¡ÊþùÅ¡ Ê¢êšÖÊþøÓÊ ÌßÌ ¹îÜÞš¹ÜŸš­NŒ þv,†¶¡ ¶«¶«‚r¶ «¶ «¶ «‚n¶«‚s­.ØÌ¥„¿¤ø‹¡`Ö¥„ó®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥„ó®¦. ÏÙÛáöÖ¥„ó®ÚÏÖÛÏ¥„¿¤ø‹¡`Ö¥…u®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥…u®¦. ÏÙþBÕÛáôÖ¥…u®ÚÏÖÛÏ­)— èØ0áR§‚3¡ÖÇNÓïÌï³€‹¡ÖÓ¹ ÖÇ!ÓÌÌí̧‚q«§‚rÌ«‚r§‚8¡ÖÇ Ó«‚?«‚Y¹ÌêÌ «ê«‚Q«‚5ïáòÖ¥ƒ 餸ÆÓÊŸË¡FÊ£áÊ£ØÄÊ£ Ä̹ʣáÊ£Ø Ã„Ê£ Ä̹ÌÊ“¡ÖÇ Ó¹ÌÊ“¡öØáÆž¹Æþb^žÊÌÊ¥ÑÊ¢ ŸšÊ¢êšÊ¢šÊ¢šÊ¢ šÊ¢§‚nšÊ¢§‚ršÊ¢íš§‚3Ê£ ÄÊ£ Ä¡¥ƒ÷¤¢ÊÑ¥‚tÊÑÊ¡#§‚qÅ¡ÖÇÓ¹§‚q‚«‚q¥ƒ÷í¤¢¥Ñ§‚rǕáÖÇÓ¹§‚r‚«‚rØáÊ¢š¹Ê¢šÖÊÓ¹}ÊÿÌÊŸË¡DÊÌÊþŸË¡2Ê£¹Ê£ Êþø‚̹ʣ ‚̹ ¬¹ ÊþêšʫÊÿ̹ôÊ£ íË¡&Ê£ Ë¡ÖÇUӹʡ Ê£ ««‚r¹ÖÇ"ÓÖÓ¹ ÖÓ§‚i̧‚sÌÊ£ «‚s§‚nÌ §‚nÉ¡ §‚n‚«‚n¹ÖÇûÓéÌ é É¡7é‚«¥ƒ é¤ÌÊ¡ÊÊÿš¹ÊŸšÊ¢ŸšÊ¢ŸšÊ¢šÊ¢š¹ÖÇúÓÊÌØáÖ ÆÊÎÊ“¡Ê¢Êš¹ìÖ  ÆÊÎÊ“¡Ê¢ÊšïáîÖÓïá|Êþéî¡ÖzÓÖ ÆÓÊþÌÊ¢ ʚʟˡÊù‹“¡ ÖxÓÊ¢ ŸšÊþŸË¡ÊþøÌ¹ÌʢʣʂšÊÿÌʟˡʢʣ Ê‚šÊÿ̹ðÖÊÓÖÓ¹ÖÓÖ²¼œ Ó¹ Ê“¡Ö{ÓïáÖÓ¹ÖdÓïÃ¥¦FORWARD Я„¡BÊ¡ÖǡӹʢšÖÓïáÖÓ¹ÖpÓï²¼‹“¡ÖDÓÖ²¼ ÓÖιàïÃþ—¥¦ASSEMBLEЯ„§‚6“„¡èÊ¡ÖÇ1ÓÖÓïáÖÓ¹ÖSÓï²¼‹“¡ÖÇ ÓÖ²¼ Ó«‚+Æž ¥ÇžÇÿ«‚M«ÊŸË¡VÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÊþŸË¡ ÖÊþøÓ ¹ÖÓ ÖÇÿÓ ÖÇþÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇBÓ¹§‚?ë‚«‚?¥ƒa§‚s¤þ®{§‚?•šÆž!ÖÊÎÖιâïÃ¥¦EXTERNALЯ„§‚6“„¡äÖÓïáÖÓ¹ÖǯÓï²¼‹“¡ÖÇÏÓÖ²¼ Ó«‚*Æž ¥ÇžÇÿ«‚M«ÊŸË¡<ÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáæÖÇýÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇÑÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÊ¡ÖþQ˜Ó Æž!ÖÊÎÖιPÊÌÊ¢šÊ¢ šÖÊÎ¥‚tÊÑ¥‚x¦ declarationsª Æž Ì Ȩ̂‚oÌ ¥‚o ž§‚oƨ ¸­VÓVæ×â2±¸\ÆÚÑÙøŸÃ¡Ì¹ZÙøÆ¯¡Ì¹LÙøÌ Ì Ê Ã¡!Ê ÿÌߟáÌ ¹߯¯¡Ì ¹ßÌ ¹öÊ á̹ÌÊ ¢ßÿšß¢ÙøšÙßš­GtÆÙÑþ„ȩ„ÅÌޟˡޢƯ¡¹ ¹ÞøÌ¹öÌ­ 4ÆÙÑÌ¥ƒ é¤úÌÞŸË¡ÞÆ¯¡¹ ¹Þÿ̹öÌ­ 6ØøŸË¡ŸÌØøÌØÙ𨸸ÌØøÚšØøÌٟáö­,ÆØÑÆ žÝÌÞÆÑÞ¢šÞ¢ §‚ašÞ¢§‚nšÞ¢êšÖ§‚aøÓÞ¢¥ƒ é¤úš¥ƒ é¤¢ÝšÖÝÓ­RÖ¦INPUT þ+éÐÎÖ¦INPUT ÐΓ„¡Ö¦INPUT ÐÎÖ¦OUTPUT ÐÎÖ¦OUTPUT ÐΓ„¡Ö¦OUTPUT ÐÎÖ¥„ÅΧ„ÅÌØŸË¡Ö¥ƒ 餢آΓ¡ÖÇ0ÓØøÌ¹öÖ¥„Åέ+ž§‚2§‚0„¡«‚2ÖÆ¼ Ó¹òÌïá§‚3§‚nÄ¡ÖÇLÓÖÓÖÎ ïáÖÓÖÎ ïáÖÓÖÎ ïá§‚3§‚nÄ¡ÖÇMÓÖÓÖÎþâT§‚nç‚3“„¡ÖÎï³€‹¡ ïÌÖÓÖÝιöïË¡弄¼‹Ü„“¡ÖÓÖÆ¼ ÓïÇ¥ƒ¼œ‹¡ô­¯Q ÒzÒ@zâ V D xü L<înˆV¼¬2f0þþ`§‚2§‚0„¡ ÖÆ¼ Í¹.ÖÆ¼ ÍÖÆ¼³ œÇ… Í§‚oŸÃ¡öÖÎ ­0NØÅÌÚÙÇØÇ€Ž�‚šÛ¡ ÚÚøÇÿ••š­(ÙÚá̹îÙŸÃÚŸÃ�¡Ì¹ðÙùÚùË¡'Ùùá ÖÙúÚÎ̹Úùá ÖÙÚúÎ̹̹òÙù¹ö̹ôÖÙúÚúÎ̹ôÙ§‚`ÃÚ§‚`Ã�̹xÖÙúÚúÎ̹lÖÙÎÖÚ΄“þס̹AÖÙÎÖÚ΄¡Ì¹/ÙúŸÃÚúŸÃ�¡Ì¹ÖÙúÆÆÎ ÖÚúÆÆÎ ÞÃÝÄÜÛÄ̹¬¹Ї}pf”–­ ôŸÌݚ弄¼‹“¡Ö2ÎÖÆ¼¥ƒ¼œ Î弄¼‹¡ôï%á?§á§‚c̹(Æ žÞ§‚_¨ Þ¢§šÞ¢ŸšÆ Ç‚žÊ §¨€‚Ê «Ý¥¨ÖιöÌ ï(Ãð`‹„¡ðáÌ ¹þprÌ ÖÎïádÖ ÆÎßÌ Ê þÌÝÊ ¢¨Ê Ë¡AÞ§‚eá Ê áÝÝø‘š¹-Þ§‚dá"Ê áÆ žÊ šÊ ¢Ýø¢¼’½ÝÊ š¹ÖiÎÖιTï"áÊ á§‘«§‚eÌÝ¥¨Öι5ï$á"Ê á §¢§¢¼’½§‚dÌÝ¥¨ÖιÖjÎÖÆ¼ ÎïÆ¼‹“¡Ö>ÎÖÆ¼ ÎÜÞš­  v¥ƒ 餸Ìڟá ¥ƒþ#g 館š¹8ÚÆØžÌÛáÖeÎÙüŸÃ¡Ì¹ ÙüÆØžÌ¹öÛá٢ؚ¹Ù¢ ؚآ ŸšØ¢Ÿš­<dë‚§‚MÅ¡ ÖÇýΫ‚7«èëÂØ¿ë‚«­( ë„¡ÖÎ ë‚§‚MÅ¡ ÖÇΫ‚7«ÖØÆÆÎ§‚9§‚-áèëÂÚ¿èë‚ÂÙ¿¹ èëÂÙ¿èë‚ÂÚ¿ë‚«­X ØÌÛùá ÙÛüšÚÛûš¹"ٚا‚cáÚÇÿþ=÷š¹ØûŸË¡ÚØû£ š¹Úš­> ««‚4«‚Ÿ¥€—ÂÇÿž §‚1¡5Ö¥€—¥‚C¥ˆ9Γ¡#Ö¥ˆ9ϧ„¼«§�«�¥€—¥ªÿ§‚/«‚4«‚1¹Ö¥€—¥‚B¥‰wΓ¡ÖÇ/ÎÖ¥€—Î¥€—¾Çÿ•Å¡ÖÇέ†Ù¿ۢ|ÚøÂ¾§‚Wá̹dÛ¢|ÚøÂ¾¥„½¼‹“¡/ÙÂÙ¾‚¿ÙÙ¾ÂÛ¢|ÚøÂ¾¿ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏÚþÒáš¹öÛ¢|ÚøÂ¾«�ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏښ̭g †êØ‚Çÿ?Å¡ ÖÇÚΫ¹êØ‚«­"§‚A‚«‚AÖÎÖÎîP ¥€—îž ‚«§‚5¡ê«‚Q¹ë«‚Q­4ÌÌ Ì Ì Ì Ç'ÌÇ'ÌîÌî‚«¥€—î¾0É¥€—î¾9Å�¡öî•Ì ¥€—î¾.áS¥€—.Ë¡GÌî‚«îÌ¥€—î¾³ÿ‹þnZ“¡ÖÇÉÎ¥€—î¾³ÿ‹¡î‚«¹ôî•Ì ¥€—î¾³ ‹¡\Ìî‚«¥€—î¾-á î‚«‘Ì ¹¥€—î¾+áî‚«îÌ¥€—î¾³ÿ‹¡î‚«¹òî•Ì Ê ÝÉ¡ÖÇÎØábÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«þ%ô« Ü«¹èÆнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Û¾‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFjþªÇ$¡0—¾È¥€—î¾ Ã¥€—î¾ Ã�„¡î‚«¹ô—¾È¡¹Öιò« /«¥€—î¾¹îÖÎ#¹ìÖÎ$¹ì¥¥€—¥�¥¥ ¥ž ¹ìÖιð¹ì¥€—*á î‚«Öι𹫹쫹쫹쥀—.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—þ¿†î‚¾¹ « î‚«¹ « î‚«¹ ¬=>¹¹ì)« « ¹ì)«¥€—=á « î‚«¹ « ¹ì¬'{¹ìò×…Ø{×w "$&(*,.02Ô»‰ZT2À=?ACEGIKMOQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿþ.}ï/áÖÇ)Îî‚«§‚[„¡¹ð­Ð  ,ØÉÌÛ¡ Ø‚Çÿ‚ÌÙØÇ†šÚØÇŽšÛ¡ÙÙøÇ€‚š­2ÌÙŸË¡Ùùá ÙüÙû§‚cÄÌ­"ž§‚JÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Öþsꥅ÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷®Ö¥€—Æm¥€—¾l•ÏÆÏ¹ Ö¥…÷®¥€—ϧ� áÖ¥…÷Ϲ֥…÷ϧ‚4¡ò¥„¿¤ø‹¡Ö¥…÷¦ERRORÎ%¥€—¾ ¥€—ž ÌÙ¥€—¾É¡E¥€—Ö¥€—ÆÙ‚¥€—¾Ù•ÏÆªÿ®§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦þi in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥†y® ÏÖÚ¥€—ÏÖÚÏÖ¥†y¦Î%¥„¿¤ø‹¡qÖ¥…u®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in þEŸÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ È鮮ġIÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹§‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«þð^­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„þ6ÀÙ•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFIþ�*LEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖþL`ÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒ1ƒ0‚2 R‚/„,„+ƒ-ƒ*ƒ)‚. Мþ:`�3èH H Ô ` ¤�(�'�&6�%¢FN'þþª§‚9§‚-á ٕؕ€ŽÌÌØÙ‚É¡M̮ٮȡÞ̹ÜÐÌÛÛ‚ÌÜÝáö®Ø®È¡#Þ̹ÜÐÌÚÛ‚ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáô¹0‘̮ٮȡ#Þ̹ÜÐÌÚÛ•ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáòÖÚέ$Xv ¬ þ»?Ì Ì ñŸË¡ óÃñùÅ�¡ÖÎÖñÓÌ Æ¥ ¨ÖÓÖÆ¼ Îòá ñ§‚cÃÖñÓ�Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡ôñ§‚eáÖ§‚dÜÓ¡ Ö Î§‚d« Ì Ê ¡\Üÿ¡ ñ§‚cáÌþÁ¸ ¹LÜúŸË¡CÖÜúÆÆ Ó Ê Ê•‚Ì Ê ñ§‚cË„¡%ÖPÎÊ ñ£Ë¡ÖÇ�Ó§‚6ÊË„¡ÖÇ@ÓÜ« ¹Ü« Ê “¡ÖÜñÓÌ Ê ¡öÜù¹o§‚D„“¡ÖÜüÎÖÜûÎÖÎÖÆÎ¹gÖ ÜøÎÖÆÎ¹ZÖÆÎ¹SÊ ¡"Üÿ¡ñ§‚cáÖ)ιÖ*ܣιÖQÊ Î¹Ö(ÜøÎ¹%Ö(ÜøÎ¹ÖÇ’Ó¹¬¹LxP_M!¹ÖÇîÓ­  ŠþþTåÖÆ¼ ÎÖñÓòÃñ§‚cÄ�¡FòáÖι:òá5ñ§‚cá+§‚pÌܚܢšÜ¢•Âó¿§‚p« ¥ žñ§‚_¨ ñ¢šÖιñŸË¡ÖÇçÓ§‚_« ­zþþ±ßÖ²¼"œ ÎÖΟÌÌÌñŸË¡)ñÌÝùáÝúŸË¡ÝúÌÞøÌÞùáÞû̹ÖÇÌÓïáòÖÓÖ²¼"œ ÆÆÓÚ‚ÌٟáÖÇžÓ¹fÙùË¡ÖÇ¢Ó¹XÙúŸË¡RÖØÓا‚dÃ�¡ÖÇŸÓ¹=ÖÙúþØÓ¡-ÙûÌØŸË¡ØÌÝüÜá ÝøÌÝú̹¹Ýû̹öÙøÌŸÌ¹ÖÇÍÓ¹ôÖÛÎÖέ ¢A ôþþ¨ß§‚3¡ÖÇPÓïáÖ` ÆÓÖÓ¹ï!á §‚gÌÖÓ¹ŸÌ؟ˡأ áÖØ£ ÎÖØ£ ιÖÇÜÓ¹ÖÇÝÓÖέfþþ–zÌêÌÖÇÿ†‚ÓÖÎÖ8ØÎÖVÎÖ2ØÎÖ²¼"œ ÎÙñ£‚ÌÙÇÿÉ¡ÖÙιÖÇÿÎÖOÎï˫쓡ÖÓì¡öÖ2ØÎÙÇÿÉ¡ ØÙ†‚‚«¹ÇÿÌê§Å¡ê«Ø«¥ žñ§‚_¨ ñ¢Ùš­‚ ¤þþf{êÌÖÇÿ†‚ÓÖ²¼œ ÎñÌÖ2ØÎïáÖÓ¹ÖǶÓÖ²¼œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇèÓïáÖÓ¹ÖÇ·ÓÖ²¼ œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇéÓÖOÎÖ2ØÎÙ£ÇÿÉ¡ ØÙ£†‚‚«ê§Å¡ê«Ø«Ù« ­Àþþ9lïáÖ ÆÓÖÓØþŸË¡ÖØþø�Χ‚e« ­,þþ:ÞÖ²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÛÓ¶¹ Öι1Öι+¬¹$  "/ÖOέlþþžÖ²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇßÓ¶¹Cïá#ÖÓÖ²¼ œ ÎÖÎ ñ§‚eË¡ÖÇàÓ¹ÖÇáÓÖO ιÖOιÖOι¬ #¹K­‚þþëÖ²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇÞÓïË¡ÖǪÓ¹ÖÓÖ²¼ œ ÎÖOέNþþ=ƥѫ‚.Ø¡¥¦INPUT Ðѹ¥¦OUTPUT ÐÑÖ  ÆÓ«‚.¥ÆÑݟáØ¡ÖÇÎÓ¹ÖÇ3Ó¹cÝþ§‚aˡءÖÇÐÓ¹ÖÇ4Ó¹HÝÌÞ£á Þ£ á Ö%Þ£ ιÖ2§‚nÞ£ •Þ£ ιޣ á Ö'Þ£ ιÖ6§‚nÞ£ •Þ£ έÄþþ­¶¡3Ö²¼ œ ÎÖÎñŸË¡ñùË¡ÖÇìÓ¹ ñ§‚aË¡ÖÇÓ¹ÖÎÖOέJþþØñŸË¡gÖ§‚eñÓ¡ÖO ιVÖ§‚dñÓ¡ÖOιEÖ§‚cñÓ¡ÖOι4ÖñÓ¡'Öñ£ÎÖOζˡÖdzÓ¹ ïáÖDzÓ¹ÖÇâÓ­t!þþ*ïá1ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇÀÓ¹ÖÎÖÎ!¹ö­8@"þlSÖVÎÖ²¼"œ ÎÆ¥ ¨ÖÎñŸÃ¡Ì¹ñ§‚aá̹ñùá̹Ìعöïá:ÖÆÎ Ö.ÙÎÖÓÖ²¼"þ¸Ýœ Îó‹¡ÖÇQÓ¹ÖÎÖÎ!ÖÙÎ"ê•«¹ÖǮӹôÖÎÜ‹¡ÖÇRÓïáÖÆÎ Ö.ÙÎÖRÎÖÎ!ÖÙÎ"ê•«¹ÖRÎÖÎ!¹ôÖÆÎ Ö.ÙÎïá[ó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÖÓÖ²¼ œ ÎÖÎÖRÎÖñÚúÓ¡Ö(ñøÎ¹ÖǰÓÖ6ÙÎÖOιÖǸÓê•«¹¹¬¹ƒ¿­ X#þþD¶¡öÖÆÎ ÖVÎÖ²¼"œ Îó‹ÌòáÖιÖÓÌñ§‚aáOïá ÌÖOι>Ö.ØÎÖOÎïá/ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇSÓ¹ÖÎÖÎ!¹&Ú¡ÖtÓÖVÎÖÎÖ.ØÎÖOÎÖ6ØÎÖRÎÖÎ!ÖØÎ"Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ä$þk0ñÌïá+ÖÓÖ²¼&œ ÎñŸË¡ ñ§‚eË¡ÖǹÓÖþ[øÎ ̹ÌÙ§‚dáGØ¡ÖÎïá,ÖÓÖ²¼"œ ÎÖÎ ÖÎñŸË¡ ñ§‚eË¡ÖÇêÓ¹ÖÎÖÎÖOιôÙ§‚eáØ¡ÖÎÖO ιöÙ§‚cáØ¡ÖÎÖOιnÙ§‚báØ¡ÖÎÖO!ιYÖÙÓ¡Ø¡ÖÎÖOιDÖÙÓ¡7¸ÙúŸË¡ÖÙú²²Ó ¶¶•‚¸Ø¡Ö¶ÎÖ¶ÎÖOιÖÇëÓ­ (&þþ~‡ïá#ÖVÎÖ6ØÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ö­*2'þþ‰sñ§‚dá ÖÆÎ ÖRÎÖ8ØÎÖRÎÖ6ØÎê•«¹ÖRέ4(þ³ ÖVÎÖ²¼&œ ÎÆ¥ ¨ñŸÃ¡Ì¹ñ§‚aá̹ñùþ?Aá̹ÌعöÖÎïá,ÖÆÎ Ö.ÙÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&ÖÙÎ'ê•«¹ÖÇ Ó¹ôÖÎ%ÖÎÖÆÎ Ö.ÙÎÖÎ(ÖÎ&ÖÙÎ'ê•«¹ôÖÎÖÆÎ Ö.ÙÎïáRó¹õ>‚«¹ô>‚« ¹ ¬¹ñú« ñŸË¡ñùÈñøÅ„¡ÖΫ Ö²¼ œ ÎÖ6ÙÎÖOιÖÇ2Óê•«¹¹¬¹Ù}¡­ ,)þþ\ζ¡öÖÆÎ ÖVÎÖ²¼&œ ÎÌñ§‚aá5ÖÎïá ÌÖOι!Ö.ØÎïáÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ÖÎ%ÖÎÖ.ØÎÖÎ(ÖÎ&ÖØÎ'Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ¢*þþ Ÿ¶¡=Ö²¼ œ ÎÖÎñŸË¡%ñùË¡Ö}Ó¹¶³@‹ñ§‚aË„¡ÖÇ(Ó¹Öζ¹$ÖO Χ‚b« ¹;ÖO Χ‚b« ¹/ÖOΧ‚c« ¹#¬¹+! -­š+þþD Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÙÓ¶¹ÖιÖιÖι¬!¹  ÖOέZ,þþ�DÖ²¼"œ Î² ¥ ¨ÖÎÖ8¶ÎïáÖÓ¹ÖÇ=ÓÖ²¼"œ ÎÆ¥ ¨ÖÎ ¶ ŸË¡v¶ ùË¡ÖÇ9Ó¹f¶ ü¡ÖÇ<Ó¹XÖÚ¶ úÓ“¡ÖÇ8ÓÖ¶ úÆÆÓ ØÙ•¸§‚D„“¡ ÖÙÎÖØÎÖÎÙË¡ÖÙ€ÎÙÅ¡ÖιÖÎÖ8¶Î­Ì.þþ&�¸Ö²¼"œ Î²¥ ¨ÖÎÖ8¶Î¶ŸË¡B¶ùË¡ÖÇÓ¹2¶ü“¡ÖÇ;Ó¹#¶ý˸Ö¶úÆÆÓ ÖØÙ•€ÎÖ8¶Î­v/þþ†¾Ø¡-Ö6¶ÎÖBΧ‚D„“¡ÖÎÖ¶ÎÖÎÖ$¶ ûøÎ¹¶¡Ö@¶þ¶ýιÖBέP0þ­÷ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ¶þy,&áÌÖÎ.ïáÖÓ¹ÖÇ>ÓÖÎ/¹ÌÖÎ/ïáÖÓ¹ÖÇ?ÓÖÎ.ߟËÊ ŸË„¡ßûÊ ûË¡ÖÇ:ÓÖÎÖÎÖ8ÚÎÖÊÎ Ö6ÚÎÖ6ÛÎÖIÎÖ!ÊÎÙ¡Ö6ÜιÖ6ÞÎÖ6ÚÎÖPÎÖ.ÚÎÖÙ“Î0Ù¡Ö6ÞιÖ6ÜÎÖ6ÚÎÖÙÎ0Ù¡Ö#ÎØ¡Ö;ιÖ?ιءÖ:ιÖ>ÎÖÎÖ9ÊÎÖÊÎ ê�•«­"-þþlñŸË¡bñùË¡ÖsÓ¹Vñ§‚dáÖÇ5Ó¹Gñúç‚D„“„¡%¶áÖÎÖÎÖñü•ι ÖÎÖñüÎÖÎÖζáÖιÖέp1þþ®,¥ƒ ¶¤ü¸¶ŸË¶“„¡¶ù§á¸¹¶ú¸¹ö­&:<þþöeï"Ë¡ÖÓ¹òéÌ¥ƒ Ú¤ùˡڕ̹öÌÖÎ<Ù¡Ö9Øûι]ÌÚÅÙ“„¡Û‚ÌÚ•ÌÖÎ<¹ôÙ“¡ÖǧÓ¹7ØøÃ¡¥ƒ Ú¤¢¥ƒ Ú¤û‚šØ¥ƒ Ú¤ûšÖØø‚�ÎÖ§‚nÛ•ÎÖÎÖÓ­bŠ  ;þþjüÖ²¼Çœ ÎÖÆÎ ÖÙÎ ï áÖÓ¹Ö4Ó§‚=‚«‚=Ö²¼Ç œ Î9§‚=•«‚=ï á2ÖÆÎ Ö9ØÎÖÙÎ ÖÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=ÖØÎ ¹ÖÙÎ ­Š>þÁCÖ²¼Çœ ÎÖÎ ÖÆÎ Ö9ßÎñÌÙŸË¡ÙùËÙ§‚dÃ�¡ ÖÇ�ÓŸÌï áÖÓ¹ÖÓŸÌÖÆ Î ŸÌÖ²¼œ ÆÆÓÙŸË¡cÖÙØÓ¡UÝÌŸÌÜŸË¡#ÜÌ Ê úÞÈ¡Ê úÞáÖǜӹ ÜÌÊ øÌ¹öÆžÚÌ Ê ÜšÊ ¢ÞšÊ ¢ëšÛŸÃ¡Ú̹ÛÚš¹ÖÇ“Óï˫쓡ÖÓþìKì¡ôïáÖÓ¹ÖÓ§‚=‚«‚=Ö²¼œ Î9弄¼‹“¡ò§‚=•«‚=ÚŸË¡Ö9Ê Îï˫쓡ÖÓï Ãì�¡ðÖßÎ ÝŸË¡vÝúÌ ÝÌŸÌÜøÌÜÝšÜÌÛÌܟáîÝúÌ Ö,ÎÖÊ Ó ÖÊ Ó ëÌ Ö9Ê ÎÝÌ Ê úÊ Å¡ÖëÊ •Ó Ê ‚Ì ¹ìÖëÊ ù•Ó Ê øÌÊ ÇÿÉ¡Ê ‚Ì ݟáêÖÊ Î ï áÖÓ¹Ö]Ó­ON€vÖwT Ô?þþýÍÖÆÎ ÖØÎ §‚=‚«‚=Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ô§‚=•«‚=ï áÖÓÖ²¼ ÎÖØÎ ¹Ö5Ó­QS l@þþÄWÖÆÎ ÖÙÎ Ö²¼@œ ÎÖÆÎ ÖØÎ ïáÖÓ¹ÖǼÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=Ö9ÙÎÖØÎ ­\AþÌÌþ³ÌïáÖ ÆÓÖÓ¹ Ö'Ó§‚kÌÖ²¼Bœ ØÎñŸË¡yñùámé É¡`é‚«Ú‚Ì¥ƒ é¤ñúšó᥃ é¤ÌÛ¢šÛ¢ôšÛ¢õš¹-ÖÎÖ8êÎ¥ƒ é¤ÌÛ¢šÛ¢êšÖÓÙ‚Ìê§Å¡ê«¹ÖÇÓ¹ÖÇÓï˫쓡ÖÓì¡öïáÖÓ¹ÖǽÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=éÚ•«êÙ•«­ð þCþ׃ž«‚J§‚J§‚K•§‚]†«‚\§‚\É¡«‚\§‚\Å¡«‚\² ž §‚\¹öÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚MþD¯¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹rÇÿ«‚M¥Ç ž¹cÇÿ«‚M¥Ç ž¹TÇÿ«‚M¥Çž¹EÇÿ«‚M¥Çž¹6Çÿ«‚M¥Çž¹'¬¹ ÷êÝÐö©œ�‚uh[NA4ž«‚L§‚\«‚^­7 bDþþ™G§‚oÌØøŸË¡Øø¢ šØù¡§‚8¡ÖÎ Øû«‚rØú«Ø£«‚nØÿ«Øþ«Øü«‚s§‚o¢ ž!§‚o£ «‚o§‚3¡ §‚o£ ŸÃ¡Ÿ«‚o­bþþÍf«‚4§‚Ÿ É¡ §‚Ÿ‚«‚Ÿ¥‚ §‚Ÿ•¤‚ª§‚Ÿ•¤Øš¥‚¥‚¼ Ø—œ  ½ ØÇ,Ç/”‹¡«‚: ž­VþþØŸË¡,ØÌÙ£`‹¡Ù£ áÙ£ á Ù£¡ÖuÎÖÙüÎ ÖÙýÎ ­: þþ²«§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖÇEι ¥ƒ÷í¤§‚?낚ÖΫ‚?«‚8­k ˆ þþζÌî‚«¥€—î¾ Ë¡ö—¾Å¥€—î¾Æ¼‹“�¡Fî•«î‚«—¾Å¡Öιô¥€—)Ã¥€—î¾*Ä¥€—î¾}Ã�¡òî‚¥€—î¾*«Ì­C@q |þþ~ئªÿØÌÖÆØÇÿÏÖÆ¦ ÇÿÏÆªÿØØ¾Â¥€—î‚«—¾Å¥€—î¾ Ã�¥€—î¾}Ã�¥€—)Ã¥€—î¾*Ä�¡öî•«Ö ÎÌ­k� xþþiÌÖ³@ Î¡ Ù¥€—î¾|ڹ̭6!þþtcÌÖ³ÿ  Î¡H¥€—î¾-á,Ö³ÿ Î¡Ù¥‚ö¥€—î¾0•¤ø“š¹Ì¹Ù¥‚ö¥€—î¾0•¤øš¹Ì­j"þþî°¥€—î¾=áFÖÆÎ"ÌÙÖÆÎ!„¡ÖÆÎ"¡Û¡ÜÚ�̹Üڄ̹̹öÙ“¡ ̹ Ü¡+̹-̹¥€—î¾ÌÖ ÎÌ­R l þ©/§‚6“¡îÆ€‚³’’ ½Æ€’³@ ( ½Ö³ Î¡ðÖÆ€‚¼ Î¡ò¥€—î¾¹öÖÆ€’¼ Î¡ Ö¥‚[ÖΠιôÖÆ€’¼ Î¡ Ö¥‚PÖΠιôÖÆ€’¼ Î¡ Ö¥‚EÖΠιô§‚P„“¥„¿¤ø‹„¡Ö¥…÷ÏÖ Î̹ôþÛÖÆ€’¼ Î¡ Ö¥‚DÖΠιôÖ!~” Î“¡¹ìÖÆÎ§‚1¡ÖÇ*ι쫂1Ö¥ˆ9ÆÏÖ¥ˆ9Ï«‚Cî«„¼¥¥€—ªÿ§�«�§‚4«‚/ÖÎÖÎ ž¹g¬Cr¹`ñ mèÓºš"$&(*,.02468:<>@1DFHJL­PR(VXú^Ú¹ Ö ÎÌ­¡ÐþþšÌ€‚Ì€�Ê€‚¡î‚«î‚«Ê€�‚Ì€�—¾Å¡ ÖÇÊÎÖι)ÆÊ€�•Â¥€—¥€—î¾'áöÌ€‚¥€—'Ë¡ôÊ€�•Ì€�%«« Ê€�«Ê€�á Æ•¾«¹-§‚pÌ€ƒÊ€ƒšÊ€ƒ¢Ê€�šÆ•ÂÊ€ƒ¢•ÂÊ€�ž§‚p«­¨ ƒ º#þþvöÙ¾ÚÉ¡ÙÌÖÆÙÇÿÏÖÆ¦ ÇÿÏÆªÿ¹öÌÚ®ÚÛ•®Ä¡Þ̹ܕÌÙܾ Ë¡ÌÜÝáô­P� X&þþg:ØÙÂ^¿Ù•ÌÚ ŽÌÚ †ÌØÙÂ0Û‚¿ÚÃÙÃ�¡öØÙ•Â#¿­) 6'þg&ÆÙª@Úɡ̧‚Ÿ” Ì€¨Ê€¨·¡ðÆ'¦ªÿ®€ª§‚Ÿ®€©È¡ôÊ€ªÌ&¹Ê&ÐÌ&Ê&Ê€¨‹¡k¥‚ªÊ&þ|þ•¤ø ɡ̀§¹¥‚ªÊ&•¤ødɡ̀§¹Ì€§ÖÆ'Ú¥‚ Ê&•¤ø‚Ê€§Î&¡(ÖÆ'Ú¥‚ Ê&•¤ø‚¥‚ªÊ&•¤øÎ'Ê€¨Ê&—… Ì€¨Ê&Ê€©Ã¡öƾÆ'¾‚DŽšWÖØ®€©ÆÏÖÊ€©ÖÆ'Æ€ªÇ„ƾ•ÏÆ€ªÏÖÊ€©ÏÖØ®€©ÖÆ'Æ€ªÇ…ƾ•Æ'¾Ç„•ƾ‚ÏÆ€ªÏÖÊ€©Ï¹ÖØ®€©ÆÏÖÊ€©Æ'ÏÖÊ€©Ï¹ò­'…&J%þþ"¦ÚÌÚ“ÌØøÇ@ÄÙ^Ë„¡ÖÇιôÙ¹ØØø�Ü‚š¹öØØø�Û‚š¹xØØø†š¹p¬+^¹h$  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfv­ ¶ÿT13.ûŽ.þ¿«QPROGRAM T13; VAR I:INTEGER; CHR : CHAR; FUNCTION GCHA:CHAR;EXTERNAL; PROCEDURE PCHA(CCHR:CHAR);EXTERNAL; BEGIN I :=1; FOR I := 1 TO 1000 DO BEGIN CHR := GCHA; PCHA(CHR) END END. ÿP4ERRORS.ûII þX'À.ä00H€@ÿPOSTFIX.PAûÜ1þ¢èPROGRAM POSTFIX(INPUT,OUTPUT); VAR CH : CHAR; PROCEDURE FIND; BEGIN REPEAT READ(INPUT,CH) UNTIL (CH<>' ') AND NOT EOLN(INPUT) END; PROCEDURE EXPRESSION; VAR OP : CHAR; PROCEDURE TERM; VAR MULDIVOP : CHAR; PROCEDURE FACTOR; BEGIN IF CH ='(' THEþ‚N BEGIN FIND; EXPRESSION (*CH = ) *) END ELSE WRITE(OUTPUT,CH); FIND END; (* FACTOR *) BEGIN FACTOR; WHILE (CH = '*') OR (CH = '/') DO BEGIN MULDIVOP := CH;FIND; TERM; WRITE(OUTPUT,MULDIVOP) END END; (*TERM*) BEGIN TERM; WHIþõSKLE (CH = '+') OR (CH = '-') DO BEGIN OP := CH; FIND; TERM; WRITE(OUTPUT,OP) END END; (*EXPRESSION*) (* POSTFIX BEGINS *) BEGIN REPEAT FIND; REPEAT WRITE(OUTPUT,' '); EXPRESSION; WRITELN(OUTPUT) UNTIL CH = '.' UNTIL EOF(INPUT) END. ÿTEST4.û޽ 5þm¨PROGRAM TEST(INPUT,OUTPUT); VAR SOURCE : TEXT; DATANAME,DATA : STRING[99]; BEGIN WRITE(' INPUT FILE NAME? '); READLN(DATANAME); FILETITLE(SOURCE,DATANAME); RESET(SOURCE); WHILE NOT EOF(SOURCE) DO BEGIN READLN(SOURCE,DATA); WRITELN(DATA); þ  END; END. ÿREADLINE.PIû޽:þFPROCEDURE READLINE(VAR INPUTFILE : TEXT;VAR LINE : LINESTRING); VAR BUFFER : STRING[132]; I : INTEGER; BEGIN WITH LINE DO BEGIN READLN(INPUTFILE,BUFFER); FOR I := 1 TO LENGTH(BUFFER) DO STR[I] := BUFFER[I]; LEN := LENGTH(BUFFER)+1; STR[LEN] := EOLCHAR; þÝøEND; {DO} END; ÿWRS.BUûŽq þW PROCEDURE WRITESEQUENTIAL( CHANNEL : INTEGER; BUFFER : BIGSTR; VAR BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REþ–BQUEST); NEW(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR INþƒ� WRITESEQUENTIAL = ',R2.INT); ERR := ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL} ÿCONSOLE.BUûrr/þO.PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PAþÙdCKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {Rþí’EGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUþDkE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHþq3N.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: þËQLINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := þ¥USTR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN þ2Y:= LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE þŠòIF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIþºÃN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -þ9®MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNþÜsALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CRETURNLINEFEED; BEGIN PCHAR(13);PCHAR(10); INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; WRITESTRING(LINE); PCHAR(10); END; {OUTPUT CARRIAGE RETURN LINE FEED} PRþMOCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THEþ*2 LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZþ –TAB; {LINE FEED} 10 : ; {UP} 11 : ; {CARRIAGE RET} 13 : CRETURNLINEFEED; {DELETE} 127 : DELETECHARACTER; END; {CASE} END; {ACTION} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESþ%{TRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE OPENFILES; þ©û VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER);þ†î WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTþ„‚EGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL Cþ0,ÒHARVALUE = 13 ;{} PUTLINE; END UNTIL DONE END. ÿREAD.MEû) $þ:ûFile: READ.ME (RDOS/DOS Version) HOW TO INSTALL RATIONAL DATA SYSTEMS PASCAL ON RDOS/DOS The release consists of a PROGRAMMER'S MANUAL and either (a) a single reel of magnetic tape, or (b) one or more diskettes. The release files are divided into tþñ¢hree groups: Group 0: PASINTERP.SV Pascal Interpreter PASINTERP.ER Runtime Error Message File PASCAL.PX Standard Pascal Compiler PASCALO.PX Overlayed Pascal Compiler PASCAL.ER Compiler Error Message File PINFO.PX Programþ€Ä Information Utility INTERPOK.PA Test Program: Source INTERPOK.PX Test Program: Executable TEST.MC CLI Macro to test things out MANUALn.nn Manual Update for Current Version RELEASEn.nn Release Notice for Current Version READ.MEþŒº (This file) Group 1: MANUAL Magnetic Copy of PROGRAMMER'S MANUAL Group 2: PASCALGEN.PX Custom Interpreter Generation Utility P****.RB Relocatable Binaries for PASCALGEN PLINK.PX Pascal Linker Utility Installation From Magnetic Tþ¢fape: ------------------------------- The system is delivered on 800 bpi 9-track magnetic tape. The tape contains three files in standard RDOS-Dump format. The first file (#0) is a dump of the Group 0 files, and so on. Load the files using a þ5*sequence similar to the following: CDIR PASCAL DIR PASCAL INIT MT0 /Or whichever drive you are using LOAD/V MT0:(0,1,2) /Load the desired files PRINT RELEASEn.nn /Be sure to read the Release Notice! TEST /Try to execute and compile Installation fþp rom Diskette: -------------------------- The system is delivered on two RDOS/DOS diskettes. The first diskette contains all the files from Groups #0 and #1 (above). The second diskette contains the files from Group #2 -- the PROGRAMMER'S MANUþ·ÙAL. Execute the following or equivalent: CDIR PASCAL INIT PASCAL DIR DP1 /Or your own diskette drive MOVE/V PASCAL DIR PASCAL PRINT RELEASEn.nn /Be sure to read the Release Notice! TEST /Try to execute and compile The TEST.MC Macro: ----þ0„------------- The TEST.MC macro will attempt to execute a very small program and will then compile and re-execute the program. It is self-prompting as to the state of the software. File: READ.ME (RDOS/DOS Version, Page 2) Evaluation Release Restrictionþ(7s: ------------------------------- 1) The interpreter shipped is customized for a particular hardware configuration. Neither the PASCALGEN utility nor the .RB files needed to generate an interpreter are supplied. Similarly, releases on diskette inþòRclude only one diskette -- only Group #0 files are supplied. 2) The interpreter will not operate beyond 60 days of the time the system was configured by Rational Data Systems. This date is obviously dependent upon your system date. Since sysþ®tem dates are so easy to change, we have implemented further restrictions. 3) A maximum of 10 files may be opened by any program at one time. This number includes the executable file, '.PX'. 4) All files opened by any Pascal program other thanþL{ the compilers will be deleted by the interpreter. This includes the program file, '.PX'! 5) You may not use the APPEND procedure in the evaluation version. 6) Since PASCALGEN is not available, neither are the facilities of assemþä¯bler interface. Note that the above checks are all performed at runtime, not by the compiler. We suggest that you run your programs via a CLI macro which first copies the program and input files, then executes the copy of the program file, usinþãÔg the copies of the input files. The only way to preserve output (which would be deleted if sent to disk) is to send it to a hard copy device or to mag tape. The Overlayed Compiler: ---------------------- On an unmapped system the interpreter and PþSîascal program must share your limited address space with the operating system. This restriction will manifest itself immediately if you attempt to compile a program with the standard compiler ("PASCAL"). We have designed an overlaid compiler especiaþÄ"lly for the unmapped user called "PASCALO". You will have to use this version of the compiler on almost all unmapped configurations. For details, see the section entitled "Overlaid Compiler" in the new manual. In addition, study the use of the "/S" (sþLâwapping mode) switch when running the compiler. On many systems, you  will have to use both the overlaid compiler and the swapping mode. On all systems there are finite limitations regarding the size and complexity of programs which can þ´Ÿbe compiled. On a mapped system (AOS or RDOS) we can compile our compiler by using either the overlaid compiler or the "/S" switch. On an unmapped RDOS system, we cannot compile the compiler even using "PASCALO" with the "/S" switch. NOTE: þÔe---- For standard releases (not Evaluation Releases) the default interpreter, 'PASINTERP.SV', has been generated for a minimal RDOS/DOS system, a Nova 1200 with no options. Until you generate your own interpreter you will be running with this interpreteþ™è™r which may be significantly slower than what you should be using. Build a customized interpreter using the PASCALGEN utility as soon as possible. ÿMANUAL2.01ûüÄ "þì´File: MANUAL2.01 ================== Update 2.01 to RDS Pascal does not contain any formal updates to the Programmer's Manual. However, since the compiler error message file has been changed for this release, please make the following changes and þpadditions to Appendix C ('Compiler Error Messages'): 31. first argument of "READLN" must be variable 174. comma expected in argument list to "READ" of "TEXT" file 176. type conflict of file and destination variable in "READ" 184. comma expected afteþ5tr typed file name in "READ" argument list 206. "INPUT" not declared in this scope 208. "INPUT" not declared as "TEXT" in this scope 217. "RESET"/"REWRITE"/"APPEND" require file as argument 224. second argument of "SEEK" intrinsic must be integer 235. þ1f"WRITE"/".LN" require int/bool/real/char/string/packd.ary.char 244. operand of unary plus or minus must be real or integer 267. comma expected in argument list of "WRITE" to "TEXT" file 305. type conflict of file and source expression in "WRITE" 306. cþОJomma expected in argument list of "WRITE" to typed file 307. "OUTPUT" not declared in this scope 308. "OUTPUT" not declared as "TEXT" in this scope 309. real number may not be argument of "PRED" or "SUCC" ÿINTERPOK.PAûlÝ þ[SGprogram interpok; var output : text; begin rewrite(output); writeln('Interpreter OK') end. ÿT23.ûÐ2þFÏPROGRAM T23; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOTA,IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (NUMBER : INTEGER ; IFILE : ALPHA ; IOTA : INTEGER);EXTERNAL; BEGIN IOTA :=100; IOFILE := 8; FILENAME := 'INPUTFILE0.SR'; OPEN (IOFIþñüLE , FILENAME,IOTA) END. ÿGLOBA.ûÐÐ ÿGETINTEGER.PIûŽr)þ¥rFUNCTION GETINTEGER( STR : ALPHANUMERIC;VAR I : INTEGER) : INTEGER; LABEL 1,2,3; TYPE SIGNOF = (PLUS,MINUS); VAR LEN,FNUMB : INTEGER; SIGN :SIGNOF; BEGIN FNUMB := 0; SIGN := PLUS; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN þ§Þ IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END; 2 : IF STR[I] IN ['0'..'9'] THEN BEGIN { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMBþÓ´x);} FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); I := I+1; IF I<= LEN THEN GOTO 2; END; 3: CASE SIGN OF PLUS : GETINTEGER := FNUMB; MINUS : GETINTEGER := -FNUMB END;{CASE} END;{getinteger} ÿRDS.BUûŽq !þ-NPROCEDURE READSEQUENTIAL( CHANNEL : INTEGER; VAR BUFFER : BIGSTR; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDS = 6719; {.RDS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); þNEW(REQUEST); NEW(STRINGPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); {$R-} STRINGPOINTER^[0] := R1.CH; {$R^} IF ERROR þרÄTHEN WRITELN(' ERROR IN READSEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := STRINGPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); WRITELN(' BYTESREAD = ',BYTESREAD); END; {READ SEQUENTIAL} ÿCBOOK.CMûŽs4þŽx/CHATR CBOOK.PA 0 CHATR CBOOK.PX 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *WP PASINTERP PASCALO/S/V/L CBOOK CHATR CBOOK.PX *WP ÿCTLA.ûÐ%þÓþ ;PASCAL EXTERNAL PROCEUDRE TO SET ;CONTROL-A/C INTERRUPT INTERCEPT ;PETE GOODEVE 78:7:30 .TITLE CTLA ;PJG 78:7:30 .ENT ?CTLA .EXTN XPRET SP=41 ;STACK POINTER MP=42 ;MARK STACK POINTER HP=44 ;HEAP POINTER PP=45 ;PARAMETER FRAME POINTER PC=20 ;þr@P-CODE PROGRAM COUNTER P4IX=40 ;RETURN LINK TO INTERPRETER .NREL ;PROCEDURE CTLA; EXTERNAL; ?CTLA: INTDS ;NEEDED FOR SAFETY IF RESET STA 0,STKM ;= CALLER'S SP+1 DSZ STKM ;REMOVE THE +1 LDA 0,MP STA 0,MRKM ;MARK POINTER LDA 0,HP STA 0,HEAPM LDAþ{3 0,PP STA 0,PARM LDA 0,PC STA 0,PCM LDA 0,CTLXA ;DIVERSION ADDRESS STA 0,@A411 STA 0,@A412 INTEN XPRET STKM: .-. MRKM: .-. HEAPM: .-. PARM: .-. PCM: .-. A411: 411 A412: 412 CTLXA: .+1 LDA 0,STKM STA 0,PC LDA 0,MRKM STA 0,MP LDA 0,HEAPM STþ|ÈA 0,HP LDA 0,PARM STA 0,PP LDA 0,PCM STA 0,PC JMP @P4IX ;RETURN TO PASCAL INTERPRETER .END ;OF CONTROL CHAR DIVERSION ÿT33.ûÕ§"þ€5(* READ SEQUENTIAL WRITE SEQUENTIAL TESTER*) PROGRAM T33 (INPUT,OUTPUT); TYPE ALPHA = ARRAY[1..20] OF INTEGER; VAR OCHANNEL,ICHANNEL,NBYTES,NBYTESREAD,NBYTESWRO,ERROR,BYTE : INTEGER; BUFFER : ALPHA; PROCEDURE RDSQ(CHANNEL:INTEGER ; BUFFER : ALPHA;NBYTEþkñS:INTEGER; VAR NBYTESREAD:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WRSQ(CHANNEL:INTEGER;BUFFER:ALPHA;NBYTES:INTEGER; VAR NBYTESWROTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; BEGIN ICHANNEL:=1; OCHANNEL:=2; NBYTES:=1; REPEAT RDSQ(ICHANNEL,BUFFERþ�<Ø,NBYTES,NBYTESREAD,ERROR); WRSQ(OCHANNEL,BUFFER,NBYTES,NBYTESWRO,ERROR); BYTE:=BUFFER[1] DIV 256; WRITELN(' ',BYTE); UNTIL ERROR = 6; END. ÿNODES.û þrkPROGRAM NODES (INPUT,OUTPUT); TYPE NODES = RECORD X, Y : REAL; LINKPOS : INTEGER END; LINKS = RECORD FROMNODE, TONODE, ATTRIBUTES :INTEGER END; VAR NODE : ARRAY [1..20] OF NODES; LINK : ARRAY [1..50] OF LINKS; NEWNODE : NODES; DELETEDNþèÀuODE : NODES; BEGIN NEWNODE.X := 2; DELETEDNODE.X :=4; IF NEWNODE = DELETEDNODE THEN WRITELN(OUTPUT,' NEW=DELETED') ELSE WRITELN(OUTPUT,' NEW<>DELETED'); NEWNODE := DELETEDNODE; WRITELN(OUTPUT,' ',NEWNODE.X,NEWNODE.Y) END. ÿCROSSREF.PAûrÜ þ • PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; þns WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : þ|dALFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE PACK ( I : INTEGER); VAR J : INTEGER; BEGIN FOR J := 1 TO C1 DO ID[J] := A[J-1+I] END; (* PACK *) PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN þ?eNEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO þ]ç:= N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN Wþƒ‰RITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF Pþ˜µRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THþj˜EN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; PACK(1);SEARCH(ROOT)þn END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTþªpPUT);PRINTTREE(ROOT); END. ÿT11.PXû½½þ‰Ó¤T11 Copyright (C) 1980 Rational Dataþ„  Systems¼#þµ>ÖÆ€†Æ€ÄÏÖÆ€†¦OUTPUTÏÖÆÆBÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€†ÏÖ¥Ì�Ê�¥Ï ¥нèÅ¡¥¥¼芉‡ƒ½è•«¹öÖ¥¼¥€†Ì�Ê�ÒÏÖÊ�ÏÖÆ€†ÏÖÆÏ­CœF§GhHAI(JK#ì ´Ä ³A¯ù¼ A¯#ìÕ ´Ù ³KA A¯A¯BmCDD*EFF§GhHAI(JK#ì ´â ³A¯ù¸ A¯#ìþ&cÕ ´÷ ³K@ A¯A¯BmCDD*EFF§GhHAI(JK#ì µ ³A¯ù¨ A¯#ìÕ µ ³K? A¯A¯BmCDD*EFF§GhHAI(JK#ì µ ³A¯ù£ A¯#ìÕ µ3 ³K= A¯A¯BmCDD*EFF§GhHAI(JK#ì µ< ³A¯ù™ A¯#ìÕ µQ ³K= A¯A¯BmCDD*EFF§GhHAI(JK#ì µZ ³A¯ù† A¯#ìÕ µo ³K; A¯ÿ1980DEPS.ûŽŽþGD 8347.06 D 140 D 1468.38 D 871.98 D 13056.00 D 5324 D 12436.99 D 435.99 D 435.99 D 906.32 D 3000 D 435.99 D 1628 D 11481.06 D 1834.55 D 435.99 D 802.29 D 905 D 594 D 435.99 D 520 D 13331.89 D 1527.87 D 129.24 D 4546.81 D 11943.74 D 715 D 3229.35 D 531.21 þ;|ÍD 3435.99 D 4888.40 D 1403.43 D 296.31 D 174 D 2600 D 3148 ÿTOTAL.MCû޽ +þŽ×CHATR TOTAL.PA 0 CHATR TOTAL.PX 0 DELETE/V TOTAL.PA XFER TOTAL TOTAL.PA/R PASINTERP PASCALO/S/L/V TOTAL CHATR TOTAL.PA *WP CHATR TOTAL.PX *WP ÿCONSOLE.ûŽq þO.PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PAþÙdCKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {Rþí’EGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUþDkE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHþq3N.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: þËQLINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := þ¥USTR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN þ2Y:= LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE þŠòIF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIþºÃN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -þ9®MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNþÓ¶ALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CARRIAGERETURN; BEGIN INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; END; {INSERT CARRIAGE RETURN AND MAKE LINE LENGTH=CRET POSITION} PROCEDURE DISPLAYLINE; BEGIN þµèPCHAR(10);PCHAR(13); WRITESTRING(LINE); PCHAR(13);PCHAR(10); END; PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTþ…‹ER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERROþð›RNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESTRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERþÞtROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : BEGIN DISPLAYLINE;PUTLINE;GETLINE END; {UP} 11 : ; {CþXíARR RETN} 13 : BEGIN DISPLAYLNE; CARRIAGERETURN;PUTLINE;GETLINE END; {DELETE} 127 : DELETECHARACTER END;{CASE} END;{ACTION} PROCEDURE OPENFILES; VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITþºßELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER); WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERþQ¦ROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CþÆ'9URSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 27 ;{ESC} END UNTIL DONE END. ÿGLOBAL.ûÐ&þЄ ;PASCAL "GLOBAL" ACCESS PROCEDURES ; -- PERMIT RETAINING POINTERS BETWEEN ; PROCEDURE INVOCATIONS. ;PETE GOODEVE 78:7:22 .TITL GLOBAL ;78:7:22 .EXTN XPRET .ENT ?KEEP,?GLOBAL GSIZE = 15 ;GLOBAL SLOT LIMIT SP=41 P4ERR = JSR @51 .NREL ;TYPEþl INDEX = 0..GSIZE; ;PROCEDURE KEEP(P:ANYPOINTER; I:INDEX); EXTERNAL ;..OR: ;PROCEDURE KEEP(P:ANYPOINTER); EXTERNAL; ?KEEP: MOVZR 1,0,SNR ;1 OR 2 PARAMS? JMP ZERK ;DEFAULT SLOT 0 LDA 0,0,3 ;SLOT # DSZ SP ;POP STACK LDA 1,GLIM SUBO 0,1,SNC ;VALID SLOTþB/? JMP ZERK ;YES BAD: P4ERR 412 ;ARBITRARY ERR CODE (TIL WE KNOW BETTER) ZERK: LDA 2,KBAS ;KEEP-AREA BASE ADD 0,2 ;SLOT ADDRESS LDA 0,@SP ;POINTER VALUE FROM STACK STA 0,0,2 ;IS STASHED SUB 1,1 ;RETURNS NO VALUE XPRET GLIM: GSIZE KBAS: GAREA þHJ;FUNCTION GLOBAL(I:INDEX):ANYPOINTER; EXTERNAL ;.. OR ;FUNCTION GLOBAL:ANYPOINTER; EXTERNAL ?GLOB: MOV 1,1,SZR ;ANY PARAM? LDA 1,0,3 ;YES -- GET THE INDEX LDA 2,GLIM SUBO 1,2,SZC ;IN RANGE? JMP BAD ;NO LDA 2,KBAS ;BASE OF STORAGE ADD 1,2 ;DISPLACEþà1y TO SLOT MOV 0,3 ;FUNCTION VALUE POINTER LDA 0,0,2 ;PICK UP STORED POINTER STA 0,0,3 ;PASS IT BACK ;(CALLER SHOULD CHECK FOR NIL!) SUBZL 1,1 ;INTEGER FUNCTION XPRET GAREA: .BLK GSIZE+1 .END ;OF GLOBAL PROCEDURES ÿT12.ûŽ.+þ¹;fPROGRAM T12; VAR I,CHR:INTEGER; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CCHR:INTEGER);EXTERNAL; BEGIN I :=1; FOR I := 1 TO 1000 DO BEGIN CHR := GCHA; PCHA(CHR) END END. ÿTEST3.û޽ þ÷´PROGRAM TEST3(INPUT,OUTPUT); VAR CH : CHAR; CURPOS : INTEGER; PROCEDURE BACKSPACE; BEGIN WRITE(CH); END; PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8-CURPOS MOD 8; CURPOS := CURPOS+MOVESRT; WRITELN(' ',MOVESRT,' ',CURPOS); FORþ!± I := 1 TO MOVESRT DO WRITE(' ') END; {HORIZTAB} PROCEDURE ACTION; VAR ORDCH : INTEGER; BEGIN ORDCH := ORD(CH); IF ORDCH IN [32..126] THEN WRITE(CH) ELSE CASE ORDCH OF {backspace} 8 : BACKSPACE; {horiz tab} 9 : HORIZTAB; {LINE FEED} 10 : WRITE(' LþS-INEFEED'); {up} 11 : WRITE(' UP'); {delete} 127 : WRITE(' DELETE') END {case} END; {ACTION} PROCEDURE INITIALIZE{ALL VARIABLES}; BEGIN CURPOS := 1; {CURRENT CHARACTER POSITION} END; {INITIALIZE} BEGIN INITIALIZE; REPEAT BEGIN READ(CH); ACTION; þø´ END UNTIL EOF END. ÿT.PAû½½ þó–PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGERþ}; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; SOURCE : TEXT; ENTRY : ENTRYTYPES; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(' ERROR'); END;{error} PROCEDURE C1HECK; BEGIN IþOÓ := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(' CK ',CHECKNUMBER : 15); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(þÑNEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I)þÀÉ; NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(' DP ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETþÐÕREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(' CM ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCEþ"è := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(' DM ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(' CC ',CHECKþòÊNUMBER : 15); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' EM ',BLANKS); REALPRINT(AMOUNTþ š);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' þLÄWH ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEþ–DDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORþD­D(STR[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(STR[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN FILETITLE(SOURCE,'1978'); RESET(SOURCE); BLANKS := ' '; NEWBALANCE := 0.þ¦0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; WRITELN(' KEY TO TRANSACTION TYPES'); WRITELN(' C CHECK CC CANCELLED CHECK'); WRITELN(' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(' þ €DP DEPOSIT BL FORCED BALANCE'); WRITELN(' EM EMPLOYEE CK WH WITHOLDING CHECK'); WRITELN; WRITELN(' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZE; WRITELN; WHILE NOT EOF(SOURCE)þžq DO BEGIN READLN(SOURCE,STR); WRITELN; WRITELN; GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK þ­: E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; END;{case} IF ENTRY NOT CANCELLEDCHECK THEN WRITE(' _ _'); END; WRITELN;WRITELN; WRITE(' TOTALS '); REALPRINT(TOTALDEBITS);REALPRINT(TOTALCREDITS); REALPRINT(NEWBALANCE); þ�œ/ WRITELN; WRITELN; WRITE(' TOTAL CHECKS ');REALPRINT(TOTALCHECKS);WRITELN; WRITE(' TOTAL DEPOSITS');REALPRINT(TOTALDEPOSITS);WRITELN; END. ÿPL.PXûrq þ¶¼PLO Copyright (C) 1980 Rational Dataþ„« Systems¼   þ»çÖ¦ ****¥†7®ÒÏÖÙ ð•ÏÖÙ^ÏÖÙØÏ ÖÙÏò‚« ­6ðñáôÖ¥…µÏ ¡"Ö¦PROGRAM INCOMPLETE¥†7®ÒÏ ž« « Öô¥†7®ÒÏ ÖØ ÏÖØÏÖ¥…µÏ “¡ñ‚« Ö¥¥…µÒÏ¥ñQˆ•¤èš¹öÖ¥†7Ïñ‚« Ö¥ñQˆ•¤¥…µÒÏð‚« ¥ðQˆ•¤ø«­Y ¬è áÖιöè³ÿÿþþ½*‹¡îÌØ ɡ؂̥_Ø ˆ•Âè¿ÖÎè³ÿÿþÿ‹“¡ôØóġث ¹¥_ó ˆ• ¿ó•« óØÃ¡ò¥¥_Ñ Ì ÌÚÙ‚†Ì¥¥�-Ø ˆ•¤´ ¡Ø•Ì¥¥�-Ø ˆ•¤° ¡Ø‚ÌÚÙÅ¡ðÚ•ÙÅ¡¥�dØ ˆ•¤ø«¹«¹qè³ÿ‹¡6Ì«« ï�è•‚«Ø‚ÌÖÎè³ÿ‹“¡ìØÅ¡Öι+è:þÉáÖÎè=á«Öι«¹¥�oèÇÿˆ¤ø«Öέ[vÎñ)LTôÇÈÅ¡ Ö¦PROGRAM TOO LONG¥†7®ÒÏ ž¥dôÇȈ¤ÌÛÇàØ»ÛÇÙ ˆ»ÛÇþÚÇψ»ô‚« ­Z鯼‹“¡$ÖÜÎÆÆ¼Æ¼œ ½éƼ‹“¡Öιö­8¶‚¸¥‚�¶dˆ¤ÌÙ¥Ñ Ù¢ ؚع6ïÇþ.MÏÅ¡ÖΫ٢ ïš¹/Ù¢¶šÙ¢ ¶š¶‚¸¹Ù¢¶š¹¬¹>+­nÆÙÑ ¥‚�dˆ¤ÆÑ ¶Ì¥‚�ßdˆ¤Æ· ¡ß•̹ößÌ­ < éá5ÖÎ鳋¡ éáÖÎÖÎéá ÖÎÖιÖιÖιÖέF éá ÖÎÖιÖέ ¶®ô•®þæ"È¡PÚ̹ØÐÌ¥dØÇȈ¤ÌÖØ¥†7®ÒÏ ÖÛ¥‚oÚÇຈ¤ÏÖÛÚÇºÏ ÖÛÚÇþºÏ ÖÛÏØÙáö­N h Ö¥‚‡¼ Æ¼ Î饂‡¼‹¡ôéáQ֥ΠÌÚáÖ Î¹9¥‚�Údˆ¤ÌÛý¹ÖÛþι!Ö¶Ûÿ•ÛþιÖι ¬¹$ÖιCéáïÇÏÅ¡ÖΫÖïÎÖι%éá ÖÎÖÇ€þ¢RƼœ ÎéáÖιÖÎÖÆ¼ Ç@ Î¹ö­» ÖÖÆ¼`œ Îé`‹¡(éÌÖÎÖÆ¼`œ ÎÚáÖιÖιö­1 Fé‹¡ éÌÖÎÖÆ¼œ ÎÚáÖι ÖÆ¼œ Îé‹¡(éÌÖÎÖÆ¼œ ÎÚáÖιÖιö­1 léáÖÎÖÆþе¼ ÎÖιtÖÇ?Ƽœ ÎéÇ?‹“¡ÖιVéÌÖÎÖÆ¼ ÎÚ¹0Öι;Ö Î¹3Ö Î¹+Ö Î¹#Ö Î¹Ö Î¹¬ ¹ 71+)­–éáa֥ΠÌÜáÖ Î¹¥‚�Üdˆ¤ýË¡Ö ÎÌÖÎéáÖÎ¹Ö ÎÖÆ¼ ÎÜË¡¥‚�Üdˆ¤ÌÖ¶Ýÿ•ÝþιðéáIÖÎéþÿ¨Ë¡Öι9֥ΠÌÜáÖ Î¹#¥‚�Üdˆ¤ÌÝýáÖ¶Ýÿ•ÝþιÖÎÖιòéáMÖÎÖ³€Æ¼œ ÎéáÖιÖÎôÌÖÎÖÆ¼ Î ¥dÛÇȈ¤ÇþôÇψ»¹ôéáZÖÎÖ³"Ƽœ Î é³¥‚‰¼œ‹¡"éáÖÎ¹Ö ÎÖ³"Ƽœ Î ¹öéáÖιÖιYéáTôÌÖÎþ ÝֳƼœ ÎôÌÖÎéáÖιÖÎÖÆ¼ Î ÖÛÎ¥dÚÇȈ¤ÇþôÇψ»ÖƼ  Î­³Ü ÌÙÌ¥‚�Ùdˆ¤¢ ôšÖÎØ Å¡Ö Îéá&ÖÎÖÎ éáÖÎÖÎ ¹öéáÖιÖÎéË¡ôéá&ÖÎÖÎ éáÖÎÖÎ ¹òéáÖιÖÎéË¡ðéáeÖÎéá ÖÎÖιÖþ÷æÎéáÖιÖÎÖØ‚ٳƼœ Îéá ÖÎÖ¥‚‰¼³ œ Æ¼ Î¹ÖιîÖ¥‚‰¼œ ¥‚‹¼ Î饂‹¼‹“¡ì¥d¥‚�Ýdˆ¤þÇȈ¤ÇþôÇψ»¥‚�Ýdˆ¤Ìߢ ôšôÌÖÜÎÖ³"Ƽœ Î ÖÎÖÆ¼  ÎÖÎ ­DðDCx¶ÌÙÅ¡²ÚÇôˆþ”õ•¤øÌٕ̹öÚÌ­!.Ö¦ START OF PL/0¥†7®�ùÒÏÖÊ�ùÏÌÌÌÆÇôˆ•¤šÆÇôˆ•¤šÆÇôˆ•¤šÆ¥dÚÇȈ¤¨Ú‚ÌÆÇູòØ‚ÌÆØÇôˆ•¤ÆÇþºš¹ðÆÇþº¹öÙ•ÌÆØ‚Çôˆ•¤øÌÆØ‚Çôˆ•¤øÌ¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø‘š¹ôØ•ÌÆØÇôþ|Lˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø‚š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø•š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø�š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø†š¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø„š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•þ2¨¤øÃš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øËš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÉš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÄš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÅš¹UØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÈš¹$¬þూS¹ðØ‚ÌÆØÇôˆ•¤ÆÖÆÇºÎÆÇþº‚Çôˆ•¤øš¹ðÆÖÆÇºÎÆÇþº‚Çôˆ•¤ÆØÇôˆ•¤øšÖÆØÇôˆ•¤ø¥†7®�ùÒÏ ÖÊ�ùÏØ•Ì¹ðÆØ‚Çôˆ•¤ÖÆÇºÎ飢Çôˆ•¤Ù飢Çôˆ•¤ÚšØ‚ÌÆÇþºÌ¹NØÆÇþº‚̹BÆÇþºÌ¹8þ:ÆØÇôˆ•¤øÃ¡ÆÇþºÌ̹ؕ¬¹œ„ ÛŽH>6ÚáîÖ¦ END OF PL/0¥†7®�ùÒÏ­ç"<>dùJÖÆ†7ƆuÏÖÆ†7¦OUTPUTÏÖÆ…µÆ…óÏÖÆ…µ¦INPUTÏÖÏÖÆ…µÏÖÆ†7ÏA®†º;®†¹È¡ʆº«¹èЫ¥�oèÇÿˆ¤šèʆ¹Ã¡ô¥�- ˆ•¤¦ BEGIN ÐÑ ¥�- ˆ•¤¦ CþybALL ÐÑ ¥�- ˆ•¤¦ CONST ÐÑ ¥�- ˆ•¤¦ DO ÐÑ ¥�- ˆ•¤¦ END ÐÑ ¥�- ˆ•¤¦ IF ÐÑ ¥�- ˆ•¤¦ ODD ÐÑ ¥�- ˆ•¤¦ PROCEDURE ÐÑ ¥�-  ˆ•¤¦ THEN ÐÑ ¥�-  ˆ•¤¦ VAR ÐÑ ¥�-  ˆ•¤¦ WHILE ÐÑ ¥�d ˆ•¤þÉ]š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�o+Çÿˆ¤š¥�o-Çÿˆ¤š¥�o*Çÿˆ¤š¥�o/Çÿˆ¤š¥�o(Çÿˆ¤š¥�o)Çÿˆ¤š¥�o=Çÿˆ¤š¥�o,Çÿˆ¤š¥�o.Çÿˆ¤š¥�o!Çþ‰Wÿˆ¤ š¥�o<Çÿˆ¤ š¥�o>Çÿˆ¤ š¥�o"Çÿˆ¤ š¥�o#Çÿˆ¤ š¥�o;Çÿˆ¤š¥‚oˆ¤¦LIT ÐÑ¥‚oˆ¤¦OPR ÐÑ¥‚oˆ¤¦LOD ÐÑ¥‚oˆ¤¦STO ÐÑ¥‚oˆ¤¦CAL ÐÑ¥‚oˆ¤¦INT ÐÑ¥‚oˆ¤¦JMP ÐÑ¥‚oˆ¤¦JPC ÐÑ¥‚‹³8 ½¥‚‰³P ½¥‚‡þ6wÇ@ ½« « « « « « ÖÎÖ³¥‚‹¼œ¥‚‰¼œ ÎéË¡Ö ÎòáÖι$Ö¦ ERRORS IN PL/0 PROGRAM¥†7®†¹ÒÏÖ¥†7ÏÖÆ†7ÏÖÆ…µÏ­Æº$x, `  ª 2B°Ð^ÂÔÊt~&þÿPX.SVúPPASÉNÔÅÒP.SVÿT22.ûÐ2þÒ.ªPROGRAM T22; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (IFILE : ALPHA);EXTERNAL; BEGIN IOFILE := 8; FILENAME := 'INPUTFILE0.DR'; OPEN (FILENAME) END. ÿD.ûÐÐ þÿPRETTYINST.ûGG þ…ô(*************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUþ:‘SETTS, AMHERST - AUGUST, 1976  (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. þ"õINDICATED BY <<< . MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMþ(ATS THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THþ'·EY MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS Pþ‰ëRETTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. **********************************************************************þiD**** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. Tþ ^HE USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINþ¯òES. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COþüMMENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFOREþN/ AND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "Vþ£µAR" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE þIˆINDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** ***þ�·************************************************************************* GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENþ„RDENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR THE SYMBOL BEING SCþ_ANNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTOþâ= A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND þGINVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESSþ4# ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF  THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESþ’üS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THþpäERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIþHIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THEþ-É SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAþù¸T CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF Aþ© CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANKþm­ LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS þÏúNOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] þJ` SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBþˆ´YTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. **************************þ9~—*************************************************** *) ÿTEST.PXûŽŽ )þýäCROSSREF Copyright (C) 1981 Rational Dataþ„¦ Systems½ " þ!¢Æž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙª…ÆIž ÆHžÆJCžÊJƪ…Ö¦ ¥�Z®KÒÏÖÊKÊJÏÖÊKÏÊHÌKÊKšÊK¢Ç?šÊK¢ÊJšÊK¢ÊKû‚šÊK¢ ØšÊHž#ÊKù¡+Ö¦ ERROR IN OPEN = ¥�Z®LÒÏÖÊLÊKýÏ ÖÊLÏÚÊKùšÛÊKýšÆIž!­H¦Æت…ÆHž ÆGžÆICžÊIƪþg*…Ö¦ ¥�Z®JÒÏÖÊJÊIÏÖÊJÏÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡-Ö¦ ERROR IN DELETE = ¥�Z®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšÚÊJýšÆHž!­H¢Æت…ÆHž ÆGžÆICžÊIƪ…Ö¦ ¥�Z®KÒÏÖÊKÊIÏÖÊKÏÊGÌKÊKšÊK¢ÇšÊK¢ÊIšÊK¢ÊKû‚šÊGž#ÊKù¡,Ö¦ ERROR IN CRAND þ´¨= ¥�Z®LÒÏÖÊLÊKýÏ ÖÊLÏÙÊKùšÚÊKýšÆHž!­I¢ÆÙª…ÆJž ÆIžÆKCžÊKƪ…ÊIÌLÊLšÊL¢Ç?šÊL¢ÊKšÊL¢ÊLû‚šÊL¢ÚšÊL¢ ØšÊIž#ÊLù¡0Ö¦ ERROR IN WRITELINE = ¥�Z®MÒÏÖÊMÊLýÏ ÖÊMÏÛÊLùšÜÊLýšÆJž!­H–Æž ÆžÆCžÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚþoJøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�Z® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪ…ÚÊ üšÆž!­˜Ö¦ INPUT FILE¥�Z®ÒÏÖØÏÖ¥¥R¥Q¥SÎÖ¥§R¥Q¥SÎÖ¥TÎÖ§T¥¥Q¥SÎÖ¦ OUTPUT FILE¥�Z®ÒÏÖØÏÖ¥Ö¥€Ø®ÏØÒÇ…ÏÖØÏÖ¥U¥ÏÖ¥UÏ­ŠÆž Æžþ˜·ÚÌܚܢÇ?(šÜ¢ ØšÚž#Üù¡(Ö¦ ERROR IN GCHN = ¥�Z®ÒÏÖÝÜýÏ ÖÝÏÙÜûšÙ¢ÜüšÆž!­` ÆÙ¨Æž ÆžÜÌÞšÞ¢Ç?'šÞ¢ÚšÞ¢ÛšÞ¢ ؚܞ#Þù¡(Ö¦ ERROR IN SPOS = ¥�Z®ÒÏÖßÞýÏ ÖßÏÆž!­f ÆÙª…ÌGÌIƾÌHÚøÊHÈ¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚþFqø›¾-á ÚÚø‚šÌI¹öÆÚø›¾³ÿ‹¡ÊG �0•ÆÚø›¾‚ÌGÚÚø‚šÚøÊHÈ¡¹ôÊI¹ ÊG̹ÊG‘̹ ¬¹­PŽF ¦ ÆÙª…ƾÌGÌIÌHÊIÊGÉÊHÚË„¡_ÊIÊGÉÆÊI›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡ÊI‚ÌI¹öÊIÊGÉÆÊI›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡ÊI‚ÌI¹ôÊH‚ÌH¹òÊIÊGá̹ ÖÆÆIÎ Ìþ"­„N|F   ÆÚª…ÌNÌMÆKнÆ¾ÌHÛøÊHÈ¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌN¹ö¹ðÛøÊHÈ¡òÆÛø›¾³ÿ‹¡VÊM¹<ÆKÆK¼ Š�0Š–ÆÛø›¾Šƒ½¹0ÆKÆK¼ÆÛø›¾0•ÆI¼‰‡ƒ½ÆIÆI¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌMÛÛø‚šÆI н¹ô¹ÆÛø›¾,áþaÛÛø‚š¹ôÊN¹ÆÆK¼½¹ÆÆK¼’½¹ ¬¹­')+-ÐJ. ÆÚª…ƾÌHÌJÌIÊJÊHÉÊIÛË„¡_ÊJÊHÉÆÊJ›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡ÊJ‚ÌJ¹öÊJÊHÉÆÊJ›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡ÊJ‚ÌJ¹ôÊI‚ÌI¹òÊJÊHáÆн¹ ÆÖÆÆJÎ ½­ŠT‚F ¦ØøÌٟá=ÆžÆþ8[žÙÌÛôšÛ¢ŸšÛ¢ŸšÛ¢ÚšÛ¢ÚšÚñÇ'ˆšÚ¢ŸšØÙšÚ¢¥ ¨¹@ôÙøÉ¡Ö٢ι2ôÙøÅ¡Ö٢ι$ÆžÚñÇ'ˆšÚ¢ŸšÚ¢¥ ¨Ùù¢ÚšÙ¢Úš­ŽÆبÛÌÖ§TޢΠ֧T¥¥R¥Q¥SÎë¡+Ö ¥�Z®ÒÏÖßÙÏ Öß ÏÖßÞøÏ Öß ÏÖߥÏÖ¥U® ÏÖßÙÏ Öß ÏÖßÞøÏ Öß ÏÖߥÏÞûÌޟáö­þcx ˆØŸË¡ÖØüÎÖØÎÖØûέÆبë¡Ö ¥�Z® ÒÏÖÊ Ù Ï Ö¥U® ÏÖÊ Ù Ï ÛÌÌÞá)Ìë¡Ö¥�ZÏÖ ¥�Z® Ò ‚ÏÖ¥UÏÖ¥U® ‚ÏÞ‚Ìë¡Ö ¥�Z® ÒÏÖÊ ßøÏ Ö¥U® ßøÏ ßûÌߟáöë¡ Ö¥�ZÏÖ¥�ZÏÖ¥UÏÖ¥UÏ­x °ØŸË¡ÖØüÎÖØÎÖØûέþ¿Ö؟á*Ö¦ KEY NOT FOUND ¥�Z®ÒÏÖÙôÏ ÖÙÏŸ«¹ôØøÉ¡ÖØüιôØøÅ¡ÖØûιث­TÆبÆ ³½ë¡$Ö¦ SEARCH KEY ¥�Z® ÒÏÖÊ ÙÏ ÖÊ ÏÖ¥U® ¦ SEARCH KEY ÏÖÊ ÙÏ ÖÊ ÏÛÌÌÞ‚ÌÖ§TߢÎ Ö§T¥¥R¥Q¥SÎë¡%Ö ¥�Z® ÒÏÖÊ ßøÏ ÖÊ ¦ ÏÖÊ ¥ÏÖ¥U® þþ ÏÖÊ ßøÏ ÖÊ ¦ ÏÖÊ ¥ÏÆ Ö¥Î½Æ Æ ¼Æ ¼ƒ½ßûÌߟáöë¡'Ö¦ AMOUNT = ¥�Z® ÒÏÖÊ Æ ¼ ÏÖÊ ÏÖ¥U® ¦ AMOUNT = ÏÖÊ Æ ¼ ÏÖÊ Ï­Ù  @Ö¦ ANSWER Y OR N ¥�Z®ÒÏÖ¥Ö¥€Ø®ÏÙÒÏÖÙÏèYÃèNÃ�¡öèYÃÌ­>FÖÆ�ZÆ�˜ÏÖÆ�Z¦OUTPUTÏþ“xÖÆ€ØÆ�ÏÖÆ€Ø¦INPUTÏÖÆUÆ€“ÏÖÆU¦DISKOUTÏÖÏÖÆ€ØÏÖÆ�ZÏÖÎÖ¦ WANT OUTPUT TO $TTO CONSOLE? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ WANT DATA BASE FILE PRINTED?¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ WANT INDEX PRINTED? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦' WANT TREEED RECORDS PRINTED þúdIN ORDER? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ SORT ON FILEN NO. 2,3,4,5? ¥�Z®�ÜÒÏÖ¥€×Ö¥€Ø®�ÜÏÊ�ÜÒÏ ÖÊ�ÜÏŸ«« Ö§T¥ Î Ö§T¥¥R¥Q¥SΧQ“¡öñ‚« ë¡)Ö ¥�Z®�ÜÒÏÖÊ�ÜñÏ ÖÊ�ܦ ÏÖÊ�Ü¥Ïì¡'Ö¥U®�Ü ÏÖÊ�ÜñÏ ÖÊ�ܦ ÏÖÊ�ܥϥ›¾¹Ö¥§€×Î « ֥ι1¬CW¹*þ‡  "$&(A§Sáôé¡ÖíÎÖ¦ MEMORY LEFT = ¥�Z®�ÜÒÏÖÊ�ÜžÏ ÖÊ�ÜÏê¡ÖíÎÖ¥€ØÏ “¡EÖ¦ SEARCH KEY =¥�Z®�ÜÒÏÖ¥ Ö¥€Ø®�ÜÏÊ�ÜÒÏ ÖÊ�ÜÏÖíÎîŸË¡ÖîÎÖîιòÖÆ�ZÏÖÆ€ØÏÖÆUÏ­ed¨Ü îô@†à¸Úhü¨Ü ‚ . š � . Ê rþ"Æ,ÿTEST3.PAû½½þ÷´PROGRAM TEST3(INPUT,OUTPUT); VAR CH : CHAR; CURPOS : INTEGER; PROCEDURE BACKSPACE; BEGIN WRITE(CH); END; PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8-CURPOS MOD 8; CURPOS := CURPOS+MOVESRT; WRITELN(' ',MOVESRT,' ',CURPOS); FORþ!± I := 1 TO MOVESRT DO WRITE(' ') END; {HORIZTAB} PROCEDURE ACTION; VAR ORDCH : INTEGER; BEGIN ORDCH := ORD(CH); IF ORDCH IN [32..126] THEN WRITE(CH) ELSE CASE ORDCH OF {backspace} 8 : BACKSPACE; {horiz tab} 9 : HORIZTAB; {LINE FEED} 10 : WRITE(' LþS-INEFEED'); {up} 11 : WRITE(' UP'); {delete} 127 : WRITE(' DELETE') END {case} END; {ACTION} PROCEDURE INITIALIZE{ALL VARIABLES}; BEGIN CURPOS := 1;  {CURRENT CHARACTER POSITION} END; {INITIALIZE} BEGIN INITIALIZE; REPEAT BEGIN READ(CH); ACTION; þø´ END UNTIL EOF END. ÿWRL.PIûŽr 7þuåPROCEDURE WRITELINE( CHANNEL : INTEGER; BUFFER : LINESTRING; BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7743; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEþ`ST); NEW(TEMPPOINTER); TEMPPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITELINE = ',R2.INT); ERR :þXè= ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE LINE} ÿCATEGORIES.ûŽŽ þ ¹1 MISC 2 RENT 3 MAINTENANCE 4 TELEPHONE 5 STAMPS, OFFICE SUPPLIES 6 ATTORNEY 7 ACCOUNTANT 8 BUSINESS TRIPS 9 AUTO CAPITAL EXP. 10 AUTO MAINTENANCE 11 GAS & OIL 12 EMPLOYEE CHECKS 13 PERS. PROP. TAX 14 IRS  15 AWT 16 MISC TAXES þÈË 17 INSURANCE 18 MAGAZINES AND BOOKS 19 BUSINESS ENTERTAINMENT 20 BUSINESS PROMOTION 21 CASH DRAWS 22 R&D EQUIPMENT EXPENSE 23 R&D MAINTENANCE EXPENSE 24 PETTY CASH 25 BANK AMERICARD & AMERICAN EXPRESS 26 LICENSES AND DUES 27 SUB CONTRþÂ…”ACTORS 28 PRINCIPAL PAYMENTS 29 INTEREST PAYMENTS 30 LOAN INCOME 31 INTEREST EXPENSE 32 RELOCATION EXPENSE 33 MEDICAL REIMBURSABLES 34 INCOME 35 DEBIT MEMO 36 LOAN MADE(OUT) ÿGETFILEDRE.BUûŽŽ ÿ1979.D2ûŽŽ!þá÷ 660 516 C 660 484.10 12 665 16 EM 665 1102.70 12 666 17 EM 666 1209.04 12 667 18 EM 667 1350.43 12 668 19 EM 668 199.40 12 669 20 EM 669 550.32 12 670 21 EM 670 539.29 12 671 22 EM 671 526.45 12 672 23 EM 672 344þwT.29 12 673 24 EM 673 2468.66 14 674 53 EM 674 1360.43 12 675 54 EM 675 209.40 12 676 55 EM 676 1053.55 12 677 56 EM 677 1083.87 12 678 57 EM 678 516.30 12 679 58 EM 679 550.39 12 680 25 EM 680 411.53 12 681 59 þ€ÁEM 681 276.95 12 682 26 EM 682 2234.86 14 683 76 EM 683 1360.43 12 684 60 EM 684 209.40 12 685 61 EM 685 1101.20 12 686 62 EM 686 1580.40 12 687 63 EM 687 533.66 12 688 64 EM 688 610.74 12 689 65 EM 689 422.46 12 69þ}ó0 66 EM 690 215.64 12 691 77 EM 691 209.40 12 692 78 EM 692 981.35 12 693 79 EM 693 1050.72 12 694 80 EM 694 479.62 12 695 81 EM 695 554.62 12 696 82 EM 696 369.47 12 697 83 EM 697 329.08 12 698 67 EM 698 3861.48þ¦0 14 699 84 EM 699 1398.97 12 700 85 EM 700 194.48 12 701 86 EM 701 1016.68 12 702 87 EM 702 1156.68 12 703 88 EM 703 563.99 12 704 89 EM 704 640.40 12 705 90 EM 705 470.84 12 706 91 EM 706 483.71 12 707 92 EM 70þ·T7 2984.02 14 708 93 EM 708 555.34 14 709 94 EM 709 310.37 15 710 95 EM 710 1372.35 15 711 126 EM 711 1408.97 12 712 127 EM 712 204.48 12 713 128 EM 713 1091.05 12 714 129 EM 714 1096.88 12 715 130 EM 715 595.09 12 716 þBB 131 EM 716 613.84 12 717 132 EM 717 514.82 12 718 137 EM 718 482.51 12 719 138 EM 719 3016.96 14 720 139 EM 720 125.24 14 721 140 EM 721 879.67 15 722 170 EM 722 1032.90 12 723 171 EM 723 1408.97 12 724 205 EM 724 204.48 12þCF 725 172 EM 725 1166.68 12 726 173 EM 726 527.17 12 727 174 EM 727 560.96 12 728 175 EM 728 492.78 12 729 176 EM 729 298.75 12 730 177 EM 730 2831.26 14 731 206 EM 731 1408.97 12 732 207 EM 732 204.48 12 733 208 EM 733 8þ[ 63.83 12 734 209 EM 734 915.34 12 735 210 EM 735 368.67 12 736 211 EM 736 514.29 12 737 212 EM 737 430.51 12 738 213 EM 738 322.85 12 739 178 EM 739 2326.89 14 740 214 EM 740 1420.97 12 741 215 EM 741 204.48 12 742 216 EþÀÈM 742 1131.44 12 743 217 EM 743 1096.04 12 744 218 EM 744 551.67 12 745 219 EM 745 640.60 12 746 220 EM 746 385.40 12 747 221 EM 747 360.91 12 748 222 EM 748 2850.69 14 749 254 EM 749 1424.97 12 750 255 EM 750 204.48 12 751þTX 223 EM 751 1049.82 12 752 256 EM 752 992.88 12 753 257 EM 753 551.67 12 754 258 EM 754 550.23 12 755 259 EM 755 431.37 12 756 260 EM 756 343.46 12 758 224 EM 758 2575.50 14 759 261 EM 759 1391.48 15 760 262 EM 760 1569.þ¤&95 15 761 263 EM 761 80.68 14 762 264 EM 762 1017.67 12 763 265 EM 763 929.08 12 764 266 EM 764 518.89 12 765 272 EM 765 271.86 12 766 273 EM 766 384.02 12 767 274 EM 767 256.22 12 768 307 EM 768 1426.97 12 769 308 EM 76þ®¹9 204.48 12 770 309 CC 770 771 311 EM 771 864.72 12 772 312 EM 772 1001.57 12 774 313 EM 774 640.60 12 775 314 EM 775 302.19 12 776 315 EM 776 451.39 12 777 316 EM 777 429.02 12 778 317 EM 778 314.65 12 779 310 CC 779 7þ�80 318 EM 780 568.52 12 781 319 EM 781 993.27 12 782 275 EM 782 2500 14 783 276 EM 783 1956.74 14 784 320 EM 784 551.67 12 785 321 EM 785 993.62 12 786 322 EM 786 993.62 12 787 323 EM 787 444.04 12 788 324 EM 788 375 12 þŸ„789 325 EM 789 415.74 12 790 326 EM 790 204.48 12 791 327 EM 791 1426.97 12 792 328 EM 792 1426.97 12 793 360 EM 793 561.13 12 794 357 EM 794 1426.97 12 795 358 EM 795 204.48 12 796 359 EM 796 2090.76 14 797 366 EM 797 36þðŽ0.94 15 798 421 EM 798 204.48 12 799 422 EM 799 204.48 12 800 423 EM 800 1426.97 12 801 424 EM 801 426.97 12 803 433 EM 803 1207.97 27 804 434 EM 804 1426.97 12 805 435 EM 805 204.48 12 806 425 CC 806 807 426 CC 807 808þŽØ 427 CC 808 809 436 EM 809 1835.96 14 815 517 EM 815 887.50 12 1995 106 CM 1995 2763 3 C 2763 1850.16 2 2764 4 C 2764 552.87 17 2765 5 C 2765 314.49 8 2766 6 C 2766 314.49 8 2767 7 C 2767 100 8 2768 33 C 27þùŠ68 677.50 20 2769 34 C 2769 125 26 2770 8 C 2770 20.07 18 2771 9 C 2771 630.50 4 2772 35 C 2772 736 23 2773  36 C 2773 13 1 2774 10 C 2774 38.75 11 2775 37 C 2775 12.82 18 2776 38 C 2776 7.30 23 2777 11 C 2777 þ'É47.70 5 2778 39 C 2778 258.40 5 2779 12 C 2779 229.63 25 2780 13 C 2780 6.94 5 2781 14 C 2781 64.25 5 2782 40 C 2782 160.96 5 2783 41 C 2783 563.93 23 2784 42 C 2784 67 26 2785 43 C 2785 45.00 26 2786 15 C 2786 þ×228.23 8 2788 44 C 2788 93.70 5 2789 475 CC 2789 2790 45 C 2790 1000 8 2791 46 C 2791 100 26 2792  47 C 2792 1850.16 2 2793 48 C 2793 115 3 2794 49 C 2794 75 5 2795 50 C 2795 114.48 24 2796 51 C 2796 14 1 2797 þ¯. 52 C 2797 150 5 2798 476 CC 2798 2799 477 C 2799 157. 23 2800 96 C 2800 38 20 2801 478 CC 2801 2802 97 C 2802 7 1 2803 98 C 2803 1850.16 2 2804 99 C 2804 12.45 2805 100 C 2805 125 8 2806 101 C 2806 2 1 2807 102þØ C 2807 115 3 2808 103 C 2808 1105.74 17 2809 104 C 2809 23.35 1 2810 105 C 2810 131 8 2811  479 CC 2811 2812 112 C 2812 63.75 6 2813 113 C 2813 545 7 2814 114 C 2814 1406.50 17 2815 115 C 2815 368 23 2816 116 C 2816 600 þûæ28 2817 117 C 2817 151.18 25 2818 118 C 2818 13.80 5 2819 119 C 2819 30 5 2820 120 C 2820 692 25 2821 121 C 2821 100 25 2822 122 C 2822 1291.19 4 2823 123 C 2823 275.82 4 2824 124 C 2824 100 26 2825 125 C 2825 25 26 282þó6 141 C 2826 1850.16 2 2827 142 C 2827 115 3 2828 143 C 2828 552.87 17 2829 144 C 2829 75 24 2830 145 C 2830 88 18 2831 146 C 2831 20 26 2832 147 C 2832 108 26 2833 149 C 2833 64.59 4 2834 150 C 2834 157.50 22 2835 15þìf1 C 2835 8.93 1 2836 152 C 2836 25 26 2837 153 C 2837 30 5 2838 154 C 2838 12.25 5 2839 155 C 2839 10.94 5 2840 179 C 2840 770.93 25 2841 180 C 2841 32.27 25 2842 156 C 2842 273.55 25 2843 157 C 2843 1444.50 17 2844 158 þJC 2844 176 5 2845 159 C 2845 446.10 5 2846 181 C 2846 33.44 5 2847 160 C 2847 739.11 4 2848 161 C 2848 108.10 4 2849 162 C 2849 341.33 4 2850 163 C 2850 428.08 25 2851 164 C 2851 26.19 11 2852 182 C 2852 101.44 23 2853 1þ¬65 C 2853 611.53 17 2854 166 C 2854 20.75 1 2855 167 C 2855 500 27 2856 183 C 2856 513.12 23 2857 184 C 2857 83.07 5 2858 168 C 2858 9.93 5 2859 480 CC 2859 2860 169 C 2860 28.50 5 2861 230 C 2861 611.53 17 2862 231 C 28þÅÌ62 171.16 25 2863 232 C 2863 32 8 2864 185 C 2864 25.83 8 2865 186 C 2865 1850.16 2 2866 187 C 2866 30.29 5 2867 188 C 2867 115 3 2868 189 C 2868 27.76 14 2869 190 C 2869 80 18 2870 191 C 2870 736 23 2871 192 C 2871 546.þ‹†84 5 2872 193 C 2872 68.98 5 2873 494 CC 2873 2874 194 C 2874 298.05 6 2875 195 C 2875 766.49 6 2876 481 CC 2876 2877 196 C 2877 16 18 2878 197 C 2878 121.92 1 2879 198 C 2879 1633.42 23 2880 199 C 2880 11.25 5 2881 þi\200 C 2881 23.85 5 2882 201 C 2882 49.52 5 2883 202 C 2883 9.80 5 2884 482 CC 2884 2885 483 CC 2885 2886 203 C 2886 24.45 5 2887 233 C 2887 30 5 2888 234 C 2888 41.62 5 2889 204 C 2889 77 5 2890 235 C 2890 104.82 23 289þ1”1 236 C 2891 129.76 8 2892 237 C 2892 115 3 2893 238 C 2893 27.46 5 2894 239 C 2894 3.95 23 2895 240 C 2895 244.30 25 2896 241 C 2896 16.85 5 2897 242 C 2897 1850.16 2 2898 243 C 2898 601.53 17 2899 244 C 2899 177 5 2900þE\ 245 C 2900 717.86 4 2901 246 C 2901 50 26 2902 247 C 2902 3 18 2903 248 C 2903 22 18 2904 249 C 2904 169.04 5 2905 250 C 2905 300 17 2906 252 C 2906 60 1 2907 280 C 2907 45 1 2908 334 C 2908 601.81 4 2909 253 C 2909 þ^681.22 15 2910 333 C 2910 897 15 2911 484 CC 2911 2912 485 C 2912 787.00 17 2913 332 C 2913 133.61 23 2914 329 C 2914 101.18 5 2915 291 C 2915 26 5 2916 330 C 2916 70.65 5 2917 331 C 2917 76.47 5 2918 292 C 2918 336.98 27þ|< 2919 293 C 2919 263.44 8 2920 294 C 2920 153.50 6 2921 295 C 2921 1159.13 25 2922 486 CC 2922 2923 487 CC 2923 2924 488 C 2924 368 23 2925 296 C 2925 54 10 2926 297 C 2926 306.79 17 2927 298 C 2927 225 1 2928 299 C þ @2928 1850.16 2 2929 300 C 2929 395.75 2 2930 301 C 2930 2839.54 14 2931 302 C 2931 115 3 2932 303 C 2932 18.02 5 2933 336 C 2933 51.22 5 2934 304 C 2934 83.31 4 2935 305 C 2935 56 33 2936 306 C 2936 1390 28 2937 337 C 29þI37 398 17 2938 338 C 2938 60.80 1 2939 339 C 2939 19.75 18 2940 340 C 2940 30.95 32 2941 341 C 2941 31.65 32 2942 342 C 2942 115 3 2943 343 C 2943 350 27 2944 344 C 2944 100 27 2945 345 C 2945 1850.16 2 2946 346 C 2946 2þ¾?0.76 11 2947 347 C 2947 75.64 32 2948 348 C 2948 124.89 17 2949 349 C 2949 106.45 25 2950 350 C 2950 150.70 10 2951 351 C 2951 8.46 32 2952 352 C 2952 1057.58 27 2953 353 C 2953 830 27 2954 489 CC 2954 2955 367 C 2955 13þ/01.13 32 2956 368 C 2956 60 27 2957 369 C 2957 125 27 2958 354 C 2958 25 3 2959 370 C 2959 30 3 2960 371 C 2960 10.35 32 2961 355 C 2961 100 22 2962 356 C 2962 1000 17 2963 372 C 2963 178.83 32 2964 373 C 2964 270.22 32 þ®m 2965 374 C 2965 174.85 4 2966 375 C 2966 81.63 32 2967 376 C 2967 365.44 32 2968 377 C 2968 34.70 32 2969 518 CC 2969 2970 378 C 2970 22000 12 2971 379 C 2971 1500 32 2972 380 C 2972 398.04 32 2973 381 C 2973 1550 9 297þ)4 490 CC 2974 2975 382 C 2975 294.74 25 2976 383 C 2976 548.34 32 2977 491 CC 2977 2978 384 C 2978 35 26 2979 385 C 2979 500 7 2980 492 CC 2980 2981 396 C 2981 34 1 2982 493 CC 2982 2983 386 C 2983 398.04 32 2984 þ“ý397 C 2984 7.68 10 2985 387 C 2985 1850.16 2 2986 406 C 2986 22 1 2987 407 C 2987 47.20 5 2988 398 C 2988 17.50 8 2989 408 C 2989 2 4 2990 409 C 2990 890.60 4 2991 399 C 2991 31 1 2992 400 C 2992 7.50 5 2993 410 C 2993 3þRü0.95 3 2994 401 C 2994 196.14 22 2995 402 C 2995 60.93 23 2996 403 C 2996 202.41 23 2997 404 C 2997 20.58 23 2998 405 C 2998 118.46 23 2999 437 C 2999 80 10 3000 438 C 3000 230 1 3001 439 C 3001 359 1 3003 411 C 3003 63.þ±ˆ01 4 3004 412 C 3004 5.80 23 3005 413 C 3005 81.83 32 3006 414 C 3006 190.25 4 3007 440 C 3007 37.12 10 3008 441 C 3008 12.40 10 3009 415 C 3009 89.20 5 3010 442 C 3010 69 1 3011 416 C 3011 61.95 5 3012  443 C 3012 600 3 þ¹· 3013 417 C 3013 550 2 3014 418 C 3014 93.39 2 3015 419 C 3015 368.32 2 3016 444 C 3016 4 5 3017 445 C 3017 1208.43 25 3018 420 C 3018 414.75 2 3019 446 C 3019 31 5 3020 447 C 3020 8 18 3021 448 C 3021 262.25 22 3022 þØD449 C 3022 34.90 22 3023 450 C 3023 535.05 3 3024 451 C 3024 12.60 10 3025 452 C 3025 547.25 27 3026 453 C 3026 40 32 3027 454 C 3027 327.12 4 3028 455 C 3028 44.82 3 3029 456 C 3029 397.33 23 3030 495 C 3030 626.30 23 3031þ+d 496 C 3031 30 27 3032 457 C 3032 202.96 17 3033 458 C 3033 215.05 3 3034 459 C 3034 6.30 3 3035 460 C 3035 230 3 3036 461 C 3036 50 27 3037 462 C 3037 288 27 3038 463 C 3038 150 27 3039 464 C 3039 55.06 3 3041 497 C þš33041 3.57 4 3042 465 C 3042 88.17 3 3043 466 C 3043 49.80 3 3045 467 C 3045 10 1 3046 468 C 3046 5428.82 6 3047 469 C 3047 300 24 3048 498 C 3048 22.56 11 3049 1 C 3049 44.55 10 3050 499 C 3050 35 26 3051 470 C 3051 16þ%s4 17 3052 471 C 3052 612.92 3 3053 500 C 3053 256.07 4 3054 501 C 3054 1743.66 7 3055 502 C 3055 1200 21 3056 515 C 3056 10 26 3057 503 C 3057 60 26 3058 504 C 3058 385 3 3059 505 C 3059 172.14 8 3060 506 C 3060 6.95 3 þjg3061 507 C 3061 646.33 8 3062 508 C 3062 31 1 3063 509 C 3063 30 26 3065 2 C 3065 223.70 32 3072 510 C 3072 129.64 4 3073 519 C 3073 1340.73 25 3074 511 C 3074 2500 21 3077 512 C 3077 10.77 6 3079 513 C 3079 37.50 6 30þrR80 514 C 3080 1298.05 25 ÿ1978.D3ûŽŽ *þ3ö 0 14 CC 2357 0 19 CC 2362 0 20 CC 2363 0 21 CC 2364 0 22 CC 2365 0 24 CC 2367 0 25 CC 2368 0 26 CC 2369 0 27 CC 2370 0 29 CC 2372 0 30 CC 2373 0 105 CC 2437 0 113 CC 2445 0 130 CC 2461 0 þ 131 CC 2462 0 137 CC 2468 0 144 CC 2474 0 155 CC 2484 0 168 CC 2496 0 170 CC 2498 0 204 CC 2530 0 210 CC 2535 0 219 CC 2543 0 240 CC 2562 0 268 CC 2586 0 270 CC 2588 0 292 CC 2604 0 299 CC 2610 0 30þGº0 CC 2611 0 321 CC 2628 0 325 CC 2632 0 365 CC 2665 0 377 CC 2677 0 395 CC 2694 0 419 CC 2714 0 468 CC 2757 0 648 CC 542 0 649 CC 543 0 650 CC 2592 0 651 CC 2658 2 165 C 2493 2 22 9 2 234 C 2558 2.05 18 1þQ†5 3 37 C 2380 3.60 5 2 3 106 C 2438 3.47 18 6 3 150 C 2480 3.95 18 9 3 166 C 2494 3.50 18 9 4 136 C 2467 4.80 22 8 4 195 C 2521 4.15 10 12 5 273 C 2589 5 1 17 5 436 C 2730 5.74 5 27 5 528 W 544 5.00 14 11 6 5 C 23þi 38 6.00 1 1 6 95 C 2430 6.75 18 6 6 404 C 2702 6.90 5 25 6 433 C 2727 6 18 27 7 62 C 2399 7.95 18 3 7 81 C 2417 7.75 11 3 7 122 C 2454 7.85 5 7 7 151 C 2481 7.06 1 9 7 157 C 2486 7 1 9 7 164 C 2492 7 1 11 7 198 C þXŽ2524 7 1 12 7 327 C 2634 7.50 1 21 8 63 C 2400 8.52 18 3 8 89 C 2425 8.95 18 5 8 190 C 2517 8 18 11 8 326 C 2633 8.75 18 21 8 370 C 2670 8.70 1 24 9 143 C 2473 9.95 18 8 9 306 C 2614 9.22 5 20 9 316 C 2624 9 18 20 10 þÆ 15 C 2358 10 3 1 10 86 C 2422 10 16 5 10 181 C 2508 10.80 18 11 10 226 C 2550 10 18 14 10 453 C 2743 10 26 28 11 107 C 2439 11 18 6 11 224 C 2548 11.70 25 14 11 373 C 2673 11.48 22 23 11 423 C 2718 11.56 5 26 12 45þ[‹ C 2387 12 18 2 12 49 C 2391 12 18 2 12 79 C 2415 12.68 5 3 12 140 C 2471 12 22 8 12  163 C 2491 12.30 18 9 12 329 C 2636 12.55 11 21 13 118 C 2450 13.00 17 6 13 201 C 2527 13.30 5 12 13 346 C 2650 13.05 11 22 14 60 C þSú2398 14.85 18 3 14 251 C 2571 14.30 5 15 14 344 C 2648 14.20 23 22 15 77 C 2413 15 18 3 15 153 C 2483 15 18 9 15 361 C 2662 15 18 22 15 414 C 2709 15 18 26 15 451 C 2741 15.15 8 28 16 91 C 2426 16.05 5 7 16 112 C 2444 þ¢ð16. 18 6 16 199 C 2525 16 10 12 16 371 C 2671 16.80 1 24 16 416 C 2711 16.75 18 26 17 302 C 2612 17 6 20 17 349 C 2653 17.16 5 22 18 187 C 2514 18 18 11 18 203 C 2529 18.70 18 12 18 410 C 2706 18.50 18 26 19 111 C 2443 1þز9.89 22 6 19 350 C 2654 19.94 5 22 19 455 C 2745 19 26 28 20 188 C 2515 20 18 11 20 193 C 2519 20 26 12 20 399 C 2697 20.32 5 26 20 434 C 2728 20 5 27 21 174 C 2502 21.85 11 10 22 48 C 2390 22.80 22 3 23 182 C 2509 23.3þá=0 5 11 23 266 C 2584 23.95 8 16 25 132 C 2463 25 18 8 25 360 C 2661 25 22 22 25 363 C 2664 25.35 5 23 26 133 C 2464 26 22 8 26 213 C 2538 26 5 14 26 249 C 2569 26 17 15 26 258 C 2576 26.12 5 16 27 72 C 2408 27.00 5 5 2þj7 183 C 2510 27.60 5 11 28 69 C 2405 28.26 21 5 28 88 C 2424 28.15 23 5 28 109 C 2441 28.76 18 6 28 194 C 2520 28.99 10 12 28 284 C 2596 28 1 18 29 64 C 2401 29.39 22 3 29 372 C 2672 29 5 23 30 152 C 2482 30 18 9 30 þd´ 335 C 2641 30 5 21 30 462 C 2751 30 5 28 32 74 C 2410 32.23 5 5 33 47 C 2389 33.30 22 2 33 305 C 2613 33 5 20 33 312 C 2620 33 17 20 33 449 C 2739 33 18 28 34 158 C 2487 34.03 22 9 34 227 C 2551 34 6 14 34 351 C 2655þ,u 34.12 22 22 35 340 C 2644 35 26 22 35 387 C 2686 35.27 11 25 36 260 C 2578 36.81 11 16 36 408 C 2704 36 18 26 36 415 C 2710 36.50 5 26 37 263 C 2581 37.70 18 16 37 359 C 2660 37 18 22 37 382 C 2682 37.64 22 24 38 7 C þQE2347 38.00 1 1 38 565 W 581 38.36 14 16 39 50 C 2392 39 22 2 39 135 C 2466 39 5 8 39 320 C 2627 39.50 18 20 39 391 C 2690 39.85 18 25 40 104 C 2436 40 20 6 40 429 C 2723 40.30 5 27 40 450 C 2740 40 23 28 40 645 E 664 40þàt.27 15 29 41 98 C 2433 41.5 20 6 42 16 C 2359 42.80 10 1 42 189 C 2516 42 26 11 42 257 C 2575 42 26 16 43 4 C 2337 43.50 1 1 45 200 C 2526 45.45 5 12 46 167 C 2495 46.49 4 10 46 310 C 2618 46.45 5 20 46 441 C 2733 46þ&r.85 5 27 48 328 C 2635 48 4 21 49  378 C 2678 49.56 8 24 49 384 C 2684 49.44 1 25 50 8 C 2348 50.00 24 1 50 10 C 2354 50.00 20 1 50 18 C 2361 50 18 1 50 23 C 2366 50 18 1 50 28 C 2371 50 18 1 50 84 C 2420 50 24 3 þXå50 117 C 2449 50. 27 6 50 134 C 2465 50.50 18 8 50 173 C 2501 50 20 11 50 223 C 2547 50.50 5 14 50 293 C 2605 50 24 18 50 298 C 2609 50 20 19 50 319 C 2626 50 24 20 50 366 C 2666 50 24 23 50 390 C 2689 50 22 25 50 420þû C 2715 50 22 26 50 438 C 2731 50 24 27 52 70 C 2406 52.68 5 5 52 99 C 2434 52 5 6 52 314 C 2622 52.30 5 20 52 435 C 2729 52.84 11 27 53 6 C 2345 53.35 1 1 53 71 C 2407 53.35 5 5 54 463 C 2752 54 5 28 55 119 C 2451 þþŒ55.00 22 7 55 212 C 2537 55.93 4 14 55 464 C 2753 55 22 28 56 121 C 2453 56.30 5 7 56 322 C 2629 56 17 20 60 43 C 2385 60.30 5 2 61 196 C 2522 61.36 10 12 64 51 C 2393 64.65 25 2 64 57 C 2397 64. 8 3 64 466 C 2755 64.þâ¹50 6 28 66 46 C 2388 66.80 22 2 66 82 C 2418 66.34 4 3 70 138 C 2469 70 18 8 70 343 C 2647 70 23 22 72 264 C 2582 72 6 16 74 120 C 2452 74.42 22 7 74 220 C 2544 74.95 10 14 75 128 C 2459 75.65 11 8 75 247 C 2567 75.21 þx10 15 75 467 C 2756 75 28 29 76 428 C 2722 76.99 22 27 80 65 C 2402 80. 23 3 81 259 C 2577 81.71 4 16 84 497 E 519 84.76 12 12 85 52 C 2394 85.54 22 2 85 225 C 2549 85 6 14 85 295 C 2607 85 1 18 86 32 C 2375 86 5 1 8þg9 175 C 2503 89.37 8 10 90 232 C 2556 90 10 14 90 289 C 2601 90.50 5 18 93 35 C 2378 93.20 3 2 93 80 C 2416 93.20 3 5 93 114 C 2446 93.20 3 6 94 172 C 2500 94.90 22 11 96 367 C 2667 96.30 18 23 97 211 C 2536 97.67 23 14þßý 99 405 C 2703 99 17 25 100 239 C 2561 100 5 15 100 244 C 2564 100.75 10 15 101 336 C 2642 101.39 4 22 105 216 C 2541 105 3 14 105 279 C 2590 105.78 8 17 105 526 E 539 105.03 12 10 106 215 C 2540 106.32 8 14 108 217 C 25þh,42 108.06 8 14 109 282 C 2594 109.92 22 17 110 75 C 2411 110. 16 5 110 96 C 2431 110 5 6 110 380 C 2680 110 23 24 110 401 C 2699 110.25 1 26 110 574 E 590 110.15 12 17 113 142 C 2472 113.56 4 8 114 39 C 2382 114.98 18 2 þÕ!115 255 C 2574 115 3 16 115 307 C 2615 115 3 20 115 334 C 2640 115 3 21 115 388 C 2687 115 3 25 115 427 C 2721 115 3 27 115 470 C 2759 115 3 29 116 356 C 2657 116.89 1 23 117 169 C 2497 117.03 3 10 117 430 C 2724 117.43 4þº 27 119 17 C 2360 119.40 19 1 120 233 C 2557 120 1 15 126 184 C 2511 126.00 5 11 127 432 C 2726 127.35 5 27 129 149 C 2479 129 5 9 131 459 C 2749 131.46 10 28 134 288 C 2600 134 5 18 134 309 C 2617 134 5 20 134 394 C 26þ7ö93 134.32 22 25 134 403 C 2701 134.74 22 25 136 38 C 2381 136.16 5 2 139 41 C 2383 139.24 4 2 139 330 C 2637 139.70 22 21 139 418 C 2713 139.96 13 26 140 339 C 2643 140 22 21 140 444 C 2736 140 1 27 141 392 C 2691 141.22 4þ±J 25 142 623 E 631 142.22 12 24 144 389 C 2688 144.36 4 25 145 161 C 2490 145 5 9 145 369 C 2669 145 5 23 145 461 C 2750 145.75 10 28 153 290 C 2602 153.64 5 18 154 448 C 2738 154.01 5 28 155 42 C 2384 155 5 2 160 454 C þs2744 160 27 28 164 323 C 2630 164 5 21 164 442 C 2734 164.11 5 27 168 185 C 2512 168.26 5 11 174 457 C 2747 174.34 8 28 179 160 C 2489 179.46 5 9 180 591 E 608 180.93 12 20 182 509 W 522 182.00 12 8 184 252 C 2572 184.25 5 1þÿR5 185 537 E 552 185.93 12 12 186 294 C 2606 186.36 8 18 187 287 C 2599 187.22 5 18 192 250 C 2570 192 22 15 199 348 C 2652 199.40 5 22 200 228 C 2552 200 5 14 200 285 C 2597 200 27 18 200 375 C 2675 200 28 23 201 607 E 6þ̼40 201.10 12 25 205 347 C 2651 205.74 22 22 206 206 C 2532 206.25 26 12 208 147 C 2477 208.65 5 8 208 458 C 2748 208.22 25 28 218 417 C 2712 218.26 5 26 223 123 C 2455 223.17 5 7 230 186 C 2513 230.66 25 11 247 643 E 661 247þý!.78 12 29 251 638 W 649 251.13 15 26 254 489 E 504 254.00 15 4 258 614 E 616 258.02 12 21 259 514 E 516 259.01 12 7 261 85 C 2421 261.65 23 5 262 222 C 2546 262.60 5 14 264 9 C 2356 264.05 4 1 265 547 E 560 265.01 12 13 þÉä267 236 C 2560 267.58 22 15 269 559 E 575 269.88 12 16 271 269 C 2587 271.60 23 17 277 513 W 517 277.10 12 7 280 13 C 2355 280.60 22 1 282 592 E 609 282.18 12 20 283 590 E 607 283.06 12 20 286 78 C 2414 286.41 5 3 293 6þZ19 E 622 293.42 12 23 295 412 C 2707 295 26 26 297 552 E 561 297.08 12 13 299 536 E 553 299.63 12 12 301 73 C 2409 301.50 21 5 304 483 E 510 304.73 12 5 304 539 E 569 304.73 12 15 309 315 C 2623 309.14 8 20 311 280 C 2591 3þ¾ß11.54 8 17 325 609 E 610 325.46 12 21 326 635 E 646 326.75 12 26 327 629 E 652 327.45 12 28 339 108 C 2440 339.45 22 6 339 620 E 623 339.16 12 23 342 452 C 2742 342.32 8 28 343 538 E 568 343.38 12 15 343 580 E 598 343.31 12 þþ¦18 346 561 E 577 346.43 12 16 346 608 E 645 346.92 12 26 350 265 C 2583 350 21 16 356 501 E 531 356.37 12 9 359 600 E 632 359.96 12 24 361 606 E 639 361.79 12 25 368 124 C 2456 368.00 23 7 368 145 C 2475 368 23 8 368 179þÌ” C 2506 368 23 11 368 229 C 2553 368 23 14 368 261 C 2579 368.00 23 16 368 313 C 2621 368 23 20 368 358 C 2659 368 23 22 368 402 C 2700 368 23 25 368 446 C 2737 368 23 27 369 593 E 615 369.00 12 21 372 493 W 500 372.80 12 3 þŠ8 373 639 E 654 373.60 12 28 374 469 C 2758 374 17 29 374 573 E 589 374.42 12 17 374 621 E 624 374.42 12 23 379 588 E 605 379.26 12 20 380 148 C 2478 380 7 9 384 630 E 653 384.95 12 28 386 525 E 538 386.34 12 10 387 202 C þ�K2528 387 17 12 387 492 W 501 387.26 12 3 392 476 E 494 392.55 12 2 393 504 E 528 393.86 12 9 393 637 W 648 393.57 15 26 393 644 E 663 393.62 15 29 398 516 E 514 398.75 12 7 400 324 C 2631 400.88 4 21 405 56 C 2396 405.38 4 þ²¥3 410 115 C 2447 410.72 25 6 420 617 E 620 420.35 12 23 430 579 E 597 430.98 12 18 432 283 C 2595 432.25 4 18 432 484 E 509 432.47 12 5 436 503 E 530 436.65 12 9 439 515 E 515 439.51 12 7 440 535 E 551 440.27 12 12 446 1þDt92 C 2518 446.86 4 11 450 92 C 2427 450.59 17 5 450 127 C 2458 450.59 17 8 456 477 E 493 456.63 12 2 464 500 E 537 464.55 12 10 465 541 E 566 465.02 12 15 472 413 C 2708 472.87 4 26 472 560 E 576 472.09 12 16 473 533 E 549 þ­A473.57 12 12 473 545 E 557 473.57 12 13 474 159 C 2488 474.35 5 9 483 498 E 520 483.00 15 8 483 563 W 579 483.00 15 16 483 622 W 626 483.00 15 23 483 646 W 656 483 15 29 484 625 E 660 484.10 12 29 490 633 E 643 490.20 12 26 þò) 495 368 C 2668 495.42 4 23 497 478 E 492 497.88 12 2 497 495 W 498 497.97 12 3 500 33 C 2376 500 21 1 500 139 C 2470 500 21 8 500 231 C 2555 500 21 14 500 243 C 2563 500 8 15 500 254 C 2573 500 21 15 500 345 C 2649 500 þþÒ24 22 500 362 C 2663 500 21 23 500 376 C 2676 500 8 23 500 397 C 2695 500 8 25 500 398 C 2696 500 8 25 500 471 C 2760 500 21 29 500 472 C 2761 500 21 29 500 582 E 596 500.91 12 18 502 486 E 507 502.81 12 5 505 612 E 613 þþÐ505.84 12 21 513 572 E 588 513.44 12 17 516 634 E 644 516.116 12 26 531 581 E 594 531.30 12 18 533 604 E 637 533.66 12 25 537 571 E 587 537.45 12 17 538 523 E 535 538.32 12 10 542 534 E 550 542.91 12 12 542 589 E 606 542.91 þx=12 20 547 31 C 2374 547.42 17 1 547 177 C 2504 547.42 17 11 548 618 E 621 548.51 12 23 550 214 C 2539 550 24 14 552 393 C 2692 552.87 17 25 552 431 C 2725 552.87 17 27 552 598 E 629 552.62 12 24 561 494 W 499 561.91 12 3 5þq˜63 248 C 2568 563.06 4 15 566 557 E 573 566.88 12 16 566 642 E 659 566.46 12 29 569 465 C 2754 569.90 4 28 574 479 E 491 574.03 12 2 575 485 E 508 575.53 12 5 589 110 C 2442 589.40 4 6 589 502 E 529 589.96 12 9 595 613 E þn/614 595.69 12 21 596 540 E 567 596.15 12 15 596 599 E 630 596.12 12 24 601 546 E 558 601.00 12 13 610 605 E 638 610.74 12 25 616 146 C 2476 616 9 8 616 180 C 2507 616 9 11 621 93 C 2428 621.73 8 6 627 569 E 585 627.63 12 17þäÒ 630 558 E 574 630.97 12 16 635 409 C 2705 635.69 27 26 643 524 E 536 643.20 12 10 645 578 E 595 645.08 12 18 671 221 C 2545 671.81 17 14 671 262 C 2580 671.81 17 16 671 341 C 2645 671.81 17 22 675 100 C 2435 675 8 6 688 þ’P 553 E 559 688.29 12 13 695 116 C 2448 695.00 7 6 702 490 W 503 702.05 14 4 732 570 E 586 732.19 12 17 733 508 E 524 733.00 15 8 750 400 C 2698 750 21 26 770 281 C 2593 770.94 25 17 788 482 E 488 788.81 12 2 790 311 C 2619 7þ_ƒ90.75 17 20 796 586 E 603 796.26 12 20 800 601 W 634 800.03 15 24 802 587 E 604 802.32 12 20 830 499 E 511 830.88 12 7 842 481 E 489 842.19 12 2 842 487 E 506 842.80 12 5 845 616 E 619 845.14 12 23 850 585 W 602 850.20 15 18þN‹ 852 550 E 556 852.47 12 13 873 532 E 548 873.83 12 12 888 505 E 527 888.88 12 9 890 480 E 490 890.20 12 2 893 518 E 512 893.06 12 7 899 235 C 2559 899 17 15 911 440 C 2732 911.35 25 27 912 230 C 2554 912.90 9 14 919 286þýÆ C 2598 919 2 18 921 602 E 635 921.48 12 25 922 611 E 612 922.47 12 21 923 129 C 2460 923. 5 8 924 530 E 546 924.04 12 12 926 496 E 497 926.48 12 3 927 549 E 554 927.77 12 12 948 542 E 565 948.24 12 14 960 577 E 593 960.21 1þ©A2 18 979 575 E 591 979.37 12 18 981 627 E 650 981.35 12 28 982 531 E 547 982.73 12 12 985 543 E 564 985.99 12 14 991 97 C 2432 991 16 6 991 507 E 525 991.35 12 9 991 544 E 563 991.80 12 14 991 548 E 555 991.16 12 12 992 þu% 628 E 651 992.28 12 28 996 568 E 584 996.51 12 17 999  522 E 534 999.70 12 10 1000 55 C 2395 1000. 21 3 1000 333 C 2639 1000 21 21 1007 381 C 2681 1007 23 24 1019 556 E 572 1019.07 12 16 1020 610 E 611 1020.87 12 21 1033 48þbl8 E 505 1033.57 12 5 1034 506 E 526 1034.18 12 9 1042 632 E 642 1042.43 12 26 1046 566 E 582 1046.89 12 17 1050 554 E 570 1050.61 12 16 1050 603 E 636 1050.72 12 25 1053 615 E 618 1053.55 12 23 1062 520 E 532 1062.02 12 10 1069þi' 555 E 571 1069.11 12 16 1076 475 E 495 1076.21 12 3 1081 631 E 641 1081.13 12 26 1113 517 E 513 1113.18 12 7 1122 521 E 533 1122.84 12 10 1136 456 C 2746 1136.47 6 28 1151 44 C 2386 1151 17 2 1151 567 E 583 1151.39 12 17 1þ=×158 597 E 628 1158.89 12 24 1176 640 E 657 1176.43 12 29 1177 474 E 496 1177.09 12 3 1184 641 E 658 1184.18 12 29 1197 83 C 2419 1197.81 5 5 1200 332 C 2638 1200 21 22 1203 178 C 2505 1203.31 22 11 1209 596 E 627 1209.08 12 þï24 1210 197 C 2523 1210.49 10 12 1345 529 W 545 1345.38 15 11 1352 297 C 2608 1352.93 25 19 1397 374 C 2674 1397.48 25 23 1426 576 E 592 1426.28 12 18 1452 317 C 2625 1452.77 25 20 1500 34 C 2377 1500 21 3 1500 76 C 2412 1þá¡500 21 10 1500 355 C 2656 1500 21 23 1500 421 C 2716 1500 21 27 1500 422 C 2717 1500 21 28 1510 473 C 2762 1510 21 29 1549 510 W 523 1549.00 14 8 1562 36 C 2379 1562.80 2 2 1562 67 C 2403 1562.80 2 5 1562 125 C 2457 1562.8þKJ0 2 7 1703 207 C 2533 1703.40 2 12 1703 527 W 541 1703.92 15 11 1773 171 C 2499 1773.70 2 11 1773 267 C 2585 1773.70 2 16 1800 205 C 2531 1800 21 13 1800 246 C 2566 1800 21 17 1804 3 C 2313 1804.52 22 1 1850 342 C 2646 185þe-0.16 2 22 1850 386 C 2685 1850.16 2 25 1850 443 C 2735 1850.16 2 27 1863 584 W 600 1863.74 15 18 1875 308 C 2616 1875.10 2 20 1887 68 C 2404 1887.00 17 5 2000 2 C 2332 2000 21 1 2000 156 C 2485 2000 21 9 2000 383 C 2683 2þ9Æ000. 21 25 2210 511 W 521 2210.00 14 8 2210 564 W 580 2210.00 14 16 2210 595 E 625 2210.00 14 23 2210 647 W 655 2210. 14 29 2276 626 W 662 2276.24 14 29 2386 87 C 2423 2386 17 5 2424 636 W 647 2424.72 14 26 2792 624 W 633 2þˆ™792.12 14 24 2861 594 W 617 2861.14 14 21 3000 245 C 2565 3000 21 15 3178 209 C 2534 3178.45 22 14 3391 512 W 518 3391.80 14 7 3920 426 C 2720 3920.58 17 27 4000 94 C 2429 4000. 21 6 4255 551 W 562 4255.04 14 13 4412 562 W þÙïÙ578 4412.14 14 16 4521 491 W 502 4521.60 14 4 4601 519 W 540 4601.70 14 10 4812 424 C 2719 4812.51 23 27 5659 583 W 599 5659.58 14 18 10000 379 C 2679 10000 23 24 14850 291 C 2603 14850. 22 18 ÿPASCAL.ERûŽ? þóË Message #0. >left parenthesis or constant expected in simple type; skipping 1identifier expected after reserved word "PROGRAM"ype; skipping reserved word "PROGRAM" expecteded word "PROGRAM"ype; skipping þäF5right parenthesis expected to terminate argument list skipping 1colon expected after constant in "CASE" statementlist skipping .period expected to terminate program; skippingentlist skipping >colon/semicolon/left paren. expected after proc name; skipping þ³/reserved word "OF" expected in "CASE" statement name; skipping >this proc/func requires argument(s); left parenthesis expected 5unexpected item at start of type definition; skipping expected )left bracket expected in array definitionon; skipping expected þ!0right bracket expected to terminate set constantpping expected 8reserved word "END" expected to terminate proc/func bodypected 1semicolon expected after proc/func body; skippingnc bodypected 4integer constant expected after reserved word "GOTO"bodypected þ:2*equal sign expected in constant definitionord "GOTO"bodypected 9reserved word "BEGIN" expected at start of proc/func bodyected -unexpected item in declaration part; skippingoc/func bodyected 5identifier or reserved word "CASE" expected; skippingbodyected þ^n4comma expected in argument list of "INDEX" intrinsicgbodyected $period expected to terminate programINDEX" intrinsicgbodyected 5double period expected in definition of subrange typebodyected 4identifier expected in constant definition; skippingebodyected þê!identifier expected in field listefinition; skippingebodyected 0identifier expected in "FOR" statement; skippingpingebodyected %identifier expected in parameter listt; skippingpingebodyected 6type identifier expected after colon in parameter listodyected þ9C)identifier expected in pointer definitionarameter listodyected identifier expected after reserved word "PROCEDURE"/"FUNCTION" +first argument of "READLN" must be variableOCEDURE"/"FUNCTION" þ/Ï identifier expected after periodbe variableOCEDURE"/"FUNCTION" 5identifier expected in definition of enumeration typeFUNCTION" 0identifier expected in type definition; skipping typeFUNCTION" *identifier expected in variable definitionipping typeFUNCTION" þ£^$identifier expected in argument listnitionipping typeFUNCTION" +tag field type must be identifier; skippingpping typeFUNCTION" 0tag field identifier or type identifier expected typeFUNCTION" .identifier expected after reserved word "WITH"ed typeFUNCTION" þÛ‚5right parenthesis expected to terminate argument listFUNCTION" >right parenthesis expected to terminate program parameter list (right parenthesis expected in expressionprogram parameter list 6right parenthesis expected to terminate parameter listter list þW…unexpected item after right paren. in parameter list; skippinggþ> ;unexpected item follows procedure/function header; skippingingg2unexpected item in reference to variable; skipping skippinginggunexpected item after right paren. in record variant; skippingg4identifier or reserved word "VAR" expected; skipping; skippinggþÓ1+unexpected item in parameter list; skipping skipping; skippingg+unexpected item in parameter list; skipping skipping; skippingg+unexpected item in parameter list; skipping skipping; skippingg=semicolon expected after "assembler" in proc/func declarationggþãz/reserved word "OF" expected in array definitionnc declarationgg5reserved word "OF" expected in definition of set typelarationgg6reserved word "OF" expected after reserved word "FILE"arationgg7reserved word "OF" expected in header of record variantrationggþé™+left parenthesis expected in record variantcord variantrationgg8unexpected item follows reserved word "PACKED"; skippingationgg3right bracket expected to terminate array subscriptppingationgg*right bracket expected in array definitionsubscriptppingationggþO¼5right bracket expected to terminate string definitioningationgg:reserved word "END" expected to terminate "CASE" statementionggincompatible types of constants in definition of subrange typegþïƒfile may not be field of record in definition of subrange typeg#array index may not be of type REALdefinition of subrange typeg6tag field of record variant must be scalar or subrangenge typegsemicolon expected after keyword "forward" in proc/func headerg)index of array must be scalar or subrange" in proc/func headerg-base type of set must not be REAL nor INTEGER proc/func headerg7intrinsics "PRED" and "SUCC" require scalar as argument headergþ1•may not read into packed fieldequire scalar as argument headerg8unsatisfied forward declaration of procedure or functionheaderg(semicolon expected after type definitiondure or functionheadergfile value parameter not allowed; file must be "VAR" parametergitem preceding uparrow must be reference to file or to pointerg>string literal argument not same length as packed array param.g8illegal type of loop control variable in "FOR" statementparam.gþNB5illegal type of expression in "CASE" statement headerentparam.gsubrange bounds must be scalar; STRING is PACKED ARRAY OF CHARg&array index may not be of type INTEGER is PACKED ARRAY OF CHARg+assignment to standard function not allowedACKED ARRAY OF CHARg&equal sign expected in type definitionlowedACKED ARRAY OF CHARgþIfno such field in this recorddefinitionlowedACKED ARRAY OF CHARg>identifier or "END" or "CASE" expected in field list; skippinggargument must be variableASE" expected in field list; skippinggargument of "EXIT" must be user-declared procedure or functiong>argument of "EXIT" must be user-declared procedure or functiong/first argument of "FILETITLE" must be file nameure or functiong6first argument of "GET"/"PUT"/"SEEK" must be file namefunctiongþ\3second argument of "SEEK" intrinsic must be integeramefunctiong7comma expected; "SEEK" intrinsic requires two argumentsunctiong?"READ"/"READLN" require integer, real, char, or string argument$error in type of intrinsic parameterl, char, or string argumentþÕ‹$error in type of intrinsic parameterl, char, or string argument$error in type of intrinsic parameterl, char, or string argument$error in type of intrinsic parameterl, char, or string argumentstring argument required hererameterl, char, or string argumentþf6second argument to "SUBSTR" must be integer expression argument5third argument to "SUBSTR" must be integer expressionn argument;"WRITE"/".LN" require integer expression after second colonment>"WRITE"/".LN" require int/bool/real/char/string/packd.ary.chartþº6explicit argument to "PAGE" intrinsic is not file nameary.charttoo few arguments to "PAGE" intrinsic is not file nameary.chart1type conflict of operands in assignment statement nameary.chart*type conflict of operands of "IN" operatoratement nameary.chartþ$Ë0type conflict of operands of relational operatort nameary.chart>comparison of packed arrays of char requires identical lengthst8only equal/unequal comparisons permitted for array typesengthst9only equal/unequal comparisons permitted for record typesngthstþm6operand of unary plus or minus must be real or integerpesngthst)illegal type of operand(s) of binary plusal or integerpesngthst*illegal type of operand(s) of binary minusl or integerpesngthst6illegal operand(s) of "OR" operator; check parenthesespesngthstþ§á,illegal type of operand(s) of multiplicationarenthesespesngthst+illegal type of operand(s) of real divisionnarenthesespesngthst?proc/func declaration is too deeply nested; display limit is 12>proc/func declaration too deeply nested; lex. level limit is 82þ™.,illegal type of operand(s) of "DIV" operator. level limit is 829proc/func too long; use swapping and/or overlaid compiler is 82,illegal type of operand(s) of "MOD" operatorlaid compiler is 82)too many jumps in this procedure/functiontorlaid compiler is 82þäÆsubrange bounds must be scalar; STRING is PACKED ARRAY OF CHAR29comma expected in argument list of "WRITE" to "TEXT" file CHAR2þ3Ø6label on this statement was not declared in this blockile CHAR2;unexpected item follows procedure/function header; skippingHAR28reference to entire array expected in "PACK" or "UNPACK"ingHAR29explicit argument of "PAGE" intrinsic must be "TEXT" filengHAR2þr�&error in real constant; digit expectedmust be "TEXT" filengHAR27string maximum length must be in inclusive range 1..255lengHAR2.too many segments in this program; limit is 16ge 1..255lengHAR2-record too deeply nested; display limit is 126ge 1..255lengHAR2þoæ7"WITH" statement too deeply nested; display limit is 12lengHAR2;too many procedures/functions in this segment; limit is 149HAR29proc/func too long; use swapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2þÖ”error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2þùûerror in POINT statementswapping and/or overlaid compiler49HAR2cannot create overlayentswapping and/or overlaid compiler49HAR2cannot create overlayentswapping and/or overlaid compiler49HAR29source line too long to process; split into several lines49HAR2þ+E.may not switch segments; rearrange source codeveral lines49HAR2>reserved word "PROCEDURE" or reserved word "FUNCTION" expected2=was declared both "forward" and "segment"; add "segment" hered2"record type of this file not knownegment"; add "segment" hered2þ;w#subrange of type REAL not permittedgment"; add "segment" hered2error in POINT statementt permittedgment"; add "segment" hered2cannot create overlayentt permittedgment"; add "segment" hered2(zero-length array elements not permitted"; add "segment" hered2þ:9explicit argument of "EOLN"/"EOLCHAR" must be "TEXT" filehered2/illegal character in source text; blank assumedTEXT" filehered21included file may not contain $I control commentsXT" filehered21procedure/function parameters not yet implementedXT" filehered2þ ¨0field addressing problem -- Please inform RDS.dXT" filehered23constant addressing problem -- Please inform RDS." filehered23indirect addressing problem -- Please inform RDS." filehered27unanticipated end of source file; check BEGIN/END pairslehered2þ�‘9program parameter not declared as file in outermost blockhered27assembler module must not be declared as Pascal segmentckhered28comma expected in argument list of "WRITE" to typed filekhered2#"OUTPUT" not declared in this scope"WRITE" to typed filekhered2þL]-"OUTPUT" not declared as "TEXT" in this scope typed filekhered23real number may not be argument of "PRED" or "SUCC" filekhered2file of file not allowedrgument of "PRED" or "SUCC" filekhered25too much local data; stack frame limit is 16383 wordsilekhered2þJ>"PACK"/"UNPACK" offset not compatible with index type of array28reference to entire array expected in "PACK" or "UNPACK" array2>"PACK"/"UNPACK" require both arrays to have same element types26"PACK"/"UNPACK" require reference to packed array herent types2þ‹~:"PACK"/"UNPACK" require reference to non-packed array hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes2þç�?illegal assignment; PACKED ARRAY OF CHAR should have lowbound=1segment too long; limit is 32KBY OF CHAR should have lowbound=1segment too long; limit is 32KBY OF CHAR should have lowbound=1)"ODD" intrinsic requires integer argumentshould have lowbound=1þÅ)"CHR" intrinsic requires integer argumentshould have lowbound=1segment too long; limit is 32KBr argumentshould have lowbound=11too many elements in packed array; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=1þýarray too large; limit is 32KBray; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=11too many elements in packed array; limit is 32767ave lowbound=1þ6W9global labels not permitted in separately compiled moduleound=10 DO BEGIN H:=H+1/N;N:=N-1; END; WRITELN(H) END. ÿBTREE.ûŽþŽzPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARþX©RAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEþÂM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OFþŠ A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGINþ›r IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[þ*ZI] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEYþ½¥ X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1þ�/; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROþdCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDUREþ¬Z UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.EþS[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.EþH[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO þìC^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROMþ PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; Aþ¿½^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REþʇF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END ENDþÒ¹ END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THENþþ� L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DþvÌO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THENþz` BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN þ¥ABEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . ÿBYTE.01û¸¸þ|W; ROUUTINE TO WRITE A BYTE TO A GIVEN BYTE ADDRESS ; CONDITIONS ; ; ENTRY ; AC0 - BYTE TO BE WRITTEN IN RH BYTE ; AC1 - UNDEFINED ; AC2 - BYTE POINTER WHERE TO PUT BYTE ; AC3 - RETURN TO THIS ADDRESS ; ; RETURN ; AC0UNDEFINED ; AC1 - UNDEFINED ; AC2 - UNDEþuUFINED ; AC3 - UNDEFINED ; .ENT BGET,BPUT .NREL .EXTD LHB,RHB BPUT: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;RIGHT HAND BYTE ADDRESS MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SKIP IF LHB ;NOTE CARRY IS SET IF LHB MOVS 0,0,SKP ;SWAP BYTEþÈS IN WORD TO BE PUT ;AND SKIP NEXT INSTRUCTION MOVS 1,1 ;SWAP MASK IF LH BYTE LDA 3,0,2 ;LD AC3,WITH WORD TO RECEIVE BYTE AND 1,3 ;AND OUT OTHER BYTE ADD 0,3 ;ADD IN BYTE TO BE PUT STA 3,0,2 ;RESTORE UPDATED WORD JMP @USP ;RETURN TO CALLER þÊJ ; CONDITIONS ; ; ENTRY ; AC0 - UNDEFINED ; AC1 - UNDEFINED ; AC2 - BYTE POINTER TO BYTE LOCATION ; ; EXIT ; AC0 - VALUE OF BYTE IN RH BYTE (MASKED TO RHB) ; AC1 - UNDEFINED ; AC2 - UNDEFINED BGET: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;GET RHB MAþrVSK MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SET CARRY ;IF LHBYTE. SKIP IF LHBYTE MOVS 1,1 ;SWAP MASK BYTES TO MAKE LHB MASK LDA 0,0,2 ;GET WORD CONTAINING BYTE AND 1,0,SNC ;AND OUT OTHER BYTE AND SKIP IF LHBYTE MOVS 0,0 ;SWAP LHBYTE INTO þ*7îRHBYTE JMP @USP ;RETURN TO CALLER .END ÿTTT.PXûÜÜ 5þxÂpTT Copyright (C) 1980 Rational Dataþ„Ñ Systems¼ 5%þ�¥§€š•2ˆ•¤øèÅ¥§€š•2ˆ•¤ùéÅ„¥§€š•2ˆ•¤úêÅ„¡&§€š•«€š¥§€š‚2ˆ•¤¥§€š2ˆ•¤¨¹ö­`š hþÿTEST2.û޽ þꉋPROGRAM TEST(INPUT,OUTPUT); VAR I : INTEGER; X : REAL; BEGIN WRITELN( 'WELCOME TO PROG TEST2'); X := 1.1; I := 3; X := I*X; WRITELN( ' LINE 1',X : 6 : 2,I); I := TRUNC(X); X := I; WRITELN(' LINE 2',I,X : 6 : 2) END. ÿTEST.BUûsrþ@ÌPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR I : INTEGER; STR : ALPHANUMERIC; {$I GETINTEGER.PI} {$I GETCOLUMN.PI} BEGIN REPEAT WRITELN('ENTER STRING'); WRITELN; READLN(STR); WRITELN(STR); WRITELN(' ',GETCOLUMN(STR)); UNTIL EOF(INPþ æUT) END. ÿPL5.PAûll2þñâPROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVELþ%ˆ OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VAþi´RSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCEDURE); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} þÔ© A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO þ÷A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTþB„EGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACþo¸KED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEDURE: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGþðDIN WRITELN(' ****',' ':CC-1;'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GO TO 99 END; LL := 0;CC := 0;WRITE(CX:5,'þ´ '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH} BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN þ€{IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR REþ(éSERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] TþÛHEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOþo×MES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GO TO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;þDÇA := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DXþCÚ : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSþ3TANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCEDURE : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; þnº VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN þí3 BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT þ`ˆTHEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCþ¥EEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,þ•FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL);  VARIABLE : GEN(LOD,LEV-LEVEL,ADRþÈù); PROCEDURE : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN þâêBEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSþsxYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(þq«FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM þuTHEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8)þ]; NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION[ID]; IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KINDþ„Ì <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSþ#WYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION[ID]; IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCEDURE THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITþþ�ION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO þÏŽ BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM þ&á= DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN þÖ;BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTANTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHþüILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCEDURE);GETSYM; END ELSE ERROR(4); IFþXÿ SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYSþ¬·); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONSTþ› STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S  : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEþ-GIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;þÅúEND; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIþ0ùN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])); 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := þ$óORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]=NEQ; Z<þÊéLSS; Z>GTR; Z<=LEQ; Z>=GEQ; Z;SEMICOLN; MNEMONIC[LIT] := 'LIT'; Z[OPR] := 'OPR'; Z[LOD] := 'LOD';Z[STO] := 'STO'; Z[CAL] := 'CAL'; Z[INT] := 'INT'; Z[JMP] := 'JMP'; Z[JPC] := 'JPC'; DECLGEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYMþƒ,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CZ := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0.[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN þ"ÀNPL/0 PROGRAM'); 99: WRITELN END. ÿ1979.D4ûŽŽ*þ"ž  0 99 106 309 310 425 426 427 475 476 478 479 480 481 482 483 484 486 487 489 490 491 492 493 494 518 SEARCH KEY 0 99 C 2804 12.45 106 CM 1995 þA309 CC 770 310 CC 779 425 CC 806 426 CC 807 427 CC 808 475 CC 2789 476 CC 2798 478 CC 2801 479 CC 2811 480 CC 2859 481 CC 2876 482 CC 2884 483 CC 2885 484 CC 2911 486 CC 2922 487 CþÁVC 2923 489 CC 2954 490 CC 2974 491 CC 2977 492 CC 2980 493 CC 2982 494 CC 2873 518 CC 2969 AMOUNT = 1.245E+01 1 36 51 97 101 104 151 166 197 252 280 298 338 396 399 þXë 406 438 439 442 467 508 SEARCH KEY 1 36 C 2773 13 1 51 C 2796 14 1 97 C 2802 7 1 101 C 2806 2 1 104 C 2809 23.35 1 151 C 2835 8.93 1 166 C 2854 20.75 1 197 C 2878 121.92 1  252 C 2906 þ@â60 1 280 C 2907 45 1 298 C 2927 225 1 338 C 2938 60.80 1 396 C 2981 34 1 399 C 2991 31 1 406 C 2986 22 1 438 C 3000 230 1 439 C 3001 359 1 442 C 3010 69 1 467 C 3045 10 1 508 C 3062 31 1 AMOUNT = 1.3þº87E+03 2 3 47 98 141 186 242 299 300 345 387 417 418 419 420 SEARCH KEY 2 3 C 2763 1850.16 2 47 C 2792 1850.16 2 98 C 2803 1850.16 2 141 C 2826 1850.16 2 186 C 2865 1850.1þ•6 2 242 C 2897 1850.16 2 299 C 2928 1850.16 2 300 C 2929 395.75 2 345 C 2945 1850.16 2 387 C 2985 1850.16 2 417 C 3013 550 2 418 C 3014 93.39 2 419 C 3015 368.32 2 420 C 3018 414.75 2 AMOUNT = 1.847E+04 þ¹î 3 48 102 142 188 237 302 342 354 370 410 443 450 455 458 459 460 464 465 466 471 504 506 SEARCH KEY 3 48 C 2793 115 3 102 C 2807 115 3 142 C 2827 115 3 188 C 28þ3¤67 115 3 237 C 2892 115 3 302 C 2931 115 3 342 C 2942 115 3 354 C 2958 25 3 370 C 2959 30 3 410 C 2993 30.95 3 443 C 3012 600 3 450 C 3023 535.05 3 455 C 3028 44.82 3 458 C 3033 215.05 3 459 C 3034 6.3þˆ 0 3 460 C 3035 230 3 464 C 3039 55.06 3 465 C 3042 88.17 3 466 C 3043 49.80 3 471 C 3052 612.92 3 504 C 3058 385 3 506 C 3060 6.95 3 AMOUNT = 3.720E+03 4 9  122 123 149 160 161 162 245 þQà 304 334 374 408 409 411 414 454 497 500 510 SEARCH KEY 4 9 C 2771 630.50 4 122 C 2822 1291.19 4 123 C 2823 275.82 4 149 C 2833 64.59 4 160 C 2847 739.11 4 161 C 2848 108.10 4 162 þ� C 2849 341.33 4 245 C 2900 717.86 4 304 C 2934 83.31 4 334 C 2908 601.81 4 374 C 2965 174.85 4 408 C 2989 2 4 409 C 2990 890.60 4 411 C 3003 63.01 4 414 C 3006 190.25 4 454 C 3027 327.12 4 497 C 3041 3.57 þ«¾4 500 C 3053 256.07 4 510 C 3072 129.64 4 AMOUNT = 6.890E+03 5 11 13 14 39 40 44 49 52 118 119 153 154 155 158 159 168 169 181 184 187 192 193 199 200 þB 201 202 203 204 233 234 238 241 244 249 291 303 329 330 331 336 400 407 415 416 444 446 SEARCH KEY 5  11 C 2777 47.70 5 13 C 2780 6.94 5 14 C 2781 64.25 5 þÅ@39 C 2778 258.40 5 40 C 2782 160.96 5 44 C 2788 93.70 5 49 C 2794 75 5 52 C 2797 150 5 118 C 2818 13.80 5 119 C 2819 30 5 153 C 2837 30 5 154 C 2838 12.25 5 155 C 2839 10.94 5 158 C 2844 176 5 159 þj� C 2845 446.10 5 168 C 2858 9.93 5 169 C 2860 28.50 5 181 C 2846 33.44 5 184 C 2857 83.07 5 187 C 2866 30.29 5 192 C 2871 546.84 5 193 C 2872 68.98 5 199 C 2880 11.25 5 200 C 2881 23.85 5 201 C 2882 49.52 5þð# 202 C 2883 9.80 5 203 C 2886 24.45 5 204 C 2889 77 5 233 C 2887 30 5 234 C 2888 41.62 5 238 C 2893 27.46 5 241 C 2896 16.85 5 244 C 2899 177 5 249 C 2904 169.04 5 291 C 2915 26 5 303 C 2932 18.02 5 þ�¥ 329 C 2914 101.18 5 330 C 2916 70.65 5 331 C 2917 76.47 5 336 C 2933 51.22 5 400 C 2992 7.50 5 407 C 2987 47.20 5 415 C 3009 89.20 5 416 C 3011 61.95 5 444 C 3016 4 5 446 C 3019 31 5 AMOUNT = 3.619E+03 þ ï 6 112 194 195 294 468 512 513 SEARCH KEY 6 112 C 2812 63.75 6 194 C 2874 298.05 6 195 C 2875 766.49 6 294 C 2920 153.50 6 468 C 3046 5428.82 6 512 C 3077 10.77 6 513 C 3079 37.50 6 AMOUNT = 6.758E+þæí03 7 113 385 501 SEARCH KEY 7 113 C 2813 545 7 385 C 2979 500 7 501 C 3054 1743.66 7 AMOUNT = 2.788E+03  8 5 6 7 15 45 100 105 185 232 236 293 398 505 507 SEARCH þÛBKEY 8 5 C 2765 314.49 8 6 C 2766 314.49 8 7 C 2767 100 8 15 C 2786 228.23 8 45 C 2790 1000 8 100 C 2805 125 8 105 C 2810 131 8 185 C 2864 25.83 8 232 C 2863 32 8 236 C 2891 129.76 8 293 C 2919 þêw263.44 8 398 C 2988 17.50 8 505 C 3059 172.14 8 507 C 3061 646.33 8 AMOUNT = 3.500E+03 9 381 SEARCH KEY 9 381 C 2973 1550 9 AMOUNT = 1.550E+03 10 1 296 350 397 437 440 441 451 SEARCH KEY 10þ˜ 1 C 3049 44.55 10 296 C 2925 54 10 350 C 2950 150.70 10 397 C 2984 7.68 10 437 C 2999 80 10 440 C 3007 37.12 10 441 C 3008 12.40 10 451 C 3024 12.60 10 AMOUNT = 3.990E+02 11 10 164 346 498 SEþJ¤ARCH KEY 11 10 C 2774 38.75 11 164 C 2851 26.19 11 346 C 2946 20.76 11 498 C 3048 22.56 11 AMOUNT = 1.082E+02 12 16 17 18 19 20 21 22 23 25 53 54 55 56 57 58 59 þ¢D 60 61 62 63 64 65 66 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 126 127 128 129 130 131 132 137 170 171 þqD 172 173 174 175 176 205 206 207 208 209 210 211 212 213 214  215 216 217 218 219 220 221 223 254 255 256 257 258 259 260 264 265 266 272 273þ�‹ 274 307 308 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 357 358 360 378 421 422 423 424 434 435 516 517 SEARCH þ¶#KEY 12 16 EM 665 1102.70 12 17 EM 666 1209.04 12 18 EM 667 1350.43 12 19 EM 668 199.40 12 20 EM 669 550.32 12 21 EM 670 539.29 12 22 EM 671 526.45 12 23 EM 672 344.29 12 25 EM 680 411.53 12 53 EMþ/ 674 1360.43 12 54 EM 675 209.40 12 55 EM 676 1053.55 12 56 EM 677 1083.87 12 57 EM 678 516.30 12 58 EM 679 550.39 12 59 EM 681 276.95 12 60 EM 684 209.40 12 61 EM 685 1101.20 12 62 EM 686 1580.40 12 þ´o 63 EM 687 533.66 12 64 EM 688 610.74 12 65 EM 689 422.46 12 66 EM 690 215.64 12 76 EM 683 1360.43 12 77 EM 691 209.40 12 78 EM 692 981.35 12 79 EM 693 1050.72 12 80 EM 694 479.62 12 81 EM 695 554.62þ¸% 12 82 EM 696 369.47 12 83 EM 697 329.08 12 84 EM 699 1398.97 12 85 EM 700 194.48 12 86 EM 701 1016.68 12 87 EM 702 1156.68 12 88 EM 703 563.99 12 89 EM 704 640.40 12 90 EM 705 470.84 12 91 EM 706þ 483.71 12 126 EM 711 1408.97 12 127 EM 712 204.48 12 128 EM 713 1091.05 12 129 EM 714 1096.88 12 130 EM 715 595.09 12 131 EM 716 613.84 12 132 EM 717 514.82 12 137 EM 718 482.51 12 170 EM 722 1032.90 12 171þ¤î EM 723 1408.97 12 172 EM 725 1166.68 12 173 EM 726 527.17 12 174 EM 727 560.96 12 175 EM 728 492.78 12 176 EM 729 298.75 12 205 EM 724 204.48 12 206 EM 731 1408.97 12 207 EM 732 204.48 12 208 EM 733 863.83 12 þE 209 EM 734 915.34 12 210 EM 735 368.67 12 211 EM 736 514.29 12 212 EM 737 430.51 12 213 EM 738 322.85 12 214 EM 740 1420.97 12 215 EM 741 204.48 12 216 EM 742 1131.44 12 217 EM 743 1096.04 12 218 EM 744 551þ]Õ.67 12 219 EM 745 640.60 12 220 EM 746 385.40 12 221 EM 747 360.91 12 223 EM 751 1049.82 12 254 EM 749 1424.97 12 255 EM 750 204.48 12 256 EM 752 992.88 12 257 EM 753 551.67 12 258 EM 754 550.23 12 259 EM þÒª755 431.37 12 260 EM 756 343.46 12 264 EM 762 1017.67 12 265 EM 763 929.08 12 266 EM 764 518.89 12 272 EM 765 271.86 12 273 EM 766 384.02 12 274 EM 767 256.22 12 307 EM 768 1426.97 12 308 EM 769 204.48 12 31þO1 EM 771 864.72 12 312 EM 772 1001.57 12 313 EM 774 640.60 12 314 EM 775 302.19 12 315 EM 776 451.39 12 316 EM 777 429.02 12 317 EM 778 314.65 12 318 EM 780 568.52 12 319 EM 781 993.27 12 320 EM 784 551.67 12 þ¬ 321 EM 785 993.62 12 322 EM 786 993.62 12 323 EM 787 444.04 12 324 EM 788 375 12 325 EM 789 415.74 12 326 EM 790 204.48 12 327 EM 791 1426.97 12 328 EM 792 1426.97 12 357 EM 794 1426.97 12 358 EM 795 204.48 þÞB12 360 EM 793 561.13 12 378 C 2970 22000 12 421 EM 798 204.48 12 422 EM 799 204.48 12 423 EM 800 1426.97 12 424 EM 801 426.97 12 434 EM 804 1426.97 12 435 EM 805 204.48 12 516 C 660 484.10 12 517 EM 815 887þˆ„.50 12 AMOUNT = 1.021E+05 14 24 26 67 92 93 138 139 177 178 189 222 224 263 275 276 301 359 436 SEARCH KEY 14 24 EM 673 2468.66 14 26 EM 682 2234.86 14 67 EM 69þ\ï8 3861.48 14 92 EM 707 2984.02 14 93 EM 708 555.34 14 138 EM 719 3016.96 14 139 EM 720 125.24 14 177 EM 730 2831.26 14 178 EM 739 2326.89 14 189 C 2868 27.76 14 222 EM 748 2850.69 14 224 EM 758 2575.50 14 þµ÷263 EM 761 80.68 14 275 EM 782 2500 14 276 EM 783 1956.74 14 301 C 2930 2839.54 14 359 EM 796 2090.76 14 436 EM 809 1835.96 14 AMOUNT = 3.716E+04 15 94 95 140 253 261 262 333 366 SEARCH KEY 15 9þ�14 EM 709 310.37 15 95 EM 710 1372.35 15 140 EM 721 879.67 15 253 C 2909 81.22 15 261 EM 759 1391.48 15 262 EM 760 1569.95 15 333 C 2910 897 15 366 EM 797 360.94 15 AMOUNT = 6.863E+03 17 4 103 114 14þc�3  157 165 230 243 250 297 337 348 356 457 470 485 SEARCH KEY 17 4 C 2764 552.87 17 103 C 2808 1105.74 17 114 C 2814 1406.50 17 143 C 2828 552.87 17 157 C 2843 1444.50 17 165 C 2853 611.5þ�_3 17 230 C 2861 611.53 17 243 C 2898 601.53 17 250 C 2905 300 17 297 C 2926 306.79 17 337 C 2937 398 17 348 C 2948 124.89 17 356 C 2962 1000 17 457 C 3032 202.96 17 470 C 3051 164 17 485 C 2912 787.00 17 Aþ›ÛMOUNT = 1.017E+04 18 8 37 145 190 196 247 248 339 447 SEARCH KEY 18 8 C 2770 20.07 18 37 C 2775 12.82 18 145 C 2830 88 18 190 C 2869 80 18 196 C 2877 16 18 247 C 2902 3 18 24þ 8 C 2903 22 18 339 C 2939 19.75 18 447 C 3020 8 18 AMOUNT = 2.696E+02 20 33 96 SEARCH KEY 20 33 C 2768 677.50 20 96 C 2800 38 20 AMOUNT = 7.155E+02 21 502 511 SEARCH KEY 21 502  C 3055 1200 21 þ‚Ü 511 C 3074 2500 21 AMOUNT = 3.700E+03 22 150 355 401 448 449 SEARCH KEY 22 150 C 2834 157.50 22 355 C 2961 100 22 401 C 2994 196.14 22 448 C 3021 262.25 22 449 C 3022 34.90 22 AMOUNT = 7.507E+02 þª 23 35 38 41 115 182 183 191 198 235 239 332 402 403 404 405 412 456 477 488 495 SEARCH KEY 23 35 C 2772 736 23 38 C 2776 7.30 23 41 C 2783 563.93 23 115 C 2815 3þ‚¡68 23 182 C 2852 101.44 23 183 C 2856 513.12 23 191 C 2870 736 23 198 C 2879 1633.42 23 235 C 2890 104.82 23 239 C 2894 3.95 23 332 C 2913 133.61 23 402 C 2995 60.93 23 403 C 2996 202.41 23 404 C 2997 20.58þ"^ 23 405 C 2998 118.46 23 412 C 3004 5.80 23 456 C 3029 397.33 23 477 C 2799 157. 23 488 C 2924 368 23 495 C 3030 626.30 23 AMOUNT = 6.858E+03 24 50 144 469 SEARCH KEY 24 50 C 2795 114.48 24 144 Cþe¼ 2829 75 24 469 C 3047 300 24 AMOUNT = 4.894E+02 25 12 117 120 121 156 163 179 180 231 240 295 349 382 445 514 519 SEARCH KEY 25 12 C 2779 229.63 25 117 C 2817 151.18 25 120 C 2þž„820 692 25 121 C 2821 100 25 156 C 2842 273.55 25 163 C 2850 428.08 25 179 C 2840 770.93 25 180 C 2841 32.27 25 231 C 2862 171.16 25 240 C 2895 244.30 25 295 C 2921 1159.13 25 349 C 2949 106.45 25 382 C 297þqÏ5 294.74 25 445 C 3017 1208.43 25 514 C 3080 1298.05 25 519 C 3073 1340.73 25 AMOUNT = 8.500E+03 26 34 42 43 46 124 125 146 147 152 246 384 499 503 509 515 SEARCH KEY 26 34 C 2þ7u769 125 26 42 C 2784 67 26 43 C 2785 45.00 26 46 C 2791 100 26 124 C 2824 100 26 125 C 2825 25 26 146 C 2831 20 26 147 C 2832 108 26 152 C 2836 25 26 246 C 2901 50 26 384 C 2978 35 26 499 C 3050 35 þ}®26 503 C 3057 60 26 509 C 3063 30 26 515 C 3056 10 26 AMOUNT = 8.350E+02 27 167 292 343 344 352 353 368 369 433 452 461 462 463 496 SEARCH KEY 27 167 C 2855 500 27 292 C 2918 336þ©.98 27 343 C 2943 350 27 344 C 2944 100 27 352 C 2952 1057.58 27 353 C 2953 830 27 368 C 2956 60 27 369 C 2957 125 27 433 EM 803 1207.97 27 452 C 3025 547.25 27 461 C 3036 50 27 462 C 3037 288 27 463 CþÁö 3038 150 27 496 C 3031 30 27 AMOUNT = 5.632E+03 28 116 306 SEARCH KEY 28 116 C 2816 600 28 306 C 2936 1390 28 AMOUNT = 1.990E+03 32 2 340 341 347 351 367 371 372 373 375 376 þõY377 379 380 383 386 413 453 SEARCH KEY 32 2 C 3065 223.70 32 340 C 2940 30.95 32 341 C 2941 31.65 32 347 C 2947 75.64 32 351 C 2951 8.46 32 367 C 2955 1301.13 32 371 C 2960 10.35 32 372 C þ´®2963 178.83 32 373 C 2964 270.22 32 375 C 2966 81.63 32 376 C 2967 365.44 32 377 C 2968 34.70 32 379 C 2971 1500 32 380 C 2972 398.04 32 383 C 2976 548.34 32 386 C 2983 398.04 32 413 C 3005 81.83 32 453 C 3þl/026 40 32 AMOUNT = 5.578E+03 33 305 SEARCH KEY 33 305 C 2935 56 33 AMOUNT = 5.600E+01 ÿFLOAD.SVúÆÌÏAD.SVÿSYS.LBúSYS.ÌBÿBTREE.PAûrrþŽzPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARþX©RAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEþÂM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OFþŠ A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*)  NEW (B); IF R <= N THEN BEGINþ›r IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[þ*ZI] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEYþ½¥ X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1þ�/; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROþdCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDUREþ¬Z UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.EþS[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.EþH[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO þìC^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROMþ PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; Aþ¿½^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REþʇF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END ENDþÒ¹ END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THENþþ� L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DþvÌO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THENþz` BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN þ¥ABEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*)  END END ; PRINTTREE(ROOT,1); READ(X) END END . ÿT3.û½½ þ¦œPROGRAM T3 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN WHILE NOT EOF(INPUT) DO BEGIN READ (INPUT,YEARN); WRITELN (OUTPUT,YEARN); END; END. ÿT21.ûÐ2 þÛ<PROGRAM T21; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN ( IOFILENUMBER : INTEGER );EXTERNAL; BEGIN IOFILE := 8; FILENAME := 'INPUTFILE0.DR'; OPEN (IOFILE) END. ÿSEQ.û¸·7þo; READ SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; RDSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAR NBYTESREAD:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS IS ON THE STACK ; AC3-1 NBYTESREADþÜ* BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .TITL SEQ .ENT ?RDSQ .EXTN XPRET .NREL ERROR=0 NBRED=ERROR-1 NBYTES=NBRED-1 BUFFER=NBYTES-1 IOþׄCHAN=BUFFER-1 ?RDSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO READ IN LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .RDS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OF NO ERþë—RORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBRED,3 ;GET BYTE ADDRESS OF NBRED MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBRED TO PASCAL SUBO 1,1 ;WARNþð° XPRET PROCEDURE RETURNS XPRET ; WRITE SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; WRSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAR NBYTESWROTE:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS þ:IS ON THE STACK ; AC3-1 NBYTESWROTE BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .ENT ?WRSQ ERROR=0 NBWRO=ERROR-1 NBYTES=NBWRO-1 BUFFER=NBYTES-þ‹ì1 IOCHAN=BUFFER-1 ?WRSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO WRITE OUT LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .WRS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OþúF NO ERRORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBWRO,3 ;GET BYTE ADDRESS OF NBWRO MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBWRO TO PASCAL SUBO 1,1þ-Æ„ ;WARN XPRET PROCEDURE RETURNS XPRET .END ÿBYTE.02û»¸ þ,{;PASCAL SUBROUTINES GET BYTE AND PUT BYTE ; ; CALL VIA PBYT(BYTE,BYTE POSITION,STRING) ; PBYT(VAR BYTE:INTEGER; POSITION:INTEGER;STRING:CHARS);EXTERNAL; ;OR PBYT(BYTE:CHAR;POSITION:INTEGER;STRING:CHARS);EXTERNAL; ; SWAP(VAR WORD;INTEGER);EXTERNAL; ; GBYTEþx½(VAR BYTE:INTEGER;POSITION:INTEGER; STRING:CHARS);EXTERNAL; ; WHERE CHARS IS ARRAY[1..N] OF CAHAR OR INTEGER .TITL BYTE .ENT ?SWAP,?PBYT,?GBYT .ENT PUTB,GETB .EXTD XPRET,RHB,LHB .NREL WORD=0 STRNG=0 POS=-1 BYTE=-2 ?SWAP: STA 3,USP ;RESTORE USPþ€ FOR NOW LDA 2,WORD,3 ;POINTER TO WORD MOVZR 2,2 ;MAKE ADDRESS AND SET CARRY IF RHBYTE LDA 0,0,2 ;GET WORD MOVS 0,0 STA 0,0,2 ;RETURN BYTE IN RHB TO PASCAL SUBO 1,1 ;PROCEDURE RETURNS TO PASCAL XPRET ?GBYTE: LDA 2,STRNG,3 ;POINTER TO STRING BEGþëINNING LDA 1,POS,3 ;VALUE OF BYTE POSTION TO BE GOTTEN ADD 1,2 ;MAKE POINTER TO BYTE POSITION JSR @.+1 GETB LDA 3,SP ;RESTORE STACK POINTER LDA 2,BYTE,3 ;GET POINTER TO BYTE IN PASCAL MOVZR 2,2 ;MAKE ADDRESS STA 0,0,2 ;RETURN BYTE TO PASCAL þ¿ÍSUBO 1,1 XPRET ?PBYTE: LDA 2,BYTE,3 ;GET BYTE POINTER TO BYTE TO BE PUT MOVZR 2,2 ;GET BYTE ADDRESS IN AC2 LDA 0,0,2 ;BYTE NOW IN AC0 LDA 1,RHB ;GET RHB MASK AND 1,0 ;AND OUT LH BYTE LDA 2,STRNG,3 ;GET POINTER TO STRING START LDA 1,POS,3 ;GETþ,¢ VALUE OF BYTE POSITION TO BE STUFFED ADD 1,2 ;POINTER TO BYTE IN AC2 JSR @.+1 PUTB SUBO 1,1 ;PROCEDURE RETURNING XPRET ; ROTINE TO WRITE A BYTE TO A GIVEN BYTE ADDRESS ; CONDITIONS ; CALL VIA ; JSR @+.1 ; PUTB ; ; ENTRY ; AC0 - BYTE TO BE WRITTEN IþFÞN RH BYTE ; AC1 - UNDEFINED ; AC2 - BYTE POINTER WHERE TO PUT BYTE ; AC3 - RETURN TO THIS ADDRESS ; ; RETURN ; AC0UNDEFINED ; AC1 - UNDEFINED ; AC2 - UNDEFINED ; AC3 - UNDEFINED ; PUTB: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;RIGHT HAND BYTE ADDRESþ8BS MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SKIP IF LHB ;NOTE CARRY IS SET IF LHB MOVS 0,0,SKP ;SWAP BYTES IN WORD TO BE PUT ;AND SKIP NEXT INSTRUCTION MOVS 1,1 ;SWAP MASK IF LH BYTE LDA 3,0,2 ;LD AC3,WITH WORD TO RECEIVE BYTE AND 1,3 þý;AND OUT OTHER BYTE ADD 0,3 ;ADD IN BYTE TO BE PUT STA 3,0,2 ;RESTORE UPDATED WORD LDA 3,USP JMP 1,3 ;RETURN TO CALLER +2 ; ROUTINE TO GET A BYTE ; CALL VIA ; JSR @.+1 ; GETB ; RETURNS TO HERE ; CONDITIONS ; ; ENTRY ; AC0 - UNDEFINED ; AC1 - UNDEþdFFINED ; AC2 - BYTE POINTER TO BYTE LOCATION ; ; EXIT ; AC0 - VALUE OF BYTE IN RH BYTE (MASKED TO RHB) ; AC1 - UNDEFINED ; AC2 - UNDEFINED GETB: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;GET RHB MASK MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SET CAþÿ#åRRY ;IF LHBYTE. SKIP IF LHBYTE MOVS 1,1 ;SWAP MASK BYTES TO MAKE LHB MASK LDA 0,0,2 ;GET WORD CONTAINING BYTE AND 1,0,SNC ;AND OUT OTHER BYTE AND SKIP IF LHBYTE MOVS 0,0 ;SWAP LHBYTE INTO RHBYTE LDA 3,USP JMP 1,3 ;RETURN TO CALLER +2 .END ÿPRETTYPRIN.PXûÜÜ :þþÿTEST2.PAû½½ þꉋPROGRAM TEST(INPUT,OUTPUT); VAR I : INTEGER; X : REAL; BEGIN WRITELN( 'WELCOME TO PROG TEST2'); X := 1.1; I := 3; X := I*X; WRITELN( ' LINE 1',X : 6 : 2,I); I := TRUNC(X); X := I; WRITELN(' LINE 2',I,X : 6 : 2) END. ÿGCHAR.PIû޽ þJTPROCEDURE GCHAR( VAR CHARACTER : INTEGER); {GCHAR GETS ONS CHARACTER FROM THE SYSTEM CONSOLE} CONST DOTERTN = 3328; {15B7} DOTGCHAR = 3840; {.GCHAR} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN þÌÁ MODE := SIMPLE; CALLNUM := DOTGCHAR; SYSCALL(REQUEST); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; CHARACTER := R0.INT; END; RELEASE(HEAP); END; {GCHAR} ÿPL.ûrq þñâPROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVELþ%ˆ OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VAþáIRSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEþ¬åL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP þú×TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : þ¨INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF Pþy-ACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER);þ~¬ BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITELN(þµ$CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDEþø�NTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVþ ED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN þåA BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES;þï GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := þ êZ END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INþ …TEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT þ³z: BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VþjmAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN þ8rBEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THþQfEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODE} PROCEDþ¦TURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSþwùYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR);þ PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPAREN THEN þ¾Ã BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETþÄRSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERMþÖQ(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYMþ—U THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8þ,Ì); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KINþÝeD <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETþSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;COþ&×NDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYSþžf DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF þ`SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM Tþ+ˆHEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END; IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; þRc WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4)þp; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLþß½BEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET;þˆC CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGþ6 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T]þ á := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 þ,ã: BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])) END; 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-þö/1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]<=S[T+1]) END END ;{CASE} LOD : BEGIN T := T+1;S[T] := S[BASE(L)+A] END; STO : BEGIN S[BASE(L)+A] := S[T]; WRITELN((S[T]));T := T-1 ENþ‘žD; CAL : BEGIN {GENERATE NEW BLOCK MARK} S[T+1] := BASE(L);S[T+2] := B; S[T+3] := P; B := T+1; P := A END; INT : T := T+A; JMP : P := A; JPC : BEGIN IF S[T] = 0 THEN P := A;T := T-1; END END {WITH,CASE} UNTIL P = 0; WRITE('END OF PL/0'); ENþIèD {INTERPRET}; BEGIN {MAIN PROGRAM} FOR CH := 'A' TO ';' DO SSYM[CH] := NUL; WORD[1] := 'BEGIN '; WORD[2] := 'CALL '; WORD[3] := 'CONST '; WORD[4] := 'DO '; WORD[5] := 'END '; WORD[6] := 'IF '; WORD[7] := 'ODD '; WOþhïRD[8] := 'PROCEDURE '; WORD[9] := 'THEN '; WORD[10]:= 'VAR '; WORD[11]:= 'WHILE '; WSYM[1] := BEGINSYM; WSYM[2] := CALLSYM; WSYM[3] := CONSTSYM; WSYM[4] := DOSYM; WSYM[5] := ENDSYM; WSYM[6] := IFSYM; WSYM[7] := ODDSYM; WSYM[8] := PROCSYM; WSþ¨ÖYM[9] := THENSYM; WSYM[10] := VARSYM; WSYM[11] := WHILESYM; SSYM['+'] := PLUS; SSYM['-'] := MINUS; SSYM['*'] := TIMES; SSYM['/'] := SLASH; SSYM['('] := LPAREN; SSYM[')'] := RPAREN; SSYM['='] := EQL; SSYM[','] := COMMA; SSYM['.'] := PERIOD; SSYM['!'] := NEQþpÝ; SSYM['<'] := LSS; SSYM['>'] := GTR; SSYM['"'] := LEQ; SSYM['#'] := GEQ; SSYM[';'] := SEMICOLN; MNEMONIC[LIT] := 'LIT '; MNEMONIC[OPR] := 'OPR '; MNEMONIC[LOD] := 'LOD ';MNEMONIC[STO] := 'STO '; MNEMONIC[CAL] := 'CAL '; MNEMONIC[INT] := 'INT '; MNEþjMONIC[JMP] := 'JMP '; MNEMONIC[JPC] := 'JPC '; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIODþ8Ã]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIERþs TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODþ[ZDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OFþR{ SYMBOL;  FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOþGöD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} þ#d ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] þ•‘OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAMEþœ : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; þI PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; þ±‰LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IFþªe ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := þœoK+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROþ5sCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1þ²*) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INþÆgDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BþAnEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAMEþÕr <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANþ×ÈT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VARþÜb I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR Aþb·DDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(IDþo™); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEþn¬N BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) þ END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERþÉRM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS])þîo; IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,þ–(GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0þžê,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I).KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = þNFBECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELþ²fSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0þó€); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; þ« IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(Fþ\ÉSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTANTDþD­ECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE Eþ4ìRROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM;  IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICþ?OLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODþÚE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTIOþêQN; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN Wþ›RITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1þH: : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])); 8 : BEGIN T := T-1;þ .S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1þ8Q;S[T] := ORD(S[T]=] := GTR; SSYM["] := LEQ; SSYM[#] := GEQ; SSYM[;] := SEMICOLN; MNEMONIC[LIT] := 'LIT'; MNEMONIC[OPR] := 'OPR'; MNEMONIC[LOD] := 'LOD';Mþˆ3NEMONIC[STO] := 'STO'; MNEMONIC[CAL] := 'CAL'; MNEMONIC[INT] := 'INT'; MNEMONIC[JMP] := 'JMP'; MNEMONIC[JPC] := 'JPC'; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPþã³òUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. ÿT4.û½) %þ›l¿PROGRAM T4 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN REPEAT READ (INPUT,YEARN); WRITELN (OUTPUT,YEARN) UNTIL EOF(INPUT); END. ÿT31.ûÐ@$þ«í(* FIX FLOT TESTER *) PROGRAM T31 (INPUT,OUTPUT); VAR I : INTEGER; X : REAL; FUNCTION FLOT ( I : INTEGER ):REAL;EXTERNAL; FUNCTION FIX ( X : REAL ):INTEGER;EXTERNAL; BEGIN REPEAT BEGIN WRITELN(OUTPUT,' ENTER X '); READLN (INPUT,X); I := FIX (X); þ0—� WRITELN(OUTPUT,' I=',I); END UNTIL I=0; END. ÿTEST.ûŽŽ%þò PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRþÒ0ING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1:þ�Û (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CAþLßLLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = þi ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR;þ‹ë PDATAFILE,PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR;þf` SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$þ’WI GCHN.PI} {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF;þYš BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEAþã—RCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEþvTGIN X := W.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; þ@ END; {PRINT IN ORDER} PROCEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITþ7ÅE(' ',W.KEY : C1); WRITE(DISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IFþ¿o PCONSOLE THEN WRITE(' ',X^.LNO :C3); WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEþ.œGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FINDþ� (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY);þ¶ø WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINþóÅE); CHECK := REALFIELD(LINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : þ(ÏBOOLEAN; BEGIN REPEAT WRITE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT DATA BASE FILE PRINTED?'); PDATAFILEþüš := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOSþ•â); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); IF PDATAFILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDþÌ INT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREE THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); IF PINDEX THEN PRINTINORDER(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH þp_KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; END. ÿCDC6000.PXû½½ þþÿT5.û½) *þ´3KPROGRAM T5 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN REPEAT READ (INPUT,YEARN); IF NOT EOF(INPUT) THEN WRITELN (OUTPUT,YEARN) UNTIL EOF(INPUT) ; END. ÿOUTPUT.ú$ÌPÔ.ÿT41.û'&.þÈ…PROGRAM T41 (INPUT,OUTPUT); TYPE COORDINATES = RECORD X,Y,Z : INTEGER END; TESTS = (LESSTHAN,GREATERTHAN,EQUALTO,LESSEQUAL, GREATEREQUAL,NOTEQUAL); EQUALITYTEST = SET OF (TESTS); VAR XL,XG,YL,YG,ZL,ZG ,T1,T2 : BOOLEAN; COORD1,COORD2,DELTA : COOþèÇRDINATES; TESTFOR : TESTS; DISTANCE : INTEGER;(*DISTANCE BETWEEN COORDINATES*) FUNCTION COMPARECOORD(COORD1 : COORDINATES; TESTFOR : TESTS; COORD2 : COORDINATES ; DISTANCE : INTEGER) : BOOLEAN; FUNCTION TESTEQUAL : BOOLEAN; BEGIN TESTEQUAL := NOT(XLþN" OR XG OR YL OR YG OR ZL OR ZG) END; FUNCTION TESTLESS : BOOLEAN; BEGIN TESTLESS := XL OR NOT(XL OR XG)AND(YL OR NOT(YL OR YG)AND ZL) END; FUNCTION TESTGREATER : BOOLEAN; BEGIN TESTGREATER := XG OR NOT(XL OR XG)AND(YG OR NOT(YL OR YG)AND ZG) END; BEGINþp2 DELTA.X := COORD1.X-COORD2.X; DELTA.Y := COORD1.Y-COORD2.Y; DELTA.Z := COORD1.Z-COORD2.Z; WITH DELTA DO DISTANCE := X*X + Y*Y +Z*Z; WITH DELTA DO BEGIN XL := X <0; XG := X >0; YL := Y <0; YG := Y >0; ZL := Z <0; ZG := Z >0; END; (*WITH*)þä IF XL THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF XG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; IF YL THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF YG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; IF ZL THEN WRþ0;ITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF ZG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; CASE TESTLESS OF TRUE : WRITELN(OUTPUT,' LESS TR','UE'); FALSE : WRITELN(OUTPUT,' LESS FA','LSE') END; CASE TESTGREATER OF TRUE : WRITELN(þà4OUTPUT,' GREATER',' TRUE'); FALSE : WRITELN(OUTPUT,' GREATER',' FALSE') END; CASE TESTEQUAL OF TRUE : WRITELN(OUTPUT,' EQUAL'); FALSE : WRITELN(OUTPUT,' NOT EQUAL') END; (*CASE*) END; BEGIN (*COMPARECOORD*) REPEAT WRITELN(OUTPUT,' ENTER XYþ>ZS'); WITH COORD1 DO BEGIN READLN(INPUT,X,Y,Z); WRITELN(OUTPUT,X,Y,Z) END; (*WITH*) WITH COORD2 DO BEGIN READLN(INPUT,X,Y,Z); WRITELN(OUTPUT,X,Y,Z) END; (*WITH*) WRITELN(' ENTER TEST'); WRITELN(' 1 LESS'); WRITELN(' 2 GREATER'); WRITþ$…ELN(' 3 EQUAL'); WRITELN(' 4 GREATERQ'); WRITELN(' 5 LESSEQ'); WRITELN(' 6 NOTEQ'); READ(DISTANCE); CASE DISTANCE OF 1: TESTFOR := LESSTHAN; 2: TESTFOR := GREATERTHAN; 3: TESTFOR := EQUALTO; 4: TESTFOR := GREATEREQUAL; 5: TESTFOR := LESSEQUAL; þú'6: TESTFOR := NOTEQUAL END; (*CASE*) CASE COMPARECOORD(COORD1,TESTFOR,COORD2,DISTANCE) OF LESSTHAN: WRITELN(' LESSTHAN'); GREATERTHAN: WRITELN(' GREATER'); EQUALTO: WRITELN(' EQUALTO'); LESSEQUAL: WRITELN(' LESSEQ'); GREATEREQUAL: WRITELN(' GREATEQþoÏ'); NOTEQUAL: WRITELN(' NOTEQUAL') END; (*CASE*) WRITELN(OUTPUT,' DIST=',DISTANCE); UNTIL EOF(INPUT) END. ÿ1978.úP±9·¸.Ò±ÿNODES.01û þ‹MPROGRAM NODES (INPUT,OUTPUT); TYPE NODES = RECORD X, Y : REAL; LINKPOS : INTEGER END; LINKS = RECORD FROMNODE, TONODE, ATTRIBUTES :INTEGER END; VAR NODE : ARRAY [1..20] OF NODES; LINK : ARRAY [1..50] OF LINKS; NEWLINK : LINKS; NEWNODE þÆs: NODES; DELETEDLINKNO, DELETEDNODENO, NUMBOFLINKS, NUMBOFNODES : INTEGER; PROCEDURE ADDNODE (NEWNODE:NODES); BEGIN NUMBOFNODES := NUMBOFNODES+1; NODE[NUMBOFNODES] := NEWNODE END; PROCEDURE DELETENODE (DELETEDNODENO:INTEGER); VAR I : INTEGER; þc3 BEGIN FOR I := DELETEDNODENO TO NUMBOFNODES DO NODE[I] := NODE[I+1]; NUMBOFNODES := NUMBOFNODES-1 END; PROCEDURE EXPANDLINK (SPACE :INTEGER); VAR I : INTEGER; BEGIN FOR I := NUMBOFLINKS DOWNTO NODE[ NEWLINK.FROMNODE+1].LINKPOS DO LINK[I+1] := þ4ñLINK[I]; WHILE (( LINK[I-1].TONODE > NEWLINK.TONODE ) AND (LINK[I-1].ATTRIBUTES > NEWLINK.ATTRIBUTES ) AND (LINK[I-1].FROMNODE = NEWLINK.FROMNODE )) DO BEGIN I := I-1; LINK[I+1] := LINK[I] END; SPACE := I END; PROCEDURE ADDLþÊŽINK (NEWLINK : LINKS); VAR SPACE : INTEGER; BEGIN EXPANDLINK (SPACE); LINK[SPACE] := NEWLINK END; PROCEDURE DELETELINK( DELETEDLINKNO : INTEGER); VAR I : INTEGER; BEGIN FOR I := DELETEDLINKNO TO NUMBOFLINKS DO LINK[I] := LINK[I+1]; NUMBOFLINKSþçc := NUMBOFLINKS-1 END; BEGIN NODE[1].X := 2; NODE[2].X :=4; IF NODE[1] = NODE[2] THEN WRITELN(OUTPUT,' NEW=DELETED') ELSE WRITELN(OUTPUT,' NEW<>DELETED'); NODE[1] := NODE[2]; WRITELN(OUTPUT,' ',NODE[1].X,NODE[1].Y) END. ÿCROSSREF.02ûw`þë�PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TRACE = FALSE; (*SET FOR TRACE TYPE WRITELNþ‡='S*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; TEXT = FILE OF CHAR; WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; COMPARATIþWVE = (LESS,GREATER,EQUAL); VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : ALFA; F : TEXT; A,B : ARRAY [1..C1] OF CHAR; FUNCTION KOMPAR ( A : ALFA; B : ALFA; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INþì‰TEGER; T : COMPARATIVE; BEGIN T := EQUAL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN IF TRACE THEN WRITELN(' KOMPAR ',A[I],' ',B[I]) ; BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS EþyËND; IF TRACE THEN BEGIN CASE T OF EQUAL : WRITELN(' KOMP ='); LESS : WRITELN(' KOMP <'); GREATER : WRITELN(' KOMP >'); END END; I := I+1 END; KOMPAR := T END; PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF;J : IþòNTEGER; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN (* KEY := ID*) FOR J := 1 TO C1 DO BEGIN KEY[J] := A[J];IF TRACE THEN WRITELN(' KEY,A[J]',KEY[J],' ',A[J]) END; LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X þØÒ END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE CASE KOMPAR (A,W^.KEY,1,C1) OF LESS : BEGIN IF TRACE THEN WRITELN(' LESS');SEARCH (W^.LEFT) END; GREATER : BEGIN IF TRACE THEN WRITELN(' GREATER'); SEARCH (W^.RIGHT) END; EQUAL : BEGIN IF TþgDRACE THEN WRITELN(' EQUAL'); NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END (* IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LASþÈdT^.NEXT := X;W^.LAST := X END *) END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' þë':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NþñnIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A','B','C','D','E','F','G','H','I','J'þЦ,'K' ,'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; (*PACK(A,1,ID);*)SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTEþö" OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. ÿTEST1.û޽ þÉàPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; NUMBERS = SET OF '0'..'9'; VAR CH : CHAR; DIGITS : NUMBERS; STR : ALPHANUMERIC; I : INTEGER; R : REAL; PROCEDURE NUMB( STR : ALPHANUMERIC); VAR CH : CHAR; I,LEN,CKNUMBER : INTEGER; BEþŠãGIN CKNUMBER := 0; I :=1; LEN := LENGTH(STR); WHILE I <= LEN DO BEGIN CH := STR[I]; IF CH IN DIGITS THEN BEGIN CKNUMBER := CKNUMBER*10+ORD(CH)-48; WRITELN(OUTPUT,I,' ',CH,' ',ORD(CH),' ',CH,' ',CKNUMBER); END; I := I+1; END; END; þtà BEGIN DIGITS := ['0'..'9']; REPEAT BEGIN READLN(STR); WRITELN(STR); NUMB(STR); END; UNTIL EOF(INPUT); END. ÿR.PAû½½þ”—PROGRAM TEST (INPUT,OUTPUT); VAR R : REAL; PROCEDURE REALPRINT (R : REAL); VAR I,J,DIGIT : INTEGER; R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; { WRITELN(' GETDIGIT,DIGIT='þö,DIGIT);} END; {GETDIGIT} BEGIN {do decimal part first} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[10-J] := CHR(DIGIT+48); J :=J+1; { WRITELN(' CHR(DIGIT):=',CHR(DIGIT+48));} END; þnSTR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITELN(' STRING=',STR); END;þ„oƒ{OF REALPRINT} BEGIN REPEAT BEGIN WRITELN(' ENTER A REAL NUMBER'); READ(R); REALPRINT(R); END; UNTIL EOF(INPUT); END. ÿ1978EMP.û½f (þg†E 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 487 1787.44 E 486 389.02 E 484 305.68 E 482 626.76 E 481 554.04 E 480 1024.14 E 479 927.20 E 478 1092.27 E 510 304.73 E 509 432.47 E 50þ÷8 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500 372.80 W 499 561.91 W 498 497.97 E 497 926.48 E 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.65 E 528 393.86þ�* E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.80 W 517 277.10 E 516 259.01 E 515 439.51 E 514 398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 þïE 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.38 E 546 924.04 E 547 982.73 E 548 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985þ^¨.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.04 E 561 297.08 E 559 688.29 E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 þ¤¤W 579 483.00 W 580 2210.00 W 581 38.36 E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 E 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 E 593 960.21 E 595 645.08 E 597þ–7 430.98 E 598 343.31 W 600 1863.74 W 602 850.20 E 603 796.26 E 604 802.32 E 605 379.26 E 606 542.91 E 607 283.06 E 608 180.93 E 609 282.18 E 615 369.00 W 617 2861.14 E 625 2210.00 E 627 1209.08 E 628 1158.89 E 629 552.62 E 630 596.12 E 632 359.96 W 634 800þQ.03 E 635 921.48 E 636 1050.72 E 637 533.66 E 638 610.74 E 639 361.79 E 640 201.10 E 645 346.92 E 610 325.46 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E þîá624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 E 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 652 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 ÿDATA.01ûsrþËáB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 1þ—Ú19.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C þi2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 þľDM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 þø5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65þµu 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.þ?ù20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.0þÝ+0 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18þe 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2þ¿ø482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 þ¯k10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00þ4ð 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10þ•† 12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106þ™/.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 CþÁW 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 256þä#8 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.þ¬ 70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 1þD09.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 2þüÂ5 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 28 C 2622 52.30 5 20 C 262þj’3 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538þe C 2638 1200 21 21 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 þI205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35þ¬q 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 þeÝ23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 Cþª 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 18.50 18þ•� 26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 392þýB0.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5þÀJ 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747þö 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 CþA[ 2762 1510 21 29 ÿTST.ûŽŽ þQ€ 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 ÿT6.û½)+þØøPROGRAM T6 (INPUT,OUTPUT); TYPE COLORS = (BLUE,GREEN,PURPLE,RED,BLACK); VAR INCOLOR : COLORS; COLORTYPE : SET OF COLORS; BEGIN READLN (INPUT,COLORTYPE); IF COLORTYPE IN COLORS THEN BEGIN CASE COLORTYPE OF BLUE : WRITELN(OUTPUT,'BLUE'); GREEN,PURþ‹~¨PLE : WRITELN(OUTPUT,'GREEN','PURPLE'); RED,BLACK : WRITELN(OUTPUT,'RED',' BLACK'); END; ELSE WRITELN (OUTPUT,"NOT IN ST"); END; END. ÿT20.ûŽ1þw‚åPROGRAM T20(INPUT,OUTPUT); VAR CHR : CHAR; BEGIN REPEAT READLN(INPUT,CHR) UNTIL (EOLN(INPUT) OR EOF(INPUT)) END. ÿPRETTY.PXû½½ þþÿCBOOK.PXûŽŽ þÏð€CBOOK  Copyright (C) 1981 Rational Dataþ„— Systems½  þrP²¼¶ž$‡žÌ²²¼ضž$‰�–½²¶›Ø0‚Çÿˆ¿¶‚¸¶öÃ�¡²¶›,¿¶‚¸­`²¼¶ž$�žÌ²²¼ضž$‰‡–½²¶›Ø0‚Çÿˆ¿¶‚¸­BƼа¡Ì¹ ÆÆ¼’½ÌÆÆ¼³?zჽƦ ªÌÝ•ÌÝÃÝž$Ƽ´�¡þ‚föÝ••݆•ÌÊáÆÛ•›-¿Ý®®Ä¡Ê̹ܕÌÖÎÜÊáôÆÛ›.¿Û‚Ì®®È¡Ê̹ÜÐÌÖÎÜÊáòÖØ®ÆÏ­C� ÌÆÚªcÌ=Ì<Æ:нÆ¾Ì7ÛøÊ7È¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌ=¹ö¹ðÛøÊ7È¡òÆÛø›¾³ÿ‹¡VÊ<¹<Æ:Æ:¼ Š�0Š–ÆÛø›¾þò�Šƒ½¹0Æ:Æ:¼ÆÛø›¾0•Æ8¼‰‡ƒ½Æ8Æ8¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌ<ÛÛø‚šÆ8 н¹ô¹ÆÛø›¾,áÛÛø‚š¹ôÊ=¹ÆÆ:¼½¹ÆÆ:¼’½¹ ¬¹­')+-Ð9.ÆÙªcÌ6Ì8ƾÌ7ÚøÊ7È¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚø›¾-á ÚÚø‚šÌ8¹öÆÚø›¾³þ«¹ÿ‹¡Ê6 �0•ÆÚø›¾‚Ì6ÚÚø‚šÚøÊ7È¡¹ôÊ8¹ Ê6̹Ê6‘̹ ¬¹­PŽ5 ¦ÆتcƾÌ6Ì8Ì7Ê8Ê6ÉÊ7ÙË„¡_Ê8Ê6ÉÆÊ8›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡Ê8‚Ì8¹öÊ8Ê6ÉÆÊ8›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡Ê8‚Ì8¹ôÊ7‚Ì7¹òÊ8Ê6áÚš¹ÚšÚ¢ÖÆÆ8Κ­ˆR€5 ¤Ö¥þã€Í®¦ ERRORÏÖØ¥ÏÖØÏ­$«<Ö¥¥<Ϋ=¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ CK ÏÖØ§= Ï Ö¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­~ «<¥>Ö¥¥<ν¥@¥>¼½Ö¥€Í®¦ BL ÏÖ¥3¥‚`®ÒÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥@¼Î­T þUu«<¥>Ö¥¥<ν¥@¥@¼¥>¼ƒ½¥B¥B¼¥>¼ƒ½¥F¥F¼¥>¼ƒ½Ö¥€Í®¦ DP ÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í¥@¼Î­p «<¥>Ö¥¥<ν¥@¥@¼¥>¼ƒ½¥B¥B¼¥>¼ƒ½Ö¥€Í®¦ CM ÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í¥@¼Î­d «<¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥þ­>¼ƒ½Ö¥€Í®¦ DM ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­h «<Ö¥¥<Ϋ=Ö¥€Í®¦ CC ÏÖØ§= Ï ­,«<Ö¥¥<Ϋ=¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ EM ÏÖØ§= Ï Ö¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­~«<¥>Öþ2N¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ WH ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­tÆتc«JÆ›¾¹öÆ›¾ á«J¹Æ›¾Cá«J¹Æ›¾Má«J¹ÖιôÆ›¾ á«J¹Æ›¾Má«J¹ÖιmÆ›¾ á«J¹ÖιZÆ›¾ á«J¹ÖιGÆ›¾ áþ¾…«J¹Öι4¬BW¹,A“f4  "$&(*E­82 ØÖ¦ INPUT FILE NAME? ¥‚`®ÒÏÖ¥Ö¥�Þ®ÏØÒcÏÖØÏÖ¥K¥ÏÖ¥KÏÖ¦ OUTPUT FILE NAME? ¥‚`®ÒÏÖ¥Ö¥�Þ®ÏØÒcÏÖØÏÖ¥€Í¥ÏÖ¥€ÍÏÖ¥�O¦LOGFILEÏÖ¥�OÏÖ¦ENTER START AND END CATEþo†GORY¥‚`®ÒÏÖ¥�Úˆ•¤Ö¥�Þ®ÏØÒÏ ÖØ¥�Úˆ•¤Ï ÖØÏÖ¦ENTER START AND END PAGE¥‚`®ÒÏÖ¥�Úˆ•¤Ö¥�Þ®ÏØÒÏ ÖØ¥�Úˆ•¤Ï ÖØÏ­B¥3¦ ª¥@³½¥D³½¥B³½¥H³½¥F³½­JÖ¥€Í®¦ KEY TO TRANSACTION TYþSåPESÏÖØÏÖ¥€Í®¦. C CHECK CC CANCELLED CHECKÏÖØÏÖ¥€Í®¦) CM CREDIT MEMO DM DEBIT MEMOÏÖØÏÖ¥€Í®¦- DP DEPOSIT BL FORCED BALANCEÏÖØÏÖ¥€Í®¦/ EM EMPLOYEE CK WH WITHOLDING CHECKÏÖØÏ­þ_“ Ö¥€ÍÏÖ¥€Í®¦: TYPE CHECK DEBIT CREDIT BALANCEÏÖØÏ­XÖÆ‚`Æ‚žÏÖÆ‚`¦OUTPUTÏÖÆ�ÞÆ‚ÏÖÆ�Þ¦INPUTÏÖÆKÆ€‰ÏÖÆK¦INFILEÏÖÆ€ÍÆ� ÏÖÆ€Í¦OUTFILEÏÖÆ�OÆ��ÏÖÆ�O¦LOGFILEÏÖÏÖÆ�ÞÏÖÆ‚`ÏÖÎÖÎÖÎÖ¥€ÍÏ®þ޹‚㮂âÈ¡ìÊ‚ã«�Ù¹§�ÙЫ�Ù¥�Ú§�Ùˆ•¤ø®‚ä¥�Ú§�Ù‚ˆ•¤ø®‚ãÈ¡ðÊ‚ä«�ع§�ØÐ«�ØÖÎÖ¥€ÍÏÖ¥€Í®‚ä¦CATEGORYÏÖÊ‚ä§�ØÏ ÖÊ‚ä¦FIELDÏÖÊ‚ä§�ÙÏ ÖÊ‚äÏÖÎÖ¥KÏÖ¥KÏ “¡ôÖ¥K®‚äÏÖÊ‚ä¥cÏÖÊ‚äÏÖ¥�O®‚ä¥ÏÖÊ‚äÏÖ¥§�Ù¥�ÑΧ�Ñá^§�Ò§�ØÃ¡U֥ΧJ¹-ÖÎ ¹AÖι<ÖÎ ¹þ;D7ÖÎ ¹2ÖÎ ¹-ÖÎ ¹(Öι#ÖιÖι¬¹41+2*"Ö¥€ÍϹöÖ¥€ÍÏÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTALS ÏÖ¥€Í¥D¼ÎÖ¥€Í¥B¼ÎÖ¥€Í¥@¼ÎÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTAL CHECKS ÏÖ¥€Í¥H¼ÎÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTAL DEPOSITSÏÖ¥€Í¥F¼Î§�ØÊ‚ãáòÖ¦END1¥‚`®‚ãÒÏÖÊ‚ãϧ�ÙÊ‚âþ©µÃ¡îÖ¦END2¥‚`®‚âÒÏÖÊ‚âÏÖÆ‚`ÏÖÆ�ÞÏÖÆKÏÖÆ€ÍÏÖÆ�OÏ­;/_ý¬ä4îôRxÈîhìŒö l Æ J t  Ê Î *þÿREALPRINT.PTû½½þaœ{10/30/80 THIS PROCEDURE PRINTS A REAL NUMBER NO LARGER THAN 32767.00 IN A 10 FIELD STRING WITH 2 DECIMAL PLACES AND A COMMA IF REQUIRED} PROCEDURE REALPRINT (R : REAL); VAR I,J,DIGIT : INTEGER; R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; þbûBEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; WRITELN(' GETDIGIT,DIGIT=',DIGIT); END; {GETDIGIT} BEGIN {do decimal part first} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STþ¨R[10-J] := CHR(DIGIT+48); J :=J+1; WRITELN(' CHR(DIGIT):=',CHR(DIGIT+48)); END; STR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1;þ]µÞ END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITE(STR); END;{OF REALPRINT} ÿTEST1.PAû½½.þ”£PROGRAM TEST1(INPUT,OUTPUT); VAR CH : CHAR; BEGIN REPEAT BEGIN READ(CH); WRITELN(CH,ORD(CH),ORD(CH)-48); END UNTIL EOF(INPUT) END. ÿT30.û!¦&þk¸PROGRAM T27(INPUT,OUTPUT); TYPE ALPHA = ARRAY [1..35] OF CHAR; VAR IOCH,BYTES,ERROR : INTEGER ; BUFFER : ALPHA; FILEEND : BOOLEAN; PROCEDURE OPEN ( VAR FILENO : INTEGER ; FILENAME : ALPHA ; VAR ERRORNUMBER : INTEGER );EXTERNAL; FUNCTION ENDL ( IOCHANNEL þ[ : INTEGER ):BOOLEAN;EXTERNAL; FUNCTION ENDF ( IOCHANNEL : INTEGER ) : BOOLEAN;EXTERNAL; PROCEDURE RDLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : INTEGER ; VAR ERRORNUM : INTEGER );EXTERNAL; PROCEDURE WRLI ( IOCHANNEL : INTEGER ; BUFFER : þQ‚ALPHA ; VAR NBYTESWROTE : INTEGER ; VAR ERRORNUMBER : INTEGER );EXTERNAL; BEGIN (* OPEN (IOCH,'FOBAR',ERROR);*) REPEAT BEGIN RDLI (1,BUFFER,BYTES,ERROR); IF ERROR <> 6 THEN BEGIN WRLI(2,BUFFER,BYTES,ERROR); END ELSE END; UNTIL ENDF(IOCH) = TRUE þ‰�END. ÿT7.û½. þ•–PROGRAM T7 (INPUT,OUTPUT); TYPE PRIMARY = (BLUE,RED,YELLOW); COLOR = SET OF PRIMARY; VAR CH : CHAR; I : INTEGER; STRING : ARRAY[1..8] OF CHAR; HUE : COLOR; BEGIN I := 1; WHILE I<=8 DO BEGIN READ (INPUT,CH); STRING[I] := CH; WRITELN (OUTPUT,' þ9“',I); I :=I+1; END; WRITELN(OUTPUT,' ',STRING); END. ÿTEST.LSûŽŽ )þz FIELDNUMBER) ) DO 387 0þàÎ 12 28 1 BEGIN 388 0 12 28 1 389 0 12 28 1 {LEADING BLANKS AND TABS} 390 0 12 28 1 WHILE ( (I FIELDNUMBER) ) DO 481 0 14 28 1 BEGIN 482 0 14 28 1 483 0 14 28 1 {LEADING BLANKS AND TABS} 484 0 14 28 1 WHILE ( (I<þúLEN) AND NOT (STR[I] IN ['!'..'}']) ) DO I := I+1; 485 0 14 72 1 486 0 14 72 1 {FIELD J} 487 0 14 72 1 WHILE ( (I< LEN) AND (STR[I]IN ['!'..'}']) ) DO I := I+1; 488 0 14 115 1 J := J+1; 489 0 14 121 1 þ!± 490 0 14 121 0 END; 491 0 14 123 0 492 0 14 123 0 IF I = LEN THEN REALFIELD := 0 ELSE 493 0 14 138 1 BEGIN 494 0 14 138 1 REALFIELD := GETREAL(STR,I); 495 0 14 151 0 END;þZŸ 496 0 14 151 0 END; 497 0 14 170 0 {$I REALFIELD.BU} 498 0 14 170 0 499 0 14 170 0 500 0 15 1 PROCEDURE SEARCH (VAR W1:WORDREF); 501 0 15 2 VAR W:WORDREF;X:ITEMREF; 502 0 15 0 0 þêú BEGIN W := W1; 503 0 15 4 0 IF W =NIL THEN 504 0 15 9 1 BEGIN NEW(W);NEW(X); 505 0 15 19 1 WITH W^ DO 506 0 15 22 2 BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; þÌñ507 0 15 35 2 FIRST := X;LAST := X 508 0 15 43 1 END; 509 0 15 45 1 X^.LNO := N;X^.NEXT := NIL; W1 :=W; 510 0 15 61 1 X^.POS := PRESPOS; {SAVþì†E FILE POSITION} 511 0 15 68 0 END ELSE 512 0 15 70 1 IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE 513 0 15 84 2 IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE 514 0 15 98 3 BEGIN NEW(X);X^.LþШNO := N;X^.NEXT := NIL; 515 0 15 116 3 X^.POS := PRESPOS; {SAVE FILE POSITION} 516 0 15 123 3 W^.LAST^.NEXT := X;W^.LAST := X 517 0 15 132 3 END 518 0 15 134 0 END; (*SEARCH*)þ)Ñ 519 0 15 146 0 520 0 16 1 PROCEDURE PRINTRECORDS(W : WORD); 521 0 16 7 522 0 16 7 VAR X : ITEMREF; 523 0 16 8 524 0 16 0 0 BEGIN 525 0 16 0 0 X :=  Wþ.9.FIRST; 526 0 16 8 0 REPEAT 527 0 16 8 1 BEGIN 528 0 16 8 1 SPOS(DISKIN,X^.POS); 529 0 16 16 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 530 0 16 29 1 IF PCONSOLEþ, THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); 531 0 16 75 1 WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); 532 0 16 116 1 X := X^.NEXT; 533 0 16 120 1 END; 534 0 16 120 0 UNTþS IL X = NIL; 535 0 16 125 0 536 0 16 125 0 END; {PRINT IN ORDER} 537 0 16 140 0 538 0 17 1 PROCEDURE PRINTINORDER(W : WORDREF); 539 0 17 0 0 BEGIN IF W<> NIL THEN 540 0 17 5 1 þ3¬ BEGIN PRINTINORDER(W^.LEFT); 541 0 17 10 1 PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); 542 0 17 19 0 END; 543 0 17 19 0 END; 544 0 17 32 0 545 0 18 1  PROCEDURE PRINTWORD(W : WORþ®€D); 546 0 18 7 VAR L:INTEGER;X:ITEMREF; 547 0 18 0 0 BEGIN 548 0 18 0 0 IF PCONSOLE THEN WRITE(' ',W.KEY : C1); 549 0 18 26 0 WRITE(DISKOUT,' ',W.KEY : C1)þ; 550 0 18 42 0 X := W.FIRST;L := 0; 551 0 18 48 1 REPEAT IF L = C2 THEN 552 0 18 53 2 BEGIN 553 0 18 53 2  L := 0; 554 0 18 þÊ%56 3 IF PCONSOLE THEN BEGIN 555 0 18 59 3 WRITELN;WRITE(' ':C1+1); 556 0 18 78 2 END; 557 0 18 78 2 þ1G WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); 558 0 18 94 1 END; 559 0 18 94 1 L := L+1; 560 0 18 99 1 IF PCONSOLE THEN WRITE(' ',X^.LNO :C3); 561 0 18 121þeú 1 WRITE(DISKOUT,X^.LNO : C3); 562 0 18 131 1 X := X^.NEXT; 563 0 18 135 0 UNTIL X = NIL ; 564 0 18 140 0 IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; 565 0 1þlL8 155 0 WRITELN(DISKOUT); 566 0 18 160 0 WRITELN(DISKOUT) 567 0 18 165 0 END; 568 0 18 180 0 (*END OF PRINTWORD*) 569 0 18 180 0 570 0 19 1 PROCEDUREþ¿8 PRINTTREE(W : WORDREF); 571 0 19 0 0 BEGIN 572 0 19 0 0 IF W <> NIL THEN 573 0 19 5 1 BEGIN PRINTTREE(W^.LEFT); 574 0 19 10 1 PRINTWORD(W^);PRINTTREE(W^.RIGHT) 575 0 19 17 þ² 1 END 576 0 19 19 0 END; 577 0 19 32 0 (*END OF PRINTTREE*) 578 0 19 32 0 579 0 20 1 PROCEDURE FIND(W : WORDREF); 580 0 20 2 581 0 20 0 0 BEGIN IF W = NIL THEN 582 0þÅc 20 5 0 BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE 583 0 20 47 1 IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE 584 0 20 60 2 IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE 585 0 20 73 2 þ“J {FOUND MATCH} 586 0 20 73 3 WF := W 587 0 20 73 0 END; {FIND} 588 0 20 88 0 589 0 20 88 0 590 0 20 88 0 591 0 21 1 PROCEDURE PRINTLINES(W : WORD); 592 0 21 7 59þ|`3 0 21 7 VAR L : INTEGER; X : ITEMREF; 594 0 21 9 AMOUNT,CHECK : REAL; 595 0 21 13 596 0 21 0 0 BEGIN 597 0 21 0 0 AMOUNT := 0.0; 598 0 21 16 0 þgº IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); 599 0 21 55 0 WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); 600 0 21 89 0  X := W.FIRST;L := 0; 601 0 21 95 0 602 0 21 95 1 þÎA REPEAT BEGIN 603 0 21 95 1 L := L+1; 604 0 21 100 1 SPOS(DISKIN,X^.POS); 605 0 21 108 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 606 0 21 121 1 þ*= IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); 607 0 21 161 1 WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); 608 0 21 196 1 609 0 21 196 1 CHECK := REALFIELD(LINE,3); 610 0 21 208 þÈõ 1 AMOUNT := AMOUNT+CHECK; 611 0 21 221 1 X := X^.NEXT 612 0 21 222 1 END 613 0 21 225 0 UNTIL X = NIL; 614 0 21 230 0 IF PCONSOLE THEN WRITELN(' AMOUNTþk­ = ',AMOUNT : 10); 615 0 21 272 0 WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); 616 0 21 309 0 END; {OF PRINT ALL LINES WITH KEY W.KEY} 617 0 21 324 0 618 0 22 1 FUNCTION QUESTION : BOOLEAN; 619 0 22 2 þ£m 620 0 22 0 0 BEGIN 621 0 22 0 0 REPEAT 622 0 22 0 1 WRITE(' ANSWER Y OR N '); 623 0 22 27 1 READLN(CH) 624 0 22 46 0 UNTIL (CH = 'Y') OR (CH = 'N'); 625 0 22 55 0 QUESTION := CþH = 'Y'; 626 0 22 60 0 END; 627 0 22 74 0 628 0 22 74 0 629 0 1 0 0 BEGIN  OPENFILES; 630 0 1 93 0 WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); 631 0 1 142 0 PCONSOLE := QUESTION; 632þ&˜ 0 1 148 0 WRITELN(' WANT DATA BASE FILE PRINTED?'); 633 0 1 196 0 PDATAFILE := QUESTION; 634 0 1 202 0 WRITELN(' WANT INDEX PRINTED? '); 635 0 1 242 0 PINDEX := QUESTION; 636 0 1 248 0 WRITELN(' WANT þHtTREEED RECORDS PRINTED IN ORDER? '); 637 0 1 306 0 PINDEX := QUESTION; 638 0 1 312 0  639 0 1 312 0 WRITE(' SORT ON FILEN NO. 2,3,4,5? '); 640 0 1 353 0 READLN(FIELDNUMBER); 641 0 1 378 0 ROOT := NIL;N := þ(œ0; 642 0 1 384 0 REPEAT 643 0 1 384 0 644 0 1 384 1 BEGIN 645 0 1 384 1 GPOS(DISKIN,PRESPOS); 646 0 1 391 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 647 0 1 404 1 þüã 648 0 1 404 1 IF NOT SYSERROR THEN 649 0 1 409 2 BEGIN  650 0 1 409 2 N := N+1; 651 0 1 414 2 IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); 652 0 1 458 2 IF PDATAFþÍ3ILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); 653 0 1 500 2 CASE LINE[1] OF 654 0 1 507 3 'C','E','W' : BEGIN 655 0 1 507 3 ID := GETFIELDINT(LINE,FIELDNUMBER); 656 0 1 5þôà18 3 SEARCH(ROOT); 657 0 1 523 2 END; 658 0 1 525 2 END; 659 0 1 574 1 END; 660 0 1 574 1 661 0 1 574 1 END; 662 0 1 574 0 UNTIL ERROþZGRNUMBER = 6; {END OF FILE} 663 0 1 580 0 664 0 1 580 0 IF PTREE THEN PRINTTREE(ROOT); 665 0 1 587 0 666 0 1 587 0 WRITELN(' MEMORY LEFT = ',MEMAVAIL); 667 0 1 630 0 668 0 1 630 0 IF PINDEX THENþÃŒ PRINTINORDER(ROOT); 669 0 1 637 0 670 0 1 637 0 WHILE NOT EOF(INPUT) DO 671 0 1 647 1 BEGIN 672 0 1 647 1 673 0 1 647 1 WRITE(' SEARCH KEY =');READLN(ID); 674 0 1 697 1 FIND(ROOþÐéT); 675 0 1 701 1 IF WF <> NIL THEN 676 0 1 706 2 BEGIN 677 0 1 706 2 PRINTWORD(WF^); 678 0 1 710 2 PRINTLINES(WF^); 679 0 1 714 1 END; 680 0 1 714 1 681þN9… 0 1 714 0 END; 682 0 1 716 0 683 0  1 716 0 END. ÿRLDR.SVúÒÌDÒ.SVÿGETFIELDIN.BUûŽŽþ×îFUNCTION GETFIELDINT(STR : BIGSTR; FIELDNUMBER : INTEGER) : INTEGER; VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (I=30) AND (BYTE<=126) THEN WRITELN(OUTPUT,' ALPHANUM'); CASE BYTE OF 0,1,2,3,4,5,6,7 : ; 8 : IF CURSOR.COLUMN <> 1 THEN CURSOR.COLUMN := CURSOR.COLUMN-1; 9 : ; 10 : CURSOR.LINE := CURSOR.LINE+1; þ9Y 11 : IF CURSOR.LINE >1 THEN CURSOR.LINE := CURSOR.LINE-1; 14 : CURSOR.COLUMN := CURSOR.COLUMN+1; 12 : BEGIN CURSOR.LINE := 1; CURSOR.COLUMN := 1 END; 13 : BEGIN CURSOR.LINE := CURSOR.LINE+1; CURSOR.COLUMN := NCOLUMNS*CURSOR.LIþ^ÈãNE END; END; WBYTE(OUTCH,BYTE,ERROR); UNTIL (ERROR <> -1) OR (BYTE = CONTROLZ) END. ÿT40.û"Ý,þ"¿PROGRAM T40(INPUT,OUTPUT); (* POINTER TESTER *) TYPE XY=RECORD COLUMN,LINE : INTEGER END; LINK = ^ XY; VAR CURSOR : LINK; X,Y,ERROR: INTEGER; POS:XY; BEGIN MARK(CURSOR); NEW(CURSOR); CURSOR^.LINE := 1; CURSOR^.COLUMN := 2; WRITELN(OUTPUT,CURSORþ¶¤Û^.LINE,CURSOR^.COLUMN); WRITELN(OUTPUT,POS.LINE,POS.COLUMN); NEW(CURSOR); WRITELN(OUTPUT,CURSOR^.LINE,CURSOR^.COLUMN); WRITELN(OUTPUT,POS.LINE,POS.COLUMN); RELEASE(CURSOR) END. ÿCBOOK.BUûs½ þó–PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGERþÙ¼; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; SOURCE : TEXT; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(' ERROR'); END;{error} PROCEDURE C1HECK; BEGIN IþOÎ := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(' CK ',CHECKNUMBER : 10); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(þÑNEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I)þÀÉ; NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(' DP ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETþÐÕREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(' CM ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCEþ"è := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(' DM ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(' CC ',CHECKþíÊNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' EM ',BLANKS); REALPRINT(AMOUNTþ š);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' þLÄWH ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEþ–DDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORþ¤D(STR[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(STR[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(SOURCE,STR); RESET(SOURCE); BLANKþ^yS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; WRITELN(' KEY TO TRANSACTION TYPES'); WRITELN(' C CHECK CC CANCELLED CHECK'); WRITELN(' CM CREDIT MEMO þ·¯ DM DEBIT MEMO'); WRITELN(' DP DEPOSIT BL FORCED BALANCE'); WRITELN(' EM EMPLOYEE CK WH WITHOLDING CHECK'); WRITELN; WRITELN(' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZþME; WRITELN; WHILE NOT EOF(SOURCE) DO BEGIN READLN(SOURCE,STR); WRITELN; WRITELN; GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; þBALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; END;{case} END; WRITELN;WRITELN; WRITE(' TOTALS '); REALPRINT(TOTALDEBITS);REALPRINT(TOTALCREDITS); REALPRINT(NEWBALANCE); WRITELN; WRITE(' TOTAL CHþa·UECKS ');REALPRINT(TOTALCHECKS);WRITELN; WRITE(' TOTAL DEPOSITS');REALPRINT(TOTALDEPOSITS);END. ÿGETREAL.01û½½ þeFUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; VAR LEN : INTEGER; FGETREAL,PLACE :REAL; PART þU : WHOLORFRACT ; BEGIN PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF ORD(STR[I]) IN [9,32] THEN BEGIN I := I+1;GOTO 1; END þ$üELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : BEGIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGþ˜ªETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { WRITELN(' FP');} END END; {case} I := I+1; GETREAL := FGETREAL; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLþ«Ì—ACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END ELSE EXIT(GETREAL) ELSE EXIT(GETREAL) END;{getreal} ÿ1978EMP.10ûf½ þÓ4lE 610 325.46 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E 624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 ÿCONSOLE.PAûrq þO.PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PAþÙdCKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {Rþí’EGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUþDkE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHþq3N.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: þËQLINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := þ¥USTR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN þ2Y:= LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE þŠòIF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIþºÃN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -þ9®MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNþÓ¶ALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CARRIAGERETURN; BEGIN INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; END; {INSERT CARRIAGE RETURN AND MAKE LINE LENGTH=CRET POSITION} PROCEDURE DISPLAYLINE; BEGIN þµèPCHAR(10);PCHAR(13); WRITESTRING(LINE); PCHAR(13);PCHAR(10); END; PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTþ…‹ER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERROþð›RNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESTRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERþÞtROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : BEGIN DISPLAYLINE;PUTLINE;GETLINE END; {UP} 11 : ; {CþXíARR RETN} 13 : BEGIN DISPLAYLNE; CARRIAGERETURN;PUTLINE;GETLINE END; {DELETE} 127 : DELETECHARACTER END;{CASE} END;{ACTION} PROCEDURE OPENFILES; VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITþºßELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER); WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERþQ¦ROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CþÆ'9URSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 27 ;{ESC} END UNTIL DONE END. ÿTEDIT.ûŽqÿTSS.ûŽŽÿT9.û½. þ¾ÄPROGRAM T9 (INPUT,OUTPUT); TYPE COLOR = (RED,BLUE,GREEN); VAR STRING:CHAR; BEGIN STRING := 'E'; CASE STRING OF 'E' : WRITELN(OUTPUT,' END'); 'S' : WRITELN(OUTPUT,' START'); END; END. ÿBTREE.01û½ þˆƒPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : REAL; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARRAYþñª [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : REAL; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : REAL; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEM WITH KEþ ÅY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OF A^.E[R]*þ)) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGIN IF R = NþûQ THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[I] := A^.þq,E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEY X IS NOTþ¿ IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; WRITELN(' L',L,' R',R,' K',K,' KEY',E[K].KEY); IF X <= E [K] .KEY THEN R := K-þˆÅ1; IF X >= E [K] .KEY THEN L := K+1; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THENþÀ INSERT END END END (*SEARCH*); PROCEDURE DELETE(X : REAL; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,Kþô\,L,R : INTEGER; Q : REF; PROCEDURE UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE þórRIGHT OF A*) S := S+1; B := C^.E[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[þùI+N] := B^.E[I]; C^.E[S] := B^.E[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] :=þÜ• B^.E[I]; FOR I := S TO MC-1 DO C^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K >þ„I 0 THEN BEGIN (*MOVE K ITEMS FROM PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; þÂlC^.E[S] .P := A; B^.M := MB-1; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (þ‹_*UNDERFLOW*) ; PROCEDURE DEL(P : REF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M];þHÈ M := M-1; H := M < N END END END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THENþ5Ñ R := K-1; IF X >= E[K].KEY THEN L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN þgîWITH P^ DO BEGIN FOR I := 1 TO L DO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); þÛ©SEARCH(X,ROOT,H,U); IF H THEN BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DþÄïIELETE(X,ROOT,H); IF H THEN BEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . ÿ1978EMP.11ûf½ "þ»zaE 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 652 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 ÿGPOS.PIûŽŽ:þ~PROCEDURE GPOS (RDOSCHANNEL : INTEGER;VAR FILEPOS : DPINTEGER); CONST DOTGPOS = 10303; {.GPOS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTGPOS; R2.INT := RDOSCHþ¥æìANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN GCHN = ',R2.INT); FILEPOS.UPPER := R0.INT; FILEPOS.LOWER := R1.INT; END; RELEASE(HEAP); END; {GPOS} ÿRLDR.OLúÒÌDÒ.ÏÌÿPASCFLS.û£m þ~4PASCFLS,^ P4COMPILER.,^ P4ASM.SV,^ P4MAC.SV,^ P4LIB.LB,^ PCMESSAGE.ER,^ P4CUE.RB,^ P4ERRSUM.SV,^ PASCAL.SV,^ PCODE.SV^ ÿT.MCû޽ 8þfÿýCHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V/A/L TEST CHATR TEST.PX *WP ÿREALPRINT.PXû½½ ;þþÿGETREAL.PIû޽ "þHýFUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; SIGNOF = (PLUS,MINUS); VAR LEN : INTEGER; FGEþöÿTREAL,PLACE :REAL; PART : WHOLORFRACT ; SIGN : SIGNOF; BEGIN SIGN := PLUS; PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF NOT (STR[Iþ<] IN ['0'..'9','-','.']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1;  END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : þ ! BEGIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { þÁ;WRITELN(' FP');} END END; {case} I := I+1; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END; Cþf*ƒASE SIGN OF PLUS : GETREAL := FGETREAL; MINUS : GETREAL := -FGETREAL; END;{case} END;{getreal} ÿTOTAL.PXûŽŽ þÝy TOTAL Copyright (C) 1981 Rational Dataþ„¿ Systems½ ( þr ÆÚªcÌ=Ì<Æ:нÆ¾Ì7ÛøÊ7È¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌ=¹ö¹ðÛøÊ7È¡òÆÛø›¾³ÿ‹¡VÊ<¹<Æ:Æ:¼ Š�0Š–ÆÛø›¾Šƒ½¹0Æ:Æ:¼ÆÛø›¾0•Æ8¼‰‡ƒ½Æ8Æ8¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌ<ÛÛø‚šÆ8 н¹ô¹ÆÛø›¾,áÛÛø‚š¹ôÊ=¹ÆÆ:¼½þ𹯯:¼’½¹ ¬¹­')+-Ð9.²¼¶ž$‡žÌ²²¼ضž$‰�–½²¶›Ø0‚Çÿˆ¿¶‚¸¶öÃ�¡²¶›,¿¶‚¸­`²¼¶ž$�žÌ²²¼ضž$‰‡–½²¶›Ø0‚Çÿˆ¿¶‚¸­BƼа¡Ì¹ ÆÆ¼’½ÌÆÆ¼³þÜ!?zჽƦ ªÌÝ•ÌÝÃÝž$Ƽ´�¡öÝ••݆•ÌÊáÆÛ•›-¿Ý®®Ä¡Ê̹ܕÌÖÎÜÊáôÆÛ›.¿Û‚Ì®®È¡Ê̹ÜÐÌÖÎÜÊáòÖØ®ÆÏ­C� ÌÆÙªcÌ6Ì8ƾÌ7ÚøÊ7È¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚø›¾-á ÚÚø‚šÌ8¹öÆÚø›¾³þÄÉÿ‹¡Ê6 �0•ÆÚø›¾‚Ì6ÚÚø‚šÚøÊ7È¡¹ôÊ8¹ Ê6̹Ê6‘̹ ¬¹­PŽ5 ¦ÖÆ�¿Æ�ýÏÖÆ�¿¦OUTPUTÏÖÆ�=Æ�{ÏÖÆ�=¦INPUTÏÖÆ9ÆwÏÖÆ9¦OUTFILEÏÖÆ€»Æ€ùÏÖÆ€»¦INFILEÏÖÏÖÆ�=ÏÖÆ�¿ÏÖ¦ INPUT FILE NAME? ¥�¿®‚AÒÏÖ¥Ö¥�=®‚AÏÊ‚AÒcÏÖÊ‚AÏþ?‚Ö¥€»¥ÏÖ¥€»ÏÖ¦ OUTPUT FILE NAME? ¥�¿®‚AÒÏÖ¥Ö¥�=®‚AÏÊ‚AÒcÏÖÊ‚AÏÖ¥9¥ÏÖ¥9Ï¥5³½Ö¥€»Ï “¡EÖ¥€»®‚AÏÖÊ‚A¥cÏÖÊ‚AÏ«8¥3Ö¥¥8ν¥5¥5¼¥3¼ƒ½Ö¥9¥3¼ÎÖ¥9ϹöÖ¥9®‚A¦ ÏÖ¥9¥5¼ÎÖ¥9ÏÖÆ�¿ÏÖÆ�=ÏÖÆ9ÏÖÆ€»Ï­�A#¢¨$þ ªlXÔ ÿWRITELINE.01û½½ þ¬æfPROCEDURE WRITELINE( VAR OUTPUTFILE : TEXT;LINE : LINESTRING); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN FOR I := 1 TO LEN DO WRITE(OUTPUTFILE,STR[I]); END;{WITH} END; ÿOPEN.PIûŽr þîäPROCEDURE OPEN(RDOSCHANNEL : INTEGER;FILENAME : LINESTRING ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTOPEN =6207; {.OPEN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEþè†PTR^ := FILENAME; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTOPEN; R0.LPTR := FILEPTR; R0.INT := R0.INT+2; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN OPEN = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END;þˆ® RELEASE(HEAP); END; {OPEN} ÿ1979DEPS.ûŽŽ&þ‰D 1567 D 2945 D 7000 D 2500 D 6590 D 700 D 1575 D 3195 D 3144.56 D 2556 D 2000 D 7097 D 2000 D 892.50 D 1885 D 1995 D 24676.36 D 1708.14 D 1377.50 D 3232.50 D 14386.25 D 527.50 D 4462 D 8907.50 D 611.53 D 15954.41 D 1278.47 D 600 D 210 D 1558.65 D 4302.50 þìÌD 418.50 D 430 D 3475 D 1240 D 3000 D 7202.98 D 4310 D 3682.78 D 618 D 552.50 D 2675 D 8750 D 1800 D 1547.28 D 1030 D 2320.45 D 3314.44 D 4439 D 2039.96 D 2747.24 D 2197.25 D 5527.98 D 15000 D 832.50 D 6471.12 D 12653.22 D 1890 D 808.23 D 660 D 2500 D 2448þ0 C.33 D 7430.13 D 3561.07 D 440 D 1029.72 D 16000 ÿDATA.TXûss þë�C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 þ�C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 4 4 C 1000 1.00 4 4 þO�C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 þ ëòC 1000 1.00 5 5 C 1000 1.00 5 5 ÿSPOS.PIûŽŽ:þL“PROCEDURE SPOS( RDOSCHANNEL : INTEGER; FILEPOS : DPINTEGER); CONST DOTSPOS = 10047; {.SPOS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTSPOS; R0.INT := FILEPOS.Uþ �ŸPPER; R1.INT := FILEPOS.LOWER; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN SPOS = ',R2.INT); END; RELEASE(HEAP); END; {SPOS} ÿPASCAL.PXûb? þvtFÆ œÔ6ž/”COMPILEROPSYSINICOMPINITSHOWERROCOMPFINIDECSEGMEBODSEGME Copyright (C) 1980 Rational Dataþ…* Systems¼ )' Rþ´ Æž Æ žÜÌÝÌÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÞšÞ¢‘Çÿ• ‚šÜž#Þù¡Ì¹Ìݢݣ •šÝ£ ÂÞû¿ÚÝ£ ª@Æž!­lÖ¥„óÏÖ¥„ó®¦&PX PASCAL[O][switches] sourcefile[.PA]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦þ4¬!/A analysis to @OUTPUTÏÖØÏÖ¥„ó®¦/A=afile analysis to afileÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦/E=efile errors to efileÏÖØÏÖ¥„ó®¦/L listing to @LISTÏÖØÏÖ¥„ó®¦/L=lfile listing toþ�â lfileÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S  swap compiler phasesÏÖØÏÖ¥„ó®¦"/V verbosity to @OUTPUTÏÖØÏÖ¥„óÏ­>Æž ÆžÚÌÛšÛ¢šÛ¢‘šÛ¢NšÚž#ÛüÌÆž!­2ئ abcdefghiª@ƤƤþblƤž ®®È¡4ß̹ÝÐÌØÝ�‚Â0Æݤø † Ž‚¿ØÝ�‚Â0Æݤø Ž‚¿ÝÞáöØÂ.¿ØÂ_¿ØÂ_¿ÖÎÌØÌÖÆ¦?pidÏÖÆØDÏÖÆ¦.TMPHÏÆª@ØÂ0Üd† Ž‚¿ØÂ0Ü † Ž‚¿ØÂ0Ü Ž‚¿­�* ÂÆÚª@ÖÆÎÆ&ž Æ( žÊ(Ì)Ê)Ì*Ê)¢ šÊ)¢ÙšÊ)¢Ç€žÊ)£ÆªÿÊ)£Æ¾‚¿Ê)¢Ê)£‚šÊ)¢þÍÇ€žÊ)¢Ê)£ ‚šÊ*šÊ*¢‘Çÿ• ‚šÊ(ž#Ê*ù¡Ì¹<Ê*ûÌ'Ê'‘á̹ÌÊ)¢Ê)£ •šÊ)£ ÂÊ'¿Ê'Å¡ ÛÊ)£ ª@¹Û¦ª@Æ&ž!­&Ê «‚V«‚W¥„ƦAOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®i®hÈ¡ÊiÌC¹ÊCÐÌC¥„¿ÊC¤ šÊCÊháöÖ¥‚ÕΓ¡ ÖÎ ž¹¥‚Õ?¯¡ÖÎ žÖ¦NÆÎ“«‚þ�ƒ,Ö¦SÆÎ“«‚0Ö¦CÆÎ«‚6‚ÌFÖÊFÆGΡ1ÆG¾á"ÆG¾³ÿ‹¡¥‚öÆG¾0•¤šÊF‚ÌF¹ôÖ¦AÆÎ¡WƦ¯¡ ÌE¹ ÌEÖ¥…uÆÏÖ¥…uÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháòÖ¦LÆ"ΡSÆ"¦¯¡ Æ"¦@LISTª@Ö¥…÷Æ"ÏÖ¥…÷Ï®i®hÈ¡(ÊiÌD¹ÊDÐÌþ*eD¥„¿ÊD¤¥„¿ÊD¤øœ šÊDÊháðÖ¦EÆÎ¡_Ʀ·¡WÆÆ"¯¡ ÌE¹ ÌEÖ¥†yÆÏÖ¥†yÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháîÖ¦VÆÎ¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤ø¯¡ ¥„¿¤ šÖ¥‚þîÕÎ¥‚վš0Ö¥‚ÕÆh¥‚Õ¾•ÏÆh¦.PA¯¡¥‚ÕÖ¥‚ÕÆh¥‚Õ¾•ÏÆhª@¥‚ÕÌhÖÆh¥‚Õ@ÏÖÆh¦.PACÏÆhª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´ÎÖ¥†û¥‚´ÏÖ¥†ûÏ­ ŒîkÕ‰ئ abcdefghiª@ƤƤƤž ®®È¡4Þ̹ÜÐÌØÜ�‚Â0Æܤø † Ž‚¿ØÜ�‚Â0Æܤø Ž‚¿ÜÝáöØÂ$¿ØÂ$¿þMüØÂ$¿ØÌÖÆØ@ÏÖÆ¦.WKCÏÆª@¶¡ØÌÖÆ¦FÏÖÆØAÏÆª@¹ØÌÖÆ¦BÏÖÆØAÏÆª@­‘&Æ Ö¥„óÏÖ¥„ó®¦0PX PASCAL[O][switches] sourcefile[.PA] [options]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/þŠ+C conform to standardÏÖØÏÖ¥„ó®¦&/L listing to sourcefile.LSÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦%/V verbosity to $TTO/$TTO1ÏÖØÏÖ¥„óÏÖ¥„ó®¦oþ/Ÿption meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦afile/A analysis to afileÏÖØÏÖ¥„ó®¦efile/E errors to efileÏÖØÏÖ¥„ó®¦lfile/L listing to lfileÏÖØÏÖ¥„óÏ­p Æž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆžþì/!­2 ÌÌA®Z®È¡,Þ̹ÜÐ̲rÙ•¤ÜA•Àº¡ Û¡¹¹ÌÚÜšÜÝáöÛÌ­,H ÆتÿÖ¥„óÏÖ¥„󮀂ÆÏÖÊ€‚ÏÖ¥„󮀂ÏÖÊ€‚Ï ž­�:ÆتÿÖ¥…÷ÆÏÖ¥…÷Ï®€„®€ƒÈ¡0Ê€„Ì€‚¹Ê€‚ÐÌ€‚¥„¿Ê€‚¤¥„¿Ê€‚¤øœ šÊ€‚Ê€ƒÃ¡ö­+ƒ Z «‚V«‚W¥„þç3ƦRDOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®®È¡Ú̹ØÐÌ¥„¿Ø¤ šØÙáö² •¤•¤Aš² •¤•¤Hš² •¤•¤Iš² •¤•¤Pš² •¤•¤Qš² •¤•¤Xš² •¤•¤Yš² •¤•¤Zš¶¡Ö²€â¦FCOM.CMϹֲ€â¦COM.CMÏÖ²€âϸ²~¤²� øš²~þ„>¶�¾Çÿ˲~¶�‚¾ÇÿË„¡F¶‚¸¶cÅ¡ Ö¦(F)COM.CM file is too long.ÎÖ²€âϲ~¶¤²� øš¹ô­j5 z¸¸¶‚¸¸²~¶¾ˡ)¶‚¸²¶•¤¶²~¶¾¿¶‚¸¹ö¶‚¸²¶•¤¶¿®®È¡yÛ̹ØÐ̲~¶¾¸¶‚¸¸²þ1 Ø•¤•¤ø®² Ø•¤•¤ø®È¡1Ü̹ÙÐ̶•¸²r¶•¤ÙA•À²¶Àº»ÙÛáôØÚáò²~¶¾Çÿáð¶É¡ ÖÎ ž¹²•¤?¯¡ÖÎ ž¥‚Õ²•¤ª@Ö¥‚ÕÎ¥‚վš0Ö¥‚ÕÆ¥‚Õ¾•ÏÆ¦.PA¯¡¥‚ÕÖ¥‚ÕÆ¥‚Õ¾•ÏÆª@­Zõ´T#p‚®¶®È¡èÛ̹ØÐÌÖþ}زÎ “¡=²Ø•¤¾á.²Ø•¤¾³ÿ‹¡¥‚ö²Ø•¤¾0•¤š¹ì¶³"‹“¡Ö¦Invalid local switch.ιòÖ¥…u²Ø•¤ÏÖ¥…uÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáö¹ðÖ¥†y²Ø•¤ÏÖ¥†yÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáô¹ZþÖ}²r•¤LA•Àº¡Ö¦Duplicate listing files.Îֲؕ¤Î¹¬AL¹ÆŒ XØÚáê­j 1�Ñ�²r•¤LA•Àº¡ÖÌÖÆ¥‚Õ@ÏÖÆ¦.LSCÏÆÎ²r•¤NA•Àº“«‚,²r•¤SA•Àº“«‚0²r•¤CA•Àº«‚6²r•¤VA•Àº¡P¥„¿¤¥„¿¤øþبœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š­"ÎÖÆ€âÆ� ÏÖÆ€â¦CLIFILEÏÖÎ ÌÖÎÖÎÖÎÖÎ¥„¿¤ø¯¡ ¥„¿¤ š¥‚ÕÌ�!ÖÆ�!¥‚Õ@ÏÖÆ�!¦.PACÏÆ�!ª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´Î Ö¥†û¥‚´ÏÖ¥†ûÏÖÆ€âÏ­B   0ÌÙø ŽÌ­þº®ؾ®È¡3Û̹ÙÐÌØÙ¾³ÿÿþ‹¡ ØÙÂØÙ¾ •¿ÙÚáö­1 H®$ ®#È¡Ê$̹ØÐÌ¥‚öؤšØÊ#áöÖΫ‚<§‚<‹¡§‚<¹ ÖÎ ¹Öι ¬¹¹2Ö¥„ó®#ÏÖÊ#¦Wrong operating system.ÏÖÊ#Ï ž­q$ˆÚ–jvöV–ä ’~PNþ ê’ j²(þ&i‘Ì¥�AA•¤Ø‚šØ‚Ì¥�4ؤ¦AND ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦ARRAY ÐÑ¥�4ؤ¢,š¥�4ؤ¢ š¥�BA•¤Ø‚šØ‚Ì¥�4ؤ¦BEGIN ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�CA•¤Ø‚šØ‚Ì¥�4ؤ¦CASE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦CONST ÐÑ¥�4ؤ¢š¥�4ؤþ¢ š¥�DA•¤Ø‚šØ‚Ì¥�4ؤ¦DIV ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DOWNTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�EA•¤Ø‚šØ‚Ì¥�4ؤ¦ELSE ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦END ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�FA•¤þöFØ‚šØ‚Ì¥�4ؤ¦FILE ÐÑ¥�4ؤ¢.š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FOR ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FUNCTIONÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�GA•¤Ø‚šØ‚Ì¥�4ؤ¦GOTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�HA•¤Ø‚š¥�IA•¤Ø‚šØ‚Ì¥�4ؤ¦IF ÐÑ¥�4ؤ¢š¥�4ؤþñî¢ šØ‚Ì¥�4ؤ¦IN ÐÑ¥�4ؤ¢)š¥�4ؤ¢ š¥�JA•¤Ø‚š¥�KA•¤Ø‚š¥�LA•¤Ø‚šØ‚Ì¥�4ؤ¦LABEL ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�MA•¤Ø‚šØ‚Ì¥�4ؤ¦MOD ÐÑ¥�4ؤ¢'š¥�4ؤ¢ š¥�NA•¤Ø‚šØ‚Ì¥�4ؤ¦NOT ÐÑ¥�4ؤ¢&š¥�4ؤ¢ š¥�OA•¤Ø‚šØ‚ÌþŒÒ¥�4ؤ¦OF ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦OR ÐÑ¥�4ؤ¢(š¥�4ؤ¢ š¥�PA•¤Ø‚šØ‚Ì¥�4ؤ¦PACKED ÐÑ¥�4ؤ¢+š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROCEDURÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROGRAM ÐÑ¥�4ؤ¢!š¥�4ؤ¢ š¥�QA•¤Ø‚š¥�RA•¤Ø‚šØ‚ÌþøÀ¥�4ؤ¦RECORD ÐÑ¥�4ؤ¢-š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦REPEAT ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�SA•¤Ø‚š§‚6“¡,؂̥�4ؤ¦SEGMENT ÐÑ¥�4ؤ¢0š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦SET ÐÑ¥�4ؤ¢*š¥�4ؤ¢ š§‚6“¡,؂̥�4ؤ¦STRING ÐÑ¥�4ؤ¢3š¥�4ؤ¢ š¥�TA•¤Ø‚šØ‚Ìþ¼‚¥�4ؤ¦THEN ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TYPE ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�UA•¤Ø‚šØ‚Ì¥�4ؤ¦UNTIL ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�VA•¤Ø‚šØ‚Ì¥�4ؤ¦VAR ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�WA•¤Ø‚šØ‚ÌþÁÉ¥�4ؤ¦WHILE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦WITH ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�XA•¤Ø‚š¥�YA•¤Ø‚š¥�ZA•¤Ø‚š¥�Z‚A•¤Ø‚š­Ž¥‚ež§‚eÌØšØ¢šØ¢š¥‚dž§‚dÌØšØ¢šØ¢š¥‚cž§‚cÌØšØ¢šØ¢š¥‚bž§‚bÌØšØ¢šØ¢šØ¢š¥‚`ž§‚`þ&ÌØšØ¢šØ¢Ÿš¥‚až§‚aÌØ>‚C‚šØ¢šØ¢§‚cš¥‚_ ž§‚_ÌØ¢šØšØ¢šØ¢šØ¢§‚e𨢠𨢠𨢧‚cšØ¢š­ÞÆ žÙÌÛ¦INTEGER ÐÑÛ¢ §‚ešÛ¢šÖÙÓÆ žÙÌÛ¦REAL ÐÑÛ¢ §‚dšÛ¢šÖÙÓÆ žÙÌÛ¦CHAR ÐÑÛ¢ §‚cšÛ¢šÖÙÓÆ žÙÌÛ¦BOOLEAN ÐÑÛ¢ §þ뺂bšÛ¢šÖÙÓÆ žÙÌÛ¦TEXT ÐÑÛ¢ §‚ašÛ¢šÖÙÓÆ žÙÌÛ¢šÛ¦MAXINT ÐÑÛ¢ÇÿšÛ¢ §‚ešÖÙÓŸÌ®®È¡VÜ̹ÚÐÌÆ žÙÌÜ¢ §‚bšÚáܦFALSE ÐѹܦTRUE ÐÑÜ¢ؚܢښܢšÖÙÓÙÌÚÛáö§‚b¢ÙšÆ žÙÌÛ¦NIL ÐÑÛ¢ §‚`šÛ¢ŸšÛ¢šÛ¢šÖÙÓ­Šþu³Ž¥‚m ž§‚mÌئ ÐÑØ¢ ŸšØ¢š¥‚l ž§‚lÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚k ž§‚kÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢šØ¢š¥‚j ž§‚jÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚iž§‚iÌئ ÐÑØ¢ ŸšØ¢šØ¢ŸšØ¢ šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šþOdØ¢š¥‚hž§‚hÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢𨢠šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š­XÆ€¨³ ` ½§‚6¡Æ€¨Æ€¨¼³1Ÿÿàœ ½Æ•¤¦READ ÐÑÆ•¤¦READLN ÐÑÆ•¤¦WRITE ÐÑÆ•¤¦WRITELN ÐÑÆ•¤¦EOF ÐÑÆ•¤¦EOLþ9›N ÐÑÆ•¤¦PRED ÐÑÆ•¤¦SUCC ÐÑÆ •¤¦ORD ÐÑÆ •¤¦SQR ÐÑÆ •¤¦ABS ÐÑÆ •¤¦NEW ÐÑÆ •¤¦FILETITLÐÑÆ•¤¦PURGE ÐÑÆ•¤¦CONCAT ÐÑÆ•¤¦LENGTH ÐÑÆ•¤¦DATE ÐÑÆ•¤¦EOLCHAR ÐÑÆ•¤¦þÜFSUBSTR ÐÑÆ•¤¦INDEX ÐÑÆ•¤¦MOVELEFTÐÑÆ•¤¦MOVERIGHÐÑÆ•¤¦EXIT ÐÑÆ•¤¦IDSEARCHÐÑÆ•¤¦TREESEARÐÑÆ•¤¦TIME ÐÑÆ•¤¦FILLCHARÐÑÆ•¤¦APPEND ÐÑÆ•¤¦REWRITE ÐÑÆ•¤¦PAGE ÐÑÆ•¤¦CLOSE ÐÑÆ þ}[•¤¦SEEK ÐÑÆ!•¤¦RESET ÐÑÆ"•¤¦GET ÐÑÆ#•¤¦PUT ÐÑÆ$•¤¦SCAN ÐÑÆ%•¤¦SIZEOF ÐÑÆ&•¤¦PACK ÐÑÆ'•¤¦UNPACK ÐÑÆ(•¤¦ODD ÐÑÆ)•¤¦CHR ÐÑ®€¬)®€«È¡}Ê€¬Ì¹ÙÐÌÙ³0�à‹ÌÙÆ€¨¼‹“¡RÚ¡Æ ž¹Æ þµ¥žØÌ€¬Ê€¬ÆÙ•¤ÑÊ€¬¢ŸšÊ€¬¢ ŸšÚ¡ Ê€¬¢š¹Ê€¬¢šÊ€¬¢šÊ€¬¢ÙšÖØÓÙÊ€«Ã¡ö­x¬ôÆ•¤¦PWROFTENÐÑÆ?•¤$𯕤¦MEMAVAILÐÑÆ?•¤šÆ•¤¦ROUND ÐÑÆ?•¤šÆ•¤¦TRUNC ÐÑÆ?•¤šÆ•¤¦SIN ÐÑÆ?•¤šÆ•¤¦COS ÐÑÆþ²�?•¤šÆ•¤¦LOG ÐÑÆ?•¤šÆ•¤¦ARCTAN ÐÑÆ?•¤šÆ •¤¦LN ÐÑÆ? •¤šÆ •¤¦EXP ÐÑÆ? •¤šÆ •¤¦SQRT ÐÑÆ? •¤šÆ •¤¦MARK ÐÑÆ? •¤ 再¤¦RELEASE ÐÑÆ? •¤!𯕤¦SYSCALL ÐÑÆ?•¤#š§‚6¡ džp ÌM¹þLÜ ÌMÌ®O®NÈ¡ðÊO̹ÜÐÌܹöÆ žØÌOÊO¢ §‚ešÊO¢š§‚d̹ôŸÌ§‚e̹~Æ žØÌOÊO¢ §‚dšÊO¢š§‚e̹a§‚d̹ZÆ žØÌOÊO¢ §‚`šÊO¢šÌŸÌ¹<Æ žØÌOÊO¢ §‚`šÊO¢š¹$¬¹‰nfM T:ÜÊM‹“¡[Ý¡Æ ž¹Æ žÙÌOÊOÆÜ•¤ÑÊO¢šÊO¢Æ?Ü•¤øšÝ¡ÊO¢þ.›š¹ÊO¢šØŸË¡Ø¢ŸšÊO¢ ÚšÊO¢ØšÖÙÓÜÊNáò­p–Oâ«‚8«‚[«‚Y«‚s«‚5«‚4«‚3«‚2Ÿ«‚f«‚U«‚T«‚S«‚1««‚QÇÿ«‚OÇÿ«‚NŸ«„Å«„W«‚G«‚r«‚q«‚F«‚E«‚.«‚D«‚A««‚?«‚>«‚=«‚+«‚*ÌÆ¾ë‚9ÆÂ¿ÆÂ0§‚;Ç膂¿ÆÂ0§‚;d† Ž‚¿ÆÂ0§‚; † þÁ"Ž‚¿ÆÂ0§‚; Ž‚¿®®È¡.Þ̹ÜÐÌ¥ƒ÷ܤÌÞ¢šÞšÞ¢¦ ÐÑÜÝáö¥‚pÇ‚ž¥„ÊÌÖÆ¦Copyright (C) ÏÖÆÆÏÖÆ¦ Rational Data Systems(ÏÆªP­y^¥ƒ³4 ½¥ƒ¥ƒ¼œ ½¥ƒ³|¥ƒ¼œ ½¥ƒ³t ½¥ƒ³ø ½þ”¥ƒ ³€ ½¥ƒ³t€ ½¥ƒ³ø ½¥‚  ½ ­  Ú•ÌÚÉ¡ Ú ‚ÌÙ•ÌÙd†ÌÙdŽÌÚ�• †Û‚قن‚܆‚Ü�•ŽÌ­B ÖØ®¦'Rational Data Systems Pascal Compiler [ÏÖØ®¦release ÏÖÙ¥„ÆÏÖÙ.ÏÖÙÏ ÖÙ.Ï É¡ÖØ®0ÏÖØ® Ï ¡Öþ„LØ®¦ , overlaidÏÖØ®]ÏÖÙÏ­š ÖØÏÖØ®¦line seg procÏÖÙÏÖØ®¦==== === ====ÏÖÙϧ‚gÌÖØ®§‚A‚Ï ÖÚ:ÏÖÚÙ£ Ï ÖÚÙ£ Ï ÖÚ ÏÖÚ¥‚tÏÖÚÏ­| Æت¶“¡ Ö¶® ,ϸֶ® ¦ /ÏÖÊ ÆÏ­ 6ÖØ®"ÏÖÛ¥‚ÕÏÖÛ"ÏÖÛ¦ cþÕfompiled on ÏÖÛ²ÏÖÛ ÏÖÛ§‚XÏ ÖÛ ÏÖÛ² ÏÖÛ ÏÖÛ§‚;Ï ÖÛ¦ at ϧ‚R š֨®§‚RÏ ÖÛ:Ï¹ÖØ®§‚RÏ ÖÛ:ϧ‚I š֨®§‚IÏ ÖÛ:Ï¹ÖØ®0ÏÖÛ§‚IÏ ÖÛ:ϧ‚@ Å¡ ÖØ®§‚@Ï ¹ÖØ®0ÏÖÛ§‚@Ï ÖØÏ̧‚-§‚6‚§‚,“‚§‚0“‚ÌÚÅ¡öÖØ® ¥‚Õ¾‚ÏÖÛ¦using the þoptionÏÚš֨®sϧ‚-¡ Ö¦ByteswapΧ‚6¡Ö¦ ConformanceΧ‚,“¡ Ö¦NocodeΧ‚0“¡ Ö¦SwappingÎÖØ®.ÏÖÛÏÖØÏ­ ˜ Ö§‚;§‚H§‚XÎ ¹q²¦Sundayª¹x²¦Mondayª¹i²¦Tuesdayª¹Y²¦ Wednesdayª¹G²¦Thursdayª¹6²¦Fridayª¹'²¦Saturdayª¹þ_Ŭ¹yl_QA2%§‚H¹ö² ¦Januaryª¹ô² ¦Februaryª¹ô² ¦Marchª¹ô² ¦Aprilª¹ô² ¦Mayª¹ô² ¦Juneª¹² ¦Julyª¹r² ¦Augustª¹c² ¦ Septemberª¹Q² ¦Octoberª¹A² ¦Novemberª¹0² ¦Decemberª¹¬ ¹½¯ ”ˆ~sh[K=.¥„¿¤ø‹¡1Ö¥…÷þZ Î Ö¥…÷Î Ö¥…÷®¦ line seg proc off nstÏÖØÏ¥„¿¤ø‹¡ Ö¥…uÎ Ö¥…uÎ ¥„¿¤ø‹¡Ö¥„óÏÖ¥„óÏÖ¥„óÎ Ö¥„óÎ ¥„¿¤ø‹¡ Ö¥†yÎ Ö¥†yÎ ­”µ Ç&‚«‚]Ç «‚K¥‚;¥‚H¥‚Xž%¥‚R¥‚I¥‚@ž ÖΧ‚,¡Ö¥†ûÏ«‚ZÖÎÖÎÖÎ «‚n«¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š«‚Bþ¬M«‚CÖÓÖÓÖÎÖÎÖÎÖÎÖΫ¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š¥‚gž§‚gÌÊ¢ŸšÊ¢êšÊ¦PROGRAM ÐÑÊ¢ ŸšÊ¢šÊ¢šÊ¢šÊ¢šÊ¢íšÊ¢šÊ¢šÊ¢ š¥‚x¦ declarationsª ï!áwÖÓï᥂t¥Ñ¥ƒ÷í¤¢¥Ñ¹ÖÓÖÓïá>ÖÓïá"ƞʢ¥Ñʧ„Śʫ„ÅÖÓþ„©ïË«¹«ì¡öïáÖÓ¹Ö)ÓïáÖÓ¹ÖaÓ¹F§‚6¡ÖÓ¹;«‚3«‚s«‚r«¥ƒ÷í¤ÌÊ¢šÊšÊ¢¦EXTERNALÐÑ¥‚tʢѥ„¿¤ø‹¡Ö¥„óÎ ¥„¿¤ø‹¡Ö¥…uÎ Æž ¥‚o ž§‚oÌÊ¢ŸšÊ¢šÊ§‚gšÊ¢ êšÊ¢§‚nšÊ¢éšÊ¢§‚sšÊ¢šÊ¢ Êš­ X^tLÎn¶\ ÀþZƒ ¨¢”xþþAŒÖØÏÖØÏÖØ®¦Error Message SummaryÏÖÙÏÖØ®¦===== ======= =======ÏÖÙÏÖØÏ­XÖØ®¶Ï ÖÙ ÏÖÙ²@ÏÖÙÏ­$ÖÆÆ@ ÏÖÆ¦ERMSGFILÏÖÆ¦ PASCAL.ERÏÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎþƒ;®aÇÿ®`È¡tÊa̹ØÐÌØ¥‚¼ ‹¡ZÖÆØÏ ÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎØÊ`áöÖÆÏ­va <þZ½ÖØÏÖØ®¦Segment NumberÏÖÚ¦ Segment NameÏÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛø•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚Æþ‘v¾Ê$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆGÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#þÏ~Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐþ¬Ì¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹þz3ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 þþ¡ÞØÄØÈ„¡ÖØÓ ¹ÖGÇ€‚Ó ÖØÆÆÓÖÙÓ ÖÚÓ ­0ØÈ¡ÖØÓ ¹ÖÇ€ØÇ†‚Ó ÖØÇŽÓ ­(ÖØÇ€‚Ó Ø&á+óÌÖÚùÓ ®Úù®È¡Ü̹ÙÐÌÖÚ¢Ù•Â¾Ó ÙÛáö­BÖØÇ€‚Ó Ø3áxÌÌÙá̹ÛÈó¢Û•¤øÃ„¡Û‚̹öÚÛ•‚ÌñÝšÝÅ¡)ÖÝÓ Û®Ú®È¡ß̹ÜÐÌþ^#Öó¢Ü•¤øÓ ÜÞáô¹ë•«Ýá Ö󢕤øÎ¹cسÀ0$@‹¡ÖÙÓ ¹LØ'ÃÙÈ„¡ë•«ÖÇçÙ‚Ó ¹4ØJÃÙÈ„¡ë•«ÖÇ×Ù‚Ó ¹Ø#ÃÙÈ„¡ë•«ÖÇøÙ‚Ó ¹ÖÙέ”Ï ôØ@ÃØMÃ�¡ÖØÇ€‚Ó ÖÙÓ ÖÚÓ ¹Jس³€‹¡ÙáÖØ‚Î¹ÖØÙÎÙÅ¡ÖÚιÙá ÖØ‚ÚÎ¹ÖØÇ€‚Ó ÖÙÓ Öþ:&ÚέnÙÌÝù¡^ÖØÇ€‚Ó Ýúë••ÌÚÄÚÈ„¡ÖÚÓ ¹=ÝøÃ¡&ݧ„Wš§„WcáÖÇÿÓ¹§„W‚«„W¥„XÝø¤ÝúšÝø‘ÌÖÇøÝø•Ýø•Ó ¹'ÖÝúÆÆÓØ9á ëǂ̹ëÌÝ¢ÚšÖÜÓ ÖÛÓ ­”ÖÎ ñ§‚bË¡ÖÇÓÖ!ØÎ­ ØžØøÌÙ¢šÙšÙ¢Ç`mš­ ØÌÛúÌÛ¢šÛøË¡ þiÎ¥„XÛø¤ëšÛ¢ëš§‚7“¡6ÙÇ`mÉ¡/ÙÇÄ¡ ÙÇ•Ì9̹!ÌÙ«Öèë¾è낾ÆÓÖÚØÎ¹öÛú«­<j ñŸË¡ôò¹öñùÃñ§‚dË„¡Öóι ñ§‚`áÖιñ§‚dáÖ3ιÖ3ιZó¹3ôáÖ'õι Ö6§‚nô•õι-Ö#ôι&Ö:ι Ö<ñøÎ¹Ö>ι¬¹ ;% ¹¹¬¹ˆVñùÃòË„¡ÖñøÎþÁ« ­$ ´ ØÌÙøŸË¡[Ùú¹EÙûáÖ+Ùüι Ö8§‚nÙû•Ùüι;ÙûË¡ÖÇ.Ó¹Öι'Ö;ι!Ö=ÙøøÎ¹Ö?ι¬¹ M3!­lñŸË¡nò¹VÖñÓ¡Ö&ιÖÇ-Ó¹Mó¹.ôáÖ%õι Ö2§‚nô•õι$ôË¡Ö"ôô‚ιÖǾÓ¹¬¹6 ¹ ¬¹^K« « « ­þ W|ÜÌÊþ« « Ê£¹ö« Ê£ « Ê£ «¹ôÊ£ á Ö'Ê£ ιÖ6§‚nÊ£ •Ê£ Ϋ « ¹ô¥ƒ §¤ÌÊùá« Êú« ÊûÊ£ ‚«¹!§‚ná Ö'ÊúιÖ6ÊúΫ Ê£ « Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« þEÕ«¹¬¹ æùÀ?ñŸË¡ñùÈñøÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ ÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖþ}ιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊþñÅ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“þG�¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:Ì Ì ñŸË¡ óÃñùÅ�¡ÖÎÖñÓÌ Æ¥ ¨ÖÓÖÆ¼ Îòá ñ§‚cÃÖñÓ�Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡ôñ§‚eáÖ§‚dÜÓ¡ Ö Î§‚d« Ì Ê ¡\Üÿ¡ ñ§‚cáÌ ¹LÜúŸË¡CÖÜúÆÆ Ó Ê Ê•‚Ì Ê ñ§‚cË„¡%ÖPÎÊ ñ£Ë¡þÄCÖÇ�Ó§‚6ÊË„¡ÖÇ@ÓÜ« ¹Ü« Ê “¡ÖÜñÓÌ Ê ¡öÜù¹o§‚D„“¡ÖÜüÎÖÜûÎÖÎÖÆÎ¹gÖ ÜøÎÖÆÎ¹ZÖÆÎ¹SÊ ¡"Üÿ¡ñ§‚cáÖ)ιÖ*ܣιÖQÊ Î¹Ö(ÜøÎ¹%Ö(ÜøÎ¹ÖÇ’Ó¹¬¹LxP_M!¹ÖÇîÓ­  ŠïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ ÜέþÍ^0Ö²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇßÓ¶¹Cïá#ÖÓÖ²¼ œ ÎÖÎ ñ§‚eË¡ÖÇàÓ¹ÖÇáÓÖO ιÖOιÖOι¬ #¹K­‚ƥѫ‚.Ø¡¥¦INPUT Ðѹ¥¦OUTPUT ÐÑÖ  ÆÓ«‚.¥ÆÑݟáØ¡ÖÇÎÓ¹ÖÇ3Ó¹cÝþ§‚aˡءÖÇÐÓ¹ÖÇ4Ó¹HÝÌþ’ŠÞ£á Þ£ á Ö%Þ£ ιÖ2§‚nÞ£ •Þ£ ιޣ á Ö'Þ£ ιÖ6§‚nÞ£ •Þ£ Î­ÄØêšÖÓê§Å¡ê«­ ñŸË¡gÖ§‚eñÓ¡ÖO ιVÖ§‚dñÓ¡ÖOιEÖ§‚cñÓ¡ÖOι4ÖñÓ¡'Öñ£ÎÖOζˡÖdzÓ¹ ïáÖDzÓ¹ÖÇâÓ­t!ïá1ÖVÎÖ6ØÎÖÓÖ²¼"þë6œ Îó‹¡ÖÇÀÓ¹ÖÎÖÎ!¹ö­8@"ÖVÎÖ²¼"œ ÎÆ¥ ¨ÖÎñŸÃ¡Ì¹ñ§‚aá̹ñùá̹Ìعöïá:ÖÆÎ Ö.ÙÎÖÓÖ²¼"œ Îó‹¡ÖÇQÓ¹ÖÎÖÎ!ÖÙÎ"ê•«¹ÖǮӹôÖÎÜ‹¡ÖÇRÓïáÖÆÎ Ö.ÙÎÖRÎÖÎ!ÖÙÎ"ê•«¹ÖRÎÖÎ!¹ôÖÆÎ Ö.ÙÎïá[ó¹õþ±m>‚«¹ô>‚« ¹ ¬¹ÖÎÖÓÖ²¼ œ ÎÖÎÖRÎÖñÚúÓ¡Ö(ñøÎ¹ÖǰÓÖ6ÙÎÖOιÖǸÓê•«¹¹¬¹ƒ¿­ X#¶¡öÖÆÎ ÖVÎÖ²¼"œ Îó‹ÌòáÖιÖÓÌñ§‚aáOïá ÌÖOι>Ö.ØÎÖOÎïá/ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖþÙpÇSÓ¹ÖÎÖÎ!¹&Ú¡ÖtÓÖVÎÖÎÖ.ØÎÖOÎÖ6ØÎÖRÎÖÎ!ÖØÎ"Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ä$ñŸË¡ñùÉ¡ÖÎ ¹Öέ%ñÌïá+ÖÓÖ²¼&œ ÎñŸË¡ ñ§‚eË¡ÖǹÓÖΠ̹ÌÙ§‚dáGØ¡ÖÎïá,ÖÓÖ²¼"œ ÎÖÎ ÖÎñŸË¡ ñ§‚eË¡ÖÇêÓþz®¹ÖÎÖÎÖOιôÙ§‚eáØ¡ÖÎÖO ιöÙ§‚cáØ¡ÖÎÖOιnÙ§‚báØ¡ÖÎÖO!ιYÖÙÓ¡Ø¡ÖÎÖOιDÖÙÓ¡7¸ÙúŸË¡ÖÙú²²Ó ¶¶•‚¸Ø¡Ö¶ÎÖ¶ÎÖOιÖÇëÓ­ (&ïá#ÖVÎÖ6ØÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ö­*2'ÖVÎÖ²¼&œ þÕ ÎÆ¥ ¨ñŸÃ¡Ì¹ñ§‚aá̹ñùá̹ÌعöÖÎïá,ÖÆÎ Ö.ÙÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&ÖÙÎ'ê•«¹ÖÇ Ó¹ôÖÎ%ÖÎÖÆÎ Ö.ÙÎÖÎ(ÖÎ&ÖÙÎ'ê•«¹ôÖÎÖÆÎ Ö.ÙÎïáRó¹õ>‚«¹ô>‚« ¹ ¬¹ñú« ñŸË¡ñùÈñøÅ„¡ÖΫ Ö²¼ œ ÎÖ6ÙÎÖOιÖÇ2Óê•«¹¹þÒÚ¬¹Ù}¡­ ,)¶¡öÖÆÎ ÖVÎÖ²¼&œ ÎÌñ§‚aá5ÖÎïá ÌÖOι!Ö.ØÎïáÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ÖÎ%ÖÎÖ.ØÎÖÎ(ÖÎ&ÖØÎ'Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ¢*ñŸË¡bñùË¡ÖsÓ¹Vñ§‚dáÖÇ5Ó¹Gñúç‚D„“„¡%¶áÖÎÖþF¸ÎÖñü•ι ÖÎÖñüÎÖÎÖζáÖιÖέp1¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó ÖÓ ÖóþÈ/Ó §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïË¡îïáþiØÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ð``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òñŸË¡ ñþ¹žùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸË¡ ñ§‚þÎþeË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)02*þßï6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥ Ê¢¨þê1¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšÊ¢šþïÊïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓì¡ðïþ9‡Ã¡ÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³€þ¿ œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡Öι ÖÇþÃïÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚þǾdÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ι ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚JÖÆ¼þ;š³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñÓ„�¡þ_ÒÌ̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓÌ ¹ ÖÇþ¾¤…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï áÖÓþйÖ^Ó­:< D=Ö²¼Çœ ÎÖÆÎ ÖÙÎ ï áÖÓ¹Ö4Ó§‚=‚«‚=Ö²¼Ç œ Î9§‚=•«‚=ï á2ÖÆÎ Ö9ØÎÖÙÎ ÖÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=ÖØÎ ¹ÖÙÎ ­Š>Ö²¼Çœ ÎÖÎ ÖÆÎ Ö9ßÎñÌÙŸË¡ÙùËÙ§‚dÃ�¡ ÖÇ�ÓŸÌï áÖÓ¹ÖÓŸÌÖÆ Î ŸÌÖ²¼þåÜ ÆÆÓÙŸË¡cÖÙØÓ¡UÝÌŸÌÜŸË¡#ÜÌ Ê úÞÈ¡Ê úÞáÖǜӹ ÜÌÊ øÌ¹öÆžÚÌ Ê ÜšÊ ¢ÞšÊ ¢ëšÛŸÃ¡Ú̹ÛÚš¹ÖÇ“Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖÓ§‚=‚«‚=Ö²¼œ Î9弄¼‹“¡ò§‚=•«‚=ÚŸË¡Ö9Ê Îï˫쓡ÖÓï Ãì�¡ðÖßÎ ÝŸË¡vÝúÌ ÝÌŸÌÜøÌÜÝšÜÌÛÌܟáîÝúÌ Ö,þάÎÖÊ Ó ÖÊ Ó ëÌ Ö9Ê ÎÝÌ Ê úÊ Å¡ÖëÊ •Ó Ê ‚Ì ¹ìÖëÊ ù•Ó Ê øÌÊ ÇÿÉ¡Ê ‚Ì ÝŸÃ¡êÖÊ Î ï áÖÓ¹Ö]Ó­ON€vÖwT Ô?ÖÆÎ ÖØÎ §‚=‚«‚=Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ô§‚=•«‚=ï áÖÓÖ²¼ ÎÖØÎ ¹Ö5Ó­QS l@ÖÆÎ ÖÙÎ Ö²¼@œ þmÎÖÆÎ ÖØÎ ïáÖÓ¹ÖǼÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=Ö9ÙÎÖØÎ ­\AêÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸþfQË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Êþ�Š ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@BÌÌïáÖ ÆÓÖÓ¹ Ö'Ó§‚kÌÖ²¼Bœ ØÎñŸË¡yñùámé É¡`é‚«Ú‚Ì¥ƒ é¤ñúšó᥃ é¤ÌÛ¢šÛ¢ôšÛ¢õšþ¹-ÖÎÖ8êÎ¥ƒ é¤ÌÛ¢šÛ¢êšÖÓÙ‚Ìê§Å¡ê«¹ÖÇÓ¹ÖÇÓï˫쓡ÖÓì¡öïáÖÓ¹ÖǽÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=éÚ•«êÙ•«­ð þCž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖþ7KÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ ž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ Ó­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚þÿx¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜúþ/c̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎÖ2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®Èþ»¾¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌþÝõÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßÅ¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓ¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"þúã*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤øÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺþ”Õ ƒ|€ Æ ( š t …„ RL64ðl˜¸¾ø……… „„ „ z"„ VŽ¼Þ È"&"l"æ„ #„#Ò„„„„„„„$h&$ &0 Ú*r*ô,,Ž,´ƒ+n,Ü-v-ê.ä/,/ZŒˆDþÒ–ÇÿÙ€•Ú€ÉÙÉÚÉ„ÙÅÚÅ„�„¡Ì¹ÌÛÙÚ‚š­0Ùá̹ Ú€ÇÿÙ€†ÈÌÜ¡ ÌÛÙÚ�š¹Ì­.ݚ弄¼‹“¡ÖÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡ìïáòéÌ ¥ƒ é¤ùˡ镫¹öÆžßÌʚʢšÊ¢šŸÌ Ì ÖÓïá=Æ žÊ ÌÊ¥ÑÊ¢ ßšÊ¢Ê šÊ¢Ê šÊ¢šÖÊ Óþ@›Ê ‚Ì Ê Ì ÖÓ¹Ö!ÓïÆ¼"œ‹“¡ÖFÓÖÆ¼"œ ÓïË¡ôߢÊ šß¢Ê šÊ «ïáÖÓ¹Ö,Ó¹îïáðÖ Æ ÓÖÓÊ £ánÆžßÌÊ ÌÊ¢ÊþšÊ¢šÖÊúÓ¡ ÖÇ”ÓÊ¢ŸšÊ¢Ê¢¨Êšï#áÖÓ¹ÖÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖÇÃÓ¹Ê þÌߟˡÝßøš¹vÆžߢšÖƼ³þ~œ ÆÆ ÓÖÞÓ¡ ÖÇ ÓŸÌßÌÊ¢ÞšÊ¢Æ ¨Êšï#áÖÓ¹ÖǺÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖkÓߟˡ7ßÌÊùá-ÊúŸË¡&Êú§‚dáÖÇ$Ó¹ÊüÊûÅ¡ ÖfÓÊ¢ÊüšÜßšïÆ¼‹“¡ÖGÓÖÆ¼ Ó¹ÜŸš­$Øqÿ1 nÌٟ˶„¡ôÙÌÝù¹kÙ§‚eËÙ§‚dË„¡8ÖÙÆÆÓ þ1)ÛÄ¡+ÌÚḹÇ@̸ÜÚÅ¡¶•¸Ü†Ì¹ö¹4ÖÝúΡÖÝúÆÆÓ Ú‚ÌÚÉ¡ÌÚ¸¹¬¹su2­N šÌØÌÖÚþΡ@¶¶‚Å¡¶ ‚¸ ¸ÌÚ¢¶ šÚ¢šÚ¢¶šÚ¢¶š¶¶‚¸¹/¶ ¶Å‚¸ ¸ÌÚ¢šÚ¢¶ šÚþŸË¡ ¶ Úþø‚¸ Ù¶ŸË„¡/¶ÌþôbÚ£ ¡%Ú£ áÚ¢š¹Ú£ ÈÚ£ È„¡ Ú¢šÚ¢š­¾²ž¶ÌÙ¢ŸšÙ¢ŸšÙ¢š¶¶šÖÓïáö¶¡² ž¹² ž¶ ÌÙ¢ ŸšÙ¢šÙ¢ŸšÙ¢šÌ«‚.Ö ² Ó«‚.¶ ŸÃ¡!̶ ¥ÑÖ¶ ÓÖÓïáÖÓ¹Ö8ÓïáXÖ ² Ó¶ þ¸¶ŸË¡;¶ùÈ¡/Ö§‚d¶Ó¡ÖÇÆÓþ·¶ ¢ ¶š¶¢¶ šØ¡Ö¶ ιÖnÓÖÓ¹Ö%ÓÖ²¼Çœ Ó¹Ö&ÓÖ²¼Çœ Ó¶¶ ¶Å‚šï áÖÓ¹ÖWÓŸ¸¶ ¸¶ ¸¶¸¶¸Ÿ¸ Ö²¼œ ² ²Ó¶úŸË¡Ö¶úþ¶ Ó“¡ÖoÓ² ž¶ ÌÙ¢¶šÙ¢¶ šÙ¢²¨Ù¢š¶ ¸¶ ¸ ï˫쓡ÖÓì¡ôïáþBJÖÓ¹Ö9ÓïáÖÓ¹ÖXÓï៸ ¹Ö²¼(œ ² ζ ¶Å¡¶ ¸¶¸¹¶ ¶ö¶Å„¡¶¸¶ ŸË¡%¶ ú¸ ¶ ¢¶ š¶ ¶ ¶Å‚š¶ ¸ ¹òïá%ÖÓï²¼œ‹“¡ÖNÓÖ²¼œ Ó¹Ö-Óï˫쓡ÖÓ¶¸ ¶¸ï Ãì�¡ð¶¸ ¶¸¶¢¶š­j’j»þS(È ŸÌŸÌŸÌï³ ‹“¡ÖÓÖÆ¼³ œ ÓïáðÞÌïáA¶¡Æ ž¹Æ žÊ ÌÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢šÊ¢šÊ ÌÖÊ ÓÖÓ¹ÖÓï‹“¡ÖAÓÖÆ¼³ œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö.ÓÖÆ¼³ œ ÆÆÎÊŸË¡ ÊùáÖlÓßÞË¡ßÌÊ¢ ÊšÖßÎßÌÊÿÌþnê¹ôÊ Ìïá)ÖÓï³ ‹“¡ÖÇ™ÓÖÆ¼³ œ Ó¹òŸÌÞŸË¡ÞÌÊÿÌ Ê¢ßšÞÌÊ Ì¹îïáÖÎ ¹ÜŸš­+08…4p² ž¶¶ š¶ ÌØ¢ŸšØšØ¢šÖÓïál«‚.Ö ² Ó«‚.¶ ŸÃ¡+² ž¶ ÌØ¥ÑØ¢ ¶ 𨢧‚fšØ¢š¶ «‚f¹#¶ þŸË¡¶ þùË¡ ¶ ¢¶ þš¹þ‘ÖÇÄÓÖÓ¹ÖÓ­  Ì弄¼‹“¡Ö ÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡Þ弄¼‹¡ÖƼ ÜÝιàïáÖÎ ¹âï+á&ÖÓÌ弄¼‹“¡ÖYÓÖÆ¼¥ƒ¼œ Óï,áðÖÓïáÖÓ¹Ö ÓŸÌÊ¡Æ ž¹Æ žÊ ÌʢߚʢŸšÊ¡Ê¢šÊ¢šÊ¢šÊ ÌÖÆ¼³œ ÆÆ ÎþÜtßÊ šÞŸË¡7ÞùÈ¡(Þ§‚dá Ömӟ̹ާ‚eá ÖǕӟÌÊ ¢Þš¹ ÖÇÇÓŸÌï˫쓡ÖÓì¡öïáÖÓ¹Ö[Óï áÖÓ¹ÖTÓÖÆ¼ Æ Æ ÎÊ ŸË¡ Ê ùáÖÇÅÓÖÊ Î¡"ÊʂȡßÌÊ¢šÊ¢ ʆšÊ¢ ÊšßÌÊûÌÊ¢Ê šÊúŸË¡ôÖÊúÆÆÓ Êü¡;ÖÊÊ‘ÆÎ¡&ÖÊÆÎ¡ÊÊþ†ÊÊþŽþtÑË‚Ì ¹ÖÇKÓ¹ÖÇFÓ¹@ÖÊÊ‘ÆÎ¡-ÖÊÆÎ¡ÖÊ ÊÆÎ¡ÊÌ ¹ÖÇGÓ¹ÖÇHÓ¹ÖÇIÓÊ Çÿ?Å¡ ÖÇJÓÌ Ê È¡ ÖÇ'ÓÌ ÊÊ šßÌ ÞÌߟáò¹äï-áîÖÓéÌ é ɡ邫¥ƒ é¤ÌÊŸšÊ¢š¹ÖÇÓÌ ÌÖÆ¼…Çœ ÆÎÊ ÊÅ‚Ì Æ žÊ ÌÊ¢¥ƒ 餸šÊ¢ßšÊÊ šÊ¢šþwÊ «ï áÖÓ¹Ö_Ó¹æï*áìÖÓï áÖÓ¹ÖUÓÖÆ¼ ÆÆ Îߟˡ%ßùÅ¡ ÖÇÈӟ̹ߧ‚dÃß§‚eÃ�¡ÖrÓŸÌÆ žÊ ÌʢߚʢšßŸË¡4Ö߯ÆÓ ÊÉ¡ÖÇTÓÊÊ‚†šÇÿÊøÉ¡ ÊÇÿšÖǩӹʚ¹èï.áWÖÓÆ žÊ ÌÊ¢šÊ¢Ÿšï áÖÓÖÆ¼ ÆÆ ιÖVÓŸÌÊ ¢ߚߟˡßùþ!÷áÖÇ6ÓÊ >ßø‚š¹êï3á|ÖÓïË¡ÖÇ´Ó¹lÖÓÖÆ¼³œ ÆÆÓß§‚eá8ÊÈÊÇÿÅ�¡ ÖÇÓÌÆ žÊ §‚_¨ Ê ÌʢʚÊÊ‚†š¹ÖÇ€ÓïáÖÓ¹Ö\ÓÜÊ šïƼ‹“¡ÖJÓÖÆ¼ Ó¹ÜŸšÜøŸÃ¡Ýš¹ÝÜøøš­139;=?ÂP$a/ Êï"áY¥ƒ é¤ÌÚüÌÌØŸþ{œËÙ“„¡Øù§Ë¡Øú̹ ÌÖǦÓ¹öÙ“¡!ÆžØÌÛšÛ¢§šÛ¢ŸšÛ¢ÚüšÚ¢ØšÖÓ¹ÖÓï²¼ œ‹“¡ÖBÓÖ²¼ œ Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖcÓ­¢� ¬ ïË¡ÖÓÖ²¼œ ÓïáôÆ žØÌÛ¥ÑÛ¢ ŸšÛ¢ŸšÛ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÓÖ²¼œ ÆÆÓÖØÓØ¢ þ¡ٚآƨïá%ÖÓï²¼œ‹“¡Ö?ÓÖ²¼œ Ó¹ÖbÓ¹ö­� ¬ ïË¡Ö"ÓÖ²¼œ ÓïáòÆ žÚÌÝ¥ÑÝ¢ ŸšÝ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÇ—ÓÖ²¼œ ÆÆÎÖÚÓÚ¢ Ûš§‚fÌÙŸË¡+ÙÚ¯¡Ùþ¢ÚþšÙ§‚fˡآÙÿš¹Ùÿ«‚fÙÌÙÿ̹öïá%ÖÓï²¼œ‹“¡ÖKÓÖ²þ>r¼œ Ó¹ÖvÓ¹ô§‚fŸË¡ ÖÇÒÓŸ«‚f­Éx ê ŸÌïá/Æ žÚÌÝ¢šÝ¥ÑÝ¢ٚݢ ŸšÝ¢§‚nšÖÚÓÚÌÖÓ¹Ö#Óï²¼œ¥ƒ¼œ‹“¡ÖLÓÖ²¼œ¥ƒ¼œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö1ÓÙÌÖ²¼œ¥ƒ¼œ ÆÆÎÙŸË¡=ÙÌÝ¢ ۚݢêšÖÜÓÝÿÌÝÿŸÃ¡ ÛŸË¡Ûþb7ùáÝ¢¥ƒ é¤úš¥ƒ é¤¢Øš¹ôïá%ÖÓï²¼œ‹“¡ÖMÓÖ²¼œ Ó¹Ö|ÓïË弄¼‹“„¡ò§‚fŸË¡ ÖÇÓÓŸ«‚f­1”5 @ŸÌ êÌïÆ¼œ‹“¡ÖÓÖ²¼Æ¼œœ Óïáì¶¡ÖwÓÖÓï³@‹“¡ÖOÓÖ²¼!œ Óï³@‹¡ðïáÌ ÖÓ¹Ì ŸÌÌïáKÆ þ÷üžÊ ÌÊ Ã¡Ê¢š¹Ê¢šÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢§‚nšÖÊ ÓÊ ÌÊ‚ÌÖÓ¹ÖÓï²¼œ‹“¡ÖPÓÖ²¼.œ Óï˫쓡ÖÓì¡öÌ ŸÌ ïáNÖÓïá@Ö Æ ÓÖÓÊ þÌ Ê ŸË¡Ê Ã¡Ê ùáÖyÓ¹ Ê ùÈ¡Ê øÌ ÖÊÊ �Ó¹ÖÓ¹Ö/ÓŸÌ êÌßÌÞŸË¡"ÞÌ ÞÌÊÊ •Ìʢʚʢ Ê þ¼šÊÿ̹ôÊ ŸË¡ Ê ¢Ê šßÌ ï(²¼œ‹“¡ÖQÓÖ(²¼œ Óïá)ÖÓï²¼³@œ‹“¡ÖRÓÖ²¼!œ Ó¹òïá+ÖÓïÆ¼²¼œ‹“¡ÖCÓÖÆ¼²¼œ Ó¹Ö+ÓÝ¢ꚟÌÊ ŸË¡<Ê ÌÊÿÌʢޚʣáÊþŸË¡ÊþùÅ¡ Ê¢êšÖÊþøÓÊ ÌßÌ ¹îÜÞš¹ÜŸš­NŒ þv,†¶¡ ¶«¶«‚r¶ «¶ «¶ «‚n¶«‚s­.ØÌ¥„¿¤ø‹¡`Ö¥„ó®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥„ó®¦. ÏÙÛáöÖ¥„ó®ÚÏÖÛÏ¥„¿¤ø‹¡`Ö¥…u®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥…u®¦. ÏÙþBÕÛáôÖ¥…u®ÚÏÖÛÏ­)— èØ0áR§‚3¡ÖÇNÓïÌï³€‹¡ÖÓ¹ ÖÇ!ÓÌÌí̧‚q«§‚rÌ«‚r§‚8¡ÖÇ Ó«‚?«‚Y¹ÌêÌ «ê«‚Q«‚5ïáòÖ¥ƒ 餸ÆÓÊŸË¡FÊ£áÊ£ØÄÊ£ Ä̹ʣáÊ£Ø Ã„Ê£ Ä̹ÌÊ“¡ÖÇ Ó¹ÌÊ“¡öØáÆž¹Æþb^žÊÌÊ¥ÑÊ¢ ŸšÊ¢êšÊ¢šÊ¢šÊ¢ šÊ¢§‚nšÊ¢§‚ršÊ¢íš§‚3Ê£ ÄÊ£ Ä¡¥ƒ÷¤¢ÊÑ¥‚tÊÑÊ¡#§‚qÅ¡ÖÇÓ¹§‚q‚«‚q¥ƒ÷í¤¢¥Ñ§‚rǕáÖÇÓ¹§‚r‚«‚rØáÊ¢š¹Ê¢šÖÊÓ¹}ÊÿÌÊŸË¡DÊÌÊþŸË¡2Ê£¹Ê£ Êþø‚̹ʣ ‚̹ ¬¹ ÊþêšʫÊÿ̹ôÊ£ íË¡&Ê£ Ë¡ÖÇUӹʡ Ê£ ««‚r¹ÖÇ"ÓÖÓ¹ ÖÓ§‚i̧‚sÌÊ£ «‚s§‚nÌ §‚nÉ¡ §‚n‚«‚n¹ÖÇûÓéÌ é É¡7é‚«¥ƒ é¤ÌÊ¡ÊÊÿš¹ÊŸšÊ¢ŸšÊ¢ŸšÊ¢šÊ¢š¹ÖÇúÓÊÌØáÖ ÆÊÎÊ“¡Ê¢Êš¹ìÖ  ÆÊÎÊ“¡Ê¢ÊšïáîÖÓïá|Êþéî¡ÖzÓÖ ÆÓÊþÌÊ¢ ʚʟˡÊù‹“¡ ÖxÓÊ¢ ŸšÊþŸË¡ÊþøÌ¹ÌʢʣʂšÊÿÌʟˡʢʣ Ê‚šÊÿ̹ðÖÊÓÖÓ¹ÖÓÖ²¼œ Ó¹ Ê“¡Ö{ÓïáÖÓ¹ÖdÓïÃ¥¦FORWARD Я„¡BÊ¡ÖǡӹʢšÖÓïáÖÓ¹ÖpÓï²¼‹“¡ÖDÓÖ²¼ ÓÖιàïÃþ—¥¦ASSEMBLEЯ„§‚6“„¡èÊ¡ÖÇ1ÓÖÓïáÖÓ¹ÖSÓï²¼‹“¡ÖÇ ÓÖ²¼ Ó«‚+Æž ¥ÇžÇÿ«‚M«ÊŸË¡VÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÊþŸË¡ ÖÊþøÓ ¹ÖÓ ÖÇÿÓ ÖÇþÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇBÓ¹§‚?ë‚«‚?¥ƒa§‚s¤þ®{§‚?•šÆž!ÖÊÎÖιâïÃ¥¦EXTERNALЯ„§‚6“„¡äÖÓïáÖÓ¹ÖǯÓï²¼‹“¡ÖÇÏÓÖ²¼ Ó«‚*Æž ¥ÇžÇÿ«‚M«ÊŸË¡<ÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáæÖÇýÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇÑÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÊ¡ÖþQ˜Ó Æž!ÖÊÎÖιPÊÌÊ¢šÊ¢ šÖÊÎ¥‚tÊÑ¥‚x¦ declarationsª Æž Ì Ȩ̂‚oÌ ¥‚o ž§‚oƨ ¸­VÓVæ×â2±¸\ÆÚÑÙøŸÃ¡Ì¹ZÙøÆ¯¡Ì¹LÙøÌ Ì Ê Ã¡!Ê ÿÌߟáÌ ¹߯¯¡Ì ¹ßÌ ¹öÊ á̹ÌÊ ¢ßÿšß¢ÙøšÙßš­GtÆÙÑþ„ȩ„ÅÌޟˡޢƯ¡¹ ¹ÞøÌ¹öÌ­ 4ÆÙÑÌ¥ƒ é¤úÌÞŸË¡ÞÆ¯¡¹ ¹Þÿ̹öÌ­ 6ØøŸË¡ŸÌØøÌØÙ𨸸ÌØøÚšØøÌٟáö­,ÆØÑÆ žÝÌÞÆÑÞ¢šÞ¢ §‚ašÞ¢§‚nšÞ¢êšÖ§‚aøÓÞ¢¥ƒ é¤úš¥ƒ é¤¢ÝšÖÝÓ­RÖ¦INPUT þ+éÐÎÖ¦INPUT ÐΓ„¡Ö¦INPUT ÐÎÖ¦OUTPUT ÐÎÖ¦OUTPUT ÐΓ„¡Ö¦OUTPUT ÐÎÖ¥„ÅΧ„ÅÌØŸË¡Ö¥ƒ 餢آΓ¡ÖÇ0ÓØøÌ¹öÖ¥„Åέ+ž§‚2§‚0„¡«‚2ÖÆ¼ Ó¹òÌïá§‚3§‚nÄ¡ÖÇLÓÖÓÖÎ ïáÖÓÖÎ ïáÖÓÖÎ ïá§‚3§‚nÄ¡ÖÇMÓÖÓÖÎþâT§‚nç‚3“„¡ÖÎï³€‹¡ ïÌÖÓÖÝιöïË¡弄¼‹Ü„“¡ÖÓÖÆ¼ ÓïÇ¥ƒ¼œ‹¡ô­¯Q ÒzÒ@zâ V D xü L<înˆV¼¬2f0þþ`§‚2§‚0„¡ ÖÆ¼ Í¹.ÖÆ¼ ÍÖÆ¼³ œÇ… Í§‚oŸÃ¡öÖÎ ­0NØÅÌÚÙÇØÇ€Ž�‚šÛ¡ ÚÚøÇÿ••š­(ÙÚá̹îÙŸÃÚŸÃ�¡Ì¹ðÙùÚùË¡'Ùùá ÖÙúÚÎ̹Úùá ÖÙÚúÎ̹̹òÙù¹ö̹ôÖÙúÚúÎ̹ôÙ§‚`ÃÚ§‚`Ã�̹xÖÙúÚúÎ̹lÖÙÎÖÚ΄“þס̹AÖÙÎÖÚ΄¡Ì¹/ÙúŸÃÚúŸÃ�¡Ì¹ÖÙúÆÆÎ ÖÚúÆÆÎ ÞÃÝÄÜÛÄ̹¬¹Ї}pf”–­ ôŸÌݚ弄¼‹“¡Ö2ÎÖÆ¼¥ƒ¼œ Î弄¼‹¡ôï%á?§á§‚c̹(Æ žÞ§‚_¨ Þ¢§šÞ¢ŸšÆ Ç‚žÊ §¨€‚Ê «Ý¥¨ÖιöÌ ï(Ãð`‹„¡ðáÌ ¹þprÌ ÖÎïádÖ ÆÎßÌ Ê þÌÝÊ ¢¨Ê Ë¡AÞ§‚eá Ê áÝÝø‘š¹-Þ§‚dá"Ê áÆ žÊ šÊ ¢Ýø¢¼’½ÝÊ š¹ÖiÎÖιTï"áÊ á§‘«§‚eÌÝ¥¨Öι5ï$á"Ê á §¢§¢¼’½§‚dÌÝ¥¨ÖιÖjÎÖÆ¼ ÎïÆ¼‹“¡Ö>ÎÖÆ¼ ÎÜÞš­  v¥ƒ 餸Ìڟá ¥ƒþ¸º 館š¹8ÚÆØžÌÛáÖeÎÙüŸÃ¡Ì¹ ÙüÆØžÌ¹öÛá٢ؚ¹Ù¢ ؚآ ŸšØ¢Ÿš­<dØŸË¡,ØÌÙ£`‹¡Ù£ áÙ£ á Ù£¡ÖuÎÖÙüÎ ÖÙýÎ ­: «§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖÇEι ¥ƒ÷í¤þò¤§‚?낚ÖΫ‚?«‚8­k ˆ ë‚§‚MÅ¡ ÖÇýΫ‚7«èëÂØ¿ë‚«­( ë„¡ÖÎ ë‚§‚MÅ¡ ÖÇΫ‚7«ÖØÆÆÎ§‚9§‚-áèëÂÚ¿èë‚ÂÙ¿¹ èëÂÙ¿èë‚ÂÚ¿ë‚«­X ØÌÛùá ÙÛüšÚÛûš¹"ٚا‚cáÚÇÿš¹ØûŸË¡ÚØû£ š¹Úš­> ««‚4«‚Ÿ¥€—ÂÇÿþ©çž §‚1¡5Ö¥€—¥‚C¥ˆ9Γ¡#Ö¥ˆ9ϧ„¼«§�«�¥€—¥ªÿ§‚/«‚4«‚1¹Ö¥€—¥‚B¥‰wΓ¡ÖÇ/ÎÖ¥€—Î¥€—¾Çÿ•Å¡ÖÇέ†Ù¿ۢ|ÚøÂ¾§‚Wá̹dÛ¢|ÚøÂ¾¥„½¼‹“¡/ÙÂÙ¾‚¿ÙÙ¾ÂÛ¢|ÚøÂ¾¿ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏÚš¹öÛ¢|ÚøÂ¾«�ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏښ̭g †þ)êØ‚Çÿ?Å¡ ÖÇÚΫ¹êØ‚«­"§‚A‚«‚AÖÎÖÎîP ¥€—îž ‚«§‚5¡ê«‚Q¹ë«‚Q­4Ìî‚«¥€—î¾ Ë¡ö—¾Å¥€—î¾Æ¼‹“�¡Fî•«î‚«—¾Å¡Öιô¥€—)Ã¥€—î¾*Ä¥€—î¾}Ã�¡òî‚¥€—î¾*«Ì­C@q |ئªÿØÌÖÆØÇÿÏÖÆ¦ ÇÿÏÆªÿØþ|ùؾ¥€—î‚«—¾Å¥€—î¾ Ã�¥€—î¾}Ã�¥€—)Ã¥€—î¾*Ä�¡öî•«Ö ÎÌ­k� xÌÖ³@ Î¡ Ù¥€—î¾|ڹ̭6!ÌÖ³ÿ  Î¡H¥€—î¾-á,Ö³ÿ Î¡Ù¥‚ö¥€—î¾0•¤ø“š¹Ì¹Ù¥‚ö¥€—î¾0•¤øš¹Ì­jþ�„"¥€—î¾=áFÖÆÎ"ÌÙÖÆÎ!„¡ÖÆÎ"¡Û¡ÜÚ�̹Üڄ̹̹öÙ“¡ ̹ Ü¡+̹-̹¥€—î¾ÌÖ ÎÌ­R l §‚6“¡îÆ€‚³’’ ½Æ€’³@ ( ½Ö³ Î¡ðÖÆ€‚¼ Î¡ò¥€—î¾¹öÖÆ€’¼ Î¡ Ö¥‚[ÖΠιôÖÆ€’¼ Î¡ Ö¥‚PÖþ'ÜΠιôÖÆ€’¼ Î¡ Ö¥‚EÖΠιô§‚P„“¥„¿¤ø‹„¡Ö¥…÷ÏÖ Î̹ôÖÆ€’¼ Î¡ Ö¥‚DÖΠιôÖ!~” Î“¡¹ìÖÆÎ§‚1¡ÖÇ*ι쫂1Ö¥ˆ9ÆÏÖ¥ˆ9Ï«‚Cî«„¼¥¥€—ªÿ§�«�§‚4«‚/ÖÎÖÎ ž¹g¬Cr¹`ñ mèÓºš"$&(*,.02468:<>þ`Ï@1DFHJL­PR(VXú^Ú¹ Ö ÎÌ­¡ÐÌ€‚Ì€�Ê€‚¡î‚«î‚«Ê€�‚Ì€�—¾Å¡ ÖÇÊÎÖι)ÆÊ€�•Â¥€—¥€—î¾'áöÌ€‚¥€—'Ë¡ôÊ€�•Ì€�%«« Ê€�«Ê€�á Æ•¾«¹-§‚pÌ€ƒÊ€ƒšÊ€ƒ¢Ê€�šÆ•ÂÊ€ƒ¢•ÂÊ€�ž§‚p«­¨ ƒ þ=º#ÌÌ Ì Ì Ì Ç'ÌÇ'ÌîÌî‚«¥€—î¾0É¥€—î¾9Å�¡öî•Ì ¥€—î¾.áS¥€—.Ë¡GÌî‚«îÌ¥€—î¾³ÿ‹“¡ÖÇÉÎ¥€—î¾³ÿ‹¡î‚«¹ôî•Ì ¥€—î¾³ ‹¡\Ìî‚«¥€—î¾-á î‚«‘Ì ¹¥€—î¾+áî‚«îÌ¥€—î¾³ÿ‹¡î‚«¹òîþǽ•Ì Ê ÝÉ¡ÖÇÎØábÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«« Ü«¹èÆнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Ûþ~k¾‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFj$¡0—¾È¥€—î¾ Ã¥€—î¾ Ã�„¡î‚«¹ô—¾È¡¹Öιò« /«¥€—î¾¹îÖÎ#¹ìÖÎ$¹ì¥¥€—¥�¥¥ ¥ž ¹ìÖιð¹ì¥€—*á î‚«Öι𹫹쫹쫹쥀—þ ¼î‚¾.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—¹ « î‚«¹ « î‚«¹ ¬=>¹¹ì)« « ¹ì)«¥€—=á « î‚«¹ « ¹ì¬'{¹ìò×…Ø{×w "$&(*,.02Ô»‰ZT2À=?AþÑ=CEGIKMOQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿï/áÖÇ)Îî‚«§‚[„¡¹ð­Ð  ,ØÉÌÛ¡ Ø‚Çÿ‚ÌÙØÇ†šÚØÇŽšÛ¡ÙÙøÇ€‚š­2ÌÙŸË¡Ùùá ÙüÙû§‚cÄÌ­"žþ±š§‚JÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Ö¥…÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷®Ö¥€—Æm¥€—¾l•ÏÆÏ¹ Ö¥…÷®¥€—ϧ� áÖ¥…÷Ϲ֥…÷ϧ‚4¡ò¥„¿¤ø‹¡Ö¥…÷¦ERRORÎ%¥€—¾ ¥€—ž ÌÙ¥€—¾É¡E¥€—Ö¥þxŽ€—ÆÙ‚¥€—¾Ù•ÏÆªÿ®§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥†y® ÏÖÚ¥€—ÏÖÚÏÖ¥†y¦Î%¥„¿¤ø‹¡qÖ¥…u®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦þîü of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ ÈÚÌÚ“ÌØøÇ@ÄÙ^Ë„¡ÖÇιôÙ¹ØØø�Ü‚š¹öØØø�Û‚š¹xØØøþw•†š¹p¬+^¹h$  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfv­ ¶é®®Ä¡IÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹§‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§þ†U‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØþ¥hÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„Ù•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏþEÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFILEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖþhÔΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒƒ‚ |€ð.¬ F0œþ:`Ԣʀ¨4Àb��`�ÌHBpN'þþª§‚9§‚-á ٕؕ€ŽÌÌØÙ‚É¡M̮ٮȡÞ̹ÜÐÌÛÛ‚ÌÜÝáö®Ø®È¡#Þ̹ÜÐÌÚÛ‚ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáô¹0‘̮ٮȡ#Þ̹ÜÐÌÚÛ•ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáòÖÚέ$Xv ¬ þþTåÖÆ¼ ÎÖñÓòÃñ§‚cÄ�¡FòáÖι:òá5ñ§‚cá+§‚pÌܚܢšÜ¢•Âó¿§‚p« ¥ žñ§‚_¨ ñ¢šÖιñŸË¡ÖÇçÓ§‚_« ­zþþ±ßÖ²¼"œ ÎÖΟÌÌÌñŸË¡)ñÌÝùáÝúŸË¡ÝúÌÞøÌÞùáÞû̹ÖÇÌÓïáòÖÓÖ²¼"œ ÆÆÓÚ‚ÌٟáÖÇžÓ¹fÙùË¡ÖÇ¢Ó¹XÙúŸË¡RÖØÓا‚dÃ�¡ÖÇŸÓ¹=ÖÙúþØÓ¡-ÙûÌØŸË¡ØÌÝüÜá ÝøÌÝú̹¹Ýû̹öÙøÌŸÌ¹ÖÇÍÓ¹ôÖÛÎÖέ ¢A ôþþ¨ß§‚3¡ÖÇPÓïáÖ` ÆÓÖÓ¹ï!á §‚gÌÖÓ¹ŸÌ؟ˡأ áÖØ£ ÎÖØ£ ιÖÇÜÓ¹ÖÇÝÓÖέfþþ–zÌêÌÖÇÿ†‚ÓÖÎÖ8ØÎÖVÎÖ2ØÎÖ²¼"œ ÎÙñ£‚ÌÙÇÿÉ¡ÖÙιÖÇÿÎÖOÎï˫쓡ÖÓì¡öÖ2ØÎÙÇÿÉ¡ ØÙ†‚‚«¹ÇÿÌê§Å¡ê«Ø«¥ žñ§‚_¨ ñ¢Ùš­‚ ¤þþf{êÌÖÇÿ†‚ÓÖ²¼œ ÎñÌÖ2ØÎïáÖÓ¹ÖǶÓÖ²¼œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇèÓïáÖÓ¹ÖÇ·ÓÖ²¼ œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇéÓÖOÎÖ2ØÎÙ£ÇÿÉ¡ ØÙ£†‚‚«ê§Å¡ê«Ø«Ù« ­Àþþ9lïáÖ ÆÓÖÓØþŸË¡ÖØþø�Χ‚e« ­,þþ:ÞÖ²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÛÓ¶¹ Öι1Öι+¬¹$  "/ÖOέlþþëÖ²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇÞÓïË¡ÖǪÓ¹ÖÓÖ²¼ œ ÎÖOέNþþ­¶¡3Ö²¼ œ ÎÖÎñŸË¡ñùË¡ÖÇìÓ¹ ñ§‚aË¡ÖÇÓ¹ÖÎÖOέJþþ‰sñ§‚dá ÖÆÎ ÖRÎÖ8ØÎÖRÎÖ6ØÎê•«¹ÖRέ4(þþ Ÿ¶¡=Ö²¼ œ ÎÖÎñŸË¡%ñùË¡Ö}Ó¹¶³@‹ñ§‚aË„¡ÖÇ(Ó¹Öζ¹$ÖO Χ‚b« ¹;ÖO Χ‚b« ¹/ÖOΧ‚c« ¹#¬¹+! -­š+þþD Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÙÓ¶¹ÖιÖιÖι¬!¹  ÖOέZ,þþ�DÖ²¼"œ Î² ¥ ¨ÖÎÖ8¶ÎïáÖÓ¹ÖÇ=ÓÖ²¼"œ ÎÆ¥ ¨ÖÎ ¶ ŸË¡v¶ ùË¡ÖÇ9Ó¹f¶ ü¡ÖÇ<Ó¹XÖÚ¶ úÓ“¡ÖÇ8ÓÖ¶ úÆÆÓ ØÙ•¸§‚D„“¡ ÖÙÎÖØÎÖÎÙË¡ÖÙ€ÎÙÅ¡ÖιÖÎÖ8¶Î­Ì.þþ&�¸Ö²¼"œ Î²¥ ¨ÖÎÖ8¶Î¶ŸË¡B¶ùË¡ÖÇÓ¹2¶ü“¡ÖÇ;Ó¹#¶ý˸Ö¶úÆÆÓ ÖØÙ•€ÎÖ8¶Î­v/þþ†¾Ø¡-Ö6¶ÎÖBΧ‚D„“¡ÖÎÖ¶ÎÖÎÖ$¶ ûøÎ¹¶¡Ö@¶þ¶ýιÖBέP0þ­÷ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ¶þy,&áÌÖÎ.ïáÖÓ¹ÖÇ>ÓÖÎ/¹ÌÖÎ/ïáÖÓ¹ÖÇ?ÓÖÎ.ߟËÊ ŸË„¡ßûÊ ûË¡ÖÇ:ÓÖÎÖÎÖ8ÚÎÖÊÎ Ö6ÚÎÖ6ÛÎÖIÎÖ!ÊÎÙ¡Ö6ÜιÖ6ÞÎÖ6ÚÎÖPÎÖ.ÚÎÖÙ“Î0Ù¡Ö6ÞιÖ6ÜÎÖ6ÚÎÖÙÎ0Ù¡Ö#ÎØ¡Ö;ιÖ?ιءÖ:ιÖ>ÎÖÎÖ9ÊÎÖÊÎ ê�•«­"-þþ®,¥ƒ ¶¤ü¸¶ŸË¶“„¡¶ù§á¸¹¶ú¸¹ö­&:<þþöeï"Ë¡ÖÓ¹òéÌ¥ƒ Ú¤ùˡڕ̹öÌÖÎ<Ù¡Ö9Øûι]ÌÚÅÙ“„¡Û‚ÌÚ•ÌÖÎ<¹ôÙ“¡ÖǧÓ¹7ØøÃ¡¥ƒ Ú¤¢¥ƒ Ú¤û‚šØ¥ƒ Ú¤ûšÖØø‚�ÎÖ§‚nÛ•ÎÖÎÖÓ­bŠ  ;þ׃ž«‚J§‚J§‚K•§‚]†«‚\§‚\É¡«‚\§‚\Å¡«‚\² ž §‚\¹öÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚MþD¯¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹rÇÿ«‚M¥Ç ž¹cÇÿ«‚M¥Ç ž¹TÇÿ«‚M¥Çž¹EÇÿ«‚M¥Çž¹6Çÿ«‚M¥Çž¹'¬¹ ÷êÝÐö©œ�‚uh[NA4ž«‚L§‚\«‚^­7 bDþþ™G§‚oÌØøŸË¡Øø¢ šØù¡§‚8¡ÖÎ Øû«‚rØú«Ø£«‚nØÿ«Øþ«Øü«‚s§‚o¢ ž!§‚o£ «‚o§‚3¡ §‚o£ ŸÃ¡Ÿ«‚o­bþþÍf«‚4§‚Ÿ É¡ §‚Ÿ‚«‚Ÿ¥‚ §‚Ÿ•¤‚ª§‚Ÿ•¤Øš¥‚¥‚¼ Ø—œ  ½ ØÇ,Ç/”‹¡«‚: ž­VþþvöÙ¾ÚÉ¡ÙÌÖÆÙÇÿÏÖÆ¦ ÇÿÏÆªÿ¹öÌÚ®ÚÛ•®Ä¡Þ̹ܕÌÙܾ Ë¡ÌÜÝáô­P� X&þþg:ØÙÂ^¿Ù•ÌÚ ŽÌÚ †ÌØÙÂ0Û‚¿ÚÃÙÃ�¡öØÙ•Â#¿­) 6'þg&ÆÙª@Úɡ̧‚Ÿ” Ì€¨Ê€¨·¡ðÆ'¦ªÿ®€ª§‚Ÿ®€©È¡ôÊ€ªÌ&¹Ê&ÐÌ&Ê&Ê€¨‹¡k¥‚ªÊ&þ|þ•¤ø ɡ̀§¹¥‚ªÊ&•¤ødɡ̀§¹Ì€§ÖÆ'Ú¥‚ Ê&•¤ø‚Ê€§Î&¡(ÖÆ'Ú¥‚ Ê&•¤ø‚¥‚ªÊ&•¤øÎ'Ê€¨Ê&—… Ì€¨Ê&Ê€©Ã¡öƾÆ'¾‚DŽšWÖØ®€©ÆÏÖÊ€©ÖÆ'Æ€ªÇ„ƾ•ÏÆ€ªÏÖÊ€©ÏÖØ®€©ÖÆ'Æ€ªÇ…ƾ•Æ'¾Ç„•ƾ‚ÏÆ€ªÏÖÊ€©Ï¹ÖØ®€©ÆÏÖÊ€©Æ'ÏÖÊ€©Ï¹ò­'…&J%ÿPASOPSYS.MCûll 4þ‰—YMESSAGE USE A 32K 2 STACK 6 EX. BUFFER 2 CELL $LPT MESSAGE NO MTAPE NO PLT 3 DISK 3 DIRECTORY RTC NO PWR FAIL MESSAGE SYSGEN IN SYS2L.SV ÿOPENFILES.PIûŽ� &þYØPROCEDURE OPENFILES; BEGIN WRITELN(' INPUT FILE'); READLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,LINE,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,LINE,SYSERROR,ERRORNUMBER); WRITELN(' OUTPUT FILE'); {USE BELOW FOR RDOS FILE DISKOþ&UT MUST BE INTEGER} {READLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(LINE,SYSERROR,ERRORNUMBER); CRAND(LINE,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,LINE,SYSERROR,ERRORNUMBER); } {USE BELOW FOR PASCAL FILE - DISKOUT MUST BE TEXT} READLN(LINEþEsý); FILETITLE(DISKOUT,LINE); RESET(DISKOUT); END; {OF OPEN FILES} ÿ1980.02û‘‘ þú| 1 C 3049 44.55 10 2 CC 3064 3 C 3065 223.70 32 4 C 3066 250 27 5 C 3069 96 4 6 CC 3070 7 C 3073 1340.63 25 8 C 3075 23 5 9 C 3076 100 24 10 C 3078 22.50 4 11 EM 810 17 1þ¼v5 12 EM 811 604.28 15 13 EM 812 643.69 15 14 D 140 34 15 D 8347.06 34 16 D 2086.75 17 C 813 980.89 14 18 C 817 205.18 12 19 CC 814 20 C 3081 35 4 21 C 3067 62 1 22 C 3083 34 6 þ³ 23 C 3071 330 20 24 C 3085 50.99 5 25 C 3087 704.45 17 26 C 816 1581.88 12 27 C 819 1581 12 28 D 1468.38 34 29 D 871.98 34 30 D 13056 34 31 D 12436.99 34 32 D 435.99 34 33 C 3068 10þÎ 18 34 C 3086 138.02 25 35 C 3088 1040 23 36 C 3090 5324 9 37 C 3091 250 8 38 C 3092 206.59 20 39 C 3093 15.40 22 40 C 3094 120.70 4 41 C 3095 20 26 42 C 3096 775 9 43 C 3097 32 10 þ@½44 C 3098 74.05 22 45 C 3099 4000 21 46 C 3101 1557.44 25 47 C 3104 40 33 48 C 3103 42.50 10 49 C 3105 504.39 25 50 C 3106 119.98 4 51 C 3107 793.50 9 52 C 3108 1537.50 27 53 C 3109 3394.50 6þ‡ç 54 C 3110 25 3 55 EM 818 140 27 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 59 EM 835 17 15 60 EM 836 181.73 14 61 EM 837 482.61 15 62 EM 838 2742.40 14 63 CC 839 64 þ¦Z EM 840 622.50 27 65 EM 821 195.18 12 66 EM 822 1415.95 12 67 C 3113 79.95 5 68 C 3114 69.95 10 69 C 3115 200 20 70 C 3116 225 27 71 C 3117 4.65 10 72 C 3119 48 18 73 C 3120 1940.43 25 74þ’E C 3121 269.78 17 75 C 3123 12.24 4 76 C 3124 93.27 15 77 C 3125 181.78 15 78 C 3126 243.77 14 79 C 3127 68.45 23 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 83 C 3133 125.81 22 þjÞ 84 C 3134 20.47 22 85 C 3135 85.15 22 86 D 435.99 34 87 D 906.32 34 88 D 435.99 34 89 D 1628 34 90 D 3000 34 91 D 11481.06 34 92 C 3112 25 26 93 C 3118 1.30 11 94 C 3122 100 26 þÆï 95 C 3128 7.86 22 96 C 3138 185.26 4 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 102 C 3144 42.08 22 103 C 3145 46.50 3 104 C 3146 36.70 11  10þ®5 C 3147 27.73 10 106 C 3148 25.98 5 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 110 C 3152 1000 25 111 C 3153 227.40 25 112 C 3154 100 8 113 C 3155 160.43 4 114 C 3156 835.38 25 115 C þr¾3157 781.68 25 116 C 3198 28.30 3 117 EM 823 1000 12 118 C 3158 21.92 5 119 C 3159 12 33 120 C 3165 638.45 27 121 C 3167 15 5 122 C 3160 155.47 17 123 C 3161 34 10 124 C 3163 594 17 125 C 3166 465þ‚o 4 126 C 3168 83.85 3 127 C 3169 200 24 128 D 1834.55 34 129 D 435.99 34 130 D 802.29 34 131 EM 824 333.14 15 132 EM 825 378.68 15 133 EM 826 2590.51 14 134 EM 827 425.95 12 135 EM 828 82.50 26 þw¸ 136 EM 829 38.70 14 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 141 D 905 34 142 D 594 34 143 D 520 34 144 D 435.99 34 145 DM 18.88 146 C 3162 39.95 1þÞC8 147 C 3164 130.46 14 148 C 3170 120.97 4 149 C 3171 18 33 150 C 3172 36.70 10 151 C 3173 947.50 25 152 C 3174 80 26 153 C 3175 204 5 154 C 3177 496.56 25 155 C 3178 136.20 25 156 C 3179 729 17 þ*" 157 C 3180 170 23 158 C 3182 121.30 11 159 C 3183 25.91 22 160 C 3184 27 17 161 C 3186 10.08 23 162 C 3200 1020 27 163 D 13331.89 34 164 D 11943.74 34 165 D 4546.81 34 166 D 129.24 34 167 D 3þ¯W229.35 34 168 D 715 34 169 C 3176 50 22 170 C 3181 950 7 171 C 3185 125 23 172 C 3187 174.75 23 173 C 3188 290.64 4 174 C 3189 1372 27 175 C 3190 3.28 5 176 C 3191 18 5 177 C 3192 5.68 23 178 þFÓ C 3203 100 27 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 182 C 3196 50 21 183 C 3199 26 33 184 C 3201 2764.81 27 185 C 3202 948.17 25 186 C 3204 55.20 5 187 C 3205 14.25 7 188 C 32þÓˆ06 10 6 189 C 3207 7.58 5 190 C 3208 60.59 2 191 C 3209 250.65 25 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 195 EM 846 3584 14 196 D 531.21 34 197 EM 843 1527.87 12 198 EM 84þeã7 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 202 C 3210 720 27 203 C 3211 69.37 2 204 C 3212 1.81 11 205 C 3213 176.55 25  206 C 3214 10.46 25 207 C 3215 18.28 5 208 321þƒb6 64.28 5 209 C 3217 547.32 17 210 C 3218 136.48 17 211 C 3219 48.60 10 212 C 3220 170 23 213 C 3221 10 8 214 C 3224 227.40 17 215 C 3225 36 5 216 C 3222 450 27 217 C 3223 10.64 5 218 C 3226 93.71þ¬y 4 219 C 3227 74.13 2 220 C 3230 31 26 221 EM 851 4000 36 222 C 3229 2774.75 23 223 C 3228 102.08 4 224 C 3231 35 18 225 D 4888.40 34 226 D 3435.99 34 227 EM 852 1527.87 12 228 C 3232 125 23 2þsã29 C 3233 3654.15 23 230 C 3235 37 33 231 C 3236 42.50 33 232 C 3237 2282.26 6 233 C 3238 138.17 33 234 C 3239 95.64 2 235 C 3240 3.70 5 236 C 3241 4.33 5 237 C 3242 35.39 18 238 EM 854 48.65 12 2þï'39 EM 853 540 15 240 D 3148 34 241 D 296.31 34 242 D 1403.43 34 243 D 174 34 244 D 2600 30 245 C 3243 28.20 3 246 C 3244 341.40 10 247 C 3245 500 25 248 C 3246 328.44 10 249 C 3247 784.13 25 þ• 250 C 3248 125.30 11 251 C 3249 5.76 23 252 C 3250 50 24 253 C 3252 1760 27 254 C 3251 100 2 255 C 3253 43 1 256 C 3254 290.77 4 257 C 3255 100 2 258 C 3258 42.50 33 259 C 3259 4.60 23 260 CC þ*l3131 261 C 3260 820.84 25 262 C 3261 732.30 8 263 C 3263 50 22 264 C 3264 296.31 23 265 C 3265 168.01 25 266 D 435.99 34 267 C 3082 1350.12 25 268 C 3136 16.00 1 269 C 3216 64.28 5 270 C 3234 298.þ˜Ò80 25 271 C 3262 88.41 14 272 C 3268 14.00 26 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 0 2 6 19 63 260 273 274 275 276 277 SEARCH KEY 0 2 þDòCC 3064 6 CC 3070 19 CC 814 63 CC 839 260 CC 3131 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102  277 CC 3111 AMOUNT = 0.000E+00 1 21 255 268 SEARCH KEY 1 21 C 3067 62 1 255 þòC 3253 43 1 268 C 3136 16.00 1 AMOUNT = 1.210E+02 2 190 203 219 234 254 257 SEARCH KEY 2 190 C 3208 60.59 2 203 C 3211 69.37 2 219 C 3227 74.13 2 234 C 3239 95.64 2 254 C 3251 100 2 257 C 3255 10þÅv0 2 AMOUNT = 4.997E+02 3 54 103 116 126 245 SEARCH KEY 3 54 C 3110 25 3 103 C 3145 46.50 3 116 C 3198 28.30 3 126 C 3168 83.85 3 245 C 3243 28.20 3 AMOUNT = 2.118E+02 4 5 10 20 40 þ@Á 50 75 96 113 125 148 173 218 223 256 SEARCH KEY 4 5 C 3069 96 4 10 C 3078 22.50 4 20 C 3081 35 4 40 C 3094 120.70 4 50 C 3106 119.98 4 75 C 3123 12.24 4 96 C 3138 185.26 4 þââ113 C 3155 160.43 4 125 C 3166 465 4 148 C 3170 120.97 4 173 C 3188 290.64 4 218 C 3226 93.71 4  223 C 3228 102.08 4 256 C 3254 290.77 4 AMOUNT = 2.115E+03 5 8 24 67 80 81 82 106 118 þ• 121 153 175 176 186 189 207 215 217 235 236 269 SEARCH KEY 5 8 C 3075 23 5 24 C 3085 50.99 5 67 C 3113 79.95 5 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 106 Cþéù 3148 25.98 5 118 C 3158 21.92 5 121 C 3167 15 5 153 C 3175 204 5 175 C 3190 3.28 5 176 C 3191 18 5 186 C 3204 55.20 5 189 C 3207 7.58 5 207 C 3215 18.28 5 215 C 3225 36 5 217 C 3223 10.64 5 235 C 3240þÔ� 3.70 5 236 C 3241 4.33 5 269 C 3216 64.28 5 AMOUNT = 8.123E+02 6 22 53 188 232 SEARCH KEY 6 22 C 3083 34 6 53 C 3109 3394.50 6 188 C 3206 10 6 232 C 3237 2282.26 6 AMOUNT = 5.720E+03 7 þœ170 187 SEARCH KEY 7 170 C 3181 950 7 187 C 3205 14.25 7 AMOUNT = 9.642E+02  8 37 112 213 262 SEARCH KEY 8 37 C 3091 250 8 112 C 3154 100 8 213 C 3221 10 8 262 C 3261 732.30 8 AMOUNT = 1.092E+03 þ®% 9 36 42 51 SEARCH KEY 9 36 C 3090 5324 9 42 C 3096 775 9 51 C 3107 793.50 9 AMOUNT = 6.892E+03 10 1 43 48 68 71 97 98 99 100 101 105 123 150 211 246 248 þ9qSEARCH KEY 10 1 C 3049 44.55 10 43 C 3097 32 10 48 C 3103 42.50 10 68 C 3114 69.95 10 71 C 3117 4.65 10 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 þã 105 C 3147 27.73 10 123 C 3161 34 10 150 C 3172 36.70 10 211 C 3219 48.60 10 246 C 3244 341.40 10 248 C 3246 328.44 10 AMOUNT = 1.050E+03 11 93 104 158 204 250 SEARCH KEY 11 93 C 3118 1.30 11 þºÌ104 C 3146 36.70 11 158 C 3182 121.30 11 204 C 3212 1.81 11  250 C 3248 125.30 11 AMOUNT = 2.864E+02 12 18 26 27 56 57 58 65 66 117 134 137 138 139 140 192 193 194 þLé 197 198 199 200 201 227 238 SEARCH KEY 12 18 C 817 205.18 12 26 C 816 1581.88 12 27 C 819 1581 12 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 65 EM 821 195.18 12 66 EM 822 1415.9þXÏ5 12 117 EM 823 1000 12 134 EM 827 425.95 12 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 197 EM 843 þeÇ1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 227 EM 852 1527.87 12 238 EM 854 48.65 12 AMOUNT = 2.998E+04 14 17 60 62 78 133 136 147 195 þ­¯ 271 SEARCH KEY 14 17 C 813 980.89 14  60 EM 836 181.73 14 62 EM 838 2742.40 14 78 C 3126 243.77 14 133 EM 826 2590.51 14 136 EM 829 38.70 14 147 C 3164 130.46 14 195 EM 846 3584 14 271 C 3262 88.41 14 AþTpMOUNT = 1.058E+04 15 11 12 13 59 61 76 77 131 132 239 SEARCH KEY 15 11 EM 810 17 15 12 EM 811 604.28 15 13 EM 812 643.69 15 59 EM 835 17 15 61 EM 837 482.61 15 76 C 3124þ©ƒ 93.27 15 77 C 3125 181.78 15  131 EM 824 333.14 15 132 EM 825 378.68 15 239 EM 853 540 15 AMOUNT = 3.291E+03 17 25 74 122 124 156 160 209 210 214 SEARCH KEY 17 25 C 3087 704.45 17 þ£ 74 C 3121 269.78 17 122 C 3160 155.47 17 124 C 3163 594 17 156 C 3179 729 17 160 C 3184 27 17 209 C 3217 547.32 17 210 C 3218 136.48 17 214 C 3224 227.40 17 AMOUNT = 3.390E+03 18 33 72 146 224 237þ_ SEARCH KEY 18 33 C 3068 10 18 72 C 3119 48 18 146 C 3162 39.95 18 224 C 3231 35 18 237 C 3242 35.39 18 AMOUNT = 1.683E+02 20 23 38 69 SEARCH KEY 20 23 C 3071 330 20 38 C 3092 206.59 20 69þ¸\ C 3115 200 20 AMOUNT = 7.365E+02 21 45 182 SEARCH KEY 21 45 C 3099 4000 21 182 C 3196 50 21 AMOUNT = 4.050E+03 22 39 44 83 84 85 95 102 159 169 263 SEARCH KEY 22 39 C 3þ£�093 15.40 22 44 C 3098 74.05 22 83 C 3133 125.81 22 84 C 3134 20.47 22 85 C 3135 85.15 22 95 C 3128 7.86 22 102 C 3144 42.08 22 159 C 3183 25.91 22 169 C 3176 50 22 263 C 3263 50 22 AMOUNT = 4.967E+02 þî™ 23 35 79 157 161 171 172 177 179 180 181 212 222 228 229 251 259 264 SEARCH KEY 23 35 C 3088 1040 23 79 C 3127 68.45 23 157 C 3180 170 23 161 C 3186 10.08 23 171 þeW C 3185 125 23 172 C 3187 174.75 23 177 C 3192 5.68 23 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 212 C 3220 170 23 222 C 3229 2774.75 23 228 C 3232 125 23 229 C 3233 3654.15 23 251 C 3249 5.7þ>&6 23 259 C 3259 4.60 23 264 C 3264 296.31 23 AMOUNT = 8.815E+03 24 9 127 252 SEARCH KEY 24 9 C 3076 100 24 127 C 3169 200 24 252 C 3250 50 24 AMOUNT = 3.500E+02 25 7 34 46 49  73 1þõË10 111 114 115 151 154 155 185 191 205 206 247 249 261 265 267 270 SEARCH KEY 25 7 C 3073 1340.63 25 34 C 3086 138.02 25 46 C 3101 1557.44 25 49 C 3105 504.39 25 73 C þTÉ3120 1940.43 25 110 C 3152 1000 25 111 C 3153 227.40 25 114 C 3156 835.38 25 115 C 3157 781.68 25 151 C 3173 947.50 25 154 C 3177 496.56 25 155 C 3178 136.20 25 185 C 3202 948.17 25 191 C 3209 250.65 25 205 þ­ô C 3213 176.55 25 206 C 3214 10.46 25 247 C 3245 500 25 249 C 3247 784.13 25 261 C 3260 820.84 25 265 C 3265 168.01 25 267 C 3082 1350.12 25 270 C 3234 298.80 25 AMOUNT = 1.521E+04 26 41 92 94 135 þ9Q152 220 272 SEARCH KEY 26 41 C 3095 20 26 92 C 3112 25 26 94 C 3122 100 26 135 EM 828 82.50 26 152 C 3174 80 26 220 C 3230 31 26 272 C 3268 14.00 26 AMOUNT = 3.525E+02 27 4 52 55 64 70 þÉ# 120 162 174 178 184 202 216 253 SEARCH KEY 27 4 C 3066 250 27 52 C 3108 1537.50 27 55 EM 818 140 27 64 EM 840 622.50 27 70 C 3116 225 27 120 C 3165 638.45 27 162 C 3200 1020 27 174 þxE C 3189 1372 27 178 C 3203 100 27 184 C 3201 2764.81 27 202 C 3210 720 27 216 C 3222 450 27 253 C 3252 1760 27 AMOUNT = 1.160E+04 32 3 SEARCH KEY 32 3 C 3065 223.70 32 AMOUNT = 2.237E+02 33 47 þ`$ 107 108 109 119 149 183 230 231 233 258 SEARCH KEY 33 47 C 3104 40 33 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 119 C 3159 12 33 149 C 3171 18 33 183 C 3199 26 33 230 C 3þº0ò235 37 33 231 C 3236 42.50 33 233 C 3238 138.17 33 258 C 3258 42.50 33 AMOUNT = 5.356E+02 36 221 SEARCH KEY 36 221 EM 851 4000 36 AMOUNT = 4.000E+03 ÿT11.PAû½½þ’b¹PROGRAM T11(INPUT,OUTPUT); VAR N:INTEGER; H : REAL; BEGIN READ(INPUT,N); H:=0; WHILE N>0 DO BEGIN H:=H+1/N;N:=N-1; END; WRITELN(H) END. ÿ1978EMP.01ûf½ þg†E 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 487 1787.44 E 486 389.02 E 484 305.68 E 482 626.76 E 481 554.04 E 480 1024.14 E 479 927.20 E 478 1092.27 E 510 304.73 E 509 432.47 E 50þš©‚8 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500 372.80 W 499 561.91 W 498 497.97 E 497 926.48 ÿTL.MCû½½ þ�ØpCHATR TOTAL.PA 0; CHATR TOTAL.PX 0 DELETE/V TOTAL.PA XFER TOTAL TOTAL.PA/R CHATR TOTAL.PA *P PASINTERP PASCALO/A/S/V/L TOTAL CHATR TOTAL.PX *P ÿREALPRINT.BUû½½(þë¬ PROCEDURE REALPRINT (R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTEN (J)); { WRITELN(' þbjR1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] := ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J='þz,J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSE BEGIN R := -R; Sþà¯IGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 15-I-3-I DIV 3; IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; STR[CHARPOS] := '.þNÆ6'; CHARPOS := CHARPOS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(STR); END; ÿGCHN.PIû޽ þ7PROCEDURE GCHN(VAR FREECHANNEL : INTEGER); CONST DOTERTN = 3328; {15B7} DOTGCHN = 8746; {.GCHN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTGCHN; SYSCALL(REQUESþ˜�JT); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; FREECHANNEL := R2.INT; END; RELEASE(HEAP); END; {PCHAR} ÿCRAND.BUûŽl þàPROCEDURE CRAND(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCRAND = 3584; {.CRAND} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; TEMP  : STRING[1]; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := Fþ¸?ILENAME; WRITELN(' ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCRAND; { APPEND 0 TO END OF STRING} R0.SPTR := FILEPTR; R0.INT := R0.INT+1; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CRAND = ',R2.INT); ERR := ERROR; þ4×)ERRNUM := R2.INT; END; RELEASE(HEAP); END; {CRAND} ÿDELETE.BUû޽þaUPROCEDURE DELETE(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTDELETE  =256; {.DELETE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WRITELN(' þÀ¶ ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTDELETE; R0.SPTR := FILEPTR; R0.INT := R0.INT+1; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN DELETE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {DEþ�LETE} ÿPCHAR.PIûŽgþûPROCEDURE PCHAR(CHARACTER : INTEGER); {PCHAR PUTS A LINE TO THE CONSOLE} CONST DOTERTN = 3328; {15B7} DOTPCHAR = 4096; {.PCHAR} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLþ¶©NUM := DOTPCHAR; R0.INT := CHARACTER; SYSCALL(REQUEST); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; END; RELEASE(HEAP); END; {PCHAR} ÿPL.PAûrr .þñâPROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVELþ%ˆ OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VAþáIRSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEþ¬åL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP þú×TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : þ¨INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF Pþy-ACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER);þ~¬ BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITELN(þµ$CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDEþø�NTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVþ ED WORDS} ID := A;I := 1;J := NORW;  REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN þåA BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES;þï GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := þ êZ END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INþ …TEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT þ³z: BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VþjmAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN þ8rBEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THþQfEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODE} PROCEDþ¦TURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN  TEST(FACBEGSYS,FSþwùYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR);þ PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPAREN THEN þ¾Ã BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETþÄRSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERMþÖQ(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYMþ—U THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8þ,Ì); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KINþÝeD <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETþSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;COþ&×NDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN  GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYSþžf DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF þ`SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM TÿPA.SVúPPASÉNÔÅÒP.SVÿTEST.PAûŽŽ !þò PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRþÒ0ING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1:þ�Û (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CAþLßLLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = þi ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR;þ‹ë PDATAFILE,PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR;þf` SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$þ’WI GCHN.PI} {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF;þYš BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEAþã—RCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEþvTGIN X := W.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; þ@ END; {PRINT IN ORDER} PROCEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITþ7ÅE(' ',W.KEY : C1); WRITE(DISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IFþ¿o PCONSOLE THEN WRITE(' ',X^.LNO :C3);  WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEþ.œGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FINDþ� (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY);þ¶ø WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINþóÅE); CHECK := REALFIELD(LINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : þ(ÏBOOLEAN; BEGIN REPEAT WRITE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT DATA BASE FILE PRINTED?'); PDATAFILEþüš := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOSþ•â); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); IF PDATAFILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDþÌ INT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREE THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); IF PINDEX THEN PRINTINORDER(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH þp_KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; END. ÿ1978EMP.03ûf½ þÂE 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.65 E 528 393.86 E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.80 W 517 277.10 E 516 259.01 E 515 439.51 E 514 þ0ö†398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 ÿCONSOLE.01ûq½$þ/ÇPROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (Bþ¥PTR: BYTEPTR); I := I+1 ELSE þÒi IF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGþý›IN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO þ­-MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERþôGNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CRETURNLINEFEED; BEGIN PCHAR(13);PCHAR(10); INSERT(LINE,INTERNALPOS,CHARACTER); {REMOVE NEXT 3 LINES AS APPROPRIATE} WRITESTRING(LINE); PCHAR(10); LINE.LEN :=0; INTERNALPOS :=1;þ–ï DISPLAYPOS :=1; CURLINE := CURLINE+1; END; {OUTPUT CARRIAGE RETURN LINE FEED} PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE þDELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN þˆPRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : ; {UP} 11 : ; {CARRIAGE RET} 13 : CRETURNLINEFEED; {DELETE} 127 : DELETECHARACTER; END; {CASE} END; {ACTION} PROCEDURE INITIALIZE; {ALL VARIABLES} BEGþ×IN LINE.LEN := 0; INTERNALPOS := 1; {POSITION OF CURSOR IN MEMORY} DISPLAYPOS := 1; {POSITION OF CURSOR ON SCREEN} CURLINE := 1; END; {INITIALIZE} PROCEDURE OPENFILES; VAR INSTRING : STRING[32]; BEGIN WRITE(' INPUT FILE NAME? ');READLN(INSTRING); FILETþú*ITLE(INPUTFILE,INSTRING);RESET(INPUTFILE); WRITE(' OUTPUT FILE NAME? ');READLN(INSTRING); FILETITLE(OUTPUTFILE,INSTRING);RESET(OUTPUTFILE); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCþÒ;\HAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} INITIALIZE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 0 ;{CTRL P} END. ÿGETINTEGER.BUûŽŽþlRFUNCTION GETINTEGER( STR : BIGSTR;VAR I : INTEGER) : INTEGER; LABEL 1,2,3; TYPE SIGNOF = (PLUS,MINUS); VAR LEN,FNUMB : INTEGER; SIGN :SIGNOF; BEGIN FNUMB := 0; SIGN := PLUS; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN IF NOþ¹wT (STR[I] IN ['0'..'9','-']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END; 2 : IF STR[I] IN ['0'..'9'] THEN BEGIN { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} þÍ! FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); I := I+1; IF I<= LEN THEN GOTO 2; END; 3: CASE SIGN OF PLUS : GETINTEGER := FNUMB; MINUS : GETINTEGER := -FNUMB END;{CASE} END;{getinteger} ÿBTREE.MCûrrþ‚Æ{CHATR BTREE.PA 0 CHATR BTREE.PX 0 DELETE/V BTREE.PA XFER BTREE BTREE.PA/R PASINTERP PASCALO/S/V/A/L BTREE.PA CHATR BTREE.PX *WP ÿDATA.R1ûŽs þËáB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 1þ—Ú19.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C þi2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 þ«ÿDM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5þ$· 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65 þŠÊ23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.2þ '0 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.00þ@¡ 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18 þz$8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 24þ §82 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 1þ€r0 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00 þ 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 þ›¥12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.þD_32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C þlÛ2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568þ8Î 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.7þµ�0 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 10þ39.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25þÖå 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 28 C 2622 52.30 5 20 C 2623þ§/ 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 þzC 2638 1200 21 21 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 2þ0 05.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 þ†À5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 2þò'3 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C þ¿ë2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 18.50 18 þ¤º26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.þÖF58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 2þÀI7 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 1þö74.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2þEÔ762 1510 21 29 E 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 1 E 493 456.63 12 1 E 492 497.88 12 1 E 491 574.03 12 1 E 490 890.20 12 1 E 489 842.19 12 1 E 488 788.81 12 1 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12 5 E 506þª� 842.80 12 5 E 505 1033.57 12 5 E 504 254.00 12 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 14 3 W 500 372.80 14 3 W 499 561.91 14 3 W 498 497.97 14 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 12 8 E 511 830.88 12 7 E 537 464.55 12 10 E 531 þr356.37 12 9 E 529 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 12 8 W 522 182.00 14 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 14 7 E 516 259.01 12 7 E 515 þwÆ439.51 12 7 E 514 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 14 11 W 544 5.00 14 þTE11 W 545 1345.38 14 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 15 E 565þ� 948.24 12 14 E 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 12 13 E 555 991.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 571 1069.1þW1 12 16 E 572 1019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 14 16 W 580 2210.00 14 16 W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 996.51 12 þîÌ17 E 585 627.63 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 594 531.30 12 18 E 596 500.91 12 18 W 599 5659.58 14 18 E 593 960.21 12 0 E 595 645.08 12 0 E 597 þ[430.98 12 0 E 598 343.31 12 0 W 600 1863.74 14 18 W 602 850.20 14 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 625 2210.00 1þƒ2 23 E 627 1209.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 14 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 346.92 12 26 EþZÖ 610 325.46 12 21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12 23 W 626 48þµ3.00 14 23 E 631 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 E 646 326.75þÇCø 12 26 W 647 2424.72 14 26 W 648 393.57 14 26 W 649 251.13 14 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 12 29 E 664 40.27 12 29 ÿT19.ûŽ0.þ8ÌPROGRAM T19(INPUT,OUTPUT); CONST NUL=0; SOH=1; STX=2; ETX=3; EOT=4; ENQ=5; ACK=6; BEL=7; BS=8; HT=9; LF=10; VT=11; FF=12; CR=13; SO=14; SI=15; DLE=16; DC1=17; DC2=18; DC3=19; DC4=20; NAK=21; SYN=22; ETB=23; CAN=24; EM=25; SUB=26; ESC=27; FS=28; GþŒ‡S=29; RS=30; US=31; SPACE=32; DELETE=127; TYPE MODETYPE = (INSERT,REPLACE); VAR CHARIN : INTEGER; ALFA: BOOLEAN; MODE : MODETYPE; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CHRIN:INTEGER);EXTERNAL; PROCEDURE ACTION(CCHR:INTEGER); BEGIN WRITELNþZ7(OUTPUT,'ACTION') END; BEGIN MODE := INSERT; REPEAT BEGIN CHARIN := GCHA; ALFA := ((CHARIN >= SPACE) AND (CHARIN < DELETE)); IF ALFA THEN CASE MODE OF INSERT : BEGIN WRITELN(OUTPUT,'INSERT ');PCHA(CHARIN) END; REPLACE : BEGIN WRITELN(OUTPUT,þUh›'REPLACE ');PCHA(CHARIN)END; END ELSE ACTION(CHARIN) END UNTIL EOF(INPUT) END. ÿTKOM.û__ þÑAPROGRAM TKOMPAR(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); TEXT = ARRAY[1..10] OF CHAR; VAR A : TEXT; B : TEXT; I,J : INTEGER; FUNCTION KOMPAR ( A : TEXT; B : TEXT; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE ; EXTERNAL; BEGIN I :=þ-Â1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,A[I]);I := I+1 END; RESET(INPUT); J := 1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,B[J]);J := J+1; END; CASE KOMPAR(A,B,1,10) OF LESS : WRITELN ('LESS'); EQUAL : WRITELN ('EQUAL'); GREATER :þzµ WRITELN ('GREATER') END END. ÿFIXFL.ûÐ@þ›ÿ; THIS ROUTINE INTERFACES WITH PASCAL AND FIXES AND FLOATS ; CALL VIA ; FUNCTION FIX (X:REAL);INTEGER;EXTERNAL; ; FUNCTION FLOT (I:INTEGER);REAL;EXTERNAL; ; X=FLOT(I) ; I=FIX(X) .TITL FIXFL .ENT ?FIX,?FLOT .EXTN FENT,XPRET .EXTD WSA .NREL ?FLOT: þ¾~JMP .+1 STA 0 FVAL ;SAVE POINTER TO FUNCTION RETURN LDA 3 @SP ;GET INTEGER ISZ SP ;CONVERT SINGLE WORD INTEGER TO DOUBLE WORD INTEGER SUB 2 2 ;CLEAR AC2  MOVL# 3 3 SZC ;SET LST. SIG. WORD TO -1 IF NEGATIVE ADC 2 2 STA 3 @SP ;STORE NEW D W INþbTEGER ON STACK DSZ SP STA 2 @SP SUB 3 3 ;CLEAR AC3 LDA 2 WSA ;AND ZERO WSA WITH IT STA 3 0 2 FENT ;ENTER RFPI FFLO @SP ;FLOAT DOUBLE WORD INTEGER TO SING PREC REAL FEXT ;EXIT RFPI (REAL REPLACES INTEGER ON STACK) LDA 2 FVAL ;NOW SEND REþ¨ŽAL TO CALLER LDA 0 @SP ISZ SP STA 0 0 2 LDA 0 @SP STA 0 1 2 SUBO 1 1 ;GENERATE +2 WORDS TO PASCAL INCZL 1 1 XPRET ;RETURN TO PASCAL FVAL: 0 ;AC2 STORED HERE ?FIX: DSZ SP ;SET ADDRESS TO BOTTOM OF REAL STA 0 FVAL ;SAVE POINTER TO FUNCTIOþEµN VALUE SUBO 2 2 ;GENERATE 0 LDA 3 WSA ;AND ZERO WSA WITH IT STA 2 0 3 FENT ;ENTER RFPI FFIX @SP ;FIX REAL NUMBER WHICH IS @ SP FEXT ;DP INTEGER NOW REPLACES REAL LDA 2 FVAL ;RETURN SP INTEGER(MS WORD) TO CALLER ISZ SP LDA 1 @SP STA 1 0þGÄð 2 SUBZL 1 1 ;GENERATE 1 WORD TO PASCAL XPRET ;AND RETURN .END ÿT10.PAûÜ. þ~”ªPROGRAM T10(INPUT,OUTPUT); VAR CH : CHAR; BEGIN WRITELN(OUTPUT,'PROG T10'); READ(INPUT,CH); WRITELN(OUTPUT,' END'); END. ÿ1978EMP.04ûf½ þßé E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 E 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.38 E 546 924.04 E 547 982.73 E 548 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 ÿTEST.22ûŽŽþò PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRþÒ0ING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1:þ�Û (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CAþLßLLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = þ“O^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD  LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR ROOT : WORþø6DREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; F : TEXT; INFILE : TEXT; LINE : LINESTRING; SYSERROR: BOOLEAN; {SYSþÑ"TEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN,DISKOUT : INTEGER; {INPUT OUTPUT DATA FILES} RECORDPOS : ARRAY [1..100] OF DPINTEGER; L : INTEGER; {$I GCHN.PI} {$I þs?OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFTþ := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^þyå.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN Wþ$nRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(þHEW^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} Wþ´ôF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF;  BEGIN WRITE(' ITEM KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; WRITE(X^.LNO:C3,' '); SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROþR,ERRORNUMBER); X := X^.NEXT END UNTIL X = NIL END; {OF PRINT ALL LINES WITH KEY W.KEY} BEGIN OPENFILES; ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); WRITELN(' FILE POS ',PRESPOS.UPPER,PRESPOS.LOWER); READLINE(DISKIN,LINE,NBYTES,SYSEþ·ôRROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1;WRITELN(N:C3); {WRITE LINE NO} RECORDPOS[N] := PRESPOS; WRITELINE(2,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} FOR L := N DOWNTO 1 DO BEGIN WRITELN(' FIþLLE POS ',RECORDPOS[L].UPPER,RECORDPOS[L].LOWER,' '); SPOS(DISKIN,RECORDPOS[L]); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; { WRITELN(OUTPUT,ID); SPOS(3,PRESPOS); READLN(INFILE,LINE);WRITEþΨÛLN(' STRING ',LINE); SEARCH(ROOT); END; PRINTTREE(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN PRINTWORD(WF^); PRINTLINES(WF^); END; } END. ÿT29.ûW$þk¸PROGRAM T27(INPUT,OUTPUT); TYPE ALPHA = ARRAY [1..35] OF CHAR; VAR IOCH,BYTES,ERROR : INTEGER ; BUFFER : ALPHA; FILEEND : BOOLEAN; PROCEDURE OPEN ( VAR FILENO : INTEGER ; FILENAME : ALPHA ; VAR ERRORNUMBER : INTEGER );EXTERNAL; FUNCTION ENDL ( IOCHANNEL þ[ : INTEGER ):BOOLEAN;EXTERNAL; FUNCTION ENDF ( IOCHANNEL : INTEGER ) : BOOLEAN;EXTERNAL; PROCEDURE RDLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : INTEGER ; VAR ERRORNUM : INTEGER );EXTERNAL; PROCEDURE WRLI ( IOCHANNEL : INTEGER ; BUFFER : þfïALPHA ; VAR NBYTESWROTE : INTEGER ; VAR ERRORNUMBER : INTEGER );EXTERNAL; BEGIN OPEN (IOCH,'FOBAR',ERROR); BYTES := 127; FILEEND := ENDF(IOCH); REPEAT BEGIN RDLI (IOCH,BUFFER,BYTES,ERROR); IF ERROR <> 6 THEN BEGIN WRLI(2,BUFFER,BYTES,ERROR); ENDþ+éÏ ELSE END; UNTIL ENDF(IOCH) = TRUE END. ÿKOMPAR.ûÐ\7þ:3SEGMENT(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); CHARACTERS = ARRAY[1..10] OF CHAR; FUNCTION KOMPAR ( A : CHARACTERS; B : CHARACTERS; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INTEGER; T : COMPARATIVE; BEGIN T := EQUAþè«ôL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN WRITELN(' ',A[I],' ',B[I]); BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS END; I := I+1 END; KOMPAR := T END. ÿT100.û!! +þ( PROGRAM T100(INPUT,OUTPUT); BEGIN END. ÿTTT.PAûÜ 6þ›™PROGRAM TT; TYPE NODE = RECORD X,Y : REAL;POINT : INTEGER END; LINKS = RECORD FROMNODE,TONODE,ATTRIBUTES : INTEGER END; VAR NEWLINK : LINKS; LINK : ARRAY[1..50] OF LINKS; I : INTEGER; BEGIN WHILE ((LINK[I-1].ATTRIBUTES > NEWLINK.ATTRIBUTES) AND (LINK[þ’Q3I-1].TONODE > NEWLINK.TONODE) AND (LINK[I-1].FROMNODE > NEWLINK.FROMNODE)) DO BEGIN I := I-1; LINK[I+1] := LINK[I] END END. ÿR.MCû½½ þTCCHATR R.PX 0 DELETE/V R.PA XFER R R.PA/R PASINTERP PASCALO/S/V/A/L R CHATR R.PX *WP ÿ1978EMP.05ûf½ þÞh¢E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.04 E 561 297.08 E 559 688.29 ÿWRS.PIûŽr þµåPROCEDURE WRITESEQUENTIAL( CHANNEL : INTEGER; BUFFER : LINESTRING; VAR BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(HEAP);þÝ{ NEW(REQUEST); NEW(TEMPPOINTER); TEMPPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR Iþ„xŽN WRITESEQUENTIAL = ',R2.INT); ERR := ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL} ÿTEST.23ûŽŽ.þò PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRþÒ0ING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1:þ�Û (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CAþLßLLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = þi ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR;þà PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR; SYSERRORþa|: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$I GCHN.PI}þX {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W :þù�= W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFþ¯/T) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEGIN X := Wþ<õ.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; END; {PRINT IN ORDER} PROþ‡^CEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITE(' ',W.KEY : C1); WRITE(þÞzDISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IF PCONSOLE THEN WRITE(' ',X^þ÷X.LNO :C3); WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIþýN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^þù.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); WRITELN(DISKOUT,' SEARCHþ]i KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); CHECK := REALFIELD(Lþ#WINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : BOOLEAN; BEGIN REPEAT WRIþaTE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED REþ�ÐCORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := Nþ«+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDINT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREþâ˜E THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); WHILE NOT EOF(INPUT) DO BEGIN IF PINDEX THEN PRINTINORDER(ROOT); WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; ENDþ.. ÿTEST10.ûŽqþ]îPROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 15; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRINþúëG LNGTH} STR : PACKED ARRAY[1..STRSIZE] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LþÄÓINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPþ8REFIX; VAR LINE : LINESTRING; I,J : INTEGER; NBYTES : INTEGER; FILENAME : LINESTRING; DATA :LINESTRING; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; { $I CRAND.PI} {$I RDL.PI} {$I WRL.PI } BEGIN WRITELN('ENTER DATA'); READLINE(0,DATA,NBYTES,Sþ‹Ä’YSERROR,ERRORNUMBER); WRITELINE(2,DATA,NBYTES,SYSERROR,ERRORNUMBER); DATA.STR[NBYTES] := CHR(0); CRAND(DATA,SYSERROR,ERRORNUMBER); END. ÿ PASINTERP.SVûld þÔz"Óf  ÿÿÿÿ$ÿÿ…Q…(D(8)(*]„ŽH* noz–¥(D(²�"«‚À0IÇ’ÀÒS[0i–.³£Ãݧ©Üåô !,ÁÙM¾½M+š¶Üôÿì�!„þ±k" " �"ñ"¶ÿÿ"ñÿÿÿÿþ»@ÿÿ%ÿÿ CŽÿÿØÂ¿ØØÂ¾‚¾ˡ ØÂØÂ¾‚¿¹ö­((Æž ÆžÙÌÚšÚ¢Ç"šÚ¢²DšÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²DÎ(ÚšÚ¢Ç"šÚ¢²?šÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²?Î(Æž!­p'Æž ÆžÚÌÛšÛ¢Ç%"šÚž#ØÛüŚƞ!­,)þ$ˆÆÇíž¶IÌØÌÛÌÛ¢ Ì® ®È¡&ß̹ÙÐÌܚܢÇ?šÜ¢ ÚÙ•¤øšØž#ÙÞáö® ®È¡Eß̹ÙÐÌܚܢǚܢڢٕ¤šÜ¢Üû‚šÚ¢Ù•¤Ú¢Ù•¤¾‚¿؞#ÙÞáô­Bs  *Ùɡ̹MÌÌÞ‚ÌÆÞÂÙ Ž0‚¿Ù †ÌÙáöÚÂÞ¿® Ú¾•®È¡Ê ̹ÞÐÌÚÞ‚ÂÆھޕ¾¿Þßáô­þ—ÁL d+¶'£P‘áئª2¹ö¶'ÌÊ£PÅÊ£PÇýÉ„¡Ê¢€ Ê£PÇR‚勉Module ª ¹Æ ¦Segment ª ÖÊ£PÆÎ+“¡Æ?©ÖÊ£QÆÎ+“¡Æ?©ÖÊ£RÆÎ+“¡Æ¦??ªØÌÖÆÆ ÏÖÆÆÏÖÆ¦ , Procedure ÏÖÆÆ!ÏÖÆ¦ , Offset +ÏÖÆÆ0ÏÆª2­)â,®ؾ®È¡&Ü̹þu÷ÚÐÌØÚ¾ÌÙaÄÙzÈ„¡ ØÚÂÙa•A‚¿ÚÛáö­#:%Ö²bÎ%ÆÌ²bÌ ÖÆ ²€ýÏÖÆ ²bÇÿÏÖÆ ²€ýÇÿÏÆ ªÿ® ²b¾® È¡+Ê Ì¹ßÐÌÌÇ̲bß¾ÌØž#Ú¡ÖÞÎßÊ Ã¡ö­'ˆv-ÖÆÆ?ÏÖÆ¦FÏÖÆ¦ PASINTERP.ERÏÖÆÏ­? 2.ÖÆÆB ÏÖÆ¦ERMESÏÆ€ý¿ƀýþlö ¿Æ€ý ¿¶'£V“¡ÖÎ*ÆžÚ¢ šØË¡öØ2ÅØÉ�¡ÌØáÆb¦ªÿ¹-ÖÎ.ÖÆ¦ PASINTERP.ERÏÖÆÏÖÆØÏ ÖÆÏÆbÆBªÿ²-¾Å¡iÆb¾Å¡"ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÆ€ÿªÿÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿ¦File: "ÇÿÏÖÆ€ÿ²-ÇÿÏÖÆ€ÿ¦"ÇÿÏÆ€ÿªÿÖÆ€âÎ,Æ€â¾Å¡.ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€þÞþýÇÿÏÖÆ€ÿÆ€âÇÿÏÆ€ÿªÿÖÎ-ÚÌ€ÿÊ€ÿšÙˡʀÿ¢ ٚʀÿ¢Ç šÚž#ÖÆÏ­*|lÆž ÆžÛÌÞ•šÞ¢šÞ¢ØšÞ¢ÙšÚÌÝŸË¡²-Ú¢Fª!Ûž#Æž!­@/ÖØýØÎ/­0ÖÆ ÆHÏÖÆ ¦CLIFILE϶¸'‘Çÿ•¸(²³ÿ ½²——œ —œ —œ ½²"¤š²"¤þö š²"¤dš²"¤Çèš²"¤Ç'š¸)²-¦ª!Ÿ¸*Ÿ¸+Ÿ¸,²IÇ´ž®�‹ ®�ŠÈ¡ Ê�‹Ì¹ÞÐ̶I¢Þ•¤¦ª!ÞÊ�ŠÃ¡öÖ²>Î)ÖÎ'¶>¡ÖÆ ¦FCOM.CMϹ ÖÆ ¦COM.CMÏÖÆ ÏÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏ®�‹®�ŠÈ¡Ê�‹Ì¹ÞÐÌÖÆ ®�‹ÆÏÞÊ�ŠÃ¡ôÖÆ Ï ÆHøÇÿáÖÎÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊþ¶Õ�ŠÏÆ€Œ¾!•Å¡ÖÎÖÆ€ŒÎ%ÖÆ€Œ¦.PXÏÆ€Œ¾•ËÆ€Œ¾Ã�¡"Æ€ŒÌ�ŠÖÆ�ŠÆ€Œ!ÏÖÆ�Ц.PX$ÏÆ�Šª!Æ€ÛÌÖÆ€�ÙÇ^†ÎÖÆ€�Æ€ŒÎÖÆ€�ÎÊ�zËÊ�{ †Å�¡Ö*ÎÊ�‡¹Æ��¶'¢€®·¡Ö2ιÖ0ι ¬¹$Æ€Û¤ùáÖÎÊ�ˆáÖ1ÎÊ€£Ì®�‹®�ŠÈ¡DÊ�‹Ì¹ÛÐ̶'Û¤Ì�‹Æ€ÛÛ¤þ9Ì�ŒÊ�‹Ê�ŒøšÊ�‹¢Ê�ŒùšÊ�‹¢ÚšÊ�‹¢šÛÊ�ŠÃ¡ò¶'¢€¦Ì�ŠÊ�Š¢Ì�‹Ê�ŠÊ�‰šÊ�‹Ê�€šÊ�‹ø¹!Ê�‹¢Ÿš¹&Ê�‹¢Çž¹Ê�‹¢Çž¹¬¹)"ÖÆ Ï­™Ä:œê1®®È¡Ú̹ØÐÌÖ²€‚ÏØÙáö­(2ÖÆ€‚Æ€ÀÏÖÆ€‚¦CLIFILEÏÖÆ�Î)Ê�¡ÖÆ€‚¦FCOM.CMÏ¹ÖÆ€‚¦COþ0M.CMÏÖÆ€‚ÏÖÆ€‚ÏÖÎ2ÖÆ€‚ÏÖÎ2¶,ŸË¡UÖÆ€‚Ï Æ€ÀøÇÿËÖÆ€‚Ï “„¡2ÖÆ€‚®�ÏÖÊ�ÆÇÿÏÖÊ�ÏÆ¾ÅÆ-·„¡Ö¶,ÆÎÖÎ2¶,£¸,¹öÖÆ€‚Ï­eÊØÌÜ¢ ÌÜ¢jšÜ¢lšÝ¢ٚݢÜ¢FšÝ¢Ý£ ‚šÚšܢ,šÜ¢nÚÚ‚š¹4Ü¢xšÜ¢zšÜ¢tšÜ¢ršÜ¢všÜ¢6 šÜ¢p šÜ¢,šÜ¢nšÝ¢Ü¢~šÝ¢þäO Ü£7šÛ¡ Ü¢0¶,šØ¸,­ŒØ£5¡Ö(ØÎ/Ù¾!ġآFÖÙÆ!•ÏÆª!Ö&ØÎ/¹ÆÙª!ÖÆÎ%Ø¢Fƪ!Ø¢Fƾ‚¿­NÙáÖ/ØÎ/ØÌÝ¢ ÌÝÌÝ£5¡7Ù¹$ÖØÎÖØÎ¹&ÖØÎÖØÎ¹ÖØÎÖØÎ¹¬¹ .¹òÝ¢F¦INPUT¯Ý¢F¦OUTPUT¯�¡DÝ¢zšÝ¢F¦INPUT¯¡ Ý¢F²Dª!¹¶*þR‘ŸË¡ÖØÎ/Ý¢F²?ª!ظ*Ý¢FÝ¢F¾‚¿¹Ø¢zšÝ¢.ÙšØÌÙá=ߚߢǚߢޣ šÚž#ßù“ßùßý Ä�¡ߚߢǚߢޣ šÚž#ßù¡ÖØÎ0ߚߢÇ*"šÚž#ßù¡ÖØÎ0Þßýšßšß¢Ç?šß¢Þ£ šß¢šÚž#ßù¡ ßýË¡ÖØÎ0ßù“¡ö¶'£V“¡P¶IÌ ÌÌÛ ÈÜ“„¡Ê ¢Û•¤¾Ã¡Ì¹Û‚̹ôÜ¡Ê ¢Û•¤Ý¢Fª!Ê þåzÛ•¤Þøš¹Ö/ØÎ/Ùáß•šß¢šÚž#ߚݣá#ß•šß¢šÚž#ßšÙá Ý¢rÝ£8š¹Ý¢ršß•šß¢šÚž#ߚݢjšÙá Ý¢hšÖØÎ$¹Ý¢hšÖØÎ$Ý£Ë¡ÖØÎ&­Á $Ø£5¡xØÌÛ¢ ÌÛÌØÌÚ¶*ÃÙË„¡Ÿ¸*Û£ÃÛ£‹„¡ÖØÎ#Û¢jšÛ¢lšÛ¢xšÛ¢všÝšÝ¢Ç?šÝ¢ ÜøšÚž#Ýù¡ÖØÎ0Ùþ| ‹¡ݚݢǚݢܣ šÚž#­†ØÌÙ¢ ÌÙ¢lÙ£4šÙ£áÙ¢všÙ¢xšÙ¢ršÙ¢t‘š­4$ØÌØÌÛ¢ ÌÙÉÙÛ£8Ä�¡Ö'ØÎ/Û¢rÙšÛ•šÛ¢šÚž#ÛšÛ¢lš­> Ù£;¡Ù£8̹٣̭٣áÖÙÎ!Ù£6Ì­ ÖÙÎ!Ù£<Ì­ ØÌØÌÛ¢ ÌÛÌÛ£5“þ®¡Ö)ØÎ/Û£=¶)„¡Ö¶*Î#Ý¢Ç?šÝ¢ÜûšÝ¢ÜýšÝ¢ ÜøšÙž#Ü¢ ÝüšÝýÃÌÝù¡;Ú¡2Û£áÛ¢~Üþ¿ܢ Üþ‚š¹Û¢~Üþ•¿ܢ Üþ‚šÛ¢lš¹ÖØÎ0¹Û¢hš­ž3ØÌÚ¢ ÌÚÌÚ£6¡Ö ØÎ/¹òÚ£áôÚ£9Ú£:Å¡JÚ£¡ÖØÎ¹?ÖØÎ3Ú¢ršÚ¢tšÚ£=¡,ØÌܢǚܢڢ~¾šÙž#Üù¡ÖØÎ0Üû áÜ¢ šþ�$¹öÚ¢|Ú¢~Ú£9¾šÚ¢rÚ£9‚šÚ¢lÚ£>Úڣ>²¼‹¡Ú¢6Ú£8šÚ¢pÚ£>šÚ¢| šÚ¢xš¹Ú¢xš¹Ú¢lšÖØÎ3Ú£6“¡ Ú¢rÚ£9‚š­‚ ä&Ø£9Ø£:Å¡rØÌÚ¢ ÌÚÌÚ£5“¡Ö)ØÎ/Ú£=¶)„¡Ö¶*Î#ØÌÜ¢ÛûšÜ¢ ÛøšÜ¢Ç?šÙž#Û¢ ÜüšÜù¡ÜýáÚ¢~Ûþ¿ۢ Ûþ‚š¹ÖØÎ0Ú¢tÛþ•šÚ¢rš­„þþtØ£áØ£;¡ÖØÎ&Ø¢všØ£6¡Ö ØÎ/¹ÖØÎ&­.ØÌÙ£;Ù£6“„Ù£Ä¡ÖØÎ&Ù¢vš­$!ÖØÎ “¡ÖØÎ&¹öØ¢vš­ ÖØÎ!ÙØ£>šØ¢vš­Ö#ØÎ/­ØÌÖØÎ!ÙÂÚ¿ÌÛÚÈÜ£<“„¡ÙÛÂÜ£>¿ÖØÎ&ۂ̹öÙÂÛ•¿Ü£<“¡ÖØÎ&¹ô­3 JØÌÖØÎ!ÙšþóÅÌÌÜ£> áÖØÎ&¹öÜ£>+ÃÜ£>-Ã�¡ Ü£>-ÃÌÖØÎ&Ü£>²¼‹¡ÌÙÙø �0•Ü£>‚šÖØÎ&¹ôÛ¡ÙÙø‘šÚ¡ÖØÎ/­5\ t ØÌÖØÎ!ÙŠ½ÌÌÝ£> áÖØÎ&¹öÝ£>+ÃÝ£>-Ã�¡ Ý£>-ÃÌÖØÎ&Ý£>²¼‹¡ÌÙÙ¼ Š�Ý£>0•Šƒ½ÖØÎ&¹ô‘ÌÝ£>.áDÌÖØÎ&Ý£>²¼‹¡$ÌÜ‚ÌÜKš֨Î/ÙÙ¼Ýþ“£>0•Üž$‰‡ƒ½Ý£>²¼‹“¡òÝ£>eÃÝ£>EÃ�ÜÉÚ“�„¡>Ý¢všÖØÆÎ Ú¡ÙнÌÜ€Kš֨Î/ÜÉ¡ Ùټ܀ž$‡½¹ Ùټܞ$�½Ú¡ÖØÎ/Û¡ÙÙ¼’½­¨Ý ØÌØÌÚ¢ ÌÚÌÚ¢hšÜ¢ÛûšÜ¢ ÛøšÚ£¡Ú¢~Ú£9¿ܢÇ?š¹ Ü¢ÛýšÜ¢Ç?šÙž#Üù¡ÖØÎ0­V4Ø£5“¡Ö)ØÎ/ØÌÚ¢ ÌÚÌþm\Ú£ájÚ¢~Ú£9ÂÚ£>¿Ú¢rÚ£9‚šÚ£9Ç„ÅÚ£>²¼‹�¡7Û¢ Ú£9šÖØÎ4Û¢ šÚ¢ršÚ£>áÚ¢~¿ܢšÜ¢Ç?šØÌÙž#¹ Ú£=¡¸)¹/Ú£8Ú£9•ȡڢlšÚ£8Ú£9á Ú¢pÚ£8‚šÖØÎ4Ú¢rÚ£9‚š­À Úšآ| šÖØÎ ڕ̹öØ¢|ÙšÖØÎ ­ (ØÌÚ¢ ÌÚÌÚ£á,Ú£9šۢ Ú£9šÖØÎ4Û¢þ‰Ž šÚ¢ršØÌÙ¶*á¸)¹ÖØÎ ­J#ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڕ®È¡Þ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ @Ù¾ÌÚÈ¡Û̹ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڮȡÞ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ LØ¢| šÖØÎ ÖØÎ#­Ø¢| šÖØÎ ÖØÎ#­Ö#ØÎ/­þÙs Ù¡ ƦTrueª¹ ƦFalseªÖØÆÚέ*"ÌÌÆ ¿ÙÉ¡ Ù€ÌÙȡƦ-32768ª ¹cÆÂ-¿Ì®®Ä¡IÊ̹ܕÌÙ²"ܤø†0‚ÌÝ0ÃÜńބ¡¹ÌÆÛÂݿۂÌÝ0Ë¡ Ù²"ܤøŽÌÜÊáöÆÂÛ•¿ÚƾɡƾÌÖØÆÚέ` ¨ÌƲ ¼½Æ¼³Bd±¡¶‚¸ÚþÕX‚ÌÆÆ¼² ¼‡½¹öƼž Ä¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹ôÚÅ¡ ÚKšֶÎ/² ² ¼Úž$‡½ÖÎ5¹JƼžÉ¡¶•¸Ú‚ÌÆÆ¼² ¼�½¹òÚÅ¡ÚKšֶÎ/² ² ¼Úž$�½ÖÎ5­M›È Ü5Ö¶ØÎ­6®Ø®È¡:Ü̹ÚÐ̲ ¼žÌÖÙ0‚Î6² ² ¼ÙŠ–½²þon ² ¼² ¼�½ÚÛáö­8 N7Æ ž$½Æ ž$½ÛÉÜÉ�ÜKÅ�ÛKÅ�¡Ö$ØÎ/Ƽ³µÌÆ Æ¼�½ÌÝ¡òÆ ¼³·¡Æ Æ ¼³@€Üž$‡ƒ½Æ ¼³·Æ ¼³A °„¡ÖÎ5®ÛÞ•Ü••®È¡Ê̹ßÐÌÖ Î6ßÊáöÊ¡Ö-Î6¹Ö Î6ÖÞÎ7Ö.Î6‘®Þ®Ä¡Ê̹ߕÌÖ0Î6Ü•ÌßÊþ >áôÖÜÎ7¹ðÛ‚É¡‚ÌÆ ¼³¯¡Ì¹ÖÎ5Æ Æ ¼³@€Û••ž$‡ƒ½ÖÎ5Ê¡Ö-Î6¹Ö Î6ÖÎ7Ö.Î6ÖÛ••Î7ÖEÎ6ÞÈ¡Ö-Î6¹Ö+Î6Þ•€ É¡Ö0Î6ÖØÞ•€Î­‡£Ù zÙ¦ªÚÅÛÅ„ÚÛ‚•ؾȄ¡ØÚÂÙÂÛžÙÂÛ¿¹Ö¶+Î/­8پؾ‚ÚÈ¡ÙÂØØ¾‚ÂÙ¾žØÂپؾ‚¿¹Öþ“¶+Î/­2ÌھšSÚ¾ÌÌÙ¾Ú¾•‚ÌÆÂÚ¾¿ÜÛÈ¡3ÜÛÜ•ÝÙÜž ‚ÌÜÛÅ¡¹ÙÜÂÆÂÚ¾žÆÚ¯¡Ü̹܂̹ö­:ƒfÖÎ1­H ­xÌâ¶ â̾¦¶\ê DŽ dš” lÆ " Ì>TâødÆ `r$ì PHZ€   VH Æ Ö b Bàþ"[²xnÿ7ÿÿÿÿÿÿÿÿÿÿ¼  8X6H**º�+ª ªÀ8Iï8)6X6H**º�+ª ªÀ8JïRª�ªÀ8)6ª�H7(**º�+þÐBª ªÀ8Iï87î8)60-•P-("�H"((Ž <Ž´ n0-–P-("ŽH"€ÿ ç;óŸxÜÚÓÆå§‹Vý'í±|-øv†¶CóÃúƒ0ÝÓuYgî^€Ò�oãåM.86—Ï42‡0¦Éþ õ(3Û¹3ï >x#6ùEö[¼¿“ÇPÎRä]........þ ¾RRRRRRRRUUUUUUUUUUUUUUUU½ÄÄÄÄÄÄÄ1–ö2(T(]ÿ) X²(*ö2(T(] X²(*öP(T(] X²(*ö$((B]0(" X²(*öB]1– /–2(T(]ÿ X²(* /–2(T(] X²(* /–P(T(] X²(* /–$((B] W²(* W¢(*‚À–(T(]Ô(T(] W¢(*�ò2üƒþì»þ X¢(*–"(D(] W¢(*�ò2üƒþ X¢(*–P(T(] W¢(*�ò2üƒþ X¢(*–$((B]$((4((Ó�B]4((Ó�2(T(]1 Æ4((Ó�–"(D(]ÿ W¢(*H*P7@80(–P( "Ä n- 807³�8(�ûŠ©"CÓû«ûÊP8)](L( W¢(*Ž] W¢(*4((Ó�H*P7@80(–P( "Ä n- 807Š8(½û©"þ1TCÓû«ûO W¢(*0(•P(<((û�ÓH*Š©"CÓû«ûO4((Ò�"‚‚À0IÇ(D(]$((4((8IçÒ“‚ÀH**ÒúÀïŽJO$((†/<((H*ó�2(J·À(*•ž(\(8)]H* n X¢(*‚œ $((†4((–(T(]H*ŠP…4(( p8)4((¶(T((*O X¢(*†4((–�"(D(] X¢(*H*Š4((<((Ó�û�©"CþKåÓû«ûO X¢(*H*<((4((Š W¢(*H*<((4((P7ú�+ú ªÀ0IÏú@07¥ n«©OP7ú�#ú ‚À0IÇú@07X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887ûÓ«åO$((0HÆ4((Ó�B] W²(*H*,((… q<((®¾(\((* W²(*H*Š… p8j¾#ÎÔÎ8k¾+§(D(O$((4((Ó�2—‚’Ò�ý(T(]H*,(þ3x($((<((û�’Ò’ªPý�€3—¶SO$((‚Z�(D(]$((�(D(]$((4((� $((4((–(T(]$((4((‚J ÒJ–ÒZ–ÒJ––Ò[(T(]H* n,H*…4((,((Ö/ ªJ rª[‚  rªZ€  ÒK®/÷ð­(L(O nH*4((Ò,((…ªJ„ s(L(O0("(D(ÌH*4((þ7Ö/8(+…ªJ„ s8(‚JÆCO n n+$((4((—(T(]$((4((€—”(T(]$((‚‚……P(D(]$((€(D(]0(]]0(ÿ]]0(":ÿZBÿ8)]0("(D(] X¢(*4((–(T(]$((<((4((Ýþ.Å‚J(T(8)]H* n$((4((•…Q…(D(]$((4((•ÕP(T(]$((4((•Ö/……P(D(]$(þ7b(4((•ÒJ……P(D(]$((4((•ÒJ…Q…(D(]$((4((•Ö/…Q…(D(]Õ ÕP0@0A0B0C W¢(*9ž@R�}G9ÞKQgRRRR X¢(*H*‚ K@6<((4((Ó�û�#*� LÓû6ùK X¢(*H*‚ L@6<((4((Ó�û�#*� KÓû6ùL$((8Hæ8-ùøCúP(\(Šþé:H*9øÞ#(D(8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07‚ ª FFª DŒ@6H6ÓûX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07Œ&�$6ä8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07� Œ…P @ B<((4((,((ŸKL X¢(*H*9‚Þ+(L(8(3ÿþÖK;þ‚ å@6P7ú�#ú ‚À0IÇú@07X7Ò�*Ò ªÀ8IïÒ@87ŒÑ�ÏÓû6äÆ W¢(*4((• ]=”H*8(ÝûŠÂ¥ò–©"CÓû«ûX($(('H*Ê¥0(P7@80(–P( "Ä n- 8078((D(®/ ©"C„–ž«ú,((©…ÔCÞ«ýO$(((D((D(H*<((4((ÝÕ(T(O ÒK n!8þå‚å nP6X7(Gï8k¾#(7ª�ª�ª�ª�86ú�ú�ú�ú�½(D(„Žú86(Gï8j¾+§(6ª�ª�ª�ª�¨(D(…«ü 7‚�‚�‚�‚�ƒ(D(Oï$((0(•P(H**ª�ª�ª�ª��…Úž½* G§+8lž#§…P8)B(*] zª H6"+�JÓû6ùP(O lªüH6"+€�ŒJÓû6÷ð ]ªíH6"+¨§BÓû6þ‘cøâ9Þ0R?RO Eª H6"+�Óû6ù…Q…,((®0(µP(BO /ª H6"+�Óû6ù……Pê ª H6"+��Óû6ø…Q…Ú ª H6"+§¥Óû6ø…Q…ÊX6H*8(+½ÔÞ3¢Å‚  8(+½òµ”–6 ‚K8(+«S�KΫ«(D(«0(P7@80(–P( "Ä n-þúÔ 8078(©"C„–ž«ú,((©…ÔCÞ«ýÉ?ÿÿÿÿÿÿ?ÿÿÿÿÿÿÿþÿüÿøÿðÿàÿÀÿ€ÿþüøðàÀ€ @€ @€0(ÓP("ÿ A8)]0(ÓP("ÿB"þBÿ @•"ÿ 48)]0("ÿ‚P‚�Bÿ]0("ÿ‚P‚°Bÿ]0( %P(8)]0( !P(8)]0( P(8)]0( P(8)]0(ÓÓ"ýBÿ"þBþ% P(8)]ÂH*0( P(O[|ˆ’›¥p!(D(!(D(0("ý‚K ñ î òP(8)]0( íP(8)]@€4((ÒJ! Å Ö! –"(D("(D(]K nLAA BdC>€D'EjEô$F˜–€G_^H;šÊI%@¾JHvJèÔ¤K‘„æLZóM8×êN#†òO4WOÞ jPŠÇ"QV¼uR65ÉS!á�T-TÓÂU„YPVR·ÒW3²ãX OÎY1àYÉòÇZ~7¼[NâÕþÙ\1MÅ]Л^Ba^À—Ë_x^ß`K;Ka/bc)c]ùc·«ÂdrËYeG¿f,×og¥h„'h¯)‰imyõjDl9k*ãlºFm´lm§ 8nhg£oA@Åp(È{q}MqþårŸO"sc‘ut>:éu&äÑvOvów—íÓx^ô¤y;Xæz%�{.º{çÓD|�ä }Zކ~8™#_¬â0+80(D((L((T((\(8,(\(8(X0š] W²(* Wº(*H*(\(80Ký8>ÞÖPÞX6#†/.…PC#þù®ƒ�‚  n ((Ž0<Î0-´ n ((00Í0CÎ0(ÚžX(©"C„–ž«ú"–86#ƒ�(0ŽH00CÍK863P,* J�À$((ª  ­P�  0,•"ƒ�•P+ 0@/P8) W¢(*H*00Jý0>*H, W¢(*H*00Jý(+0-µ0.µ00(:Jþ,+0,•<,úK!Iä""‚K Sƒ�•P+"‚K99œ 0+P,ÑÐ"•P+"@þ¨¸0IÇÏ8)� #ü�â;üƒö80Cü#ÿ‚P‚ CÿX)0+"üP7@80(–P( "Ä n- 807ÑÐ"ƒ�•ÊPH*]þ W¢(*ƒ00Jý0;•"ƒ�•P+ ;@, 1Ò"o80#ÿ‚P‚ CÿX)2ÿ I—!–"@60(6$0+"ÿ(J§À@680X)/ W¢(*@6(J$,‚K1Í•T!§À7·À• 8>ž†Pž#ƒ�0)Ú(Bµ�X)Ú� 6Ž«©"Cþ<ØÓû«û8)#@,#ÿ‚P‚�@0+ý3þÒK ®8)P+ 6‚  C�X(H*0)ÓÚ(C½Š©"CÓû«û„žX((*80#ÿ‚Z;ÿüúPú�X)]$+§À(@� Ë+ýöH6,(($((ªÀŽ0+ @•"ÒP•P*$+0JÇ·•  $,‚À0IÇ·• O3þÒKÂ(\( &<(( @•"ÒP•Sý3þÒPÒ�"0JÇ·• '‚À0IÇ·• á3þÒPÒ�"0IÇ;ÿþÏlÙ(6H* n "o0+ @•"ÒP•P*+üH6(6#ÿ‚P‚��H63þÒKÂ(\( ê<(((6ª "(I§,((�  $((‚�•"ÒP•SýO(L( @•"ÒP•Sý;ÿÕ W¢(*’ÀÒS0JÆ‚JŽ‚ 0+–"ÒP•Ê]$((‚ƒé«]³�$((*�®.*�ªJ *¥(A¶–"ÊP�]ÓËP] W¢(*H*1–RD�ÃK0RR lg€ïþú' —RRRRRR”RRsiGIMKOQS+2Rz7YRRR4((Ó� -‚PB]4((Ó�"ƒ�0-” n0.• n@-]$((4((Ó�(-�H-ªPJ«� <� (¤ n H"(*] $<((û�C<((û�K<((û�SO ò -0(Å0<ņ/…(D(]$((ÕPÇ(D(]4((!Þ!æ!ë$((<((4((þ/]ùX7H88IÒ’úÀþ/8*ïúÀŸúÀîJÒ@(887Óûï8)]$((<((4((†/O�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807ÓûƒåO$((<((4((–ž¬¶¾‚JO�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807¬¶¾ƒäO8(+þ#ýCþ‚ O#ÿ3ª$+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ 9¬¶þò8X7þ½‰Ò�*Ò ªÀ8IïÒ@87¥ (Óþó(+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ ¬¶þòX7Ò�*Ò ªÀ8IïÒ@87¥ Óþó#ý+þ¥Cý A�X(O… …P @ A B C D0(4 8()¾X(X)X0…�CúX1! æCÿ =(D()] ÿûJ2ÚÏÖÍÖÏH)H($,‚C#) � 1–�‰""6"A"U nûX6+8)'þй‚K;ÿü0JÇÀE'þÇÀE3ý @•;þ„ž#úP�õUbcdX6­Š$,0JÇÀE÷8+#ÇÀEô„ž#úP� *ÔÆåEë0; A•"ƒ�•"ý2üÆ0CÆ01Æ@(@0ª $6! (D((L(81X))]3´ÏX69ªƒ‚�Æ�ûüª°6X6Å 9 ªP‚@ŠŪ@ûûý!ý6ÿðX7ýªKû©ÒKøÑX8 p88úZÑú›¨€«ƒ7X7ý‚KþÞû¨€«ƒÒKøÑX8 q88úZÑú›©�72\2 @–…BBÿ y<222\2 z @•<222D2 u$222T29ž422 vOCüûXRS¸X6! YP3! YP2! YP4!–P56 f n nðÿú2\284#+3;Ž«„Þû…%84)™îH6+9ìç 848B2\2<6úPÒ@ª@‚@2û\6<22í84CKS#(J�Ë42284…)ÌCû«ýö2\204"*ûŽ!b�Jû"*úŽ€…pBú82!=žX2!8ÆCþ!6ÆCý BC…CüCû+Kÿ/þ7ý p82þý3û–üSû¢ÿôGþ#þ+ý3ÅCþÎKýý#û+üKû­KüâGþ82!�X2þYD84!K�X4 "83422ÿü2\2841=Þ05Ý:X4’PÕpSÒŠ�C!0C…CCC 83422@2\284#1û­•1•+Ò ªZÖPѪ�Óþ#‚Š©! �X4¢83422 nDK2\2841ûÝX4#+ Ž«„# + Ž«……P+ªŠ„834224ò832\2 ‚0422 C B A @…P2\22D2 |84þ !Ì�X4ÕP#+ Ž«„# + Ž«…#‚ŠÒPÒP$22Ç‚ 83422ÿüŸÿú2\284#û+¥)„¦Cû#ú+Ž€­pKú#ü+Œª ]û1êö (B æ8402!S–P2 BBþ!MÆBÿ#ü+ý3”¬ q02Nÿ84Z BBý…6ÿ+ p02:K ýøC 1584…#+ ‚ ¥¤C ùøÓ÷02‚ ÿà)±84#Cüû«ü84ÿþÍ)¦"ùCüÓû«û029õP284þò�1 ÝX4 83422ÿùÿû n2\283(4K’C*ÿK w# w }! +¦C w {ö# x4222\28304"C…B!K w } ‰)H�?C!A w | 4C w 4 w } ˆ# w!9 Š } ˆ!0 Š 4 w# w { ˆ# w | ~!& w }# x+!=§ª�ª�04:îJ83‚C! w ~ü#‚ƒ! w ˆ ~422 n(@FLúþÖjÿÿÿÿÿÿÿÿB<�g¡ö EDvNøÁ)×÷IF¾€XÀû?HACmTš_àâÝhEPÒm·ðF[˜ \8œ´u@€A žf;Ì’AGe+‚þ…Q…2\283C04"‚F"‚‚N")O¥ J†@C04"‚J!G w }ø÷ 4 w!@ w „!>‚!<‚C 4 w# w | ˆ# w { ~ 4 w 4 w } 4 w!* Šþþ‚ ˆ!( Š ~ }# ! w } {! w }422…P04B! B„BBBBó n@¸Äê¾ÊÐ×êA @€@µó3ùÞd„@±r÷ÑÏy¤@o-ìT›”8ÇBSïP þ©œB]vÂ1I«¹fBZ,¸—¿YÀAB»ÅÜÛ>†)B=ÂÕ1ï‹oB-\K߬•u2\28304"‚Š2"‚,ÂCþaª w04")žJ¥ ‚€C…pC!$ Š!" w }0404"+ŽJ BCS# w# w ~ {! w }ö ˆ#@4422 n@RL@äù*ù¨Íê@9>Nð(§ü@@@€2\28304"C…BCC"):¥!= w ˆ ~ 4 w!1 w „‚ 4 w!- w }!, w | ˆ!& w { ~ 4 w 4 w } 4 w! Š ˆ! Š ~ }þ|! w {! w {#D4422A·«¥½±ÄÝA2Cö¨ˆZ0Œ@† ‘Ák›,A¶zèXLªt@D˜Qz{5XÃA!ûTD-FAɈgô)ƒß2B}”D@nV�C®Ù>rWÿBÅ3þ,Á1åAB%ëÈÝ£BϱS—^UCÊ™43F­£BÅ3þ,Á1Þ…… 2\28304*…uªƒƒPC…B!! w } ‰+þULŽ“K! w ˆ |+04ª‚ w 4 w } 4 w! Š ˆ! Š ~ }422 f T / T>•6-î-Ïj@Aãõ1·ó7AÆP6QÏõîûC·ÅZ�QFåC©; È(:óìDpÔ‹´ËÙ0ABsMÊ�]pÄZDx%U³îXl@¢ùƒnND'8(3þSþ;û�Ó� B@6"+�Óû6ù®'¬3­p8(3þÓ�ªK22Ð å$((<((þbô4((û�S(L(O h…PEþ AP7@80(–P( "Ä n- 8078(3ýÓ�!ìBBBB3øÓ�"3ý;ùž F@6P7ú�#ú ‚À0IÇú@07(\( -'X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887<((Óû6ßP7ú�#ú ‚À0IÇú@07(\( <((ûð$((üæ)Œ)Œ)�) �) �) �0:@Z`z8(3ùÅ3øÓ�B FþKó@63ý)o9pX7Ò�"Ò ‚À8IçÒ@87�¥X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Ó6ã8(3ýX7Ò�"Ò ‚À8IçÒ@87)E¥3úÓ�–"Cþ"ŠP¦P‚PCÿ!;3ú–#ÿÆC#þŠP¦P‚P–(T(;ýÓ�û� B@6"+�Óû6ù4((!–8(#Äé…;ûû�C8(!�X(O4((Ó�"8(;üû�C"8(î A`6 ÂoÔ  ŒÔP  Œþ#Ǫ ÷f?F‹QfX�1,Â)+H6)*�H7…Ó*¤À7Ó66ø)é� ä!ê‚ Ù " Œ9öÀ®P®P¶P–9ÝúÀ)Ù®P®P¾P)Ö¾ÝÊ‹�!„0!‘D  Œ¥   ŒH-H. <�H"  t‚  " ŒWsX6 " Œ9ö6°X6 " Œ6Û�X6#€  ‚K n) �ü1–v!ü!ÿ!ò#+1S1S1S386C…86þOžC…PCKSO Ž�#X9! Y89ZP9Ë!øæ‚Pƒ " Œ89ó" *1k p<937 q<9K8!09 ZOX937+9… p893 '? ŒOX93 ? Œ1 Ï­P89KÐÇ1Å……PCO@X9!ß YP8Ê89!¼æ‚Pƒ " Œ08" *10 p092 '? Œ!É ZOH9X8ÕP)!� ÓÁÒÀ(:¥ …@:-¶)�%Ž%ƒ�  ? Œ% •`¬P¶-¶Ó�þzŒ(98ge@?86X93)ü… p893 '? Œ 0)¥‚P893+ ? Œ89X6 ‹‚  n%/"Ó5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ÿADDRESS.ûÐ þ-Æ ;PASCAL EXTERNAL FUNCTION ;TO RETURN EXTERNAL BYTE ADDRESS ;FROM TABLE OF WORD ADDRESSES ; (SUPPLIED BY USER) .TITL ADDR ;PETE GOODEVE 78:8:5 .ENT ?ADDR .EXTN XPRET,ADRTB .NREL ;FUNCTION ADDRESS(I:INDEX):ANYBYTADDR; EXTERNAL; ;FUNCTION ADDRESS(PTRþ�:BYTADDR;I:INDEX):... ?ADDR: MOVZR# 1,1,SZR JMP P2 LDA 2,ABAS ;GET TABLE BASE GETBA: LDA 1,0,3 ;GET INDEX ADD 1,2 ;FORM ACCESSOR MOV 0,3 ;RETURN-POINTER LDA 0,0,2 ;GET WORD ADDRESS FROM TABLE COM 0,0,SZR ;RETURN NIL IF UNDEF. COMZL 0,0 ;CHANGE TOþß�Ò POINTER FORM NOVAL: STA 0,0,3 ;RETURN TO USER SUBZL 1,1 ;(1 WORD RETURN) XPRET ABAS: ADRTB P2: LDA 2,-1,3 ;BASE BYTE ADDR MOVZR 2,2,SZR ;-> WORD JMP GETBA MOV 0,3 SUB 0,0 ;NIL POINTER RETURNS NIL JMP NOVAL .END ÿT39.ûåå þ‹¼PROGRAM T39(INPUT,OUTPUT); CONST CURSORLEFT=8; CURSORRIGHT=14; CURSORUP=10; CURSORDOWN=11; EOS=29; EOL=28; CLEAR=15; HOME=12; TAB=9; ESC=27; CONTROLZ=26; LINEFEED=10; CARRIAGERET=13; DELETE=127; BACKSLASH=92; (*DISPLAY SIZE IS 25 LINES BY 80 Cþ7¬OLUMNS*) NLINES=24; NCOLUMNS=80; TYPE XY = RECORD COLUMN,LINE :INTEGER END; ABSREL = (ABSOLUTE,RELATIVE); INTARRAY = ARRAY[1..20] OF INTEGER; VAR ROW,WORD,BIT,INCH,OUTCH,BYTE,ERROR,ANS,DUMMY:INTEGER; SPACE,T : INTEGER; TABS : ARRAY [1..5] OF INTEGERþ©t; TEST : BOOLEAN; PREVCURSOR,CURSOR : XY; MOVE : ABSREL; NBROTE : INTEGER; ESCF : ARRAY[1..2] OF INTEGER; PROCEDURE TBIT( BITNO : INTEGER;WORD : INTEGER;VAR VALUE : INTEGER);EXTERNAL; PROCEDURE CBIT(BITNO : INTEGER;VAR WORD : INTEGER);EXTERNAL; PROþúÉCEDURE SBIT(BITNO : INTEGER;VAR WORD : INTEGER);EXTERNAL; PROCEDURE SWAP (VAR WORD:INTEGER);EXTERNAL; PROCEDURE WRSQ(IOCH:INTEGER;VAR BUFFER:INTARRAY;NBYTES:INTEGER; VAR NBROTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE RBYTE(INCH:INTEGER;VAR BYTE:INþ|6TEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WBYTE(INCH:INTEGER;VAR BYTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE CURSORMOVE (X:INTEGER;Y:INTEGER;MOVE:ABSREL); BEGIN CASE MOVE OF RELATIVE : BEGIN CURSOR.LINE:=CURSOR.LINE+Y;CURSOR.COLUMN:=CURSOþ±ÖR.COLUMN+X; IF CURSOR.COLUMN = 0 THEN BEGIN CURSOR.LINE := CURSOR.LINE-1; CURSOR.COLUMN:=1; END ELSE IF CURSOR.COLUMN = NCOLUMNS+1 THEN BEGIN CURSOR.COLUMN:=1; CURSOR.LINE := CURSOR.LINE+1;  END; IF CURSOR.LINE<1 THEN CURSOR.LþvGINE:=1; (*MOVE CURSOR SEND ESC F LINE COLUMN. OFFSET COORDS BY 37OCTAL (31DEC) *) ESCF[1]:=6982; (*15506 OCTAL*) ESCF[2]:=CURSOR.LINE+31; SWAP(ESCF[2]); ESCF[2]:=ESCF[2]+CURSOR.COLUMN+31; WRSQ(OUTCH,ESCF,4,NBROTE,ERROR); IF TEST THEN WRITELN(þšOUTPUT,' ',X,Y,CURSOR.COLUMN,CURSOR.LINE,'RELATIVE') ELSE END; ABSOLUTE : BEGIN ESCF[1] := 6982; ESCF[2] := 31+Y;CURSOR.LINE := Y; SWAP(ESCF[2]); ESCF[2] := ESCF[2]+31+X;CURSOR.COLUMN := X; WRSQ(OUTCH,ESCF,4,NBROTE,ERROR); þgA IF TEST THEN WRITELN(OUTPUT,' ',X,Y,CURSOR.COLUMN,CURSOR.LINE,'ABS') ELSE END END END; PROCEDURE CLEARSCREEN; BEGIN DUMMY := CLEAR; WBYTE(OUTCH,DUMMY,ERROR) (*17 OCTAL IS A CLEAR SCREEN*) END; (*INITIALIZE THE TAB ARRAY*) PROCEDURþ4E INITTABS; BEGIN FOR ROW := 1 TO 5 DO TABS[ROW] := 0 END; PROCEDURE TABBIT; VAR VALUE,TABSEG : INTEGER; BEGIN WRITELN(OUTPUT,' ','TABS ARE',' SET AS ','FOLLOWS'); WRITE(OUTPUT,' ');  FOR ROW := 1 TO NCOLUMNS DO BEGIN WORD := ROW MOD 16;BIT := RþÓ‹OW-WORD*16; TABSEG := TABS[WORD];TBIT(BIT,TABSEG,VALUE); WRITELN(OUTPUT,'ROW,WORD',',BIT,TAB','SEG,VALU','E'); WRITELN(OUTPUT,ROW,WORD,BIT,TABSEG,VALUE); IF VALUE = 1 THEN WRITE(OUTPUT,'T') ELSE WRITE(OUTPUT,' '); WRITELN(OUTPUT) END END; þ¶5PROCEDURE ESCFUNCTION; BEGIN PREVCURSOR:=CURSOR; CURSORMOVE(1,NLINES,ABSOLUTE); DUMMY:=27;WBYTE(OUTCH,DUMMY,ERROR); DUMMY:=77;WBYTE(OUTCH,DUMMY,ERROR); RBYTE(INCH,BYTE,ERROR); IF BYTE = 94 THEN TABBIT; CURSORMOVE(PREVCURSOR.COLUMN,PREVCURSOR.LINE,ABþÓŒSOLUTE) END; BEGIN INCH:=1;OUTCH:=2; CURSOR.LINE:=1;CURSOR.COLUMN:=1; SPACE := 50;(*SPACE = 40 OCTAL*) T := 94; (*LETTER T=94 DEC*) WRITELN(OUTPUT,'ENTER 0 ','FOR NO T','ESTING OR 1 FOR '); READLN(INPUT,ANS);IF ANS = 0 THEN TEST := FALSE ELSE Tþ@ŽEST := TRUE; CLEARSCREEN; INITTABS; REPEAT RBYTE(INCH,BYTE,ERROR); IF TEST THEN WRITELN(OUTPUT,BYTE) ELSE IF(BYTE>=32) AND (BYTE<=126) THEN BEGIN  WBYTE(OUTCH,BYTE,ERROR);CURSORMOVE(1,0,RELATIVE) END ELSE CASE BYTE OF (*LEFT*) þTá8 : CURSORMOVE(-1,0,RELATIVE); (*DELETE*) 127 : CURSORMOVE(-1,0,RELATIVE); (*DOWN*) 10 : CURSORMOVE(0,1,RELATIVE); (*UP*) 11 : CURSORMOVE(0,-1,RELATIVE); (*HOME*) 12 : CURSORMOVE(1,1,ABSOLUTE); (*CARR RET*) 13 : BEGIN CURSORMOVE(0,1,RELATIVEþ4X);CURSORMOVE(1,CURSOR.LINE,ABSOLUTE) END; (*RIGHT*) 14 : CURSORMOVE(1,0,RELATIVE); (*CLEAR*) 15 : BEGIN CURSORMOVE(1,1,ABSOLUTE);CLEARSCREEN END; (*ESC*) 27 : ESCFUNCTION; 0,1,2,3,4,5,6,7,9,16,17,18,19,20,21,22,23, 24,25,2þR¶6,28,29,30,31 : ; END (*CASE*) UNTIL (ERROR <> -1) OR (BYTE = CONTROLZ) END. ÿCDC6000.û½<þÁ\ ([A=20,B+,R=1-100,I=2,S=2]) FORMATTER DIRECTIVES.) ( ******************************************************************************* PASCAL PROGRAM FORMATTER ------------------------ AUTHOR: þÑ MICHAEL N. CONDICT, L975 LEHIGH UNIVERSITY CURRENT ADDRESS: PAR CORP 228 LIBERTY PLAZA ROME, NY 13440 UPDATED: AUGUST, 1978 ***************************************************************************** ) PROGRAM FORMAT(INþ1°PUT,OUTPUT); LABEL 13; CONST ALFALENG = 10; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( MINIMUM AND MAXIMUM CHAR VALUES. ) MINCHAR = 0 MAXCHAR = 127; LASTPASCSYMBOL = 29; ( THE FOLLOWING CONSTANTS MUST ALL BE CHANGED TOGETHER, SO THAT THEþ×IIR VALUES AGREE WITH THEIR NAMES: ) BUFFERSIZE = 160; BUFFSZP1 = 161; BUFFSZM1 = 159; BUFFSZDIV10 = 16; ( ) MAXREADRIGHTCOL = 999; MAXWRITERIGHTCOL = 72; TYPE ALFA = PACKED ARRAY [1 .. ALFALENG] OF CHAR; ( !!!!!!!! IMPLEMENTATION DEPEþÎ7NDENCY: !!!!!!!! ) ( SET SIZE MAY NOT ALLOW SET OF CHAR. ) CHARSET = SET OF CHAR; STATMNTTYPES = (FORWITHWHILESTATEMENT, REPEATSTATEMENT, IFSTATEMENT, CASESTATEMENT, COMPOUNDSTATEMENT, OTHERSTATEMENT); SYMBOLS = (PROGSYMBOL, COMMENT, BEGINSYMBOL, Eþ~ÎNDSYMBOL, SEMICOLON, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, COLONSYMBOL, EQUALSYMBOL, PERIODSYMBOL, RANGE, CASESYMBOL, OTHERSYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYþe—MBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LEFTBRACKET, RIGHTBRACKET, COMMASYMBOL, LABELSYMBOL, LEFTPARENTH, RIGHTPARENTH, ALPHAOPERATOR); WIDTH = 0 ..BUFFERSIZE; MARGINS = - 100 ..BUFFERSIZE; SYMBOLSET = SET OF SYMBOLS; OPTIONþ¿SIZE = - 99 .. 99; COMMENTTEXT = ARRAY [1 .. BUFFSZDIV10] OF ALFA; SYMBOLSTRING = ARRAY [WIDTH] OF CHAR; VAR CHISEOL, NEXTCHISEOL: BOOLEAN; I: INTEGER (USED AS FOR LOOP INDEX); CHARACTER: CHAR; READCOLUMN, READRIGHTCOL: 0 .. 1000; OUTPUTCOL, WþË"RITECOLUMN, LEFTMARGIN, ACTUALLEFTMARGIN, READLEFTCOL, WRITELEFTCOL, WRITERIGHTCOL: MARGINS; DISPLAYISON, PROCNAMESWANTED, ENDCOMMENTSWANTED, PACKERISOFF, SAVEDBUNCH, BUNCHWANTED, NOFORMATTING: BOOLEAN; LINENUMBER, INCREMENT: INTEGER; INDþ�ˆENTINDEX, LONGLINEINDENT, SYMBOLGAP, DECLARALIGNMENT, STATMTSEPARATION, PROCSEPARATION: OPTIONSIZE; LASTSYMBOL, SYMBOLNAME: SYMBOLS; ALPHASYMBOLS, ENDLABEL, ENDCONST, ENDTYPE, ENDVAR: SYMBOLSET; SYMBOL: SYMBOLSTRING; LENGTH: WIDTH; SYMBþòÑOLISNUMBER, LASTPROGPARTWASBODY: BOOLEAN; DIGITS, LETTERSANDDIGITS: CHARSET; OLDEST: WIDTH; CHARCOUNT: INTEGER ( COUNT OF TOTAL CHARS READ, BUT IS OFF BY BUFFERSIZE AFTER END OF FIRST BODY. IT IS IMPERATIVE THAT CHARCOUNT BE MONOTONICALLY IþI|NCREASING DURING PROCESSING OF A BODY, AND THAT IT NEVER RETURN TO A VALUE <- BUFFERSIZE, AFTER PASSING THAT POINT. THUS "DOBLOCK" MAY RESET IT AS LOW AS POSSIBLE, LIMITING THE LENGTH OF A PROCEDURE TO "MAXINT - BUFFERSIZE" CHARACTERS. ); MAIN: þÚú COMMENTTEXT; MAINNMLENGTH: WIDTH; BLANKS, ZEROES: ALFA; UNDERWRITTEN: ARRAY (WIDTH) OF RECORD CH: CHAR; CHISENDLINE: BOOLEAN INDENTAFTEREOL: MARGINS END; PASCALSYMBOL: ARRAY [1 ..LASTPASCSYMBOL] OF ALFA; PASCSYMBOLNAME: ARþ²çRAY [1 ..LASTPASCSYMBOL] OF SYMBOLS; NAMEOF: ARRAY [CHAR] OF SYMBOLS; STATEMENTTYPEOF: ARRAY [SYMBOLS] OF STATMNTTYPES; PROCEDURE CONSTANTSINITIALIZATION; BEGIN MAIN[1] := 'MAIN '; MAINNMLENGTH := 4; BLANKS *= '; ZEROES *= '0000000000'; FOR Iþ³ := 0 TO BUFFSZM1 DO WITH UNWRITTEN[I] DO BEGIN CH := 'A'; CHISENDLINE := FALSE; INDENTAFTEREOL := 0 END; FOR CHARACTER := CHR(MINCHAR) TO CHR(MAXCHAR) DO NAMEOF[CHARACTER] := OTHERSYMBOL; CHARACTER := ' '; NAMEOF['('] := LEFTPARENTH; NAMEOF[')'] :þí2= RIGHTPARENTH; NAMEOF['='] := EQUALSYMBOL; NAMEOF[','] := COMMASYMBOL; NAMEOF['.'] := PERIODSYMBOL; NAMEOF['['] := LEFTBRACKT; NAMEOF[']'] := RIGHTBRACKET; NAMEOF[':'] := COLONSYMBOL; NAMEOF['<'] := EQUALSYMBOL; NAMEOF['>'] := EQUALSYMBOL; NAMEOF[';']þÂù := SEMICOLON; PASCALSYMBOL[1] := 'PROGRAM '; PASCALSYMBOL[2] := 'BEGIN '; PASCALSYMBOL[3] := 'END '; PASCALSYMBOL[4] := 'CONST '; PASCALSYMBOL[5] := 'TYPE '; PASCALSYMBOL[6] := 'VAR  '; PASCALSYMBOL[7] := 'RECORD '; PASCALSYMBOLþŸõ[8] := 'CASE '; PASCALSYMBOL[9] := 'IF '; PASCALSYMBOL[10] := 'THEN '; PASCALSYMBOL[11] := 'ELSE '; PASCALSYMBOL[12] := 'DO '; PASCALSYMBOL[13] := 'OF '; PASCALSYMBOL[14] := 'FOR '; PASCALSYMBOL[15] := 'WHILE '; PASCAþC¹LSYMBOL[16] := 'WITH '; PASCALSYMBOL[17] := 'REPEAT '; PASCALSYMBOL[18] := 'UNTIL '; PASCALSYMBOL[19] := 'PROCEDURE '; PASCALSYMBOL[20] := 'FUNCTION '; PASCALSYMBOL[21] := 'LABEL  '; PASCALSYMBOL[22] := 'IN '; PASCALSYMBOL[23] := 'MOD þ–X '; PASCALSYMBOL[24] := 'DIV '; PASCALSYMBOL[25] := 'AND '; PASCALSYMBOL[26] := 'OR '; PASCALSYMBOL[27] := 'NOT '; PASCALSYMBOL[28] := 'ARRAY '; PASCALSYMBOL[29] := 'NOSYMBOL '; PASCSYMBOLNAME[1] := PROGSYMBOL; PASCSYMBOLNAME[2]þ@! := BEGINSYMBOL; PASCSYMBOLNAME[3] := ENDSYMBOL; PASCSYMBOLNAME[4] := CONSTSYMBOL; PASCSYMBOLNAME[5] := TYPESYMBOL; PASCSYMBOLNAME[6] := VARSYMBOL; PASCSYMBOLNAME[7] := RECORDSYMBOL; PASCSYMBOLNAME[8] := CASESYMBOL; PASCSYMBOLNAME[9] := IFSYMBOL; PASCSþ(|YMBOLNAME[10] := THENSYMBOL; PASCSYMBOLNAME[11] := ELSESYMBOL; PASCSYMBOLNAME[12] := DOSYMBOL; PASCSYMBOLNAME[13] := OFSYMBOL; PASCSYMBOLNAME[14] := PASCSYMBOLNAME[15] := WHILESYMBOL; PASCSYMBOLNAME[16] := WITHSYMBOL; PASCSYMBOLNAME[17] := REPEATSYMBþÞOL; PASCSYMBOLNAME[18] := UNTILSYMBOL; PASCSYMBOLNAME[19] := PROCSYMBOL; PASCSYMBOLNAME[20] := FUNCSYMBOL; PASCSYMBOLNAME[21] := LABELSYMBOL; PASCSYMBOLNAME[29] := IDENTIFIER; FOR I := 22 TO 28 DO PASCSYMBOLNAME[I] := ALPHAOPERATOR; FOR SYMBOLNAME :þ�ê= PROGSYMBOL TO ALPHAOPERATOR DO STATEMENTTYPEOF[SYMBOLNAME] := OTHERSTATEMENT; STATEMENTTYPEOF[BEGINSYMBOL] := COMPOUNDSTATEMENT; STATEMENTTYPEOF[CASESYMBOL] := CASESTATEMENT; STATEMENTTYPEOF[IFSYMBOL] := IFSTATEMENT; STATEMENTTYPEOF[FORSYMBOL] := FOþðlRWITHWHILESTATEMENT; STATEMENTTYPEOF[WHILESYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WITHSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[REPEATSYMBOL] := REPEATSTATEMENT; END (CONSTANTSINITIALIZATION); PROCEDURE WRITEA(CHARACTER: CHAR); Vþ�¯AR I: WIDTH; TESTNO: INTEGER; BEGIN CHARCOUNT := CHARCOUNT + 1; OLDEST := CHARCOUNT MOD BUFFERSIZE; WITH UNWRITTEN[OLDEST] DO BEGIN IF CHARCOUNT > BUFFSZP1 THEN BEGIN IF CHISENDLINE THEN BEGIN IF IDENTAFTEREOL < O THEN BEGIN WRITE(BLAþ–NKS: - INDENTAFTEREOL); OUTPUTCOL := OUTPUTCOL - IDENTAFTEREOL; END ELSE BEGIN IF INCREMENT < O THEN BEGIN I := WRITERIGHTCOL - OUTPUTCOL + 1; IF I > O THEN WRITE(BLANKS: I); TESTNO := LINENUMBER; I := O REPEAT TESTNO := TESTNO DIV 10; I := I +þHe 1; UNTIL TESTNO - O; WRITE(ZEROES: (6 - I), LINENUMBER: I); LINENUMBER := LINENUMBER - INCREMENT; IF LINENUMBER > 9999 THEN LINENUMBER := LINENUMBER - 10000; WRITELN; END ELSE BEGIN WRITELN; IF INCREMENT > O THEN BEGIN WRITE(LINENUMBER: 4, 'þu½ '); LINENUMBER := LINENUMBER + INCREMENT; END END IF IDENTAFTEREOL > O THEN WRITE(BLANKS: IDENTAFTEREOL; OUTPUTCOL := IDENTAFTEREOL + 1; END; CHISENDLINE := FALSE; END (IF CHISENDLINE) ELSE BEGIN WRITE(CH); OUTPUTCOL := OUTPUTCOL +1; END (ELSþüE); END (IF CHARCOUNT > ); CH := CHARACTER; WRITECOLUMN := WRITECOLUMN +1; END (WITH); END (WRITEA); PROCEDURE FLUSHUNWRITTENBUFFER; BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IDENTAFTEREOL := O; END; WRITECOLUMN :þé¶= O; FOR I := O TO BUFFSZM1 DO WRITEA(' '); END *(FLUSHUNWRITTENBUFFER)*; PROCEDURE STARTNEWLINEANDINDENT; BEGIN IF PACKERISOFF AND DISPLAYISON THEN BEGIN WRITEA(' '); LASTSYMBOL := PERIODSYMBOL; WITH UNWRITTEN [OLDEST] DO BEGIN CHISENDLINE :þ¼= TRUE; INDENTAFTEREOL := WRITELEFTCOL + LEFTMARGIN - 1; END; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN; END *(IF PACKERISOFF)*; END *(STARTNEWLINEANDINDENT)*; PROCEDURE READACHARACTER; BEGIN IF READCOLUMN > READRIGHTCOL THEN BEGIN IF READRIGþ¨»HTCOL < MAXREADRIGHTCOL THEN BEGIN NEXTCHISEOL := TRUE; READLN END ELSE READCOLUMN := 2; END ELSE IF READCOLUMN = 1 THEN WHILE READCOLUMN < READLEFTCOL DO BEGIN IF EOLN(INPUT) THEN READCOLUMN := 1 ELSE BEGIN READCOLUMN := READCOLUMN + 1; GET(INPUTþ@e) END END; IF NEXTCHISEOL THEN BEGIN CHARACTER := ''; NEXTCHISEOL := FALSE; CHISEOL := TRUE; READCOLUMN := 1; IF NOFORMATTING THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL - 1; ENþŧD WRITECOLUMN := WRITELEFTCOL; END END ELSE IF NOT EOF(INPUT) THEN BEGIN CHARACTER := INPUT ^; READCOLUMN := READCOLUMN +1; NEXTCHISEOL := EOLN(INPUT); GET(INPUT); CHISEOL := FALSE; IF NOFORMATTING THEN WRITEA(CHARACTER); END ELSE BEGIN FLUSHUNþ‡åWRITTENBUFFER; GOTO 13 END END *(READACHARACTER)*; PROCEDURE WRITESYMBOL; VAR I: WIDTH; NUMBER BLANKSTOWRITE: OPTIONSIZE; BEGIN IF DISPLAYISON THEN BEGIN NUMBERBLANKSTOWRITE := SYMBOLGAP; IF (LASTSYMBOL IN [LEFTPARENTH,LEFTBRACKET,PERIODSþYÍYMBOL]) OR (SYMBOLNAME IN [SEMICOLON, RIGHTPARENTH,RIGHTBRACKET, COMMASYMBOL, PERIODSYMBOL, COLONSYMBOL]) OR (SYMBOLNAME IN [LEFTBRACKET, LEFTPARENTH]) AND (LASTSYMBOL = IDENTIFIER) THEN NUMBERBLANKSTOWRITE := O ELSE IF (SYMBOLNAME IN ALPHASþ!ÂYMBOLS) AND (LASTSYMBOL IN ALPHASYMBOLS) THEN IF WRITECOLUMN <= WRITERIGHTCOL THEN BEGIN WRITEA(' '); NUMBERBLANKSTOWRITE := SYMBOLGAP -1; END; IF WRITECOLUMN + LENGTH + NUMBERBLANKSTOWRITE -1> WRITERIGHTCOL THEN BEGIN WRITEA(' '); WITHþ|ç UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IF PACKERISOFF THEN BEGIN IF WRITELEFTCOL + LEFTMARGIN + LONGLINEINDENT + LENGTH -1> WRITERIGHTCOL THEN LENGTH := 10; INDENTAFTEREOL := WRITELEFTCOL -1 + LEFTMARGIN + LONGLINEINDENT; WRITECOþÍrLUMN := WRITELEFTCOL + LEFTMARGIN + LONGLINE INDENT; END ELSE BEGIN IFLENGTH > WRITERIGHTCOL - WRITELEFTCOL + 1; THEN LENGTH := WRITERIGHT COL - WRITELEFTCOL + 1; INDENTAFTEREOL := WRITELEFTCOL - 1; WRITECOLUMN := WRITELEFTCOL; END; END *(WITHþïö)*; END ELSE FOR I := 1 TO NUMBERBLANKSTOWRITE DO WRITEA(' '); FOR I := 1 TO LENGTH DO WRITEA(SYMBOL[I]); END *(IF DISPLAYISON)*; LASTSYMBOL := SYMBOLNAME; END *(WRITESYMBOL)*; PROCEDURE COPYACHARACTER; BEGIN IF DISPLAYISON THEN BEGIN IF WRIþ˜æTECOLUMN > WRITERIGHTCOL THEN BEGIN WHILE (CHARACTER = ' ') AND NOT CHISEOL DO READACHARACTER; IF NOT CHISEOL THEN STARTNEWLINEANDINDENT; END; IF CHISEOL THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END þYBELSE WRITEA(CHARACTER); END; READACHARACTER END *(COPYACHARACTER)*; PROCEDURE DOFORMATTERDIRECTIVES; CONST INVALID = - 1; TYPE PARAMCOUNT = 1 .. 2; PARAMS = ARRAY [PARAMCOUNT] OF INTEGER; VAR SPECIFICATION: PARAMS; FORMATOPTION: CHAR; þ£{ PREVDISPLAY, PREVNOFORMATTING: BOOLEAN; ENDDIRECTV: CHARSET; PROCEDURE READIN(N: PARAMCOUNT; VAR SPCIFICATION: PARAMS); VAR I: PARAMCOUNT; BEGIN FOR I := 1 TO N DO BEGIN WHILE NOT (CHARACTER IN (DIGITS + ENDDIRECTV)) DO COPYACHARACTER; þËsSPECIFICATION[I] := O; IF NOT (CHARACTER IN ENDDIRECTV) THEN REPEAT SPECIFICATION [I] := 10 * SPECIFICATION[I] + ORD(CHARACTER) - ORD('O'); COPYACHARACTER; UNTIL NOT (CHARACTER IN DIGITS) ELSE SPECIFICATION[I] := INVALID; END *(FOR)*; END *(Rþ­[EADIN)*; BEGIN *(DOFORMATTERDIRECTIVES)* ENDDIRECTV := ['*', ']']; REPEAT IF CHARACTER IN ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'P', 'R', 'S', 'W'] THEN BEGIN FORMATOPTION := CHARACTER; CASE FORMATOPTION OF 'A', 'E', 'I', 'G'þY, 'P', 'L', 'S': BEGIN READIN(1, SPECIFICATION); IF (SPECIFICATION[1] 1; ENDCOMMENTSWANTED := ODD(SPECIFICATION[1]); END 'G' : SYMBOLGAP := SPECIFICATION[1]; 'I' : INDENTINDEX := SPECIFICATION[1]; 'L' : LONGLINEINDE***ECIFICATION[1]; 'P' : PROCSEPARATION := SPECIFICATION[1]; 'S' :þæs STATMTSEPARATION := SPCIFICATION[1] END *(CASE)*; END *(SINGLE PARAMETERS)*; 'W', 'R', 'N': BEGIN READIN(2, SPECIFICATION); IF SPECIFICATION[2] <> INVALID THEN CASE FORMATOPTION OF 'W': IF SPECIFICATION[1] > O) AND SPECIFICATION[2] < BUFFEþÚRSIZE -2) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8) THEN BEGIN WRITELEFTCOL := SPECIFICATION[1]; WRITERIGHTCOL := SPECIFICATION[2]; END 'R': IF (SPECIFICATION[1] > O) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8 THEN BEGIN READLEFTCOL := Sþ‹GPECIFICATION[1]; READRIGHTCOL := SPECIFICATION[2]; END 'N': BEGIN LINENUMBER := SPECIFICATION[1]; INCREMENT := SPECIFICATION[2]; WHILE NOT (CHARACTER IN (['<'] + ENDDIRECTV)) AND (CHARACTER<> '>') DO COPYACHARACTER; IF CHARACTER = '>' THEN INCREþÒ3MENT := - INCREMENT END END *(CASE)*; END *(DOUBLE PARAMETERS)*; 'B', 'C', 'D', 'F': BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN (['+', '-'] + ENDDIRECTV); IF CHARACTER IN ['+', '-'] THEN CASE FORMATOPTION OF 'B': IF DISPLAYISON THEN BþQUNCHWANTED := CHARACTER = '+'; 'C': PACKERISOFF := CHARACTER = '-'; 'D': BEGIN PREVDISPLAY := DISPLAYISON; DISPLAYISON := CHARACTER = '+'; IF PREVDISPLAY AND NOT DISPLAYISON THEN BEGIN WRITEA('*'); WRITEA(')'); SAVEDBUNCH := BUNCHWANTED; BUNCHWAþ¨dNTED := FALSE; END ELSE IF NOT PREVDISPLAY AND DISPLAYISON THEN BEGIN STARTNEWLINEANDINDENT; WRITEA('('); WRITEA'_('*'); BUNCHWANTED := SAVEDBUNCH; END *(IF NOT PREV)*; END *('D':)*; 'F': BEGIN PREVNOFORMATTING := NOFORMATTING; NOFORMATTING :=þ! CHARACTER = '-'; DISPLAYISON := NOT NOFORMATTING IF PREVNOFORMATTING AND NOT NOFORMATTING THEN READACHARACTER; IF NOT PREVNOFORMATTING AND NOFORMATTING THEN WRITEA('-'); END; END *(CASE)*; END *(BOOLEAN PARAMETERS)* END *(CASE)*; END *(THEN)* þ‡cELSE IF NOT (CHARACTER IN ENDDIRECTV) THEN COPYACHARACTER; UNTIL CHARACTER IN ENDDIRECTV; IF (CHARACTER = ']') THEN COPYACHARACTER; END *(DOFORMATTERDIRECTIVES)*; PROCEDURE READSYMBOL; CONST READNEXTCH = TRUE; DONTREADNEXTCH = FALSE; VAR TESTþ&‘SYMBOL: ALFA; CHARNUMBER: WIDTH; I: WIDTH; PROCEDURE SKIPCOMMENT; BEGIN REPEAT WHILE CHARACTER <> '*' DO READACHARACTER; READACHARACTER UNTIL CHARACTER = ')'; READACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL END *(SKIPCOMMENT)*; PROCEDURE þž®DOCOMMENT; VAR I: OPTIONSIZE; PROCEDURE COMPILERDIRECTIVES; BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN ['[', '*'] END *(COMPILERDIRECTIVES)*; BEGIN *(DOCOMMENT)* BEGIN IF LASTSYMBOL IN [COMMENT, SEMICOLON] THEN BEGIN LEFTMARGIN := O; SþõWTARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END; WRITESYMBOL; IF CHARACTER = '$' THEN COMPILERDIRECTIVES; IF CHARACTER = '[' THEN DOFORMATTERDIRECTIVES; REPEAT WHILE CHARACTER <> '*' DO COPYACHARACTER; COPYACHARACTER; UNTIL CHARACTER = ')'þ´Ü; COPYACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL; END; END *(DOCOMMENT)*; PROCEDURE CHECKFOR(SECONDCHAR: CHAR; TWOCHARSYMBOL: SYMBOLS; READALLOWED: BOOLEAN); BEGIN IF READALLOWED THEN  BEGIN LENGTH := 1; SYMBOL[1] := CHARACTER; SYMBOLNAMEþ*C := NAMEOF[CHARACTER]; READACHARACTER; END; IF CHARACTER = SECONDCHAR THEN BEGIN SYMBOL[2] := CHARACTER; LENGTH := 2; SYMBOLNAME := TWOCHARSYMBOL; READACHARACTER; IF (NOT PACKERISOFF) AND (SYMBOLNAME = COMMENT) THEN LENGTH := O END END *(CHECKFORþ�d)*; BEGIN *(READSYMBOL)* IF (CHARACTER IN ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K','L','M','N','O','P','Q','R','S','T','U','V','W', 'X','Y','Z','0' ..'9','','(', '.', ':'. '''', '<', '>']) THEN CASE CHARACTER OF '(': BEGIN CHECKFOR(þäþ'*', COMMENT, READNEXTCH); IF (SYMBOLNAME = COMMENT) AND PACKERISOFF THEN DOCOMMENT ELSE IF SYMBOLNAME = COMMENT THEN SKIPCOMMENT; END; 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', þi'X', 'Y', 'Z': BEGIN CHARNUMBER := 1; SYMBOLISNUMBER := FALSE; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN LETTERSANDDIGITS); LENGTH := CHARNUMBER -1; FOR CHARNUMBER := CHARNUMBER Tþ�–O ALFALENG DO SYMBOL[CHARNUMBER] := ''; PACK(SYMBOL, 1, TESTSYMBOL); I := 1; PASCALSYMBOL[LASTPASCSYMBOL- := TESTSYMBOL; WHILE PASCALSYMBOL[I] <> TESTSYMBOL DO I := I + 1; SYMBOLNAME := PASCSYMBOLNAME[I]; END *(LETTER)*; '0', '1', '2', '3', '4', '5'þ,'6', '7', '8', '9': BEGIN SYMBOLISNUMBER := TRUE; CHARNUMBER := 1; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS + ['.']); IF CHARACTER IN 1'B', 'E'] THEN BEGIN SYMBOL[CHARNUþƒMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1; IF CHARACTER IN DIGITS + ['+', '-'] THEN REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS) END LENGTH := CHARNUMBERþ ''; READSYMBOL END; '>', ':': CHECKFOR('=', OTHERSYMBOL, READNEXTCH): '<': BEGIN CHECKFOR('=', OTHERSYMBOL, READNEXTCH); IF SYMBOLNAME <> OTHERSYMBOþL L THEN CHECKFOR('>', OTHERSYMBOL, DONTREADNEXTCH); END '.': IF LASTSYMBOL <> ENDSYMBOL THEN CHECKFOR('.', RANGE, READNEXTCH) ELSE SYMBOLNAME := PERIODSYMBOL; '''': BEGIN CHARNUMBER := 1; REPEAT REPEAT SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBEþ¬‰R := CHARNUMBER +1; READACHARACTER; UNTIL CHARACTER = ''''; SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER + 1; READACHARACTER; UNTIL CHARACTER <>''''; LENGTH := CHARNUMBER -1; SYMBOLNAME := OTHERSYMBOL; IF LENGTH > WRITERIFHTCOL - WRITELEþàºFTCOL +1 THEN BEGIN FLUSHUNWRITTENBUFFER; WRITELN; WRITELN('***STRING TOO LONG.'); GOTO 13 END; END *(STRING)* END *(CASE)* ELSE BEGIN SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; LENGTH := 1; READACHARACTER END END *(READSYMBOL)þã*; PROCEDURE CHANGEMARGINTO(NEWLEFTMARGIN: MARGINS); VAR INDENTEDLEFTMARGIN: MARGINS; BEGIN ACTUALLEFTMARGIN := NEWLEFTMARGIN; LEFTMARGIN := NEWLEFTMARGIN; IF LEFTMARGIN < O THEN LEFTMARGIN := O ELSE BEGIN INDENTEDLEFTMARGIN := WRITERIGHTCOL -þ£× 9 - LONGLINEINDENT; IF LEFTMARGIN > INDENTEDLEFTMARGIN THEN LEFTMARGIN := IDENTEDLEFTMARGIN END END *(CHANGEMARGINTO)*; PROCEDURE DODECLARATIONUNTIL(ENDDECLARATION: SYMBOLSET); PROCEDURE DOPARANTHESES; VAR SAVEDLGLNID: OPTIONSIZE; BEGIN SAþD‚VEDLGLNID := LONGLINEINDENT; IF DECLARALIGNMENT >O THEN BEGIN LONGLINEINDENT := WRITECOLUMN + SYMBOLGAP +1 - LEFTMARGIN - WRITELEFTCOL; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; END ELSE BEGIN þ6¡ LONGLINEINDENT := 1; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN = INDENTINDEX); END *(ELSE)*; LONþ¡áGLINEINDENT := SAVELGLNID; END *(DOPARENTHESES)*; PROCEDURE DOFIELDLISTUNTIL(ENDFIELDLIST: SYMBOLSET); VAR LASTEOL: MARGINS; ALIGNCOLUMN: WIDTH; PROCEDURE DORECORD; VAR SAVEDLEFTMARGIN: WIDTH; BEGIN SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; WRþ6ITESYMBOL; READSYMBOL; CHANGEMARGINTO(WRITECOLUMN - 6 + INDENTINDEX - WRITELEFTCOL); STARTNEWLINEANDINDENT; DOFIELDLISTUNTIL([ENDSYMBOL]); CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAþy9VEDLEFTMARGIN); END *(DORECORD)*; PROCEDURE DOVARIANTRECORDPART; VAR SAVEDLEFTMARGIN, OTHERSAVEDMARGIN: MARGINS; BEGIN OTHERSAVEDMARGIN := ACTUALLEFTMARGIN; IF DECLARALIGNMENT > O THEN BEGIN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME þ{šIN [COLONSYMBOL, OFSYMBOL]; IF SYMBOLNAME = COLONSYMBOL THEN BEGIN WRITESYMBOL; READSYMBOL; WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := IDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITECOLUþ–ùMN := ALIGNCOLUMN; CHANGEMARGINTO(ACTUALLEFTMARGIN + ALIGNCOLUMN - WRITECOLUMN); END END IF SYMBOLNAME <> OFSYMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = OFSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN+ IDENTINDEX); REPEAT WRITESYMBOL; þÃÌREADSYMBOL; IF SYMBOLNAME <> ENDSYMBOL THEN BEGIN STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [LEFTPARENTH, SEMICOLON, ENDSYMBOL]; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; READSYMBOL; SAVEDLEFTMARGIN :=þ§ ACTUALLEFTMARGIN; CHANGEMARGINTO(WRITECOLUMN - WRITELEFTCOL); DOFIELDLISTUNTIL([RIGHTPARENTH]); WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END; END; UNTIL SYMBOLNAME <> SEMICOLON; CHANGEMARGINTO(OTHERSAVEDMARGIN); END *(DOVARIANTRECþ†SORDPART)*; BEGIN *(DOFIELDLISTUNTIL)*; LASTEOL := OLDEST; IF LASTSYMBOL = LEFTPARENTH THEN FOR I := 1 TO DECLARALIGNMENT - LENGTH DO WRITEA(''); ALIGNCOLUMN := LEFTMARGIN + WRITELEFTCOL + DECLARALIGNMENT + 1; WHILE NOT (SYMBOLNAME IN ENDFIELDLIST)þ$H DO BEGIN IF LASTSYMBOL IN [SEMICOLON, COMMENT] THEN IF SYMBOLNAME <> SEMICOLON THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST END; IF SYMBOLNAME IN [RECORDSYMBOL, CASESYMBOL, LEFTPARENTH, COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL] THEN CASE SYþŽ3MBOLNAME OF RECORDSYMBOL- DORECORD; CASESYMBOL: DOVARIANTRECORDPART; LEFTPARENTH: DOPARENTHESES; COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL: BEGIN WRITESYMBOL; IF DECLARALIGNMENT > O THEN IF NOT (ENDLABEL <= ENDFIELDLIST) THEN BEGIN WITH UNWRITTEN[þjLASTEOL] DO BEGIN IDENTAFTEREOL := INDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; WRITECOLUMN := ALIGNCOLUMN; END; IF SYMBOLNAME = COMMASYMBOL THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST; END; þ…Š AND *(IF DECLARALIGNMENT)*; READSYMBOL; END *( , : - )* END *(CASE)* ELSE BEGIN WRITESYMBOL; READSYMBOL END; END *(WHILE)*; END *(DOFIELDLISTUNTIL)*; BEGIN *(DODECLARATIONUNTIL)* STARTNEWLINEANDINDENT; WRITESYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIþôÕN + INDENTINDEX); STARTNEWLINEANDINDENT; READSYMBOL; DOFIELDLISTUNTIL(ENDDECLARATION); STARTNEWLINEANDINDENT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END *(DODECLARATIONUNTIL)*; PROCEDURE DOBLOCK(BLOCKNAME: COMMENTEXT; BLOCKNMLENGTH: WIDTH);þIü VAR I: WIDTH; IFTHENBUNCHNEEDED: BOOLEAN; ATPROCBEGINNIN: BOOLEAN; PROCEDURE DOPROCEDURES; VAR I: O .. 20; PROCNAME: COMMENTTEXT; PROCNMLENGTH: WIDTH; BEGIN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; STARTNEWLINEANDINDþ²WENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, I * ALFALENG +1, PROCNAME[I + 1]); PROCNMLENGTH := LENGTH; WRITESYMBOL; READSYMBOL; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; REPREAT READSYMBOL; WRITESYþŸàMBOL UNTIL SYMBOLNAME = RIGHT PARENTH; READSYMBOL; END; IF SYMBOLNAME = COLONSMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; LAþ‡STPROGPARTWASBODY := FALSE; DOBLOCK(PROCNAME, PROCNMLENGTH); LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; END *(DOPROCEDURES)*; PROCEDURE DOSTATEMENT(VAR ADDEDBLANKS: WþäIDTH; STATMTSYMBOL: COMMENTTEXT; STMTSYMLENGTH: WIDTH); VAR I:WIDTH; STATMTBEGINNING: INTEGER; STATMTPART: ARRAY [1..4] OF INTEGER; BLKSONCURRNTLINE, BLKSADDEDBYTHISSTMT: INTEGER; SUCCESSFUL: BOOLEAN; PROCEDURE BUNCH(BEGINNING, BREAKPT, ENDIþúÄNG: INTEGER; STATMTSEPARATION: OPTIONSIZE); BEGIN IF BUNCHWANTED OR IFTHENBUNCHNEEDED THEN BEGIN IF STMTSEPARATION <1 THEN STATMTSEPARATION := 1; BLKSONCURRNTLINE := BLKSONCURRNTLINE + STATMTSEPARATION - 1; SUCCESSFUL := (ENDING - BEGINNING + BLKSþ>:ONCURRNTLINE + UNWRITTEN[BEGINNING MOD BUFFERSIZE]. IDENTAFTEREOL) < WRITERIGHTCOL) AND (CHARCOUNT - BEGINNING ENDLIST THEN BEGIN IF PROCNAMESWANTED THEN IF ATPROCBEGINNING THEN IF LASTPROGPARTWASBODY THEN IF LASTSYMBOL = BEGINSYMBOL THEN WRITECOMMENT; ATPROCBEGINNING := FALSE; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSAFþ5ÃTERPRT2 := ADDEDBLANKS; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; WHILE SYMBOLNAME <> ENDLIST DO BEGIN WRITESMBOL; READSYMBOL; IF SYMBOLNAME <> ENDLIST THEN BEGIN STATMTPART[3] := CHARCOUNT + 1; DOSTATEMENT(ADDEDBLANKS, STATMTSþ‚wYMBOL, STATMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS + BLKSAFTERPRT2; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; BUNCH(STATMTPART[2], STATMTPART[3], CHARCOUNT, STATMTSEPARATION); IF NOT SUCCESSFUL THEN BEGIN BLKSAFTERPRT2 :þßX= ADDEDB;AMLS\ STATMTPART[2] := STATMTPART[3]; END ELSE BLKSAFTERPRT2 := BLKSONCURRNTLINE; END; END *(WHILE SYMBOLNAME <> ENDLIST)*; END *(IF SYMBOLNAME <> ENDLIST)*; BLKSONCURRNTLINE := BLKSADDEDBYTHISSTATMT; BUNCH(STATMTBEGINNING, STATMTPART[1], þÓfCHARCOUNT, SYMBOLGAP9; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL, PERIODSYMBOL]; IF SUCCESSFUL THEN BEGIN IF ENDLIST = UNTILSYMBOL THENþÔš STATMTPART[4] := STATMTSEPARATION ELSE STATMTPART[4] := SYMBOLGAP; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTPART[4]; END *(IF SUCCESSFUL)*; IF NOT (SUCCESSFUL AND BUNCHWANTED) THEN IF ENDLIST = ENDSYMBOL THEN IF LASTSYMBOL = ENDSYþf$MBOL THEN IF ATPROCEND AND PROCNAMESWANTED THEN WRITECOMMENT ELSE IF ENDCOMMENTSWANTED THEN WRITECOMMENT; END *(DOSTMTLIST)*; BEGIN *(DOSTATEMENT) BLKSONCURRNTLINE := O; SUCCESSFUL := FALSE; BLKSADDEDBYTHISSTMT := O; CHANGEMARGINTO(ACTUALLEFTMARGIþ³žN + IDENTINDEX); STARTNEWLINEANDINDENT; STATMTBEGINNING := CHARCOUNT; IF SYMBOLISNUMBER THEN BEGIN WITH UNWRITTEN[OLDEST] DO BEGIN INDENTAFTEREOL := IDENTAFTEREOL - 1 LENGTH - SYMBOLGAP; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITESYþ}_MBOL; READSYMBOL *(WRITE LABEL)*; WRITESYMBOL; READSYMBOL *(WRITE COLON)*; END FORWITHWHILESTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = DOSYMBOL; WRITESYMBOL; READSYMþ…MBOL; STATMTPART[1] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := BLKSONCURRNTLINE + ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYþ=·MBOLGAP); END; REPEATSTATEMENT: DOSTMTLIST (UNTILSYMBOL); IFSTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = THENSYMBOL; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT;þC WRITESYMBOL; READSYMBOL; STATMTPART[2] := CHARCOUNT +1; DOSTATMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); IF SUCCESSFþü\UL THEN BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTSEPARATION) ELSE IFTHENBUNCHNEEDED := TRUE; IF SYMBOLNAME = ELSESYMBOL THEN BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; IFTHENBUNCHNEEDED := FALSE; STARTNEWLINEANþ&æDINDENT; STATMTPART[3] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[4] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STMTþi÷PART[3], STATMTPART[4], CHARCOUNT, SYMBOLGAP); BLKSONCURRNTLINE := BLKSADDEDBYTHISSTMT; IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[3], CHARCOUNT, STATMTSEPARATION); END ELSE IF (CHARCOUNT - STATMTBEGINNING) < BUFFERSIZE THEN BEGIN BUNCþ™HWANTED := NOT BUNCHWANTED; BLKSONCURRNTLINE := O; BUNCH(STATMTBEGINNING, STATMTPART[1], STATMTPART[2], SYMBOLGAP); BUNCHWANTED := NOT BUNCHWANTED; END; IFTHENBUNCHNEEDED := FALSE; END *(IFSTATEMENT)*; CASESTATEMENT; BEGIN REPEAT WRITESYMBOL; REþ•"ADSYMBOL UNTIL SYMBOLNAME = OFSYMBOL; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); WHILE SYMBOLNAME <> ENDSYMBOL DO BEGIN STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PAþ2CK(SYMBOL, (I * ALFALENG + 1), STATMTSYMBOL[I + 1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = COLONSYMBOL; WRITESYMBOL; READSYMBOL; IF NOT (SYMBOLNAME IN [SEMICOLON, ENDSYMBOL]) THEN BEGIN STATMTPART[2] := CHARCOUNþGLT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); END *(IF NOT(SYMBOLNAME...))*; IF þNSYMBOLNAME - SEMICOLON THEN BEGIN WRITESYMBOL; READSYMBOL; END; END; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; IF ENDCOMMENTSWANTED AND (LASTSYMBOL = ENDSYMBOL) THEN BEGIN STATMTSYMBOL[1] := 'CASEþ០'; STMTSYMLENGTH := 4; WRITECOMMENT; END; END *(CASESTATEMENT)*; OTHERSTATEMENT; BEGIN WHILE NOT (SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL]) DO BEGIN WRITESYMBOL; READSYMBOL END; END *(OTHER)*; COMPOUNDSTATEMENT: DOSTMTLIST(Eþ¿NDSYMBOL) END *(CASE)*; ADDEDBLANKS := BLKSADDEDBYTHISSTMT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END *(DOSTATEMENT)*; BEGIN *(DOBLOCK)* LASTPROGPARTWASBODY := LASTPROGPARTWASBODY AND (SYMBOLNAME = BEGINSYMBOL); IF SYMBOLNAME = LABELSYþ ÐMBOL THEN DODECLARATIONUNTIL(ENDLABEL); IF SYMBOLNAME = CONSTSYMBOL THEN DODECLARATIONUNTIL(ENDCONST); IF SYMBOLNAME = TYPESYMBOL THEN DODECLARATIONUNTIL(ENDTYPE); IF SYMBOLNAME = VARSYMBOL THEN DODECLARATIONUNTIL(ENDVAR); WHILE SYMBOLNAME IN [FUNCSYMBþ½OL, PROCSYMBOL] DO DOPROCEDURES; IF SYMBOLNAME = BEGINSYMBOL THEN BEGIN IF LASTPROGPARTWASBODY THEN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; IFTHENBUNCHNEEDED := FALSE; ATPROCBEGINNING := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTþ6bINDEX); DOSTATEMENT(I, BLOCKNAME, BLOCKNMLENGTH) *( I IS DUMMY PARAM )*; LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); END ELSE BEGIN WRITESMBOL; READSYMBOL *(WRITE FORWARD)* END END *(DOBLOCK)*; PROCEDURE INITIALIZþ¦IE; VAR I: WIDTH; BEGIN *( CONSTANTS: )* DIGITS := ['O' .. '9']; LETTERSANDDIGITS := ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + DIGITS; ALPHASYMBOLS := [PROGSYMBþʉOL, BEGINSYMBOL, ENDSYMBOL, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, CASESYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LABELSYMBþjæOL, ALPHAOPERATOR]; ENDLABEL := [CONSTSYMBOL, TYPESYMBOL, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, BEGINSYMBOL]; ENDCONST := ENDLABEL - [CONSTSYMBOL]; ENDTYPE := ENDCONST - [TYPESYMBOL]; ENDVAR := ENDTYPE - [VARSYMBOL]; *( INITIALIZE COLUMN DATA:)* WRITECOþŒ€LUMN := O; LEFTMARGIN := O; ACTUALLEFTMARGIN := O; OUTPUTCOL := 1; READLEFTCOL := 1; READRIGHTCOL := MAXREADRIGHTCOL; WRITELEFTCOL := 1; WRITERIGHCOL := MAXWRITERIGHTCOL; OLDEST := 1; CHARCOUNT := 1; LINENUMBER := O; INCREMENT := O; *( INITIALIZE BOOLEAþ-pN PARAMETERS: )* PACKERISOFF := TRUE; BUNCHWANTED := FALSE; DISPLAYISON := TRUE; PROCNAMESWANTED := TRUE; ENDCOMMENTSWANTED := FALSE; NOFORMATTING := FALSE; *( INITIALIZE NUMERIC PARAMETERS: )* INDENTINDEX := 3; LONGLINEINDENT := 3; PROCSEPARATION := 2þŽ.; SYMBOLGAP := 1; STATMTSEPARATION := 3; DECLARALIGNMENT := O; *( INITIALIZE INPUT CONTEXT DATA: )* READCOLUMN := 1; CHISEOL := FALSE; NEXTCHISEOL := FALSE; FOR I := O TO BUFFERSIZE DO SYMBOL[I] := ''; LASTSYMBOL := PERIODSMBOL; LASTPROGPARTWASBODY :=þ0� FALSE; END *(INITIALIZE)*;  BEGIN *(MAINPROGRAM)* CONSTANTSINITIALIZATION; INITIALIZE; IF EOF(INPUT) THEN WRITELN('*** NO PROGRAM FOUND TO FORMAT.') ELSE BEGIN READACHARACTER; READSYMBOL; IF SYMBOLNAME <> PROGSYMBOL THEN WRITELN('***"PROGRAM" EXþDKPECTED.') ELSE BEGIN *( ********************************************************************* F O R M A T T H E P R O G R A M - - - - - - - - - - - - - - - - ******************************************************************** *) STAþEöRTNWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), MAIN[I + 1]); MAINNMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; STARTþ||NEWLINEANDINDENT; DOBLOCK(MAIN, MAINNMLENGTH); WRITEA('.'); FLUSHUNWRITTENBUFFER; END; END; 13: END *(MAINPROGRAM)*. ÿ1980.DOûŽŽþú| 1 C 3049 44.55 10 2 CC 3064 3 C 3065 223.70 32 4 C 3066 250 27 5 C 3069 96 4  6 CC 3070 7 C 3073 1340.63 25 8 C 3075 23 5 9 C 3076 100 24 10 C 3078 22.50 4 11 EM 810 17 1þ¼v5 12 EM 811 604.28 15 13 EM 812 643.69 15 14 D 140 34 15 D 8347.06 34 16 D 2086.75 17 C 813 980.89 14 18 C 817 205.18 12 19 CC 814 20 C 3081 35 4 21 C 3067 62 1 22 C 3083 34 6 þ³ 23 C 3071 330 20 24 C 3085 50.99 5 25 C 3087 704.45 17 26 C 816 1581.88 12 27 C 819 1581 12 28 D 1468.38 34 29 D 871.98 34 30 D 13056 34 31 D 12436.99 34 32 D 435.99 34 33 C 3068 10þÎ 18 34 C 3086 138.02 25 35 C 3088 1040 23 36 C 3090 5324 9 37 C 3091 250 8 38 C 3092 206.59 20 39 C 3093 15.40 22 40 C 3094 120.70 4 41 C 3095 20 26 42 C 3096 775 9 43 C 3097 32 10 þ@½44 C 3098 74.05 22 45 C 3099 4000 21 46 C 3101 1557.44 25 47 C 3104 40 33 48 C 3103 42.50 10 49 C 3105 504.39 25 50 C 3106 119.98 4 51 C 3107 793.50 9 52 C 3108 1537.50 27 53 C 3109 3394.50 6þ‡ç 54 C 3110 25 3 55 EM 818 140 27 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 59 EM 835 17 15 60 EM 836 181.73 14 61 EM 837 482.61 15 62 EM 838 2742.40 14 63 CC 839 64 þ¦Z EM 840 622.50 27 65 EM 821 195.18 12 66 EM 822 1415.95 12 67  C 3113 79.95 5 68 C 3114 69.95 10 69 C 3115 200 20 70 C 3116 225 27 71 C 3117 4.65 10 72 C 3119 48 18 73 C 3120 1940.43 25 74þ’E C 3121 269.78 17 75 C 3123 12.24 4 76 C 3124 93.27 15 77 C 3125 181.78 15 78 C 3126 243.77 14 79 C 3127 68.45 23 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 83 C 3133 125.81 22 þjÞ 84 C 3134 20.47 22 85 C 3135 85.15 22 86 D 435.99 34 87 D 906.32 34 88 D 435.99 34 89 D 1628 34 90 D 3000 34 91 D 11481.06 34 92 C 3112 25 26 93 C 3118 1.30 11 94 C 3122 100 26 þÆï 95 C 3128 7.86 22 96 C 3138 185.26 4 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 102 C 3144 42.08 22 103 C 3145 46.50 3 104 C 3146 36.70 11 10þ®5 C 3147 27.73 10 106 C 3148 25.98 5 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 110 C 3152 1000 25 111 C 3153 227.40 25 112 C 3154 100 8 113 C 3155 160.43 4 114 C 3156 835.38 25 115 C þr¾3157 781.68 25 116 C 3198 28.30 3 117 EM 823 1000 12 118 C 3158 21.92 5 119 C 3159 12 33 120 C 3165 638.45 27 121 C 3167 15 5 122 C 3160 155.47 17 123 C 3161 34 10 124 C 3163 594 17 125 C 3166 465þ‚o 4 126 C 3168 83.85 3 127 C 3169 200 24 128 D 1834.55 34 129 D 435.99 34 130 D 802.29 34 131 EM 824 333.14 15 132 EM 825 378.68 15 133 EM 826 2590.51 14 134 EM 827 425.95 12 135 EM 828 82.50 26 þw¸ 136 EM 829 38.70 14 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 141 D 905 34 142 D 594 34 143 D 520 34 144 D 435.99 34 145 DM 18.88 146 C 3162 39.95 1þÞC8 147 C 3164 130.46 14 148 C 3170 120.97 4 149 C 3171 18 33 150 C 3172 36.70 10 151 C 3173 947.50 25 152 C 3174 80 26 153 C 3175 204 5 154 C 3177 496.56 25 155 C 3178 136.20 25 156 C 3179 729 17 þ*" 157 C 3180 170 23 158 C 3182 121.30 11 159 C 3183 25.91 22 160 C 3184 27 17 161 C 3186 10.08 23 162 C 3200 1020 27 163 D 13331.89 34 164 D 11943.74 34 165 D 4546.81 34 166 D 129.24 34 167 D 3þ¯W229.35 34 168 D 715 34 169 C 3176 50 22 170 C 3181 950 7 171 C 3185 125 23 172 C 3187 174.75 23 173 C 3188 290.64 4 174 C 3189 1372 27 175 C 3190 3.28 5 176 C 3191 18 5 177 C 3192 5.68 23 178 þFÓ C 3203 100 27 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 182 C 3196 50 21 183 C 3199 26 33 184 C 3201 2764.81 27 185 C 3202 948.17 25 186 C 3204 55.20 5 187 C 3205 14.25 7 188 C 32þÓˆ06 10 6  189 C 3207 7.58 5 190 C 3208 60.59 2 191 C 3209 250.65 25 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 195 EM 846 3584 14 196 D 531.21 34 197 EM 843 1527.87 12 198 EM 84þeã7 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 202 C 3210 720 27 203 C 3211 69.37 2 204 C 3212 1.81 11 205 C 3213 176.55 25 206 C 3214 10.46 25 207 C 3215 18.28 5 208 321þƒb6 64.28 5 209 C 3217 547.32 17 210 C 3218 136.48 17 211 C 3219 48.60 10 212 C 3220 170 23 213 C 3221 10 8 214 C 3224 227.40 17 215 C 3225 36 5 216 C 3222 450 27 217 C 3223 10.64 5 218 C 3226 93.71þ¬y 4 219 C 3227 74.13 2 220 C 3230 31 26 221 EM 851 4000 36 222 C 3229 2774.75 23 223 C 3228 102.08 4 224 C 3231 35 18 225 D 4888.40 34 226 D 3435.99 34 227 EM 852 1527.87 12 228 C 3232 125 23 2þsã29 C 3233 3654.15 23 230 C 3235 37 33 231 C 3236 42.50 33 232 C 3237 2282.26 6 233 C 3238 138.17 33 234 C 3239 95.64 2 235 C 3240 3.70 5 236 C 3241 4.33 5 237 C 3242 35.39 18 238 EM 854 48.65 12 2þï'39 EM 853 540 15 240 D 3148 34 241 D 296.31 34 242 D 1403.43 34 243 D 174 34 244 D 2600 30 245 C 3243 28.20 3 246 C 3244 341.40 10 247 C 3245 500 25 248 C 3246 328.44 10 249 C 3247 784.13 25 þ• 250 C 3248 125.30 11 251 C 3249 5.76 23 252 C 3250 50 24 253 C 3252 1760 27 254 C 3251 100 2 255 C 3253 43 1 256 C 3254 290.77 4 257 C 3255 100 2 258 C 3258 42.50 33 259 C 3259 4.60 23 260 CC þ*l3131 261 C 3260 820.84 25 262 C 3261 732.30 8 263 C 3263 50 22 264 C 3264 296.31 23 265 C 3265 168.01 25 266 D 435.99 34 267 C 3082 1350.12 25 268 C 3136 16.00 1 269 C 3216 64.28 5 270 C 3234 298.þ¦®80 25 271 C 3262 88.41 14 272 C 3268 14.00 26 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 810 11 EM 810 17 15 811 12 EM 811 604.28 15 812 13 EM 812 643.69 15 813 17 C 813 980.89 þ¨^14 814 19 CC 814 816 26 C 816 1581.88 12 817 18 C 817 205.18 12 818 55 EM 818 140 27 819 27 C 819 1581 12 820 56 EM 820 1581 12 821 65 EM 821 195.18 12 822 66 EM 822 1415.95 12 823 117 EM 823 1000 12 824 131 þïzEM 824 333.14 15 825 132 EM 825 378.68 15 826 133 EM 826 2590.51 14 827 134 EM 827 425.95 12 828 135 EM 828 82.50 26 829 136 EM 829 38.70 14 830 138 EM 830 1425.95 12 831 139 EM 831 205.18 12 832 140 EM 832 209.37 12 833 þ_Ô 57 EM 833 948.57 12 834 58 EM 834 912.14 12 835 59 EM 835 17 15 836 60 EM 836 181.73 14 837 61 EM 837 482.61 15 838 62 EM 838 2742.40 14 839 63 CC 839 840 64 EM 840 622.50 27 841 137 EM 841 1425.95 12 842 192 EMþB 842 209.37 12 843 197 EM 843 1527.87 12 844 193 EM 844 1527.87 12 845 194 EM 845 290.37 12 846 195 EM 846 3584 14 847 198 EM 847 1527.87 12 848 199 EM 848 209.37 12 849 200 EM 849 1000 12 850 201 EM 850 9000 12 851 221 þ‹EM 851 4000 36 852 227 EM 852 1527.87 12 853 239 EM 853 540 15 854 238 EM 854 48.65 12 3049 1 C 3049 44.55 10 3064 2 CC 3064 3065 3 C 3065 223.70 32 3066  4 C 3066 250 27 3067 21 C 3067 62 1 3068 33 C 3068 10 1þ¼8 3069 5 C 3069 96 4 3070 6 CC 3070 3071 23 C 3071 330 20 3073 7 C 3073 1340.63 25 3075 8 C 3075 23 5 3076 9 C 3076 100 24 3078 10 C 3078 22.50 4 3081 20 C 3081 35 4 3082 267 C 3082 1350.12 25 3083 22 CþÈ 3083 34 6 3084 273 CC 3084 3085 24 C 3085 50.99 5 3086 34 C 3086 138.02 25 3087 25 C 3087 704.45 17 3088 35 C 3088 1040 23 3089 274 CC 3089 3090  36 C 3090 5324 9 3091 37 C 3091 250 8 3092 38 C 3092 206.59 20 309þõ¨3 39 C 3093 15.40 22 3094 40 C 3094 120.70 4 3095 41 C 3095 20 26 3096 42 C 3096 775 9 3097 43 C 3097 32 10 3098 44 C 3098 74.05 22 3099 45 C 3099 4000 21 3100 275 CC 3100 3101 46 C 3101 1557.44 25 3102 276 CCþº‘ 3102 3103 48 C 3103 42.50 10 3104 47 C 3104 40 33 3105 49 C 3105 504.39 25 3106 50 C 3106 119.98 4 3107 51 C 3107 793.50 9 3108 52 C 3108 1537.50 27 3109 53 C 3109 3394.50 6 3110 54 C 3110 25 3 3111 277 CC 3111 þ¹` 3112 92 C 3112 25 26 3113 67 C 3113 79.95 5 3114 68 C 3114 69.95 10 3115 69 C 3115 200 20 3116 70 C 3116 225 27 3117 71 C 3117 4.65 10 3118 93 C 3118 1.30 11 3119 72 C 3119 48 18 3120 73 C 3120 1940.43 25 3121 þ¥ê 74 C 3121 269.78 17 3122 94 C 3122 100 26 3123 75 C 3123 12.24 4 3124 76 C 3124 93.27 15 3125 77 C 3125 181.78 15 3126 78 C 3126 243.77 14 3127 79 C 3127 68.45 23 3128 95 C 3128 7.86 22 3129 80 C 3129 128.35 5 3þ�130 81 C 3130 25.98 5 3131 260 CC 3131 3132 82 C 3132 15.90 5 3133 83 C 3133 125.81 22 3134 84 C 3134 20.47 22 3135 85 C 3135 85.15 22 3136 268 C 3136 16.00 1 3138 96 C 3138 185.26 4 3139 97 C 3139 19.37 10 3140 þR: 98 C 3140 6.17 10 3141 99 C 3141 6.46 10 3142 100 C 3142 3.96 10 3143 101 C 3143 3.62 10 3144 102 C 3144 42.08 22 3145  103 C 3145 46.50 3 3146 104 C 3146 36.70 11 3147 105 C 3147 27.73 10 3148 106 C 3148 25.98 5 3149 þòØ 107 C 3149 6 33 3150 108 C 3150 95 33 3151 109 C 3151 78.50 33 3152 110 C 3152 1000 25 3153 111 C 3153 227.40 25 3154 112 C 3154 100 8 3155 113 C 3155 160.43 4 3156 114 C 3156 835.38 25 3157 115 C 3157 781.68 25 3158 11þµ48 C 3158 21.92 5 3159 119 C 3159 12 33 3160 122 C 3160 155.47 17 3161 123 C 3161 34 10 3162 146 C 3162 39.95 18  3163 124 C 3163 594 17 3164 147 C 3164 130.46 14 3165 120 C 3165 638.45 27 3166 125 C 3166 465 4 3167 121 C þLŠ3167 15 5 3168 126 C 3168 83.85 3 3169 127 C 3169 200 24 3170 148 C 3170 120.97 4 3171 149 C 3171 18 33 3172 150 C 3172 36.70 10 3173 151 C 3173 947.50 25 3174 152 C 3174 80 26 3175 153 C 3175 204 5 3176 169 C 3176 50 22þ-× 3177 154 C 3177 496.56 25 3178 155 C 3178 136.20 25 3179 156 C 3179 729 17 3180 157 C 3180 170 23 3181 170 C 3181 950 7 3182 158 C 3182 121.30 11 3183 159 C 3183 25.91 22 3184 160 C 3184 27 17 3185 171 C 3185 125 23 31þJ86 161 C 3186 10.08 23 3187 172 C 3187 174.75 23 3188 173 C 3188 290.64 4 3189 174 C 3189 1372 27 3190 175 C 3190 3.28 5 3191 176 C 3191 18 5 3192 177 C 3192 5.68 23 3193 179 C 3193 37.25 23 3194 180 C 3194 147.08 23 319þ¨5 181 C 3195 7 23 3196 182 C 3196 50 21 3198 116 C 3198 28.30 3 3199 183 C 3199 26 33 3200 162 C 3200 1020 27 3201 184 C 3201 2764.81 27 3202 185 C 3202 948.17 25 3203 178 C 3203 100 27 3204 186 C 3204 55.20 5 3205 18þ}(7 C 3205 14.25 7 3206 188 C 3206 10 6 3207 189 C 3207 7.58 5 3208 190 C 3208 60.59 2 3209 191 C 3209 250.65 25 3210 202 C 3210 720 27 3211 203 C 3211 69.37 2 3212 204 C 3212 1.81 11 3213 205 C 3213 176.55 25 3214 206 C 3þ_m214 10.46 25 3215 207 C 3215 18.28 5 3216 269 C 3216 64.28 5 3217 209 C 3217 547.32 17 3218 210 C 3218 136.48 17 3219 211 C 3219 48.60 10 3220 212 C 3220 170 23 3221 213 C 3221 10 8 3222 216 C 3222 450 27 3223 217 C 3223þ—ñ 10.64 5 3224 214 C 3224 227.40 17 3225 215 C 3225 36 5 3226 218 C 3226 93.71 4 3227 219 C 3227 74.13 2 3228 223 C 3228 102.08 4 3229 222 C 3229 2774.75 23 3230 220 C 3230 31 26 3231 224 C 3231 35 18 3232 228 C 3232 125 þø(23 3233 229 C 3233 3654.15 23 3234 270 C 3234 298.80 25 3235 230 C 3235 37 33 3236 231 C 3236 42.50 33 3237 232 C 3237 2282.26 6 3238 233 C 3238 138.17 33 3239 234 C 3239 95.64 2 3240 235 C 3240 3.70 5 3241 236 C 3241 4.þq¹33 5 3242 237 C 3242 35.39 18 3243 245 C 3243 28.20 3 3244 246 C 3244 341.40 10 3245 247 C 3245 500 25 3246 248 C 3246 328.44 10 3247 249 C 3247 784.13 25 3248 250 C 3248 125.30 11 3249 251 C 3249 5.76 23 3250 252 C 3250þ&d 50 24 3251 254 C 3251 100 2 3252 253 C 3252 1760 27 3253  255 C 3253 43 1 3254 256 C 3254 290.77 4 3255 257 C 3255 100 2 3258 258 C 3258 42.50 33 3259 259 C 3259 4.60 23 3260 261 C 3260 820.84 25 3261 262 C 3261 732.30 þ’l*8 3262 271 C 3262 88.41 14 3263 263 C 3263 50 22 3264 264 C 3264 296.31 23 3265 265 C 3265 168.01 25 3268 272 C 3268 14.00 26 ÿPRETTYPRIN.PAûÜÜ þ“(************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUSþ°ETTS, AMHERST - AUGUST, 1976 (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. IþKøNDICATED BY <<<. MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMATþ,S THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THEYþ4£ MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS PREþaÐTTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. ************************************************************************þ‡_** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. THEþ USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINEþ—S. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COMþ'°MENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFORE þNOAND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "VAþÕ‹R" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE Iþ£NDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** ****þÔ‹************************************************************************ GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENDþs_ENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR THE SYMBOL BEING SCAþ¬�NNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTOþâ= A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND þGINVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESSþ4# ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESþ’üS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THþpäERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIþHIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THEþ¼ SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THþÙØAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF þ¿íA CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANþøMK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK ISþ.± NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT []þL) SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTþëiBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. *************************þJy**************************************************** PROGRAM PRETTYPRINT *( FROM )* INPUT, *( TO )* OUTPUT ); CONST MAXSYMBOLSSIZE = 200; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A)* *( SYMBOL SCANNED BY THE LEXICAL SCANNER. )* MAXSTACKSIþ¶òZE = 100; *( THE MAXIMUM NUMBER OF SYMBOLS CAUSING )* *( INDENTATION THAT MAY BE STACKED. )* MAXKEYLENGTH = 10; *( THE MAXIMUM LENGTH (IN CHARACTERS) OF A )* *( PASCAL RESERVED KEYWORD. )* MAXLINESIZE = 72; *( THE MAXIMUM SIZE (INþ, CHARACTERS) OF A )* *( LINE OUTPUT BY THE PRETTYPRINTER. )* SLOFAIL1 = 30; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; *( UP TOþÆ THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT2". BEYOND )* *( THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOL =þc ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECþ¨\OMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, þ9øCRAFTER ); PROGRAM PRETTYPRINT *( FROM )* INPUT, *( TO )* OUTPUT ); CONST MAXSYMBOLSSIZE = 200; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A)* *( SYMBOL SCANNED BY THE LEXICAL SCANNER. )* MAXSTACKSIZE = 100; *( THE MAXIMUM NUMBER OF SYMBOLSþ ¡ CAUSING )* *( INDENTATION THAT MAY BE STACKED. )* MAXKEYLENGTH = 10; *( THE MAXIMUM LENGTH (IN CHARACTERS) OF A )* *( PASCAL RESERVED KEYWORD. )* MAXLINESIZE = 72; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A )* *( LINE OUTþ¦©PUT BY THE PRETTYPRINTER. )* SLOFAIL1 = 30; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; *( UP TO THIS COLUMN POSITION, EACH TIME )* þþ½ *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT2". BEYOND )* *( THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, þ CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM,  ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, Oþ žPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); OPTIONSET = SET OF OPTION þø KEYSYMSET = SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET  END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; KEY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAþEuR; KEYWORDTABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; SGLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OFþZÝ CHAR; STRING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO = ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLþñ™ANK, QUOTE, ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTACK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRYþº; VAR RECORDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBþ¢½OLSTACK; TOP : INTEGER; STARTPOS, *(STARTING POSITION OF LAST SYMBOL WRITTEN )* <<<. CURRLINEPOS, CURRMARGIN : INTEGER; PROCEDURE GETCHAR ( *( FROM INPUT )* *( UPDATING )* VAR NEXTCHAR : CHARINFO; *( RETURNING )* VAR CURRCHAR : CHARINFO þA®); BEGIN *( GETCHAR )* CURRCHAR := NEXTCHAR; WITH NEXTCHAR DO BEGIN IF EOF(INPUT) THEN NAME := FILEMARK ELSE IF EOLN(INPUT) THEN NAME := ENDOFLINE ELSE IF INPUT^IN ['A'..'Z'] THEN NAME := DIGIT ELSE IF INPUT^IN ['O'..'9'] THEN NAþü5ME := DIGIT ELSE IF INPUT^= '''' THEN NAME := QUOTE ELSE IF INPUT^= SPACE THEN NAME := BLANK ELSE NAME := OTHERCHAR; IF NAME IN [ FILEMARK, ENDOFLINE ] THEN VALU := SPACE ELSE VALU := INPUT^; IF NAME <> FILEMARK THEN GET(INPUT) þ” END *(WITH)* END; *( GETCHAR )* PROCEDURE STORENEXTCHAR *( FROM INPUT )* *( UPDATING )* VAR LENGTH : INTEGER; VAR CURRCHAR, NEXTCHAR : CHARINFO; :( PLACING IN )* VAR VALU : STRING ); BEGIN *( STORENEXTCHAR )* GETCHAR( *( þÌEFROM INPUT )* *( UPDATING )* NEXTCHAR, *( RETURNING )* CURRCHAR ); IF LENGTH < MAXSYMBOLSIZE THEN BEGIN LENGTH := LENGTH + 1; VALU [LENGTH] := CURRCHAR.VALU END END; *(STORENEXTCHAR )* PROCEDURE SKIPSPACES ( *( UPþ ÍDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING )* VAR SPACESBEFORE,  CRSBEFORE : INTEGER ); BEGIN *( SKIPSPACES )* SPACESBEFORE := 0; CRSBEFORE := 0; WHILE NEXTCHAR.NAME IN [ BLANK, ENDOFLINE ] DO BEGIN GETCHARþ-¶( *( FROM INPUT )* *( UPDATING )* NEXTCHAR, :( RETURNING )* CURRCHAR ); CASE CURRCHAR.NAME OF BLANK, : SPACESBEFORE := SPACESBEFORE+1; ENDOFLINE : BEGIN CRSBEFORE := CRSBEFORE+1; SPACESBEFORE := 0 END END *( CASE )* END *( WHILE )þWM* END; *( SKIPSPACES )* PROCEDURE GETCOMMENT ( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GET COMMENT )* NAME þÐ:= OPENCOMMENT; WHILE NOT ( ((CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')')) OR (NEXTCHAR.NAME = ENDOFLINE) OR (NEXTCHAR.NAME = FILEMARK)) DO STORENEXTCHAR ( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( Iþú 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 ENþûÂD END; *( WRITECRS )* PROCEDURE INSERTCR( *( UPDATING )* VAR CURRSYM : SMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; BEGIN *( INSERTER )* IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *þ¬( WRITING TO OUTPUT )* ); CURRSYM^.SPACESBEFORE := 0 END END; *( INSERTER )* PROCEDURE INSERTBLANKLINE( *( UPDATING )* VAR CURRSYM : SYMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; TWICE - 2; BEGIN *( INSERTBLANKLINE )* þf¬ IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) ELSE WRITECRS( TWICE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); CURRSYM^.SPACESBEFORE := þuû0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) END; *( INSERTBLANKLINE )* PROCEDURE 1SHIFTON( *( USING )* DINDENTSYMBOLS : KEYSYMSET ); VAR INDEþ,ÚNTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN *( 1SHIFTON )* IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( *( RETURNING )* INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOþX‘T(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( *( USING )* INDENTSYMBOL, PREVMARGIN ) END END; *( 1SHIFTON )* PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTþZáEGER; BEGIN *( 1SHIFT )* IF NOT STACKEMPTY THEN BEGIN POPSTACK( *( RETURNING )* INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; *( 1SHIFT )* PROCEDURE INSERTSPACE( *( USING )* VAR SYMBOL : SYMBOLINFO *( WRITINGþ|Q TO OUTPUT )* ); BEGIN *( INSERTSPACE )* IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END þû– END; *( INSERTSPACE )* PROCEDURE MOVELINEPOST( *( TO )* NEWLINEPOS : INTEGER; *( FROM )* VAR CURRLINEPOS : INTEGER *( WRITING TO OUTPUT )* ); VAR I: INTEGER; (TED SMALL I) BEGIN *( MOVELINEPOS )* FOR I := CURRLINEPOS+1 TO þá}NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; *( MOVELINEPOS )* PROCEDURE PRINTSYMBOL( *( IN )* CURRSYM : SYMBOLINFO; *( UPDATING )* VAR CURRLINEPOS : INTEGER *( WRITING TO OUTPUT )* ); þf VAR I: INTEGER; (TED SMALL I) BEGIN *( PRINTSYMBOL )* WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; *( SAVE START POS FOR TAB PURPOSES )* <<<. CURRLINEPOS := CURþèeRLINEPOS + LENGTH END *( WITH )* END; *( PRINTSYMBOL )* PROCEDURE PPSYMBOL( *( IN )* CURRSYM : SYMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN *( PPSYMBOL )* WITH CURRSYM^ DO BEGIN WRIþJ÷TECRS( *( USING )* CRSBEFORE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CUþ„µRRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEþòûWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( *( TO )* NEWLINEPOS, *( FROM )* CURRLINEPOS *( IN OUTPUT )* ); PRINTSYMBOL( *( IN )* CURRSYM, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) Eþ6#ND *( WITH )* END; *( PPSYMBOL )* PROCEDURE RSHIFTTOCLP( *( USING )* CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( *( SYMBOLS FROM INPUT )* *( UP TO )* TERMINATORS : KEYSYMSET; *( UPDATING )* VAR CURRSYM, NEXTSYM : SYMBOLINFO þ%ì *( WRITING TO OUTPUT )* ); BEGIN *( GOBBLE )* RSHIFTTOCLP( *( USING )* CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( *( FROM INPUT )* *( UPDATING )* NEXTSYM, *( RETURNING )* CURRSYM þ˜Œ ); PPSYMBOL( *( IN)* CURRSYM *( WRITING TO OUTPUT )* ) END; *( WHILE )* 1SHIFT END; *( GOBBLE )* PROCEDURE RSHIFT( *( USING )* CURRSYM : KEYSMBOL ); BEGIN *( RSHIFT )* IF NOT STACKFULL THEN PUSHSTACK( *( USING )* CURRSYM, þñÑ CURRMARGIN); *( IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. )* <<<. IF STARTPOS > CURRMARGIN <<<. THEN <<<. CURRMARGIN := STARTPOS; <<<. IþgÖF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; *( RSHIFT )* PROCEDURE RSHIFTTOCLP; BEGIN *( RSHIFTTOCLP )* IF NOT STACKFULL THEN PUSHSTACK( *( USþòING )* CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; *( RSHIFTTOCLP )* BEGIN *( PRETTYPRINT )* INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTIONþú� ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( *( FROM INPUT )* *( UPDATING )* NEXTSYM, *( RETURNING )* CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTþV]ED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( *( USING )* CURRSYM *( WRITING TO OUTPUT )* ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_*( USNG )* CURRSYM *( WRITING TO OUTþS|PUT )* ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( *( USING )* CURRSYM *( WRITING TO OUTPUT þ8)* ); PPSYMBOL( *( IN )* CURRSYM *( WRITING TO OUTPUT )* ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( *( USING )* NEXTSYM *( WRITING TO OUTPUT )* ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( *( USING )* CURRSYM^.þmmNAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( *( USING )* CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( *( SYMBOLS FROM INPUT )* *( UP TO )* GOBBLETERMINATORS, *( UPDATING )* CURRSYM,  NEXTSYM *( WRITþ�PING TO OUTPUT )* IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END *( WITH )* END; *( WHILE )* IF CRPENDING THEN WRITELN(OUTPUT) END. ÿTOTAL.LSûŽŽ þÒ˜Rational Data Systems Pascal Compiler [release RDOS.2.11, overlaid] "TOTAL.PA" compiled on Thursday 1 January 1981 at 12:29:40 using the option /Swapping. line seg proc off nst 1 0 1 1 PROGRAM TOTAL(INPUT,OUTPUT); 2 0 1 þ–ê 1 3 0 1 1 TYPE ALPHANUMERIC = STRING[99]; 4 0 1 1 5 0 1 1 VAR STR : ALPHANUMERIC; 6 0 1 51 TOTAL,AMOUNT : REAL; 7 0 1 55 I,CHECKNUMBER : INTEGERþþñ; 8 0 1 57 INFILE,OUTFILE : TEXT; 9 0 1 317 10 0 1 317 11 0 2 1 FUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; 12 0 2 55 {STR : STRING[99] = INPUT LINE 13þ!L 0 2 55 I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} 14 0 2 55 15 0 2 55 LABEL 1,2; 16 0 2 55 17 0 2 55 TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; 18 0 2 55 þ3ô SIGNOF = (PLUS,MINUS); 19 0 2 55 20 0 2 55 VAR LEN : INTEGER; 21 0 2 56 FGETREAL,PLACE :REAL; 22 0 2 60 PART : WHOLORFRACT ; 23 0 2 61 þa SIGN : SIGNOF; 24 0 2 62 25 0 2 62 26 0 2 0 0 BEGIN 27 0 2 0 0 SIGN := PLUS; 28 0 2 8 0 PART := WHOLE;{assume while part first} 29 0 2 11 0 þ|ý FGETREAL := 0; 30 0 2 17 0 LEN := LENGTH(STR); 31 0 2 22 0 { WRITELN('LEN=',LEN);} 32 0 2 22 0 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} 33 0 2 29 2 þÿŽ IF NOT (STR[I] IN ['0'..'9','-','.']) THEN BEGIN 34 0 2 51 2 I := I+1;GOTO 1; 35 0 2 59 2 END 36 0 2 59 1 ELSE 37 0 2þÅÌ 61 3 IF STR[I] = '-' THEN BEGIN 38 0 2 71 3 I := I+1; 39 0 2 77 3 SIGN := MINUS; 40 0 2 80 3 þ\é GOTO 1; 41 0 2 82 3 END 42 0 2 82 2 ELSE 43 0 2 84 3 2: IF I <= LEN THEN 44 0 2 91 4 IF STR[I] IN ['0'..þ€'9'] THEN 45 0 2 112 5 BEGIN 46 0 2 112 5 CASE PART OF 47 0 2 116 5 WHOLE : 48 0 2 116 6 BEGIN  49 0 þ2 116 6 FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); 50 0 2 138 6 { REALPRINT(FGETREAL);} 51 0 2 138 6 { WRITELN(' WHOLE');} 52 0 þßµ2 138 5 END; 53 0 2 140 5 54 0 2 140 6 FRACTIONAL : BEGIN 55 0 2 140 6 FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; 56þ×­ 0 2 163 6 PLACE := PLACE*10; 57 0 2 174 6 { REALPRINT(FGETREAL);} 58 0 2 174 6 { WRITELN(' FP');} 59 0 2 174 6 þ–� END 60 0 2 174 5 END; {case} 61 0 2 188 5 I := I+1; 62 0 2 194 5 GOTO 2 63 0 2 196 5  END 64 þ¦G 0 2 196 5 ELSE IF STR[I] = '.' THEN 65 0 2 208 6 BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; 66 0 2 223 6 { WRITE(' FRACTION.');} 67 0 2 223 6 þõÐ GOTO 2; 68 0 2 225 6 END 69 0 2 225 6 70 0 2 225 6 ELSE IF STR[I] = ',' THEN 71 0 2 237 0  BEGIN I := I+1;GOTO 2 END; 72 0 2þ>Å 245 0 73 0 2 245 0 CASE SIGN OF 74 0 2 249 0 PLUS : GETREAL := FGETREAL; 75 0 2 259 0 MINUS : GETREAL := -FGETREAL; 76 0 2 270 0 END;{caþ’-se} 77 0 2 282 0 END;{getreal} 78 0 2 306 0 79 0 2 306 0 (*$I GETREAL.PI *) 80 0 2 306 0 81 0 3 1 PROCEDURE REALPRINT (VAR OUTFILE : TEXT;R : REAL); 82 0 3 4 TYPE SIGNOF =þüõ (PLUS,MINUS); 83 0 3 4 84 0 3 4 VAR I,J,CHARPOS : INTEGER; 85 0 3 7 STR : STRING[15]; 86 0 3 15 SIGN : SIGNOF; 87 0 3 16 88 0 3þ¸� 16 89 0 3 16 90 0 4 1 PROCEDURE DECDIGIT; 91 0 4 1 92 0 4 1 VAR R1 : INTEGER; 93 0 4 2 94 0 4 0 0 BEGIN 95 0 4 0 0 { WRITE(' J=',J,' þ¨.CHARPOS=',CHARPOS);} 96 0 4 0 0 R1 := TRUNC(R/PWROFTEN (J)); 97 0 4 15 0 { WRITELN(' R1=',R1);} 98 0 4 15 0 R := R-R1*PWROFTEN (J); 99 0 4 34 0 STR[CHARPOS] := CHR(R1+48); 100þÞ 0 4 50 0 CHARPOS := CHARPOS+1; 101 0 4 58 0 IF ((J = 6) OR (J = 3)) THEN 102 0 4 71 1 BEGIN STR[CHARPOS] := ','; 103 0 4 80 1 CHARPOS := CHARPOS+1; 104 0 4 8þØÒ8 0 END; 105 0 4 88 0 END;{DECDIGIT} 106 0 4 100 0 107 0 5 1 PROCEDURE FRACTDIGIT; 108 0 5 1 109 0 5 1 VAR R1 : INTEGER; 110 0 5 2 111 0 5 0 0þX¬ BEGIN 112 0 5 0 0 { WRITE(' J=',J,'CHARPOS=',CHARPOS);} 113 0 5 0 0 R1 := TRUNC(R*PWROFTEN(J)); 114 0 5 15 0 { WRITELN(' R1=',R1);} 115 0 5 15 0 R := R-R1/PWROFTEN(J); 116 0 þ® 5 34 0 STR[CHARPOS] := CHR(R1+48); 117 0 5 50 0 CHARPOS := CHARPOS+1; 118 0 5 58 0 END;{FRACTDIGIT} 119 0 5 70 0 120 0 5 70 0 121 0 3 0 0 BEGIN 122 0 3 0 0 þ]ß{do decimal part first} 123 0 3 0 0 124 0 3 0 0 IF R >= 0 THEN SIGN := PLUS ELSE 125 0 3 15 0  BEGIN R := -R; SIGN := MINUS;END; 126 0 3 27 0 R := R + 0.005; 127 0 3 43 þ÷20 128 0 3 43 0 STR :=' '; 129 0 3 64 0 I :=8; 130 0 3 67 0 131 0 3 67 1 REPEAT I := I-1 132 0 3 68 0 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); 133 0 þž± 3 87 0 134 0 3 87 0 CHARPOS := 15-I-3-I DIV 3; 135 0 3 98 0 IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; 136 0 3 112 0 137 0 3 112 0 FOR J := I DOWNTO 0 DO DECDIGIT; 138 0 3 141þ6O 0 139 0 3 141 0 STR[CHARPOS] := '.'; 140 0 3 147 0 CHARPOS := CHARPOS+1; 141 0 3 152 0 142 0 3 152 0 FOR J := 1 TO 2 DO FRACTDIGIT; 143 0 3 180 0 144 0 3 180 0 þ‰‹ WRITE(OUTFILE,STR); 145 0 3 189 0 END; 146 0 3 208 0 (*$I REALPRINT.PI *) 147 0 6 1 FUNCTION GETINTEGER( STR : ALPHANUMERIC;VAR I : INTEGER) : INTEGER; 148 0 6 54 149 0 6 54 150 0 6 5þ%í4 LABEL 1,2,3; 151 0 6 54 152 0 6 54 TYPE SIGNOF = (PLUS,MINUS); 153 0 6 54 VAR LEN,FNUMB : INTEGER; 154 0 6 56 SIGN :SIGNOF; 155 0 6 57 156 0 6 57 þ|, 157 0 6 0 0 BEGIN 158 0 6 0 0 FNUMB := 0; 159 0 6 8 0 SIGN := PLUS; 160 0 6 11 0 LEN := LENGTH(STR); 161 0 6 16 0 { WRITELN('LEN=',LEN);} 162 0 6 16 0 þž 1: IF I <= LEN THEN 163 0 6 23 2 IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN 164 0 6 45 2 I := I+1;GOTO 1; 165 0 6 53 2 END þo~ 166 0 6 53 3 ELSE IF STR[I] = '-' THEN BEGIN 167 0 6 65 3  I := I+1; 168 0 6 71 3 SIGN := MINUS; 169 0 6 74 3 þö GOTO 1; 170 0 6 76 0 END; 171 0 6 76 0 2 : IF STR[I] IN ['0'..'9'] THEN 172 0 6 96 1 BEGIN 173 0 6 96 þ·¡1 { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} 174 0 6 96  1 FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); 175 0 6 111 1 I := I+1; 176 0 6 117 1 þÙ IF I<= LEN THEN GOTO 2; 177 0 6 126 0 END; 178 0 6 126 0 3: CASE SIGN OF 179 0 6 130 0 PLUS : GETINTEGER := FNUMB; 180 0 6 136 1 þxÑ MINUS : GETINTEGER := -FNUMB 181 0 6 136 0  END;{CASE} 182 0 6 154 0 END;{getinteger} 183 0 6 170 0 (*$I GETINTEGER.PI *) 184 0 6 170 0 185 0 1 0 0 BEGIN 186 0 1 þB] 0 0 WRITE(' INPUT FILE NAME? '); 187 0 1 145 0 READLN(STR); 188 0 1 170 0 FILETITLE(INFILE,STR); 189 0 1 178 0 RESET(INFILE); 190 0 1 185 0 191 0 1 185 0 WRITEþò(' OUTPUT FILE NAME? '); 192 0 1 217 0 READLN(STR); 193 0 1 242 0 FILETITLE(OUTFILE,STR); 194 0 1 249 0 RESET(OUTFILE); 195 0 1 255 0 196 0 1 255 0 TOTAL := 0.0; 197 0 þŽ1 266 0 WHILE NOT EOF(INFILE) 198 0 1 273 1 DO BEGIN 199 0 1 276 1 200 0 1 276 1 READLN(INFILE,STR); 201 0 1 300 1 202 0 1 300 1 I := 2; 203 0 1 303 1 { þW CHECKNUMBER := GETINTEGER(STR,I);} 204 0 1 303 1 AMOUNT := GETREAL(STR,I); 205 0 1 316 1 206 0 1 316 1 TOTAL := TOTAL + AMOUNT; 207 0 1 329 1 { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} 208 þƒÏ 0 1 329 1 REALPRINT(OUTFILE,AMOUNT); 209 0 1 338 1 WRITELN(OUTFILE); 210 0 1 343 0 END; 211 0 1 345 0 212 0 1 345 0 WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITEþCÄ)LN(OUTFILE); 213 0 1 381 0 214 0 1 381 0 END. ÿ1978.10û½½ þ›˜C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 46.85 C 2734 164.11 C 2735 1850.16 þéùC 2736 140 D 1997 E 3059.63 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 C 2750 145.75 C 2751 30 C 2752 54 C 2753 55 C 2754 569.90 þkuúC 2755 64.50 C 2756 75 CC 2757 E 3685.95 W 2710.13 C 2758 374 C 2759 115 C 2760 500 C 2761 500 C 2762 1510 ÿ1978EMP.06ûf½ þ Ü_E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 W 579 483.00 W 580 2210.00 W 581 38.36 ÿ1978EMP.MCûff 'þJ‰APPEND 1978EMP 1978EMP.01 1978EMP.03 1978EMP.04 1978EMP.05 1978EMP.06 ^ 1978EMP.07 1978EMP.08 1978EMP.09 1978EMP.10 1978EMP.11 ÿRDS.PIûŽr þüÝPROCEDURE READSEQUENTIAL( CHANNEL : INTEGER; VAR BUFFER : LINESTRING; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDS = 6719; {.RDS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(þþHEAP); NEW(REQUEST); NEW(TEMPPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); BUFFER.LEN := R1.INT;  IF ERROR THEN WRITELN(' þÆÄERROR IN READSEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := TEMPPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); WRITELN(' BYTESREAD = ',BYTESREAD); END; {READ SEQUENTIAL} ÿWRL.BUû޽5þu¢PROCEDURE WRITELINE( CHANNEL : INTEGER; BUFFER : BIGSTR; BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7743; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEþƒ’W(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITELINEþW± = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE LINE} ÿTEST11.ûqq-þ]îPROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 15; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRINþúëG LNGTH} STR : PACKED ARRAY[1..STRSIZE] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LþÄÓINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPþS-REFIX; VAR LINE : LINESTRING; I,J : INTEGER; NBYTES : INTEGER; FILENAME : LINESTRING; DATA :LINESTRING; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; {$I DELETE.PI} {$I WRS.PI} {$I RDS.PI} {$I CLOSE.PI} {$I CRAND.PI} {$I GCHN.PI } {$I OPEN.PI} þUW{$I WRL.PI } {$I RDL.PI} BEGIN WRITELN('ENTER FILENAME'); READLINE(0,FILENAME ,NBYTES,SYSERROR,ERRORNUMBER); FILENAME.STR[NBYTES] := CHR(0); CRAND(FILENAME,SYSERROR,ERRORNUMBER); WRITELN('CRAND'); GCHN(I); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,þ«ERRORNUMBER); { DATA.STR := '1234567890 '; DATA.STR[11] := CHR(13);} WRITELN(' ENTER DATA'); READLINE(0,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN('WRITE LINE TO DISK'); WRITELINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,DATA,NBYTES,SYSERþa®ROR,ERRORNUMBER); WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); READLINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); FOR J := 1 TO NBYTES DO WRITE(OUTPUT,DATA.STR[J]);WRITELN; WRITESEQUENTIAL(I,Dþ‚ATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); READSEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); FOR J := 1 TO NBYTES DO WRITE(OUTPUT,DATA.STR[J]);WRITELþ{ELN; WRITESEQUENTIAL(2,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN; WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); END. ÿPASINTERP.ERûŽ? þr Unknown P-Machine Error #Unimplemented P-Machine Instruction Range Error on SET Operationruction Subscript or Subrange Errornruction þöƒInteger Divide-by-ZeroErrornruction String Range ErrorZeroErrornruction SYSCALL Parameter Errorrrornruction  Error Reported by Host Systemuction þçÌ$Dangling Pointer (Value not in Heap) Heap Overflowter (Value not in Heap) %Attempt to EXIT an Inactive Procedure .Called Segment Can't Fit into Available Memory þ`\Call to a Non-Existent SegmentAvailable Memory 5Incomplete Read of a Segment by Host Operating System 0Attempt to Open Multiple Files Entitled 'OUTPUT'ystem .Heap Overflow During Internal ALLOCATE RoutineT'ystem þ^±Program Filename Too Longrnal ALLOCATE RoutineT'ystem Integer Multiply Overflowrnal ALLOCATE RoutineT'ystem +Unknown Error From Floating Point OperationineT'ystem (Overflow From REAL to INTEGER ConversionionineT'ystem þVâFloating Point UnderflowTEGER ConversionionineT'ystem Floating Point OverflowwTEGER ConversionionineT'ystem Floating Point Divide-by-Zero ConversionionineT'ystem No User Program SpecifiedZero ConversionionineT'ystem þXs/Attempt to Execute a Separately Compiled Module'ystem -Current Interpreter Does Not Support Compilerle'ystem Error on READ of Integer or Realport Compilerle'ystem Error on READ of Realger or Realport Compilerle'ystem þ²˜'PWROFTEN Function Argument Out Of Rangempilerle'ystem Overflow From EXP Function Out Of Rangempilerle'ystem "Negative Argument To SQRT FunctionRangempilerle'ystem +Non-Positive Argument To LOG or LN Functionerle'ystem þÚŽAttempted GET Past End of filer LN Functionerle'ystem +Error #33: Report to Rational Data Systemserle'ystem +Error #34: Report to Rational Data Systemserle'ystem 1Requires Capability Not Generated for Interpreterstem þÌŸ)Field Width in Output Format Out of Rangeerpreterstem Security Violationput Format Out of Rangeerpreterstem External File Name Too Longt Out of Rangeerpreterstem "Record Number Out of Range in SEEKf Rangeerpreterstem þ&!FILETITLE Applied to an Open FileKf Rangeerpreterstem !Attempted I/O to an Unopened FileKf Rangeerpreterstem ,Program/Interpreter Revision Incompatibilityreterstem %Non-Positive Divisor in MOD Operationibilityreterstem þšÄ Integer ADD or SUBTRACT Overflowationibilityreterstem Stack Overflow SUBTRACT Overflowationibilityreterstem &Number Stack Overflow (Internal Error)bilityreterstem )Limitation of Evaluation Release Exceededityreterstem þÀ¸í2Unresolved Assembler References -- Must Be PLINKedtem 1Unresolved External References -- Must Be PLINKeddtem 'Program not PLINKed to this InterpreterBe PLINKeddtem ÿI.PXûÜÜ þ"VINTERPOK  Copyright (C) 1980 Rational Dataþ„  Systems¼ þrÝÖÆÆ?ÏÖÆ¦OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥Ì€ƒÊ€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ NþÿT18.ûŽ0)þQzPROGRAM T18(INPUT,OUTPUT); CONST AU = 65; BU = 66; CU = 67; DU = 68; AL = 97; BL = 98; CL = 99; DL = 100; VAR CHRIN : INTEGER; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CHRIN:INTEGER);EXTERNAL; BEGIN REPEAT BEGIN CHRIN := GCHA; PCHA(CHRIN); þÙb› IF((CHRIN >= 65) AND (CHRIN<=68)) OR ((CHRIN >=97) AND (CHRIN<=100)) THEN CASE CHRIN OF AU,BU,CU,DU : WRITELN(OUTPUT,'UPPERCASE'); AL,BL,CL,DL : WRITELN(OUTPUT,'LOWERCASE'); END END UNTIL EOF(INPUT) END. ÿINTGET.û½½*þ9ŒPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; I : INTEGER; FUNCTION NUMB( STR : ALPHANUMERIC) : INTEGER; LABEL 1,2; VAR I,LEN,FNUMB : INTEGER; BEGIN FNUMB := 0; I :=1; LEN := LENGTH(STR); WRITELN('LEN=',LþB�EN); 1: IF I <= LEN THEN IF ORD(STR[I]) IN [9,32] THEN BEGIN I := I+1;GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB); FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); Iþ·#Ø := I+1; NUMB := FNUMB; GOTO 2 END ELSE EXIT(NUMB) ELSE EXIT(NUMB) END; BEGIN REPEAT BEGIN READLN(STR); WRITELN(' ',NUMB(STR),'=NUMB'); END; UNTIL EOF(INPUT); END. ÿPETTYPRIN.01ûÜI þ=)PROGRAM PRETTYPRINT ( (* FROM *) INPUT, (* TO *) OUTPUT ); CONST MAXSYMBOLSSIZE = 200; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A*) (* SYMBOL SCANNED BY THE LEXICAL SCANNER. *) MAXSTACKSIZE = 100; (* THE MAXIMUM NUMBER OF SYMBOLS CAUSING *) þ3ò (* INDENTATION THAT MAY BE STACKED. *) MAXKEYLENGTH = 10; (* THE MAXIMUM LENGTH (IN CHARACTERS) OF A *) (* PASCAL RESERVED KEYWORD. *) MAXLINESIZE = 72; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A *) (* LINE OUTPUT BY THE PþBRETTYPRINTER. *) SLOFAIL1 = 30; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENþµETBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT2". BEYOND *) (* THIS, NO INDENTATION OCCURS. INDENT1 = 3;  INDENT2 = 1; SPACE = ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYþÚ†PESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLþK‹OSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE,  SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); OPTIONSET = SET OF OPTION KEYSYMSET =þßò SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; KEY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAR; KEYWORDTþ@ôABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; SGLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OF CHAR; STRþ>7ING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO = ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLANK, QUOTE, þHí ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTACK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRY; VAR RECOþ«ýRDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBOLSTACK; TOP,þá (*STARTING POSITION OF LAST SYMBOL WRITTEN *) STARTPOS, CURRLINEPOS, CURRMARGIN : INTEGER; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTþž(ION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYþd&MBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM,  COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLþ³hS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OPENPAREN ] DOþн BEGIN OPTIONSSELECTED := [ GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ CLOSEPAREN] END; WITH PPOPTION [ CLOSEPAREN ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] ENþ�D; WITH PPOPTION [ PERIOD ] DO BEGIN OPTIONSSELCTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDOFFILE ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATþNhORS := [] END; WITH PPOPTION [ OTHERSYM ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMNATORS := [] END END; (* INITIALIZE *) FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP =þù 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; (* STACKEMPTY *) FUNCTION STACKFULL (* RETURNING *) : BOOLEAN; BEGIN (* STACKFULL *) IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; (* STACKFULL *) Pþ ÖROCEDURE POPSTACK( (* RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN (* POPSTACK *) IF NOT STACKEMPTY THEN BEGIN INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP þ¿>- 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; (* POPSTACK *) PROCEDURE PUSHSTACK( (* USING *) INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN (* PUSHSTACK *) TOP := TOP + 1 STACK[TOP].INDENTSþoüYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; (* PUSHSTACK *) PROCEDURE WRITECRS( (* USING *) NUMBEROFCRS : INTEGER; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED THIS þbxIS SMALL I) BEGIN (* WRITECRS *) IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; (* WRITECRS *) PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITIþúÔNG TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTER *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INþ!•SERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURþ ÌRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( TWICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATINþêTG *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* INSERTBLANKLINE *) PROCEDURE LSHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* LSHIFTON *) IF NOT STACKEMPTY THEN BEGþÓIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN þ$íPUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) END END; (* LSHIFTON *) PROCEDURE LSHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* LSHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, þ�p PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; (* LSHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUþ¨TPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER;  (* FROM *) VAþqþR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPþç OS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SYMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 Tþ_ O LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *) CURRLINEPOS := CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURþ¶RSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IFþ¹6 (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CUþ•ÔRRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS,þ·X (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRINTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FþN ORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME );þIB WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) LSHIFT þ‹ END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *) IF STARTPOS > CUþ@4RRMARGIN (* <<< *) THEN (* <<< *) CURRMARGIN := STARTPOS; (* <<< *) IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRþìLMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; (* RSHIFT *) PROCEDURE RSHIFTTOCLP; BEGIN (* RSHIFTTOCLP *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; (* RSHIFTTþÿ OCLP *) BEGIN (* PRETTYPRINT *) INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYþú5MBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSþ¿ØYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEþ>FN LSHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN LSHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPþˆ-ACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( (* USING *) CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSþ*YM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRSYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (þJ/2* WITH *) END; (* WHILE *) IF CRPENDING THEN WRITELN(OUTPUT) END. ÿCDC6000.PAû½½ þ¤Á(******************************************************************************* PASCAL PROGRAM FORMATTER ------------------------ AUTHOR: MICHAEL N. CONDICT, L975 LEHIGH UNIVERSITY CURRENT þýþADDRESS: PAR CORP  228 LIBERTY PLAZA ROME, NY 13440 UPDATED: AUGUST, 1978 ***************************************************************************** ) PROGRAM FORMAT(INPUT,OUTPUT); LABEL 13; CONST ALFALENG = 10; ( !!!!!!!!þâ IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( MINIMUM AND MAXIMUM CHAR VALUES. ) MINCHAR = 0 MAXCHAR = 127; LASTPASCSYMBOL = 29; ( THE FOLLOWING CONSTANTS MUST ALL BE CHANGED TOGETHER, SO THAT THEIR VALUES AGREE WITH THEIR NAMES: ) BUFFERSIZE = 160; BUþ¦…FFSZP1 = 161; BUFFSZM1 = 159; BUFFSZDIV10 = 16; ( ) MAXREADRIGHTCOL = 999; MAXWRITERIGHTCOL = 72; TYPE ALFA = PACKED ARRAY [1 .. ALFALENG] OF CHAR; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( SET SIZE MAY NOT ALLOW SET OF CHAR. ) þ \ CHARSET = SET OF CHAR; STATMNTTYPES = (FORWITHWHILESTATEMENT, REPEATSTATEMENT, IFSTATEMENT, CASESTATEMENT, COMPOUNDSTATEMENT, OTHERSTATEMENT); SYMBOLS = (PROGSYMBOL, COMMENT, BEGINSYMBOL, ENDSYMBOL, SEMICOLON, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBþQOL, COLONSYMBOL, EQUALSYMBOL, PERIODSYMBOL, RANGE, CASESYMBOL, OTHERSYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LEFTBþªãRACKET, RIGHTBRACKET, COMMASYMBOL, LABELSYMBOL, LEFTPARENTH, RIGHTPARENTH, ALPHAOPERATOR); WIDTH = 0 ..BUFFERSIZE; MARGINS = - 100 ..BUFFERSIZE; SYMBOLSET = SET OF SYMBOLS; OPTIONSIZE = - 99 .. 99; COMMENTTEXT = ARRAY [1 .. BUFFSZDIV10] Oþ?TF ALFA; SYMBOLSTRING = ARRAY [WIDTH] OF CHAR; VAR CHISEOL, NEXTCHISEOL: BOOLEAN; I: INTEGER (USED AS FOR LOOP INDEX); CHARACTER: CHAR; READCOLUMN, READRIGHTCOL: 0 .. 1000; OUTPUTCOL, WRITECOLUMN, LEFTMARGIN, ACTUALLEFTMARGIN, READLEFTCOL, WþéRITELEFTCOL, WRITERIGHTCOL: MARGINS; DISPLAYISON, PROCNAMESWANTED, ENDCOMMENTSWANTED, PACKERISOFF, SAVEDBUNCH, BUNCHWANTED, NOFORMATTING: BOOLEAN; LINENUMBER, INCREMENT: INTEGER; INDENTINDEX, LONGLINEINDENT, SYMBOLGAP,  DECLARALIGNMENT, STþ0!ATMTSEPARATION, PROCSEPARATION: OPTIONSIZE; LASTSYMBOL, SYMBOLNAME: SYMBOLS; ALPHASYMBOLS, ENDLABEL, ENDCONST, ENDTYPE, ENDVAR: SYMBOLSET; SYMBOL: SYMBOLSTRING; LENGTH: WIDTH; SYMBOLISNUMBER, LASTPROGPARTWASBODY: BOOLEAN; DIGITS, LETTEþRSANDDIGITS: CHARSET; OLDEST: WIDTH; CHARCOUNT: INTEGER (* COUNT OF TOTAL CHARS READ, BUT IS OFF BY BUFFERSIZE AFTER END OF FIRST BODY. IT IS IMPERATIVE THAT CHARCOUNT BE MONOTONICALLY INCREASING DURING PROCESSING OF A BODY, AND THAT IT NEVER þÅRETURN TO A VALUE <- BUFFERSIZE, AFTER PASSING THAT POINT. THUS "DOBLOCK" MAY RESET IT AS LOW AS POSSIBLE, LIMITING THE LENGTH OF A PROCEDURE TO "MAXINT - BUFFERSIZE" CHARACTERS. }; MAIN: COMMENTTEXT; MAINNMLENGTH: WIDTH; BLANKS, ZEROES: ALFþaQA; UNDERWRITTEN: ARRAY (WIDTH) OF RECORD CH: CHAR; CHISENDLINE: BOOLEAN INDENTAFTEREOL: MARGINS END; PASCALSYMBOL: ARRAY [1 ..LASTPASCSYMBOL] OF ALFA; PASCSYMBOLNAME: ARRAY [1 ..LASTPASCSYMBOL] OF SYMBOLS; NAMEOF: ARRAY [CHAR]þqÞ OF SYMBOLS; STATEMENTTYPEOF: ARRAY [SYMBOLS] OF STATMNTTYPES; PROCEDURE CONSTANTSINITIALIZATION; BEGIN MAIN[1] := 'MAIN '; MAINNMLENGTH := 4; BLANKS := ' '; ZEROES := '0000000000'; FOR I := 0 TO BUFFSZM1 DO WITH UNWRITTEN[I] DO BEGIN CH := 'Aþ™'; CHISENDLINE := FALSE; INDENTAFTEREOL := 0 END; FOR CHARACTER := CHR(MINCHAR) TO CHR(MAXCHAR) DO NAMEOF[CHARACTER] := OTHERSYMBOL; CHARACTER := ' '; NAMEOF['('] := LEFTPARENTH; NAMEOF[')'] := RIGHTPARENTH; NAMEOF['='] := EQUALSYMBOL; NAMEOF[','] :þ#Ë= COMMASYMBOL; NAMEOF['.'] := PERIODSYMBOL; NAMEOF['['] := LEFTBRACKT; NAMEOF[']'] := RIGHTBRACKET; NAMEOF[':'] := COLONSYMBOL; NAMEOF['<'] := EQUALSYMBOL; NAMEOF['>'] := EQUALSYMBOL; NAMEOF[';'] := SEMICOLON; PASCALSYMBOL[1] := 'PROGRAM '; PASCALSYMþ½ BOL[2] := 'BEGIN '; PASCALSYMBOL[3] := 'END '; PASCALSYMBOL[4] := 'CONST '; PASCALSYMBOL[5] := 'TYPE '; PASCALSYMBOL[6] := 'VAR '; PASCALSYMBOL[7] := 'RECORD '; PASCALSYMBOL[8] := 'CASE '; PASCALSYMBOL[9] := 'IF '; PASCAþÌLSYMBOL[10] := 'THEN '; PASCALSYMBOL[11] := 'ELSE '; PASCALSYMBOL[12] := 'DO '; PASCALSYMBOL[13] := 'OF '; PASCALSYMBOL[14] := 'FOR '; PASCALSYMBOL[15] := 'WHILE '; PASCALSYMBOL[16] := 'WITH '; PASCALSYMBOL[17] := 'REPEAT 'þÜÀ; PASCALSYMBOL[18] := 'UNTIL '; PASCALSYMBOL[19] := 'PROCEDURE '; PASCALSYMBOL[20] := 'FUNCTION '; PASCALSYMBOL[21] := 'LABEL '; PASCALSYMBOL[22] := 'IN '; PASCALSYMBOL[23] := 'MOD '; PASCALSYMBOL[24] := 'DIV '; PASCALSYMBOL[25] :=þY` 'AND '; PASCALSYMBOL[26] := 'OR '; PASCALSYMBOL[27] := 'NOT '; PASCALSYMBOL[28] := 'ARRAY '; PASCALSYMBOL[29] := 'NOSYMBOL '; PASCSYMBOLNAME[1] := PROGSYMBOL; PASCSYMBOLNAME[2] := BEGINSYMBOL; PASCSYMBOLNAME[3] := ENDSYMBOL; PASCSYMBþy`OLNAME[4] := CONSTSYMBOL; PASCSYMBOLNAME[5] := TYPESYMBOL; PASCSYMBOLNAME[6] := VARSYMBOL; PASCSYMBOLNAME[7] := RECORDSYMBOL; PASCSYMBOLNAME[8] := CASESYMBOL; PASCSYMBOLNAME[9] := IFSYMBOL; PASCSYMBOLNAME[10] := THENSYMBOL; PASCSYMBOLNAME[11] := ELSESYMþËlBOL; PASCSYMBOLNAME[12] := DOSYMBOL; PASCSYMBOLNAME[13] := OFSYMBOL; PASCSYMBOLNAME[14] := PASCSYMBOLNAME[15] := WHILESYMBOL; PASCSYMBOLNAME[16] := WITHSYMBOL; PASCSYMBOLNAME[17] := REPEATSYMBOL; PASCSYMBOLNAME[18] := UNTILSYMBOL; PASCSYMBOLNAME[19þö»] := PROCSYMBOL; PASCSYMBOLNAME[20] := FUNCSYMBOL; PASCSYMBOLNAME[21] := LABELSYMBOL; PASCSYMBOLNAME[29] := IDENTIFIER; FOR I := 22 TO 28 DO PASCSYMBOLNAME[I] := ALPHAOPERATOR; FOR SYMBOLNAME := PROGSYMBOL TO ALPHAOPERATOR DO STATEMENTTYPEOF[SYMBOLNAþeuME] := OTHERSTATEMENT; STATEMENTTYPEOF[BEGINSYMBOL] := COMPOUNDSTATEMENT; STATEMENTTYPEOF[CASESYMBOL] := CASESTATEMENT; STATEMENTTYPEOF[IFSYMBOL] := IFSTATEMENT; STATEMENTTYPEOF[FORSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WHILESYMBOL] := FORWþæ�ITHWHILESTATEMENT; STATEMENTTYPEOF[WITHSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[REPEATSYMBOL] := REPEATSTATEMENT; END (CONSTANTSINITIALIZATION); PROCEDURE WRITEA(CHARACTER: CHAR); VAR I: WIDTH; TESTNO: INTEGER; BEGIN CHARCOUNT :=þ5› CHARCOUNT + 1; OLDEST := CHARCOUNT MOD BUFFERSIZE; WITH UNWRITTEN[OLDEST] DO BEGIN IF CHARCOUNT > BUFFSZP1 THEN BEGIN IF CHISENDLINE THEN BEGIN IF IDENTAFTEREOL < O THEN BEGIN WRITE(BLANKS: - INDENTAFTEREOL); OUTPUTCOL := OUTPUTCOL - IDENTAFTþEREOL; END ELSE BEGIN IF INCREMENT < O THEN BEGIN I := WRITERIGHTCOL - OUTPUTCOL + 1; IF I > O THEN WRITE(BLANKS: I);  TESTNO := LINENUMBER; I := O REPEAT TESTNO := TESTNO DIV 10; I := I + 1; UNTIL TESTNO - O; WRITE(ZEROES: (6 - I), LINENUMBER:þ I); LINENUMBER := LINENUMBER - INCREMENT; IF LINENUMBER > 9999 THEN LINENUMBER := LINENUMBER - 10000; WRITELN; END ELSE BEGIN WRITELN; IF INCREMENT > O THEN BEGIN WRITE(LINENUMBER: 4, ' '); LINENUMBER := LINENUMBER + INCREMENT; END END IF þÍðIDENTAFTEREOL > O THEN WRITE(BLANKS: IDENTAFTEREOL; OUTPUTCOL := IDENTAFTEREOL + 1; END; CHISENDLINE := FALSE;  END (IF CHISENDLINE) ELSE BEGIN WRITE(CH); OUTPUTCOL := OUTPUTCOL +1; END (ELSE); END (IF CHARCOUNT > ); CH := CHARACTER; WRITECOLUMN þðÒ:= WRITECOLUMN +1; END (WITH); END (WRITEA); PROCEDURE FLUSHUNWRITTENBUFFER; BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IDENTAFTEREOL := O; END; WRITECOLUMN := O; FOR I := O TO BUFFSZM1 DO WRITEA(' '); END *(FLUSHUþr8NWRITTENBUFFER)*; PROCEDURE STARTNEWLINEANDINDENT; BEGIN IF PACKERISOFF AND DISPLAYISON THEN BEGIN WRITEA(' '); LASTSYMBOL := PERIODSYMBOL; WITH UNWRITTEN [OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL + LEFTMARGIN - 1; þ) END; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN; END {IF PACKERISOFF}; END {STARTNEWLINEANDINDENT}; PROCEDURE READACHARACTER; BEGIN IF READCOLUMN > READRIGHTCOL THEN BEGIN IF READRIGHTCOL < MAXREADRIGHTCOL THEN BEGIN NEXTCHISEOL := TRUE; READLþ]ÈN END ELSE READCOLUMN := 2; END ELSE IF READCOLUMN = 1 THEN WHILE READCOLUMN < READLEFTCOL DO BEGIN IF EOLN(INPUT) THEN READCOLUMN := 1 ELSE BEGIN READCOLUMN := READCOLUMN + 1; GET(INPUT) END END; IF NEXTCHISEOL THEN BEGIN CHARACTER := ''; NEXþÖ�TCHISEOL := FALSE; CHISEOL := TRUE; READCOLUMN := 1; IF NOFORMATTING THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL - 1; END WRITECOLUMN := WRITELEFTCOL; END END ELSE IF NOT EOF(INþSRPUT) THEN BEGIN CHARACTER := INPUT ^; READCOLUMN := READCOLUMN +1; NEXTCHISEOL := EOLN(INPUT); GET(INPUT); CHISEOL := FALSE; IF NOFORMATTING THEN WRITEA(CHARACTER); END ELSE BEGIN FLUSHUNWRITTENBUFFER; GOTO 13 END END {READACHARACTER}; PROCEDUREþÿ  WRITESYMBOL; VAR I: WIDTH; NUMBER BLANKSTOWRITE: OPTIONSIZE; BEGIN IF DISPLAYISON THEN BEGIN NUMBERBLANKSTOWRITE := SYMBOLGAP; IF (LASTSYMBOL IN [LEFTPARENTH,LEFTBRACKET,PERIODSYMBOL]) OR (SYMBOLNAME IN [SEMICOLON, RIGHTPARENTH,RIGHTBRACþñNKET, COMMASYMBOL, PERIODSYMBOL, COLONSYMBOL]) OR (SYMBOLNAME IN [LEFTBRACKET, LEFTPARENTH]) AND (LASTSYMBOL = IDENTIFIER) THEN NUMBERBLANKSTOWRITE := O ELSE IF (SYMBOLNAME IN ALPHASYMBOLS) AND (LASTSYMBOL IN ALPHASYMBOLS) THEN IF WRITECOLUþUMN <= WRITERIGHTCOL THEN BEGIN WRITEA(' '); NUMBERBLANKSTOWRITE := SYMBOLGAP -1; END; IF WRITECOLUMN + LENGTH + NUMBERBLANKSTOWRITE -1> WRITERIGHTCOL THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IF PACKERISOþ5FF THEN BEGIN IF WRITELEFTCOL + LEFTMARGIN + LONGLINEINDENT + LENGTH -1> WRITERIGHTCOL THEN LENGTH := 10; INDENTAFTEREOL := WRITELEFTCOL -1 + LEFTMARGIN + LONGLINEINDENT; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN + LONGLINE INDENT; END EþÉÆLSE BEGIN IFLENGTH > WRITERIGHTCOL - WRITELEFTCOL + 1; THEN LENGTH := WRITERIGHT COL - WRITELEFTCOL + 1; INDENTAFTEREOL := WRITELEFTCOL - 1; WRITECOLUMN := WRITELEFTCOL; END; END {WITH}; END ELSE FOR I := 1 TO NUMBERBLANKSTOWRITE DO WRITEA(' '); þD%FOR I := 1 TO LENGTH DO WRITEA(SYMBOL[I]);  END {IF DISPLAYISON}; LASTSYMBOL := SYMBOLNAME; END {WRITESYMBOL}; PROCEDURE COPYACHARACTER; BEGIN IF DISPLAYISON THEN BEGIN IF WRITECOLUMN > WRITERIGHTCOL THEN BEGIN WHILE (CHARACTER = ' ') AND NOT þý…CHISEOL DO READACHARACTER; IF NOT CHISEOL THEN STARTNEWLINEANDINDENT; END; IF CHISEOL THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END ELSE WRITEA(CHARACTER); END; READACHARACTER END {COPYACHARACTER}L1Tþâ ; PROCEDURE DOFORMATTERDIRECTIVES; CONST INVALID = - 1; TYPE PARAMCOUNT = 1 .. 2; PARAMS = ARRAY [PARAMCOUNT] OF INTEGER; VAR SPECIFICATION: PARAMS; FORMATOPTION: CHAR; PREVDISPLAY, PREVNOFORMATTING: BOOLEAN; ENDDIRECTV: CHARSET; PRþ4°OCEDURE READIN(N: PARAMCOUNT; VAR SPCIFICATION: PARAMS); VAR I: PARAMCOUNT; BEGIN FOR I := 1 TO N DO BEGIN WHILE NOT (CHARACTER IN (DIGITS + ENDDIRECTV)) DO COPYACHARACTER; SPECIFICATION[I] := O; IF NOT (CHARACTER IN ENDDIRECTV) THEN REPEAþAsT SPECIFICATION [I] := 10 * SPECIFICATION[I] + ORD(CHARACTER) - ORD('O'); COPYACHARACTER; UNTIL NOT (CHARACTER IN DIGITS) ELSE SPECIFICATION[I] := INVALID; END {FOR}L1T; END {READIN}L1T; BEGIN {DOFORMATTERDIRECTIVES}L1T ENDDIRECTV := ['*',þ¥ç ']']; REPEAT IF CHARACTER IN ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'P', 'R', 'S', 'W'] THEN BEGIN FORMATOPTION := CHARACTER; CASE FORMATOPTION OF 'A', 'E', 'I', 'G', 'P', 'L', 'S': BEGIN READIN(1, SPECIFICATION); IF (SPECIFICATþÂ4ION[1]  1; ENDCOMMENTSWANTED := ODDþ#™(SPECIFICATION[1]); END 'G' : SYMBOLGAP := SPECIFICATION[1]; 'I' : INDENTINDEX := SPECIFICATION[1]; 'L' : LONGLINEINDE***ECIFICATION[1]; 'P' : PROCSEPARATION := SPECIFICATION[1]; 'S' : STATMTSEPARATION := SPCIFICATION[1] END {CASE}L1T; END {SINGLE þ­¯PARAMETERS}L1T; 'W', 'R', 'N': BEGIN READIN(2, SPECIFICATION); IF SPECIFICATION[2] <> INVALID THEN CASE FORMATOPTION OF 'W': IF SPECIFICATION[1] > O) AND SPECIFICATION[2] < BUFFERSIZE -2) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8) THEN þ¿vBEGIN WRITELEFTCOL := SPECIFICATION[1]; WRITERIGHTCOL := SPECIFICATION[2]; END 'R': IF (SPECIFICATION[1] > O) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8 THEN BEGIN READLEFTCOL := SPECIFICATION[1]; READRIGHTCOL := SPECIFICATION[2];  END 'N': þ{íBEGIN LINENUMBER := SPECIFICATION[1]; INCREMENT := SPECIFICATION[2]; WHILE NOT (CHARACTER IN (['<'] + ENDDIRECTV)) AND (CHARACTER<> '>') DO COPYACHARACTER; IF CHARACTER = '>' THEN INCREMENT := - INCREMENT END END {CASE}; END {DOUBLE PARAMETERS}; þÞ– 'B', 'C', 'D', 'F': BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN (['+', '-'] + ENDDIRECTV); IF CHARACTER IN ['+', '-'] THEN CASE FORMATOPTION OF 'B': IF DISPLAYISON THEN BUNCHWANTED := CHARACTER = '+'; 'C': PACKERISOFF := CHARACTER = '-';þ½C 'D': BEGIN PREVDISPLAY := DISPLAYISON; DISPLAYISON := CHARACTER = '+'; IF PREVDISPLAY AND NOT DISPLAYISON THEN BEGIN WRITEA('*'); WRITEA(')'); SAVEDBUNCH := BUNCHWANTED; BUNCHWANTED := FALSE; END ELSE IF NOT PREVDISPLAY AND DISPLAYISON THEN þûsBEGIN STARTNEWLINEANDINDENT; WRITEA('('); WRITEA'_('*'); BUNCHWANTED := SAVEDBUNCH; END {IF NOT PREV}; END {'D':}; 'F': BEGIN PREVNOFORMATTING := NOFORMATTING; NOFORMATTING := CHARACTER = '-'; DISPLAYISON := NOT NOFORMATTING IF PREVNOFORMATTING þ‹]AND NOT NOFORMATTING THEN READACHARACTER; IF NOT PREVNOFORMATTING AND NOFORMATTING THEN WRITEA('-'); END; END {CASE}; END {BOOLEAN PARAMETERS} END {CASE}; END {THEN} ELSE IF NOT (CHARACTER IN ENDDIRECTV) THEN COPYACHARACTER; UNTIL CHARACTER IN EþÒ#NDDIRECTV; IF (CHARACTER = ']') THEN COPYACHARACTER; END {DOFORMATTERDIRECTIVES}; PROCEDURE READSYMBOL; CONST READNEXTCH = TRUE; DONTREADNEXTCH = FALSE; VAR TESTSYMBOL: ALFA; CHARNUMBER: WIDTH;  I: WIDTH; PROCEDURE SKIPCOMMENT; BEGIN Rþ¾®EPEAT WHILE CHARACTER <> '*' DO READACHARACTER; READACHARACTER UNTIL CHARACTER = ')'; READACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL END {SKIPCOMMENT}; PROCEDURE DOCOMMENT; VAR I: OPTIONSIZE; PROCEDURE COMPILERDIRECTIVES; BEGIN REPEAT COPþ ýYACHARACTER; UNTIL CHARACTER IN ['[', '*'] END {COMPILERDIRECTIVES}; BEGIN {DOCOMMENT} BEGIN IF LASTSYMBOL IN [COMMENT, SEMICOLON] THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END; WRITESYMBOL; IF CHARACTER þ!= '$' THEN COMPILERDIRECTIVES; IF CHARACTER = '[' THEN DOFORMATTERDIRECTIVES; REPEAT WHILE CHARACTER <> '*' DO COPYACHARACTER; COPYACHARACTER; UNTIL CHARACTER = ')'; COPYACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL; END; END {DOCOMMENT}; PROCEþË9DURE CHECKFOR(SECONDCHAR: CHAR; TWOCHARSYMBOL: SYMBOLS; READALLOWED: BOOLEAN); BEGIN IF READALLOWED THEN BEGIN LENGTH := 1; SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; READACHARACTER; END; IF CHARACTER = SECONDCHAR THEN BEGIN SYMBþ½OL[2] := CHARACTER; LENGTH := 2; SYMBOLNAME := TWOCHARSYMBOL; READACHARACTER; IF (NOT PACKERISOFF) AND (SYMBOLNAME = COMMENT) THEN LENGTH := O END END {CHECKFOR}; BEGIN {READSYMBOL} IF (CHARACTER IN ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'þÔÇ, 'K','L','M','N','O','P','Q','R','S','T','U','V','W', 'X','Y','Z','0' ..'9','','(', '.', ':'. '''', '<', '>']) THEN CASE CHARACTER OF '(': BEGIN CHECKFOR('*', COMMENT, READNEXTCH); IF (SYMBOLNAME = COMMENT) AND PACKERISOFF THEN DOCOMMENT ELSE IF þZ­SYMBOLNAME = COMMENT THEN SKIPCOMMENT; END; 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z': BEGIN CHARNUMBER := 1; SYMBOLISNUMBER := FALSE; REPEAT SYMBOL[CHARNUMBER] þó[:= CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN LETTERSANDDIGITS); LENGTH := CHARNUMBER -1; FOR CHARNUMBER := CHARNUMBER TO ALFALENG DO SYMBOL[CHARNUMBER] := ''; PACK(SYMBOL, 1, TESTSYMBOL); I := 1; PASCALSYMBOL[Lþ-ASTPASCSYMBOL- := TESTSYMBOL; WHILE PASCALSYMBOL[I] <> TESTSYMBOL DO I := I + 1; SYMBOLNAME := PASCSYMBOLNAME[I]; END {LETTER}; '0', '1', '2', '3', '4', '5','6', '7', '8', '9': BEGIN SYMBOLISNUMBER := TRUE; CHARNUMBER := 1; REPEAT SYMBOL[CHARNUMBEþÙÃR] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS + ['.']); IF CHARACTER IN 1'B', 'E'] THEN BEGIN SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1; IF CHARACTER IN DIGITS + ['+þ‡', '-'] THEN REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS) END LENGTH := CHARNUMBER - 1; SYMBOLNAME := IDENTIFIER; END {NUMBER}; '': BEGIN REPEAT READACHARACTER UNTIL CHARACTEþCnR <> ''; READSYMBOL END; '>', ':': CHECKFOR('=', OTHERSYMBOL, READNEXTCH): '<': BEGIN CHECKFOR('=', OTHERSYMBOL, READNEXTCH); IF SYMBOLNAME <> OTHERSYMBOL THEN CHECKFOR('>', OTHERSYMBOL, DONTREADNEXTCH); END '.': IF LASTSYMBOL <> ENDSYMBOL THEN CþšEHECKFOR('.', RANGE, READNEXTCH) ELSE SYMBOLNAME := PERIODSYMBOL; '''': BEGIN CHARNUMBER := 1; REPEAT REPEAT SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER +1; READACHARACTER; UNTIL CHARACTER = ''''; SYMBOL[CHARNUMBER] := CHARACTER; CHþ2•ARNUMBER := CHARNUMBER + 1; READACHARACTER; UNTIL CHARACTER <>''''; LENGTH := CHARNUMBER -1; SYMBOLNAME := OTHERSYMBOL; IF LENGTH > WRITERIFHTCOL - WRITELEFTCOL +1 THEN BEGIN FLUSHUNWRITTENBUFFER; WRITELN; WRITELN('***STRING TOO LONG.'); GOTO 13 EþþkND; END {STRING} END {CASE} ELSE BEGIN SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; LENGTH := 1; READACHARACTER END END {READSYMBOL}; PROCEDURE CHANGEMARGINTO(NEWLEFTMARGIN: MARGINS); VAR INDENTEDLEFTMARGIN: MARGINS; BEGIN ACTþߦUALLEFTMARGIN := NEWLEFTMARGIN; LEFTMARGIN := NEWLEFTMARGIN; IF LEFTMARGIN < O THEN LEFTMARGIN := O ELSE BEGIN INDENTEDLEFTMARGIN := WRITERIGHTCOL - 9 - LONGLINEINDENT; IF LEFTMARGIN > INDENTEDLEFTMARGIN THEN LEFTMARGIN := IDENTEDLEFTMARGIN END ENDþ=¾ {CHANGEMARGINTO}; PROCEDURE DODECLARATIONUNTIL(ENDDECLARATION: SYMBOLSET); PROCEDURE DOPARANTHESES; VAR SAVEDLGLNID: OPTIONSIZE; BEGIN SAVEDLGLNID := LONGLINEINDENT; IF DECLARALIGNMENT >O THEN BEGIN LONGLINEINDENT := WRITECOLUMN + SYMBOLGAPþo� +1 - LEFTMARGIN - WRITELEFTCOL; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; END ELSE BEGIN LONGLINEINDENT := 1; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; REPEAT WRIþAjTESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN = INDENTINDEX); END {ELSE}; LONGLINEINDENT := SAVELGLNID; END {DOPARENTHESES}; PROCEDURE DOFIELDLISTUNTIL(ENDFIELDLIST: SYMBOLSET); þ¬5VAR LASTEOL: MARGINS; ALIGNCOLUMN: WIDTH; PROCEDURE DORECORD; VAR SAVEDLEFTMARGIN: WIDTH; BEGIN SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(WRITECOLUMN - 6 + INDENTINDEX - WRITELEFTCOL); STARTNEWLINEANDINDENT; þ7+DOFIELDLISTUNTIL([ENDSYMBOL]); CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END {DORECORD}; PROCEDURE DOVARIANTRECORDPART; VAR SAVEDLEFTMARGIN, OTHERSAVEDMARGIN: þ3MARGINS; BEGIN OTHERSAVEDMARGIN := ACTUALLEFTMARGIN; IF DECLARALIGNMENT > O THEN BEGIN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [COLONSYMBOL, OFSYMBOL]; IF SYMBOLNAME = COLONSYMBOL THEN BEGIN WRITESYMBOL; READSYMBOL; WITH UNWRITTEN[þÓºLASTEOL] DO BEGIN IDENTAFTEREOL := IDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITECOLUMN := ALIGNCOLUMN; CHANGEMARGINTO(ACTUALLEFTMARGIN + ALIGNCOLUMN - WRITECOLUMN); END END IF SYMBOLNAME <> Oþê-FSYMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = OFSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN+ IDENTINDEX); REPEAT WRITESYMBOL; READSYMBOL; IF SYMBOLNAME <> ENDSYMBOL THEN BEGIN STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; þ�ÎUNTIL SYMBOLNAME IN [LEFTPARENTH, SEMICOLON, ENDSYMBOL]; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; READSYMBOL; SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; CHANGEMARGINTO(WRITECOLUMN - WRITELEFTCOL); DOFIELDLISTUNTIL([RIGHTPARENTH]); WRITESYMBOL; þŒs READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END;  END; UNTIL SYMBOLNAME <> SEMICOLON; CHANGEMARGINTO(OTHERSAVEDMARGIN); END {DOVARIANTRECORDPART}; BEGIN {DOFIELDLISTUNTIL}; LASTEOL := OLDEST; IF LASTSYMBOL = LEFTPARENTH THEN FOR I := 1 TO DECLþíÿARALIGNMENT - LENGTH DO WRITEA(''); ALIGNCOLUMN := LEFTMARGIN + WRITELEFTCOL + DECLARALIGNMENT + 1; WHILE NOT (SYMBOLNAME IN ENDFIELDLIST) DO BEGIN IF LASTSYMBOL IN [SEMICOLON, COMMENT] THEN IF SYMBOLNAME <> SEMICOLON THEN BEGIN STARTNEWLINEANDINDENTþÉ; LASTEOL := OLDEST END; IF SYMBOLNAME IN [RECORDSYMBOL, CASESYMBOL, LEFTPARENTH, COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL] THEN CASE SYMBOLNAME OF RECORDSYMBOL- DORECORD; CASESYMBOL: DOVARIANTRECORDPART; LEFTPARENTH: DOPARENTHESES; COMMASYMBOL, CþÀÌOLONSYMBOL, EQUALSYMBOL: BEGIN WRITESYMBOL; IF DECLARALIGNMENT > O THEN IF NOT (ENDLABEL <= ENDFIELDLIST) THEN BEGIN WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := INDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAþ†=FTEREOL := O; WRITECOLUMN := ALIGNCOLUMN; END; IF SYMBOLNAME = COMMASYMBOL THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST; END; AND {IF DECLARALIGNMENT}; READSYMBOL; END { , : - } END {CASE} ELSE BEGIN WRITESYMBOL; READSYMBOL END; END {WHþÍILE}; END {DOFIELDLISTUNTIL}; BEGIN {DODECLARATIONUNTIL} STARTNEWLINEANDINDENT; WRITESYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; READSYMBOL; DOFIELDLISTUNTIL(ENDDECLARATION); STARTNEWLINEANDINDENT; CHANGEMARGINTO(þ7ÅACTUALLEFTMARGIN - INDENTINDEX); END {DODECLARATIONUNTIL}; PROCEDURE DOBLOCK(BLOCKNAME: COMMENTEXT; BLOCKNMLENGTH: WIDTH); VAR I: WIDTH; IFTHENBUNCHNEEDED: BOOLEAN; ATPROCBEGINNIN: BOOLEAN; PROCEDURE DOPROCEDURES; VAR I: O .. 20; PRþÝÔOCNAME: COMMENTTEXT; PROCNMLENGTH: WIDTH; BEGIN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, I * ALFALENG +1, PROCNAME[I + 1]); PROCNMþBàLENGTH := LENGTH; WRITESYMBOL; READSYMBOL; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; REPREAT READSYMBOL; WRITESYMBOL UNTIL SYMBOLNAME = RIGHT PARENTH; READSYMBOL; END; IF SYMBOLNAME = COLONSMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTILþÐÎ SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; LASTPROGPARTWASBODY := FALSE; DOBLOCK(PROCNAME, PROCNMLENGTH); LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENþùTINDEX); WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; END {DOPROCEDURES}; PROCEDURE DOSTATEMENT(VAR ADDEDBLANKS: WIDTH; STATMTSYMBOL: COMMENTTEXT; STMTSYMLENGTH: WIDTH); VAR I:WIDTH; STATMTBEGINNING: INTEGER; STATMTPART: ARRAY [1..4] OF INþø‚TEGER; BLKSONCURRNTLINE, BLKSADDEDBYTHISSTMT: INTEGER; SUCCESSFUL: BOOLEAN; PROCEDURE BUNCH(BEGINNING, BREAKPT, ENDING: INTEGER; STATMTSEPARATION: OPTIONSIZE); BEGIN IF BUNCHWANTED OR IFTHENBUNCHNEEDED THEN BEGIN IF STMTSEPARATION <1 THEN STþË:ATMTSEPARATION := 1; BLKSONCURRNTLINE := BLKSONCURRNTLINE + STATMTSEPARATION - 1; SUCCESSFUL := (ENDING - BEGINNING + BLKSONCURRNTLINE + UNWRITTEN[BEGINNING MOD BUFFERSIZE]. IDENTAFTEREOL) < WRITERIGHTCOL) AND (CHARCOUNT - BEGINNING ENDLIST THEN BEGIN IF PROCNAMESWANTED THEN IF ATPROCBEGINNING THEN IF LASTPROGPARTWASBODY THEN IF LASTSYMBOL = BEGþDdINSYMBOL THEN WRITECOMMENT; ATPROCBEGINNING := FALSE; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSAFTERPRT2 := ADDEDBLANKS; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; WHILE SYMBOLNAME <> ENDLIST DO BEGIN WRITESMBOþWL; READSYMBOL; IF SYMBOLNAME <> ENDLIST THEN BEGIN STATMTPART[3] := CHARCOUNT + 1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS + BLKSAFTERPRT2; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANþEDKS; BUNCH(STATMTPART[2], STATMTPART[3], CHARCOUNT, STATMTSEPARATION); IF NOT SUCCESSFUL THEN BEGIN BLKSAFTERPRT2 := ADDEDB;AMLS\ STATMTPART[2] := STATMTPART[3]; END ELSE BLKSAFTERPRT2 := BLKSONCURRNTLINE; END; END {WHILE SYMBOLNAME <> ENDLIST}; þ‰Ç END {IF SYMBOLNAME <> ENDLIST}; BLKSONCURRNTLINE := BLKSADDEDBYTHISSTATMT; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP9; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [SEMICOLONþí´, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL, PERIODSYMBOL]; IF SUCCESSFUL THEN BEGIN IF ENDLIST = UNTILSYMBOL THEN STATMTPART[4] := STATMTSEPARATION ELSE STATMTPART[4] := SYMBOLGAP; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTPART[4]; Eþž«ND {IF SUCCESSFUL}; IF NOT (SUCCESSFUL AND BUNCHWANTED) THEN IF ENDLIST = ENDSYMBOL THEN IF LASTSYMBOL = ENDSYMBOL THEN IF ATPROCEND AND PROCNAMESWANTED THEN WRITECOMMENT ELSE IF ENDCOMMENTSWANTED THEN WRITECOMMENT; END {DOSTMTLIST}; BEGIN {DOSTAþ*eTEMENT) BLKSONCURRNTLINE := O; SUCCESSFUL := FALSE; BLKSADDEDBYTHISSTMT := O; CHANGEMARGINTO(ACTUALLEFTMARGIN + IDENTINDEX); STARTNEWLINEANDINDENT; STATMTBEGINNING := CHARCOUNT; IF SYMBOLISNUMBER THEN BEGIN WITH UNWRITTEN[OLDEST] DO BEGIN INDENTþÁÜAFTEREOL := IDENTAFTEREOL - 1 LENGTH - SYMBOLGAP; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITESYMBOL; READSYMBOL {WRITE LABEL}; WRITESYMBOL; READSYMBOL {WRITE COLON}; END FORWITHWHILESTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); Sþ],TMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = DOSYMBOL; WRITESYMBOL; READSYMBOL; STATMTPART[1] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := BLKSONCURRNTLINE + ADDEDBLANKS; BLKþ²õSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP); END; REPEATSTATEMENT: DOSTMTLIST (UNTILSYMBOL); IFSTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT þ–[WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = THENSYMBOL; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[2] := CHARCOUNT +1; DOSTATMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BþŠ™LKSADDEDBYTHISSTMT := ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTSEPARATION) ELSE IFTHENBUNCHNEEDED := TRUE; IF SYMBOLNAME = ELSESYMBOL THEN BEGþ‘³IN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; IFTHENBUNCHNEEDED := FALSE; STARTNEWLINEANDINDENT; STATMTPART[3] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[4] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH)þ‰C; BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STMTPART[3], STATMTPART[4], CHARCOUNT, SYMBOLGAP); BLKSONCURRNTLINE := BLKSADDEDBYTHISSTMT; IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[3], þAdCHARCOUNT, STATMTSEPARATION); END ELSE IF (CHARCOUNT - STATMTBEGINNING) < BUFFERSIZE THEN BEGIN BUNCHWANTED := NOT BUNCHWANTED; BLKSONCURRNTLINE := O; BUNCH(STATMTBEGINNING, STATMTPART[1], STATMTPART[2], SYMBOLGAP); BUNCHWANTED := NOT BUNCHWANTþ¡¡ED; END; IFTHENBUNCHNEEDED := FALSE; END {IFSTATEMENT}; CASESTATEMENT; BEGIN REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = OFSYMBOL; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); WHILE SYMBOLNAME <> ENDSYMBOL DO BEþÙ3GIN STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), STATMTSYMBOL[I + 1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = COLONSYMBOL; WRITESþA5YMBOL; READSYMBOL; IF NOT (SYMBOLNAME IN [SEMICOLON, ENDSYMBOL]) THEN BEGIN STATMTPART[2] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDþdBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); END {IF NOT(SYMBOLNAME...)}; IF SYMBOLNAME - SEMICOLON THEN BEGIN WRITESYMBOL; READSYMBOL; END; END; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); STARTNEWLINEANDINDENT; WRITESYMBOþ™©L; READSYMBOL; IF ENDCOMMENTSWANTED AND (LASTSYMBOL = ENDSYMBOL) THEN BEGIN STATMTSYMBOL[1] := 'CASE '; STMTSYMLENGTH := 4; WRITECOMMENT; END; END {CASESTATEMENT}; OTHERSTATEMENT; BEGIN WHILE NOT (SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, þ&� ELSESYMBOL]) DO BEGIN WRITESYMBOL; READSYMBOL END; END {OTHER}; COMPOUNDSTATEMENT: DOSTMTLIST(ENDSYMBOL) END {CASE}; ADDEDBLANKS := BLKSADDEDBYTHISSTMT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END {DOSTATEMENT}; BEGIN {DOBLOCK} LASTPROþ¸GPARTWASBODY := LASTPROGPARTWASBODY AND (SYMBOLNAME = BEGINSYMBOL); IF SYMBOLNAME = LABELSYMBOL THEN DODECLARATIONUNTIL(ENDLABEL); IF SYMBOLNAME = CONSTSYMBOL THEN DODECLARATIONUNTIL(ENDCONST); IF SYMBOLNAME = TYPESYMBOL THEN DODECLARATIONUNTIL(ENDTYPEþ1™); IF SYMBOLNAME = VARSYMBOL THEN DODECLARATIONUNTIL(ENDVAR); WHILE SYMBOLNAME IN [FUNCSYMBOL, PROCSYMBOL] DO DOPROCEDURES; IF SYMBOLNAME = BEGINSYMBOL THEN BEGIN IF LASTPROGPARTWASBODY THEN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; IþÛ FTHENBUNCHNEEDED := FALSE; ATPROCBEGINNING := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); DOSTATEMENT(I, BLOCKNAME, BLOCKNMLENGTH) { I IS DUMMY PARAM }; LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); END ELSE Bþ€¦EGIN WRITESMBOL; READSYMBOL {WRITE FORWARD} END END {DOBLOCK}; PROCEDURE INITIALIZE; VAR I: WIDTH; BEGIN { CONSTANTS: } DIGITS := ['O' .. '9']; LETTERSANDDIGITS := ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'Pþòµ', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + DIGITS; ALPHASYMBOLS := [PROGSYMBOL, BEGINSYMBOL, ENDSYMBOL, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, CASESYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL,þ¿ˆ REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LABELSYMBOL, ALPHAOPERATOR]; ENDLABEL := [CONSTSYMBOL, TYPESYMBOL, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, BEGINSYMBOL]; ENDCONST := ENDLABEL - [CONSTSYMBOL]; ENDTYPE := ENDCONST - þÎR[TYPESYMBOL]; ENDVAR := ENDTYPE - [VARSYMBOL]; { INITIALIZE COLUMN DATA:} WRITECOLUMN := O; LEFTMARGIN := O; ACTUALLEFTMARGIN := O; OUTPUTCOL := 1; READLEFTCOL := 1; READRIGHTCOL := MAXREADRIGHTCOL; WRITELEFTCOL := 1; WRITERIGHCOL := MAXWRITERIGHTCOL; þZðOLDEST := 1; CHARCOUNT := 1; LINENUMBER := O; INCREMENT := O; { INITIALIZE BOOLEAN PARAMETERS: } PACKERISOFF := TRUE; BUNCHWANTED := FALSE; DISPLAYISON := TRUE; PROCNAMESWANTED := TRUE; ENDCOMMENTSWANTED := FALSE; NOFORMATTING := FALSE; { INITIALIZE NUþ‹eMERIC PARAMETERS: } INDENTINDEX := 3; LONGLINEINDENT := 3; PROCSEPARATION := 2; SYMBOLGAP := 1; STATMTSEPARATION := 3; DECLARALIGNMENT := O; { INITIALIZE INPUT CONTEXT DATA: } READCOLUMN := 1; CHISEOL := FALSE; NEXTCHISEOL := FALSE; FOR I := O TO BUFFþˆÖERSIZE DO SYMBOL[I] := ''; LASTSYMBOL := PERIODSMBOL; LASTPROGPARTWASBODY := FALSE; END {INITIALIZE}; BEGIN {MAINPROGRAM} CONSTANTSINITIALIZATION; INITIALIZE; IF EOF(INPUT) THEN WRITELN('*** NO PROGRAM FOUND TO FORMAT.') ELSE BEGIN READACHARACTERþ�Ë; READSYMBOL; IF SYMBOLNAME <> PROGSYMBOL THEN WRITELN('***"PROGRAM" EXPECTED.') ELSE BEGIN { ********************************************************************* F O R M A T T H E P R O G R A M - - - - - - - - - - - - - - - - ****þòæ**************************************************************** } STARTNWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), MAIN[I + 1]); MAINNMLENGTH := LENGTH; REPEAT WRITESYMBOL; REþÁ6RADSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; DOBLOCK(MAIN, MAINNMLENGTH); WRITEA('.'); FLUSHUNWRITTENBUFFER; END; END; 13: END {MAINPROGRAM}. ÿ1978EMP.07ûf½ þº¹E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 E 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 ÿAS.ûŽŽ0þ¯ê .TITL AS .NREL .RDS CPU .WRS CPU .RDL CPU .WRL CPU .RDB CPU .WRB CPU .ERTN .OPEN CPU .CRAND .PCHAR .GCHAR .GCHN .DELETE .CLOSE CPU .GPOS CPU .SPOS CPU .END ÿXREF.SVúØÒÅÆ.SVÿRDL.BUû޽6þ7PROCEDURE READLINE( CHANNEL : INTEGER; VAR BUFFER : BIGSTR; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDL = 6975; {.RDL} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REþÁºQUEST); NEW(STRINGPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDL; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); {$R-} STRINGPOINTER^[0] := R1.CH; {$R^} IF ERROR THEN Wþ¡8�RITELN(' ERROR IN READLINE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := STRINGPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); END; {READ LINE} ÿTEST12.ûŽs*þ>EPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; FIELD = RECORD KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1 : (IMREAL : REAL); 2 : (IMINT : INTEGER); 3 : (IMSTR : STRING[10]) END;{CASE} VAR I : INTEGER; STR : AþõÖLPHANUMERIC; NEXTFIELD: FIELD; {$I GETINTEGER.PI} {$I GETFIELD.PI} BEGIN REPEAT WRITELN('ENTER STRING'); WRITELN; READLN(STR); WRITELN(STR); GETFIELD(STR,3,NEXTFIELD); CASE NEXTFIELD.KIND OF IAMREAL : WRITELN('REAL',NEXTFIELD.IMREAL); IAMINTEGER : WRIþgzTELN('INTEGER',NEXTFIELD.IMINT); NIL : WRITELN('FIELD DOES NOT EXIST') END{CASE} UNTIL EOF(INPUT) END. ÿTSST.û��þ•“ 1 C 3048 22.56 11 2 C 3041 3.57 4 3 C 3049 44.55 10 4 C 3050 35 26 5 C 3053 256.07 4 6 C 3054 1743.66 7 7 C 3055 1200 21 8 C 3065 10 26 9 C 3057 60 26 10 C 3058 385 3 11 þßC 3059 172.14 8 12 C 3060 6.95 3 13 C 3061 646.33 8 14 C 3062 31 1 15 C 3063 30 26 16 CC 3064 17 C 3065 223.70 32 18 C 3066 250 27 19 C 3069 96 4 20 CC 3070 21 C 3072 129.64 4 22 þ¾Ë C 3073 1340.63 25 23 C 3074 2500 21 24 C 3075 23 5 25 C 3076 100 24 26 C 3078 22.50 4 27 EM 810 17 15 28 EM 811 604.28 15 29 EM 812 643.69 15 30 D 140 34 31 D 8347.06 34 32 D 2086.75 þâ7 33 C 3077 10.77 6 34 C 813 980.89 14 35 C 817 205.18 12 36 C 815 887.50 12 37 C 3081 35 4 38 C 3067 62 1 39 C 3083 34 6 40 C 3002 1350.12 25 41 C 3071 330 20 42 C 3085 50.99 5 43 Cþ û 3087 704.45 17 44 C 3080 1298.05 25 45 C 816 1581.88 12 46 C 3079 37.50 6 47 C 819 1581 12 48 C 3090 5324 9 49 D 1468.38 34 50 D 871.98 34 51 D 13056 34 52 D 12436.99 34 53 D 435.99 34 þ1í 54 C 3068 10 18 55 C 3086 138.02 25 56 C 3088 1040 23 57 C 3090 5324 9 58 C 3091 250 8 59 C 3092 206.59 20 60 C 3093 15.40 22 61 C 3094 120.70 4 62 C 3095 20 26 63 C 3096 775 9 64 þ�/ C 3097 32 10 65 C 3098 74.05 22 66 C 3099 4000 21 67 C 3101 1557.44 25 68 C 3104 40 33 69 C 3103 42.50 10 70 C 3105 504.39 25 71 C 3106 119.98 4 72 C 3107 793.50 9 73 C 3108 1537.50 27 74þGf C 3109 3394.50 6 75 C 3110 25 3 76 EM 818 140 27 77 EM 820 1581 12 78 EM 833 948.57 12 79 EM 834 912.14 12 80 EM 835 17 15 81 EM 836 181.73 14 82 EM 837 482.61 15 83 EM 838 2742.40 14 8þ¯L4 EM 840 622.50 27 85 EM 821 195.18 12 86 EM 822 1415.95 12 87 C 3113 79.95 5 88 C 3114 69.95 10 89 C 3115 200 20 90 C 3116 225 27 91 C 3117 4.65 10 92 C 3119 48 18 93 C 3120 1940.43 25 þªˆ94 C 3121 269.78 17 95 C 3123 12.24 4 96 C 3124 93.27 15 97 C 3125 181.78 15 98 C 3126 243.77 14 99 C 3127 68.45 23 100 C 3129 128.35 5 101 C 3130 25.98 5 102 C 3132 15.90 5 103 C 3133 125.81 22 þëÐ 104 C 3134 20..47 22 105 C 3135 85.15 22 106 D 435.99 34 107 D 906.32 34 108 D 435.99 34 109 D 1628 34 110 D 3000 34 111 D 11481.06 34 112 C 3112 25 26 113 C 3118 1.30 11 114 C 3122 100 26 þ± 115 C 3128 7.86 22 116 C 3138 185.26 4 117 C 3139 19.37 10 118 C 3140 6.17 10 119 C 3141 6.46 10 120 C 3142 3.96 10 121 C 3143 3.62 10 122 C 3144 42.08 22 123 C 3145 46.50 3 124  C 3146 36.70 11 þX‘ 125 C 3147 27.73 10 126 C 3148 25.98 5 127 C 3149 6 33 128 C 3150 95 33 129 C 3151 78.50 33 130 C 3152 1000 25 131 C 3153 227.40 25 132 C 3154 100 8 133 C 3155 160.43 4 134 C 3156 835.38 25 135 þŸs C 3157 781.68 25 136 C 3198 28.30 3 137 EM 823 1000 12 138 C 3158 21.92 5 139 C 3159 12 33 140 C 3165 638.45 27 141 C 3167 15 5 142 C 3160 155.47 17 143 C 3161 34 10 144  C 3163 594 17 145 C 3166 þÈ�465 4 146 C 3168 83.85 3 147 C 3169 200 24 148 D 1834.55 34 149 D 435.99 34 150 D 802.29 34 151 EM 824 333.14 15 152 EM 825 378.68 15 153 EM 826 2590.51 14 154 EM 827 425.95 12 155 EM 828 82.50 26þ¢� 156 EM 829 38.70 14 157 EM 841 1425.95 12 158 EM 830 1425.95 12 159 EM 831 205.18 12 160 EM 832 209.37 12 161 D 905 34 162 D 594 34 163 D 520 34 164 D 435.99 34 165 DM 18.88 166 C 3162 39.9þpÏ5 18 167 C 3164 130.46 14 168 C 3170 120.97 4 169 C 3171 18 33 170 C 3172 36.70 10 171 C 3173 947.50 25 172 C 3174 80 26 173 C 3175 204 5 174 C 3177 496.56 25 175 C 3178 136.20 25 176 C 3179 729 1þ�Ë7 177 C 3180 170 23 178 C 3182 121.30 11 179 C 3183 2591 22 180 C 3184 27 17 181 C 3186 10.08 23 182 C 3200 1020 27 183 D 13331.89 34 184 D 11943.74 34  185 D 4546.81 34 186 D 129.24 34 187 DþŒt 3229.35 34 188 D 715 34 189 C 3176 50 22 190 C 3181 950 7 191 C 3185 125 23 192 C 3187 174.75 23 193 C 3188 290.64 4 194 C 3189 1372 27 195 C 3190 3.28 5 196 C 3191 18 5 197 C 3192 5.68 23 19þ'¨8 C 3203 100 27 199 C 3193 37.25 23 200 C 3194 147.08 23 201 C 3195 7 23 202 C 3196 50 21 203 C 3199 26 33 204 C 3201 2764.81 27 205 C 3202 948.17 25 206 C 3204 55.20 5 207 C 3205 14.25 7 208 C þ¢l3206 10 6 209 C 3207 7.58 5 210 C 3208 60.59 2 211 C 3209 250.65 25 212 EM 842 209.37 12 213 EM 844 1527.87 12 214 EM 845 290.37 12 215 EM 846 3584 14 216 D 531.21 34 217 EM 843 1527.87 12 218 EM þkñ847 1527.87 12 219 EM 848 209.37 12 220 EM 849 1000 12 221 EM 850 9000 12 222 C 3210 720 27 223 C 3211 69.37 2 224 C 3212 1.81 11 225 C 3213 176.55 25 226 C 3214 10.46 25 227 C 3215 18.28 5 228 3þ†n216 64.28 5 229 C 3217 547.32 17 230 C 3218 136.48 17 231 C 3219 48.60 10 232 C 3220 170 23 233 C 3221 10 8 234 C 3224 227.40 17 235 C 3225 36 5 236 C 3222 450 27 237 C 3223 10.64 5 238 C 3226 93.þÍ‚71 4 239 C 3227 74.13 2 240 C 3230 31 26 241 EM 851 4000 36 242 C 3229 2774.75 23 243 C 3228 102.08 4 244 C 3231 35 18 245  D 4888.40 34 246 D 3435.99 34 247 EM 852 1527.87 12 248 C 3232 125 23 þD< 249 C 3233 3654.15 23 250 C 3235 37 33 251 C 3236 42.50 33 252 C 3237 2282.26 6 253 C 3238 138.17 33 254 C 3239 95.64 2 255 C 3240 3.70 5 256 C 3241 4.33 5 257 C 3242 535.39 18 258 EM 854 48.65 12 þ¤… 259 EM 853 540 15 260 D 3148 34 261 D 296.31 34 262 D 1403.43 34 263 D 174 34 264 D 2600 30 265 C 323 298.80 25  266 C 3243 28.20 3 267 C 3244 341.40 10 268 C 3245 500 25 269 C 3246 328.44 10 þ;ˆ 270 C 3247 784.13 25 271 C 3248 125.30 11 272 C 3249 5.76 23 273 C 3250 50 24 274 C 3252 1760 27 275 C 3251 100 2 276 C 3253 43 1 277 C 3254 290.77 4 278 C 3255 100 2 279 C 3258 42.50 33 280 þ×G C 3259 4.60 23 281 C 32600 820.84 25 282 C 3261 732.30 8 283 C 3263 50 22 284 C 3264 296.31 23 285 C 3265 168.01 25 286 D 435.99 34 0 16 20 1 14 38 276 2 210 223 239 þ¤# 254 275 278 3 10 12 75 123 136 146 266 4 2 5 19 21 26 37 61 71 95 116 133 145 168 193 238 243 277 5 24 42 87 100 101 þ{Y102 126 138 141 173 195 196 206 209 227 235 237 255 256 6 33 39 46 74 208 252 7 6 190 207 8 11 13 58 132 233 282 9 48 þË\ 57 63 72 10 3 64 69 88 91 117 118 119 120 121 125 143 170 231 267 269 11 1 113 124 178 224 271 12 35 36 45 47 77 78 79 85 þ¹ê 86 137 154 157 158 159 160 212 213 214 217 218 219 220 221 247  258 14 34 81 83 98 153 156 167 215 15 27 28 29 80 82 96 97 151 þñ¤ 152 259 17 43 94 142 144 176 180 229 230 234 18 54 92 166 244 257 20 41 59 89 21 7 23 66 202 22 60 65 103 104 105 11þóT5 122 179 189 283 23 56 99 177 181 191 192 197 199  200 201 232 242 248 249 272 280 284 24 25 147 273 25 22 40 44 55 67 70þáB 93 130 131 134 135 171 174 175 205 211 225 226 265 268 270 281 285 26 4 8 9 15 62 112 114 155 172 240 27 18 73 76 84 90 þÁ 140 182 194 198 204 222 236 274 32 17 33  68 127 128 129 139 169 203 250 251 253 279 36 241 1 14 38 276 SEARCH KEY 1 14 C 3062 31 1 þer 38 C 3067 62 1 276 C 3253 43 1 AMOUNT = 1.360E+02 2 210 223 239 254 275 278 SEARCH KEY 2 210 C 3208 60.59 2 223 C 3211 69.37 2 239 C 3227 74.13 2 254 C 3239 95.64 2 275 C 3251 100 2 278 C 32þ&k55 100 2 AMOUNT = 4.997E+02 3 10 12 75 123 136 146 266 SEARCH KEY 3 10 C 3058 385 3 12 C 3060 6.95 3 75 C 3110 25 3 123 C 3145 46.50 3 136 C 3198 28.30 3 146 C 3168 83.85 3 266 C 3243 28.þfÒ20 3 AMOUNT = 6.038E+02 4 2 5 19 21 26 37 61 71 95 116 133 145 168 193 238 243 277 SEARCH KEY 4 2 C 3041 3.57 4 5 C 3053 256.07 4 19 C 3069 96 4 21 þ-÷ C 3072 129.64 4 26 C 3078 22.50 4 37 C 3081 35 4 61 C 3094 120.70 4 71 C 3106 119.98 4 95 C 3123 12.24 4 116 C 3138 185.26 4 133 C 3155 160.43 4 145 C 3166 465 4 168 C 3170 120.97 4 193 C 3188 290.64 þk®4 238 C 3226 93.71 4 243 C 3228 102.08 4 277 C 3254 290.77 4 AMOUNT = 2.504E+03 5 24 42 87 100 101 102 126 138 141 173 195 196 206 209 227 235 237 255 256 SEARCHþî: KEY 5 24 C 3075 23 5 42 C 3085 50.99 5  87 C 3113 79.95 5 100 C 3129 128.35 5 101 C 3130 25.98 5 102 C 3132 15.90 5 126 C 3148 25.98 5 138 C 3158 21.92 5 141 C 3167 15 5 173 C 3175 204 5 195 C 3190 þc´3.28 5 196 C 3191 18 5 206 C 3204 55.20 5 209 C 3207 7.58 5 227 C 3215 18.28 5 ÿ1980.DPûŽŽþC 8,347.06 140.00 1,468.38 871.98 13,056.00 5,324.00 12,436.99 435.99 435.99 906.32 3,000.00  435.99 1,628.00 11,481.06 1,834.55 435.99 þàC 802.29 905.00 594.00 435.99 520.00 13,331.89 1,527.87 129.24 4,546.80 11,943.74 715.00 3,229.35 531.21 3,435.99 4,888.40 1,403.43 þ[ð 296.31 174.00 2,600.00 3,148.00 117,396.31 ÿ1980CHECKS.ûŽŽ þq C 3040 704.45 C 3066 250 27 C 3069 96 4 C 3075 23 5 C 3076 100 24 C 3077 10.77 6 C 3078 22.50 4 EM 810 17 15 EM 811 604.28 15 EM 812 643.69 15 D 140 34 D 8347.06 34 D 2086.75 C 813 980.89 14 C 817 205.18 12 C 3081 35 4 C 3067 62 1 C 3083 34 6 C 3071 330 2þ°90 C 3085 50.99 5 C 816 1581.88 12 C 819 1581 12 D 1468.38 34 D 871.98 34 D 13056 34 D 12436.99 34 D 435.99 34 C 3068 10 18 C 3086 138.02 25 C 3088 1040 23 C 3090 5324 9 C 3091 250 8 C 3092 206.59 20 C 3093 15.40 22 C 3094 120.70 4 C 3095 20 26 C 3096 775 9þ~å C 3097 32.88 10 C 3098 74.05 22 C 3099 4000 32 C 3101 1557.44 25 C 3104 40 33 C 3103 42.50 10 C 3105 504.39 25 C 3106 119.98 4 C 3107 793.50 9 C 3108 1537.50 27 C 3109 3394.50 6 C 3110 25 3 EM 818 140 27 EM 820 1581 12 EM 833 948.57 12 EM 834 912.14 12 EMþü} 835 17 15 EM 836 181.73 14 EM 837 482.61 15 EM 838 2742.40 14 EM 840 622.50 27 EM 821 195.18 12 EM 822 1415.95 12 C 3113 79.95 5 C 3114 69.95 10 C 3115 200 20 C 3116 225 27 C 3117 4.65 10 C 3119 48 18 C 3120 1940.43 25 C 3121 269.78 17 C 3123 12.24 4 C 31þQ’24 93.27 15 C 3125 181.78 15 C 3126 243.77 14 C 3127 68.45 23 C 3129 128.35 5 C 3130 25.98 5 C 3132 15.90 5 C 3133 125.81 22 C 3134 20.47 22 C 3135 85.15 22 D 435.99 34 D 906.32 34 D 435.99 34 D 1628 34 D 3000 34 D 11481.06 34 C 3112 25 26 C 3118 1.30 11 CþÅ@ 3122 100 26 C 3128 7.86 22 C 3138 185.26 4 C 3139 19.37 10 C 3140 6.17 10 C 3141 6.46 10 C 3142 3.96 10 C 3143 3.62 10 C 3144 42.08 22 C 3145 46.50 3 C 3146 36.70 11 C 3147 27.73 10 C 3148 25.95 5 C 3149 6 33 C 3150 95 33 C 3151 78.50 33 C 3152 1000 25 C þ®ú3153 227.40 25 C 3154 100 8 C 3155 160.43 4 C 3156 835.38 25 C 3157 781.68 25 C 3198 28.30 3 EM 823 1000 12 C 3158 21.92 5 C 3159 12 33 C 3165 638.45 27 C 3167 15 5 C 3160 155.47 17 C 3161 34 10 C 3163 594 17 C 3166 465 4 C 3168 83.85 3 C 3169 200 24 D 183þ.–4.55 34 D 435.99 34 D 802.29 34 EM 824 333.14 15 EM 825 378.68 15 EM 826 2590.51 14 EM 827 425.95 12 EM 828 82.50 26 EM 829 138.70 14 EM 841 1425.95 12 EM 830 1425.95 12 EM 831 205.18 12 EM 832 209.37 12 D 905 34 D 594 34 D 520 34 D 435.99 34 DM 18.88 C 31þŸ62 39.95 18 C 3164 130.46 14 C 3170 120.97 4 C 3171 18 33 C 3172 36.70 10 C 3173 947.50 25 C 3174 80 26 C 3175 204 5 C 3177 496.56 25 C 3178 136.20 25 C 3179 729 17 C 3180 170 23 C 3182 121.30 11 C 3183 25.91 22 C 3184 127 17 C 3186 10.08 23 C 3200 1020 27þ° D 13331.89 34 D 11943.74 34 D 4546.81 34 D 129.24 34 D 3229.35 34 D 715 34 C 3176 50 22 C 3181 950 7 C 3185 125 23 C 3187 174.75 23 C 3188 290.64 4 C 3189 1372 27 C 3190 3.28 5 C 3191 18 5 C 3192 5.68 23 C 3203 100 27 C 3193 37.25 23 C 3194 147.08 23 C 31þF%95 17 23 C 3196 50 21 C 3199 26 33 C 3201 2764.81 27 C 3202 948.17 25 C 3204 55.20 5 C 3205 14.25 7 C 3206 10 6 C 3207 7.58 5 C 3208 60.59 2 C 3209 250.65 25 EM 842 209.37 12 EM 844 1527.87 12 EM 845 290.37 12 EM 846 3584 14 D 531.21 34 EM 843 1527.87 12 EþäM 847 1527.87 12 EM 848 209.37 12 EM 849 1000 12 EM 850 9000 12 C 3210 720 27 C 3211 69.37 2 C 3212 1.81 11 C 3213 176.55 25 C 3214 10.46 25 C 3215 18.28 5 3216 64.28 5 C 3217 547.32 17 C 3218 136.48 17 C 3219 48.60 10 C 3220 170 23 C 3221 10 8 C 3224 227þJy.40 17 C 3225 36 5 C 3222 450 27 C 3223 10.64 5 C 3226 93.71 4 C 3227 74.13 2 C 3230 31 26 EM 851 4000 36 C 3229 2774.75 23 C 3228 102.08 4 C 3231 35 18 D 4888.40 34 D 3435.99 34 EM 852 1527.87 12 C 3232 125 23 C 3233 3654.15 23 C 3235 37 33 C 3236 42.50 3þŽB3 C 3237 2282.26 6 C 3238 138.17 33 C 3239 95.64 2 C 3240 3.70 5 C 3241 4.33 5 C 3242 35.39 18 EM 854 48.65 12 EM 853 540 15 D 3148 34 D 296.31 34 D 1403.43 34 D 174 34 D 2600 30 C 3243 28.20 3 C 3244 341.40 10 C 3245 500 25 C 3246 328.44 10 C 3247 784.13 þIü25 C 3248 125.30 11 C 3249 5.76 23 C 3250 50 24 C 3252 1760 27 C 3251 100 2 C 3253 43 1 C 3254 290.77 4 C 3255 100 2 C 3258 42.50 33 C 3259 4.60 23 C 3260 820.84 25 C 3261 732.30 8 C 3263 50 22 C 3264 296.31 23 C 3265 168.01 25 D 435.99 34 C 3082 1350.12 þì¬ß25 C 3136 16.00 1 C 3216 64.28 5 C 3234 298.80 25 C 3262 88.41 14 C 3268 14.00 26 C 3276 146.75 11 C 3277 60 1 C 3278 19.01 11 C 3279 72.18 5 CC 3064 CC 3070 CC 814 CC 3087 CC 3137 CC 839 CC 3131 CC 3084 CC 3089 CC 3100 CC 3102 CC 3111 ÿREALFIELD.BUûŽŽ þ•ŽFUNCTION REALFIELD(STR : BIGSTR; FIELDNUMBER : INTEGER) : REAL ; VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (I>TEDITSV   ½½ SYS1NPDo\ff ÿCOMCM˜˜ ÿSYS1MPDp”ee ÿSEDITSV  ßjj 9SYS2MPDp�ll!ÿPDRÝdd $SYS5LB!@ê h h PLCNAKËËT28ÏÐ92POSTFIXPXÜÜ )SEQ01ëÕ¸ CBOOK ö7Žq 1978EMP08Å(f½ WRITESTRINPI’޽)CONSOLEMCœ`qr ALMSPDRBÜ+;;*INTERPOKPXŠ?? 8T38R0ÜÒPRETTYPA[¶3½Ü 'CBOOKPA ö“ŽŽ TEST01îš½½1978EMP09ºœf½ CROSSREFPXïwr P4XAPÕ£0T17H¨Ž/2BITSÿ«ää7TEDITSVTEDITSVTEST02ì°½½197801†²½½ 1978EMPR1ßÀr½*TEST8vŽŽ GETFIELDPI§þŽsT27£¶Ð9 197802ë¹½½ CONSOLECMž¶rg197815+#zŽŽ 1978EMPR2�òrrCOMCM¨ŽŽ &ÿSYS24Kö¼ÇÇÿBYTEžÁ¸¶T37yÆÚÚ .T17RLÉÐÐ #CROSSREFBUJÊÝÝ TEST3PXн½197803Ô½½ TOTAL ASRB”YŽŽ1CLOSEPI¥Ä޽1978EMPR3¸ãrrDATABTDwwINTERPOK[Û½à TEST7‡mŽq +T16¯Ž/ SEDITSVSEDITSVREALPRINTPA] ½½ :T3MCŽ ½½ CMC‚޽3197804è½½ /187805½½TOTALPAî ŽŽ PLMCpÎrq197805¡½½ T26bÐUCROSSREF¯ŽÜ+TESTMC„úŽl PL5PX Ðrq $1980D2 ]¦ŽŽBTREEPX rrINPUT$TTIT36^*Ú¸ T.½½ &EDITSV  /ÚÚ 197806I>½½ DATAü6rr1980D3 §ŽŽ IO¬AÕWT151KŽ/197807”M½½FDUMPSVFDUMPSVTEST6Vý޽ FOBARˆcŽŽOPENBU,Y޽"GETREALBU`8ŽŽ CBOOK02 ¡æs½ PLCMv&qq1980D4� ŽŽ284PÐÐ RPXQ½½GTÜÜ 1978086U½½7TESTCMˆŽl9TESTPOŽll "1978DOD-9ŽŽ0NSB801215G 5ŽŽ'OPENý’½½T35£^Ú© TEST1PX"½½ GETIc½½197809Ád½½71978R0 f½½1978DP&t‘ŽŽ 1978CHECKS&ŽŽ PL5/ø FŽq PINFOPXw?? ALLINK |Ðl .T14~Ž.RBUX€½½ 1978DQ䎎1978R1 wœw½!TEST5ŸÚ޽ MANUAL210 ûm BREAKSV Y^ll *DEAR òqq,1979CHECKS´ ËŽŽALLOCt–ÐT24]™Ð236›ÐÐ 8TKOM013œ``F ¥ŸÜÜ *REALPRINT029«½½ CBOOKMCŒ'qs4CONSOLEPX µsq ASMSVASMSVMANUAL211{?? GETCOLUMNBU¹AsrR„¯½½T34„³Û©6REALPRINTPIi—޽ DELETEPIöÕŽr CRANDPISŽr PASCALOPX { ôŽl T13¿ Ž.P4ERRORSX II POSTFIXPAõ Ü1TEST4 ޽ 5READLINEPIÿ޽:WRSBUƒÜŽq CONSOLEBU 0rr/README ™) $MANUAL201ÐüÄ "INTERPOKPA["lÝ T23$Ð2GLOBA&ÐÐ GETINTEGERPIÓVŽr)RDSBU× -Žq !CBOOKCMŽîŽs4CTLA|+Ð%T33�/Õ§"NODESè2 CROSSREFPA4rÜ T11PX:½½1980DEPS; ÐŽŽTOTALMCޅ޽ +CONSOLE Æ Žq GLOBALàEÐ&T12¹IŽ.+TEST3K޽ TPA�$½½ PLPX Irq PXSVPPASINTERPSVT22ÒOÐ2DQÐÐ PRETTYINST9SGG TESTPX µŽŽ )TEST3PAd½½WRLPIXÏŽr 7CATEGORIESÂqŽŽ GETFILEDREBU’ŽŽ 1979D2õŽŽ!1978D3!ÙoŽŽ *PASCALER*€§Ž? T1²�½) T321’Õ@"T10PX”ÜÜPm—޽ +BEDITSVBEDITSV1979D3w^ŽŽ $RDLPI§MŽq;DATATOǪss T2fš½) $T11’œŽ.BTREE ¥žŽBYTE01*ª¸¸TTTPX®ÜÜ 5TEST2걎½ TESTBU UsrPL5PA"�ll21979D4l¥ŽŽ*FLOADSVFLOADSVSYSLBSYSLBBTREEPA ¥³rrT3¦¿½½ T21ÛÁÐ2 SEQ-ø·7BYTE02ÿÉ»¸ PRETTYPRINPXÐÜÜ :TEST2PAêÓ½½ GCHARPIÌÊŽ½ PL/ã rq T4›Ö½) %T310ØÐ@$TEST p׎Ž%CDC6000PXݽ½ T5´à½) *OUTPUT$LPTT41oâ'&.1978P1978R1NODES01çé CROSSREF02öíw`TEST1tõ޽ RPA„û½½1978EMPî½f (DATA01 +srTST Q ;ŽŽ T6‹þ½)+T20w Ž1PRETTYPX ½½ CBOOKPX÷ŽŽ REALPRINTPT] ½½TEST1PA” ½½.T30 !¦&T79 ½. TESTLSEN ´ŽŽ )RLDRSVRLDRSVGETFIELDINBUà )ŽŽT8˜ ½. T39A^ ÕÕ T40¶ "Ý,CBOOKBUaTs½ GETREAL01« (½½ 1978EMP10Ó ,f½ CONSOLEPA Æxrq TEDIT áŽqTSSpŽŽT9¾ .½. BTREE01 Ä 0½ 1978EMP11» <f½ "GPOSPI¥ ŽŽ:RLDROLRLDROLPASCFLS~Ï£m TMCf @޽ 8REALPRINTPX B½½ ;GETREALPIf D޽ "TOTALPXŽŽ WRITELINE01¬ü½½ OPENPIRŽr 1979DEPS0øŽŽ&DATATX bss SPOSPI ŽŽ:PASCALPXjÑb? PASOPSYSMC‰Bll 4OPENFILESPIErŽ� &198002ºÏ‘‘ T11PA’ ¨½½1978EMP01š ªf½ TLMC� ¬½½ REALPRINTBUN¶½½(GCHNPI˜ß޽ CRANDBU4�Žl DELETEBUÊŽ½PCHARPI¶ïŽgPLPAÔrr .PASVPPASINTERPSVTESTPA pŽŽ !1978EMP030 õf½ CONSOLE01ÒZq½$GETINTEGERBUÍÁŽŽBTREEMC‚`rrDATAR1Ç÷Žs T19U þŽ0.TKOM __ FIXFLG Ð@T10PA~ Ü. 1978EMP04ß f½ TEST22Î :ŽŽT29+ W$KOMPARè Ð\7T100( !! +TTTPA’ Ü 6RMCT ½½ 1978EMP05Þ f½ WRSPI„ÖŽr TEST23 °ŽŽ.TEST10‹ *ŽqPASINTERPSV ")ld ADDRESSß ?Ð T39R Båå CDC6000B| L½<1980DO’nŽŽPRETTYPRINPAM� ÎÜÜ TOTALLSCŽŽ 197810k %½½ 1978EMP06  ?f½ 1978EMPMC\ff 'RDSPIÆjŽr WRLBUW¾Ž½5TEST11{ úqq-PASINTERPERÀMŽ? IPX JÜÜ T18Ù MŽ0)INTGET· O½½*PETTYPRIN01J RÜI CDC6000PABÁ l½½ 1978EMP07º ±f½ AS¯–ŽŽ0XREFSVXREFSVRDLBU¡”޽6TEST12g¢Žs*TSSTcj��1980DP[ ÒŽŽ1980CHECKSì °ŽŽ REALFIELDBU¸–ŽŽ TEMPC׎ŽSYS2LM);©½½ FDUMPSV çjj 9BOOTSV  ^kI9SYS2LPDqÐff ÿCLIS0‹ŽŽ CLISV ==.GHMASV 'ee SYS1NSV v ff &ASMSV Ö š ó „ "CLIERŽ=. GAMESDRfee BIORYTHMNRB àp . . $GHMASV (ee BIORYTHMNFR i m . "GHMAT+e } BIORYTHMNSV Œ . . &GHMARBr.ee CLIOLS0Ž=. CLICM&||!ÿSYS1NOL7;ff SYS1MSV {–ee SYS2MSV wull SYS1MOL7Çee SYS2MOL7pll!SYS2LSV zâff BEDITSV   )TT -SYS2LOL7¸ff SYSSVSYS2MSVFLOADSV Wjj 9SYSLB' qm=*SYSOLSYS2MOLSYS1NLM(�sff USERSDR æddATCSALCM õex,ERASE€ ÷du8DRABSALt e3%SIAL$ e2 OUTSTAL¿ e4ËTEDITSVDP0TEDITSVPLOTBU d  PTABSAL] e3 COMCMCvee ÿP2STTALª e4íADRAWALÌ e9IEIAL$ e2INPUT¦ dSOALá e2CLIPLAL¨ #e4ÊTANKSV 'dd 0LOCSSR5 Le2RMOVEAL| Oe9KS2PTRALD Re4ïP2STRAL¥ Ue4êDRRELALt Xe3$PUTCSRî [e4ÅSCORE‚ ^d$/CURVESV  a99 BOMB• zd3EOALá €e2ASMSVASMSVBOMB1 ‚d !ÿPTRELAL# †e4øGCOUTSR ‰e9 "ÿMVABSAL@ Œe3#ATCSLB �xx0DRAFTSYSBSÿ ®eu PLOT Âd NIAL$ Çe2TFORTSVFORT4TFORTSVATCSCMÏ Êe9 INPPIALF Íe4éMOONBS � ÐexCURVEAL Ûe9 TINITAL ße4ÅERASEAL€ ãe6¹VECTOR{ æd INIT ª êdu2VIEWPORTALº ÷e4ÈRPOINTAL} úe6RINPSIAL— ýe9 ;MOVEAL[ e2DRAWALZ e2SYSLBSYSLBGETCSR e4ÎSPLOT% dNOALá e2ANMODEALÈ e4ÅINSTRAL  e9_RAND� e INPPAL| e4âAMOVEAL e9IMVRELALh e3"MASTER d-FORTSVFORT4FORTSVHOMEALÏ 4e4ÊATCSSRCM, 6ex.WIAL$ 8e2,RLDRSVRLDRSVINPSALæ :e9 /RLDROLRLDROLRDRAWAL\ >e6NPUTCo Bu :TEKPACKSR$ Eej &WOALá We2WINDOWALÁ Ye4ÈBUILDCURVEMCº \dx7ÿFIVSVFORT4FIVSVAPOINTAL9 ^e4òCHARSRò ae9 XFRMALê fe3&GLOBALSSRß ie4ÆBUILDATCSCLn le9wÿCREATETANKMC mdu;XREFSVXREFSVPAGESVDP0PAGESVRLDRSV  ®m= SYS1MLM(Œÿee GHMAT*e } SYS2MLM)�¦ll RLDROL/ ¸m= SYS2LLM)ðff GHMARBr,ee LOGCM&`Àdd PAGESV   XREFSV  è ˜ p"EFSV  è ˜ p"BOOTSYSOL@ ?>>ÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmÛmTEDITSV   ½½  VþG l, t 9ÿÿ tÿÿÿÿÿÿ%ÿÿÿÿ²ÿÿCOPYRIGHT (C) DGC,1972,1973,1974 ALL RIGHTS RESERVEDEDIT REV 01.00 \8) ¥)�)¥az h  ü8 3S9ùÞX0 )‚  ø  ê1q¥ ç  ä9lå á8©¨KìKëë…CšCÊCïGìC±C§CêCèC»CîCðCÕCC„Cå­!G4 Ò !E  ÂãPC÷CôCé)BKóÓÂPCÆÃP  ´):  ° …¦Cõ  ¨!4 " ¤)-Õ ? ŸSÜ " ›Ó)$ ? –ÓSÛÓSÚÓQ!"0 B 3õÑ2Ð! *3õõ *O°±FCOM.CMUY Êë (€…Cðò#õ+Æ¥)t¥ 1#õ‚PC™ ‘ k#é)e¦€‚PCõCÆ!] +!=Gë!ç0 B „C› 5)Y� E)X¥ 13õ *õ3õ+ëªPµ +›1I• µ ì  F!Å0 B D0Zÿ"õ›�"Æ‚�2ëåùøÑÐ+Jø8ÒPSõÿ!Gë (n#ÆCõ) Õ ‘)¥ õ+Æ3õͱÑÐ ))¥ ºõõ ¥#ÆÅ¤#› +3õÑÐ )¬*+  k#õC™…C¤CãC¥ Z)c� ¥ U)ì� )^� )\1X¥KÅK¥+¤²PÒP;¥ú9ÝåK!ÊQÎPŽ8K¤ :ëãý+¤ã©K¤‚ &)Ë�  ,)Ç� õÇ 5)K££/£ª (–3™ (#ð‚ …Cð‘£7£� ì î¬ë#ð‚õí#òð#óCõ¡ò8Sä3õ )õ1•ûä": -0I^@ >ÿà~~ÿÿA VB…CyD]E)F (G8H0IœJxKTLMêN÷PªQöRSòT°U5WEX=Y RZ‹:+=7.> •# !- - -ò8ò8  â "Cù3õ )õ ž1 *¥ ÓÓª ú "ùKYŠEHDµRÁN‚S›C˜Zö?`H®#±‚  (”1$ö` (#ê‚  (b3¦ (#è‚  ("1ö` (ùË (ó (ôù¬ Xÿ§ÿ±­Kà+êª  (ùÎ+èª  (Üù!ðæ` G+ઠæ /Æ=3Û­ ? xª  …C± ($ù#ùCýRCæ))§ ¦ p!næ`)kî` ()" k  ¤‚+ઠ…C¤ ùù÷ó8Sýÿ) Í î ($…�Cà[  R€à.SC0*õò8SþC£K¢):Kã)9KäKáCâ3¢¢ ))/‚ ¥ ))� ))¥ ä¬Käï3£ *£ãêø)Kä+᪠­Káó¢3¢‚ Sõ…3£ *#âþ) Käç ($Ò9.ÿý:ÿìÿõÿ±ÿ§�•ò8SþCäCáªPKã3ä ))í‚ ¥ äù!èCâ3ã )3ä *äãâù…3ä *#áþ‘…Cà+èª û+êª  F+ߪ ? @3Ú Î…Cè3Û ÊCê#±‚ %!Âæ`­3Û )? µ#æ ¼3Û »!·æ`+ઠª] « ' )­î`!¬æ`  ù…C±C§C»CêCè (41�ö` (ò!—æ` õåFâ)ª…PCà¿„­!æ`)îaä ÿ) Š!æ`  ÚÊ)ÿ±ÿ»³.BU %#õCä u3õ… *#ä 3 #õCä i…3õ *õ +õKã a3õ… *#ä+ã  3õ! *ù»ò8Sý#õ+¦ 1#õ)-î` ,ý+¦)&î`Kà (P3à (£9ã#õCä 53õ… *5øÓ#ä ? ñ ? î)ð�¥ ? è ? åÇÿ§ó8SþC£K¢!YCá3££ )1ÙÅ …Câ3¢¢ )1ÒÅ …+â� þ‚ áíþþò8Sþõ3õ ))¿¥ ûþâ8Cý3õ )õ /Cà)+� ;))� 2+±ª  (ž>)¥ !)� 8#è‚3Ú ?#ê‚  3Û#±‚ #æ 03Û 4…CêC±C§C»Cè OCRWIÿõ+èª -3Ú "­Kè(+èª% (Ü +êª3Û …C»Cê!æ`ý "ý 9\ ?û4\ ?õ4ÿ»âÿ§!ÿæ` ü+ઃ#Cá 3Ú)7 )?. ?ÞKç)4§  á (dÒ„®)'Í  (')"Í Ë ($!CáC¦3Û) )? ?¾)§   (F³„Cê¯) Í ä (8  €3á ( â8Cþ+¤#ô¦+÷¥ +é¤Cô’ )þþKô…ü\Ò�"))‚‚À§8ò8Sü3¤ÑÒK­PÑÓ¬SÅK¤3ô )+¤ªK Ð u‚ ) �úÅø­PK¤ Å jüü ÿò8Sü3é   üü k Ë ò8Sü+é3÷Íóò8Sü3ô ô«ìò8Sü3õ ))*¥ %#š‚ +ì#÷ƒ�Œ`1…̓ý+¤ª �Kš+šª 1 ( 1ûüü…Cšò (ÔüõíP?öê Ëâ8Cû#÷Cô#¤�€C¤ † ûûã8D#÷CôãD8#éúDâ8Cý#ë‚P+™¥)X¤L (¦#邊ƒCÆ )M¥C (Ê#ÆC£!C¢ )¥ ÷) ¥ )l¢¥  3£ *£ò  Õ k…3£ *#Æ à)(5& ?Û ?1Ç (dÒ#™5 ?¦3ëÓPÅø5 ? 3ÆÒ�…Býƒ ³ù 9ã1„…ò8SþCû#ôCä#õCã3ã )) � CÇ3ä )ä‚)3ǵ •ôëãíþ#ãCõ#äCôþ#÷Côûþ (ªþâï8Cø'øSä‚ Cä‚ —…øCã3ä )‚ø +3ä )ä+ã1ê• µ óø8Sâ äþ+â„C¥  Ë Ûpü\Ò�:) ‚úÀ¿žÁžZ8ÿã8Cû#ôCã  ê ã8Cû#ôCã  á#ã3ôĊ²SôSéCä3ä )ä3é *‚éøûêâ8Cú#õCÑ vú#õ+Ñ�K¤  ¿…C¤õ  ºõ3õ ))�õúú]ò8#¤‚õò8Sþ#é‚�ƒC£+õ3ïÒ +ñ3ðÒ+ò1éÍ K¢¢+¢�9ªP3é¶Sé3ôKÏÎKäÊ��£'£¢G¢«û)Ñ#¤1/Ç� 3ô *ô3õ )õ)Ã� 3ô *ôÏöÇõ#ôCã3ä )ä3ã *‚ãø#ãCéþþ (.#ï+ð3õ‚ ª øS™öòó…Q…ê8CÐKú#¤‚ú#÷+é� …C¤ ðúú#Ђ úõ úòâ8Cû#¤‚Jû‚…PCÈ…�C¤ û…C¤ ûÈ÷ûû R©â8Cú#é+÷�…C¤ õ„�C¤ Üü#ß‚úúâ8Cþ#ð‚@3¤ÒZþÒÕPSí3õ ))P�)L� /+îª/)E¥ 5#õCò#óCõðþþKîõ#õ+ë3ì«K£S¢Cóµe –Só‚��Kä£'£¢G¢äû#óî‘ Ð…SëëGëëõþ (º#ìCëë…CîCðþ3óS£õ )£ +3£+ìÃ�ƒŒøþþ?DM\8#é+õ3ðÒ+ò1Í¥ŸÕÔâ "ÕPâ8CýÓ  …CÊ3õ ) C)A¥ õÊÕ#è‚Ò (ô0#¤ŠPªJ,+ô‚]+÷KäCÉÒ53ä )‚ #ä3Ú ?#ŽKää3ä )ä‚)� Éì3Ú .?#Ê‚ #š‚ …C¤ 4ý "ý WIŽKä!Å O (‚Î3ä )‚ì +3ä )ä)ì� Éõãâ8Cý#÷Cä­KãSâ#ä3â+ã•ý3ä )ä1וãõò8#¤‚JSþ+誊UªP¦P3ç)Ï  )�¢CË… Ëýþþ »! 3Ú ? ø (ôþž è9ò8#÷ò8#éSü+šª K¤­KÊ+êª8CéCô…Cß 2 (Nßü3é §KÎ#é3Û ?)ŽKéé3é )‚õ3šÒ )IŒ éΤ è (Nß #ô+éÊ�#ß‚ü…3é *üœ (üŽKéé!$Å é!!Å ç!"ßÅ  (‚!3é *éÖ!3é *éß (š+Ϋ  Ê!Å ’ (�Ï k \ÔÕâ8CýSá14#¥‚ 19S£…Câ£7£Ò !0̓ýÎ1*Å âKã +ãï3âÒ ú!ø3âÒ ý+᪠õ! ýê8Kþ+᪠ +þ3õ *õþ 'èd 0 @+  ·ùâ8ƒCù3õ )õ1 *¥ ÓÓª úùù (_ 5+ 8- ;O P! >? #¤C ù ù ù#¤+ ¥ ù õ3õ ))¥ ù)m¥ óõù!-#õCñ!æ`Cõ+  3õ!^ *!æ`Cõ„Cï…C¤ ù…Cï#ñCõù Êÿœœ!1ò8SÿCÒ)I§)D�!?)'� &):� () K¡¡7¡SÍ¡/¡KÌ¡/¡¡7¡ª÷«  ¥K•Jö#Íö *#Ò+̦ö %+Ò!¤ ÖÿÛ !­Köô+åª !ø#ö) ¥ÿCö! öýÿ $  \­¬\šÔößýý�úÂæ8CÓ! æP3ÜÓª 3Ú­P ? ÿÓ9ò8Sþ­P3Ü!2æP ? ö#Ô)Ù1Ô§• ô1í•� !ÍCÔ1"• � +#Ô3ÕÒ)1¥• 1¾Æ)3åÐ� þSå×!¶ ·Ô% +Õ¨! KÕ +ÍÿÔ@Z<ç  f?f?TEXT BUFFER FULL DURING INSERT TEXT BUFFER FULL WHILE READING COMMAND BUFFER FULL;EXECUTING COMMAND ??PARITY,LINE # STR NOT FOUND MACRO UNDEFINED OR ERROR IN MACROOUTPUT FILE IN USE NO OUTPUT FILENO INPUT FILEFILE NAME IN USE-ILLEGAL FILE NAME-NO SUCH FILE-FILE CAN'T BE USED FOR INPUTFILE CAN'T BE USED FOR OUTPUTLINE TOO LONGDISK FILE READ ERRORSAVE COMMAND BUFFER?(1-YES, 0-NO) ENTER FILENAME ILLEGAL ARGUMENT IN COMMAND LINE SYSTEM ERROR # : INPUT IN USE!-OUTPUT IN FILE -RENAMING ERROR,OUTPUT IN -FILE IS IN USE!-INPUT FILE- UNKNOWN ERROR EXECUTION ABORTED EDITING FILE OPENED BY UY OR UN - USE UE,US OR UC TO CLOSE! ILLEGAL WINDOW WIDTH PAGE MODE LINES WIDE WINDOW MODE   !ú )8#›)/¥ õ+Æ3õÍïÑÐ )!%¥ èõõõ3õ#ÆÅá#› +ö¢©¨‚¢Cö3õÑÐ )ÒYÿ83ÜÓ)ú ? u÷ ò8SÿCÒ)û§ !¿ ë#Òÿò8)ï� )W� 3ÆSä…PCãCö#õ3äÅ$ä ) ë +ã¦Cã­ Köï#ããö#öê­ KöKãæò8+媅P#ö)*¥ÿ�#› É!&)©3ÜÓ ? ##ã‚!­P ß‚ Cãö3ÜÓ! ­P ? ãü#Òÿ b fj 9 V5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚SYS1NPDo\ff ÿ PATCH DIALOG FILE DATE LAST PATCHED: 11/22/80 12:6:6 SAVE FILE PATCH INSTALLED AT LOCATION 55564 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 422 * SAVE FILE PATCH INSTALLED AT LOCATION 61 * OVERLAY FILE PATCH INSTALLED AT LOCATION 14436 * SAVE FILE PATCH INSTALLED AT LOCATION 51414 * SAVE FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION  66 * SAVE FILE PATCH INSTALLED AT LOCATION 67 * SAVE FILE PATCH INSTALLED AT LOCATION 401 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 55013 * SAVE FILE PATCH INSTALLED AT LOCATION 57120 * SAVE FILE PATCH INSTALLED AT LOCATION 57123 15 APPLICABLE PATCH(ES) 14 PATCH(ES) NEEDED TO BE INSTALLED COMCM˜˜ ÿFDUMP€MT0:3ÿATE LAST PATCHED: 11/22/80 12:6:6 SAVE FILE PATCH INSTALLED AT LOCATION 55564 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 422 * SAVE FILE PATCH INSTALLED AT LOCATION 61 * OVERLAY FILE PATCH INSTALLED AT LOCATION 14436 * SAVE FILE PATCH INSTALLED AT LOCATION 51414 * SAVE FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION 6SYS1MPDp”ee ÿ PATCH DIALOG FILE DATE LAST PATCHED: 11/21/80 12:5:25 SAVE FILE PATCH INSTALLED AT LOCATION 60641 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 422 * SAVE FILE PATCH INSTALLED AT LOCATION 61 * OVERLAY FILE PATCH INSTALLED AT LOCATION 14436 * SAVE FILE PATCH INSTALLED AT LOCATION 54471 * SAVE FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION 66 * SAVE FILE PATCH INSTALLED AT LOCATION 67 * SAVE FILE PATCH INSTALLED AT LOCATION 401 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 60070 * SAVE FILE PATCH INSTALLED AT LOCATION 62175 * SAVE FILE PATCH INSTALLED AT LOCATION 62200 15 APPLICABLE PATCH(ES) 14 PATCH(ES) NEEDED TO BE INSTALLED E FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION 6SEDITSV  ßjj 9Ž ¥ ° ¸ ¹ à Πßðu‡¢DEE+ Æ Ã1 ) …BÓ«ý=pÿF¬qÿÿ¬ÿÿÿÿÿÿ%ÿÿЦÿÿ.H2 Æ…5!ú û…A~A~A~A~A~EwEwA|A|A|A|A|A|A|A|A|A|AEAE z z3y1?Ò 1rÒ 1ÚÅ q1ØÅ oo1|Å m9m)mŽ1,Ò ½y)gŽ1fµ )e1eÍ )d1d9d½KÎ9iI1HÞ!^•Ò©…;ÿæ«þÊ�ª�9 ö¾+¦C!2)/Ž ¿„AA‹—™ A ÛA& BQ°…AA «)i)h1¶2!2Q .tð!*� ì¦A ˜ªgÓ ÿÐÿÊÿø% &Ǫ"€ ù)ðŽYå!Þ‚R '‚S‚B $¦A×!$�A×1"!"�QÔ�Î!�!Ë‚RQÌ‚S‚RQÉ1ÅÒPƦQÄAÀ!À†S†RQÀ¦Q¾AºA*t…ÿù 1²Ò ÷…A­!ªA¨ n!1ªÒ î…A¤A¤!¡Až d…PA  ‚ÀA— )•¦A“ 1«Å V Y S1¥Å  O j36 Í+-@#= , $!/'_^[*]<%;:&\ÿÿ“”› I Þ ß55Ï™˜ i O Ü�yÊ* È…fo 'mÿÿQ5Ò •%W-*= ª ú  5OÒ Œ]1⺷¾ ‚ª !5<Ò 5;Ò   ÛE9- 1µ U0%31æ*ªJ„Æ.ªÇç@€ úíò-5ÒJ�ÒKÒ�9vïÀçÒ ¦EE) 1ȵ­)µ  ü]Á…1¾3®­¯±²Ð´DY=%ø=ö1Rö2)R½6=íöö)3µ �€*2ªª’‚Pý¸PŸúJú\ 8ª@§)€�ŒI…Ê -ú ª’‚PýÇ-Çú ØŸ$ ]ÄŽMÀMÃ9‚ ÅLØÀÝ ø ‚Kˆ¿$ Ç-¬é)±¥ˆŠ¿ ýPö*ÿ 138<AEHKOSX[ais{…�ÿÿ‡`ÿ`ÿg?g?g?‡ÿ`‡ÿ`€?`Àçÿÿÿÿüÿÿäÿÿçÿÿÿ‡ÿÿ`çÿÿÿÿÿÿ…Q„EQ…„„ N=H-H1¶2Òœʧ G=C¾]AÞ]:]?…57°€5"…P• eÖ@Ò@=ß„�E…áY5Ò X  ï S9 *ªKú M® ²  ­¯Ã² Ð*ª # aDHJKMNORSWZ=:_;'&\ÿÿ gŒÇŒ¿\Œ¼Œ" Ù S iŒ» S % % % % % % %ÿÿY  )1¥¬• !QE•  Ï} ø!E ý ü!B ý øY;=>ú  4=8ú úA9/\ (1Ò !­  ­PI! ­P  )! …±¶$LPT¾ERROR IN ACCESSING PRINTER $?U Ç Æ+¦–¦¦�¡�¦¦¦¦¦¦¦¦¦¦¦™¦¦¦¤¦¦¦¦¦¦¦¦¦¦¦ZOCLRSÿÿSCPÿÿBDÿÿZNÿÿ#ÿÿ@ÿÿ 0@€Àÿÿ@€Àÿÿ€ÿÿ@ÿÿÿÿÿÿª û*…E)„…A)Y'=&%Yý�Y|9~YI{%-1}µ D1t"ÿ‚“‚�‚�­q1m"þ€ ‚Khúª Kd*ýªK­`ò ¿„Ä9\‚ŠW‚‚;‚ƒ‚€‚‹9UYS‚‹‚@)O§Š/‚€‚‚ 9D*þ!D¥åQGåA="*ÿ9?ï5Ü=6‚  • ½ -=ª ƒ1-"þÐÏ%')59*�!I‚ È‚]Y#‚]%%A12!9!-ï)6ª • š5°Ò °9¯1!•) ¨…ÿäÿíÿàç@º*. � 5øú Ò  1ë)´ò93"ÿçäBÿ /…€Ò …Aú€ Û+ÖÕÔÓ "ð Ý…P‚`•QóësY )¶2Y1 *�:í ÓÓù9õ šÿï %Æøøðà à@ç`ÿÿcÿçgà`‡¿€‡?ƒ‡ÿ†È‡ÿ‡‡ÿ‡H‡ÿ‡ˆÿÿ‡ÈÿÿçÈÿÿ¿Èÿÿ÷Èÿÿÿȇÿ‡È€?€€?€†?€(†?‚(‡ÿ…(‡ÿ…¨†?„(çÿÆh‡¿†(‡ÿ†¨çÿ†èçÿ¦èÿÿÞèÿÿöèÿÿþè‡ÿ†è‡ÿ‡(‡ÿ‡h€?€(„?€8üÿ„8üÿŒ8ôÿ”8„ÿ„8äÿÄx‡ÿ„xüÿ„¸‡ÿ„¸‡ÿ„ø‡ÿ…x‡ÿ…ø‡ÿ†x‡ÿæøçÿ†øçÿ¦øçÿÆø‡ÿ‡x‡ÿ‡x‡ÿ‡ø€€€€     Y{A{ !z–Qy2Qx2)sÏ w ²1q){¶YjAj)p9vYkji=hå ú cø9e�½Y^Š�1fQY [ Û9Wú 6 | _ ~2 e«0 b«À _¼ o R q P o Nª ; Aí d G f ` L¾!0 8)81-97ÏÅçª�IYŠ 1)V S!ª -SŽ #ð G I 0²À @ # B *¶€ '¹@ "²À 2  Øç€Äÿ"žÿ ¿é ÛHó5ò)îϪ Ò’ª�û‚!‚+I +!â§‚Y "ë 9 #Ã2R Ώ‡Ÿ›¼ÃÊ$!88OTO8Y É« â Å ä Þ Á— Û ¾ Ý÷@1ªÓÓQ§")¢‚ ")ô’¯ #!ñªJ Æ ðIë îª�Iê)æ À)ç 5Àª›ÔÓ)Þ®Z® ÎV Ü ²)׿  × O Õ  Y £5©Ó 2 1ŠIǺ1…ú E—%2 /1ù…ú E�-* 'Y 0ð-#ª@ª� ùWh…ú E$)«ÕPÏI1¶-J) M) ª  M R—–-ÐJ1 ÇÓ�—PŶ Àà �ÿ3*ªJ� Óú?Uo”{\Zâ�®( ÀC) ÀIAb-‚N£ ³½ ÀIÀCºüºí¹¹ ¸¢·¼·8‡HކFþ…º$„Fýƒz�‚“È€U?�˜ig¸¢f[uf?–rNe¿”ÀzÄeZ…d?}”]d[tc?7zžcZ„b[sa?I ±caZƒ`™`¿I zž`Nzž@¹û ‹»\,{l�¤€²cÿÊ&f?—`rN€Ø‚€8 Ø‚€G€H·3€ˆYF€È\�zÄ�HØ„�ˆH��ÈÖš‚¸‚H·÷‚ˆŽ‚ÈZ[ ƒuæƒHu새nZrƒÈŒZr„OÉ„8‚`÷„HOÔ„ˆºì„¸d§„È}ºì„øTÇ…�t…H�ì…ˆU4…È‹¼…ø¹ †¹ü†H§†ˆ¦‚†ø”b‡HºM¯H·^‡ÈŒ§‡ø_zÄŒ8Œ`ý�È<¦‚”8´`Õ—�2—ÈLÏœ8´` ŸÈd¦‚¤87a>¦øÖ¦§ø_Ø„¯È³È¿ÈªZ˜·ÈN‡Ä87bfÄx7\"ÆøtÇÈ”®Çø_HŽÏÈ‘”®×ÈZ˜ßÈ‘Z˜ä8Pa?çÈK·çø_FþïÈŒ³¦€(eÕ€heÆ€¨h¥€èh–�(gµ�hg¦�¨fM�èf>‚(‘eÏ‚hFeÏ‚¨‘hŸ‚èFhŸƒ(‘g¯ƒhFg¯ƒ¨‘fGƒèFfG„(‘g~„hFg~„¨‘h¦„èFh¦…(‘g{…hFg‡…¨‘f‹…èFf—æ(Ugφ(sgÙÆ(eĦ(hr†h9Àh•¦h‚fzæh f憨gÝŽ¨h“–¨‡h—ž¨Kh ¦¨–hž®¨Kh™¶¨Khž¾¨–h™Æ¨sh Î¨Fh Ö¨›h Þ¨œÀh æ¨}h î¨~Àh ö¨ž h þ¨N€h †è–h¥¦è–g�Æèh¿Îèh¾ÖèKfæèZh-îè‚h)‡(‚f‡h g±L`édoàéy`ë¯sêçL`é<’àë¶ŒéƒL éºbÀêP xë¾ ’àë¯ ™é´:éd[`éõ[`ë]o`éu`êç!€éU#R éº$D êQ-> 麃àë¹*€@êö€@ëH:ÀéZ:Àê <ë® <섃àéNëB€ é^‘ë®n뮌뮑ì„nì„Œì„ q ëH&H`êö'€ ëâ(€ ê)ƒàé±+o`éZ,”ÀéZ.G`ì2"�€éú"CÀé�"CÀë¿"~Àê"~Àëæ";`ëÖ";`éö"MêF"wêT" kÀëâ" G`ëâ" L`ëâ" :€éb"b€éV"z êÃ"cé³"b€éö"“`ëë"[`ìu"vêE"Càì„"Càë®"b ë6">Àë7">Àé"b é~"€@ë®"€@ì„"t`ëæ"béõ"€àéõ" :Àëæ"!q€é¥"%yÀéÑ"&Màéÿ"'Màëß"(€Àé9")b€êæ"*]éõ"+z ì.",…€ì„"-L€ì„".² ê"/�@ëH"0— é"1B`éÿ"2C`ë×"3™€ê-"4™ ê-"5• ë®"6MàìW"7ƒÀêã"8ì"9€ì„PA9ýý %:-=164Y2ª B54Y-ª  2 0ý0%/‚ Ó%, 2 0ý0]& (5#Ë!Ž…AM ð! !‚K„„ EA 5U 2 1E ‚€A‚C 'Ð+-Äà %À -Q¹…ú Eõ-ð ðY I ª� @)!ª’‚À < <101)¶ŠHú u UW - -h…ú EÓ-Î "Î…ú EÍ-È ÈY !�§ÏÀA ) Q·*M· …PE¸A°´…ú E³%® ®  2 #ÿ -Y%Aý± l5!;̓ýÍüÒœú Ò”ó% \Y%-'I"-! á ùY9� Òœ-9ï9�Ô1Æ1Å !ÓÅ ! :ý-ª JR0ÿà:[.?1%1"1"Q Ò Y!7ªK!6ªJ©  ¨YQ9û1Ý 99ã�Õ11&Æ ý1 î ç ô2€@ 'èd .H@( -+YI!1F—9Þ)DÍ 9Ú)BÍ 9ÙYÁ9‚C9‚@) 1 QÌ ‚!‚1ËQ´YÅ  Ç Í!*ÂY!(‚À ¾‚À ¼Y‚À ‚À Y1—)Ì)´ ª A Ê! ¥ Õ! ¢!  ÿ`<>! !   ¾À DONE. €­PI[…ú ü‘=TTAOYO!M‚Kä ^EN)Rª ­PIM!X X1GÒ 1> 2 119)9�µ ! H)5 Kð E11 2 118Ò A3Š „!0 ? 7)$ :ð 4)'I'&÷1 2 1Š 0!)9þ/ýPYîIM¥…AA !1 Ò æÅÐ¬Ä ú =÷YóýP]õ… % #* 2À ; +/\ (­My-wª [0 !v– 1Ex†/1o– 1)u§†/vEm’ Ie l©¨I_¬9\%^�KûƒýÖPÓ [… -R=OîªRƒ 'V)G«MH¢PÊP N1DÑ!Q‚P ,ª 9?½ ’)~ -ªÀ -!D‚P­  9E% �€’), -ïÓæ.5'9ÂÀ)g§·ž)í"Q†P5–*¢À)Z§�€1ÅS OòñÌêë.Ð %! ! ! ý 6Òâ$INSUFFICIENT MEMORY FOR OVLY TABLE ILLEGAL OVERLAY NODE NUMBER PROBLEMS OPENING OVERLAY FILE +LOÿY 8CKS14ÞX3ÿ81-Ý0X#+3…0\9"ªƒ‚�Æ�ûüª°8\ (ý’�*!‚ªÀ�Kþ )\ (! �ÿÚ“ªÀ3Ò‚ÀǦC )ÿðÿ)þCOPYRIGHT (C) DGC,1977 ALL RIGHTS RESERVEDLICENSED MATERIAL-PROPERTY OF DATA GENERAL CORPORATION8.X!|8 1ÈS ;ú ƒ­ Á!p "½ º ·)v ³)d1vÏIY)a!X1r·…AU!X q  p!Q­ )fµ g ,ª 1^µ ût�€’)W -)V -ªÀ -­ -å!/‚ &( 1H¶ 1‚  A)1C¶ 1A& SI#IZ!)¥ƒ‚JM J©¨IM1 19C) µø!I 8ý  øÿò¤ÂFCOM.CM@.VS ! !!  !Ü !    ! ø! î! ì0T~œÂÔSEDIT REV 0.10 ÀSOME PROBLEM READING SOURCE FILE: NO INPUT FILE NAME GIVEN IN COMMAND LINE HAD A PROBLEM OPENING FILE: NOT ENOUGH MEMORY FOR SYMBOL TABLE FILE NOT FOUND: FILE IS SEQUENTIAL: \ (ª@I-w9wú ¶ÒJú  4 !‚€ )\ (‚@Aü-e9eú ¶ÒJú  3 )ñª€8Cý )…ú!• / \ (QJý0YK)Kª )ú@YD9>ùYI9<#)D�À#‚@‚�Ž©¨15ÍÅ%A7+I41.•;Q6#10—Q1)/1!¶-!¶2ÒJ ,)( *1!Î9"í'ªÀ1!¶8SÿýPY9ú€ )) ¾ÌýY 9ú€ ) XÌÿ!!  )  NO OVERLAY LOADED ILLEGAL OVERLAY ADDRESS ÿÿÿÿûY: @)úÏÀ!ö¥  IóQ111%CAA–!A  ?1()éÏ9:¾#!!Å;9ÿ…ûYA ×)¥ K)Î1 U!–!  ?9ÿ dY ýP% ) Žïª 9)´ÏÀñpŽ5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚SYS2MPDp�ll!ÿ PATCH DIALOG FILE DATE LAST PATCHED: 11/28/80 0:32:56 SAVE FILE PATCH INSTALLED AT LOCATION 56264 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 422 * SAVE FILE PATCH INSTALLED AT LOCATION 61 * OVERLAY FILE PATCH INSTALLED AT LOCATION 14436 * SAVE FILE PATCH INSTALLED AT LOCATION 52114 * SAVE FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION 66 * SAVE FILE PATCH INSTALLED AT LOCATION 67 * SAVE FILE PATCH INSTALLED AT LOCATION 401 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 55513 * SAVE FILE PATCH INSTALLED AT LOCATION 57620 * SAVE FILE PATCH INSTALLED AT LOCATION 57623 15 APPLICABLE PATCH(ES) 14 PATCH(ES) NEEDED TO BE INSTKALLED PDRÝdd $SYS5LB!@ê h h  ÷ÿýÿ.GšM4kîÿ$I@…â�M qv‹M D„¡M q¡M ”œM qœM ”ñÿ’D’$’$îD@úZo @úZk @úZg  ‚�‚ñÿ’D’$’$òŽ@úZa  ‚ ‚¬*J*U9ï¦B"ñÿ’D’$’$ŠÿR)¥* ¨PüùíêJP®¥K‚åñÿ’D’$’$Oý*K*8 UúG Z B)2 P„Jž@Z=9ñÿ’D’$’$"8 Z5)Î J… BB Bº.)PîKK "ñÿ’D’$’$FÕFŽK�ªKõ­K"*:1÷ ñÿ’D’$’$ÖT?!ò")À§: *Jþ JKþJ)ÿñÿ’D’$’$8ÇbZýû¥þ¦ÿ?ñÿ"I’$’$*—pB©G…ø1¬8 ¨KS#P¬¦ñÿ¢D’$’$Á~Có€ @úZ:Júì)è " Bñÿ’D’$’$qNŒ J :úi!Æÿú;"J† :€ú#ñÿ’D’$’$‡Yš`)‚À‚§ :*K®J®  :;K® :ñÿ’D’$’$C¬¨€úÊ+C¾!�#ŽK :*K® ñÿ’D’$’$¶J® *Kª Ã9û+ ¥ªûñÿ’D’$’$!²Ä :#C :#+Œ+JªL)d ñÿ’D’$’$2WÒ *ªH)I D!Ƭÿ0"K‚*ñÿ’D’$’$ýcà "�J  "‚§" :K‚3!C*ñÿ’D’$’$ǵî "�J#+¥#B‚ ÿ &ñÿ’D’$’$â9ü@‚�‚B*P„ŽJ0 8 ;"@C"ñÿ’D’$’$ס ƒƒC"C*K2S;�ú¿`Y8ñÿ’D’$’$oz` €¶*ª ²*ªñÿ’D’$’$Œû&Jª²úB’*J…*KªB0ñÿ’D’$’$»~4¶Ê2ÂJ*Jª­2J0ñÿ’D’(’$B:úÖ!Æ’ ¨ÿøP# *:V1ñÿ’D’$’$MõP÷Jþ Kú ? ?V 0 ñÿ’D’$’$�™^Kú ? ?K 0 *:¦Cñÿ’D¢$’$KÄl±)È ®)° ‰!ƬÚ0Í@úZ1 "ñÿ’D’$’$CNz €!K†…B›!Ƭÿ0 :+Bªñÿ’D’$”$4òˆ +;½  ZŽ)¦ �)Ž ‰!Ƭƒñÿ’D’D’$ßO–0„!ÆP­•0"¬J1— ?ñÿ¤D’D’$wn¤?wûBJR BP…@Âøÿ’D€$y/² ‚0 2B"ñÿ$IП¯ëAG§ì!šš§ì–s›êÁpIûë¡“aÿÿ û_€ýÿ«ß] ôúÿˆ¦Qê ƒ l Fôÿ`Ûiì ì;ÿìCxÿ¦¤CvÿýU<ÿþÿˆ%wÛñÿ’D’$’$:å\91" €]+ ¥"+ ¥ !–ñÿ’D¢D”(egô!PæST,T-UQ,EoIK,LKñÿ¢D”(%ÑJRP,IcUS,SQDR,YUUR,NnED,Qñÿ’H’$’$4K*ÕÿÿS ÿ9 å,P/1–!* 0ñÿ’D’$¶%i—8 !K9*ï !¬ÿ ñÿ’D’$’,yFÿÿ 5 ÿ!ï/ ÿ ñÿ’D²$”%Ñ“Tú+ ÿö!äNÿ!à"ÿºñÿ’D’$’$Äob0 H 9½R¢(ÿñáQ­­ñÿ’D’$’$ÒpI ¨GCAe1 Òâ: ½  øÝ9ñÿ’D’$’$̲~öùÿÿÿPq!n1* : ¾ñÿ’D’$’$H²Œj9öƒù)!­&Q8+J+J+ Jñÿ’D’$’$KHšç#¬JP­J!ß 0" ¨Þ9½ñÿ’D’$’$TÛ¨øç¦ 1Bÿž1…B!‰ñÿ–L’%’$Šl¶>!ƒ2ÿù!: K8 PªPªñÿ’D’$’$ßPÄP²PÒPÒPÒµS/ 3¶S+ ª¬Kñÿ’D¢$b;îYÒ' KÍ« ÿØ]¿`X Añÿ’D’$’$áà¤9¿áAØ9Àï9ÕS SK 1ÞñÿâD’$’$^›îƒù83èQÿ (Y‰ ¨ñÿ’D’$’$ ü¾»9TSTA =P,IR = ONQ ñÿ’D’$’$I� EUEUA ERAKOIT DON TCAITEVñÿ’D’$’$ì–NIUP TREORRLIOLIGAC LUQUEöÿ’D’$¤ƒ&ERPGON TOF UODNÓÿ$I$I$Eøçì!�?N¡~F{l!Žƒ+l!Ž€–ë¡“®ì�IVì¡HLìAIkì¡IR¿‘P\‹é¡™Öô½áCÿ&ÀÁ?`G±!“GFêÁ”.ýÿ@Ä ºAôÿÿ û_€ýÿaÌg 4“åÿ$R IrµG± “b ì I ì � ¿‘Pª ºAùN ~!+l Žý{l Žþ&ÀÀ?8ôÿ`Ûiì ì;ÿ¦¤CvÿìCxÿýU<ÿýÿ‰®vSñÿbGâ$’$.0¿`X ¨ + 8)3S1ÿñÿE’$’$ˆÛ"!‚‚¿` 0 2 ‚ûûZÿZñÿ’X’$’$±0À8 Yü9P¿Púø1Àö ÷9�¿ñÿ’D’$’$¡ã*�ú�ú|1ö z9¿w1ö ì1 ñÿ’X’$’$Ôš8XIA )’šÀª#§ÀÒÆC)!ƒñÿ’X’Äâ$¨­FÿX�š3ú9 úÀÒ÷ƒ¿`ñÿb[''oãTX M1 ÒQ 8+!ŽK�ýñÿ’D’$’$B†b0! "</IC1+) µ,ö 0 2 Ð-ñÿ’D’$’$}'p : ½2ú*ê9ï í#)�9îñÿ’D’$’$²ã~J©:YQÇ ³A!² A¯!«ù 1ñÿ’D’%’$mÇŒ*Ó!€�JÑT,*) ¨ñÿ’D’„²%øtš ! !¬  Øäÿñÿ’D’$’$ר0Y 83 Ð õQ*K )J…B÷ÿ’D�%]v¶ BÊ ÿÄÿÿÿ@¿ìñÿ’D’$’$ç]ìNIUP TREORRIT DON TOFNUD«!ñÿâD’$’$��ú ‚¯ ­P­3I0Y7 89 Ý1­+I39ñÿ’D’$’$øY Ý2-9 Ý$%9 ú˜9#)´܆õñÿ’D’$’$ýg)SºRúûîRªøÎI çQ9ßñÿ’D’$’$wâ$„) ½î‚)Ï1RÒéSÒRÒæîñÿ’D%”$Ǩ29¬ú,Jø  �€ò8ñÿ$IgÓë�A¿¡z½l F§À�N»Õºa– ÿÿ û_€ýÿΈ¿trñÿHRý²a¡À�Hë`k Hëà� ìÀ¢ Hë@O ôÿ`ÛiìýU<ÿ¦¤Cvÿ ì;ÿìCxÿûÿ$‰u�‰ÃñÿlG’8’$Üà¿`X " 8+ ¨ *9 ï.F9ñÿ’D’$’$7¦*Àï �B9*ïÀŠ«J9*îñÿG”$œ(íJ83)3S1ÿBÿž€ñÿ’X’Ä’$bÌ*8()#À§8+K$)K †C !+ŽñÿGâ$’$•Ä8K*9Àï ¥ì8#î !‚‚¿`ñÿâD’$’8ã‹F 0 2PZ:Z ‚ P‚ ? ÿñÿ’E’$’$t Tÿþ*%ID ø9Z*É9íJ`‚ñÿbG’$â$é b X ‚ 0 2: �2 Ðû:ñÿ’D’$’$Óp ) ¿ùÏ)¨¿)JZï ñÿ’D’Äì(ÔÜ~¿` 0 2PZ:Z"¿`XñÿœXb;’$ÓŒ   ¿`X 0¿` Z  ÿñÿ’D’$’$Oš1ÿX´9ÀŸ 02*ìõPúPúñÿ’D’$’$íǨö«9ç*X¥9À¿ å驨 !ºñÿ’D'’$¨¶Ÿ åâJ�0"•9ÀçP‚£ ¿`õÿb[’8ÀG�ÄX × ä 83@ÒSôÿ I_±›êÁp™ô½áC�Õºa–#b¿A–%ÿÿ û_€ýÿrÖ¿´:÷ÿŠÂD‹é ™ }­ie–ë “ ôÿ`Ûiì ì;ÿ¦¤CvÿìCxÿýU<ÿýÿ‰väñÿlG’$’$ò”¿`X 3" €$*X9å åñÿ’D’$’$U¹T9íG9æBH9¼@*G!À�DQE ñÿ’D’$âÄ"h =1 ! ‚  )8ñÿ’D’$%‚=*ÿ6!B5!Bè2"1&1û(Y$9ñÿ’D’$’$r&8 ø…"A"+¥  ¥"+¥ñÿ’D’$’$9CFY; øó9 ú+SJb  9Qñÿ’D’$’$¯ÒTZû1ÿ(ÿÿÿÿÿÿñÿ’D’$’ÄÿubÿÿÿÿüAüIüMü ò9 ø Žê)…ñÿ’D’$œ$ó©p3µC’S; øøè!è)à9 øñÿâDâ$â$�~3Å •3Í×Y 83 Ð*ñÿ’D’$’$CÓŒK­ JÎ95)JZ#)§BÊI+ ñÿ’D’$’$9všÃ93Ã)ÅÏÁ ­1 J¹9�­ K+ñÿ’Dâ$’$õ¨ ¨ ;¯YËÿÿ+¨1#ñÿ’D’$’$.]¶Ž´ÍüK3�Qòò ¶ñÿ”E’$’$xÄÄÿ�6P" € *2ÿ0*ñÿ’D˜$’$¼^Ò ªJ *‹ª*4!À� 0:­ Jñÿ’Db;’$Bûà ¿`X   "J‚ ºñÿ’D'œ$äî*K…BÀ8S€‚`‚ BúXñÿ’D’8d' «ü19 Q2 Ð"Àç ¥ù)Vüÿ�H· Tÿèÿ$IIYû’zÿÿ û_€ýÿ©çÀ–ôÿ@’Œ¦ZêÀv ¯ëA §ì š §ì– ôÿ`ÛiìýU<ÿ ì;ÿìCxÿ¦¤Cvÿûÿ$‰Cv'"SñÿG’Ø’$& ¿`X0ý#Y š; ú ªV ñÿ’X’Ø'"/šK0*g9îJB18ñÿ’Dâ$’$<<ÿ1ü#M¿`XüÞ?g¡þ¿`ñÿ’D’$’$] *'Y’2 Ò ª!1 2: å2ñÿ’D’$’$¢ß8 Ðû :@ú@úCúø�ú€ú�úZJñÿ’D’$’$ßœFšK 9Kú`Ó1ûÒ1ùÿ¿`ñÿ[â$œ$”uTX ¿`š+ ª¹0JÕS ñÿ’D’$’$Zb 0 2YI: �2 Ðû) : )ñÿ’D’$’$Ç}p ¿ø )¨¿Z)J  úÿH–¶fÆÁ8Rô½áCÿÿ û_€ýÿb†¾AñÿH’¨Ýì@I ì H ì€I ì I FêÀ” ôÿ`ÛiìýU<ÿìCxÿ¦¤Cvÿ ì;ÿúÿ$‰@ë5"3<dñÿbG'’$ñ[¿`X +U 8S…*BªJªPƒñÿâX’$’$Ö8CN!üƒBª Cª÷ƒ*Jªƒñÿ’Dì$’Äã\ƒñP†Kªü÷¿`X +2 2P­ñÿ’Dâ$b;e$*¿`9"ç ªäBÿ¿¿`X +ñÿ’Db;œ$Í8! !­ï¿`X + )JPñÿ’D’$’$ö\F¿`")§è9ç9 ç…B 8 +Jñÿ2G’$’$bAT S°ÿÿ1ÿ1 ÿñÿœD’Ø’$¶Èbÿÿ¿`X +ð ðÀŠ¿`!:Ÿùÿ’D$>spÀ§žZÿÿîÿ$I@É”pÀ¡pc¿¡zb¬¿At›êÁpXô½áC\†¾�”Yÿÿ û_€ýÿ<ᬿ_ôÿ@Rã�¬¿@ Œé ’ ´é ’ lë_ ÷ÿÛÅþ¦¤CvÿìCxÿ ì;ÿüÿ ‰°vñÿbG’$’$Ì®¿`X ò):¿Àª§žZ 8 ;+ñÿG’8b;]ˆ ¨ Ê ÿÿÿ¿`X ¿`óÿ’X’$€8¼˜X 8 I +@ª ª K)ÿ`÷ÿI¬Óë�A$¿¡zpÀ¡pÿÿ û_€ýÿ¤¬D½–ýÿ€| 退 ôÿ`Ûi즤Cvÿ ì;ÿìCxÿýU<ÿþÿˆxñÿlG’$’$Ñ¿`X + ª) )¿`*Kª! �ñÿ’D’8’$ÕÄ!�ŒJ8)S3S1ÿ0"ñÿ’H’$’$÷ë0ÿ¿!‚‚¿` 0 2Z:Z ª 2ñÿâD’$’8«!*  ÿÿÿ1 0 2P1ÿýÿ€Dк81HîÿI@°•pÀ¡p.ï¿n-†¾�”/›êÁpÿô½áC7Õºa–ÿÿ û_€ýÿ‰ÆŸ¿Ôyúÿ�½rçë@” _ëÀy ôÿ`ÛiììCxÿ¦¤Cvÿ ì;ÿýU<ÿþÿˆxõÿbGœ$ yå¿`X ¿`+!ŽK@ÿÿ û_€ýÿ¹ÀoÀÔ~ôÿÀ$ˆŒ+ì@O 2ì@O%ì@Oßë “ þÿˆx÷ÿ’D�$ˆª0 "¨§¤ @?dÿÿ û_€ýÿ4Ì”½4vÓÿ$I$‰DI¼†’z<ˆÕº@–_†¾€”'}­À{SÖ� ’ ýU<ô½àCU�€…~ï¿n‚¿ zjpÀ p�b¿@–Õº`–\ì@x#¿ªîÿHR€*ƒÀ€N›ê`o ¦¤@v ì;›êÀp ûë “ þÿ(™×Xþÿ(úÖøÿ"‰€HÝ*ðÏ ® ñÿ’H’$’$£X 0 2ZÒ>O9 ø1 Íÿÿ¿`ñÿ’D’$’$ãû 0 2 Ð 9…* ¿ Â2 ÐúÕñÿ’D’$’$¶/7) ªÓEÈHA0Q: ø*3X!�ñÿ’D’$’$æä*Ç �<1 Ò Zò )K 1 8#)ñÿ’D’$’$á_8 �  "b"`""@"&@*:�úYñÿ’D’$’$^ÕF:X 8 S":2`  0 Zàñÿ¢D’0’$kÙTÿˆ¿`XT *Ó@ÓSK+ ®ñÿ’D’$’$¬ibKò¿` 8 SþI 0)¶)>Yñÿ’D’$’$—EpùQ2 Ð:¿œùð9ð1*KZ0ñÿ’D’$’$è£~êIïÿ+Y 8+JS&Y1 8`ñÿ¢D’$’$9 Œ S�Y 8 ;­ õê; øñÿ’D’$’$³bšúªº*K * 8 K ¨­) ªñÿ’D’$’„Óx¨)Ú´ ÿY 8 ;XCKSÿñÿ’D’$’$K¶C 02œ! — �b C�`C" C& CñÿBF’$È$cöÄÄ 80@ÂC€‚ C#+ß¿`Xñÿ’D’$Â$6ŽÒÜ S)Ä�R _ 83 Ð7*K8+ñÿ’D’$’$sQà@ªJ+JB)À� J™) §#§ÊB ñÿQ’$Â$[šîj¿` 8 +• ² : ú˜ ‰ Cúñÿ’D’$’$Ùçüý Zù ê JZ#)"§B‰ 8 +ñÿÂDÂ�˜„ã J S¿`X C18SþÿDƺ"ÿÿ@Ù¾&ñÿ’D’$’$²X&ÿY9ï 0 2 Ð  : í2úûÿ’DWq41Üÿÿ@ƾ9ýÿ€D¹91ÿ÷ÿE6ÉÓë!AµÓë�Aÿ}­iTÿÿ û_€ýÿ½È+¿xýÿ@Ôˆ+¿xþÿ(Ó×þÿ(úÖñÿ’H’$’$ðê 0 2*Zª"*:X8œú:ñÿ’D’$’$1Ú2 !H¯‚`:�úY:2`Õñÿ’D’$’$HÿY8 ú¿` 8 ;CKSñÿ’D’$’$4*òÿZð9(J+Jû@ûZ* ®Jøÿ’D€$Oµ88œúÂH‡‚`ýÿ@’Óë�A+ÿÿ û_€ýÿ¦‚[Ô�ýÿ •ùl Fÿÿÿÿ û_€ýÿr`Ö[´Cýÿ „É}­iÿÿÿÿ û_€ýÿßI\Ô¢ýÿ€7å ìÀ¢ þÿˆxúÿ’D P1 Oÿÿ û_€ýÿÕ#“š”Aôÿ�$µvÓë€A8Óë`A0Óë@A(Óë A ÿÿ û_€ýÿääY4�ýÿ@ùÈäY �ÿÿ€÷ñÿE’$’$ãªè¿`T¿`R¿`P¿`N¿`L¿`ñÿ’D’$’$ΣJ¿`H¿`F¿`bAbIbQbY°ý\Y>)”ªñÿ’D’$’$ç 8â!æáE8!+ � +CK 3"ñÿ’D’$’$ôÆ**:�ú:2å 83kQ"1Sÿ*H +ñÿ’D’$’$€�8dI1 S+_I0­K`(J)EI_!Añÿ’D’$’$q›FAB9PÔ#GûBÖü¾þ+II7 ýñÿ"E’(’$ ¥T6Ž ¢ öö+1  ó(9ñÿ’D’$’$Ûïb`-Y' ­(I& &)>9¾+# !) P„ñÿ’D’$’$�×pŽ« ó Y !Æñÿ”D%$%²æ~  /Bd÷BñÿI¢(’(ÞmŒ�]�€`­ñÿ’D”DÄ06šûøÿ vñÿ’D’$’$ñ¿¨ß!‚ú„ñÚA 0" úß%ÞEJ‚é ñÿ’D’$’$Fs¶Õ Ü%áAÏ1ÒãÕ%úP…Ê9öÿB×%HAñÿ’D’$’$Æ®ÄÛ1ÏQÞ1/KWÓûÈúË)Æ1·9Åñÿ’D’$’$PÒÅŸÓ1öœú*¾ @Ž1!¼9ñ Ç Ÿæñÿ’D’$’$²ûà€ª/I¶1Æ'A»1³)PÙŸ»—>]Åñÿ’D’$’$îpý²YA±9´1²!8)ZÓž«ü¿` 8ñÿ’D’$’$ü ) KŸ1Sÿ*H™)K`!%@‚ % - 5ñÿ’D’$”$±4  =�Œ‹ŠY =ú   Àñÿ’D’$%Y� 9*Cªú �² !d™ñÿ$I¤H"E¼&uvwxyûøÿcÇÖ÷üÿñÿ’D’$’$ݶ4ú=ú1ô!1úö!= Ÿë öñÿ’D’$’DOBá Q*MW P…AéE^á *ñÿ¤HE"%¸PQ÷vz úÓ ú= uBö5ñÿ’D’$’$›v^Î)úÓ!JÒÈ *Ž�ÒÅ ë9I#æ) •ñÿ’D’$’$¯l/ �àYûøÂÛ9SP…C$Ý! Añÿ’D’$’$=�z 1×9Þ+Ò! �Ö øÍ91¥)ñÿ’D’$’$«*ˆ¨!‚ ¶Ÿ Þ3Á! •𠢬ŸAñÿ’D%’$%ï–º!Cû«ý8Y !1‚1 ñÿ"E’D’$‰Œ¤^8Ó…ú]AY)ð ,…úWAñÿ’D’$’$¡Á²S)2 &…úQAM)  YI 9�ªÞñÿ’D¤$’HÂÀ ) !’ªÀ‚  ÀÀde01×YñÿE’$”$8ÎÎ< ù Ó3)@ª‘ª0)…ú0Aô ^ñÿ’D’$’$=lÜ1…ú)A%! ø1ù¿Y!�ÿ§ñÿ’D’$’$ÈêÀÏ.A ,) µ¸QG¶1)µŠÝñÿ$II")¬ø�Í冻ŽQ…„eâáûñÿ’D"E’$ ùÿˆ ]â! Y À‚ ñÿ¤D”D’D3à ONeŽçã=�Õâ-ñÿ’D’$’$~}"P„ª¬ŽÞ ß1ÞÙ]ÛY9×5P… •Õ ñÿ’D’D’$nÓ0@Ö@ÒÐ=õóP„äAý ýÌ!Î)Ü5ÚÌ1ñÿ’D’$’$k>Ø]ªBÆYÌ Å1ËÓ!Ž…ÐAºIñÿE’$’$‚L¾ ½!Á Ë!C‚„ „´AÁE¯1²Q"¬Añÿ’D’$’$¾Z€‚ÀAC‚• …½E­E~A~A~A…~A~A…ñÿ’D’$”(#+h}A}A}A£A}AÇE|E|EW e -kñÿ’D’$’$›Bvr1Žr%‚¶ Ò?Š1z9íδj)j9ñÿ’D’$’$�%„©`_1Þf!”æ…ÿ;æ«þ�Ê�ªñÿ’D’$¢$ÿm’X9ö¾+¦CG!G) ŽÕR Œ ñÿ’D’$’$½d FAb ?QÍL)‚K):1¶2H!Q* ñÿ’D’$’$úm®…1A5A-½2!* �ø¦-A¶+!ñÿ’D’$’(_{¼R‚> S‚R‚; ©1I¤"A[Y ñÿ’D’$’$¹;Ê1*)*1¬¥ •(!•1 9A3*ñÿ’D%’$®YØJª�Óúñÿ’D¢HIÑæöÿ‰Š%z�doñÿ’D’$%bDô}$ !1Õ! ýBU?ñÿ"I’$’$ïPeqUQã!‚ó Ý!à-è9 ¾¾ì ñÿ’D¢$’$Ü9ªÏ)Í1 ¶Ù Œ ÍAÐ- 1µT ñÿ’D’$’$$èÃQÇ!Ã9úØ @ç41*KªÐ Òñÿ¢D’$’$NF,. ÷ ³)³1JÒ�Ò¦­AÍEL)!1ñÿ’D’$’$Öt:­µ§!H1£)¶2Ÿ9ö2ʶ ú’ªñÿ’D’$’$Œ;HP‚ý•–)úØ$Ÿ ’YŽ�I°M‚ñÿ’D’(’$ñ¯Væ1ü�ÀØ Ý�  øK‚ˆ$¿ñÿ’D’D’$/Ëd— Ç-êâ-¥ˆŠ ¿� PýõPÕñÿ’D’$’$Í@rB‚ÓB‚B‚ÓC‚ýÓÓ )§ñÿ’DI%Ú€Ó ¥Ó-{ 8ªû6ÿ…ñÿ’D’$’$x„ŽsE„…qAqYp=ooY�ýnYn9nYnIe%ñÿ’D’$’$R÷œe-l1 µ8d1ÿ"“‚�‚�‚q­]1þ"_ƒñÿ’D’$’$ªYû ª;Uý*Kª­QóU9Š‚Mñÿ’D’$’$� ¸‚‚0‚‚LYK)Ч+€‚‚‚ C9þ*D!¥ñÿ’D’$’$ UÆåDQå'² C -Kšÿ"@)K›œ�¿ ñÿ’D’$’$thÀCETMWLQABDFNYRñÿ’D’$”$èèÎVJSKP=:_;'&?ÿÿu€ñÿ$I$I$IîyÜ›€œ€�…�…�€5:]…®§�胩­ñÿ$I$I’H�€ê�…]–¹ðððððððÿÿñÿ’D¤$$I„>øQQQQQQQñÿ’H’$’DƺQ?f?f?f?f?f?f?f?f   ñÿE”$’HP  P…`‚•�Uˆù�ŠR5Ò'ñÿ’D’$’$¬œ"T5Ò$M9 å! À‚QE N5–ñÿ’D’$’$X¶0LUH @) ¥D  Ò?UY …> 95)ñÿ’D’$’$}ô> ¥ ‚ ‚…õ.5Ò,1ñÿ’D’$%'L Å *5 Ò# …"E%(E$ $ -# ñÿ’H’$’$hôZv!ZŽE%R‚ S‚R‚  5PÒÆñÿ’D”D"EËûh¤Ep€Ò Uýç‰"ûéñÿ¤HI”$$9vó.ÇÖæ…úE% ^ñÿI’$’$.΄YÀ‚ À‚ Y5—-Ìñÿ’D’$’$-á’)´  AÊ! ! !ñÿ”D"E”$j( $s`e]<>„ „Tñÿ’D’$’$y‘®ú8 4!U U  f R /!O O  O1ñÿ’D’$’H ¶¼_ K K!H H  H1R 8HYH1~gñÿ’D’$’$vƒÊÿ}tCBYB1~gÿýt=xYó 51~gÿñÿ’D’$’$êØ½`~gÿ}tñ nnY~gÿ¾a(1BhFñÿ’D’$’$MÒæTg% ‚Ü ú!  Ù , Ô”‚ Ó ñÿ’D’$’$[žôò!  Ü 1" Ê ‚S”‚QÇ ! öÿ’D)„( Û 1 ¾edS ÿÿ@ð¸ýÿEá¬ÿÿ@ê¸ñÿ’D’$’$–m;Y3!/AP­1I5Y-!)A5!+APÒ0Q ñÿ’D’$’$zg#%A�‚�‚�‚�‚)§*1–"Ú !)§ñÿ’D’$’$/Å1#1–"Ó 1ÓéÏ ! Aäñÿ’D’$’$™ž?)�Ò" ‚À‚§ñÿ"I¢$’$…UM^ûÿU012345ñÿ’D’$$)�E[6789ABCDEF�  —ñÿ$I$I$I•²i›—     “   ž  ñÿ$I$I$Iܹw    º¼ÁÅÊÎÑ¿×Óñÿ$I$%’H …üôðpp�¤¦ZOCñÿ’D’$’$Ãg“LRSÿÿSCPÿÿBDÿÿZNÿÿñÿ’D’$’$öf¡#ÿÿ@ÿÿ 0@€Àÿÿ@€Àñÿ’D’$’$æÞ¯ÿÿ€ÿÿ@ÿÿÿÿÿÿÿÿ‡ñÿ’D’$’$•ó½`ÿ`ÿgñÿ’D’$’$�ƒË?g?g??ñÿ’D’$’$s;ÙoU{”\âZ®�(ñÿ’D’$’$U¡ç CÀ) IÀ ½³ IÀCÀñÿ’D’$’$A‚õüºíº¹ ¹ñÿ’D’$’$#í¢¸¼·8·‡ŽH†ñÿ’D’$’$ÒþF…$º„ýFƒ�z‚È“ñÿ’D’$’$:ž€?U�i˜g¢¸fu[?f–ñÿ’D’$’$Å*-Nr¿eÀ”Äze…Z?d}]”dt[?cñÿ’D’$’$Â%;7žzc„Zbs[?a Ic±aƒZñÿ’D’$’$èI`™¿` Ižz`Nžz@û¹ ñÿ’D’$’$WÔW»‹,\l{¤�²€ñÿ’D’$’$=Øe`Ldéàoé`y¯ësçê`L<éñÿ’D’$’$aWsà’¶ëŒƒé LºéÀbPê xñÿu’D’$’$Ð�¾ë à’¯ë ™´é:dé`[õéñÿ’D’$’$¶]�`[]ë`oé`uçê!€Ué# Rºéñÿ’D’$’$É,�- >ºéàƒ¹ë*@€öê@€HëÀ:ñÿ’D’$’$hC«ZéÀ:ê <®ë <„ìàƒéñÿ’D’$’$T¹NBë €^é‘®ën®ëŒ®ëñÿ’D’$’$<ÔÇ‘„ìn„쌄ì qHë&`Hñÿ’D’$’$Õöê' €âë( €ê)àƒ±é+`oZé,ñÿ’D’$’$}LãÀ”Zé.`G2ì"€�úé"ÀC�é"ÀC¿ëñÿ’D’$’$URñ"À~ê"À~æë"`;Öë"`;öé"Mñÿ’D’$’$e°ÿFê"wTê "Àkâë "`Gâë "`Lâë "ñÿ’D’$’$Èr €:bé"€bVé" zÃê"c³é"€böéñÿ’D’$’$/# "`“ëë"`[uì"vEê"àC„ì"àCñÿ’D’$’$Ùæ) ®ë" b6ë"À>7ë"À>é" b~é"ñÿ’D’$’$èð7 @€®ë"@€„ì"`tæë"bõé"à€õéñÿ’D’$’$DSE "À:æë!"€q¥é%"ÀyÑé&"àMÿé'"àMñÿ’D’$’$1mS ßë("À€9é)"€bæê*"]õé+" z.ì,"ñÿ’D’$’$c�a €…„ì-"€L„ì." ²ê/"@�Hë0" —éñÿ’D’$’$¹Åo 1"`Bÿé2"`C×ë3"€™-ê4" ™-ê5" •ñÿ’D’$’$R} ®ë6"àMWì7"Àƒãê8"ì9"€ì:"ñÿ¢D’$’$-‹ `—Pê¯ ¿` 0 2*Zª "*:X:öÿ’D’$j™ �úY:2`ý!ÿÿ@P¶¯ ñÿ’D’$’$‹#¯ ¿`Y 8 ;CKS1(KK*KÓñÿ’D’$’$$c½ @ÓS+ ®KòOCYPIRHG(T)Cñÿ’D’$’$fpË GD,C91271,79,391471,79A5LLR ÷ÿ’D�$-kÙ GITH SERESVRDEÿÿ û_€ öÿPLCNAKËËAT28ÏÐ92PROGRAM T27(INPUT,OUTPUT); TYPE ALPHA = ARRAY [1..35] OF CHAR; VAR IOCH,BYTES,ERROR : INTEGER ; BUFFER : ALPHA; FILEEND : BOOLEAN; PROCEDURE OPEN ( VAR FILENO : INTEGER ; FILENAME : ALPHA ; VAR ERRORNUMBER : INTEGER );EXTERNAL; FUNCTION ENDL ( IOCHANNEL : INTEGER ):BOOLEAN;EXTERNAL; FUNCTION ENDF ( IOCHANNEL : INTEGER ) : BOOLEAN;EXTERNAL; PROCEDURE RDLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : INTEGER ; VAR ERRORNUM : INTEGER );EXTERNAL; PROCEDURE WRLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESWROTE : INTEGER ; VAR ERRORNUMBER : INTEGER );EXTERNAL; BEGIN OPEN (IOCH,'FOBAR',ERROR); WRITELN (OUTPUT,'OPEN, IOCH=',IOCH,' ERROR=',ERROR); BYTES := 127; FILEEND := ENDF(IOCH); CASE FILEEND OF FALSE : BEGIN RDLI (IOCH,BUFFER,BYTES,ERROR); WRITELN(OUTPUT,' RDLI, IOCH=',IOCH,'BYTES=',BYTES,'ERROR=',ERROR); WRLI(2,BUFFER,BYTES,ERROR); WRITELN(OUTPUT,' 2,ERROR=',ERROR); END; TRUE : WRITELN(OUTPUT,' FILE ENDS'); END END. POSTFIXPXÜÜ )<POSTFIX Copyright (C) 1980 Rational Data Systems¼ )Ö¥ÌØ¥Ïè ËÖ¥Ï “„¡ö­ "è(áÖÎÖι Ö¥€„ÌØèÏÖέ$ÖÎè*Ãè/Ã�¡èÌÖÎÖÎÖ¥€„ÌÙØÏ¹ö­!,ÖÎè+Ãè-Ã�¡èÌÖÎÖÎÖ¥€„ÌÙØÏ¹ö­!,ÖÆ€„Æ€ÂÏÖÆ€„¦OUTPUTÏÖÆÆ@ÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€„ÏÖÎÖ¥€„Ì�Ê� ÏÖÎÖ¥€„Ïè.áöÖ¥Ï ¡ôÖÆ€„ÏÖÆÏ­65~䶈 = 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL '; KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEYWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BESEQ01ëÕ¸ ; READ SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; RDSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAÂR NBYTESREAD:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS IS ON THE STACK ; AC3-1 NBYTESREAD BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .TITL SEQ .ENT ?RDSQ .EXTN XPRET .NREL ERROR=0 NBRED=ERROR-1 NBYTES=NBRED-1 BUFFER=NBYTES-1 IOCHAN=BUFFER-1 ?RDSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO READ IN LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .RDS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OF NO ERRORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBRED,3 ;GET BYTE ADDRESS OF NBRED MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBRED TO PASCAL SUBO 1,1 ;WARN XPRET PROCEDURE RETURNS XPRET ; WRITE SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; WRSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAR NBYTESWROTE:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS IS ON THE STACK ; AC3-1 NBYTESWROTE BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .ENT ?WRSQ ERROR=0 NBWRO=ERROR-1 NBYTES=NBWRO-1 BUFFER=NBYTES-1 IOCHAN=BUFFER-1 ?WRSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO WRITE OUT LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .WRS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OF NO ERRORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBWRO,3 ;GET BYTE ADDRESS OF NBWRO MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBWRO TO PASCAL SUBO 1,1 ;WARN XPRET PROCEDURE RETURNS XPRET ; ; READBYTE.......CALL VIA ; RBYTE(IOCHANNEL,BUFFER,ERROR) ; ; PROCEDURE RBYTE(IOCHAN:INTEGER;VAR BUFFER:ARRAY[1.10] OF INTEGER; ; VAR ERROR:INTEGER);EXTERNAL; .ENT ?RBYTE ERROR=0 BUFFER=-1 IOCHAN=-2 ?RBYTE: STA 3,USP SUBZL 1,1 ;ONE BYTE TO READ LDA 0,BUFFER,3 ;POINTER TO LHBYTE OF BUFFER INC 0,0 ;INCREMENT BY ONE LDA 2,IOCHAN,3 ;CHANNEL IN AC2 .SYSTM .RDS CPU ;READ ONE BYTE INTO RHB OF BUFFER JMP .+2 ADC 2,2 ;GENERATE -1 FOR NO ERRORS MOV 2,0 ;ERROR CODE IN AC0 NOW LDA 2,ERROR,3 ;GET ERROR POINTER MOVZR 2,2 ;MAKE IT ADDRESS STA 0,0,2 ;RETURN ERROR TO PASCAL SUBO 1,1 XPRET ;0 AC0 AND RETURN TO PASCAL ; ; ; WBYTE(IOCHANNEL,BUFFER,ERROR) ; PROCEDURE WBYTE(IOCH:INTEGER;VAR BUFFER:INTEGER;VAR ERROR:INTEGER); ; EXTERNAL; ; WRITES ONE RHBYTE TO IOCHANNEL ; .ENT ?WBYTE ERROR=0 BUFFER=-1 IOCH=-2 ?WBYTE: STA 3,USP SUBZL 1,1 ;GENERATE 1 BYTE TO WRITE LDA 0,BUFFER,3 ;POINTER TO BUFFER BEGINNING (LHBYTE) INC 0,0 ;MAKE IT RHBYTE LDA 2,IOCH,3 ;GET CHANNEL NO .SYSTM .WRS CPU JMP .+2 ADC 2,2 MOV 2,0 ;ERROR IN AC0 NOW LDA 2,ERROR,3 ;GET ERROR POINTER MOVZR 2,2 ;MAKE ADDRESS STA 2,0,3 ;RETURN ERROR TO PASCAL SUBO 1,1 ;0 TO SAY PROCEDURE RETURNING XPRET .END CBOOK ö7Žq PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK,ERRORENTRY); FIELD = RECORD KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1 : (IMREAL : REAL); 2 : (IMINT : INTEGER); 3 : (IMSTR : STRING[10]) END;{RECORD} VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; LOGFILE,OUTFILE,INFILE : TEXT; NEXTFIELD : FIELD; NFIELD,CATEGORY : INTEGER; N : ARRAY [4..7] OF INTEGER; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} {$I GETFIELD.PI} PROCEDURE ERROR; BEGIN WRITELN(OUTFILE,' ERROR',STR); END;{error} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(OUTFILE,' CK ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(OUTFILE,' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(OUTFILE,' DP ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(OUTFILE,' CM ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(OUTFILE,' DM ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(OUTFILE,' CC ',CHECKNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' EM ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' WH ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN ENTRY := ERRORENTRY; CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(LINE[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(LINE[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE OPENFILES; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); FILETITLE(LOGFILE,'LOGFILE'); RESET(LOGFILE); WRITE('ENTER START AND END CATEGORY'); READLN(N[4],N[6]); WRITE('ENTER START AND END PAGE'); READLN(N[5],N[7]); END; {OPENFILES} PROCEDURE INITIALIZE; BEGIN BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; END;{INITIALIZE} PROCEDURE HEADER1; BEGIN WRITELN(OUTFILE,' KEY TO TRANSACTION TYPES'); WRITELN(OUTFILE,' C CHECK CC CANCELLED CHECK'); WRITELN(OUTFILE,' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(OUTFILE,' DP DEPOSIT BL FORCED BALANCE'); WRITELN(OUTFILE,' EM EMPLOYEE CK WH WITHOLDING CHECK'); END;{HEADER1} PROCEDURE HEADER2; BEGIN WRITELN(OUTFILE); WRITELN(OUTFILE,' TYPE CHECK DEBIT CREDIT BALANCE'); END;{HEADER1} BEGIN OPENFILES; INITIALIZE; HEADER1; WRITELN(OUTFILE); FOR NFIELD :=4 TO 5 DO BEGIN FOR CA×TEGORY := N[NFIELD] TO N[NFIELD+2] DO BEGIN INITIALIZE; WRITELN(OUTFILE); WRITELN(OUTFILE,'CATEGORY',CATEGORY,'FIELD',NFIELD); HEADER2; RESET(INFILE); WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); WRITELN(LOGFILE,STR); GETFIELD(STR,NFIELD,NEXTFIELD); IF NEXTFIELD.KIND = IAMINTEGER THEN IF NEXTFIELD.IMINT = CATEGORY THEN BEGIN GETENTRYTYPE(STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; ERRORENTRY : ERROR; END;{case} WRITELN(OUTFILE); END; END; WRITELN(OUTFILE);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTALS '); REALPRINT(OUTFILE,TOTALDEBITS);REALPRINT(OUTFILE,TOTALCREDITS); REALPRINT(OUTFILE,NEWBALANCE); WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL CHECKS ');REALPRINT(OUTFILE,TOTALCHECKS);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL DEPOSITS');REALPRINT(OUTFILE,TOTALDEPOSITS); END; WRITELN('END1'); END; WRITELN('END2'); END. 1978EMP08Å(f½ E 593 960.21 E 595 645.08 E 597 430.98 E 598 343.31 W 600 1863.74 W 602 850.20 E 603 796.26 E 604 802.32 E 605 379.26 E 606 542.91 E 607 283.06 E 608 180.93 E 609 282.18 E 615 369.00 W 617 2861.14 WRITESTRINPI’޽)PROCEDURE WRITESTRING(LINE : LINESTRING); {NOTE WRITESTRING DOES NOT OUTPUT A LINE FEED} {TYPE LINESTRING = RECORD LEN : INTEGER STRING LENGTH STR : PACKED ARRAY[1..132] OF CHAR} VAR I,POSITION : INTEGER; PROCEDURE OUTPUTTAB(VAR POSITION : INTEGER); VAR I,MOVESRT : INTEGER; BEGIN {WRITE(' <',ORD(LINE.STR[I]),'>');} MOVESRT := 8-POSITION MOD 8; POSITION := POSITION + MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); END; {OUTPUT TAB} BEGIN POSITION := 1; WITH LINE DO BEGIN FOR I := 1 TO LEN DO BEGIN IF STR[I] IN [' '..']'] THEN BEGIN { WRITE(' <',LINE.STR[I],'>');} PCHAR(ORD(STR[I])); POSITION := POSITION+1; END ELSE CASE ORD(STR[I]) OF {TAB} 9 : OUTPUTTAB(POSITION); {CR} 13 : PCHAR(13) END{CASE} END;{FOR DO} END;{WITH} END;{WRITE STRING} CONSOLEMCœ`qr CHATR CONSOLE.PA 0 CHATR CONSOLE.PX 0 DELETE/V CONSOLE.PA XFER CONSOLE CONSOLE.PA/R PASINTERP PASCALO/S/V CONSOLE CHATR CONSOLE.PA *WP CHATR CONSOLE.PX *WP ALMSPDRBÜ+;;*ýÿa#GHT”Óÿ’$’$’$ú{GH€#ÿÿGH`#ÿÿGH@#ÿÿGH #ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ÿÿÓÿ’$’$’$òGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿÓÿ’$’$’$ú\GH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿGH€ÿÿGH`ÿÿGH@ÿÿGH ÿÿGH@ ÿÿÓÿ’$’$’$ÓGH ÿÿGH ÿÿGHà ÿÿGHÀ ÿÿGH  ÿÿGH€ ÿÿGH` ÿÿGH@ ÿÿGH ÿÿGH@ÿÿGH ÿÿGHÿÿGHàÿÿGHÀÿÿGH ÿÿôÿ�$!¥GH€$ÿÿGH`ÿÿGH@ÿÿGH ÿÿÿÿ û_€INTERPOKPXŠ?? 8RINTERPOK Copyright (C) 1980 Rational Data Systems¼  8% ÖÆÆ?ÏÖÆ¦OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥®€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ Jü,ü ?ÏÖÆ¦OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥®€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ JT38R0ÜÒ(* T38 SUBSTRING TESTER*) PROGRAM T38 (INPUT,OUTPUT); TYPE STRING = ARRAY[1..10] OF INTEGER; VAR OUT,NBYTESREAD,ERROR,NBROTE,ST1S,ST1F,ST2S,ST2F,TTI,TTO : INTEGER; STRING2,STRING1 : STRING; PROCEDURE RDLI (CHANNEL:INTEGER; VAR BUFFER:STRING; VAR NBYTESREAD:INTEGER; VAR ERROR:INTEGER);EXTERNAL; PROCEDURE SUBSTR(VAR ST1:STRING;ST1S:INTEGER;ST1F:INTEGER; VAR ST2:STRING;ST2S:INTEGER;MAXBYTE:INTEGER);EXTERNAL; PROCEDURE WRSQ(CHANNEL:INTEGER VAR BUFFER:STRING; NBYTES:INTEGER; VAR NBWROTE:INTEGER; VAR ERROR:INTEGER);EXTERNAL; BEGIN WRITELN(OUTPUT,' ENTER STRING'); RDLI (1,STRING1,NBYTESREAD,ERROR); WRITELN(OUTPUT,' NBYTES=',NBYTESREAD); SUBSTR(STRING1,0,NBYTESREAD,STRING2,0,19); IF NBYTESREAD < 20 THEN OUT := NBYTESREAD ELSE OUT := 20; WRITELN(OUTPUT); WRSQ(2,STRING2,OUT,NBROTE,ERROR); WRITELN(OUTPUT); END. PRETTYPA[¶3½Ü '(*************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUSETTS, AMHERST - AUGUST, 1976 (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. INDICATED BY <<< . MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMATS THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THEY MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS PRETTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. ************************************************************************** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. THE USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINES. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COMMENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFORE AND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "VAR" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE INDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** **************************************************************************** GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENDENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR THE SYMBOL BEING SCANNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. ***************************************************************************** *) PROGRAM PRETTYPRINT ( (* FROM *) INPUT, (* TO *) OUTPUT ); CONST MAXSYMBOLSSIZE = 200; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A*) (* SYMBOL SCANNED BY THE LEXICAL SCANNER. *) MAXSTACKSIZE = 100; (* THE MAXIMUM NUMBER OF SYMBOLS CAUSING *) (* INDENTATION THAT MAY BE STACKED. *) MAXKEYLENGTH = 10; (* THE MAXIMUM LENGTH (IN CHARACTERS) OF A *) (* PASCAL RESERVED KEYWORD. *) MAXLINESIZE = 72; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A *) (* LINE OUTPUT BY THE PRETTYPRINTER. *) SLOFAIL1 = 30; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT2". BEYOND *) (* THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); OPTIONSET = SET OF OPTION KEYSYMSET = SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; KEY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAR; KEYWORDTABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; SGLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OF CHAR; STRING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO = ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLANK, QUOTE, ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTACK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRY; VAR RECORDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBOLSTACK; TOP, STARTPOS, (*STARTING POSITION OF LAST SYMBOL WRITTEN <<< *) CURRLINEPOS, CURRMARGIN : INTEGER; PROCEDURE GETCHAR ( (* FROM INPUT *) (* UPDATING *) VAR NEXTCHAR : CHARINFO; (* RETURNING *) VAR CURRCHAR : CHARINFO ); BEGIN (* GETCHAR *) CURRCHAR := NEXTCHAR; WITH NEXTCHAR DO BEGIN IF EOF(INPUT) THEN NAME := FILEMARK ELSE IF EOLN(INPUT) THEN NAME := ENDOFLINE ELSE IF INPUT^IN ['A'..'Z'] THEN NAME := DIGIT ELSE IF INPUT^IN ['O'..'9'] THEN NAME := DIGIT ELSE IF INPUT^= '''' THEN NAME := QUOTE ELSE IF INPUT^= SPACE THEN NAME := BLANK ELSE NAME := OTHERCHAR; IF NAME IN [ FILEMARK, ENDOFLINE ] THEN VALU := SPACE ELSE VALU := INPUT^; IF NAME <> FILEMARK THEN GET(INPUT) END (*WITH*) END; (* GETCHAR *) PROCEDURE STORENEXTCHAR (* FROM INPUT *) (* UPDATING *) VAR LENGTH : INTEGER; VAR CURRCHAR, NEXTCHAR : CHARINFO; :( PLACING IN *) VAR VALU : STRING ); BEGIN (* STORENEXTCHAR *) GETCHAR( (* FROM INPUT *) (* UPDATING *) NEXTCHAR, (* RETURNING *) CURRCHAR ); IF LENGTH < MAXSYMBOLSIZE THEN BEGIN LENGTH := LENGTH + 1; VALU [LENGTH] := CURRCHAR.VALU END END; (*STORENEXTCHAR *) PROCEDURE SKIPSPACES ( (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR SPACESBEFORE, CRSBEFORE : INTEGER ); BEGIN (* SKIPSPACES *) SPACESBEFORE := 0; CRSBEFORE := 0; WHILE NEXTCHAR.NAME IN [ BLANK, ENDOFLINE ] DO BEGIN GETCHAR( (* FROM INPUT *) (* UPDATING *) NEXTCHAR, :( RETURNING *) CURRCHAR ); CASE CURRCHAR.NAME OF BLANK, : SPACESBEFORE := SPACESBEFORE+1; ENDOFLINE : BEGIN CRSBEFORE := CRSBEFORE+1; SPACESBEFORE := 0 END END (* CASE *) END (* WHILE *) END; (* SKIPSPACES *) PROCEDURE GETCOMMENT ( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GET COMMENT *) NAME := OPENCOMMENT; WHILE NOT ( ((CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')')) OR (NEXTCHAR.NAME = ENDOFLINE) OR (NEXTCHAR.NAME = FILEMARK)) DO STORENEXTCHAR ( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); IF (CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')') THEN BEGIN STOENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, :( IN *) VALU ); NAME := CLOSECOMMENT END; (* GETCOMMENT *) FUNCTION IDTYPE( (* OF *) VALU : STRING; (* USING *) LENGTH : INTEGER ) (* RETURNING *) : KEYSYMBOL; VAR I: INTEGER; (* TED, THIS NEXT SECTION ARE SMALL I';S - JG *) KEYVALU: KEY; HIT: BOOLEAN; THISKEY: KEYSYMBOL; BEGIN (* IDTYPE *) IDTYPE := OTHERSYM; IF LENGTH <= MAXKEYLENGTH THEN BEGIN FOR I := 1 TO LENGTH DO KEYVALU [I] := VALU [I]; FOR I := LENGTH+1 TO MAXKEYLENGTH DO KEYVALU [I] := SPACE; THISKEY := PROGSYM; HIT := FALSE; WHILE NOT(HIT OR (THISKEY = SUCC(UNTILSYM))) DO IF KEYVALU = KEYWORD [THISKEY] THEN HIT := TRUE ELSE THISKEY := SUCC(THISKEY); IF HIT THEN IDTYPE := THISKEY END; END; (* IDTYPE *) PROCEDURE GETIDENTIFIER ( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; :( RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETIDENTIFIER *) WHILE NEXTCHAR.NAME IN [ LETTER,DIGIT ] DO STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := IDTYPE( (* OF *) VALU, (* USING *) LENGTH ); IF NAME IN [ RECORDSYM, CASESYM, ENDSYM ] THEN CASE NAME OF RECORDSYM : RECORDSEEN := TRUE; CASESYM : IF RECORDSEEN THEN NAME := CASEVARSYM; ENDSYM : RECORDSEEN := FALSE END (* CASE *) END; (* GETIDENTIFIER *) PROCEDURE GETNUMBER( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETNUMBER *) WHILE NEXTCHAR.NAME = DIGIT DO STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := OTHERSYM END; (* GETNUMBER *) PROCEDURE GETCHARLITERAL( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETCHARLITERAL *) WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( (*FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ) END; NAME := OTHERSYM END; (* GETCHARLITERAL *) FUNCTION CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR : CHARINFO ) (* RETURNING *) : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN (* CHARTYPE *) NEXTTWOCHARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR); BEGIN (* GETCHARLITERAL *) WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( (*FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ) END; NAME := OTHERSYM END; (* GETCHARLITERAL *) FUNCTION CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR : CHARINFO ) (* RETURNING *) : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN (* CHARTYPE *) NEXTTWOCHARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR); IF NOT HIT THEN BEGIN THISCHAR := SEMICOLON; WHILE NOT(HIT OR (PRED(THISCHAR) = PERIOD)) DO IF CURRCHAR.VALU = SGLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR) END; IF HIT THEN CHARTYPE := THISCHAR ELSE CHARTYPE := OTHERSYM END; (* CHARTYPE *) PROCEDURE GETSPCIALCHAR( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING*) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETSPCIALCHAR *) STOENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR, NEXTCHAR, (* IN *) VALU ); NAME := CHARTYPE( (* OF *) CURRCHAR, NEXTCHAR ); IF NAME IN DBLCHARS THEN STORENEXTCHAR( (* FROM INPUT *) (* UPDATING *) LENGTH, CURRCHAR NEXTCHAR, (* IN *) VALU ) END; (* GETSPECIALCHAR *) PROCEDURE GETNEXTSYMBOL( (* FROM INPUT *) (* UPDATING *) VAR CURRCHAR, NEXTCHAR : CHARINFO; (* RETURNING *) VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN (* GETNEXTSYMBOL *) CASE NEXTCHAR.NAME OF LETTER : GETIDENTIFIER( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); DIGIT : GETNUMBER( (* FROM INPUT *) (* UPDATING *) CURRCHAR NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); QUOTE : GETCHARLITERAL( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU LENGTH ); OTHERCHAR : BEGIN GETSPECIALCHAR( *)_( FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ); IF NAME = OPENCOMMENT THEN GETCOMMENT( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, NAME, VALU, LENGTH ) END; FILEMARK : NAME := ENDOFFILE END (* CASE *) END; (* GETNEXTSYMBOL *) PROCEDURE GETSYMBOL( (* FROM INPUT *) (* UPDATING *) VAR NEXT SYM : SYMBOLINFO; (* RETURNING *) VAR CURRSYM : SYMBOLINFO ); VAR DUMMY: SYMBOLINFO; BEGIN (* GETSYMBOL *) DUMMY := CURRSYM; CURRSYM := NEXTSYM; NEXTSYM := DUMMY ; WITH NEXTSYM^ DO BEGIN SKIPSPACES( (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) SPACESBEFORE, CRSBEFORE ); LENGTH := 0; IF CURRSYM^.NAME = OPEN COMMENT THEN GETCOMMENT( (* FROM INPUT *) (* UPDATING *) CURRCHAR, NEXTCHAR, (* RETURNING *) NAME, VALU, LENGTH ) END (* WITH *) END; (* GETSYMBOL *) PROCEDURE INITIALIZE( (* RETURNING *) VAR TOPOFSTACK : INTEGER; VAR CURRLINEPOS, CURRMARGIN : INTEGER; VAR KEYWORD : KEYWORDTABLE; VAR DBLCHARS : DBLCHRSET; VAR DBLCHAR : DBLCHARTABLE; VAR SGLCHAR : SGLCHARTABLE; VAR RECORDSEEN : BOOLEAN; VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR CURRSYM, NEXTSYM : SYMBOLINFO; VAR PPOPTION : OPTIONTABLE ); BEGIN (* INITIALIZE *) LINELIMIT(OUTPUT,MAXINT); TOPOFSTACK := 0; CURRLINEPOS := 0UEH10TGIN := 0; KEYWORD [ PROGSYM ] := 'PROGRAM '; KEYWORD [ FUNCSYM ] := 'FUNCTION '; KEYWORD [ PROCSYM ] := 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL '; KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEYWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BEGIkv'; CURRMARGIN := 0; KEYWORD [ PROGSYM ] := 'PROGRAM '; KEYWORD [ FUNCSYM ] := 'FUNCTION '; KEYWORD [ PROCSYM ] := 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL '; KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEYWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BEGIN '; KEYWORD [ REPEATSYM ] := 'REPEAT '; KEYWORD [ RECORDSYM ] := 'RECORD '; KEYWORD [ CASESYM ] := 'CASE '; KEYWORD [ CASEVARSYM ] := 'CASE '; KEYWORD [ OFSYM ] := 'OF '; KEYWORD [ FORSYM ] := 'FOR '; KEYWORD [ WHILESYM ] := 'WHILE '; KEYWORD [ WITHSYM ] := 'WITH '; KEYWORD [ DOSYM ] := 'DO '; KEYWORD [ IFSYM ] := 'IF '; KEYWORD [ THENSYM ] := 'THEN '; KEYWORD [ ELSESYM ] := 'ELSE '; KEYWORD [ ENDSYM ] := 'END '; KEYWORD [ UNTILSYM ] := 'UNTIL '; DBLCHARS := [ BECOMES, OPENCOMMENT ]; DBLCHAR [ BECOMES ] := ':='; DBLCHAR [ OPENCOMMENT ] := '(*'; SGLCHAR [ SEMICOLON ] := ';'; SGLCHAR [ COLON ] := ':'; SGLCHAR [ EQUALS ] := '='; SGLCHAR [ OPENPAREN ] := '('; SGLCHAR [ CLOSEPAREN ] := ')'; SGLCHAR [ PERIOD ] := '.'; RECORDSEEN := FALSE; GETCHART( (* FROM INPUT *) (* UPDATING *) NEXTCHAR, (* RETURNING *) CURRCHAR ); NEW(CURRSYM); NEW(NEXTSYM); GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [ PROGSYM ] DO BEGIN OPTIONSSELECTED := [BLANKLINEBEFORE; SPACEAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ FUNCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM TAPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PROCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ LABELSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, SPACEAFTER, IDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CONSTSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ TYPESYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM, CONSTSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ VARSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ BEGINSYM ] DO BEGIN OPTIONSSELECTED := [DINDENTONKEYS, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ REPEATSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ RECORDSYM ] DO BEGIN OPTIONSSELECTED := [ IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CASESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [] GOBBLETERMINATORS := [ OFSYM ] END; WITH PPOPTION [ CASEVARSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ OFSYM ] END; WITH PPOPTION [ OFSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; WITH PPOPTION [ FORSYM ] DO BEGIN OPTIONSSELECTED := SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; WITH PPOPTION [ WHILESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; WITH PPOPTION [ WITHSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ DOSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ DOSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OPENPAREN ] DO BEGIN OPTIONSSELECTED := [ GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ CLOSEPAREN] END; WITH PPOPTION [ CLOSEPAREN ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PERIOD ] DO BEGIN OPTIONSSELCTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDOFFILE ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OTHERSYM ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := [];  GOBBLETERMNATORS := [] END END; (* INITIALIZE *) FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; (* STACKEMPTY *) FUNCTION STACKFULL (* RETURNING *) : BOOLEAN; BEGIN (* STACKFULL *) IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; (* STACKFULL *) PROCEDURE POPSTACK( (* RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN (* POPSTACK *) IF NOT STACKEMPTY THEN BEGIN INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP - 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; (* POPSTACK *) PROCEDURE PUSHSTACK( (* USING *) INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN (* PUSHSTACK *) TOP := TOP + 1 STACK[TOP].INDENTSYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; (* PUSHSTACK *) PROCEDURE WRITECRS( (* USING *) NUMBEROFCRS : INTEGER; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED THIS IS SMALL I) BEGIN (* WRITECRS *) IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; (* WRITECRS *) PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTER *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INSERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( TWICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* INSERTBLANKLINE *) PROCEDURE 1SHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFTON *) IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) END END; (* 1SHIFTON *) PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; (* 1SHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER; (* FROM *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPOS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SYMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *). CURRLINEPOS := CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS, (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRINTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) 1SHIFT END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *). IF STARTPOS > CURRMARGIN (* <<< *). THEN (* <<< *). CURRMARGIN := STARTPOS; (* <<< *). IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; (* RSHIFT *) PROCEDURE RSHIFTTOCLP; BEGIN (* RSHIFTTOCLP *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; (* RSHIFTTOCLP *) BEGIN (* PRETTYPRINT *) INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( (* USING *) CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRSYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (* WITH *) END; (* WHILE *) IF CRPENDING THEN WRITELN(OUTPUT) END. FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; (* STACKEMPTY *) FUNCTION STACKFULL (* RETURNING *) : BOOLEAN; BEGIN (* STACKFULL *) IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; (* STACKFULL *) PROCEDURE POPSTACK( (* RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN (* POPSTACK *) IF NOT STACKEMPTY THEN BEGIN INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP - 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; (* POPSTACK *) PROCEDURE PUSHSTACK( (* USING *) INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN (* PUSHSTACK *) TOP := TOP + 1 STACK[TOP].INDENTSYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; (* PUSHSTACK *) PROCEDURE WRITECRS( (* USING *) NUMBEROFCRS : INTEGER; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED THIS IS SMALL I) BEGIN (* WRITECRS *) IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; (* WRITECRS *) PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTER *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INSERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( TWICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* INSERTBLANKLINE *) PROCEDURE 1SHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFTON *) IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) END END; (* 1SHIFTON *) PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* 1SHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; (* 1SHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER; (* FROM *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPOS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SYMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *). CURRLINEPOS := CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS, (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRINTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) 1SHIFT END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *). IF STARTPOS > CURRMARGIN (* <<< *). THEN (* <<< *). CURRMARGIN := STARTPOS; (* <<< *). IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; (* RSHIFT *) PROCEDURE RSHIFTTOCLP; BEGIN (* RSHIFTTOCLP *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; (* RSHIFTTOCLP *) BEGIN (* PRETTYPRINT *) INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( (* USING *) CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRSYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (* WITH *) END; (* WHILE *) IF CRPENDING THEN WRITELN(OUTPUT) END. iCBOOKPA ö“ŽŽ PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK,ERRORENTRY); FIELD = RECORD KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1 : (IMREAL : REAL); 2 : (IMINT : INTEGER); 3 : (IMSTR : STRING[10]) END;{RECORD} VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; LOGFILE,OUTFILE,INFILE : TEXT; NEXTFIELD : FIELD; NFIELD,CATEGORY : INTEGER; N : ARRAY [4..7] OF INTEGER; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} {$I GETFIELD.PI} PROCEDURE ERROR; BEGIN WRITELN(OUTFILE,' ERROR',STR); END;{error} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(OUTFILE,' CK ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(OUTFILE,' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(OUTFILE,' DP ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(OUTFILE,' CM ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(OUTFILE,' DM ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(OUTFILE,' CC ',CHECKNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' EM ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' WH ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN ENTRY := ERRORENTRY; CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(LINE[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(LINE[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE OPENFILES; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); FILETITLE(LOGFILE,'LOGFILE'); RESET(LOGFILE); WRITE('ENTER START AND END CATEGORY'); READLN(N[4],N[6]); WRITE}('ENTER START AND END PAGE'); READLN(N[5],N[7]); END; {OPENFILES} PROCEDURE INITIALIZE; BEGIN BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; END;{INITIALIZE} PROCEDURE HEADER1; BEGIN WRITELN(OUTFILE,' KEY TO TRANSACTION TYPES'); WRITELN(OUTFILE,' C CHECK CC CANCELLED CHECK'); WRITELN(OUTFILE,' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(OUTFILE,' DP DEPOSIT BL FORCED BALANCE'); WRITELN(OUTFILE,' EM EMPLOYEE CK WH WITHOLDING CHECK'); END;{HEADER1} PROCEDURE HEADER2; BEGIN WRITELN(OUTFILE); WRITELN(OUTFILE,' TYPE CHECK DEBIT CREDIT BALANCE'); END;{HEADER1} BEGIN OPENFILES; INITIALIZE; HEADER1; WRITELN(OUTFILE); FOR NFIELD :=4 TO 5 DO BEGIN FOR CATEGORY := N[NFIELD] TO N[NFIELD+2] DO BEGIN INITIALIZE; WRITELN(OUTFILE); WRITELN(OUTFILE,'CATEGORY',CATEGORY,'FIELD',NFIELD); HEADER2; RESET(INFILE); WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); WRITELN(LOGFILE,STR); GETFIELD(STR,NFIELD,NEXTFIELD); IF NEXTFIELD.KIND = IAMINTEGER THEN IF NEXTFIELD.IMINT = CATEGORY THEN BEGIN GETENTRYTYPE(STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; ERRORENTRY : ERROR; END;{case} WRITELN(OUTFILE); END; END; WRITELN(OUTFILE);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTALS '); REALPRINT(OUTFILE,TOTALDEBITS);REALPRINT(OUTFILE,TOTALCREDITS); REALPRINT(OUTFILE,NEWBALANCE); WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL CHECKS ');REALPRINT(OUTFILE,TOTALCHECKS);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL DEPOSITS');REALPRINT(OUTFILE,TOTALDEPOSITS); END; WRITELN('END1'); END; WRITELN('END2'); END. TEST01îš½½PROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; I : INTEGER; {$I REALPRINT.PI} {$I GETREAL.PI} BEGIN REPEAT BEGIN READLN(STR); I := 1; REALPRINT (GETREAL(STR,I)); END UNTIL EOF(INPUT); END. 1978EMP09ºœf½ E 625 2210.00 E 627 1209.08 E 628 1158.89 E 629 552.62 E 630 596.12 E 632 359.96 W 634 800.03 E 635 921.48 E 636 1050.72 E 637 533.66 E 638 610.74 E 639 361.79 E 640 201.10 E 645 346.92 CROSSREFPXïwr @CROSSREF Copyright (C) 1980 Rational Data Systems¼ 2 ® ®È¡(Û̹ÙÐÌ¥Ù ˆ•Â¥€ŒÙ•Ø‚ ˆ•¤ø¿ÙÚáö­& <ØøÌٟá8Æ žÆžÙÌÛ¥Ñ Û¢ŸšÛ¢ŸšÛ¢ ÚšÛ¢ ÚšÚëÇ'ˆšÚ¢ŸšØÙš¹=¥Ùµ ¡Ö٢ι-¥Ù·± ¡Ö٢ιƞÚëÇ'ˆšÚ¢ŸšÙý¢ÚšÙ¢ Úš­†Æب Ö ¥€–® ÒÏÖÊ Æ ÏßÌ Ì Ê áÖ¥€–ÏÌ Ö ¥€–® Ò ‚ÏÊ ‚Ì ÖÊ ø¥€–® ÒÏ Ê ùÌ Ê ŸÃ¡öÖ¥€–Ï­C  jØŸË¡ÖØ£ÎÖØÎÖØÿÎ­ÖÆ€–Æ€ÔÏÖÆ€–¦OUTPUTÏÖÆ ÆHÏÖÆ ¦FÏÖÏÖÆ€–ÏŸ«« «Ö¥€–ÏÖ¥ ÏÖ¥ Ï “¡æëÇ'á«ë‚«Ö륀–®�ÒÏ Ö ¥€–®�ÒÏÖ¥ Ï “¡êÖ¥ Ï ¥Hø³ÿÿþ‹¡ò«ê ɡꂫ¥€Œê ˆ•¤Ö¥ Ï ¥HøšÖÖ¥ Ï ¥Hø¥€–®�ÒÏÖ¥ ÏÖ¥ Ï ¥Hø³ÿÿþÿ‹“¡öêéġ꫹¥€Œé ˆ•¤ šé•«éêáôÖÎ֥ιzÖ¥ Ï ¥Hø'á&ÖÖ¥ Ï ¥Hø¥€–®�ÒÏÖ¥ ÏÖ¥ Ï ¥Hø'áð¹0Ö¥ Ï ¥Hø%á$ÖÖ¥ Ï ¥Hø¥€–®�ÒÏÖ¥ ÏÖ¥ Ï ¥Hø#áîÖÖ¥ Ï ¥Hø¥€–®�ÒÏÖ¥ ϹìÖ¥€–ÏÖ¥ ϹèÖ¥€–ÏÖèÎÖÆ€–ÏÖÆ Ï­y+Mm¡¯Ó1&Øþàpü P4XAPÕ£0 ;PASCAL P4 LIBRARY ADDITION TO ALLOW ;CALLS TO ASSEMBLY LEVEL PROCEDURES ;PETE GOODEVE 78:7:22 ;THIS MODULE SHOULD BE INSERTED IN P4LIB.LB ;IMMEDIATELY BEFORE MODULE R2SAD. IT USURPS THE ;ORIGINAL "PCXP" (EXTERNAL PROCEDURE) FUNCTION. .TITL P4XAP ;78:7:22 .ENT PCXP ;USURPS ORIGINAL P4 ROUTINE .ENT XPRET ;USE TO RETURN TO P-CODE .EXTN PCUP P4IX = 40 ;EXIT LINK TO INTERPRETER SP = 41 ;STACK POINTER P4ER = 51 ;INTERPRETER ERROR .NREL ; MODIFICATION TO PASCAL "CALL EXTERNAL PROCEDURE" ; TO EXIT TO MACHINE LEVEL IF PROCEDURE IS NOT P-CODE ; -- ENTERS ASSEMBLY PROCEDURE WITH: ; AC1 = # OF PARAMETER WORDS ; AC0 = FRAME BASE POINTER ; = VALUE RETURN SLOT ; AC3 = TOP OF STACK ; = C(LOC 41) PCXP: LDA 2,0,2 ;GET ADDRESS OF PROCEDURE COM# 2,2,SNR ;WAS IT LOADED? JMP CXERR ;NO LDA 0,4,2 ;LOOK FOR P-CODE IDENTIFICATION ("ENT 3") LDA 3,ENT3C SUB 0,3,SZR ;IS IT P-CODE? JMP ASMLV ;NO -- SET UP ASSEMBLY ENTRY LDA 0,5,2 ;# OF PARAMS NEEDED MOVZR 0,0 ;-> WORDS SUB 1,0,SNR ;MATCH WITH CALL? JMP @PCUPA ;YES -- GO DO IT CXERR: JSR @P4ER ;ERROR 412 ENT3C: 61003 PCUPA: PCUP ASMLV: LDA 3,SP ;CURRENT TOP OF STACK LDA 0,KM6 ADD 3,0 ;DIMINISH BY HOUSEKEEPING AREA SUB 1,0 ;AND BY # OF PARAM WORDS STA 0,SPOP ;TO GET PREVIOUS TOP-OF-STACK INC 0,0 ;SLOT ABOVE IS FUNCTION VALUE JMP 0,2 ;ENTER PROCEDURE KM6: -6 SPOP: .-. ;EXIT FROM MACHINE LEVEL BACK TO P-CODE ;BY EXECUTING (PSEUDOINSTRUCTION) "XPRET" ;WITH AC1 = 0 FOR PROCEDURE, 1 FOR INTEGER FUNCTION, ; 2 FOR REAL FUNCTION. .ZREL XPRET = JMP @. XXPR .NREL XXPR: LDA 2,SPOP ;GET PREVIOUS STACK TOP ADD 1,2 ;INCREASE BY RETURN VALUE IF ANY STA 2,SP ;SET STACK POINTER JMP @P4IX ;GO BACK TO INTERPRETER .END ;OF P4 MOD T17H¨Ž/2PROGRAM T17(INPUT,OUTPUT); VAR CHR : ARRAY [1..80] OF CHAR; X,Y,Z : REAL; IPEN,I,J : INTEGER; TESTCHAR : CHAR; BEGIN TESTCHAR := 'A'; WHILE NOT EOF(INPUT) DO BEGIN I := 1; WRITELN(OUTPUT,'PROMPT T17'); WHILE NOT EOLN(INPUT) DO BEGIN WRITELN(OUTPUT,'TESTCHAR=',TESTCHAR); READ (INPUT,CHR[I]); TESTCHAR := CHR[I]; I := I+1; END; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,X,Y,Z,IPEN); END; READLN(INPUT); WRITELN(OUTPUT,' '); FOR J := 1 TO I DO WRITE(OUTPUT,CHR[J]); WRITE(OUTPUT,X,Y,Z,IPEN); WRITELN(OUTPUT,'A'); END END. BITSÿ«ää7; BIT SET AND CLEAR ROUTINES ; ; CALL VIA ; SBIT(BIT NO: INTEGER, VAR WORD : INTEGER);EXTERNAL; ; CBIT(BIT NO : INTEGER ; VAR WORD : INTEGER);EXTERNAL; ; TBIT(BIT NO:INTEGER;WORD:INTEGER;VAR VALUE:INTEGER); ; EXTERNAL; ; ; THE BIT SPECIFIED BY BIT NO IS SET OR CLEARED IN WORD ; BITS ARE NUMBERED 0=LEFT MOST BIT 15=RIGHT MOST BIT .TITL BITS .ENT ?SBIT,?CBIT,?TBIT .EXTN XPRET .NREL TABLE: .+1 ;TABLE ADDRESS HERE 1B0 1B1 1B2 1B3 1B4 1B5 1B6 1B7 1B8 1B9 1B10 1B11 1B12 1B13 1B14 1B15 WORD=0 ;BYTE ADDRESS OF WORD ON STACK BIT=WORD-1 ;WORD ADDRESS OF BIT NO ?SBIT: STA 3,USP ;SAVE AC3 IN USER STACK POINTER LDA 0,BIT,3 ;GET VALUE OF BIT NO LDA 2,TABLE ;GET TABLE START ADDRESS ADD 0,2 ;ADD BIT OFFSET TO ADDRESS LDA 2,0,2 ;HAVE BIT IN AC2 LDA 3,WORD,3 ;GET BYTE ADDRESS OF WORD MOVZR 3,3 ;MAKE IT A WORD ADDRESS LDA 0,0,3 ;GET VALUE OF WORD ; INCLUSIVE OR BIT IN AC2 TO WORD IN AC0 ; COM 2,2 AND 2,0 ADC 2,0 ;RESULT IS IN AC0 ; STA 0,0,3 ;RETURN RESULT TO PASCAL SUBO 1,1 ;CLEAR AC1 BEFORE RETURNING XPRET ;BACK TO PASCAL ?CBIT: LDA 0,BIT,3 ;GET VALUE OF BIT LDA 2,TABLE ;GET START OF TABLE ADD 0,2 ;ADDRESS OF BIT TO BE CLEARED LDA 2,0,2 ;BIT IN AC2 NOW LDA 3,WORD,3 ;BYTE ADDRESS OF WORD MOVZR 3,3 ;MAKE IT A WORD ADDRESS LDA 0,0,3 ;GET VALUU OF WORD ; ; CLEAR BIT IN AC2 IN WORD IN AC0 ; COM 2,2 AND 2,0 ;RESULT IS I AC0 ; STA 0,0,3 ;RESULT TO PASCAL SUBO 1,1 XPRET ; TEST A BIT AND RETURN 1 FOR ON 0 FOR OFF ; ; CONTENTS OF AC3 = STACK ADDRESS VALUE=0 ;BYTE ADDRESS OF VALUE ON STACK WORD=-1 ;VALUE OF WORD ON STACK BITS=-2 ;VALUE OF BIT ON STACK ?TBIT: LDA 0,BITS,3 ;GET VALUE OF BITS LDA 2,TABLE ;GET TABLE START ADDRESS ADD 0,2 ;ADDRESS OF BIT PATTERN LDA 2,0,2 ;BIT PATTERN IN AC2 LDA 0,WORD,3 ;GET VALUE OF WORD SUBO 1,1 ;SET UP AC1 FOR NOT SET AND 2,0,SZR ;RESULT IN AC0 SUBZL 1,1 ;SET AC1=1 IF SET LDA 3,VALUE,3 ;GET BYTE ADDRESS OF VALUE MOVZR 3,3 ;MAKE IT A WORD ADDRESS STA 1,0,3 ;RETURN VALUE TO PASCAL SUBO 1,1 XPRET .END TEDITSVTEDITSVTEST02ì°½½PROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; I : INTEGER; {$I GETINTEGER.PI} BEGIN REPEAT BEGIN I := 1; READLN(STR); WRITELN(' ',GETINTEGER(STR,I),'=NUMB'); END; UNTIL EOF(INPUT); END. 197801†²½½ B 4196.05 C 2332 2000 C 2356 264.05 C 2355 280.60 D 23546.65 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 E 4424.29 D 13878.50 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 E 4499.72 W 5477.65 C 2402 80. 1978EMPR1ßÀr½*E 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 510 304.73 E 509 432.47 E 508 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500 372.80 W 499 561.91 W 498 497.97 E 497 926.48 E 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.>65 E 528 393.86 E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.80 W 517 277.10 E 516 259.01 E 515 439.51 E 514 398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 E 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.38 E 546 924.04 E 547 982.73 E 548 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.04 E 561 297.08 E 559 688.29 E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 W 579 483.00 W 580 2210.00 W 581 38.36 E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 E 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 E 593 960.21 E 595 645.08 E 597 430.98 E 598 343.31 W 600 1863.74 W 602 850.20 E 603 796.26 E 604 802.32 E 605 379.26 E 606 542.91 E 607 283.06 E 608 180.93 E 609 282.18 E 615 369.00 W 617 2861.14 E 625 2210.00 E 627 1209.08 E 628 1158.89 E 629 552.62 E 630 596.12 E 632 359.96 W 634 800.03 E 635 921.48 E 636 1050.72 E 637 533.66 E 638 610.74 E 639 361.79 E 640 201.10 E 645 346.92 E 610 325.46 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E 624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 E 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 652 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 E 654 373.60 E 657 1176.43 E 658 1184.18 E 659 566.46 E 661 247.78 E 663 393.62 E 664 40.27 TEST8vŽŽ PROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 133; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} VAR LINE : LINESTRING; I : INTEGER; NBYTES : INTEGER; FILENAME :BIGSTR; DATA :BIGSTR; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; FILEPOSITION : DPINTEGER; {$I GPOS.PI} {$I SPOS.PI} {$I GCHN.PI} {$I OPEN.BU} {$I CLOSE.PI} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I RDS.BU} {$I WRS.BU} PROCEDURE ADDZEROTO( VAR STR : BIGSTR); { ADD A ZERO BYTE TO STR TO MAKE IT RDOS COMPATIBLE AND LENGTHN THE STRING BY ONE} BEGIN {$R-} STR[0] := CHR(LENGTH(STR)+1); STR[LENGTH(STR)] := CHR(0); {$R^} END; BEGIN GCHN(I); WRITELN(' FREE CHANNEL = ',I); FILENAME := 'FOBAR'; ADDZEROTO(FILENAME); CRAND(FILENAME,SYSERROR,ERRORNUMBER); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); GPOS(I,FILEPOSITION); SPOS(I,FILEPOSITION); DATA := 'THIS IS A TEST'; ADDZEROTO (DATA); { NBYTES := 14; WRITESEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER);} WRITELINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); { NBYTES := 14; READSEQUENTIAL(I,DATRA,NBYTES,SYSERROR,ERRORNUMBER);} READLINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN(OUTPUT,'LENGTH OF DATA =',LENGTH(DATA),' NBYTES=',NBYTES); WRITELN(OUTPUT,DATA); WRITELN(' HIT CTLA'); READLN; DELETE(FILENAME,SYSERROR,ERRORNUMBER); END. GETFIELDPI§þŽsPROCEDURE GETFIELD(STR : ALPHANUMERIC; FIELDNUMBER : INTEGER; VAR FIELDVAL : FIELD ); {TYPE FIELD = RECORD OF KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1: (IMREAL : REAL); 2: (IMINT : INTEGER); 3: (IMSTR : STRING[10]) END; {CASE} VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (I -1) OR (BYTE = CTLZ) END. T17RLÉÐÐ #CROSSREFBUJÊÝÝ  PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : ALFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE PACK (A : ARRAY[1..C1] OF CHAR ; I : INTEGER ; VAR ID : ALFA ); VAR J : INTEGER; BEGIN FOR J := 1 TO C1 DO ID[J] := A[J-1+I] END (* PACK *) PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X EN:D; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; PACK(A,1,ID);SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. TEST3PXн½lTEST3 Copyright (C) 1980 Rational Data Systems¼Ö襀…Òϭ鎕ÌéÙ‚«Ö ¥€…ÌÚÒÏÖÚÙÏ ÖÚ ÏÖÚéÏ ÖÚÏÌÙÌØÚȡ֦ ¥€…ÒÏØ‚̹ö­VèÌسÿÿÿÿÿÿÿÿÿÿÿ‹¡ Ö襀…ÒϹôعAÖιöÖιöÖ¦ LINEFEED¥€…ÒϹöÖ¦ UP¥€…ÒϹöÖ¦ DELETE¥€…ÒϹö¬¹öHEB/  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ�’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìî­ l«­ ÖÆ€…Æ€ÃÏÖÆ€…¦OUTPUTÏÖÆÆAÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€…ÏÖÎÖ¥¥ÒÏÖÎÖ¥Ï ¡öÖÆ€…ÏÖÆÏ­#lr„öR 197803Ô½½ B 5621.74 D 5532.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC 2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 2471 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 E 5322. W 7656 CC2498 aTOTAL PROGRAM TOTAL(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; TOTAL,AMOUNT : REAL; I,CHECKNUMBER : INTEGER; INFILE,OUTFILE : TEXT; (*$I GETREAL.PI *) (*$I REALPRINT.PI *) (*$I GETINTEGER.PI *) BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); TOTAL := 0.0; WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); I := 2; { CHECKNUMBER := GETINTEGER(STR,I);} AMOUNT := GETREAL(STR,I); TOTAL := TOTAL + AMOUNT; { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} REALPRINT(OUTFILE,AMOUNT); WRITELN(OUTFILE); END; WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITELN(OUTFILE); END. ASRB”YŽŽ1ýÿ ¶HIÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿ’D’$’$5[????? ? ?*"?ýÿ€Dõk?(?'ÿÿ@ï¿ÿÿ û_€CLOSEPI¥Ä޽PROCEDURE CLOSE(RDOSCHANNEL : INTEGER ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCLOSE =6463; {.CLOSE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCLOSE; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CLOSE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {CLOSE} 1978EMPR3¸ãrrE 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 1 E 493 456.63 12 1 E 492 497.88 12 1 E 491 574.03 12 1 E 490 890.20 12 1 E 489 842.19 12 1 E 488 788.81 12 1 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12 5 E 506 842.80 12 5 E 505 1033.57 12 5 E 504 254.00 12 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 14 3 W 500 372.80 14 3 W 499 561.91 14 3 W 498 497.97 14 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 12 8 E 511 830.88 12 7 E 537 464.55 12 10 E 531 356.37 12 9 E 529 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 12 8 W 522 182.00 14 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 14 7 E 516 259.01 12 7 E 515 439.51 12 7 E 514 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 14 11 W 544 5.00 14 11 W 545 1345.38 14 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 15 E 565 948.24 12 14 E 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 12 13 E 555 991.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 571 1069.11 12 16 E 572 1019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 14 16 W 580 2210.00 14 16® W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 996.51 12 17 E 585 627.63 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 594 531.30 12 18 E 596 500.91 12 18 W 599 5659.58 14 18 E 593 960.21 12 0 E 595 645.08 12 0 E 597 430.98 12 0 E 598 343.31 12 0 W 600 1863.74 14 18 W 602 850.20 14 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 625 2210.00 12 23 E 627 1209.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 14 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 346.92 12 26 E 610 325.46 12 21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12 23 W 626 483.00 14 23 E 631 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 E 646 326.75 12 26 W 647 2424.72 14 26 W 648 393.57 14 26 W 649 251.13 14 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 12 29 E 664 40.27 12 29 DATABTDwwB 4196.05 C 2332 2000 U21 1 C 2313 1804.52 V22 1 C 2337 43.50 A0 0 C 2338 6.00 A0 0 C 2345 53.35 A0 0 C 2347 38.00 A0 0 C 2348 50.00 X24 1 C 2356 264.05 A0 0 C 2354 50.00 T20 1 D 23546.64 DM 250.00 C 2355 280.60 V22 1 CC 2357 C 2358 J10 D3 1 C 2359 42.80 J10 1 C 2360 119.40 S19 1 C 2361 50 R18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 R18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 R18 1 CC 2372 CC 2373 C 2374 547.42 Q17 1 C 2375 86 F5 1 C 2376 500 U21 1 C 2377 1500 U21 1 C 2378 93.20 D3 2 C 2379 1562.80 C2 2 C 2380 3.60 F5 2 C 2381 136.16 F5 2 C 2382 114.98 R18 2 DM 250 C 2383 139.24 E4 2 C 2384 155 F5 2 C 2385 60.30 F5 2 C 2386 1151 Q17 2 C 2387 L12 R18 2 C 2388 66.80 V22 2 C 2389 33.30 V22 2 C 2390 22.80 V22 2 C 2391 L12 R18 2 C 2392 39 V22 2 C 2393 64.65 Y25 2 C 2394 85.54 V22 2 D 13878.10 DM 1865.00 C 2395 1000. U21 3 C 2396 405.38 E4 3 C 2397 64. H8 3 D 3885. DM 250.00 C 2398 14.85 R18 3 DM 1865. C 2399 7.95 R18 3 C 2400 8.52 R18 3 C 2401 29.39 V22 3 C 2402 80. W23 3 D 3222.52 C 2403 1562.80 C2 5 C 2404 1887.00 Q17 5 C 2405 28.26 U21 5 C 2406 52.68 F5 5 C 2407 53.35 F5 5 C 2408 27.00 F5 5 C 2409 301.50 U21 5 C 2410 32.23 F5 5 C 2411 110. P16 5 C 2412 1500 U21 0 C 2413 O15 R18 3 C 2414 286.41 F5 3 C 2415 12.68 F5 3 C 2416 93.20 D3 5 C 2417 7.75 K11 3 C 2418 66.34 E4 3 C 2419 1197.81 F5 5 C 2420 50 X24 3 C 2421 261.65 W23 5 C 2422 J10 P16 5 C 2423 2386 Q17 5 C 2424 28.15 W23 5 C 2425 8.95 R18 5 D 3727.5 C 2426 16.05 F5 7 C 2427 450.59 Q17 5 C 2428 621.73 H8 6 C 2429 4000. U21 6 C 2430 6.75 R18 6 C 2431 110 F5 6 C 2432 991 P16 6 C 2433 41.5 T20 6 C 2434 52 F5 6 C 2435 675 H8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 T20 6 CC 2437 C 2438 3.47 R18 6 C 2439 K11 R18 6 C 2440 339.45 V22 6 C 2441 28.76 R18 6 C 2442 589.40 E4 6 C 2443 19.89 V22 6 C 2444 16. R18 6 CC 2445 C 2446 93.20 D3 6 C 2447 410.72 Y25 6 C 2448 695.00 H7 6 C 2449 50. A27 6 C 2450 13.00 Q17 6 C 2451 55.00 V22 7 C 2452 74.42 V22 7 C 2453 56.30 F5 7 C 2454 7.85 F5 7 C 2455 223.17 F5 7 C 2456 368.00 W23 7 C 2457 1562.80 C2 7 D 5534.20 C 2458 450.59 Q17 8 C 2459 75.65 K11 8 C 2460 923. F5 8 CC 2461 CC 2462 C 2463 Y25 R18 8 C 2464 Z26 V22 8 C 2465 50.50 R18 8 C 2466 39 F5 8 C 2467 4.80 V22 8 CC 2468 C 2469 70 R18 8 C 2470 500 U21 8 C 2471 L12 V22 8 D 6157.00 C 2472 113.56 E4 8 C 2473 9.95 R18 8 CC 2474 C 2475 368 W23 8 C 2476 616 I9 8 C 2477 208.65 F5 8 C 2478 380 H7 9 C 2479 129 F5 9 C 2480 3.95 R18 9 C 2481 7.06 B1 9 C 2482 D30 R18 9 C 2483 O15 R18 9 D 5631.50 CC 2484 C 2485 2000 U21 9 C 2486 H7 B1 9 C 2487 34.03 V22 9 C 2488 474.35 F5 9 C 2489 179.46 F5 9 C 2490 145 F5 9 D 5395 C 2491 12.30 R18 9 C 2492 H7 B1 11 C 2493 C2 V22 9 C 2494 3.50 R18 9 C 2495 46.49 E4 10 CC 2496 C 2497 117.03 D3 10 CC 2498 C 2499 1773.70 C2 11 C 2500 94.90 V22 11 C 2501 50 T20 11 C 2502 21.85 K11 11 C 2503 89.37 H8 11 D 10811.70 C 2504 547.42 Q17 11 C 2505 1203.31 V22 11 C 2506 368 W23 11 C 2507 616 I9 11 C 2508 10.80 R18 11 C 2509 23.30 F5 11 C 2510 27.60 F5 11 C 2511 126.00 F5 11 C 2512 168.26 F5 11 C 2513 230.66 Y25 11 C 2514 R18 18 11 C 2515 T20 R18 11 C 2516 42 Z26 11 C 2517 H8 R18 11 D 7237.50 C 2518 446.86 E4 11 C 2519 T20 Z26 12 C 2520 28.99 J10 12 C 2521 4.15 J10 12 C 2522 61.36 J10 12 C 2523 1210.49 J10 12 C 2524 H7 B1 12 C 2525 P16 J10 12 C 2526 45.45 F5 12 C 2527 13.30 F5 12 C 2528 387 Q17 12 C 2529 18.70 R18 12 CC 2530 C 2531 1800 U21 13 C 2532 206.25 Z26 12 C 2533 1703.40 C2 0 D 3825 C 2534 3178.45 V22 14 CC 2535 C 2536 97.67 W23 14 C 2537 55.93 E4 14 C 2538 Z26 F5 14 C 2539 550 X24 14 C 2540 106.32 H8 14 C 2541 105 D3 14 C 2542 108.06 H8 14 D 6507.66 CC 2543 C 2544 74.95 J10 14 C 2545 671.81 Q17 14 C 2546 262.60 F5 14 C 2547 50.50 F5 14 C 2548 11.70 Y25 14 C 2549 85 G6 14 C 2550 J10 R18 14 C 2551 34 G6 14 C 2552 200 F5 14 C 2553 368 W23 14 C 2554 912.90 I9 14 C 2555 500 U21 14 C 2556 90 J10 14 C 2557 120 B1 15 C 2558 2.05 R18 15 C 2559 899 Q17 15 C 2560 267.58 V22 15 D 465 D 3182.36 C 2561 100 F5 15 CC 2562 DM 200 D 5187.50 C 2563 500 H8 15 C 2564 100.75 J10 15 C 2565 3000 U21 15 C 2566 1800 U21 17 C 2567 75.21 J10 15 C 2568 563.06 E4 15 C 2569 Z26 Q17 15 C 2570 192 V22 15 C 2571 14.30 F5 15 C 2572 184.25 F5 15 D 3000 C 2573 500 U21 15 C 2574 115 D3 16 D 11960.00 C 2575 42 Z26 16 C 2576 26.12 F5 16 C 2577 81.71 E4 16 C 2578 36.81 K11 16 C 2579 368.00 W23 16 C 2580 671.81 Q17 16 C 2581 37.70 R18 16 C 2582 72 G6 16 C 2583 350 U21 16 C 2584 23.95 H8 16 C 2585 1773.70 C2 16 CC 2586 C 2587 271.60 W23 17 CC 2588 D 2107.75 D 4990 C 2589 F5 B1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 H8 17 C 2591 311.54 H8 17 C 2593 770.94 Y25 17 C 2594 109.92 V22 17 C 2595 432.25 E4 18 C 2596 B28 B1 18 C 2897 200 A27 18 C 2598 919 C2 18 C 2599 187.22 F5 18 C 2600 134 F5 18 C 2601 90.50 F5 18 C 2602 153.64 F5 18 C 2603 14850. V22 18 CC 2604 C 2605 50 X24 18 C 2606 186.36 H8 18 C 2607 85 B1 18 D 32927.50 C 2608 1352.93 Y25 19 C 2609 50 T20 19 CC 2610 CC 2611 DM 7.37 C 2612 Q17 G6 20 D 14750.00 D 2040 C 2613 33 F5 20 C 2614 9.22 F5 20 C 2615 115 D3 20 C 2616 1875.10 C2 20 C 2617 134 F5 20 C 2618 46.45 F5 20 C 2619 790.75 Q17 20 C 2620 33 Q17 20 C 2621 368 W23 28 C 2622 52.30 F5 20 C 2623 309.14 H8 20 C 2624 I9 R18 20 C 2625 1452.77 Y25 20 D 8742.50 C 2626 50 X24 20 C 2627 39.50 R18 20 CC 2628 C 2629 56 Q17 20 C 2630 164 F5 21 C 2631 400.88 E4 21 CC 2632 C 2633 8.75 R18 21 C 2634 7.50 B1 21 C 2635 48 E4 21 C 2636 12.55 K11 21 C 2637 139.70 V22 21 D 538 C 2638 1200 U21 21 C 2639 1000 U21 21 C 2640 115 D3 21 C 2641 D30 F5 21 C 2642 101.39 E4 22 D 3000 DM 3000.00 C 2643 140 V22 21 C 2644 35 Z26 22 C 2645 671.81 Q17 22 C 2646 1850.16 C2 22 C 2647 70 W23 22 C 2648 14.20 W23 22 C 2649 500 X24 22 C 2650 13.05 K11 22 C 2651 205.74 V22 22 C 2652 199.40 F5 22 C 2653 17.16 F5 16 C 2654 19.94 F5 22 C 2655 34.12 V22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 U21 22 C 2657 116.89 B1 23 D 1545 C 2659 368 W23 22 C 2660 37 R18 22 C 2661 Y25 V22 22 C 2662 O15 R18 22 C 2663 500 U21 23 C 2664 25.35 F5 23 D 6212.50 CC 2665 C 2666 50 X24 23 C 2667 96.30 R18 23 C 2668 495.42 E4 23 C 2669 145 F5 23 C 2670 8.70 B1 24 C 2671 16.80 B1 24 C 2672 C29 F5 23 C 2673 11.48 V22 23 C 2674 1397.48 Y25 23 C 2675 200 B28 23 C 2676 500 H8 23 CC 2677 C 2678 49.56 H8 24 C 2679 10000 W23 24 C 2680 110 W23 24 C 2681 1007 W23 24 C 2682 37.64 V22 24 C 2683 2000. U21 24 C 2684 49.44 B1 25 D 4762.50 C 2685 1850.16 C2 25 C 2686 35.27 K11 25 C 2687 115 D3 25 C 2688 144.36 E4 25 C 2689 50 V22 25 C 2690 39.85 R18 25 C 2691 141.22 E4 25 C 2692 552.87 Q17 25 C 2693 134.32 V22 25 CC 2694 D 1882.50 C 2695 500 H8 25 C 2696 500 H8 25 C 2697 20.32 F5 26 C 2698 750 C 2699 110.25 B1 25 C 2700 368 W23 25 C 2701 134.74 V22 25 C 2702 6.90 F5 25 C 2703 99 Q17 25 DM 11.49 DM 11.61 C 2704 36 R18 26 C 2705 635.69 A27 26 C 2706 18.50 R18 26 D 7130 C 2707 295 Z26 26 C 2708 472.87 E4 26 C 2709 O15 R18 26 C 2710 36.50 F5 26 C 2711 16.75 R18 26 C 2712 218.26 F5 26 C 2713 139.96 M13 16 CC 2714 C 2715 50 V22 26 C 2716 1500 U21 27 C 2717 1500 U21 28 C 2718 11.56 F5 26 C 2719 4812.51 W23 27 D 1545 C 2720 3920.58 Q17 27 C 2721 115 D3 27 C 2722 76.99 V22 27 C 2723 40.30 F5 27 C 2724 117.43 E4 27 C 2725 552.87 Q17 27 C 2726 127.35 F5 27 C 2727 G6 R18 27 C 2728 T20 F5 27 C 2729 52.84 K11 27 C 2730 5.74 F5 27 DM 23.10 C 2731 50 X24 27 D 592.50 C 2732 911.35 Y25 27 C 2733 46.85 F5 27 C 2734 164.11 F5 27 C 2735 1850.16 C2 27 C 2736 140 B1 27 D 1997 C 2737 368 W23 27 D 1467.50 C 2738 154.01 F5 28 C 2739 33 R18 28 C 2740 40 W23 28 C 2741 15.15 H8 28 C 2742 342.32 H8 28 C 2743 J10 Z26 28 C 2744 160 A27 28 C 2745 S19 Z26 28 C 2746 1136.47 G6 28 C 2747 174.34 H8 28 C 2748 208.22 Y25 28 C 2749 131.46 J10 28 D 13855 C 2750 145.75 J10 28 C 2751 D30 F5 28 C 2752 54 F5 28 C 2753 55 V22 28 C 2754 569.90 E4 28 C 2755 64.50 G6 28 C 2756 75 B28 29 CC 2757 C 2758 374 Q17 29 C 2759 115 D3 29 C 2760 500 U21 29 C 2761 500 U21 29 C 2762 1510 U21 29 E 496 1177.09 L12 3 E 495 1076.21 L12 3 E 494 392.55 L12 1 E 493 456.63 L12 1 E 492 497.88 L12 1 E 491 574.03 L12 1 E 490 890.20 L12 1 E 489 842.19 L12 1 E 488 788.81 L12 1 E 510 304.73 L12 5 E 509 432.47 L12 5 E 508 575.53 L12 5 E 507 502.81 L12 5 E 506 842.80 L12 5 E 505 1033.57 L12 5 E 504 254.00 L12 4 W 503 702.05 N14 4 W 502 4521.60 N14 4 W 501 387.26 N14 3 W 500 372.80 N14 3 W 499 561.91 N14 3 W 498 497.97 N14 3 E 497 926.48 L12 3 E 519 84.76 L12 12 E 520 483.00 L12 8 E 511 830.88 L12 7 E 537 464.55 L12 10 E 531 356.37 L12 9 E 529 589.96 L12 9 E 530 436.65 L12 9 E 528 393.86 L12 9 E 527 888.88 L12 9 E 526 1034.18 L12 9 E 525 991.35 L12 9 E 524 733.00 L12 8 W 522 182.00 N14 8 W 523 1549.00 N14 8 W 521 2210.00 N14 8 W 518 3391.80 N14 7 W 517 277.10 N14 7 E 516 259.01 L12 7 E 515 439.51 L12 7 E 514 398.75 L12 7 E 513 1113.18 L12 7 E 512 893.06 L12 7 W 540 4601.70 N14 10 E 532 1062.02 L12 10 E 533 1122.84 L12 10 E 534 999.70 L12 10 E 535 538.32 L12 10 E 536 643.20 L12 10 E 538 386.34 L12 10 E 539 105.03 L12 10 W 541 1703.92 N14 11 W 544 5.00 N14 11 W 545 1345.38 N14 11 E 546 924.04 L12 12 E 547 982.73 L12 12 E 548 873.83 L12 12 E 549 473.57 L12 12 E 550 542.91 L12 12 E 551 440.27 L12 12 E 553 299.63 L12 12 E 552 185.93 L12 12 E 568 343.38 L12 15 E 569 304.73 L12 15 E 567 596.15 L12 15 E 566 465.02 L12 15 E 565 948.24 L12 14 E 564 985.99 L12 14 E 563 991.80 L12 14 E 557 473.57 L12 13 E 558 601.00 L12 13 E 560 265.01 L12 13 E 555 991.16 L12 12 E 554 927.77 L12 12 E 556 852.47 L12 13 W 562 4255.04 N14 13 E 561 297.08 L12 13 E 559 688.29 L12 13 E 570 1050.61 L12 16 E 571 1069.11 L12 16 E 572 1019.07 L12 16 E 573 566.88 L12 16 E 574 630.97 L12 16 E 575 269.88 L12 16 E 576 472.09 L12 16 E 577 346.43 L12 16 W 578 4412.14 N14 16 W 579 483.00 N14 16 W 580 2210.00 N14 16 W 581 38.36 N14 16 E 582 1046.89 L12 17 E 583 1151.39 L12 17 E 584 996.51 L12 17 E 585 627.63 L12 17 E 586 732.19 L12 17 E 587 537.45 L12 17 E 588 513.44 L12 17 E 589 374.42 L12 17 E 590 110.15 L12 17 E 591 979.37 L12 18 E 592 1426.28 L12 18 E 594 531.30 L12 18 E 596 500.91 L12 18 W 599 5659.58 N14 18 E 593 960.21 L12 0 E 595 645.08 L12 0 E 597 430.98 L12 0 E 598 343.31 L12 0 W 600 1863.74 N14 18 W 602 850.20 N14 18 E 603 796.26 L12 20 E 604 802.32 L12 20 E 605 379.26 L12 20 E 606 542.91 L12 20 E 607 283.06 L12 20 E 608 180.93 L12 20 E 609 282.18 L12 20 E 615 369.00 L12 21 W 617 2861.14 N14 21 E 625 2210.00 L12 23 E 627 1209.08 L12 24 E 628 1158.89 L12 24 E 629 552.62 L12 24 E 630 596.12 L12 24 E 632 359.96Ä L12 24 W 634 800.03 N14 24 E 635 921.48 L12 25 E 636 1050.72 L12 25 E 637 533.66 L12 25 E 638 610.74 L12 25 E 639 361.79 L12 25 E 640 201.10 L12 25 E 645 346.92 L12 26 E 610 325.46 L12 21 E 611 1020.87 L12 21 E 612 922.47 L12 21 E 613 505.84 L12 21 E 614 595.69 L12 21 E 616 258.02 L12 21 E 618 1053.55 L12 23 E 619 845.14 L12 23 E 620 420.35 L12 23 E 621 548.51 L12 23 E 622 293.42 L12 23 E 623 339.16 L12 23 E 624 374.42 L12 23 W 626 483.00 N14 23 E 631 142.22 L12 24 W 633 2792.12 N14 24 E 660 484.10 L12 29 W 662 2276.24 N14 29 E 650 981.35 L12 28 E 651 992.28 L12 28 E 652 327.45 L12 28 E 653 384.95 L12 28 E 641 1081.13 L12 26 E 642 1042.43 L12 26 E 643 490.20 L12 26 E 644 516.116 L12 26 E 646 326.75 L12 26 W 647 2424.72 N14 26 W 648 393.57 N14 26 W 649 251.13 N14 26 E 654 373.60 L12 28 E 657 1176.43 L12 29 E 658 1184.18 L12 29 E 659 566.46 L12 29 E 661 247.78 L12 29 E 663 393.62 L12 29 E 664 40.27 L12 29 INTERPOK[Û½à program interpok; var output : text; begin rewrite(output); writeln('Interpreter OK') end. TEST7‡mŽq +PROGRAM TEST(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR LINE : LINESTRING; I : INTEGER; NBYTES : INTEGER; STR :BIGSTR; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; {$I GCHN.PI} {$I OPEN.PI} {$I CLOSE.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I RDS.PI} {$I WRS.PI} PROCEDURE ADDZEROTO( VAR STR : BIGSTR); { ADD A ZERO BYTE TO STR TO MAKE IT RDOS COMPATIBLE AND LENGTHN THE STRING BY ONE} BEGIN {$R-} STR[0] := CHR(LENGTH(STR)+1); STR[LENGTH(STR)] := CHR(0); {$R^} END; BEGIN GCHN(I); STR := 'FOBAR'; ADDZEROTO(STR); CRAND(STR,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); WRITESEQUENTIAL(I,'THIS IS A TEST',14,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); NBYTES := 14; READSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN(OUTPUT,'LENGTH OF STRING =',LENGTH(STR),' NBYTES=',NBYTES); WRITELN(OUTPUT,STR); WRITELN(' HIT CTLA');READLN; END. T16¯Ž/ PROGRAM T16(INPUT,OUTPUT); VAR CHR : ARRAY [1..80] OF CHAR; X,Y,Z : REAL; IPEN,I,J : INTEGER; TESTCHAR : CHAR; BEGIN WHILE NOT EOF(INPUT) DO BEGIN I := 1;TESTCHAR := 'A'; WRITELN(OUTPUT,'PROMPT T16'); WHILE TESTCHAR <> ' ' DO BEGIN READ (INPUT,CHR[I]); TESTCHAR := CHR[I]; I := I+1; END; READ(INPUT,X,Y,Z,IPEN); FOR J := 1 TO I DO WRITE(OUTPUT,CHR[J]); WRITE(OUTPUT,X,Y,Z,IPEN); WRITELN(OUTPUT,'A'); END END. SEDITSVSEDITSVREALPRINTPA] ½½ :PROGRAM TEST (INPUT,OUTPUT); VAR I,DIGIT : INTEGER; R,R1,R2 : REAL; STR : STRING(11); PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-R2*10); R1 := R2 WRITELN(' GETDIGIT,DIGIT=',DIGIT); END{GETDIGIT} BEGIN {MAIN} {do decimal part first} WRITELN(' ENTER A REAL NUMBER'); READLN(R); R1=R*100; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[11-I] := CHR(DIGIT) END I :=I+1 STR[11-I] :='.' {do integer part} R1 :=R; WHILE ( R1>0.0 AND I<8) DO BEGIN GETDIGIT; STR[11-I] :=CHR(DIGIT) IF I = 6 THEN BEGIN I := I+1; STR[11-I] := ',' END I := I+1 END END. T3MCŽ ½½ CHATR TEST3.PX 0 CHATR TEST3.PA 0 DELETE/V TEST3.PA XFER TEST3 TEST3.PA/R CHATR TEST3.PA *P PASINTERP PASCALO/S/V/A/L TEST3 CHATR TEST3.PX *P CMC‚޽3CHATR CBOOK.(PA,PX) 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *P PASINTERP PASCALO/A/S/V/L CBOOK CHATR CBOOK.PX *P 197804è½½ /B 8273.34 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.60 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.49 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 1800 C 2532 206.25 C 2533 1703.40 D 3825 E 5096.35 W 4255.04 187805½½TOTALPAî ŽŽ PROGRAM TOTAL(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; TOTAL,AMOUNT : REAL; I,CHECKNUMBER : INTEGER; INFILE,OUTFILE : TEXT; (*$I GETREAL.PI *) (*$I REALPRINT.PI *) (*$I GETINTEGER.PI *) BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); TOTAL := 0.0; WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); I := 2; { CHECKNUMBER := GETINTEGER(STR,I);} AMOUNT := GETREAL(STR,I); TOTAL := TOTAL + AMOUNT; { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} REALPRINT(OUTFILE,AMOUNT); WRITELN(OUTFILE); END; WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITELN(OUTFILE); END. „PLMCpÎrqCHATR PL.PA 0 CHATR PL.PX 0 DELETE PL.PA XFER PL PL.PA/R CHATR PL.PA *WP PASINTERP PASCALO/S PL CHATR PL.PX *WP 197805¡½½ C 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C 2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912.90 C 2555 500 C 2556 90 E 4635.31 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 2563 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 C 2568 563.06 C 2569 26 C 2570 192 C 2571 14.30 C 2572 184.25 D 3000 C 2573 500 C 2574 115 C 2575 42 C 2576 26.12 C 2580 671.81 C 2581 37.70 C 2582 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 T26bÐUPROGRAM T26; PROCEDURE PCHA (VAL : BOOLEAN);EXTERNAL; BEGIN PCHA ( TRUE ); PCHA (FALSE); END. CROSSREF¯ŽÜ+PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : ALFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*ÑSCAN NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; PACK(A,1,ID);SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. TESTMC„úŽl CHATR TEST.PA 0 CHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V TEST CHATR TEST.PA *WP CHATR TEST.PX *WP PL5PX Ðrq $ÈPLO Copyright (C) 1980 Rational Data Systems¼  * Ö¦ ****¥†7®ÒÏÖÙ ð•ÏÖÙ^ÏÖÙØÏ ÖÙÏò‚« ­6ðñáôÖ¥…µÏ ¡"Ö¦PROGRAM INCOMPLETE¥†7®ÒÏ ž« « Öô¥†7®ÒÏ ÖØ ÏÖ¥…µÏ “¡'ñ‚« Ö¥¥…µÒÏÖ襆7®ÒÏ¥ñQˆ•¤èš¹öÖ¥†7Ïñ‚« Ö¥ñQˆ•¤¥…µÒÏð‚« ¥ðQˆ•¤ø«­c ²è áÖιöè³ÿÿþ‹¡îÌØ ɡ؂̥_Ø ˆ•Âè¿ÖÎè³ÿÿþÿ‹“¡ôØóġث ¹¥_ó ˆ• ¿ó•« óØÃ¡ò¥¥_Ñ Ì ÌÚÙ‚†Ì¥¥�-Ø ˆ•¤´ ¡Ø•Ì¥¥�-Ø ˆ•¤° ¡Ø‚ÌÚÙÅ¡ðÚ•ÙÅ¡¥�dØ ˆ•¤ø«¹«¹qè³ÿ‹¡6Ì«« ï�è•‚«Ø‚ÌÖÎè³ÿ‹“¡ìØÅ¡Öι+è:áÖÎè=á«Öι«¹¥�oèÇÿˆ¤ø«Öέ[vÎñ)LTôÇÈÅ¡ Ö¦PROGRAM TOO LONG¥†7®ÒÏ ž¥dôÇȈ¤ÌÛÇàØ»ÛÇÙ ˆ»ÛÇþÚÇψ»ô‚« ­Z鯼‹“¡$ÖÜÎÆÆ¼Æ¼œ ½éƼ‹“¡Öιö­8¶‚¸¥‚�¶dˆ¤ÌÙ¥Ñ Ù¢ ؚع6ïÇÏÅ¡ÖΫ٢ ïš¹/Ù¢¶šÙ¢ ¶š¶‚¸¹Ù¢¶š¹¬¹>+­nÆÙÑ ¥‚�dˆ¤ÆÑ ¶Ì¥‚�ßdˆ¤Æ· ¡ß•̹ößÌ­ < éá5ÖÎ鳋¡ éáÖÎÖÎéá ÖÎÖιÖιÖιÖέF éá ÖÎÖιÖέ ¶®ô•®È¡PÚ̹ØÐÌ¥dØÇȈ¤ÌÖØ¥†7®ÒÏ ÖÛ¥‚oÚÇຈ¤ÏÖÛÚÇºÏ ÖÛÚÇþºÏ ÖÛÏØÙáö­N h Ö¥‚‡¼ Æ¼ Î饂‡¼‹¡ôéáQ֥ΠÌÚáÖ Î¹9¥‚�Údˆ¤ÌÛý¹ÖÛþι!Ö¶Ûÿ•ÛþιÖι ¬¹$ÖιCéáïÇÏÅ¡ÖΫÖïÎÖι%éá ÖÎÖǀƼœ ÎéáÖιÖÎÖÆ¼ Ç@ Î¹ö­» ÖÖÆ¼`œ Îé`‹¡(éÌÖÎÖÆ¼`œ ÎÚáÖιÖιö­1 Fé‹¡ éÌÖÎÖÆ¼œ ÎÚáÖι ÖÆ¼œ Îé‹¡(éÌÖÎÖÆ¼œ ÎÚáÖιÖιö­1 léáÖÎÖÆ¼ ÎÖιtÖÇ?Ƽœ ÎéÇ?‹“¡ÖιVéÌÖÎÖÆ¼ ÎÚ¹0Öι;Ö Î¹3Ö Î¹+Ö Î¹#Ö Î¹Ö Î¹¬ ¹ 71+)­–éáa֥ΠÌÜáÖ Î¹¥‚�Üdˆ¤ýË¡Ö ÎÌÖÎéáÖÎ¹Ö ÎÖÆ¼ ÎÜË¡¥‚�Üdˆ¤ÌÖ¶Ýÿ•ÝþιðéáIÖÎéË¡Öι9֥ΠÌÜáÖ Î¹#¥‚�Üdˆ¤ÌÝýáÖ¶Ýÿ•ÝþιÖÎÖιòéáMÖÎÖ³€Æ¼œ ÎéáÖιÖÎôÌÖÎÖÆ¼ Î ¥dÛÇȈ¤ÇþôÇψ»¹ôéáZÖÎÖ³"Ƽœ Î é³¥‚‰¼œ‹¡"éáÖÎ¹Ö ÎÖ³"Ƽœ Î ¹öéáÖιÖιYéáTôÌÖÎֳƼøœ ÎôÌÖÎéáÖιÖÎÖÆ¼ Î ÖÛÎ¥dÚÇȈ¤ÇþôÇψ»ÖƼ  Î­³Ü ÌÙÌ¥‚�Ùdˆ¤¢ ôšÖÎØ Å¡Ö Îéá&ÖÎÖÎ éáÖÎÖÎ ¹öéáÖιÖÎéË¡ôéá&ÖÎÖÎ éáÖÎÖÎ ¹òéáÖιÖÎéË¡ðéáeÖÎéá ÖÎÖιÖÎéáÖιÖÎÖØ‚ٳƼœ Îéá ÖÎÖ¥‚‰¼³ œ Æ¼ Î¹ÖιîÖ¥‚‰¼œ ¥‚‹¼ Î饂‹¼‹“¡ì¥d¥‚�Ýdˆ¤þÇȈ¤ÇþôÇψ»¥‚�Ýdˆ¤Ìߢ ôšôÌÖÜÎÖ³"Ƽœ Î ÖÎÖÆ¼  ÎÖÎ ­DðDCx¶ÌÙÅ¡²ÚÇôˆ•¤øÌٕ̹öÚÌ­!.Ö¦ START OF PL/0¥†7®�ùÒÏÖÊ�ùÏÌÌÌÆÇôˆ•¤šÆÇôˆ•¤šÆÇôˆ•¤šÆ¥dÚÇȈ¤¨Ú‚ÌÆÇູòØ‚ÌÆØÇôˆ•¤ÆÇþºš¹ðÆÇþº¹öÙ•ÌÆØ‚Çôˆ•¤øÌÆØ‚Çôˆ•¤øÌ¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø‘š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø‚š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø•š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø�š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø†š¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø„š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÃš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øËš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÉš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÄš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÅš¹UØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÈš¹$¬ ¹V/嶇X>ూS¹ðØ‚ÌÆØÇôˆ•¤ÆÖÆÇºÎÆÇþº‚Çôˆ•¤øš¹ðÆÖÆÇºÎÆÇþº‚Çôˆ•¤ÆØÇôˆ•¤øšÖÆØÇôˆ•¤ø¥†7®�ùÒÏ ÖÊ�ùÏØ•Ì¹ðÆØ‚Çôˆ•¤ÖÆÇºÎ飢Çôˆ•¤Ù飢Çôˆ•¤ÚšØ‚ÌÆÇþºÌ¹NØÆÇþº‚̹BÆÇþºÌ¹8ÆØÇôˆ•¤øÃ¡ÆÇþºÌ̹ؕ¬¹œ„ ÛŽH>6ÚáîÖ¦ END OF PL/0¥†7®�ùÒÏ­ç"<>dùJÖÆ†7ƆuÏÖÆ†7¦OUTPUTÏÖÆ…µÆ…óÏÖÆ…µ¦INPUTÏÖÏÖÆ…µÏÖÆ†7ÏA®†º;®†¹È¡ʆº«¹èЫ¥�oèÇÿˆ¤šèʆ¹Ã¡ô¥�- ˆ•¤¦ BEGIN ÐÑ ¥�- ˆ•¤¦ CALL ÐÑ ¥�- ˆ•¤¦ CONST ÐÑ ¥�- ˆ•¤¦ DO ÐÑ ¥�- ˆ•¤¦ END ÐÑ ¥�- ˆ•¤¦ IF ÐÑ ¥�- ˆ•¤¦ ODD ÐÑ ¥�- ˆ•¤¦ PROCEDURE ÐÑ ¥�-  ˆ•¤¦ THEN ÐÑ ¥�-  ˆ•¤¦ VAR ÐÑ ¥�-  ˆ•¤¦ WHILE ÐÑ ¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�o+Çÿˆ¤š¥�o-Çÿˆ¤š¥�o*Çÿˆ¤š¥�o/Çÿˆ¤š¥�o(Çÿˆ¤š¥�o)Çÿˆ¤š¥�o=Çÿˆ¤š¥�o,Çÿˆ¤š¥�o.Çÿˆ¤š¥�o!Çÿˆ¤ š¥�o<Çÿˆ¤ š¥�o>Çÿˆ¤ š¥�o"Çÿˆ¤ š¥�o#Çÿˆ¤ š¥�o;Çÿˆ¤š¥‚oˆ¤¦LIT ÐÑ¥‚oˆ¤¦OPR ÐÑ¥‚oˆ¤¦LOD ÐÑ¥‚oˆ¤¦STO ÐÑ¥‚oˆ¤¦CAL ÐÑ¥‚oˆ¤¦INT ÐÑ¥‚oˆ¤¦JMP ÐÑ¥‚oˆ¤¦JPC ÐÑ¥‚‹³8 ½¥‚‰³P ½¥‚‡Ç@ ½Ö¥†7Ï« « « « « « ÖÎÖ³¥‚‹¼œ¥‚‰¼œ ÎéË¡Ö ÎòáÖι$Ö¦ ERRORS IN PL/0 PROGRAM¥†7®†¹ÒÏÖ¥†7ÏÖÆ†7ÏÖÆ…µÏ­Ìº*~2  f  ° 8H¶Ö"dÈÚÐzŠ&1980D2 ]¦ŽŽ 810 10 EM 810 17 15 811 11 EM 811 604.28 15 812 12 EM 812 643.69 15 813 16 C 813 980.89 14 814 18 CC 814 816 25 C 816 1581.88 12 817 17 C 817 205.18 12 818 55 EM 818 140 27 819 26 C 819 1581 12 820 56 EM 820 1581 12 821 65 EM 821 195.18 12 822 66 EM 822 1415.95 12 823 117 EM 823 1000 12 824 131 EM 824 333.14 15 825 132 EM 825 378.68 15 826 133 EM 826 2590.51 14 827 134 EM 827 425.95 12 828 135 EM 828 82.50 26 829 136 EM 829 138.70 14 830 138 EM 830 1425.95 12 831 139 EM 831 205.18 12 832 140 EM 832 209.37 12 833 57 EM 833 948.57 12 834 58 EM 834 912.14 12 835 59 EM 835 17 15 836 60 EM 836 181.73 14 837 61 EM 837 482.61 15 838 62 EM 838 2742.40 14 839 63 CC 839 840 64 EM 840 622.50 27 841 137 EM 841 1425.95 12 842 192 EM 842 209.37 12 843 197 EM 843 1527.87 12 844 193 EM 844 1527.87 12 845 194 EM 845 290.37 12 846 195 EM 846 3584 14 847 198 EM 847 1527.87 12 848 199 EM 848 209.37 12 849 200 EM 849 1000 12 850 201 EM 850 9000 12 851 221 EM 851 4000 36 852 227 EM 852 1527.87 12 853 239 EM 853 540 15 854 238 EM 854 48.65 12 3040 1 C 3040 704.45 3064 2 CC 3064 3066 3 C 3066 250 27 3067 20 C 3067 62 1 3068 32 C 3068 10 18 3069 4 C 3069 96 4 3070 5 CC 3070 3071 22 C 3071 330 20 3075 6 C 3075 23 5 3076 7 C 3076 100 24 3077 8 C 3077 10.77 6 3078 9 C 3078 22.50 4 3081 19 C 3081 35 4 3082 267 C 3082 1350.12 25 3083 21 C 3083 34 6 3084 273 CC 3084 3085 23 C 3085 50.99 5 3086 33 C 3086 138.02 25 3087 24 CC 3087 3088 34 C 3088 1040 23 3089 274 CC 3089 3090 35 C 3090 5324 9 3091 36 C 3091 250 8 3092 37 C 3092 206.59 20 3093 38 C 3093 15.40 22 3094 39 C 3094 120.70 4 3095 40 C 3095 20 26 3096 41 C 3096 775 9 3097 42 C 3097 32.88 10 3098 43 C 3098 74.05 22 3099 45 C 3099 4000 32 3100 275 CC 3100 3101 46 C 3101 1557.44 25 3102 276 CC 3102 3103 48 C 3103 42.50 10 3104 47 C 3104 40 33 3105 49 C 3105 504.39 25 3106 50 C 3106 119.98 4 3107 51 C 3107 793.50 9 3108 52 C 3108 1537.50 27 3109 53 C 3109 3394.50 6 3110 54 C 3110 25 3 3111 277 CC 3111 3112 92 C 3112 25 26 3113 67 C 3113 79.95 5 3114 68 C 3114 69.95 10 3115 69 C 3115 200 20 3116 70 C 3116 225 27 3117 71 C 3117 4.65 10 3118 93 C 3118 1.30 11 3119 72 C 3119 48 18 3120 73 C 3120 1940.43 25 3121 74 C 3121 269.78 17 3122 94 C 3122 100 26 3123 75 C 3123 12.24 4 3124 76 C 3124 93.27 15 3125 77 C 3125 181.78 15 3126 78 C 3126 243.77 14 3127 79 C 3127 68.45 23 3128 95 C 3128 7.86 22 3129 80 C 3129 128.35 5 3130 81 C 3130 25.98 5 3131 260 CC 3131 3132 82 C 3132 15.90 5 3133 83 C 3133 125.81 22 3134 84 C 3134 20.47 22 3135 85 C 3135 85.15 22 3136 268 C 3136 16.00 1 3137 44 CC 3137 3138 96 C 3138 185.26 4 3139 97 C 3139 19.37 10 3140 98 C 3140 6.17 10 3141 99 C 3141 6.46 10 3142 100 C 3142 3.96 10 3143 101 C 3143 3.62 10 3144 102 C 3144 42.08 22 3145 103 C 3145 46.50 3 3146 104 C 3146 36.70 11 3147 105 C 3147 27.73 10 3148 106 C 3148 25.95 5 3149 107 C 3149 6 33 3150 108 C 3150 95 33 3151 109 C 3151 78.50 33 3152 110 C 3152 1000 25 3153 111 C 3153 227.40 25 3154 112 C 3154 100 8 3155 113 C 3155 160.43 4 3156 114 C 3156 835.38 25 3157 115 C 3157 781.68 25 3158 118 C 3158 21.92 5 3159 119 C 3159 12 33 3160 122 C 3160 155.47 17 3161 123 C 3161 34 10 3162 146 C 3162 39.95 18 3163 124 C 3163 594 17 3164 147 C 3164 130.46 14 3165 120 C 3165 638.45 27 3166 125 C 3166 465 4 3167 121 C 3167 15 5 3168 126 C 3168 83.85 3 3169 127 C 3169 200 24 3170 148 C 3170 120.97 4 3171 149 C 3171 18 33 3172 150 C 3172 36.70 10 3173 151 C 3173 947.50 25 3174 152 C 3174 80 26 3175 153 C 3175 204 5 3176 169 C 3176 50 22 3177 154 C 3177 496.56 25 3178 155 C 3178 136.20 25 3179 156 C 3179 729 17 3180 157 C 3180 170 23 3181 170 C 3181 950 7 3182 158 C 3182 121.30 11 3183 159 C 3183 25.91 22 3184 160 C 3184 127 17 3185 171 C 3185 125 23 3186 161 C 3186 10.08 23 3187 172 C 3187 174.75 23 3188 173 C 3188 290.64 4 3189 174 C 3189 1372 27 3190 175 C 3190 3.28 5 3191 176 C 3191 18 5 3192 177 C 3192 5.68 23 3193 179 C 3193 37.25 23 3194 180 C 3194 147.08 23 3195 181 C 3195 17 23 3196 182 C 3196 50 21 3198 116 C 3198 28.30 3 3199 183 C 3199 26 33 3200 162 C 3200 1020 27 3201 184 C 3201 2764.81 27 3202 185 C 3202 948.17 25 3203 178 C 3203 100 27 3204 186 C 3204 55.20 5 3205 187 C 3205 14.25 7 3206 188 C 3206 10 6 3207 189 C 3207 7.58 5 3208 190 C 3208 60.59 2 3209 191 C 3209 250.65 25 3210 202 C 3210 720 27 3211 203 C 3211 69.37 2 3212 204 C 3212 1.81 11 3213 205 C 3213 176.55 25 3214 206 C 3214 10.46 25 3215 207 C 3215 18.28 5 3216 269 C 3216 64.28 5 3217 209 C 3217 547.32 17 3218 210 C 3218 136.48 17 3219 211 C 3219 48.60 10 3220 212 C 3220 170 23 3221 213 C 3221 10 8 3222 216 C 3222 450 27 3223 217 C 3223 10.64 5 3224 214 C 3224 227.40 17 3225 215 C 3225 36 5 3226 218 C 3226 93.71 4 3227 219 C 3227 74.13 2 3228 223 C 3228 102.08 4 3229 222 C 3229 2774.75 23 3230 220 C 3230 31 26 3231 224 C 3231 35 18 3232 228 C 3232 125 23 3233 229 C 3233 3654.15 23 3234 270 C 3234 298.80 25 3235 230 C 3235 37 33 3236 231 C 3236 42.50 33 3237 232 C 3237 2282.26 6 3238 233 C 3238 138.17 33 3239 234 C 3239 95.64 2 3240 235 C 3240 3.70 5 3241 236 C 3241 4.33 5 3242 237 C 3242 35.39 18 3243 245 C 3243 28.20 3 3244 246 C 3244 341.40 10 3245 247 C 3245 500 25 3246 248 C 3246 328.44 10 3247 249 C 3247 784.13 25 3248 250 C 3248 125.30 11 3249 251 C 3249 5.76 23 3250 252 C 3250 50 24 3251 254 C 3251 100 2 3252 253 C 3252 1760 27 3253 255 C 3253 43 1 3254 256 C 3254 290.77 4 3255 257 C 3255 100 2 3258 258 C 3258 42.50 33 3259 259 C 3259 4.60 23 3260 261 C 3260 820.84 25 3261 262 C 3261 732.30 8 3262 271 C 3262 88.41 14 3263 263 C 3263 50 22 3264 264 C 3264 296.31 23 3265 265 C 3265 168.01 25 3268 272 C 3268 14.00 26 3276 278 C 3276 146.75 11 3277 279 C 3277 60 1 3278 280 C 3278 19.01 11 3279 281 C 3279 72.18 5 BTREEPX rr xBTREE Copyright (C) 1980 Rational Data Systems¼  ¶ÌÚøÉ¡[ÚÚø‚ˆš¶šÚø®¶‚®Ä¡)Ü̹ؕÌڢ؈•¤Ú¢Ø•ˆ•¤¨ØÛáöÚ¢¶‚ˆ•¤² ¨¹èÆž¶È¡ð¶á ¶² ¨¹Z¶Ú¢ˆ•¤¨®¶‚®Ä¡)Ü̹ؕÌڢ؈•¤Ú¢Ø•ˆ•¤¨ØÛáôÚ¢¶‚ˆ•¤² ¨®®È¡*Ü̹ØÐÌ٢؈•¤¶¢Ø‚ˆ•¤¨ØÛáò¹ê¶•¸¶Ú¢‚ˆ•¤¨®¶•®È¡,Ü̹ØÐÌ٢؈•¤¶¢Ø‚‚ˆ•¤¨ØÛáîÙ¢¶ˆ•¤² ¨¶‚®®È¡*Ü̹ØÐÌ٢؈•¤¶¢Ø‚ˆ•¤¨ØÛáìÚˆšÙˆšÙ¢¶ùš¶¢Ùš­ G”Âë3®âٟáÚšÛÌ Ê ØšÊ ¢šÊ ¢Ÿš¹ôÙÌ ÌÊ øÌÝÜ‚†ÌØÊ ¢Þˆ•¤øÈ¡Þ•ÌØÊ ¢Þˆ•¤øÄ¡Þ‚ÌÜÝÉ¡öÝܕš#Ê ¢Þˆ•¤¢Ê ¢Þˆ•¤ú‚šÚš¹*ÜáÊ ùÌ¹Ê ¢Üˆ•¤ùÌÖØßÚÆ ÎÚø¡Öέ� ÀØøÌÚÝÉ¡ìÚ‚ÌØ¢Úˆ•¤ùÌÜøÌÞ•‚†ÌÙ¢ˆ•¤Ø¢Úˆ•¤¨Ù¢ˆ•¤¢ÜùšßÅ¡ò® ß•® È¡.Ê Ì ¹Ê ÐÌ Ù¢Ê ‚ˆ•¤Ü¢Ê ˆ•¤¨Ê Ê Ã¡öØ¢Úˆ•¤Ü¢ßˆ•¤¨Ø¢Úˆ•¤¢ܚܢܢ߈•¤ùšÞߕ̮ Þ® È¡.Ê Ì ¹Ê ÐÌ Ü¢Ê ˆ•¤Ü¢Ê ß‚ˆ•¤¨Ê Ê Ã¡ôÜÞˆšÙ•ß‚ˆšÛš¹~® ® È¡.Ê Ì ¹Ê ÐÌ Ù¢Ê ‚ˆ•¤Ü¢Ê ˆ•¤¨Ê Ê Ã¡ðÚ® Ý•® È¡.Ê Ì ¹Ê ÐÌ Ø¢Ê ˆ•¤Ø¢Ê ‚ˆ•¤¨Ê Ê Ã¡îÙˆšØÝ•ˆš¹âÚáØù̹آڕˆ•¤ùÌÜø‚ÌÞ•†Ìßš敮 ® Ä¡/Ê Ì ¹Ê •Ì Ù¢Ê ß‚ˆ•¤Ù¢Ê ˆ•¤¨Ê Ê Ã¡ê٢߈•¤Ø¢Úˆ•¤¨Ù¢ßˆ•¤¢ÙùšÞß•Ìß•® ® Ä¡/Ê Ì ¹Ê •Ì Ù¢Ê ˆ•¤Ü¢Ê Þ‚ˆ•¤¨Ê Ê Ã¡è٢ܢވ•¤ùšØ¢Úˆ•¤Ü¢Þˆ•¤¨Ø¢Úˆ•¤¢ÙšÜÞ•ˆšÙ•ß‚ˆšÛš¹oÜ¢Þˆ•¤Ø¢Úˆ•¤¨Ü¢Þˆ•¤¢Ùùš® •® È¡.Ê Ì ¹Ê ÐÌ Ü¢Ê Þ‚ˆ•¤Ù¢Ê ˆ•¤¨Ê Ê Ã¡äÜ4ˆšØÝ•ˆš­:uîW—Ñ \Ñ@ØÌÛ¢Ûøˆ•¤ùÌÚŸË¡ÖÚÙÎÙø¡ÖØÚÛøÙιKØ¢Ûøˆ•¤¢¶¢¶ˆ•¤ùš¶¢¶ˆ•¤Ø¢Ûøˆ•¤¨ÛÛø•ˆšÙÛøÉš­~ٟá0Ö¦KEY IS NOT IN TR¥€Š® ÒÏÖÊ ¦EEÏÖÊ ÏÚš¹òÙÌ ÌÊ øÌÜÛ‚†ÌØÊ ¢Ýˆ•¤øÈ¡Ý•ÌØÊ ¢Ýˆ•¤øÄ¡Ý‚ÌÜÛÅ¡öÛáÊ ùÌ¹Ê ¢Ûˆ•¤ùÌÜÛ•Å¡bߟáKÊ Ê ø•ˆšÚÊ øɚݮ Ê ø® È¡,Ê Ì¹ÞÐÌÊ ¢Þˆ•¤Ê ¢Þ‚ˆ•¤¨ÞÊ Ã¡ô¹ÖßÚÎÚø¡ÖÙßÛÚÎ¹ÖØßÚÎÚø¡ÖÙßÛÚέPÔ ØŸË¡ðØÌ®Ù®È¡Ý̹ÚÐÌÖ¦ ¥€Š®ÒÏÚÜáö®Ûø®È¡$Ý̹ÚÐÌÖÛ¢Úˆ•¤ø¥€Š®ÒÏ ÚÜáôÖ¥€ŠÏÖÛùÙ‚Î®Ûø®È¡ Ý̹ÚÐÌÖÛ¢Úˆ•¤ùÙ‚ÎÚÜáò­ ^†¤ÖÆ€ŠÆ€ÈÏÖÆ€Š¦OUTPUTÏÖÆÆFÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€ŠÏŸ«Ö¥¥ÒÏ êË¡lÖ¦ SEARCH KEY¥€Š®� ÒÏÖÊ� êÏ ÖÊ� ÏÖê饥Îë¡,é«¥žéÌ� §� ˆš§� ¢èš§� ¢ˆ•¤¥¨ÖéÎÖ¥¥ÒÏ ¹öÖ¥¥ÒÏ êË¡KÖ¦ DELETE KEY¥€Š®� ÒÏÖÊ� êÏ ÖÊ� ÏÖêé¥Îë¡ éøÃ¡é«èù«ÖéÎÖ¥¥ÒÏ ¹ôÖÆ€ŠÏÖÆÏ­`Û ,2ü€àŒÊINPUT$TTIT36^*Ú¸ PROGRAM T36(INPUT,OUTPUT); TYPE INTSTR = ARRAY [1..10] OF INTEGER; VAR INCHNL,OUTCHNL,NBYTE,NBYTESREAD,ERROR,NBYTESWROTE,BYTE:INTEGER; NEWBYTE,STRING:INTSTR; PROCEDURE RDSQ(IOCH:INTEGER;VAR BUFFER:INTSTR; NBYTES:INTEGER;VAR NBYTESREAD:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE PBYT(VAR BYTE:INTEGER;POSITION:INTEGER;STRING:INTSTR);EXTERNAL; PROCEDURE GBYT(VAR BYTE:INTEGER;POSITION:INTEGER;STRING:INTSTR);EXTERNAL; PROCEDURE SWAP(VAR WORD:INTEGER);EXTERNAL; PROCEDURE RDLI(CHANNEL:INTEGER;VAR STRING:INTSTR;VAR NBYTESREAD:INTEGER; VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WRLI(CHANNEL:INTEGER;STRING:INTSTR;VAR NBYTESWROTE: INTEGER;VAR ERROR:INTEGER);EXTERNAL; BEGIN INCHNL:=1;OUTCHNL:=2; REPEAT WRITELN(OUTPUT,' ENTER S','TRING CR'); RDLI(INCHNL,STRING,NBYTESREAD,ERROR); WRITELN(OUTPUT,' ENTER B','YTE TO B','E EXTRAC','TED'); READLN(INPUT,NBYTE); GBYT(BYTE,NBYTE,STRING); WRITELN(OUTPUT,BYTE); WRITELN(OUTPUT,' ENTER B','YTE TO BE PUT'); RDSQ(INCHNL,NEWBYTE,1,NBYTESREAD,ERROR); SWAP(NEWBYTE[1]); PBYT(NEWBYTE[1],NBYTE,STRING); WRLI(OUTCHNL,STRING,NBYTESWROTE,ERROR); UNTIL INCHNL = 2 END. T.½½ &EDITSV  /ÚÚ  VþG l, t 9ÿÿ tÿÿÿÿÿÿ%ÿÿÿÿ²ÿÿCOPYRIGHT (C) DGC,1972,1973,1974 ALL RIGHTS RESERVEDEDIT REV 01.00 \8) ¥)�)¥az h  ü8 3S9ùÞX0 )‚  ø  ê1q¥ ç  ä9lå á8©¨KìKëë…CšCÊCïGìC±C§CêCèC»CîCðCÕCC„Cå­!G4 Ò !E  ÂãPC÷CôCé)BKóÓÂPCÆÃP  ´):  ° …¦Cõ  ¨!4 " ¤)-Õ ? ŸSÜ " ›Ó)$ ? –ÓSÛÓSÚÓQ!"0 B 3õÑ2Ð! *3õõ *O°±FCOM.CMUY Êë (€…Cðò#õ+Æ¥)t¥ 1#õ‚PC™ ‘ k#é)e¦€‚PCõCÆ!] +!=Gë!ç0 B „C› 5)Y� E)X¥ 13õ *õ3õ+ëªPµ +›1I• µ ì  F!Å0 B D0Zÿ"õ›�"Æ‚�2ëåùøÑÐ+Jø8ÒPSõÿ!Gë (n#ÆCõ) Õ ‘)¥ õ+Æ3õͱÑÐ ))¥ ºõõ ¥#ÆÅ¤#› +3õÑÐ )¬*+  k#õC™…C¤CãC¥ Z)c� ¥ U)ì� )^� )\1X¥KÅK¥+¤²PÒP;¥ú9ÝåK!ÊQÎPŽ8K¤ :ëãý+¤ã©K¤‚ &)Ë�  ,)Ç� õÇ 5)K££/£ª (–3™ (#ð‚ …Cð‘£7£� ì î¬ë#ð‚õí#òð#óCõ¡ò8Sä3õ )õ1•ûä": -0I^@ >ÿà{{ÿÿA VB…CyD]E)F (G8H0IœJxKTLMêN÷PªQöRSòT°U5WEX=Y RZ‹:+=7.> •# !- - -ò8ò8  â "Cù3õ )õ ž1 *¥ ÓÓª ú "ùKYŠEHDµRÁN‚S›C˜Zö?`H®#±‚  (”1$ö` (#ê‚  (b3¦ (#è‚  ("1ö` (ùË (ó (ôù¬ Xÿ§ÿ±­Kà+êª  (ùÎ+èª  (Üù!ðæ` G+ઠæ /Æ=3Û­ ? xª  …C± ($ù#ùCýRCæ))§ ¦ p!næ`)kî` ()" k  ¤‚+ઠ…C¤ ùù÷ó8Sýÿ) Í î ($…�Cà[  R€à.SC0*õò8SþC£K¢):Kã)9KäKáCâ3¢¢ ))/‚ ¥ ))� ))¥ ä¬Käï3£ *£ãêø)Kä+᪠­Káó¢3¢‚ Sõ…3£ *#âþ) Käç ($Ò9.ÿý:ÿìÿõÿ±ÿ§�•ò8SþCäCáªPKã3ä ))í‚ ¥ äù!èCâ3ã )3ä *äãâù…3ä *#áþ‘…Cà+èª û+êª  F+ߪ ? @3Ú Î…Cè3Û ÊCê#±‚ %!Âæ`­3Û )? µ#æ ¼3Û »!·æ`+ઠª] « ' )­î`!¬æ`  ù…C±C§C»CêCè (41�ö` (ò!—æ` õåFâ)ª…PCà¿„­!æ`)îaä ÿ) Š!æ`  ÚÊ)ÿ±ÿ»³.BU %#õCä u3õ… *#ä 3 #õCä i…3õ *õ +õKã a3õ… *#ä+ã  3õ! *ù»ò8Sý#õ+¦ 1#õ)-î` ,ý+¦)&î`Kà (P3à (£9ã#õCä 53õ… *5øÓ#ä ? ñ ? î)ð�¥ ? è ? åÇÿ§ó8SþC£K¢!YCá3££ )1ÙÅ …Câ3¢¢ )1ÒÅ …+â� þ‚ áíþþò8Sþõ3õ ))¿¥ ûþâ8Cý3õ )õ /Cà)+� ;))� 2+±ª  (ž>)¥ !)� 8#è‚3Ú ?#ê‚  3Û#±‚ #æ 03Û 4…CêC±C§C»Cè OCRWIÿõ+èª -3Ú "­Kè(+èª% (Ü +êª3Û …C»Cê!æ`ý "ý 9\ ?û4\ ?õ4ÿ»âÿ§!ÿæ` ü+ઃ#Cá 3Ú)7 )?. ?ÞKç)4§  á (dÒ„®)'Í  (')"Í Ë ($!CáC¦3Û) )? ?¾)§   (F³„Cê¯) Í ä (8  €3á ( â8Cþ+¤#ô¦+÷¥ +é¤Cô’ )þþKô…ü\Ò�"))‚‚À§8ò8Sü3¤ÑÒK­PÑÓ¬SÅK¤3ô )+¤ªK Ð u‚ ) �úÅø­PK¤ Å jüü ÿò8Sü3é   üü k Ë ò8Sü+é3÷Íóò8Sü3ô ô«ìò8Sü3õ ))*¥ %#š‚ +ì#÷ƒ�Œ`1…̓ý+¤ª �Kš+šª 1 ( 1ûüü…Cšò (ÔüõíP?öê Ëâ8Cû#÷Cô#¤�€C¤ † ûûã8D#÷CôãD8#éúDâ8Cý#ë‚P+™¥)X¤L (¦#邊ƒCÆ )M¥C (Ê#ÆC£!C¢ )¥ ÷) ¥ )l¢¥  3£ *£ò  Õ k…3£ *#Æ à)(5& ?Û ?1Ç (dÒ#™5 ?¦3ëÓPÅø5 ? 3ÆÒ�…Býƒ ³ù 9ã1„…ò8SþCû#ôCä#õCã3ã )) � CÇ3ä )ä‚)3ǵ •ôëãíþ#ãCõ#äCôþ#÷Côûþ (ªþâ8Cø'øSä‚ Cä‚ —…øCã3ä )‚ø +3ä )ä+ã1ê• µ óø8Sâ äþ+â„C¥  Ë Ûpü\Ò�:) ‚úÀ¿žÁžZ8ÿã8Cû#ôCã  ê ã8Cû#ôCã  á#ã3ôĊ²SôSéCä3ä )ä3é *‚éøûêâ8Cú#õCÑ vú#õ+Ñ�K¤  ¿…C¤õ  ºõ3õ ))�õúú]ò8#¤‚õò8Sþ#é‚�ƒC£+õ3ïÒ +ñ3ðÒ+ò1éÍ K¢¢+¢�9ªP3é¶Sé3ôKÏÎKäÊ��£'£¢G¢«û)Ñ#¤1/Ç� 3ô *ô3õ )õ)Ã� 3ô *ôÏöÇõ#ôCã3ä )ä3ã *‚ãø#ãCéþþ (.#ï+ð3õ‚ ª øS™öòó…Q…ê8CÐKú#¤‚ú#÷+é� …C¤ ðúú#Ђ úõ úòâ8Cû#¤‚Jû‚…PCÈ…�C¤ û…C¤ ûÈ÷ûû R©â8Cú#é+÷�…C¤ õ„�C¤ Üü#ß‚úúâ8Cþ#ð‚@3¤ÒZþÒÕPSí3õ ))P�)L� /+îª/)E¥ 5#õCò#óCõðþþKîõ#õ+ë3ì«K£S¢Cóµe –Só‚��Kä£'£¢G¢äû#óî‘ Ð…SëëGëëõþ (º#ìCëë…CîCðþ3óS£õ )£ +3£+ìÃ�ƒŒøþþ?DM\8#é+õ3ðÒ+ò1Í¥ŸÕÔâ "ÕPâ8CýÓ  …CÊ3õ ) C)A¥ õÊÕ#è‚Ò (ô0#¤ŠPªJ,+ô‚]+÷KäCÉÒ53ä )‚ #ä3Ú ?#ŽKää3ä )ä‚)� Éì3Ú .?#Ê‚ #š‚ …C¤ 4ý "ý WIŽKä!Å O (‚Î3ä )‚ì +3ä )ä)ì� Éõãâ8Cý#÷Cä­KãSâ#ä3â+ã•ý3ä )ä1וãõò8#¤‚JSþ+誊UªP¦P3ç)Ï  )�¢CË… Ëýþþ »! 3Ú ? ø (ôþž è9ò8#÷ò8#éSü+šª K¤­KÊ+êª8CéCô…Cß 2 (Nßü3é §KÎ#é3Û ?)ŽKéé3é )‚õ3šÒ )IŒ éΤ è (Nß #ô+éÊ�#ß‚ü…3é *üœ (üŽKéé!$Å é!!Å ç!"ßÅ  (‚!3é *éÖ!3é *éß (š+Ϋ  Ê!Å ’ (�Ï k \ÔÕâ8CýSá14#¥‚ 19S£…Câ£7£Ò !0̓ýÎ1*Å âKã +ãï3âÒ ú!ø3âÒ ý+᪠õ! ýê8Kþ+᪠ +þ3õ *õþ 'èd 0 @+  ·ùâ8ƒCù3õ )õ1 *¥ ÓÓª úùù (_ 5+ 8- ;O P! >? #¤C ù ù ù#¤+ ¥ ù õ3õ ))¥ ù)m¥ óõù!-#õCñ!æ`Cõ+  3õ!^ *!æ`Cõ„Cï…C¤ ù…Cï#ñCõù Êÿœœ!1ò8SÿCÒ)I§)D�!?)'� &):� () K¡¡7¡SÍ¡/¡KÌ¡/¡¡7¡ª÷«  ¥K•Jö#Íö *#Ò+̦ö %+Ò!¤ ÖÿÛ !­oKöô+åª !ø#ö) ¥ÿCö! öýÿ $  \­¬\šÔößýý�úÂæ8CÓ! æP3ÜÓª 3Ú­P ? zÿÓ9ò8Sþ­P3Ü!2æP ? ö#Ô)Ù1Ô§• ô1í•� !ÍCÔ1"• � +#Ô3ÕÒ)1¥• 1¾Æ)3åÐ� þSå×!¶ ·Ô% +Õ¨! KÕ +ÍÿÔ@Z<ç  f?f?TEXT BUFFER FULL DURING INSERT TEXT BUFFER FULL WHILE READING COMMAND BUFFER FULL;EXECUTING COMMAND ??PARITY,LINE # STR NOT FOUND MACRO UNDEFINED OR ERROR IN MACROOUTPUT FILE IN USE NO OUTPUT FILENO INPUT FILEFILE NAME IN USE-ILLEGAL FILE NAME-NO SUCH FILE-FILE CAN'T BE USED FOR INPUTFILE CAN'T BE USED FOR OUTPUTLINE TOO LONGDISK FILE READ ERRORSAVE COMMAND BUFFER?(1-YES, 0-NO) ENTER FILENAME ILLEGAL ARGUMENT IN COMMAND LINE SYSTEM ERROR # : INPUT IN USE!-OUTPUT IN FILE -RENAMING ERROR,OUTPUT IN -FILE IS IN USE!-INPUT FILE- UNKNOWN ERROR EXECUTION ABORTED EDITING FILE OPENED BY UY OR UN - USE UE,US OR UC TO CLOSE! ILLEGAL WINDOW WIDTH PAGE MODE LINES WIDE WINDOW MODE   !ú )8#›)/¥ õ+Æ3õÍïÑÐ )!%¥ èõõõ3õ#ÆÅá#› +ö¢©¨‚¢Cö3õÑÐ )ÒYÿ83ÜÓ)ú ? u÷ ò8SÿCÒ)û§ !¿ ë#Òÿò8)ï� )W� 3ÆSä…PCãCö#õ3äÅ$ä ) ë +ã¦Cã­ Köï#ããö#öê­ KöKãæò8+媅P#ö)*¥ÿ�#› É!&)©3ÜÓ ? ##ã‚!­P ß‚ Cãö3ÜÓ! ­P ? ãü#Òÿ b fj 9 V5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚197806I>½½ D 2107.75 D 4990 C 2589 5 DM 14.60 DM 7.50 D 5680 C 2590 105.78 C 2591 311.54 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 E 5817.44 W 8373.52 D 32927.50 C 2608 1352.93 C 2609 50 CC 2610 CC 2611 DM 7.37 C 2612 17 D 2040 DATAü6rrB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 119.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C 2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 DM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.00 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 109.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 C 2621 368 23 28 C 2622 52.30 5 20 C 2623 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 C 2638 1200 21 21 C 2639 1000 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C —2678 49.56 8 24 C 2679 10000 23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 365.69 C 2706 18.50 18 26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2762 1510 21 29 1980D3 §ŽŽ  1 C 3040 704.45 2 C 3066 250 27 3 C 3069 96 4 4 C 3075 23 5 5 C 3076 100 24 6 C 3077 10.77 6 7 C 3078 22.50 4 8 EM 810 17 15 9 EM 811 604.28 15 10 EM 812 643.69 15 11 D 140 34 12 D 8347.06 34 13 D 2086.75 14 C 813 980.89 14 15 C 817 205.18 12 16 C 3081 35 4 17 C 3067 62 1 18 C 3083 34 6 19 C 3071 330 20 20 C 3085 50.99 5 21 C 816 1581.88 12 22 C 819 1581 12 23 D 1468.38 34 24 D 871.98 34 25 D 13056 34 26 D 12436.99 34 27 D 435.99 34 28 C 3068 10 18 29 C 3086 138.02 25 30 C 3088 1040 23 31 C 3090 5324 9 32 C 3091 250 8 33 C 3092 206.59 20 34 C 3093 15.40 22 35 C 3094 120.70 4 36 C 3095 20 26 37 C 3096 775 9 38 C 3097 32.88 10 39 C 3098 74.05 22 40 C 3099 4000 32 41 C 3101 1557.44 25 42 C 3104 40 33 43 C 3103 42.50 10 44 C 3105 504.39 25 45 C 3106 119.98 4 46 C 3107 793.50 9 47 C 3108 1537.50 27 48 C 3109 3394.50 6 49 C 3110 25 3 50 EM 818 140 27 51 EM 820 1581 12 52 EM 833 948.57 12 53 EM 834 912.14 12 54 EM 835 17 15 55 EM 836 181.73 14 56 EM 837 482.61 15 57 EM 838 2742.40 14 58 EM 840 622.50 27 59 EM 821 195.18 12 60 EM 822 1415.95 12 61 C 3113 79.95 5 62 C 3114 69.95 10 63 C 3115 200 20 64 C 3116 225 27 65 C 3117 4.65 10 66 C 3119 48 18 67 C 3120 1940.43 25 68 C 3121 269.78 17 69 C 3123 12.24 4 70 C 3124 93.27 15 71 C 3125 181.78 15 72 C 3126 243.77 14 73 C 3127 68.45 23 74 C 3129 128.35 5 75 C 3130 25.98 5 76 C 3132 15.90 5 77 C 3133 125.81 22 78 C 3134 20.47 22 79 C 3135 85.15 22 80 D 435.99 34 81 D 906.32 34 82 D 435.99 34 83 D 1628 34 84 D 3000 34 85 D 11481.06 34 86 C 3112 25 26 87 C 3118 1.30 11 88 C 3122 100 26 89 C 3128 7.86 22 90 C 3138 185.26 4 91 C 3139 19.37 10 92 C 3140 6.17 10 93 C 3141 6.46 10 94 C 3142 3.96 10 95 C 3143 3.62 10 96 C 3144 42.08 22 97 C 3145 46.50 3 98 C 3146 36.70 11 99 C 3147 27.73 10 100 C 3148 25.95 5 101 C 3149 6 33 102 C 3150 95 33 103 C 3151 78.50 33 104 C 3152 1000 25 105 C 3153 227.40 25 106 C 3154 100 8 107 C 3155 160.43 4 108 C 3156 835.38 25 109 C 3157 781.68 25 110 C 3198 28.30 3 111 EM 823 1000 12 112 C 3158 21.92 5 113 C 3159 12 33 114 C 3165 638.45 27 115 C 3167 15 5 116 C 3160 155.47 17 117 C 3161 34 10 118 C 3163 594 17 119 C 3166 465 4 120 C 3168 83.85 3 121 C 3169 200 24 122 D 1834.55 34 123 D 435.99 34 124 D 802.29 34 125 EM 824 333.14 15 126 EM 825 378.68 15 127 EM 826 2590.51 14 128 EM 827 425.95 12 129 EM 828 82.50 26 130 EM 829 138.70 14 131 EM 841 1425.95 12 132 EM 830 1425.95 12 133 EM 831 205.18 12 134 EM 832 209.37 12 135 D 905 34 136 D 594 34 137 D 520 34 138 D 435.99 34 139 DM 18.88 140 C 3162 39.95 18 141 C 3164 130.46 14 142 C 3170 120.97 4 143 C 3171 18 33 144 C 3172 36.70 10 145 C 3173 947.50 25 146 C 3174 80 26 147 C 3175 204 5 148 C 3177 496.56 25 149 C 3178 136.20 25 150 C 3179 729 17 151 C 3180 170 23 152 C 3182 121.30 11 153 C 3183 25.91 22 154 C 3184 127 17 155 C 3186 10.08 23 156 C 3200 1020 27 157 D 13331.89 34 158 D 11943.74 34 159 D 4546.81 34 160 D 129.24 34 161 D 3229.35 34 162 D 715 34 163 C 3176 50 22 164 C 3181 950 7 165 C 3185 125 23 166 C 3187 174.75 23 167 C 3188 290.64 4 168 C 3189 1372 27 169 C 3190 3.28 5 170 C 3191 18 5 171 C 3192 5.68 23 172 C 3203 100 27 173 C 3193 37.25 23 174 C 3194 147.08 23 175 C 3195 17 23 176 C 3196 50 21 177 C 3199 26 33 178 C 3201 2764.81 27 179 C 3202 948.17 25 180 C 3204 55.20 5 181 C 3205 14.25 7 182 C 3206 10 6 183 C 3207 7.58 5 184 C 3208 60.59 2 185 C 3209 250.65 25 186 EM 842 209.37 12 187 EM 844 1527.87 12 188 EM 845 290.37 12 189 EM 846 3584 14 190 D 531.21 34 191 EM 843 1527.87 12 192 EM 847 1527.87 12 193 EM 848 209.37 12 194 EM 849 1000 12 195 EM 850 9000 12 196 C 3210 720 27 197 C 3211 69.37 2 198 C 3212 1.81 11 199 C 3213 176.55 25 200 C 3214 10.46 25 201 C 3215 18.28 5 202 3216 64.28 5 203 C 3217 547.32 17 204 C 3218 136.48 17 205 C 3219 48.60 10 206 C 3220 170 23 207 C 3221 10 8 208 C 3224 227.40 17 209 C 3225 36 5 210 C 3222 450 27 211 C 3223 10.64 5 212 C 3226 93.71 4 213 C 3227 74.13 2 214 C 3230 31 26 215 EM 851 4000 36 216 C 3229 2774.75 23 217 C 3228 102.08 4 218 C 3231 35 18 219 D 4888.40 34 220 D 3435.99 34 221 EM 852 1527.87 12 222 C 3232 125 23 223 C 3233 3654.15 23 224 C 3235 37 33 225 C 3236 42.50 33 226 C 3237 2282.26 6 227 C 3238 138.17 33 228 C 3239 95.64 2 229 C 3240 3.70 5 230 C 3241 4.33 5 231 C 3242 35.39 18 232 EM 854 48.65 12 233 EM 853 540 15 234 D 3148 34 235 D 296.31 34 236 D 1403.43 34 237 D 174 34 238 D 2600 30 239 C 3243 28.20 3 240 C 3244 341.40 10 241 C 3245 500 25 242 C 3246 328.44 10 243 C 3247 784.13 25 244 C 3248 125.30 11 245 C 3249 5.76 23 246 C 3250 50 24 247 C 3252 1760 27 248 C 3251 100 2 249 C 3253 43 1 250 C 3254 290.77 4 251 C 3255 100 2 252 C 3258 42.50 33 253 C 3259 4.60 23 254 C 3260 820.84 25 255 C 3261 732.30 8 256 C 3263 50 22 257 C 3264 296.31 23 258 C 3265 168.01 25 259 D 435.99 34 260 C 3082 1350.12 25 261 C 3136 16.00 1 262 C 3216 64.28 5 263 C 3234 298.80 25 264 C 3262 88.41 14 265 C 3268 14.00 26 266 C 3276 146.75 11 267 C 3277 60 1 268 C 3278 19.01 11 269 C 3279 72.18 5 270 CC 3064 271 CC 3070 272 CC 814 273 CC 3087 274 CC 3137 275 CC 839 276 CC 3131 277 CC 3084 278 CC 3089 279 CC 3100 280 CC 3102 281 CC 3111 0 270 CC 3064 0 271 CC 3070 0 272 CC 814 0 273 CC 3087 0 274 CC 3137 0 275 CC 839 0 276 CC 3131 0 277 CC 3084 0 278 CC 3089 0 279 CC 3100 0 280 CC 3102 0 281 CC 3111 1 87 C 3118 1.30 11 1 198 C 3212 1.81 11 3 94 C 3142 3.96 10 3 95 C 3143 3.62 10 3 169 C 3190 3.28 5 3 229 C 3240 3.70 5 4 65 C 3117 4.65 10 4 230 C 3241 4.33 5 4 253 C 3259 4.60 23 5 171 C 3192 5.68 23 5 245 C 3249 5.76 23 6 92 C 3140 6.17 10 6 93 C 3141 6.46 10 6 101 C 3149 6 33 7 89 C 3128 7.86 22 7 183 C 3207 7.58 5 10 6 C 3077 10.77 6 10 28 C 3068 10 18 10 155 C 3186 10.08 23 10 182 C 3206 10 6 10 200 C 3214 10.46 25 10 207 C 3221 10 8 10 211 C 3223 10.64 5 12 69 C 3123 12.24 4 12 113 C 3159 12 33 14 181 C 3205 14.25 7 14 265 C 3268 14.00 26 15 34 C 3093 15.40 22 15 76 C 3132 15.90 5 15 115 C 3167 15 5 16 261 C 3136 16.00 1 17 8 EM 810 17 15 17 54 EM 835 17 15 17 175 C 3195 17 23 18 143 C 3171 18 33 18 170 C 3191 18 5 18 201 C 3215 18.28 5 19 91 C 3139 19.37 10 19 268 C 3278 19.01 11 20 36 C 3095 20 26 20 78 C 3134 20.47 22 21 112 C 3158 21.92 5 22 7 C 3078 22.50 4 23 4 C 3075 23 5 25 49 C 3110 25 3 25 75 C 3130 25.98 5 25 86 C 3112 25 26 25 100 C 3148 25.95 5 25 153 C 3183 25.91 22 26 177 C 3199 26 33 27 99 C 3147 27.73 10 28 110 C 3198 28.30 3 28 239 C 3243 28.20 3 31 214 C 3230 31 26 32 38 C 3097 32.88 10 34 18 C 3083 34 6 34 117 C 3161 34 10 35 16 C 3081 35 4 35 218 C 3231 35 18 35 231 C 3242 35.39 18 36 98 C 3146 36.70 11 36 144 C 3172 36.70 10 36 209 C 3225 36 5 37 173 C 3193 37.25 23 37 224 C 3235 37 33 39 140 C 3162 39.95 18 40 42 C 3104 40 33 42 43 C 3103 42.50 10 42 96 C 3144 42.08 22 42 225 C 3236 42.50 33 42 252 C 3258 42.50 33 43 249 C 3253 43 1 46 97 C 3145 46.50 3 48 66 C 3119 48 18 48 205 C 3219 48.60 10 48 232 EM 854 48.65 12 50 20 C 3085 50.99 5 50 163 C 3176 50 22 50 176 C 3196 50 21 50 246 C 3250 50 24 50 256 C 3263 50 22 55 180 C 3204 55.20 5 60 184 C 3208 60.59 2 60 267 C 3277 60 1 62 17 C 3067 62 1 64 262 C 3216 64.28 5 68 73 C 3127 68.45 23 69 62 C 3114 69.95 10 69 197 C 3211 69.37 2 72 269 C 3279 72.18 5 74 39 C 3098 74.05 22 74 213 C 3227 74.13 2 78 103 C 3151 78.50 33 79 61 C 3113 79.95 5 80 146 C 3174 80 26 82 129 EM 828 82.50 26 83 120 C 3168 83.85 3 85 79 C 3135 85.15 22 88 264 C 3262 88.41 14 93 70 C 3124 93.27 15 93 212 C 3226 93.71 4 95 102 C 3150 95 33 95 228 C 3239 95.64 2 96 3 C 3069 96 4 100 5 C 3076 100 24 100 88 C 3122 100 26 100 106 C 3154 100 8 100 172 C 3203 100 27 100 248 C 3251 100 2 100 251 C 3255 100 2 102 217 C 3228 102.08 4 119 45 C 3106 119.98 4 120 35 C 3094 120.70 4 120 142 C 3170 120.97 4 121 152 C 3182 121.30 11 125 77 C 3133 125.81 22 125 165 C 3185 125 23 125 222 C 3232 125 23 125 244 C 3248 125.30 11 127 154 C 3184 127 17 128 74 C 3129 128.35 5 130 141 C 3164 130.46 14 136 149 C 3178 136.20 25 136 204 C 3218 136.48 17 138 29 C 3086 138.02 25 138 130 EM 829 138.70 14 138 227 C 3238 138.17 33 140 50 EM 818 140 27 146 266 C 3276 14­6.75 11 147 174 C 3194 147.08 23 155 116 C 3160 155.47 17 160 107 C 3155 160.43 4 168 258 C 3265 168.01 25 170 151 C 3180 170 23 170 206 C 3220 170 23 174 166 C 3187 174.75 23 176 199 C 3213 176.55 25 181 55 EM 836 181.73 14 181 71 C 3125 181.78 15 185 90 C 3138 185.26 4 195 59 EM 821 195.18 12 200 63 C 3115 200 20 200 121 C 3169 200 24 204 147 C 3175 204 5 205 15 C 817 205.18 12 205 133 EM 831 205.18 12 206 33 C 3092 206.59 20 209 134 EM 832 209.37 12 209 186 EM 842 209.37 12 209 193 EM 848 209.37 12 225 64 C 3116 225 27 227 105 C 3153 227.40 25 227 208 C 3224 227.40 17 243 72 C 3126 243.77 14 250 2 C 3066 250 27 250 32 C 3091 250 8 250 185 C 3209 250.65 25 269 68 C 3121 269.78 17 290 167 C 3188 290.64 4 290 188 EM 845 290.37 12 290 250 C 3254 290.77 4 296 257 C 3264 296.31 23 298 263 C 3234 298.80 25 328 242 C 3246 328.44 10 330 19 C 3071 330 20 333 125 EM 824 333.14 15 341 240 C 3244 341.40 10 378 126 EM 825 378.68 15 425 128 EM 827 425.95 12 450 210 C 3222 450 27 465 119 C 3166 465 4 482 56 EM 837 482.61 15 496 148 C 3177 496.56 25 500 241 C 3245 500 25 504 44 C 3105 504.39 25 540 233 EM 853 540 15 547 203 C 3217 547.32 17 594 118 C 3163 594 17 604 9 EM 811 604.28 15 622 58 EM 840 622.50 27 638 114 C 3165 638.45 27 643 10 EM 812 643.69 15 704 1 C 3040 704.45 720 196 C 3210 720 27 729 150 C 3179 729 17 732 255 C 3261 732.30 8 775 37 C 3096 775 9 781 109 C 3157 781.68 25 784 243 C 3247 784.13 25 793 46 C 3107 793.50 9 820 254 C 3260 820.84 25 835 108 C 3156 835.38 25 912 53 EM 834 912.14 12 947 145 C 3173 947.50 25 948 52 EM 833 948.57 12 948 179 C 3202 948.17 25 950 164 C 3181 950 7 980 14 C 813 980.89 14 1000 104 C 3152 1000 25 1000 111 EM 823 1000 12 1000 194 EM 849 1000 12 1020 156 C 3200 1020 27 1040 30 C 3088 1040 23 1350 260 C 3082 1350.12 25 1372 168 C 3189 1372 27 1415 60 EM 822 1415.95 12 1425 131 EM 841 1425.95 12 1425 132 EM 830 1425.95 12 1527 187 EM 844 1527.87 12 1527 191 EM 843 1527.87 12 1527 192 EM 847 1527.87 12 1527 221 EM 852 1527.87 12 1537 47 C 3108 1537.50 27 1557 41 C 3101 1557.44 25 1581 21 C 816 1581.88 12 1581 22 C 819 1581 12 1581 51 EM 820 1581 12 1760 247 C 3252 1760 27 1940 67 C 3120 1940.43 25 2282 226 C 3237 2282.26 6 2590 127 EM 826 2590.51 14 2742 57 EM 838 2742.40 14 2764 178 C 3201 2764.81 27 2774 216 C 3229 2774.75 23 3394 48 C 3109 3394.50 6 3584 189 EM 846 3584 14 3654 223 C 3233 3654.15 23 4000 40 C 3099 4000 32 4000 215 EM 851 4000 36 5324 31 C 3090 5324 9 9000 195 EM 850 9000 12 IO¬AÕW .ENT ?OPEN,?ENDL,?ENDF,?RDLI,?WRLI,?CREA .NREL ; PROCEDURE OPEN (VAR FILENUMBER : INTEGER ; FILENUMBER : ALPHA OR ; INTEGER ; VAR ERRORNUMBER : INTEGER);EXTERNAL; ; PROCEDURE IS ENTERED WITH : ; C (AC3) ADDRESS OF BYTE ADDRESSOF ERROR NUMMBER ; C (AC3-1) ADDRESS OF BYTE ADDRESS OF FILE NAME ; C (AC3-2) ADDRESS OF BYTE ADDRESS OF FILE NUMBER ; CALLER SUPPLIES FILE NAME ; OPEN RETURNS FILE NUMBER AND ERROR NUMBER .TITL OPEN .EXTN XPRET ?CREA: STA 3,USP LDA 0,-1,3 ;GET BYTE POINTER TO FILE NAME .SYSTM .DELETE ;DELETE IT JMP .+1 .SYSTM .CRAND ;CREATE RANDOM FILE JMP ERTN ; OPEN FILE HERE ?OPEN: STA 3,USP LDA 0,Á-1,3 ;BYTE ADDRESS OF FILE NAME .SYSTM .GCHN ;GET FREE CHANNEL NO IN AC2 JMP ERTN SUBO 1,1 ;CLEAR AC0 .SYSTM .OPEN CPU ;OPEN FILE UP JMP ERTN ; CHANNEL NO TO PASCAL LDA 3,-2,3 ;BYTE ADDRESS OF VAR FILENUMBER MOVZR 3,3 ;WORD ADDRESS NOW STA 2,0,3 ;CHANNEL NO BACK LDA 3,USP ;RESTORE AC3 LDA 2,BUFAD ADD 0,2 SUBO 1,1 STA 1,0,2 ADC 0,0 ;GENERATE -1 JMP SAVIT ERTN: MOV 2,0 SAVIT: LDA 2,0,3 ;GET ADDRESS OF ERROR NO ;ERROR = -1 IF NO ERROR ELSE = SYSTMERR MOVZR 2,2 ;MAKE IT A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL SUBO 1,1 ;GEN 0 TO WARN PASCAL ;PROCEDURE IS RETURNING XPRET ;BACK TO PASCAL ; BUFFER STATUS TABLE ; FOR CHANNEL N SEE ADDRESS BUFAD+N ; BIT 0 SET = END OF LINE ; BIT 15 SET = END OF FILE BUFAD: .+1 .BLK 30 ; FUNCTION ENDL (CHANNEL NUMBER : INTEGER );BOOLEAN;EXTERNAL; ?ENDL: STA 3,USP MOV 0,2 ;SAVE STACK POINTER FOR FUNCTION VALUE IN AC2 LDA 0,0,3 ;GET CHANNEL NO INTO AC0 LDA 3,BUFAD ;GET BUFFER ADDRESS IN AC3 ADD 0,3 ;CHANNEL NO + BUFFER ADDRESS IN AC2 LDA 0,0,3 ;GET CHANNEL STATUS SUBZL 1,1 ;GENERATE TRUE MOVZL# 0,0,SNC ;SKIP IF BIT 0 = 1 SUBO 1,1 ;GENERATE FALSE STA 1,0,2 ;TRUE OR FALSE IN AC1 BACK TO PASCAL SUBZL 1,1 ;TELL XPRET 1 ARG. TO BE COPIED LDA 3,USP XPRET ; FUNCTION ENDF(CHANNEL NO. : INTEGER );BOOLEAN;EXTERNAL; ?ENDF: STA 3,USP MOV 0,2 ;SAVE STACK POINTER IN AC2 LDA 0,0,3 ;GET CHANNEL NO INTO AC0 LDA 3,BUFAD ;GET BUFFER ADDRESS INTO AC3 ADD 0,3 ;CHANNEL NO + BUFFER ADDRESS IN AC2 LDA 0,0,3 ;GET CHANNEL STATUS SUBZL 1,1 ;GENERATE TRUE ( +1) MOVZR# 0,0,SNC ;SKIP IF BIT 0 = 1 SUBO 1,1 ;GENERATE FALSE STA 1,0,2 ;TRUE OR FALSE IN AC1 BACK TO PASCAL SUBZL 1,1 ;TELL XPRET 1 ARG. TO BE COPIED LDA 3,USP XPRET ; PROCEDURE RDLI( CHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : ; INTEGER ; VAR ERROR : INTEGER );EXTERNAL; ; AC3 = ADDRESS OF BYTE ADDRESS OF ERROR ; AC3-1 = ADDRESS OF BYTE ADDRESS OF NBYTESREAD ; AC3-2 = ADDRESS OF BYTE ADDRESS OF BUFFER ; AC3-3 = ADDRESS OF CHANNEL NO ?RDLI: STA 3,USP LDA 2,-3,3 ;GET CHANNEL NO INTO AC2 LDA 0,-2,3 ;GET ADDRESS OF BUFFER .SYSTM .RDL CPU JMP .+2 ADC 2,2 ;GENERATE -1 FOR OK RETURN TO PASCAL MOV 2,0 ;ERROR NUMBER IN AC0 LDA 2,0,3 ;BYTE ADDRESS OF VAR ERROR MOVZR 2,2 ;MAKE IT A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL ; ERROR NO = -1 FOR NORMAL RETURN ; = 0 OR MORE IFF AN ERROR SEE SYSTM ERROR AC2 'S ; CHECK IF AC2 = EREOF (END OF FILE) ; SENT NO OF BYTES READ INCL. TERMINATOR TO PASCAL LDA 3,-1,3 ;GET ADDRESS OF BYTE ADDRESSOF VAR NBYTESREAD MOVZR 3,3 STA 1,0,3 ;BACK TO PASCAL LDA 2,C6 SUBO 1,1 ;GENERATE 0 FOR NOT EOF SUBZ 2,0,SNR ;SKIP IF NOT EOFILE SUBZL 1,1 ;GENERATE 1 LDA 2,BUFAD LDA 3,USP LDA 0,-3,3 ;GET CH NO AGAIN ADD 0,2 ;BUFAD + CH NO IN AC2 STA 1,0,2 SUBO 1,1 ;WARN XPRET PROCEDURE RETURNING XPRET C6: 6 ;ERROR CODE 6 ;PROCEDURE WRLI(CHANNEL : INTEGER ;BUFFER : ALPHA ; ; VAR NBYTESWROTE : INTEGER ; VAR ERROR : INTEGER );EXTERNAL; ; AC3 = ADDRESS OF BYTE ADDRESS OF ERROR ; AC3-1 = ADDRESS OF BYTE ADDRESS OF NBYTESREAD ; AC3-2 = ADDRESS OF BYTE ADDRESS OF BUFFER ; AC3-3 = ADDRESS OF CHANNEL NO ?WRLI: STA 3,USP LDA 2,-3,3 ;GET CHANNEL NO INTO AC2 LDA 0,-2,3 ;GET ADDRESS OF BUFFER .SYSTM .WRL CPU JMP .+2 ADC 2,2 ;GENERATE -1 FOR OK RETURN TO PASCAL MOV 2,0 ;ERROR NUMBER IN AC0 LDA 2,0,3 ;BYTE ADDRESS OF VAR ERROR MOVZR 2,2 ;MAKE IT A WORD ADDRESS STA 0,0,2 ;ERROR TO PASCAL ; ERROR NO = -1 FOR NORMAL RETURN ; = 0 OR MORE IFF AN ERROR SEE SYSTM ERROR AC2 'S ; CHECK IF AC2 = EREOF (END OF FILE) LDA 2,C6 SUBO 1,1 ;GENERATE 0 FOR NOT EOF SUBZ 2,0,SNR ;SKIP IF NOT EOFILE SUBZL 1,1 ;GENERATE 1 LDA 2,BUFAD LDA 3,USP LDA 0,-3,3 ;GET CH NO AGAIN ADD 0,2 ;BUFAD + CH NO IN AC2 STA 1,0,2 SUBO 1,1 ;WARN XPRET PROCEDURE RETURNING XPRET .END T151KŽ/PROGRAM T15; VAR I : 1..10; BEGIN I := 1 END. Õ197807”M½½C 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45 C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 E 3104.27 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 C 2630 164 C 2631 400.88 CC 2632 C 2633 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2639 1000 C 2640 115 C 2641 30 E 3991.35 W 2861.14 C 2642 101.39 D 3000 C 2643 140 FDUMPSVFDUMPSVTEST6Vý޽ PROGRAM TEST(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; VAR INSTR : STRING[132]; DESTINATION,SOURCE : TEXT; LINE : LINESTRING; {$I PCHAR.PI} {$I READLINE.PI} {$I WRITELINE.PI} BEGIN WRITE(' INPUT FILE NAME? '); READLN(INSTR); FILETITLE(SOURCE,INSTR); RESET(SOURCE); WRITE(' OUTPUT FILE NAME? ');READLN(INSTR); FILETITLE(DESTINATION,INSTR); RESET(DESTINATION); REPEAT BEGIN READLINE(SOURCE,LINE); WRITELINE(DESTINATION,LINE); END UNTIL EOF(SOURCE) END. FOBARˆcŽŽB 4196.05 C 2332 2000 C 2313 1804.52 C 2337 43.50 C 2338 6.00 C 2345 53.35 C 2347 38.00 C 2348 50.00 C 2356 264.05 C 2354 50.00 D 23546.64 DM 250.00 C 2355 280.60 CC 2357 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 D 13878.10 DM 1865.00 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. DM 250.00 C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 C 2402 80. D 3222.52 C 2403 1562.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 2386 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75 C 2431 110 C 2432 991 C 2433 41.5 "OPENBU,Y޽"PROCEDURE OPEN(RDOSCHANNEL : INTEGER;FILENAME : BIGSTR ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTOPEN =6207; {.OPEN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WRITELN(' ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTOPEN; R0.SPTR := FILEPTR; R0.INT := R0.INT+1; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN OPEN = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {OPEN} GETREALBU`8ŽŽ FUNCTION GETREAL( STR : BIGSTR;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; SIGNOF = (PLUS,MINUS); VAR LEN : INTEGER; FGETREAL,PLACE :REAL; PART : WHOLORFRACT ; SIGN : SIGNOF; BEGIN SIGN := PLUS; PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF NOT (STR[I] IN ['0'..'9','-','.']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : BEGIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { WRITELN(' FP');} END END; {case} I := I+1; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END; CASE SIGN OF PLUS : GETREAL := FGETREAL; MINUS : GETREAL := -FGETREAL; END;{case} END;{getreal} CBOOK02 ¡æs½ PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK,ERRORENTRY); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; OUTFILE,INFILE : TEXT; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(OUTFILE,' ERROR',STR); END;{error} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(OUTFILE,' CK ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(OUTFILE,' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(OUTFILE,' DP ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; \BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(OUTFILE,' CM ',BLANKS,BLANKS);REALPRINT(OUTFILE,AMOUNT); REALPRINT(OUTFILE,NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(OUTFILE,' DM ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(OUTFILE,' CC ',CHECKNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' EM ',CHECKNUMBER : 10); REALPRINT(OUTFILE,AMOUNT);WRITE(OUTFILE,BLANKS); REALPRINT(OUTFILE,NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(OUTFILE,' WH ',BLANKS);REALPRINT(OUTFILE,AMOUNT); WRITE(OUTFILE,BLANKS);REALPRINT(OUTFILE,NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN ENTRY := ERRORENTRY; CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(LINE[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(LINE[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(INFILE,STR); RESET(INFILE); WRITE(' OUTPUT FILE NAME? '); READLN(STR); FILETITLE(OUTFILE,STR); RESET(OUTFILE); BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; WRITELN(OUTFILE,' KEY TO TRANSACTION TYPES'); WRITELN(OUTFILE,' C CHECK CC CANCELLED CHECK'); WRITELN(OUTFILE,' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(OUTFILE,' DP DEPOSIT BL FORCED BALANCE'); WRITELN(OUTFILE,' EM EMPLOYEE CK WH WITHOLDING CHECK'); WRITELN(OUTFILE); WRITELN(OUTFILE,' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZE; WRITELN(OUTFILE); WHILE NOT EOF(INFILE) DO BEGIN READLN(INFILE,STR); GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; ERRORENTRY : ERROR; END;{case} WRITELN(OUTFILE); END; WRITELN(OUTFILE);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTALS '); REALPRINT(OUTFILE,TOTALDEBITS);REALPRINT(OUTFILE,TOTALCREDITS); REALPRINT(OUTFILE,NEWBALANCE); WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL CHECKS ');REALPRINT(OUTFILE,TOTALCHECKS);WRITELN(OUTFILE); WRITE(OUTFILE,' TOTAL DEPOSITS');REALPRINT(OUTFILE,TOTALDEPOSITS);END. PLCMv&qqCHATR PL.PA 0 CHATR PL.PX 0 DELETE PL.PA XFER PL PL.PA/R CHATR PL.PA *WP PASINTERP PASCALO/L/S/V/A PL CHATR PL.PX *WP p1980D4� ŽŽ 0 1 2 5 18 24 44 63 260 273 274 275 276 277 SEARCH KEY 0 1 C 3040 704.45 2 CC 3064 5 CC 3070 18 CC 814 24 CC 3087 44 CC 3137 63 CC 839 260 CC 3131 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 AMOUNT = 7.044E+02 1 20 255 268 279 SEARCH KEY 1 20 C 3067 62 1 255 C 3253 43 1 268 C 3136 16.00 1 279 C 3277 60 1 AMOUNT = 1.810E+02 2 190 203 219 234 254 257 SEARCH KEY 2 190 C 3208 60.59 2 203 C 3211 69.37 2 219 C 3227 74.13 2 234 C 3239 95.64 2 254 C 3251 100 2 257 C 3255 100 2 AMOUNT = 4.997E+02 3 54 103 116 126 245 SEARCH KEY 3 54 C 3110 25 3 103 C 3145 46.50 3 116 C 3198 28.30 3 126 C 3168 83.85 3 245 C 3243 28.20 3 AMOUNT = 2.118E+02 4 4 9 19 39 50 75 96 113 125 148 173 218 223 256 SEARCH KEY 4 4 C 3069 96 4 9 C 3078 22.50 4 19 C 3081 35 4 39 C 3094 120.70 4 50 C 3106 119.98 4 75 C 3123 12.24 4 96 C 3138 185.26 4 113 C 3155 160.43 4 125 C 3166 465 4 148 C 3170 120.97 4 173 C 3188 290.64 4 218 C 3226 93.71 4 223 C 3228 102.08 4 256 C 3254 290.77 4 AMOUNT = 2.115E+03 5 6 23 67 80 81 82 106 118 121 153 175 176 186 189 207 215 217 235 236 269 281 SEARCH KEY 5 6 C 3075 23 5 23 C 3085 50.99 5 67 C 3113 79.95 5 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 106 C 3148 25.95 5 118 C 3158 21.92 5 121 C 3167 15 5 153 C 3175 204 5 175 C 3190 3.28 5 176 C 3191 18 5 186 C 3204 55.20 5 189 C 3207 7.58 5 207 C 3215 18.28 5 215 C 3225 36 5 217 C 3223 10.64 5 235 C 3240 3.70 5 236 C 3241 4.33 5 269 C 3216 64.28 5 281 C 3279 72.18 5 AMOUNT = 8.845E+02 6 8 21 53 188 232 SEARCH KEY 6 8 C 3077 10.77 6 21 C 3083 34 6 53 C 3109 3394.50 6 188 C 3206 10 6 232 C 3237 2282.26 6 AMOUNT = 5.731E+03 7 170 187 SEARCH KEY 7 170 C 3181 950 7 187 C 3205 14.25 7 AMOUNT = 9.642E+02 8 36 112 213 262 SEARCH KEY 8 36 C 3091 250 8 112 C 3154 100 8 213 C 3221 10 8 262 C 3261 732.30 8 AMOUNT = 1.092E+03 9 35 41 51 SEARCH KEY 9 35 C 3090 5324 9 41 C 3096 775 9 51 C 3107 793.50 9 AMOUNT = 6.892E+03 10 42 48 68 71 97 98 99 100 101 105 123 150 211 246 248 SEARCH KEY 10 42 C 3097 32.88 10 48 C 3103 42.50 10 68 C 3114 69.95 10 71 C 3117 4.65 10 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 105 C 3147 27.73 10 123 C 3161 34 10 150 C 3172 36.70 10 211 C 3219 48.60 10 246 C 3244 341.40 10 248 C 3246 328.44 10 AMOUNT = 1.006E+03 11 93 104 158 204 250 278 280 SEARCH KEY 11 93 C 3118 1.30 11 104 C 3146 36.70 11 158 C 3182 121.30 11 204 C 3212 1.81 11 250 C 3248 125.30 11 278 C 3276 146.75 11 280 C 3278 19.01 11 AMOUNT = 4.521E+02 12 17 25 26 56 57 58 65 66 117 134 137 138 139 140 192 193 194 197 198 199 200 201 227 238 SEARCH KEY 12 17 C 817 205.18 12 25 C 816 1581.88 12 26 C 819 1581 12 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 65 EM 821 195.18 12 66 EM 822 1415.95 12 117 EM 823 1000 12 134 EM 827 425.95 12 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 197 EM 843 1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 227 EM 852 1527.87 12 238 EM 854 48.65 12 AMOUNT = 2.998E+04 14 16 60 62 78 133 136 147 195 271 SEARCH KEY 14 16 C 813 980.89 14 60 EM 836 181.73 14 62 EM 838 2742.40 14 78 C 3126 243.77 14 133 EM 826 2590.51 14 136 EM 829 138.70 14 147 C 3164 130.46 14 195 EM 846 3584 14 271 C 3262 88.41 14 AMOUNT = 1.068E+04 15 10 11 12 59 61 76 77 131 132 239 SEARCH KEY 15 10 EM 810 17 15 11 EM 811 604.28 15 12 EM 812 643.69 15 59 EM 835 17 15 61 EM 837 482.61 15 76 C 3124 93.27 15 77 C 3125 181.78 15 131 EM 824 333.14 15 132 EM 825 378.68 15 239 EM 853 540 15 AMOUNT = 3.291E+03 17 74 122 124 156 160 209 210 214 SEARCH KEY 17 74 C 3121 269.78 17 122 C 3160 155.47 17 124 C 3163 594 17 156 C 3179 729 17 160 C 3184 127 17 209 C 3217 547.32 17 210 C 3218 136.48 17 214 C 3224 227.40 17 AMOUNT = 2.786E+03 18 32 72 146 224 237 SEARCH KEY 18 32 C 3068 10 18 72 C 3119 48 18 146 C 3162 39.95 18 224 C 3231 35 18 237 C 3242 35.39 18 AMOUNT = 1.683E+02 20 22 37 69 SEARCH KEY 20 22 C 3071 330 20 37 C 3092 206.59 20 69 C 3115 200 20 AMOUNT = 7.365E+02 21 182 SEARCH KEY 21 182 C 3196 50 21 AMOUNT = 5.000E+01 22 38 43 83 84 85 95 102 159 169 263 SEARCH KEY 22 38 C 3093 15.40 22 43 C 3098 74.05 22 83 C 3133 125.81 22 84 C 3134 20.47 22 85 C 3135 85.15 22 95 C 3128 7.86 22 102 C 3144 42.08 22 159 C 3183 25.91 22 169 C 3176 50 22 263 C 3263 50 22 AMOUNT = 4.967E+02 23 34 79 157 161 171 172 177 179 180 181 212 222 228 229 251 259 264 SEARCH KEY 23 34 C 3088 1040 23 79 C 3127 68.45 23 157 C 3180 170 23 161 C 3186 10.08 23 171 C 3185 125 23 172 C 3187 174.75 23 177 C 3192 5.68 23 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 17 23 212 C 3220 170 23 222 C 3229 2774.75 23 228 C 3232 125 23 229 C 3233 3654.15 23 251 C 3249 5.76 23 259 C 3259 4.60 23 264 C 3264 296.31 23 AMOUNT = 8.825E+03 24 7 127 252 SEARCH KEY 24 7 C 3076 100 24 127 C 3169 200 24 252 C 3250 50 24 AMOUNT = 3.500E+02 25 33 46 49 73 110 111 114 115 151 154 155 185 191 205 206 247 249 261 265 267 270 SEARCH KEY 25 33 C 3086 138.02 25 46 C 3101 1557.44 25 49 C 3105 504.39 25 73 C 3120 1940.43 25 110 C 3152 1000 25 111 C 3153 227.40 25 114 C 3156 835.38 25 115 C 3157 781.68 25 151 C 3173 947.50 25 154 C 3177 496.56 25 155 C 3178 136.20 25 185 C 3202 948.17 25 191 C 3209 250.65 25 205 C 3213 176.55 25 206 C 3214 10.46 25 247 C 3245 500 25 249 C 3247 784.13 25 261 C 3260 820.84 25 265 C 3265 168.01 25 267 C 3082 1350.12 25 270 C 3234 298.80 25 AMOUNT = 1.387E+04 26 40 92 94 135 152 220 272 SEARCH KEY 26 40 C 3095 20 26 92 C 3112 25 26 94 C 3122 100 26 135 EM 828 82.50 26 152 C 3174 80 26 220 C 3230 31 26 272 C 3268 14.00 26 AMOUNT = 3.525E+02 27 3 52 55 64 70 120 162 174 178 184 202… 216 253 SEARCH KEY 27 3 C 3066 250 27 52 C 3108 1537.50 27 55 EM 818 140 27 64 EM 840 622.50 27 70 C 3116 225 27 120 C 3165 638.45 27 162 C 3200 1020 27 174 C 3189 1372 27 178 C 3203 100 27 184 C 3201 2764.81 27 202 C 3210 720 27 216 C 3222 450 27 253 C 3252 1760 27 AMOUNT = 1.160E+04 32 45 SEARCH KEY 32 45 C 3099 4000 32 AMOUNT = 4.000E+03 33 47 107 108 109 119 149 183 230 231 233 258 SEARCH KEY 33 47 C 3104 40 33 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 119 C 3159 12 33 149 C 3171 18 33 183 C 3199 26 33 230 C 3235 37 33 231 C 3236 42.50 33 233 C 3238 138.17 33 258 C 3258 42.50 33 AMOUNT = 5.356E+02 36 221 SEARCH KEY 36 221 EM 851 4000 36 AMOUNT = 4.000E+03 284PÐÐ RPXQ½½®TEST Copyright (C) 1980 Rational Data Systems¼²²¼ Ї½²¼²¼ž �Š–ž¸²²¼½­4Æ ¦ ª ÆÆ¼Æ¼žŠ–dŠ�³@LÌ̃½ÌÌÌÜÊÈ¡ÖÎÆ Û•›Ú0‚¿Û‚Ì܂̹öÆ Û•›.¿Û‚ÌÆÆ¼½Æ¼³A±Û É„¡&ÖÎÛá Æ Û•›,¿Û‚ÌÆ Û•›Ú0‚¿Û‚̹ôÖ¦ STRING=¥€…ÌÊÒÏÖÊÆ ÏÖÊÏ­^” ÐÖÆ€…Æ€ÃÏÖÆ€…¦OUTPUTÏÖÆÆAÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€…ÏÖ¦ ENTER A REAL NUMBER¥€…Ì�Ê�ÒÏÖÊ�ÏÖ¥¥ÒÏÖ¥¼ÎÖ¥Ï ¡öÖÆ€…ÏÖÆÏ­P–pžGTÜÜ 1978086U½½7C 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 500 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 C 2657 116.89 D 1545 E 3874.55 C 2659 368 C 2660 37 C 2661 25 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 96.30 C 2668 495.42 C 2669 145 BC 2670 8.70 C 2671 16.80 C 2672 29 C 2673 11.48 W 2210 W 483 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 C 2678 49.56 C 2679 10000 C 2680 110 C 2681 1007 C 2682 37.64 E 4018.89 W 2792.12 W 800.03 D 4762.50 TESTCMˆŽl9CHATR TEST.PA 0 CHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V/A/L TEST CHATR TEST.PA *WP CHATR TEST.PX *WP TESTPOŽll "nøTEST Copyright (C) 1980 Rational Data Systems¼   Æž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙªÿÆ€†ž Æ€…žÆ€‡Ç€žÊ€‡ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊ€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…ÂÆž ÆžÛÌݚݢÇ?šÝ¢ ØšÛž#Ýù¡)Ö¦ ERROR IN CLOSE = ¥�J®ÒÏÖÞÝýÏ ÖÞÏÙÝùšÚÝýšÆž!­`ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€‡ÒÏÖÊ€‡Ê€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€†ÏÖÊ€ˆÏÊ€„Ì€ˆÊ€ˆšÊ€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šÊ€„ž#Ê€ˆù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…®Æž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šÆž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡5Ö¦ ERROR IN READSEQUENTIAL = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­  ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡:Ö¦ ERROR IN WRITESEQUENTIAL = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…´ ÖÆ�JÆ�ˆÏÖÆ�J¦OUTPUTÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎÖ§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾Ä~$Äx:þd, 1978DOD-9ŽŽ0 1 B 4196.05 2 C 2332 2000 21 1 3 C 2313 1804.52 22 1 4 C 2337 43.50 0 0 5 C 2338 6.00 0 0 6 C 2345 53.35 0 0 7 C 2347 38.00 0 0 8 C 2348 50.00 24 1 9 C 2356 264.05 0 0 10 C 2354 50.00 20 1 11 D 23546.64 12 DM 250.00 13 C 2355 280.60 22 1 14 CC 2357 15 C 2358 10 3 1 16 C 2359 42.80 10 1 17 C 2360 119.40 19 1 18 C 2361 50 18 1 19 CC 2362 20 CC 2363 21 CC 2364 22 CC 2365 23 C 2366 50 18 1 24 CC 2367 25 CC 2368 26 CC 2369 27 CC 2370 28 C 2371 50 18 1 29 CC 2372 30 CC 2373 31 C 2374 547.42 17 1 32 C 2375 86 5 1 33 C 2376 500 21 1 34 C 2377 1500 21 3 35 C 2378 93.20 3 2 36 C 2379 1562.80 2 2 37 C 2380 3.60 5 2 38 C 2381 136.16 5 2 39 C 2382 114.98 18 2 40 DM 250 41 C 2383 139.24 4 2 42 C 2384 155 5 2 43 C 2385 60.30 5 2 44 C 2386 1151 17 2 45 C 2387 12 18 2 46 C 2388 66.80 22 2 47 C 2389 33.30 22 2 48 C 2390 22.80 22 3 49 C 2391 12 18 2 50 C 2392 39 22 2 51 C 2393 64.65 25 2 52 C 2394 85.54 22 2 53 D 13878.10 54 DM 1865.00 55 C 2395 1000. 21 3 56 C 2396 405.38 4 3 57 C 2397 64. 8 3 58 D 3885. 59 DM 250.00 60 C 2398 14.85 18 3 61 DM 1865. 62 C 2399 7.95 18 3  63 C 2400 8.52 18 3 64 C 2401 29.39 22 3 65 C 2402 80. 23 3 66 D 3222.52 67 C 2403 1562.80 2 5 68 C 2404 1887.00 17 5 69 C 2405 28.26 21 5 70 C 2406 52.68 5 5 71 C 2407 53.35 5 5 72 C 2408 27.00 5 5 73 C 2409 301.50 21 5 74 C 2410 32.23 5 5 75 C 2411 110. 16 5 76 C 2412 1500 21 10 77 C 2413 15 18 3 78 C 2414 286.41 5 3 79 C 2415 12.68 5 3 80 C 2416 93.20 3 5 81 C 2417 7.75 11 3 82 C 2418 66.34 4 3 83 C 2419 1197.81 5 5 84 C 2420 50 24 3 85 C 2421 261.65 23 5 86 C 2422 10 16 5 87 C 2423 2386 17 5 88 C 2424 28.15 23 5 89 C 2425 8.95 18 5 90 D 3727.5 91 C 2426 16.05 5 7 92 C 2427 450.59 17 5 93 C 2428 621.73 8 6 94 C 2429 4000. 21 6 95 C 2430 6.75 18 6 96 C 2431 110 5 6 97 C 2432 991 16 6 98 C 2433 41.5 20 6 99 C 2434 52 5 6 100 C 2435 675 8 6 101 D 10674.20 102 D 8655.39 103 D 3056.00 104 C 2436 40 20 6 105 CC 2437 106 C 2438 3.47 18 6 107 C 2439 11 18 6 108 C 2440 339.45 22 6 109 C 2441 28.76 18 6 110 C 2442 589.40 4 6 111 C 2443 19.89 22 6 112 C 2444 16. 18 6 113 CC 2445 114 C 2446 93.20 3 6 115 C 2447 410.72 25 6 116 C 2448 695.00 7 6 117 C 2449 50. 27 6 118 C 2450 13.00 17 6 119 C 2451 55.00 22 7 120 C 2452 74.42 22 7 121 C 2453 56.30 5 7 122 C 2454 7.85 5 7 123 C 2455 223.17 5 7 124 C 2456 368.00 23 7 125 C 2457 1562.80 2 7 126 D 5534.20 127 C 2458 450.59 17 8 128 C 2459 75.65 11 8 129 C 2460 923. 5 8 130 CC 2461 131 CC 2462 132 C 2463 25 18 8 133 C 2464 26 22 8 134 C 2465 50.50 18 8 135 C 2466 39 5 8 136 C 2467 4.80 22 8 137 CC 2468 138 C 2469 70 18 8 139 C 2470 500 21 8 140 C 2471 12 22 8 141 D 6157.00 142 C 2472 113.56 4 8 143 C 2473 9.95 18 8 144 CC 2474 145 C 2475 368 23 8 146 C 2476 616 9 8 147 C 2477 208.65 5 8 148 C 2478 380 7 9 149 C 2479 129 5 9 150 C 2480 3.95 18 9 151 C 2481 7.06 1 9 152 C 2482 30 18 9 153 C 2483 15 18 9 154 D 5631.50 155 CC 2484 156 C 2485 2000 21 9 157 C 2486 7 1 9 158 C 2487 34.03 22 9 159 C 2488 474.35 5 9 160 C 2489 179.46 5 9 161 C 2490 145 5 9 162 D 5395 163 C 2491 12.30 18 9 164 C 2492 7 1 11 165 C 2493 2 22 9 166 C 2494 3.50 18 9 167 C 2495 46.49 4 10 168 CC 2496 169 C 2497 117.03 3 10 170 CC 2498 171 C 2499 1773.70 2 11 172 C 2500 94.90 22 11 173 C 2501 50 20 11 174 C 2502 21.85 11 10 175 C 2503 89.37 8 10 176 D 10811.70 177 C 2504 547.42 17 11 178 C 2505 1203.31 22 11 179 C 2506 368 23 11 180 C 2507 616 9 11 181 C 2508 10.80 18 11 182 C 2509 23.30 5 11 183 C 2510 27.60 5 11 184 C 2511 126.00 5 11 185 C 2512 168.26 5 11 186 C 2513 230.66 25 11 187 C 2514 18 18 11 188 C 2515 20 18 11 189 C 2516 42 26 11 190 C 2517 8 18 11 191 D 7237.50 192 C 2518 446.86 4 11 193 C 2519 20 26 12 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 198 C 2524 7 1 12 199 C 2525 16 10 12 200 C 2526 45.45 5 12 201 C 2527 13.30 5 12 202 C 2528 387 17 12 203 C 2529 18.70 18 12 204 CC 2530 205 C 2531 1800 21 13 206 C 2532 206.25 26 12 207 C 2533 1703.40 2 12 208 D 3825 209 C 2534 3178.45 22 14 210 CC 2535 211 C 2536 97.67 23 14 212 C 2537 55.93 4 14 213 C 2538 26 5 14 214 C 2539 550 24 14 215 C 2540 106.32 8 14 216 C 2541 105 3 14 217 C 2542 108.06 8 14 218 D 6507.66 219 CC 2543 220 C 2544 74.95 10 14 221 C 2545 671.81 17 14 222 C 2546 262.60 5 14 223 C 2547 50.50 5 14 224 C 2548 11.70 25 14 225 C 2549 85 6 14 226 C 2550 10 18 14 227 C 2551 34 6 14 228 C 2552 200 5 14 229 C 2553 368 23 14 230 C 2554 912.90 9 14 231 C 2555 500 21 14 232 C 2556 90 10 14 233 C 2557 120 1 15 234 C 2558 2.05 18 15 235 C 2559 899 17 15 236 C 2560 267.58 22 15 237 D 465 238 D 3182.36 239 C 2561 100 5 15 240 CC 2562 241 DM 200 242 D 5187.50 243 C 2563 500 8 15 244 C 2564 100.75 10 15 245 C 2565 3000 21 15 246 C 2566 1800 21 17 247 C 2567 75.21 10 15 248 C 2568 563.06 4 15 249 C 2569 26 17 15 250 C 2570 192 22 15 251 C 2571 14.30 5 15 252 C 2572 184.25 5 15 253 D 3000 254 C 2573 500 21 15 255 C 2574 115 3 16 256 D 11960.00 257 C 2575 42 26 16 258 C 2576 26.12 5 16 259 C 2577 81.71 4 16 260 C 2578 36.81 11 16 261 C 2579 368.00 23 16 262 C 2580 671.81 17 16 263 C 2581 37.70 18 16 264 C 2582 72 6 16 265 C 2583 350 21 16 266 C 2584 23.95 8 16 267 C 2585 1773.70 2 16 268 CC 2586 269 C 2587 271.60 23 17 270 CC 2588 271 D 2107.75 272 D 4990 273 C 2589 5 1 17 274 DM 14.60 275 DM 7.50 276 D 829.25 277 D 21228.50 278 D 5680 279 C 2590 105.78 8 17 280 C 2591 311.54 8 17 281 C 2593 770.94 25 17 282 C 2594 109.92 22 17 283 C 2595 432.25 4 18 284 C 2596 28 1 18 285 C 2597 200 27 18 286 C 2598 919 2 18 287 C 2599 187.22 5 18 288 C 2600 134 5 18 289 C 2601 90.50 5 18 290 C 2602 153.64 5 18 291 C 2603 14850. 22 18 292 CC 2604 293 C 2605 50 24 18 294 C 2606 186.36 8 18 295 C 2607 85 1 18 296 D 32927.50 297 C 2608 1352.93 25 19 298 C 2609 50 20 19 299 CC 2610 300 CC 2611 301 DM 7.37 302 C 2612 17 6 20 303 D 14750.00 304 D 2040 305 C 2613 33 5 20 306 C 2614 9.22 5 20 307 C 2615 115 3 20 308 C 2616 1875.10 2 20 309 C 2617 134 5 20 310 C 2618 46.45 5 20 311 C 2619 790.75 17 20 312 C 2620 33 17 20 313 C 2621 368 23 20 314 C 2622 52.30 5 20 315 C 2623 309.14 8 20 316 C 2624 9 18 20 317 C 2625 1452.77 25 20 318 D 8742.50 319 C 2626 50 24 20 320 C 2627 39.50 18 20 321 CC 2628 322 C 2629 56 17 20 323 C 2630 164 5 21 324 C 2631 400.88 4 21 325 CC 2632 326 C 2633 8.75 18 21 327 C 2634 7.50 1 21 328 C 2635 48 4 21 329 C 2636 12.55 11 21 330 C 2637 139.70 22 21 331 D 538 332 C 2638 1200 21 22 333 C 2639 1000 21 21 334 C 2640 115 3 21 335 C 2641 30 5 21 336 C 2642 101.39 4 22 337 D 3000 338 DM 3000.00 339 C 2643 140 22 21 340 C 2644 35 26 22 341 C 2645 671.81 17 22 342 C 2646 1850.16 2 22 343 C 2647 70 23 22 344 C 2648 14.20 23 22 345 C 2649 500 24 22 346 C 2650 13.05 11 22 347 C 2651 205.74 22 22 348 C 2652 199.40 5 22 349 C 2653 17.16 5 22 350 C 2654 19.94 5 22 351 C 2655 34.12 22 22 352 D 2530.69 353 D 20162.50 354 D 8992.41 355 C 2656 1500 21 23 356 C 2657 116.89 1 23 357 D 1545 358 C 2659 368 23 22 359 C 2660 37 18 22 360 C 2661 25 22 22 361 C 2662 15 18 22 362 C 2663 500 21 23 363 C 2664 25.35 5 23 364 D 6212.50 365 CC 2665 366 C 2666 50 24 23 367 C 2667 96.30 18 23 368 C 2668 495.42 4 23 369 C 2669 145 5 23 370 C 2670 8.70 1 24 371 C 2671 16.80 1 24 372 C 2672 29 5 23 373 C 2673 11.48 22 23 374 C 2674 1397.48 25 23 375 C 2675 200 28 23 376 C 2676 500 8 23 377 CC 2677 378 C 2678 49.56 8 24 379 C 2679 10000 23 24 380 C 2680 110 23 24 381 C 2681 1007 23 24 382 C 2682 37.64 22 24 383 C 2683 2000. 21 25 384 C 2684 49.44 1 25 385 D 4762.50 386 C 2685 1850.16 2 25 387 C 2686 35.27 11 25 388 C 2687 115 3 25 389 C 2688 144.36 4 25 390 C 2689 50 22 25 391 C 2690 39.85 18 25 392 C 2691 141.22 4 25 393 C 2692 552.87 17 25 394 C 2693 134.32 22 25 395 CC 2694 396 D 1882.50 397 C 2695 500 8 25 398 C 2696 500 8 25 399 C 2697 20.32 5 26 400 C 2698 750 21 26 401 C 2699 110.25 1 26 402 C 2700 368 23 25 403 C 2701 134.74 22 25 404 C 2702 6.90 5 25 405 C 2703 99 17 25 406 DM 11.49 407 DM 11.61 408 C 2704 36 18 26 409 C 2705 635.69 27 26 410 C 2706 18.50 18 26 411 D 7130 412 C 2707 295 26 26 413 C 2708 472.87 4 26 414 C 2709 15 18 26 415 C 2710 36.50 5 26 416 C 2711 16.75 18 26 417 C 2712 218.26 5 26 418 C 2713 139.96 13 26 419 CC 2714 420 C 2715 50 22 26 421 C 2716 1500 21 27 422 C 2717 1500 21 28 423 C 2718 11.56 5 26 424 C 2719 4812.51 23 27 425 D 1545 426 C 2720 3920.58 17 27 427 C 2721 115 3 27 428 C 2722 76.99 22 27 429 C 2723 40.30 5 27 430 C 2724 117.43 4 27 431 C 2725 552.87 17 27 432 C 2726 127.35 5 27 433 C 2727 6 18 27 434 C 2728 20 5 27 435 C 2729 52.84 11 27 436 C 2730 5.74 5 27 437 DM 23.10 438 C 2731 50 24 27 439 D 592.50 440 C 2732 911.35 25 27 441 C 2733 46.85 5 27 442 C 2734 164.11 5 27 443 C 2735 1850.16 2 27 444 C 2736 140 1 27 445 D 1997 446 C 2737 368 23 27 447 D 1467.50 448 C 2738 154.01 5 28 449 C 2739 33 18 28 450 C 2740 40 23 28 451 C 2741 15.15 8 28 452 C 2742 342.32 8 28 453 C 2743 10 26 28 454 C 2744 160 27 28 455 C 2745 19 26 28 456 C 2746 1136.47 6 28 457 C 2747 174.34 8 28 458 C 2748 208.22 25 28 459 C 2749 131.46 10 28 460 D 13855 461 C 2750 145.75 10 28 462 C 2751 30 5 28 463 C 2752 54 5 28 464 C 2753 55 22 28 465 C 2754 569.90 4 28 466 C 2755 64.50 6 28 467 C 2756 75 28 29 468 CC 2757 469 C 2758 374 17 29 470 C 2759 115 3 29 471 C 2760 500 21 29 472 C 2761 500 21 29 473 C 2762 1510 21 29 474 E 496 1177.09 12 3 475 E 495 1076.21 12 3 476 E 494 392.55 12 2 477 E 493 456.63 12 2 478 E 492 497.88 12 2 479 E 491 574.03 12 2 480 E 490 890.20 12 2 481 E 489 842.19 12 2 482 E 488 788.81 12 2 483 E 510 304.73 12 5 484 E 509 432.47 12 5 485 E 508 575.53 12 5 486 E 507 502.81 12 5 487 E 506 842.80 12 5 488 E 505 1033.57 12 5 489 E 504 254.00 15 4 490 W 503 702.05 14 4 491 W 502 4521.60 14 4 492 W 501 387.26 12 3 493 W 500 372.80 12 3 494 W 499 561.91 12 3 495 W 498 497.97 12 3 496 E 497 926.48 12 3 497 E 519 84.76 12 12 498 E 520 483.00 15 8 499 E 511 830.88 12 7 500 E 537 464.55 12 10 501 E 531 356.37 12 9 502 E 529 589.96 12 9 503 E 530 436.65 12 9 504 E 528 393.86 12 9 505 E 527 888.88 12 9 506 E 526 1034.18 12 9 507 E 525 991.35 12 9 508 E 524 733.00 15 8 509 W 522 182.00 12 8 510 W 523 1549.00 14 8 511 W 521 2210.00 14 8 512 W 518 3391.80 14 7 513 W 517 277.10 12 7 514 E 516 259.01 12 7 515 E 515 439.51 12 7 516 E 514 398.75 12 7 517 E 513 1113.18 12 7 518 E 512 893.06 12 7 519 W 540 4601.70 14 10 520 E 532 1062.02 12 10 521 E 533 1122.84 12 10 522 E 534 999.70 12 10 523 E 535 538.32 12 10 524 E 536 643.20 12 10 525 E 538 386.34 12 10 526 E 539 105.03 12 10 527 W 541 1703.92 15 11 528 W 544 5.00 14 11 529 W 545 1345.38 15 11 530 E 546 924.04 12 12 531 E 547 982.73 12 12 532 E 548 873.83 12 12 533 E 549 473.57 12 12 534 E 550 542.91 12 12 535 E 551 440.27 12 12 536 E 553 299.63 12 12 537 E 552 185.93 12 12 538 E 568 343.38 12 15 539 E 569 304.73 12 15 540 E 567 596.15 12 15 541 E 566 465.02 12 15 542 E 565 948.24 12 14 543 E 564 985.99 12 14 544 E 563 991.80 12 14 545 E 557 473.57 12 13 546 E 558 601.00 12 13 547 E 560 265.01 12 13 548 E 555 991.16 12 12 549 E 554 927.77 12 12 550 E 556 852.47 12 13 551 W 562 4255.04 14 13 552 E 561 297.08 12 13 553 E 559 688.29 12 13 554 E 570 1050.61 12 16 555 E 571 1069.11 12 16 556 E 572 1019.07 12 16 557 E 573 566.88 12 16 558 E 574 630.97 12 16 559 E 575 269.88 12 16 560 E 576 472.09 12 16 561 E 577 346.43 12 16 562 W 578 4412.14 14 16 563 W 579 483.00 15 16 564 W 580 2210.00 14 16 565 W 581 38.36 14 16 566 E 582 1046.89 12 17 567 E 583 1151.39 12 17 568 E 584 996.51 12 17 569 E 585 627.63 12 17 570 E 586 732.19 12 17 571 E 587 537.45 12 17 572 E 588 513.44 12 17 573 E 589 374.42 12 17 574 E 590 110.15 12 17 575 E 591 979.37 12 18 576 E 592 1426.28 12 18 577 E 593 960.21 12 18 578 E 595 645.08 12 18 579 E 597 430.98 12 18 580 E 598 343.31 12 18 581 E 594 531.30 12 18 582 E 596 500.91 12 18 583 W 599 5659.58 14 18 584 W 600 1863.74 15 18 585 W 602 850.20 15 18 586 E 603 796.26 12 20 587 E 604 802.32 12 20 588 E 605 379.26 12 20 589 E 606 542.91 12 20 590 E 607 283.06 12 20 591 E 608 180.93 12 20 592 E 609 282.18 12 20 593 E 615 369.00 12 21 594 W 617 2861.14 14 21 595 E 625 2210.00 14 23 596 E 627 1209.08 12 24 597 E 628 1158.89 12 24 598 E 629 552.62 12 24 599 E 630 596.12 12 24 600 E 632 359.96 12 24 601 W 634 800.03 15 24 602 E 635 921.48 12 25 603 E 636 1050.72 12 25 604 E 637 533.66 12 25 605 E 638 610.74 12 25 606 E 639 361.79 12 25 607 E 640 201.10 12 25 608 E 645 346.92 12 26 609 E 610 325.46 12 21 610 E 611 1020.87 12 21 611 E 612 922.47 12 21 612 E 613 505.84 12 21 613 E 614 595.69 12 21 614 E 616 258.02 12 21 615 E 618 1053.55 12 23 616 E 619 845.14 12 23 617 E 620 420.35 12 23 618 E 621 548.51 12 23 619 E 622 293.42 12 23 620 E 623 339.16 12 23 621 E 624 374.42 12 23 622 W 626 483.00 15 23 623 E 631 142.22 12 24 624 W 633 2792.12 14 24 625 E 660 484.10 12 29 626 W 662 2276.24 14 29 627 E 650 981.35 12 28 628 E 651 992.28 12 28 629 E 652 327.45 12 28 630 E 653 384.95 12 28 631 E 641 1081.13 12 26 632 E 642 1042.43 12 26 633 E 643 490.20 12 26 634 E 644 516.116 12 26 635 E 646 326.75 12 26 636 W 647 2424.72 14 26 637 W 648 393.57 15 26 638 W 649 251.13 15 26 639 E 654 373.60 12 28 640 E 657 1176.43 12 29 641 E 658 1184.18 12 29 642 E 659 566.46 12 29 643 E 661 247.78 12 29 644 E 663 393.62 15 29 645 E 664 40.27 15 29 646 W 656 483 15 29 647 W 655 2210. 14 29 648 CC 542 649 CC 543 650 CC 2592 651 CC 2658 488 482 E 488 788.81 12 2 489 481 E 489 842.19 12 2 490 480 E 490 890.20 12 2 491 479 E 491 574.03 12 2 492 478 E 492 497.88 12 2 493 477 E 493 456.63 12 2 494 476 E 494 392.55 12 2 495 475 E 495 1076.21 12 3 496 474 E 496 1177.09 12 3 497 496 E 497 926.48 12 3 498 495 W 498 497.97 12 3 499 494 W 499 561.91 12 3 500 493 W 500 372.80 12 3 501 492 W 501 387.26 12 3 502 491 W 502 4521.60 14 4 503 490 W 503 702.05 14 4 504 489 E 504 254.00 15 4 505 488 E 505 1033.57 12 5 506 487 E 506 842.80 12 5 507 486 E 507 502.81 12 5 508  485 E 508 575.53 12 5 509 484 E 509 432.47 12 5 510 483 E 510 304.73 12 5 511 499 E 511 830.88 12 7 512 518 E 512 893.06 12 7 513 517 E 513 1113.18 12 7 514 516 E 514 398.75 12 7 515 515 E 515 439.51 12 7 516 514 E 516 259.01 12 7 517 513 W 517 277.10 12 7 518 512 W 518 3391.80 14 7 519 497 E 519 84.76 12 12 520 498 E 520 483.00 15 8 521 511 W 521 2210.00 14 8 522 509 W 522 182.00 12 8 523 510 W 523 1549.00 14 8 524 508 E 524 733.00 15 8 525 507 E 525 991.35 12 9 526 506 E 526 1034.18 12 9 527 505 E 527 888.88 12 9 528 504 E 528 393.86 12 9 529 502 E 529 589.96 12 9 530 503 E 530 436.65 12 9 531 501 E 531 356.37 12 9 532 520 E 532 1062.02 12 10 533 521 E 533 1122.84 12 10 534 522 E 534 999.70 12 10 535 523 E 535 538.32 12 10 536 524 E 536 643.20 12 10 537 500 E 537 464.55 12 10 538 525 E 538 386.34 12 10 539 526 E 539 105.03 12 10 540 519 W 540 4601.70 14 10 541 527 W 541 1703.92 15 11 542 648 CC 542 543 649 CC 543 544 528 W 544 5.00 14 11 545 529 W 545 1345.38 15 11 546 530 E 546 924.04 12 12 547 531 E 547 982.73 12 12 548 532 E 548 873.83 12 12 549 533 E 549 473.57 12 12 550 534 E 550 542.91 12 12 551 535 E 551 440.27 12 12 552 537 E 552 185.93 12 12 553 536 E 553 299.63 12 12 554 549 E 554 927.77 12 12 555 548 E 555 991.16 12 12 556 550 E 556 852.47 12 13 557 545 E 557 473.57 12 13 558 546 E 558 601.00 12 13 559 553 E 559 688.29 12 13 560 547 E 560 265.01 12 13 561 552 E 561 297.08 12 13 562 551 W 562 4255.04 14 13 563 544 E 563 991.80 12 14 564 543 E 564 985.99 12 14 565 542 E 565 948.24 12 14 566 541 E 566 465.02 12 15 567 540 E 567 596.15 12 15 568 538 E 568 343.38 12 15 569 539 E 569 304.73 12 15 570 554 E 570 1050.61 12 16 571 555 E 571 1069.11 12 16 572 556 E 572 1019.07 12 16 573 557 E 573 566.88 12 16 574 558 E 574 630.97 12 16 575 559 E 575 269.88 12 16 576 560 E 576 472.09 12 16 577 561 E 577 346.43 12 16 578 562 W 578 4412.14 14 16 579 563 W 579 483.00 15 16 580 564 W 580 2210.00 14 16 581 565 W 581 38.36 14 16 582 566 E 582 1046.89 12 17 583 567 E 583 1151.39 12 17 584 568 E 584 996.51 12 17 585 569 E 585 627.63 12 17 586 570 E 586 732.19 12 17 587 571 E 587 537.45 12 17 588 572 E 588 513.44 12 17 589 573 E 589 374.42 12 17 590 574 E 590 110.15 12 17 591 575 E 591 979.37 12 18 592 576 E 592 1426.28 12 18 593 577 E 593 960.21 12 18 594 581 E 594 531.30 12 18 595 578 E 595 645.08 12 18 596 582 E 596 500.91 12 18 597 579 E 597 430.98 12 18 598 580 E 598 343.31 12 18 599 583 W 599 5659.58 14 18 600 584 W 600 1863.74 15 18 602 585 W 602 850.20 15 18 603 586 E 603 796.26 12 20 604 587 E 604 802.32 12 20 605 588 E 605 379.26 12 20 606 589 E 606 542.91 12 20 607 590 E 607 283.06 12 20 608 591 E 608 180.93 12 20 609 592 E 609 282.18 12 20 610 609 E 610 325.46 12 21 611 610 E 611 1020.87 12 21 612 611 E 612 922.47 12 21 613 612 E 613 505.84 12 21 614 613 E 614 595.69 12 21 615 593 E 615 369.00 12 21 616 614 E 616 258.02 12 21 617 594 W 617 2861.14 14 21 618 615 E 618 1053.55 12 23 619 616 E 619 845.14 12 23 620 617 E 620 420.35 12 23 621 618 E 621 548.51 12 23 622 619 E 622 293.42 12 23 623 620 E 623 339.16 12 23 624 621 E 624 374.42 12 23 625 595 E 625 2210.00 14 23 626 622 W 626 483.00 15 23 627 596 E 627 1209.08 12 24 628 597 E 628 1158.89 12 24 629 598 E 629 552.62 12 24 630 599 E 630 596.12 12 24 631 623 E 631 142.22 12 24 632 600 E 632 359.96 12 24 633 624 W 633 2792.12 14 24 634 601 W 634 800.03 15 24 635 602 E 635 921.48 12 25 636 603 E 636 1050.72 12 25 637 604 E 637 533.66 12 25 638 605 E 638 610.74 12 25 639 606 E 639 361.79 12 25 640 607 E 640 201.10 12 25 641 631 E 641 1081.13 12 26 642 632 E 642 1042.43 12 26 643 633 E 643 490.20 12 26 644 634 E 644 516.116 12 26 645 608 E 645 346.92 12 26 646 635 E 646 326.75 12 26 647 636 W 647 2424.72 14 26 648 637 W 648 393.57 15 26 649 638 W 649 251.13 15 26 650 627 E 650 981.35 12 28 651 628 E 651 992.28 12 28 652 629 E 652 327.45 12 28 653 630 E 653 384.95 12 28 654 639 E 654 373.60 12 28 655 647 W 655 2210. 14 29 656 646 W 656 483 15 29 657 640 E 657 1176.43 12 29 658 641 E 658 1184.18 12 29 659 642 E 659 566.46 12 29 660 625 E 660 484.10 12 29 661 643 E 661 247.78 12 29 662 626 W 662 2276.24 14 29 663 644 E 663 393.62 15 29 664 645 E 664 40.27 15 29 2313 3 C 2313 1804.52 22 1 2332 2 C 2332 2000 21 1 2337 4 C 2337 43.50 0 0 2338 5 C 2338 6.00 0 0 2345 6 C 2345 53.35 0 0 2347 7 C 2347 38.00 0 0 2348 8 C 2348 50.00 24 1 2354 10 C 2354 50.00 20 1 2355 13 C 2355 280.60 22 1 2356 9 C 2356 264.05 0 0 2357 14 CC 2357 2358 15 C 2358 10 3 1 2359 16 C 2359 42.80 10 1 2360 17 C 2360 119.40 19 1 2361 18 C 2361 50 18 1 2362 19 CC 2362 2363 20 CC 2363 2364 21 CC 2364 2365 22 CC 2365 2366 23 C 2366 50 18 1 2367 24 CC 2367 2368 25 CC 2368 2369 26 CC 2369 2370 27 CC 2370 2371 28 C 2371 50 18 1 2372 29 CC 2372 2373 30 CC 2373 2374 31 C 2374 547.42 17 1 2375 32 C 2375 86 5 1 2376 33 C 2376 500 21 1 2377 34 C 2377 1500 21 3 2378 35 C 2378 93.20 3 2 2379 36 C 2379 1562.80 2 2 2380 37 C 2380 3.60 5 2 2381 38 C 2381 136.16 5 2 2382 39 C 2382 114.98 18 2 2383 41 C 2383 139.24 4 2 2384 42 C 2384 155 5 2 2385 43 C 2385 60.30 5 2 2386 44 C 2386 1151 17 2 2387 45 C 2387 12 18 2 2388 46 C 2388 66.80 22 2 2389 47 C 2389 33.30 22 2 2390 48 C 2390 22.80 22 3 2391 49 C 2391 12 18 2 2392 50 C 2392 39 22 2 2393 51 C 2393 64.65 25 2 2394 52 C 2394 85.54 22 2 2395 55 C 2395 1000. 21 3 2396 56 C 2396 405.38 4 3 2397 57 C 2397 64. 8 3 2398 60 C 2398 14.85 18 3 2399 62 C 2399 7.95 18 3 2400 63 C 2400 8.52 18 3 2401 64 C 2401 29.39 22 3 2402 65 C 2402 80. 23 3 2403 67 C 2403 1562.80 2 5 2404 68 C 2404 1887.00 17 5 2405 69 C 2405 28.26 21 5 2406 70 C 2406 52.68 5 5 2407 71 C 2407 53.35 5 5 2408 72 C 2408 27.00 5 5 2409 73 C 2409 301.50 21 5 2410 74 C 2410 32.23 5 5 2411 75 C 2411 110. 16 5 2412 76 C 2412 1500 21 10 2413 77 C 2413 15 18 3 2414 78 C 2414 286.41 5 3 2415 79 C 2415 12.68 5 3 2416 80 C 2416 93.20 3 5 2417 81 C 2417 7.75 11 3 2418 82 C 2418 66.34 4 3 2419 83 C 2419 1197.81 5 5 2420 84 C 2420 50 24 3 2421 85 C 2421 261.65 23 5 2422 86 C 2422 10 16 5 2423 87 C 2423 2386 17 5 2424 88 C 2424 28.15 23 5 2425 89 C 2425 8.95 18 5 2426 91 C 2426 16.05 5 7 2427 92 C 2427 450.59 17 5 2428 93 C 2428 621.73 8 6 2429 94 C 2429 4000. 21 6 2430 95 C 2430 6.75 18 6 2431 96 C 2431 110 5 6 2432 97 C 2432 991 16 6 2433 98 C 2433 41.5 20 6 2434 99 C 2434 52 5 6 2435 100 C 2435 675 8 6 2436 104 C 2436 40 20 6 2437 105 CC 2437 2438 106 C 2438 3.47 18 6 2439 107 C 2439 11 18 6 2440 108 C 2440 339.45 22 6 2441 109 C 2441 28.76 18 6 2442 110 C 2442 589.40 4 6 2443 111 C 2443 19.89 22 6 2444 112 C 2444 16. 18 6 2445 113 CC 2445 2446 114 C 2446 93.20 3 6 2447 115 C 2447 410.72 25 6 2448 116 C 2448 695.00 7 6 2449 117 C 2449 50. 27 6 2450 118 C 2450 13.00 17 6 2451 119 C 2451 55.00 22 7 2452 120 C 2452 74.42 22 7 2453 121 C 2453 56.30 5 7 2454 122 C 2454 7.85 5 7 2455 123 C 2455 223.17 5 7 2456 124 C 2456 368.00 23 7 2457 125 C 2457 1562.80 2 7 2458 127 C 2458 450.59 17 8 2459 128 C 2459 75.65 11 8 2460 129 C 2460 923. 5 8 2461 130 CC 2461 2462 131 CC 2462 2463 132 C 2463 25 18 8 2464 133 C 2464 26 22 8 2465 134 C 2465 50.50 18 8 2466 135 C 2466 39 5 8 2467 136 C 2467 4.80 22 8 2468 137 CC 2468 2469 138 C 2469 70 18 8 2470 139 C 2470 500 21 8 2471 140 C 2471 12 22 8 2472 142 C 2472 113.56 4 8 2473 143 C 2473 9.95 18 8 2474 144 CC 2474 2475 145 C 2475 368 23 8 2476 146 C 2476 616 9 8 2477 147 C 2477 208.65 5 8 2478 148 C 2478 380 7 9 2479 149 C 2479 129 5 9 2480 150 C 2480 3.95 18 9 2481 151 C 2481 7.06 1 9 2482 152 C 2482 30 18 9 2483 153 C 2483 15 18 9 2484 155 CC 2484 2485 156 C 2485 2000 21 9 2486 157 C 2486 7 1 9 2487 158 C 2487 34.03 22 9 2488 159 C 2488 474.35 5 9 2489 160 C 2489 179.46 5 9 2490 161 C 2490 145 5 9 2491 163 C 2491 12.30 18 9 2492 164 C 2492 7 1 11 2493 165 C 2493 2 22 9 2494 166 C 2494 3.50 18 9 2495 167 C 2495 46.49 4 10 2496 168 CC 2496 2497 169 C 2497 117.03 3 10 2498 170 CC 2498 2499 171 C 2499 1773.70 2 11 2500 172 C 2500 94.90 22 11 2501 173 C 2501 50 20 11 2502 174 C 2502 21.85 11 10 2503 175 C 2503 89.37 8 10 2504 177 C 2504 547.42 17 11 2505 178 C 2505 1203.31 22 11 2506 179 C 2506 368 23 11 2507 180 C 2507 616 9 11 2508 181 C 2508 10.80 18 11 2509 182 C 2509 23.30 5 11 2510 183 C 2510 27.60 5 11 2511 184 C 2511 126.00 5 11 2512 185 C 2512 168.26 5 11 2513 186 C 2513 230.66 25 11 2514 187 C 2514 18 18 11 2515 188 C 2515 20 18 11 2516 189 C 2516 42 26 11 2517 190 C 2517 8 18 11 2518 192 C 2518 446.86 4 11 2519 193 C 2519 20 26 12 2520 194 C 2520 28.99 10 12 2521 195 C 2521 4.15 10 12 2522 196 C 2522 61.36 10 12 2523 197 C 2523 1210.49 10 12 2524 198 C 2524 7 1 12 2525 199 C 2525 16 10 12 2526 200 C 2526 45.45 5 12 2527 201 C 2527 13.30 5 12 2528 202 C 2528 387 17 12 2529 203 C 2529 18.70 18 12 2530 204 CC 2530 2531 205 C 2531 1800 21 13 2532 206 C 2532 206.25 26 12 2533 207 C 2533 1703.40 2 12 2534 209 C 2534 3178.45 22 14 2535 210 CC 2535 2536 211 C 2536 97.67 23 14 2537 212 C 2537 55.93 4 14 2538 213 C 2538 26 5 14 2539 214 C 2539 550 24 14 2540 215 C 2540 106.32 8 14 2541 216 C 2541 105 3 14 2542 217 C 2542 108.06 8 14 2543 219 CC 2543 2544 220 C 2544 74.95 10 14 2545 221 C 2545 671.81 17 14 2546 222 C 2546 262.60 5 14 2547 223 C 2547 50.50 5 14 2548 224 C 2548 11.70 25 14 2549 225 C 2549 85 6 14 2550 226 C 2550 10 18 14 2551 227 C 2551 34 6 14 2552 228 C 2552 200 5 14 2553 229 C 2553 368 23 14 2554 230 C 2554 912.90 9 14 2555 231 C 2555 500 21 14 2556 232 C 2556 90 10 14 2557 233 C 2557 120 1 15 2558 234 C 2558 2.05 18 15 2559 235 C 2559 899 17 15 2560 236 C 2560 267.58 22 15 2561 239 C 2561 100 5 15 2562 240 CC 2562 2563 243 C 2563 500 8 15 2564 244 C 2564 100.75 10 15 2565 245 C 2565 3000 21 15 2566 246 C 2566 1800 21 17 2567 247 C 2567 75.21 10 15 2568 248 C 2568 563.06 4 15 2569 249 C 2569 26 17 15 2570 250 C 2570 192 22 15 2571 251 C 2571 14.30 5 15 2572 252 C 2572 184.25 5 15 2573 254 C 2573 500 21 15 2574 255 C 2574 115 3 16 2575 257 C 2575 42 26 16 2576 258 C 2576 26.12 5 16 2577 259 C 2577 81.71 4 16 2578 260 C 2578 36.81 11 16 2579 261 C 2579 368.00 23 16 2580 262 C 2580 671.81 17 16 2581 263 C 2581 37.70 18 16 2582 264 C 2582 72 6 16 2583 265 C 2583 350 21 16 2584 266 C 2584 23.95 8 16 2585 267 C 2585 1773.70 2 16 2586 268 CC 2586 2587 269 C 2587 271.60 23 17 2588 270 CC 2588 2589 273 C 2589 5 1 17 2590 279 C 2590 105.78 8 17 2591 280 C 2591 311.54 8 17 2592 650 CC 2592 2593 281 C 2593 770.94 25 17 2594 282 C 2594 109.92 22 17 2595 283 C 2595 432.25 4 18 2596 284 C 2596 28 1 18 2597 285 C 2597 200 27 18 2598 286 C 2598 919 2 18 2599 287 C 2599 187.22 5 18 2600 288 C 2600 134 5 18 2601 289 C 2601 90.50 5 18 2602 290 C 2602 153.64 5 18 2603 291 C 2603 14850. 22 18 2604 292 CC 2604 2605 293 C 2605 50 24 18 2606 294 C 2606 186.36 8 18 2607 295 C 2607 85 1 18 2608 297 C 2608 1352.93 25 19 2609 298 C 2609 50 20 19 2610 299 CC 2610 2611 300 CC 2611 2612 302 C 2612 17 6 20 2613 305 C 2613 33 5 20 2614 306 C 2614 9.22 5 20 2615 307 C 2615 115 3 20 2616 308 C 2616 1875.10 2 20 2617 309 C 2617 134 5 20 2618 310 C 2618 46.45 5 20 2619 311 C 2619 790.75 17 20 2620 312 C 2620 33 17 20 2621 313 C 2621 368 23 20 2622 314 C 2622 52.30 5 20 2623 315 C 2623 309.14 8 20 2624 316 C 2624 9 18 20 2625 317 C 2625 1452.77 25 20 2626 319 C 2626 50 24 20 2627 320 C 2627 39.50 18 20 2628 321 CC 2628 2629 322 C 2629 56 17 20 2630 323 C 2630 164 5 21 2631 324 C 2631 400.88 4 21 2632 325 CC 2632 2633 326 C 2633 8.75 18 21 2634 327 C 2634 7.50 1 21 2635 328 C 2635 48 4 21 2636 329 C 2636 12.55 11 21 2637 330 C 2637 139.70 22 21 2638 332 C 2638 1200 21 22 2639 333 C 2639 1000 21 21 2640 334 C 2640 115 3 21 2641 335 C 2641 30 5 21 2642 336 C 2642 101.39 4 22 2643 339 C 2643 140 22 21 2644 340 C 2644 35 26 22 2645 341 C 2645 671.81 17 22 2646 342 C 2646 1850.16 2 22 2647 343 C 2647 70 23 22 2648 344 C 2648 14.20 23 22 2649 345 C 2649 500 24 22 2650 346 C 2650 13.05 11 22 2651 347 C 2651 205.74 22 22 2652 348 C 2652 199.40 5 22 2653 349 C 2653 17.16 5 22 2654 350 C 2654 19.94 5 22 2655 351 C 2655 34.12 22 22 2656 355 C 2656 1500 21 23 2657 356 C 2657 116.89 1 23 2658 651 CC 2658 2659 358 C 2659 368 23 22 2660 359 C 2660 37 18 22 2661 360 C 2661 25 22 22 2662 361 C 2662 15 18 22 2663 362 C 2663 500 21 23 2664 363 C 2664 25.35 5 23 2665 365 CC 2665 2666 366 C 2666 50 24 23 2667 367 C 2667 96.30 18 23 2668 368 C 2668 495.42 4 23 2669 369 C 2669 145 5 23 2670 370 C 2670 8.70 1 24 2671 371 C 2671 16.80 1 24 2672 372 C 2672 29 5 23 2673 373 C 2673 11.48 22 23 2674 374 C 2674 1397.48 25 23 2675 375 C 2675 200 28 23 2676 376 C 2676 500 8 23 2677 377 CC 2677 2678 378 C 2678 49.56 8 24 2679 379 C 2679 10000 23 24 2680 380 C 2680 110 23 24 2681 381 C 2681 1007 23 24 2682 382 C 2682 37.64 22 24 2683 383 C 2683 2000. 21 25 2684 384 C 2684 49.44 1 25 2685 386 C 2685 1850.16 2 25 2686 387 C 2686 35.27 11 25 2687 388 C 2687 115 3 25 2688 389 C 2688 144.36 4 25 2689 390 C 2689 50 22 25 2690 391 C 2690 39.85 18 25 2691 392 C 2691 141.22 4 25 2692 393 C 2692 552.87 17 25 2693 394 C 2693 134.32 22 25 2694 395 CC 2694 2695 397 C 2695 500 8 25 2696 398 C 2696 500 8 25 2697 399 C 2697 20.32 5 26 2698 400 C 2698 750 21 26 2699 401 C 2699 110.25 1 26 2700 402 C 2700 368 23 25 2701 403 C 2701 134.74 22 25 2702 404 C 2702 6.90 5 25 2703 405 C 2703 99 17 25 2704 408 C 2704 36 18 26 2705 409 C 2705 635.69 27 26 2706 410 C 2706 18.50 18 26 2707 412 C 2707 295 26 26 2708 413 C 2708 472.87 4 26 2709 414 C 2709 15 18 26 2710 415 C 2710 36.50 5 26 2711 416 C 2711 16.75 18 26 2712 417 C 2712 218.26 5 26 2713 418 C 2713 139.96 13 26 2714 419 CC 2714 2715 420 C 2715 50 22 26 2716 421 C 2716 1500 21 27 2717 422 C 2717 1500 21 28 2718 423 C 2718 11.56 5 26 2719 424 C 2719 4812.51 23 27 2720 426 C 2720 3920.58 17 27 2721 427 C 2721 115 3 27 2722 428 C 2722 76.99 22 27 2723 429 C 2723 40.30 5 27 2724 430 C 2724 117.43 4 27 2725 431 C 2725 552.87 17 27 2726 432 C 2726 127.35 5 27 2727 433 C 2727 6 18 27 2728 434 C 2728 20 5 27 2729 435 C 2729 52.84 11 27 2730 436 C 2730 5.74 5 27 2731 438 C 2731 50 24 27 2732 440 C 2732 911.35 25 27 2733 441 C 2733 46.85 5 27 2734 442 C 2734 164.11 5 27 2735 443 C 2735 1850.16 2 27 2736 444 C 2736 140 1 27 2737 446 C 2737 368 23 27 2738 448 C 2738 154.01 5 28 2739 449 C 2739 33 18 28 2740 450 C 2740 40 23 28 2741 451 C 2741 15.15 8 28 2742 452 C 2742 342.32 8 28 2743 453 C 2743 10 26 28 2744 454 C 2744 160 27 28 2745 455 C 2745 19 26 28 2746 456 C 2746 1136.47 6 28 2747 457 C 2747 174.34 8 28 2748 458 C 2748 208.22 25 28 2749 459 C 2749 131.46 10 28 2750 461 C 2750 145.75 10 28 2751 462 C 2751 30 5 28 2752 463 C 2752 54 5 28 2753 464 C 2753 55 22 28 2754 465 C 2754 569.90 4 28 2755 466 C 2755 64.50 6 28 2756 467 C 2756 75 28 29 2757 468 CC 2757 2758 469 C 2758 374 17 29 2759 470 C 2759 115 3 29 2760 471 C 2760 500 21 29 2761 472 C 2761 500 21 29 2762 473 C 2762 1510 21 29 2733 441 SEARCH KEY 2733 441 C 2733 46.85 5 27 AMOUNT = 4.685E+01 NSB801215G 5ŽŽ'15 December 1980 North Slope Borough P.O. Box 69 Barrow, Alaska 99723 Re: Services Rendered for Wainwright School Shop Addition Electrical 27 Oct. Fly PDX - Anch. 5 28 Oct. Meet with Claude Laws & Review Spex 1 Travel Anc Brw Wain 5 School Final Inspection 2 29 Oct. School final inspection 3 Travel Wain - Anc 5 Standby 3 30 Oct. Travel Anc - Pdx 5 10 Nov. Electrical Design 10 11 Nov. Electrical Design 8 12 Nov. Write Spex 8 13 Nov. Review plans & Spex 8 14 Nov. Review plans and spex 8 Mechanical 09 Oct. Conference w/ Creedon & Lunsford 3.5 02 Nov. Mark up spex 2.5 08 Nov. Review sheets M-1,M-2,M-3 per NSB 8.5 change request 09 Nov. Revise drawings 2.5 10 Nov. Review with Architect .5 ==== 88.5 HRS 88.5 HRS @ $65.00 $5,752.50 Telephone 81.58 ======== Total $5,834.08 Status: Mechanical/Electrical design is complete. The Contract documents will be ready for bid after final review and one on site visit to verify the actual design. OPENý’½½ ;PASCAL EXTERNAL PROCEDURE TO "OPEN" ;A FILE VARIABLE TO A FILE NAME ;PETE GOODEVE .TITL OPEN ;PJG 78:10:22 .ENT ?OPEN .EXTN XPRET .EXTN WRLIN .EXTD .GCH,CHAN,TEMP1,.FIND,CNTAD,TABAD SP=41 SYSER = JSR @50 ;RDOS ERROR FCH = -1 FST = -2 .NREL ;TYPE THINGFILE = FILE OF THINGS; ; NAME = ARRAY[1..16] OF INTEGER; ;... ;... ;PROCEDURE OPEN(VAR F:THINGFILE;FILENAME:NAME;MODE:INTEGER); ?OPEN: LDA 2,-2,3 ;FILE VARIABLE MOVZR 2,2 ;FORM WORD POINTER STA 2,FBAP ;HOLD IT SUB 1,1 STA 1,TEMP1 ;NULL FOR TEXT LINE TERMIN. STA 1,0,2 ;CLEAR FILE BUFFER JSR @.GCH ;GET CHAN ETC JMP CLOS ;RETURNS HERE IF NOT TEXT FILE LDA 1,FST,2 ;CHECK STATUS MOVZL 1,1,SNR ;FOR UNWRITTEN STUFF JSR @.WRLN ;FLUSH IF NEEDED LDA 2,CHAN JSR @ .FIND ;GET TEXT FILE DESCRIPTORS MOVZR 0,3 ;POINTER TO LINE BUFF. SUB 0,0 STA 0,0,3 ;MAKE BUFFER "EMPTY" STA 0,@CNTAD ;CLEAR CHAR COUNT STA 0,@TABAD ;AND TABBING CLOS: LDA 2,CHAN .SYSTM .CLOS 77 LDA 2,CHAN ;IGNORE FAILURE LDA 3,SP LDA 1,0,3 ;MODE LDA 0,-1,3 ;FILENAME POINTER MOV 1,1,SNR ;READ MODE? JMP OPN ;YES -- DO NOT CREATE MOVZR# 1,1,SZR ;REWRITE? JMP CREAT ;NO -- DON'T DELETE .SYSTM .DELET LDA 2,CHAN ;DON'T WORRY ABOUT ABSENCE CREAT: .SYSTM .CRAND LDA 2,CHAN ;IGNORE ANY ERROR MOVZR 1,1,SZR ;APPEND MODE? JMP APPEN ;YES OPN: .SYSTM .OPEN 77 ;OPEN ON ORIGINAL CHANNEL JMP NOPN ;HANDLE A PROBLEM JMP WRCK APPEN: SUB 1,1 .SYSTM .APPEN ;77 JMP NOPN WRCK: LDA 3,SP LDA 1,0,3 ;CHECK MODE MOV 1,1,SNR ;WRITE? SUBZL 2,2,SKP ;NO -- SET BUFFER EMPTY FLAG SUBZR 2,2 ;YES -- SET EOF JMP STAT NOPN: LDA 3,DLECK SUB 2,3,SZR SYSER ;SERIOUS PROBLEM SUBZR 2,2 ;SET EOF ON FILE STAT: LDA 3,FBAP STA 2,FST,3 ;SET FILE VARIABLE STATUS XPRET .WRLN: WRLIN DLECK: 12 ;NON-EXISTENT FILE CHECK FBAP: .-. .END T35£^Ú© PROGRAM T35(INPUT,OUTPUT); VAR BITNO,TABPOS,CURPOS,WORDNO : INTEGER; TABS : ARRAY [1..5] OF INTEGER; PROCEDURE SBIT(BITNO:INTEGER;VAR WORD:INTEGER);EXTERNAL; BEGIN FOR CURPOS := 1 TO 72 DO BEGIN TABPOS:= CURPOS*8-1; WORDNO:=CURPOS MOD 16; BITNO:=CURPOS-WORDNO*16; WRITELN(OUTPUT,' ',TABPOS,WORDNO,BITNO); SBIT(BITNO,TABS[WORDNO]); END; WRITELN(OUTPUT,' ',TABS[1],TABS[2],TABS[3],TABS[4],TABS[5]) END. TEST1PX"½½ GETIc½½197809Ád½½7C 2685 1850.16 C 2686 35.27 C 2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 C 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 E 3679.49 C 2704 36 C 2705 365.69 C 2706 18.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2716 1500 C 2718 11.56 E 3803.54 W 3069.42 1978R0 f½½B 4196.05 C 2332 2000 C 2356 264.05 C 2355 280.60 D 23546.65 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 E 4424.29 D 13878.50 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 E 4499.72 W 5477.65 C 2402 80. D 3222.52 C 2403 1562.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 2386 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75 C 2431 110 C 2432 991 C 2433 41.5 C 2434 52 C 2435 675 D 10674.20 C 2436 40 CC 2437 C 2438 3.47 C 2439 11 C 2440 339.45 C 2441 28.76 C 2442 589.40 C 2443 19.89 C 2444 16. C 2445 C 2446 93.20 C 2447 410.72 C 2448 695.00 C 2449 50. C 2450 13.00 C 2451 55.00 C 2452 74.42 C 2453 56.30 C 2454 7.85 C 2455 223.17 C 2456 368.00 C 2457 1562.80 E 4211.49 W 3391.80 D 5532.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC 2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 2471 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C› 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 E 5322. W 7656 CC2498 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.60 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.49 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 1800 C 2532 206.25 C 2533 1703.40 D 3825 E 5096.35 W 4255.04 C 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C 2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912.90 C 2555 500 C 2556 90 E 4635.31 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 2563 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 C 2568 563.06 C 2569 26 C 2570 192 C 2571 14.30 C 2572 184.25 D 3000 C 2573 500 C 2574 115 C 2575 42 C 2576 26.12 C 2580 671.81 C 2581 37.70 C 2582 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 D 2107.75 D 4990 C 2589 5 DM 14.60 DM 7.50 D 5680 C 2590 105.78 C 2591 311.54 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 E 5817.44 W 8373.52 D 32927.50 C 2608 1352.93 C 2609 50 CC 2610 CC 2611 DM 7.37 C 2612 17 D 2040 C 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45 C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 E 3104.27 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 C 2630 164 C 2631 400.88 CC 2632 C 2633 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2639 1000 C 2640 115 C 2641 30 E 3991.35 W 2861.14 C 2642 101.39 D 3000 C 2643 140 C 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 500 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 C 2657 116.89 D 1545 E 3874.55 C 2659 368 C 2660 37 C 2661 25 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 96.30 C 2668 495.42 C 2669 145 C 2671 16.80 C 2672 29 C 2673 11.48 W 2210 W 483 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 C 2678 49.56 C 2679 10000 C 2680 110 C 2681 1007 C 2682 37.64 E 4018.89 W 2792.12 W 800.03 D 4762.50 C 2685 1850.16 C 2686 35.27 C 2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 C 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 E 3679.49 C 2704 36 C 2705 365.69 C 2706 18.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2716 1500 C 2718 11.56 E 3803.54 W 3069.42 C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 46.85 C 2734 164.11 C 2735 1850.16 C 2736 140 D 1997 E 3059.63 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 C 2750 145.75 C 2751 30 C 2752 54 C 2753 55 C 2754 569.90 C 2755 64.50 C 2756 75 CC 2757 E 3685.95 W 2710.13 C 2758 374 C 2759 115 C 2760 500 C 2761 500 C 2762 1510 1978DP&t‘ŽŽ  0 4 5 6 7 9 14 19 20 21 22 24 25 26 27 29 30 105 113 130 131 137 144 155 168 170 204 210 219 240 268 270 292 299 300 321 325 365 377 395 419 468 648 649 650 651 SEARCH KEY 0 4 C 2337 43.50 0 0 5 C 2338 6.00 0 0 6 C 2345 53.35 0 0 7 C 2347 38.00 0 0 9 C 2356 264.05 0 0 14 CC 2357 19 CC 2362 20 CC 2363 21 CC 2364 22 CC 2365 24 CC 2367 25 CC 2368 26 CC 2369 27 CC 2370 29 CC 2372 30 CC 2373 105 CC 2437 113 CC 2445 130 CC 2461 131 CC 2462 137 CC 2468 144 CC 2474 155 CC 2484 168 CC 2496 170 CC 2498 204 CC 2530 210 CC 2535 219 CC 2543 240 CC 2562 268 CC 2586 270 CC 2588 292 CC 2604 299 CC 2610 300 CC 2611 321 CC 2628 325 CC 2632 365 CC 2665 377 CC 2677 395 CC 2694 419 CC 2714 468 CC 2757 648 CC 542 649 CC 543 650 CC 2592 651 CC 2658 AMOUNT = 4.049E+02 1 151 157 164 198 233 273 284 295 327 356 370 371 384 401 444 SEARCH KEY 1 151 C 2481 7.06 1 9 157 C 2486 7 1 9 164 C 2492 7 1 11 198 C 2524 7 1 12 233 C 2557 120 1 15 273 C 2589 5 1 17 284 C 2596 28 1 18 295 C 2607 85 1 18 327 C 2634 7.50 1 21 356 C 2657 116.89 1 23 370 C 2670 8.70 1 24 371 C 2671 16.80 1 24 384 C 2684 49.44 1 25 401 C 2699 110.25 1 26 444 C 2736 140 1 27 AMOUNT = 7.156E+02 2 36 67 125 171 207 267 286 308 342 386 443 SEARCH KEY 2 36 C 2379 1562.80 2 2 67 C 2403 1562.80 2 5 125 C 2457 1562.80 2 7 171 C 2499 1773.70 2 11 207 C 2533 1703.40 2 12 267 C 2585 1773.70 2 16 286 C 2598 919 2 18 308 C 2616 1875.10 2 20 342 C 2646 1850.16 2 22 386 C 2685 1850.16 2 25 443 C 2735 1850.16 2 27 AMOUNT = 1.828E+04 3 15 35 80 114 169 216 255 307 334 388 427 470 SEARCH KEY 3 15 C 2358 10 3 1 35 C 2378 93.20 3 2 80 C 2416 93.20 3 5 114 C 2446 93.20 3 6 169 C 2497 117.03 3 10 216 C 2541 105 3 14 255 C 2574 115 3 16 307 C 2615 115 3 20 334 C 2640 115 3 21 388 C 2687 115 3 25 427 C 2721 115 3 27 470 C 2759 115 3 29 AMOUNT = 1.201E+03 4 41 56 82 110 142 167 192 212 248 259 283 324 328 336 368 389 392 413 430 465 SEARCH KEY 4 41 C 2383 139.24 4 2 56 C 2396 405.38 4 3 82 C 2418 66.34 4 3 110 C 2442 589.40 4 6 142 C 2472 113.56 4 8 167 C 2495 46.49 4 10 192 C 2518 446.86 4 11 212 C 2537 55.93 4 14 248 C 2568 563.06 4 15 259 C 2577 81.71 4 16 283 C 2595 432.25 4 18 324 C 2631 400.88 4 21 328 C 2635 48 4 21 336 C 2642 101.39 4 22 368 C 2668 495.42 4 23 389 C 2688 144.36 4 25 392 C 2691 141.22 4 25 413 C 2708 472.87 4 26 430 C 2724 117.43 4 27 465 C 2754 569.90 4 28 AMOUNT = 5.431E+03 5 32 37 38 42 43 70 71 72 74 78 79 83 91 96 99 121 122 123 129 135 147 149 159 160 161 182 183 184 185 200 201 213 222 223 228 239 251 252 258 287 288 289 290 305 306 309 310 314 323 335 348 349 350 363 369 372 399 404 415 417 423 429 432 434 436 441 442 448 462 463 SEARCH KEY 5 32 C 2375 86 5 1 37 C 2380 3.60 5 2 38 C 2381 136.16 5 2 42 C 2384 155 5 2 43 C 2385 60.30 5 2 70 C 2406 52.68 5 5 71 C 2407 53.35 5 5 72 C 2408 27.00 5 5 74 C 2410 32.23 5 5 78 C 2414 286.41 5 3 79 C 2415 12.68 5 3 83 C 2419 1197.81 5 5 91 C 2426 16.05 5 7 96 C 2431 110 5 6 99 C 2434 52 5 6 121 C 2453 56.30 5 7 122 C 2454 7.85 5 7 123 C 2455 223.17 5 7 129 C 2460 923. 5 8 135 C 2466 39 5 8 147 C 2477 208.65 5 8 149 C 2479 129 5 9 159 C 2488 474.35 5 9 160 C 2489 179.46 5 9 161 C 2490 145 5 9 182 C 2509 23.30 5 11 183 C 2510 27.60 5 11 184 C 2511 126.00 5 11 185 C 2512 168.26 5 11 200 C 2526 45.45 5 12 201 C 2527 13.30 5 12 213 C 2538 26 5 14 222 C 2546 262.60 5 14 223 C 2547 50.50 5 14 228 C 2552 200 5 14 239 C 2561 100 5 15 251 C 2571 14.30 5 15 252 C 2572 184.25 5 15 258 C 2576 26.12 5 16 287 C 2599 187.22 5 18 288 C 2600 134 5 18 289 C 2601 90.50 5 18 290 C 2602 153.64 5 18 305 C 2613 33 5 20 306 C 2614 9.22 5 20 309 C 2617 134 5 20 310 C 2618 46.45 5 20 314 C 2622 52.30 5 20 323 C 2630 164 5 21 335 C 2641 30 5 21 348 C 2652 199.40 5 22 349 C 2653 17.16 5 22 350 C 2654 19.94 5 22 363 C 2664 25.35 5 23 369 C 2669 145 5 23 372 C 2672 29 5 23 399 C 2697 20.32 5 26 404 C 2702 6.90 5 25 415 C 2710 36.50 5 26 417 C 2712 218.26 5 26 423 C 2718 11.56 5 26 429 C 2723 40.30 5 27 432 C 2726 127.35 5 27 434 C 2728 20 5 27 436 C 2730 5.74 5 27 441 C 2733 46.85 5 27 442 C 2734 164.11 5 27 448 C 2738 154.01 5 28 462 C 2751 30 5 28 463 C 2752 54 5 28 AMOUNT = 8.340E+03 6 225 227 264 302 456 466 SEARCH KEY 6 225 C 2549 85 6 14 227 C 2551 34 6 14 264 C 2582 72 6 16 302 C 2612 17 6 20 456 C 2746 1136.47 6 28 466 C 2755 64.50 6 28 AMOUNT = 1.409E+03 7 116 148 SEARCH KEY 7 116 C 2448 695.00 7 6 148 C 2478 380 7 9 AMOUNT = 1.075E+03 8 57 93 100 175 215 217 243 266 279 280 294 315 376 378 397 398 451 452 457 SEARCH KEY 8 57 C 2397 64. 8 3 93 C 2428 621.73 8 6 100 C 2435 675 8 6 175 C 2503 89.37 8 10 215 C 2540 106.32 8 14 217 C 2542 108.06 8 14 243 C 2563 500 8 15 266 C 2584 23.95 8 16 279 C 2590 105.78 8 17 280 C 2591 311.54 8 17 294 C 2606 186.36 8 18 315 C 2623 309.14 8 20 376 C 2676 500 8 23 378 C 2678 49.56 8 24 397 C 2695 500 8 25 398 C 2696 500 8 25 451 C 2741 15.15 8 28 452 C 2742 342.32 8 28 457 C 2747 174.34 8 28 AMOUNT = 5.182E+03 9 146 180 230 SEARCH KEY 9 146 C 2476 616 9 8 180 C 2507 616 9 11 230 C 2554 912.90 9 14 AMOUNT = 2.144E+03 10 16 194 195 196 197 199 220 232 244 247 459 461 SEARCH KEY 10 16 C 2359 42.80 10 1 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 199 C 2525 16 10 12 220 C 2544 74.95 10 14 232 C 2556 90 10 14 244 C 2564 100.75 10 15 247 C 2567 75.21 10 15 459 C 2749 131.46 10 28 461 C 2750 145.75 10 28 AMOUNT = 1.981E+03 10 16 194 195 196 197 199 220 232 244 247 459 461 SEARCH KEY 10 16 C 2359 42.80 10 1 194 C 2520 28.99 10 12 195 C 2521 4.15 10 12 196 C 2522 61.36 10 12 197 C 2523 1210.49 10 12 199 C 2525 16 10 12 220 C 2544 74.95 10 14 232 C 2556 90 10 14 244 C 2564 100.75 10 15 247 C 2567 75.21 10 15 459 C 2749 131.46 10 28 461 C 2750 145.75 10 28 AMOUNT = 1.981E+03 11 81 128 174 260 329 346 387 435 SEARCH KEY 11 81 C 2417 7.75 11 3 128 C 2459 75.65 11 8 174 C 2502 21.85 11 10 260 C 2578 36.81 11 16 329 C 2636 12.55 11 21 346 C 2650 13.05 11 22 387 C 2686 35.27 11 25 435 C 2729 52.84 11 27 AMOUNT = 2.557E+02 12 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 492 493 494 495 496 497 499 500 501 502 503 504 505 506 507 509 513 514 515 516 517 518 520 521 522 523 524 525 526 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 552 553 554 555 556 557 558 559 560 561 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 586 587 588 589 590 591 592 593 596 597 598 599 600 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 623 625 627 628 629 630 631 632 633 634 635 639 640 641 642 643 SEARCH KEY 12 474 E 496 1177.09 12 3 475 E 495 1076.21 12 3 476 E 494 392.55 12 2 477 E 493 456.63 12 2 478 E 492 497.88 12 2 479 E 491 574.03 12 2 480 E 490 890.20 12 2 481 E 489 842.19 12 2 482 E 488 788.81 12 2 483 E 510 304.73 12 5 484 E 509 432.47 12 5 485 E 508 575.53 12 5 486 E 507 502.81 12 5 487 E 506 842.80 12 5 488 E 505 1033.57 12 5 492 W 501 387.26 12 3 493 W 500 372.80 12 3 494 W 499 561.91 12 3 495 W 498 497.97 12 3 496 E 497 926.48 12 3 497 E 519 84.76 12 12 499 E 511 830.88 12 7 500 E 537 464.55 12 10 501 E 531 356.37 12 9 502 E 529 589.96 12 9 503 E 530 436.65 12 9 504 E 528 393.86 12 9 505 E 527 888.88 12 9 506 E 526 1034.18 12 9 507 E 525 991.35 12 9 509 W 522 182.00 12 8 513 W 517 277.10 12 7 514 E 516 259.01 12 7 515 E 515 439.51 12 7 516 E 514 398.75 12 7 517 E 513 1113.18 12 7 518 E 512 893.06 12 7 520 E 532 1062.02 12 10 521 E 533 1122.84 12 10 522 E 534 999.70 12 10 523 E 535 538.32 12 10 524 E 536 643.20 12 10 525 E 538 386.34 12 10 526 E 539 105.03 12 10 530 E 546 924.04 12 12 531 E 547 982.73 12 12 532 E 548 873.83 12 12 533 E 549 473.57 12 12 534 E 550 542.91 12 12 535 E 551 440.27 12 12 536 E 553 299.63 12 12 537 E 552 185.93 12 12 538 E 568 343.38 12 15 539 E 569 304.73 12 15 540 E 567 596.15 12 15 541 E 566 465.02 12 15 542 E 565 948.24 12 14 543 E 564 985.99 12 14 544 E 563 991.80 12 14 545 E 557 473.57 12 13 546 E 558 601.00 12 13 547 E 560 265.01 12 13 548 E 555 991.16 12 12 549 E 554 927.77 12 12 550 E 556 852.47 12 13 552 E 561 297.08 12 13 553 E 559 688.29 12 13 554 E 570 1050.61 12 16 555 E 571 1069.11 12 16 556 E 572 1019.07 12 16 557 E 573 566.88 12 16 558 E 574 630.97 12 16 559 E 575 269.88 12 16 560 E 576 472.09 12 16 561 E 577 346.43 12 16 566 E 582 1046.89 12 17 567 E 583 1151.39 12 17 568 E 584 996.51 12 17 569 E 585 627.63 12 17 570 E 586 732.19 12 17 571 E 587 537.45 12 17 572 E 588 513.44 12 17 573 E 589 374.42 12 17 574 E 590 110.15 12 17 575 E 591 979.37 12 18 576 E 592 1426.28 12 18 577 E 593 960.21 12 18 578 E 595 645.08 12 18 579 E 597 430.98 12 18 580 E 598 343.31 12 18 581 E 594 531.30 12 18 582 E 596 500.91 12 18 586 E 603 796.26 12 20 587 E 604 802.32 12 20 588 E 605 379.26 12 20 589 E 606 542.91 12 20 590 E 607 283.06 12 20 591 E 608 180.93 12 20 592 E 609 282.18 12 20 593 E 615 369.00 12 21 596 E 627 1209.08 12 24 597 E 628 1158.89 12 24 598 E 629 552.62 12 24 599 E 630 596.12 12 24 600 E 632 359.96 12 24 602 E 635 921.48 12 25 603 E 636 1050.72 12 25 604 E 637 533.66 12 25 605 E 638 610.74 12 25 606 E 639 361.79 12 25 607 E 640 201.10 12 25 608 E 645 346.92 12 26 609 E 610 325.46 12 21 610 E 611 1020.87 12 21 611 E 612 922.47 12 21 612 E 613 505.84 12 21 613 E 614 595.69 12 21 614 E 616 258.02 12 21 615 E 618 1053.55 12 23 616 E 619 845.14 12 23 617 E 620 420.35 12 23 618 E 621 548.51 12 23 619 E 622 293.42 12 23 620 E 623 339.16 12 23 621 E 624 374.42 12 23 623 E 631 142.22 12 24 625 E 660 484.10 12 29 627 E 650 981.35 12 28 628 E 651 992.28 12 28 629 E 652 327.45 12 28 630 E 653 384.95 12 28 631 E 641 1081.13 12 26 632 E 642 1042.43 12 26 633 E 643 490.20 12 26 634 E 644 516.116 12 26 635 E 646 326.75 12 26 639 E 654 373.60 12 28 640 E 657 1176.43 12 29 641 E 658 1184.18 12 29 642 E 659 566.46 12 29 643 E 661 247.78 12 29 AMOUNT = 8.877E+04 13 418 SEARCH KEY 13 418 C 2713 139.96 13 26 AMOUNT = 1.399E+02 14 490 491 510 511 512 519 528 551 562 564 565 583 594 595 624 626 636 647 SEARCH KEY 14 490 W 503 702.05 14 4 491 W 502 4521.60 14 4 510 W 523 1549.00 14 8 511 W 521 2210.00 14 8 512 W 518 3391.80 14 7 519 W 540 4601.70 14 10 528 W 544 5.00 14 11 551 W 562 4255.04 14 13 562 W 578 4412.14 14 16 564 W 580 2210.00 14 16 565 W 581 38.36 14 16 583 W 599 5659.58 14 18 594 W 617 2861.14 14 21 595 E 625 2210.00 14 23 624 W 633 2792.12 14 24 626 W 662 2276.24 14 29 636 W 647 2424.72 14 26 647 W 655 2210. 14 29 AMOUNT = 4.833E+04 15 489 498 508 527 529 563 584 585 601 622 637 638 644 645 646 SEARCH KEY 15 489 E 504 254.00 15 4 498 E 520 483.00 15 8 508 E 524 733.00 15 8 527 W 541 1703.92 15 11 529 W 545 1345.38 15 11 563 W 579 483.00 15 16 584 W 600 1863.74 15 18 585 W 602 850.20 15 18 601 W 634 800.03 15 24 622 W 626 483.00 15 23 637 W 648 393.57 15 26 638 W 649 251.13 15 26 644 E 663 393.62 15 29 645 E 664 40.27 15 29 646 W 656 483 15 29 AMOUNT = 1.056E+04 16 75 86 97 SEARCH KEY 16 75 C 2411 110. 16 5 86 C 2422 10 16 5 97 C 2432 991 16 6 AMOUNT = 1.111E+03 17 31 44 68 87 92 118 127 177 202 221 235 249 262 311 312 322 341 393 405 426 431 469 SEARCH KEY 17 31 C 2374 547.42 17 1 44 C 2386 1151 17 2 68 C 2404 1887.00 17 5 87 C 2423 2386 17 5 92 C 2427 450.59 17 5 118 C 2450 13.00 17 6 127 C 2458 450.59 17 8 177 C 2504 547.42 17 11 202 C 2528 387 17 12 221 C 2545 671.81 17 14 235 C 2559 899 17 15 249 C 2569 26 17 15 262 C 2580 671.81 17 16 311 C 2619 790.75 17 20 312 C 2620 33 17 20 322 C 2629 56 17 20 341 C 2645 671.81 17 22 393 C 2692 552.87 17 25 405 C 2703 99 17 25 426 C 2720 3920.58 17 27 431 C 2725 552.87 17 27 469 C 2758 374 17 29 AMOUNT = 1.713E+04 21 2 33 34 55 69 73 76 94 139 156 205 231 245 246 254 265 332 333 355 362 383 400 421 422 471 472 473 SEARCH KEY 21 2 C 2332 2000 21 1 33 C 2376 500 21 1 34 C 2377 1500 21 3 55 C 2395 1000. 21 3 69 C 2405 28.26 21 5 73 C 2409 301.50 21 5 76 C 2412 1500 21 10 94 C 2429 4000. 21 6 139 C 2470 500 21 8 156 C 2485 2000 21 9 205 C 2531 1800 21 13 231 C 2555 500 21 14 245 C 2565 3000 21 15 246 C 2566 1800 21 17 254 C 2573 500 21 15 265 C 2583 350 21 16 332 C 2638 1200 21 22 333 C 2639 1000 21 21 355 C 2656 1500 21 23 362 C 2663 500 21 23 383 C 2683 2000. 21 25 400 C 2698 750 21 26 421 C 2716 1500 21 27 422 C 2717 1500 21 28 471 C 2760 500 21 29 472 C 2761 500 21 29 473 C 2762 1510 21 29 AMOUNT = 3.374E+04 22 3 13 46 47 48 50 52 64 108 111 119 120 133³ 136 140 158 165 172 178 209 236 250 282 291 330 339 347 351 360 373 382 390 394 403 420 428 464 SEARCH KEY 22 3 C 2313 1804.52 22 1 13 C 2355 280.60 22 1 46 C 2388 66.80 22 2 47 C 2389 33.30 22 2 48 C 2390 22.80 22 3 50 C 2392 39 22 2 52 C 2394 85.54 22 2 64 C 2401 29.39 22 3 108 C 2440 339.45 22 6 111 C 2443 19.89 22 6 119 C 2451 55.00 22 7 120 C 2452 74.42 22 7 133 C 2464 26 22 8 136 C 2467 4.80 22 8 140 C 2471 12 22 8 158 C 2487 34.03 22 9 165 C 2493 2 22 9 172 C 2500 94.90 22 11 178 C 2505 1203.31 22 11 209 C 2534 3178.45 22 14 236 C 2560 267.58 22 15 250 C 2570 192 22 15 282 C 2594 109.92 22 17 291 C 2603 14850. 22 18 330 C 2637 139.70 22 21 339 C 2643 140 22 21 347 C 2651 205.74 22 22 351 C 2655 34.12 22 22 360 C 2661 25 22 22 373 C 2673 11.48 22 23 382 C 2682 37.64 22 24 390 C 2689 50 22 25 394 C 2693 134.32 22 25 403 C 2701 134.74 22 25 420 C 2715 50 22 26 428 C 2722 76.99 22 27 464 C 2753 55 22 28 AMOUNT = 2.392E+04 23 65 85 88 124 145 179 211 229 261 269 313 343 344 358 379 380 381 402 424 446 450 SEARCH KEY 23 65 C 2402 80. 23 3 85 C 2421 261.65 23 5 88 C 2424 28.15 23 5 124 C 2456 368.00 23 7 145 C 2475 368 23 8 179 C 2506 368 23 11 211 C 2536 97.67 23 14 229 C 2553 368 23 14 261 C 2579 368.00 23 16 269 C 2587 271.60 23 17 313 C 2621 368 23 20 343 C 2647 70 23 22 344 C 2648 14.20 23 22 358 C 2659 368 23 22 379 C 2679 10000 23 24 380 C 2680 110 23 24 381 C 2681 1007 23 24 402 C 2700 368 23 25 424 C 2719 4812.51 23 27 446 C 2737 368 23 27 450 C 2740 40 23 28 AMOUNT = 2.010E+04 24 8 84 214 293 319 345 366 438 SEARCH KEY 24 8 C 2348 50.00 24 1 84 C 2420 50 24 3 214 C 2539 550 24 14 293 C 2605 50 24 18 319 C 2626 50 24 20 345 C 2649 500 24 22 366 C 2666 50 24 23 438 C 2731 50 24 27 AMOUNT = 1.350E+03 25 51 115 186 224 281 297 317 374 440 458 SEARCH KEY 25 51 C 2393 64.65 25 2 115 C 2447 410.72 25 6 186 C 2513 230.66 25 11 224 C 2548 11.70 25 14 281 C 2593 770.94 25 17 297 C 2608 1352.93 25 19 317 C 2625 1452.77 25 20 374 C 2674 1397.48 25 23 440 C 2732 911.35 25 27 458 C 2748 208.22 25 28 AMOUNT = 6.811E+03 26 189 193 206 257 340 412 453 455 SEARCH KEY 26 189 C 2516 42 26 11 193 C 2519 20 26 12 206 C 2532 206.25 26 12 257 C 2575 42 26 16 340 C 2644 35 26 22 412 C 2707 295 26 26 453 C 2743 10 26 28 455 C 2745 19 26 28 AMOUNT = 6.692E+02 27 117 285 409 454 SEARCH KEY 27 117 C 2449 50. 27 6 285 C 2597 200 27 18 409 C 2705 635.69 27 26 454 C 2744 160 27 28 AMOUNT = 1.045E+03 28 375 467 SEARCH KEY 28 375 C 2675 200 28 23 467 C 2756 75 28 29 AMOUNT = 2.750E+02 1978CHECKS&ŽŽ B 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 1 1 C 2338 6.00 1 1 C 2345 53.35 1 1 C 2347 38.00 1 1 C 2348 50.00 24 1 C 2356 264.05 4 1 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 119.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 3 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C 2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 3 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 DM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 10 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.00 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 10 C 2503 89.37 8 10 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 12 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 109.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2597 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 20 C 2622 52.30 5 20 C 2623 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 C 2638 1200 21 22 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 22 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 23 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 25 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 21 26 C 2699 110.25 1 26 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 18.50 18 26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 26 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2762 1510 21 29 E 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 2 E 493 456.63 12 2 E 492 497.88 12 2 E 491 574.03 12 2 E 490 890.20 12 2 E 489 842.19 12 2 E 488 788.81 12 2 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12 5 E 506 842.80 12 5 E 505 1033.57 12 5 E 504 254.00 15 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 12 3 W 500 372.80 12 3 W 499 561.91 12 3 W 498 497.97 12 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 15 8 E 511 830.88 12 7 E 537 464.55 12 10 E 531 356.37 12 9 E 529 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 15 8 W 522 182.00 12 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 12 7 E 516 259.01 12 7 E 515 439.51 12 7 E 514 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 15 11 W 544 5.00 14 11 W 545 1345.38 15 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 15 E 565 948.24 12 14 E 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 1É2 13 E 555 991.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 571 1069.11 12 16 E 572 1019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 15 16 W 580 2210.00 14 16 W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 996.51 12 17 E 585 627.63 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 593 960.21 12 18 E 595 645.08 12 18 E 597 430.98 12 18 E 598 343.31 12 18 E 594 531.30 12 18 E 596 500.91 12 18 W 599 5659.58 14 18 W 600 1863.74 15 18 W 602 850.20 15 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 625 2210.00 14 23 E 627 1209.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 15 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 346.92 12 26 E 610 325.46 12 21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12 23 W 626 483.00 15 23 E 631 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 E 646 326.75 12 26 W 647 2424.72 14 26 W 648 393.57 15 26 W 649 251.13 15 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 15 29 E 664 40.27 15 29 W 656 483 15 29 W 655 2210. 14 29 CC 542 CC 543 CC 2592 CC 2658 PL5/ø FŽq PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END; IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN}  T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])) END; 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]<=S[T+1]) END END ;{CASE} LOD : BEGIN T := T+1;S[T] := S[BASE(L)+A] END; STO : BEGIN S[BASE(L)+A] := S[T]; WRITELN(S[T]);T := T-1 END; CAL : BEGIN {GENERATE NEW BLOCK MARK} S[T+1] := BASE(L);S[T+2] := B; S[T+3] := P; B := T+1; P := A END; INT : T := T+A; JMP : P := A; JPC : BEGIN IF S[T] = 0 THEN P := A;T := T-1; END END {WITH,CASE} UNTIL P = 0; WRITE('END OF PL/0'); END {INTERPRET}; BEGIN {MAIN PROGRAM} FOR CH := 'A' TO ';' DO SSYM[CH] := NUL; WORD[1] := 'BEGIN '; WORD[2] := 'CALL '; WORD[3] := 'CONST '; WORD[4] := 'DO '; WORD[5] := 'END '; WORD[6] := 'IF '; WORD[7] := 'ODD '; WORD[8] := 'PROCEDURE '; WORD[9] := 'THEN '; WORD[10]:= 'VAR '; WORD[11]:= 'WHILE '; WSYM[1] := BEGINSYM; WSYM[2] := CALLSYM; WSYM[3] := CONSTSYM; WSYM[4] := DOSYM; WSYM[5] := ENDSYM; WSYM[6] := IFSYM; WSYM[7] := ODDSYM; WSYM[8] := PROCSYM; WSYM[9] := THENSYM; WSYM[10] := VARSYM; WSYM[11] := WHILESYM; SSYM['+'] := PLUS; SSYM['-'] := MINUS; SSYM['*'] := TIMES; SSYM['/'] := SLASH; SSYM['('] := LPAREN; SSYM[')'] := RPAREN; SSYM['='] := EQL; SSYM[','] := COMMA; SSYM['.'] := PERIOD; SSYM['!'] := NEQ; SSYM['<'] := LSS; SSYM['>'] := GTR; SSYM['"'] := LEQ; SSYM['#'] := GEQ; SSYM[';'] := SEMICOLN; MNEMONIC[LIT] := 'LIT '; MNEMONIC[OPR] := 'OPR '; MNEMONIC[LOD] := 'LOD ';MNEMONIC[STO] := 'STO '; MNEMONIC[CAL] := 'CAL '; MNEMONIC[INT] := 'INT '; MNEMONIC[JMP] := 'JMP '; MNEMONIC[JPC] := 'JPC '; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I).KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTANTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[Tâ] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])); 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]=] := GTR; SSYM["] := LEQ; SSYM[#] := GEQ; SSYM[;] := SEMICOLN; MNEMONIC[LIT] := 'LIT'; MNEMONIC[OPR] := 'OPR'; MNEMONIC[LOD] := 'LOD';MNEMONIC[STO] := 'STO'; MNEMONIC[CAL] := 'CAL'; MNEMONIC[INT] := 'INT'; MNEMONIC[JMP] := 'JMP'; MNEMONIC[JPC] := 'JPC'; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. PINFOPXw?? šPINFO Copyright (C) 1980 Rational Data Systems¼  ®ؾ®È¡8Û̹ÙÐÌØÙ›¾³ÿÿþ‹¡ØÙ›ØÙ›¾ •Çÿˆ¿ÙÚáö­5LØøŸË¡ŸÌØøÌØÙ𨸣ÌØø¢&ÚšØøÌٟáö­ 0Æž Æ žÜÌݚݢ‘Çÿ• ‚šÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÜž#Ýù¡Ì¹Ìݢݣ •šÝ£ ÂÝû¿ÚÝ£ ª!Æž!­hÆž Æ žÝÌÞšÞ¢‘Çÿ• ‚šÞ¢ šÞ¢ÙšÞ¢‘šÞ¢‘šÝž#AAZˆ® PAZˆ®È¡)Ê Ì¹ÜÐÌÚÜAZˆA•ÀޢܕA‚ˆÀº»ÜßáöQAZˆ® ZAZˆ®È¡)Ê Ì¹ÜÐÌÚÜAZˆA•ÀޢܕQ‚ˆÀº»ÜßáôÞù“ÌÆž!­/i ºÌÖÊÆÎ¡5²ž¶¢&¶øš¶¶š¶øÆª!Öʶø¢"ÎÌʂ̹ö­ALÆž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆž!­2 ²ˆ•¤ˆ•¤AAZˆš²ˆ•¤ˆ•¤HAZˆš²ˆ•¤ˆ•¤IAZˆš²ˆ•¤ˆ•¤PAZˆš²ˆ•¤ˆ•¤QAZˆš²ˆ•¤ˆ•¤XAZˆš²ˆ•¤ˆ•¤YAZˆš²ˆ•¤ˆ•¤ZAZˆšÖÎ ¡Ö²s¦FCOM.CMϹֲs¦COM.CMÏÖ²sϸ²cˆ¤²€±øš²¶�ÇLj¾ÇÿÇÿˆË²¶�‚ÇLj¾ÇÿÇÿˆË„¡b¶‚¸¶cÅ¡:Ö¦(F)COM.CM file is too long.¥�!®ÒÏÖØÇÿˆÏÖØÏžÖ²sϲ¶cˆ¤²€±øš¹ö­™  ÖÆsÆ€±ÏÖÆs¦CLIFILEÏÖΠ̲ž¶¢&¶øš¶¶šÌÆÝÇÇöˆÂ¾ÇÿˆË¡Ü‚̶øÜÂÆݾ¿Ý‚̹ö̶݂øÂÜ¿®€³®€²È¡ðÊ€³Ì¹ÛÐÌÆÝÇLj¾ÌÝ‚ÌÌÆÛˆ•¤ˆ•¤øAZˆ®€´ÆÛˆ•¤ˆ•¤øAZˆ®€³È¡1Ê€´Ì¹ØÐÌڕ̶ø¢"ØAZˆA•ÀÆÚˆÀº»ØÊ€³Ã¡ôÛÊ€²Ã¡òÆÝÇLj¾ÇÿÇÿˆÃ¡îÖÆsÏ­¦Tô´40ÌÙø ŽÌ­ ØŸšÖÎ ÌÙ‹¡Ù¹ ÖιÖι ¬¹¹6ÖÇÿˆ¥�!®ÒÏÖÛ¦Wrong operating system.ÏÖÛÏžÖØÎ­l²Ùˆ¤ÌÚøÃÚùIJ#Ùˆ¤¦ Я„Ì­6 ÆÙ¨€¯ÖˆÎ ֈΠ“„Ì€³ˆ®€µˆ®€´È¡)Ê€µÌ€²¹Ê€²ÐÌ€²Ê€³ÖÊ€²ˆÎ „Ì€³Ê€²Ê€´Ã¡öÊ€³Ì­(³d Ø É¡ Ö0¥�!®ÒÏÖØ¥�!®ÒÏ ­$ÖÚ¥�!®ÒÏ ÖÛ ÏÙ¹öÖ¦January¥�!®ÒϹôÖ¦May¥�!®ÒϹôÖ¦ September¥�!®ÒϹôÖ¦February¥�!®ÒϹôÖ¦June¥�!®ÒϹôÖ¦October¥�!®ÒϹôÖ¦March¥�!®ÒϹôÖ¦July¥�!®ÒϹsÖ¦November¥�!®ÒϹ]Ö¦April¥�!®ÒϹJÖ¦August¥�!®ÒϹ6Ö¦December¥�!®ÒϹ ¬ ¹ú¿„Kí±y@ä§o4Ö ¥�!®ÒÏÖÛØÏ ­6 DÖØ¥�!®ÒÏ Ö:¥�!®ÒÏÖÙÎÖ:¥�!®ÒÏÖÚέ2ÖÆ�!Æ�_ÏÖÆ�!¦OUTPUTÏÖÆ4ÆrǯÏÖÆ4¦CODEÏÖ¥�£Î§�££«�£§�££«�£§�£ŸÃ¡,Ö¥�!ÏÖ¦No program name.¥�!®�¤ÒÏÖÊ�¤Ï¹ì¥§�£ªc¥?¯¡;Ö¥�!ÏÖ¦PX PINFO program[.PU] [listing]¥�!®�¤ÒÏÖÊ�¤Ï¹ì®�¥¥¾®�¤È¡@Ê�¥«¹èЫ¥蛾³ÿÿþ‹¡¥蛥蛾a•A‚Çÿˆ¿èÊ�¤Ã¡ö¥¾É¡ ¥Ì�¤ÖÆ�¤¥cÏÖÆ�¤¦.PXfÏÆ�¤ªcÖ¥Æ�¤¥¾•ÏÆ�¤¦.PX·Ö¥Æ�¤¥¾•ÏÆ�¤¦.PU·„¡ ¥Ì�¤ÖÆ�¤¥cÏÖÆ�¤¦.PXfÏÆ�¤ªc§�££«�£§�£ŸË¡ Ö¥�!§�£ÏÖ¥�!ÏÖ¥4¥ÏÖ¥4ÏÖ¥�!ÏÖ Çÿˆ¥�!®�¤ÒÏÖÊ�¤¥ÏÖÊ�¤ÏÖ Çÿˆ¥�!®�¤ÒÏÖÊ�¤Ö¦.==============================================Æ�¥¥¾ÏÆ�¥ÏÖÊ�¤ÏÖ¥�!Ï¥rÌ�¤§�¤¢�<Ì�¥§�¤¢�0Ì�¦Ö¦ Compiled:¥�!®�§ÒÏÖ Çÿˆ¥�!®�§Òϧ�¥ø¹'Ö¦AOS.¥�!®�§ÒϹ Ö¦RDOS.¥�!®�§ÒϹ ¬¹1Ö§�¥ùÎÖ.¥�!®�§ÒÏÖ§�¥úÎÖ¥�!ÏÖ Çÿˆ¥�!®�§ÒÏÖÊ�§ ÇÿˆÏÖ§�¦ø§�¦ù§�¦úÎÖ¥�!ÏÖ Çÿˆ¥�!®�§ÒÏÖÊ�§ ÇÿˆÏÖ§�¦û§�¦ü§�¦ýÎÖ¥�!ÏÖ¥�!ÏÖ¥rÎ ¡2Ö¦Separately compiled subprogram.¥�!®�¥ÒÏÖÊ�¥Ï§�¤£€¬¹ôÖ¦)Contains unresolved assembler references.¥�!®�¥ÒÏÖÊ�¥Ï¹ò§�¤¢�LÌ�¥Ö¦ PLINKed to:¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖÊ�¦§�¤¢�ÏÖÊ�¦ÏÖ Çÿˆ¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖ§�¥ø§�¥ù§�¥úÎÖ¥�!ÏÖ Çÿˆ¥�!®�¦ÒÏÖÊ�¦ ÇÿˆÏÖ§�¥û§�¥ü§�¥ýÎÖ¥�!Ϲ;Ö¦No assembler references.¥�!®�¥ÒÏÖÊ�¥Ï¹¬¹5à §�¤£€­¹ðÖ¦(Contains unresolved external references.¥�!®�¥ÒÏÖÊ�¥Ï¹sÖ¦$External modules have been bound in.¥�!®�¥ÒÏÖÊ�¥Ï¹:Ö¦No external references.¥�!®�¥ÒÏÖÊ�¥Ï¹¬¹4o®Ö¥�!ÏÖ¦Segment ¥�!®�¥Ò ÏÖÊ�¥¦BytesÏÖÊ�¥¦BlockÏÖÊ�¥ÏÖ¦------- ¥�!®�¥Ò ÏÖÊ�¥¦-----ÏÖÊ�¥¦-----ÏÖÊ�¥Ï®�¦®�¥È¡_Ê�¦«¹èЫ§�¤èˆ¤ùË¡?Ö§�¤¢@舤¥�!®�¦Ò ÏÖÊ�¦§�¤èˆ¤ùÏ ÖÊ�¦§�¤èˆ¤øÏ ÖÊ�¦ÏèÊ�¥Ã¡î§�¤£€¥Ë¡3Ö¥�!ÏÖ¦ Overlay size ¥�!®�¥ÒÏÖÊ�¥§�¤£€¥Ï ÖÊ�¥ÏÖÆ�!ÏÖÆ4Ï­¦<èø¹×–œÔ°J ^ ® T z Þ ž ’D ALLINK |Ðl .LINK ALGOL.SV ALGOL:ALGOL.SV LINK AL1.SV ALGOL:AL1.SV LINK AL2.SV ALGOL:AL2.SV LINK ALGOL0.LB ALGOL:ALGOL0.LB LINK ALGOL1.LB ALGOL:ALGOL1.LB LINK ALGOL2.LB ALGOL:ALGOL2.LB LINK ALGOL3.LB ALGOL:ALGOL3.LB LINK TRACE.SV ALGOL:TRACE.SV LINK LIBRARY.CM ALGOL:LIBRARY.CM T14~Ž.PROGRAM T14(INPUT,OUTPUT); VAR I:INTEGER; BEGIN REPEAT BEGIN READLN (INPUT,I); IF I<21 THEN CASE I OF 1,2,3,4,5,6,7,8,9,10 : WRITELN(OUTPUT,'BETWEEN 1 AND 10'); 11,12,13,14,15,16,17,18,19,20 : WRITELN(OUTPUT,'BETWEEN 2 AND 20') END ELSE END UNTIL EOF(INPUT) END. RBUX€½½ PROGRAM TEST (INPUT,OUTPUT); VAR I,J,DIGIT : INTEGER; R,R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; { WRITELN(' GETDIGIT,DIGIT=',DIGIT);} END; {GETDIGIT} BEGIN {MAIN} REPEAT BEGIN {do decimal part first} WRITELN(' ENTER A REAL NUMBER'); READLN(R); { WRITELN( 'TRUNCR=',TRUNC(R));} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[10-J] := CHR(DIGIT+48); J :=J+1; { WRITELN(' CHR(DIGIT):=',CHR(DIGIT+48));} END; STR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITELN(' STRING=',STR); END;{OF REPEAT} UNTIL EOF(INPUT); END. 1978DQ䎎1978R1 wœw½!B 4196.05 C 2332 2000 C 2313 1804.52 C 2337 43.50 C 2338 6.00 C 2345 53.35 C 2347 38.00 C 2348 50.00 C 2356 264.05 C 2354 50.00 D 23546.64 DM 250.00 C 2355 280.60 CC 2357 C 2358 10 C 2359 42.80 C 2360 119.40 C 2361 50 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 CC 2372 CC 2373 C 2374 547.42 C 2375 86 C 2376 500 C 2377 1500 C 2378 93.20 C 2379 1562.80 C 2380 3.60 C 2381 136.16 C 2382 114.98 DM 250 C 2383 139.24 C 2384 155 C 2385 60.30 C 2386 1151 C 2387 12 C 2388 66.80 C 2389 33.30 C 2390 22.80 C 2391 12 C 2392 39 C 2393 64.65 C 2394 85.54 D 13878.10 DM 1865.00 C 2394 85.54 C 2395 1000. C 2396 405.38 C 2397 64. D 3885. DM 250.00 C 2398 14.85 DM 1865. C 2399 7.95 C 2400 8.52 C 2401 29.39 C 2402 80. D 3222.52 C 2403 1562.80 C 2404 1887.00 C 2405 28.26 C 2406 52.68 C 2407 53.35 C 2408 27.00 C 2409 301.50 C 2410 32.23 C 2411 110. C 2412 1500 C 2413 15 C 2414 286.41 C 2415 12.68 C 2416 93.20 C 2417 7.75 C 2418 66.34 C 2419 1197.81 C 2420 50 C 2421 261.65 C 2422 10 C 2423 2386 C 2424 28.15 C 2425 8.95 D 3727.5 C 2426 16.05 C 2427 450.59 C 2428 621.73 C 2429 4000. C 2430 6.75 C 2431 110 C 2432 991 C 2433 41.5 C 2434 52 C 2435 675 D 10674.20 D 8655.39 D 3056.00 C 2436 40 CC 2437 C 2438 3.47 C 2439 11 C 2440 339.45 C 2441 28.76 C 2442 589.40 C 2443 19.89 C 2444 16. CC 2445 C 2446 93.20 C 2447 410.72 C 2448 695.00 C 2449 50. C 2450 13.00 C 2451 55.00 C 2452 74.42 C 2453 56.30 C 2454 7.85 C 2455 223.17 C 2456 368.00 C 2457 1562.80 D 5534.20 C 2458 450.59 C 2459 75.65 C 2460 923. CC 2461 CC 2462 C 2463 25 C 2464 26 C 2465 50.50 C 2466 39 C 2467 4.80 CC 2468 C 2469 70 C 2470 500 C 2471 12 D 6157.00 C 2472 113.56 C 2473 9.95 CC 2474 C 2475 368 C 2476 616 C 2477 208.65 C 2478 380 C 2479 129 C 2480 3.95 C 2481 7.06 C 2482 30 C 2483 15 D 5631.50 CC 2484 C 2485 2000 C 2486 7 C 2487 34.03 C 2488 474.35 C 2489 179.46 C 2490 145 D 5395 C 2491 12.30 C 2492 7 C 2493 2 C 2494 3.50 C 2495 46.49 CC 2496 C 2497 117.03 CC 2498 C 2499 1773.70 C 2500 94.90 C 2501 50 C 2502 21.85 C 2503 89.37 D 10811.70 C 2504 547.42 C 2505 1203.31 C 2506 368 C 2507 616 C 2508 10.80 C 2509 23.30 C 2510 27.60 C 2511 126.00 C 2512 168.26 C 2513 230.66 C 2514 18 C 2515 20 C 2516 42 C 2517 8 D 7237.50 C 2518 446.86 C 2519 20 C 2520 28.99 C 2521 4.15 C 2522 61.36 C 2523 1210.49 C 2524 7 C 2525 16 C 2526 45.45 C 2527 13.30 C 2528 387 C 2529 18.70 CC 2530 C 2531 1800 C 2532 206.25 C 2533 1703.40 D 3825 C 2534 3178.45 CC 2535 C 2536 97.67 C 2537 55.93 C 2538 26 C 2539 550 C 2540 106.32 C 2541 105 C 2542 108.06 D 6507.66 CC 2543 C 2544 74.95 C 2545 671.81 C 2546 262.60 C 2547 50.50 C 2548 11.70 C 2549 85 C 2550 10 C 2551 34 C 2552 200 C 2553 368 C 2554 912.90 C 2555 500 C 2556 90 C 2557 120 C 2558 2.05 C 2559 899 C 2560 267.58 D 465 D 3182.36 C 2561 100 CC 2562 DM 200 D 5187.50 C 2563 500 C 2564 100.75 C 2565 3000 C 2566 1800 C 2567 75.21 C 2568 563.06 C 2569 26 C W2570 192 C 2571 14.30 C 2572 184.25 D 3000 C 2573 500 C 2574 115 D 11960.00 C 2575 42 C 2576 26.12 C 2577 81.71 C 2578 36.81 C 2579 368.00 C 2580 671.81 C 2581 37.70 C 2582 72 C 2583 350 C 2584 23.95 C 2585 1773.70 CC 2586 C 2587 271.60 CC 2588 D 2107.75 D 4990 C 2589 5 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 C 2591 311.54 C 2593 770.94 C 2594 109.92 C 2595 432.25 C 2596 28 C 2897 200 C 2598 919 C 2599 187.22 C 2600 134 C 2601 90.50 C 2602 153.64 C 2603 14850. CC 2604 C 2605 50 C 2606 186.36 C 2607 85 D 32927.50 C 2608 1352.93 C 2609 50 CC 2610 CC 2611 DM 7.37 C 2612 17 D 14750.00 D 2040 C 2613 33 C 2614 9.22 C 2615 115 C 2616 1875.10 C 2617 134 C 2618 46.45 C 2619 790.75 C 2620 33 C 2621 368 C 2622 52.30 C 2623 309.14 C 2624 9 C 2625 1452.77 D 8742.50 C 2626 50 C 2627 39.50 CC 2628 C 2629 56 C 2630 164 C 2631 400.88 CC 2632 C 2633 8.75 C 2634 7.50 C 2635 48 C 2636 12.55 C 2637 139.70 D 538 C 2638 1200 C 2639 1000 C 2640 115 C 2641 30 C 2642 101.39 D 3000 DM 3000.00 C 2643 140 C 2644 35 C 2645 671.81 C 2646 1850.16 C 2647 70 C 2648 14.20 C 2649 500 C 2650 13.05 C 2651 205.74 C 2652 199.40 C 2653 17.16 C 2654 19.94 C 2655 34.12 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 C 2657 116.89 D 1545 C 2659 368 C 2660 37 C 2661 25 C 2662 15 C 2663 500 C 2664 25.35 D 6212.50 CC 2665 C 2666 50 C 2667 96.30 C 2668 495.42 C 2669 145 C 2670 8.70 C 2671 16.80 C 2672 29 C 2673 11.48 C 2674 1397.48 C 2675 200 C 2676 500 CC 2677 C 2678 49.56 C 2679 10000 C 2680 110 C 2681 1007 C 2682 37.64 C 2683 2000. C 2684 49.44 D 4762.50 C 2685 1850.16 C 2686 35.27 C 2687 115 C 2688 144.36 C 2689 50 C 2690 39.85 C 2691 141.22 C 2692 552.87 C 2693 134.32 CC 2694 D 1882.50 C 2695 500 C 2696 500 C 2697 20.32 C 2698 750 C 2699 110.25 C 2700 368 C 2701 134.74 C 2702 6.90 C 2703 99 DM 11.49 DM 11.61 C 2704 36 C 2705 365.69 C 2706 18.50 D 7130 C 2707 295 C 2708 472.87 C 2709 15 C 2710 36.50 C 2711 16.75 C 2712 218.26 C 2713 139.96 CC 2714 C 2715 50 C 2716 1500 C 2717 1500 C 2718 11.56 C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 46.85 C 2734 164.11 C 2735 1850.16 C 2736 140 D 1997 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 D 13855 C 2750 145.75 C 2751 30 C 2752 54 C 2753 55 C 2754 569.90 C 2755 64.50 C 2756 75 CC 2757 C 2758 374 C 2759 115 C 2760 500 C 2761 500 C 2762 1510 TEST5ŸÚ޽ PROGRAM TEST5(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..0] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTRING = STRING[255]; STRPTR = ^BIGSTRING; WORDPTR = ^INTEGER; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE: SYSCALLTYPE; ERROR: BOOLEAN; CALLNUM: INTEGER; R0: REGISTER; R1: REGISTER; R2: REGISTER END; {SYSCALLPREFIX} SCALLPTR = ^SYSCALLPREFIX; FUNCTION FOREGROUND : BOOLEAN; CONST DOTFGND = 8741; LASTBKGND = 5; VAR HEAP : ^ INTEGER; REQUESTPTR: SCALLPTR; BEGIN MARK(HEAP); NEW(REQUESTPTR); WITH REQUESTPTR^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTFGND; { SYSCALL (REQUESTPTR);} FOREGROUND := (R1.INT > LASTBKGND); END; RELEASE(HEAP); END;{FOREGROUND) BEGIN IF FOREGROUND THEN WRITELN(' FOREGROUND') ELSE WRITELN(' BACKGROUND') END. MANUAL210 ûm MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 1 This file contains information regarding the RDS Pascal Programmer's Manual. The current edition is 2.10. The previous edition was 2.00. ---------------- The old chapters 5 and 6 have been reorganized into chapters 5, 6, 7 and 8 due to the addition of separate compilation facilities to RDS Pascal. ---------------- The old chapters 7 and 8 have become chapters 9 and 10 respectively. ---------------- In Release 2.10 the following changes have been made to the Programmer's Manual and to the file 'MANUAL': new --- 0-2 "Third Edition" added 0-3 A new table of contents 1-10 Added "PACKED ARRAY OF CHAR and STRING Compatibility" 2-3 Restriction on non-local GOTO removed 2-4 Added "Data Limitations" 3-6 Changes to "Default Filenames in I/O Statements" 4-4 Rangechecking code now generated for CHR, SUCC, PRED 4-11 PASCALO no longer uses a separate 'overlay' (.PO) file 8-2 PINFO has new input filename rules 8-5 Changes to rangechecking information 9-2 AOS: Compiler may generate .PU instead of .PX 10-2 RDOS/DOS: Compiler may generate .PU instead of .PX B PACK and UNPACK are now intrinsics C Changes to many Compiler error messages D Runtime errors may now show Module #'s, changed "DIVIDEND" to "DIVISOR" in "MOD" error message, added a new message. Index Re-written MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 2 The following material has not yet been incorporated into the Programmer's Manual: 1. There has been some confusion regarding the differences between 'TEXT' files and 'FILE OF STRING[n]'. A FILE OF STRING[n] is composed of fixed length records, each one being a STRING[n]. Each of these records includes a 'current length' byte as described in the 'Data Representation' section of the manual. A TEXT file is a sequence of CHARs and 'linemarks'. The linemarks permit TEXT files to be read and written with READLN and WRITELN respectively. FILE OF STRING[n], being a typed file, can only be referenced using GET, PUT, READ and WRITE. TEXT files are compatible with your operating system's ASCII files which have been created using the standard text editors. FILEs OF STRING[n] are specialized, as are any other typed Pascal files. Examples are the compiler and runtime error files, PASCAL.ER and PASINTERP.ER, which are declared as 'FILE OF STRING[63]'. Each record of these files is exactly 64 bytes in length. (Remember the dynamic length byte!) These typed files can be accessed randomly using the RDS extension 'SEEK', whereas TEXT files may only be read or written sequentially. 2. RDS Pascal supports an assembler interface which allows access to features of the host system beyond those supported directly by standard Pascal. One common usage of this facility is to access the host system's I/O calls. However, for many of these calls information about an open file is required -- the channel number, for example. In order to permit users to obtain this information, we have documented below a portion of the 'FIB' (or 'file information block') used in RDS Pascal for all files. If you pass a file as a 'var' parameter, you are actually passing a byte pointer to the FIB. We strongly recommend that you not modify any fields within the FIB -- just read them. The interpreter uses the FIB in strange and mysterious ways. You can easily get a program into trouble if you 'innocently' modify a field. MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 3 The FIB consists of three major sections: (a) a 6-word 'SYSCALLPREFIX' (see the sections on SYSCALL in the Programmer's Manual), (b) an AOS-style I/O packet, and (c) additional fields used only by the interpreter. Note that the second section (the AOS packet) is even used in the RDOS/DOS implementation to ensure that programs are fully portable between operating systems. The following pseudo-Pascal declaration will assist you in understanding the FIB design: offset fieldname type contents ------ --------- ---- -------- +0: mode: syscalltype; {see 'syscall'}  +1: error: boolean; +2: callnum: integer; +3: r0: register; +4: r1: register; +5: r2: register; +6: channel: integer; {i/o channel number} +7: isti: integer; {AOS ?ISTI} +8: aosfiletype: integer; {AOS ?ISTO} +9: fbufferp: byteptr; {^read/write buffer} +10: ires: integer; {AOS ?IRES} +11: reclen: integer; {# bytes/record} +12: xferred: integer; {# bytes transferred} +13: recnumhi: integer; {record #: hi-order} +14: recnumlo: integer; {record #: low-order} +15: fnamep: byteptr; {^filename} +16: blocksize: integer; {AOS ?IMRS} +17: deltabl: deltablptr; {AOS ?IDEL} {followed by interpreter-only portion of FIB} MANUAL2.10 Update to RDS Pascal Programmer's Manual 21 August 1980 Page 4 3. On page 1-4 of the Programmer's Manual we discuss the input and output of STRINGs. It should be noted that a minimum field width for the output of a STRING to a TEXT file in a WRITE or WRITELN statement may be used. The syntax is: : If the length of the is less than characters, - length() spaces will precede the output of the . 4. The proposed standard specifies that the order of evaluation of a boolean expression shall be implementation dependent. For example: result := ifok(test) and expectation; A possible optimization in the evaluation of the above expression is evaluation of the boolean function 'ifok' only if the boolean scalar 'expectation' is true. If 'expectation' yields 'false' then 'result' will be 'false' no matter what 'ifok' returns. RDS Pascal performs no such optimizations. All boolean expression will be fully evaluated. In other words, if 'ifok' has some side effects, they must always be considered whenever the above statement is executed. Without the use of explicit parentheses, the evaluation of complex boolean expressions is in left-to-right order -- the function 'ifok' will be invoked and its result 'anded' with the scalar 'expectation'. 5. Both the RDOS/DOS and AOS compilers have an additional global switch: "/C" for 'conformance'. See the release notice for full details regarding its use. BREAKSV Y^ll *"Óf  X(u(oOUX¥Y½&€(o"ûY•YµYYY•'HU'Êÿÿ$ÿÿ…Q…(D(8)(*]„ŽH* noz–¥(D(²�"«‚À0IÇ’ÀÒS[0i–.³£Ãݧ©Üåô !,ÁÙM¾½M+š¶Üôÿì�!„!Õ" " �Y½"¶ÿÿ"ñÿÿÿÿÿÿ%ÿÿN—O?ÿÿØÂ¿ØØÂ¾‚¾ˡ ØÂØÂ¾‚¿¹ö­((Æž ÆžÙÌÚšÚ¢Ç"šÚ¢²DšÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²DÎ(ÚšÚ¢Ç"šÚ¢²?šÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²?Î(Æž!­p'Æž ÆžÚÌÛšÛ¢Ç%"šÚž#ØÛüŚƞ!­,)ÆÇíž¶IÌØÌÛÌÛ¢ Ì® ®È¡&ß̹ÙÐÌܚܢÇ?šÜ¢ ÚÙ•¤øšØž#ÙÞáö® ®È¡Eß̹ÙÐÌܚܢǚܢڢٕ¤šÜ¢Üû‚šÚ¢Ù•¤Ú¢Ù•¤¾‚¿؞#ÙÞáô­Bs  *Ùɡ̹MÌÌÞ‚ÌÆÞÂÙ Ž0‚¿Ù †ÌÙáöÚÂÞ¿® Ú¾•®È¡Ê ̹ÞÐÌÚÞ‚ÂÆھޕ¾¿Þßáô­L d+¶'£P‘áئª2¹ö¶'ÌÊ£PÅÊ£PÇýÉ„¡Ê¢€ Ê£PÇR‚勉Module ª ¹Æ ¦Segment ª ÖÊ£PÆÎ+“¡Æ?©ÖÊ£QÆÎ+“¡Æ?©ÖÊ£RÆÎ+“¡Æ¦??ªØÌÖÆÆ ÏÖÆÆÏÖÆ¦ , Procedure ÏÖÆÆ!ÏÖÆ¦ , Offset +ÏÖÆÆ0ÏÆª2­)â,®ؾ®È¡&Ü̹ÚÐÌØÚ¾ÌÙaÄÙzÈ„¡ ØÚÂÙa•A‚¿ÚÛáö­#:%Ö²bÎ%ÆÌ²bÌ ÖÆ ²€ýÏÖÆ ²bÇÿÏÖÆ ²€ýÇÿÏÆ ªÿ® ²b¾® È¡+Ê Ì¹ßÐÌÌÇ̲bß¾ÌØž#Ú¡ÖÞÎßÊ Ã¡ö­'ˆv-ÖÆÆ?ÏÖÆ¦FÏÖÆ¦ PASINTERP.ERÏÖÆÏ­? 2.ÖÆÆB ÏÖÆ¦ERMESÏÆ€ý¿ƀý ¿Æ€ý ¿¶'£V“¡ÖÎ*ÆžÚ¢ šØË¡öØ2ÅØÉ�¡ÌØáÆb¦ªÿ¹-ÖÎ.ÖÆ¦ PASINTERP.ERÏÖÆÏÖÆØÏ ÖÆÏÆbÆBªÿ²-¾Å¡iÆb¾Å¡"ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÆ€ÿªÿÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿ¦File: "ÇÿÏÖÆ€ÿ²-ÇÿÏÖÆ€ÿ¦"ÇÿÏÆ€ÿªÿÖÆ€âÎ,Æ€â¾Å¡.ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÖÆ€ÿÆ€âÇÿÏÆ€ÿªÿÖÎ-ÚÌ€ÿÊ€ÿšÙˡʀÿ¢ ٚʀÿ¢Ç šÚž#ÖÆÏ­*|lÆž ÆžÛÌÞ•šÞ¢šÞ¢ØšÞ¢ÙšÚÌÝŸË¡²-Ú¢Fª!Ûž#Æž!­@/ÖØýØÎ/­0ÖÆ ÆHÏÖÆ ¦CLIFILE϶¸'‘Çÿ•¸(²³ÿ ½²——œ —œ —œ ½²"¤š²"¤ š²"¤dš²"¤Çèš²"¤Ç'š¸)²-¦ª!Ÿ¸*Ÿ¸+Ÿ¸,²IÇ´ž®�‹ ®�ŠÈ¡ Ê�‹Ì¹ÞÐ̶I¢Þ•¤¦ª!ÞÊ�ŠÃ¡öÖ²>Î)ÖÎ'¶>¡ÖÆ ¦FCOM.CMϹ ÖÆ ¦COM.CMÏÖÆ ÏÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏ®�‹®�ŠÈ¡Ê�‹Ì¹ÞÐÌÖÆ ®�‹ÆÏÞÊ�ŠÃ¡ôÖÆ Ï ÆHøÇÿáÖÎÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏÆ€Œ¾!•Å¡ÖÎÖÆ€ŒÎ%ÖÆ€Œ¦.PXÏÆ€Œ¾•ËÆ€Œ¾Ã�¡"Æ€ŒÌ�ŠÖÆ�ŠÆ€Œ!ÏÖÆ�Ц.PX$ÏÆ�Šª!Æ€ÛÌÖÆ€�ÙÇ^†ÎÖÆ€�Æ€ŒÎÖÆ€�ÎÊ�zËÊ�{ †Å�¡Ö*ÎÊ�‡¹Æ��¶'¢€®·¡Ö2ιÖ0ι ¬¹$Æ€Û¤ùáÖÎÊ�ˆáÖ1ÎÊ€£Ì®�‹®�ŠÈ¡DÊ�‹Ì¹ÛÐ̶'Û¤Ì�‹Æ€ÛÛ¤Ì�ŒÊ�‹Ê�ŒøšÊ�‹¢Ê�ŒùšÊ�‹¢ÚšÊ�‹¢šÛÊ�ŠÃ¡ò¶'¢€¦Ì�ŠÊ�Š¢Ì�‹Ê�ŠÊ�‰šÊ�‹Ê�€šÊ�‹ø¹!Ê�‹¢Ÿš¹&Ê�‹¢Çž¹Ê�‹¢Çž¹¬¹)"ÖÆ Ï­™Ä:œê1®®È¡Ú̹ØÐÌÖ²€‚ÏØÙáö­(2ÖÆ€‚Æ€ÀÏÖÆ€‚¦CLIFILEÏÖÆ�Î)Ê�¡ÖÆ€‚¦FCOM.CMÏ¹ÖÆ€‚¦COM.CMÏÖÆ€‚ÏÖÆ€‚ÏÖÎ2ÖÆ€‚ÏÖÎ2¶,ŸË¡UÖÆ€‚Ï Æ€ÀøÇÿËÖÆ€‚Ï “„¡2ÖÆ€‚®�ÏÖÊ�ÆÇÿÏÖÊ�ÏÆ¾ÅÆ-·„¡Ö¶,ÆÎÖÎ2¶,£¸,¹öÖÆ€‚Ï­eÊØÌÜ¢ ÌÜ¢jšÜ¢lšÝ¢ٚݢÜ¢FšÝ¢Ý£ ‚šÚšܢ,šÜ¢nÚÚ‚š¹4Ü¢xšÜ¢zšÜ¢tšÜ¢ršÜ¢všÜ¢6 šÜ¢p šÜ¢,šÜ¢nšÝ¢Ü¢~šÝ¢ Ü£7šÛ¡ Ü¢0¶,šØ¸,­ŒØ£5¡Ö(ØÎ/Ù¾!ġآFÖÙÆ!•ÏÆª!Ö&ØÎ/¹ÆÙª!ÖÆÎ%Ø¢Fƪ!Ø¢Fƾ‚¿­NÙáÖ/ØÎ/ØÌÝ¢ ÌÝÌÝ£5¡7Ù¹$ÖØÎÖØÎ¹&ÖØÎÖØÎ¹ÖØÎÖØÎ¹¬¹ .¹òÝ¢F¦INPUT¯Ý¢F¦OUTPUT¯�¡DÝ¢zšÝ¢F¦INPUT¯¡ Ý¢F²Dª!¹¶*ŸË¡ÖØÎ/Ý¢F²?ª!ظ*Ý¢FÝ¢F¾‚¿¹Ø¢zšÝ¢.ÙšØÌÙá=ߚߢǚߢޣ šÚž#ßù“ßùßý Ä�¡ߚߢǚߢޣ šÚž#ßù¡ÖØÎ0ߚߢÇ*"šÚž#ßù¡ÖØÎ0Þßýšßšß¢Ç?šß¢Þ£ šß¢šÚž#ßù¡ ßýË¡ÖØÎ0ßù“¡ö¶'£V“¡P¶IÌ ÌÌÛ ÈÜ“„¡Ê ¢Û•¤¾Ã¡Ì¹Û‚̹ôÜ¡Ê ¢Û•¤Ý¢Fª!Ê Û•¤Þøš¹Ö/ØÎ/Ùáß•šß¢šÚž#ߚݣá#ß•šß¢šÚž#ßšÙá Ý¢rÝ£8š¹Ý¢ršß•šß¢šÚž#ߚݢjšÙá Ý¢hšÖØÎ$¹Ý¢hšÖØÎ$Ý£Ë¡ÖØÎ&­Á $Ø£5¡xØÌÛ¢ ÌÛÌØÌÚ¶*ÃÙË„¡Ÿ¸*Û£ÃÛ£‹„¡ÖØÎ#Û¢jšÛ¢lšÛ¢xšÛ¢všÝšÝ¢Ç?šÝ¢ ÜøšÚž#Ýù¡ÖØÎ0Ù‹¡ݚݢǚݢܣ šÚž#­†ØÌÙ¢ ÌÙ¢lÙ£4šÙ£áÙ¢všÙ¢xšÙ¢ršÙ¢t‘š­4$ØÌØÌÛ¢ ÌÙÉÙÛ£8Ä�¡Ö'ØÎ/Û¢rÙšÛ•šÛ¢šÚž#ÛšÛ¢lš­> Ù£;¡Ù£8̹٣̭٣áÖÙÎ!Ù£6Ì­ ÖÙÎ!Ù£<Ì­ ØÌØÌÛ¢ ÌÛÌÛ£5“¡Ö)ØÎ/Û£=¶)„¡Ö¶*Î#Ý¢Ç?šÝ¢ÜûšÝ¢ÜýšÝ¢ ÜøšÙž#Ü¢ ÝüšÝýÃÌÝù¡;Ú¡2Û£áÛ¢~Üþ¿ܢ Üþ‚š¹Û¢~Üþ•¿ܢ Üþ‚šÛ¢lš¹ÖØÎ0¹Û¢hš­ž3ØÌÚ¢ ÌÚÌÚ£6¡Ö ØÎ/¹òÚ£áôÚ£9Ú£:Å¡JÚ£¡ÖØÎ¹?ÖØÎ3Ú¢ršÚ¢tšÚ£=¡,ØÌܢǚܢڢ~¾šÙž#Üù¡ÖØÎ0Üû áÜ¢ š¹öÚ¢|Ú¢~Ú£9¾šÚ¢rÚ£9‚šÚ¢lÚ£>Úڣ>²¼‹¡Ú¢6Ú£8šÚ¢pÚ£>šÚ¢| šÚ¢xš¹Ú¢xš¹Ú¢lšÖØÎ3Ú£6“¡ Ú¢rÚ£9‚š­‚ ä&Ø£9Ø£:Å¡rØÌÚ¢ ÌÚÌÚ£5“¡Ö)ØÎ/Ú£=¶)„¡Ö¶*Î#ØÌÜ¢ÛûšÜ¢ ÛøšÜ¢Ç?šÙž#Û¢ ÜüšÜù¡ÜýáÚ¢~Ûþ¿ۢ Ûþ‚š¹ÖØÎ0Ú¢tÛþ•šÚ¢rš­„Ø£áØ£;¡ÖØÎ&Ø¢všØ£6¡Ö ØÎ/¹ÖØÎ&­.ØÌÙ£;Ù£6“„Ù£Ä¡ÖØÎ&Ù¢vš­$!ÖØÎ “¡ÖØÎ&¹öØ¢vš­ ÖØÎ!ÙØ£>šØ¢vš­Ö#ØÎ/­ØÌÖØÎ!ÙÂÚ¿ÌÛÚÈÜ£<“„¡ÙÛÂÜ£>¿ÖØÎ&ۂ̹öÙÂÛ•¿Ü£<“¡ÖØÎ&¹ô­3 JØÌÖØÎ!ÙšÌÌÜ£> áÖØÎ&¹öÜ£>+ÃÜ£>-Ã�¡ Ü£>-ÃÌÖØÎ&Ü£>²¼‹¡ÌÙÙø �0•Ü£>‚šÖØÎ&¹ôÛ¡ÙÙø‘šÚ¡ÖØÎ/­5\ t ØÌÖØÎ!ÙŠ½ÌÌÝ£> áÖØÎ&¹öÝ£>+ÃÝ£>-Ã�¡ Ý£>-ÃÌÖØÎ&Ý£>²¼‹¡ÌÙÙ¼ Š�Ý£>0•Šƒ½ÖØÎ&¹ô‘ÌÝ£>.áDÌÖØÎ&Ý£>²¼‹¡$ÌÜ‚ÌÜKš֨Î/Ùټݣ>0•Üž$‰‡ƒ½Ý£>²¼‹“¡òÝ£>eÃÝ£>EÃ�ÜÉÚ“�„¡>Ý¢všÖØÆÎ Ú¡ÙнÌÜ€Kš֨Î/ÜÉ¡ Ùټ܀ž$‡½¹ Ùټܞ$�½Ú¡ÖØÎ/Û¡ÙÙ¼’½­¨Ý ØÌØÌÚ¢ ÌÚÌÚ¢hšÜ¢ÛûšÜ¢ ÛøšÚ£¡Ú¢~Ú£9¿ܢÇ?š¹ Ü¢ÛýšÜ¢Ç?šÙž#Üù¡ÖØÎ0­V4Ø£5“¡Ö)ØÎ/ØÌÚ¢ ÌÚÌÚ£ájÚ¢~Ú£9ÂÚ£>¿Ú¢rÚ£9‚šÚ£9Ç„ÅÚ£>²¼‹�¡7Û¢ Ú£9šÖØÎ4Û¢ šÚ¢ršÚ£>áÚ¢~¿ܢšÜ¢Ç?šØÌÙž#¹ Ú£=¡¸)¹/Ú£8Ú£9•ȡڢlšÚ£8Ú£9á Ú¢pÚ£8‚šÖØÎ4Ú¢rÚ£9‚š­À Úšآ| šÖØÎ ڕ̹öØ¢|ÙšÖØÎ ­ (ØÌÚ¢ ÌÚÌÚ£á,Ú£9šۢ Ú£9šÖØÎ4Û¢ šÚ¢ršØÌÙ¶*á¸)¹ÖØÎ ­J#ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڕ®È¡Þ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ @Ù¾ÌÚÈ¡Û̹ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڮȡÞ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ LØ¢| šÖØÎ ÖØÎ#­Ø¢| šÖØÎ ÖØÎ#­Ö#ØÎ/­ Ù¡ ƦTrueª¹ ƦFalseªÖØÆÚέ*"ÌÌÆ ¿ÙÉ¡ Ù€ÌÙȡƦ-32768ª ¹cÆÂ-¿Ì®®Ä¡IÊ̹ܕÌÙ²"ܤø†0‚ÌÝ0ÃÜńބ¡¹ÌÆÛÂݿۂÌÝ0Ë¡ Ù²"ܤøŽÌÜÊáöÆÂÛ•¿ÚƾɡƾÌÖØÆÚέ` ¨ÌƲ ¼½Æ¼³Bd±¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹öƼž Ä¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹ôÚÅ¡ ÚKšֶÎ/² ² ¼Úž$‡½ÖÎ5¹JƼžÉ¡¶•¸Ú‚ÌÆÆ¼² ¼�½¹òÚÅ¡ÚKšֶÎ/² ² ¼Úž$�½ÖÎ5­M›È Ü5Ö¶ØÎ­6®Ø®È¡:Ü̹ÚÐ̲ ¼žÌÖÙ0‚Î6² ² ¼ÙŠ–½² ² ¼² ¼�½ÚÛáö­8 N7Æ ž$½Æ ž$½ÛÉÜÉ�ÜKÅ�ÛKÅ�¡Ö$ØÎ/Ƽ³µÌÆ Æ¼�½ÌÝ¡òÆ ¼³·¡Æ Æ ¼³@€Üž$‡ƒ½Æ ¼³·Æ ¼³A °„¡ÖÎ5®ÛÞ•Ü••®È¡Ê̹ßÐÌÖ Î6ßÊáöÊ¡Ö-Î6¹Ö Î6ÖÞÎ7Ö.Î6‘®Þ®Ä¡Ê̹ߕÌÖ0Î6Ü•ÌßÊáôÖÜÎ7¹ðÛ‚É¡‚ÌÆ ¼³¯¡Ì¹ÖÎ5Æ Æ ¼³@€Û••ž$‡ƒ½ÖÎ5Ê¡Ö-Î6¹Ö Î6ÖÎ7Ö.Î6ÖÛ••Î7ÖEÎ6ÞÈ¡Ö-Î6¹Ö+Î6Þ•€ É¡Ö0Î6ÖØÞ•€Î­‡£Ù zÙ¦ªÚÅÛÅ„ÚÛ‚•ؾȄ¡ØÚÂÙÂÛžÙÂÛ¿¹Ö¶+Î/­8پؾ‚ÚÈ¡ÙÂØØ¾‚ÂÙ¾žØÂپؾ‚¿¹Ö¶+Î/­2ÌھšSÚ¾ÌÌÙ¾Ú¾•‚ÌÆÂÚ¾¿ÜÛÈ¡3ÜÛÜ•ÝÙÜž ‚ÌÜÛÅ¡¹ÙÜÂÆÂÚ¾žÆÚ¯¡Ü̹܂̹ö­:ƒfÖÎ1­H ­xÌâ¶ â̾¦¶\ê DŽ dš” lÆ " Ì>TâødÆ `r$ì PHZ€   VH Æ Ö b Bà²xnÿ7n&{ÿÿÿÿÿÿÿÿ¼  8X6H**º�+ª ªÀ8Iï8)6X6H**º�+ª ªÀ8JïRª�ªÀ8)6ª�H7(**º�+ª ªÀ8Iï87î8)60-•P-("�H"((Ž <Ž´ n0-–P-("ŽH"€ÿ ç;óŸxÜÚÓÆå§‹Vý'í±|-øv†¶CóÃúƒ0ÝÓuYgî^€Ò�oãåM.86—Ï42‡0¦Éþ õ(3Û¹3ï >x#6ùEö[¼¿“ÇPÎRä]........RRRRRRRRUUUUUUUUUUUUUUUU½ÄÄÄÄÄÄÄ1–ö2(T(]ÿ) X²(*ö2(T(] X²(*öP(T(] X²(*ö$((B]0(" X²(*öB]1– /–2(T(]ÿ X²(* /–2(T(] X²(* /–P(T(] X²(* /–$((B] W²(* W¢(*‚À–(T(]Ô(T(] W¢(*�ò2üƒþ X¢(*–"(D(] W¢(*�ò2üƒþ X¢(*–P(T(] W¢(*�ò2üƒþ X¢(*–$((B]$((4((Ó�B]4((Ó�2(T(]1 Æ4((Ó�–"(D(]ÿ W¢(*H*P7@80(–P( "Ä n- 807³�8(�ûŠ©"CÓû«ûÊP8)](L( W¢(*Ž] W¢(*4((Ó�H*P7@80(–P( "Ä n- 807Š8(½û©"CÓû«ûO W¢(*0(•P(<((û�ÓH*Š©"CÓû«ûO4((Ò�"‚‚À0IÇ(D(]$((4((8IçÒ“‚ÀH**ÒúÀïŽJO$((†/<((H*ó�2(J·À(*•ž(\(8)]H* n X¢(*‚œ $((†4((–(T(]H*ŠP…4(( p8)4((¶(T((*O X¢(*†4((–�"(D(] X¢(*H*Š4((<((Ó�û�©"CÓû«ûO X¢(*H*<((4((Š W¢(*H*<((4((P7ú�+ú ªÀ0IÏú@07¥ n«©OP7ú�#ú ‚À0IÇú@07X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887ûÓ«åO$((0HÆ4((Ó�B] W²(*H*,((… q<((®¾(\((* W²(*H*Š… p8j¾#ÎÔÎ8k¾+§(D(O$((4((Ó�2—‚’Ò�ý(T(]H*,(($((<((û�’Ò’ªPý�€3—¶SO$((‚Z�(D(]$((�(D(]$((4((� $((4((–(T(]$((4((‚J ÒJ–ÒZ–ÒJ––Ò[(T(]H* n,H*…4((,((Ö/ ªJ rª[‚  rªZ€  ÒK®/÷ð­(L(O nH*4((Ò,((…ªJ„ s(L(O0("(D(ÌH*4((Ö/8(+…ªJ„ s8(‚JÆCO n n+$((4((—(T(]$((4((€—”(T(]$((‚‚……P(D(]$((€(D(]0(]]0(ÿ]]0(":ÿZBÿ8)]0("(D(] X¢(*4((–(T(]$((<((4((Ýþ.Å‚J(T(8)]H* n$((4((•…Q…(D(]$((4((•ÕP(T(]$((4((•Ö/……P(D(]$((4((•ÒJ……P(D(]$((4((•ÒJ…Q…(D(]$((4((•Ö/…Q…(D(]Õ ÕP0@0A0B0C W¢(*9ž@R�}G9ÞKQgRRRR X¢(*H*‚ K@6<((4((Ó�û�#*� LÓû6ùK X¢(*H*‚ L@6<((4((Ó�û�#*� KÓû6ùL$((8Hæ8-ùøCúP(\(ŠH*9øÞ#(D(8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07‚ ª FFª DŒ@6H6ÓûX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07Œ&�$6ä8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07� Œ…P @ B<((4((,((ŸKL X¢(*H*9‚Þ+(L(8(3ÿ;þ‚ å@6P7ú�#ú ‚À0IÇú@07X7Ò�*Ò ªÀ8IïÒ@87ŒÑ�ÏÓû6äÆ W¢(*4((• ]=”H*8(ÝûŠÂ¥ò–©"CÓû«ûX($(('H*Ê¥0(P7@80(–P( "Ä n- 8078((D(®/ ©"C„–ž«ú,((©…ÔCÞ«ýO$(((D((D(H*<((4((ÝÕ(T(O ÒK n!8å nP6X7(Gï8k¾#(7ª�ª�ª�ª�86ú�ú�ú�ú�½(D(„Žú86(Gï8j¾+§(6ª�ª�ª�ª�¨(D(…«ü 7‚�‚�‚�‚�ƒ(D(Oï$((0(•P(H**ª�ª�ª�ª��…Úž½* G§+8lž#§…P8)B(*] zª H6"+�JÓû6ùP(O lªüH6"+€�ŒJÓû6÷ð ]ªíH6"+¨§BÓû6øâ9Þ0R?RO Eª H6"+�Óû6ù…Q…,((®0(µP(BO /ª H6"+�Óû6ù……Pê ª H6"+��Óû6ø…Q…Ú ª H6"+§¥Óû6ø…Q…ÊX6H*8(+½ÔÞ3¢Å‚  8(+½òµ”–6 ‚K8(+«S�KΫ«(D(«0(P7@80(–P( "Ä n- 8078(©"C„–ž«ú,((©…ÔCÞ«ýÉ?ÿÿÿÿÿÿ?ÿÿÿÿÿÿÿþÿüÿøÿðÿàÿÀÿ€ÿþüøðàÀ€ @€ @€0(ÓP("ÿ A8)]0(ÓP("ÿB"þBÿ @•"ÿ 48)]0("ÿ‚P‚�Bÿ]0("ÿ‚P‚°Bÿ]0( %P(8)]0( !P(8)]0( P(8)]0( P(8)]0(ÓÓ"ýBÿ"þB P(8)]ÂH*0( P(O[|ˆ’›¥p!(D(!(D(0("ý‚K ñ î òP(8)]0( íP(8)]@€4((ÒJ! Å Ö! –"(D("(D(]K nLAA BdC>€D'EjEô$F˜–€G_^H;šÊI%@¾JHvJèÔ¤K‘„æLZóM8×êN#†òO4WOÞ jPŠÇ"QV¼uR65ÉS!á�T-TÓÂU„YPVR·ÒW3²ãX OÎY1àYÉòÇZ~7¼[NâÕ\1MÅ]Л^Ba^À—Ë_x^ß`K;Ka/bc)c]ùc·«ÂdrËYeG¿f,×og¥h„'h¯)‰imyõjDl9k*ãlºFm´lm§ 8nhg£oA@Åp(È{q}MqþårŸO"sc‘ut>:éu&äÑvOvów—íÓx^ô¤y;Xæz%�{.º{çÓD|�ä }Zކ~8™#_¬â0+80(D((L((T((\(8,(\(8(X0š] W²(* Wº(*H*(\(80Ký8>ÞÖPÞX6#†/.…PC#ƒ�‚  n ((Ž0<Î0-´ n ((00Í0CÎ0(ÚžX(©"C„–ž«ú"–86#ƒ�(0ŽH00CÍK863P,* J�À$((ª  ­P�  0,•"ƒ�•P+ 0@/P8) W¢(*H*00Jý0>*H, W¢(*H*00Jý(+0-µ0.µ00(:Jþ,+0,•<,úK!Iä""‚K Sƒ�•P+"‚K99œ 0+P,ÑÐ"•P+"@0IÇÏ8)� #ü�â;üƒö80Cü#ÿ‚P‚ CÿX)0+"üP7@80(–P( "Ä n- 807ÑÐ"ƒ�•ÊPH*]þ W¢(*ƒ00Jý0;•"ƒ�•P+ ;@, 1Ò"o80#ÿ‚P‚ CÿX)2ÿ I—!–"@60(6$0+"ÿ(J§À@680X)/ W¢(*@6(J$,‚K1Í•T!§À7·À• 8>ž†Pž#ƒ�0)Ú(Bµ�X)Ú� 6Ž«©"CÓû«û8)#@,#ÿ‚P‚�@0+ý3þÒK ®8)P+ 6‚  C�X(H*0)ÓÚ(C½Š©"CÓû«û„žX((*80#ÿ‚Z;ÿüúPú�X)]$+§À(@� Ë+ýöH6,(($((ªÀŽ0+ @•"ÒP•P*$+0JÇ·•  $,‚À0IÇ·• O3þÒKÂ(\( &<(( @•"ÒP•Sý3þÒPÒ�"0JÇ·• '‚À0IÇ·• á3þÒPÒ�"0IÇ;ÿÙ(6H* n "o0+ @•"ÒP•P*+üH6(6#ÿ‚P‚��H63þÒKÂ(\( ê<(((6ª "(I§,((�  $((‚�•"ÒP•SýO(L( @•"ÒP•Sý;ÿÕ W¢(*’ÀÒS0JÆ‚JŽ‚ 0+–"ÒP•Ê]$((‚ƒé«]³�$((*�®.*�ªJ *¥(A¶–"ÊP�]ÓËP] W¢(*H*1–RD�ÃK0RR lg€ï —RRRRRR”RRsiGIMKOQS+2Rz7YRRR4((Ó� -‚PB]4((Ó�"ƒ�0-” n0.• n@-]$((4((Ó�(-�H-ªPJ«� <� (¤ n H"(*] $<((û�C<((û�K<((û�SO ò -0(Å0<ņ/…(D(]$((ÕPÇ(D(]4((!Þ!æ!ë$((<((4((þ/]ùX7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Óûï8)]$((<((4((†/O�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807ÓûƒåO$((<((4((–ž¬¶¾‚JO�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807¬¶¾ƒäO8(+þ#ýCþ‚ O#ÿ3ª$+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ 9¬¶þò8X7Ò�*Ò ªÀ8IïÒ@87¥ (Óþó(+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ ¬¶þòX7Ò�*Ò ªÀ8IïÒ@87¥ Óþó#ý+þ¥Cý A�X(O… …P @ A B C D0(4 8()¾X(X)X0…�CúX1! æCÿ =(D()] ÿûJ2ÚÏÖÍÖÏH)H($,‚C#) � 1–�‰""6"A"U nûX6+8)'‚K;ÿü0JÇÀE'þÇÀE3ý @•;þ„ž#úP�õUbcdX6­Š$,0JÇÀE÷8+#ÇÀEô„ž#úP� *ÔÆåEë0; A•"ƒ�•"ý2üÆ0CÆ01Æ@(@0ª $6! (D((L(81X))]3´ÏX69ªƒ‚�Æ�ûüª°6X6Å 9 ªP‚@ŠŪ@ûûý!ý6ÿðX7ýªKû©ÒKøÑX8 p88úZÑú›¨€«ƒ7X7ý‚Kû¨€«ƒÒKøÑX8 q88úZÑú›©�72\2 @–…BBÿ y<222\2 z @•<222D2 u$222T29ž422 vOCüûXRS¸X6! YP3! YP2! YP4!–P56 ‚!<‚C 4 w# w | ˆ# w { ~ 4 w 4 w } 4 w!* Š ˆ!( Š ~ }# ! w } {! w }422…P04B! B„BBBBó n@¸Äê¾ÊÐ×êA @€@µó3ùÞd„@±r÷ÑÏy¤@o-ìT›”8ÇBSïP þ©œB]vÂ1I«¹fBZ,¸—¿YÀAB»ÅÜÛ>†)B=ÂÕ1ï‹oB-\K߬•u2\28304"‚Š2"‚,ÂC w04")žJ¥ ‚€C…pC!$ Š!" w }0404"+ŽJ BCS# w# w ~ {! w }ö ˆ#@4422 n@RL@äù*ù¨Íê@9>Nð(§ü@@@€2\28304"C…BCC"):¥!= w ˆ ~ 4 w!1 w „‚ 4 w!- w }!, w | ˆ!& w { ~ 4 w 4 w } 4 w! Š ˆ! Š ~ }! w {! w {#D4422A·«¥½±ÄÝA2Cö¨ˆZ0Œ@† ‘Ák›,A¶zèXLªt@D˜Qz{5XÃA!ûTD-FAɈgô)ƒß2B}”D@nV�C®Ù>rWÿBÅ3þ,Á1åAB%ëÈÝ£BϱS—^UCÊ™43F­£BÅ3þ,Á1Þ…… 2\28304*…uªƒƒPC…B!! w } ‰+Ž“K! w ˆ |+04ª‚ w 4 w } 4 w! Š ˆ! Š ~ }422 f T / T>•6-î-Ïj@Aãõ1·ó7AÆP6QÏõîûC·ÅZ�QFåC©; È(:óìDpÔ‹´ËÙ0ABsMÊ�]pÄZDx%U³îXl@¢ùƒnND'8(3þSþ;û�Ó� B@6"+�Óû6ù®'¬3­p8(3þÓ�ªK22Ð å$((<((4((û�S(L(O h…PEþ AP7@80(–P( "Ä n- 8078(3ýÓ�!ìBBBB3øÓ�"3ý;ùž F@6P7ú�#ú ‚À0IÇú@07(\( -'X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887<((Óû6ßP7ú�#ú ‚À0IÇú@07(\( <((ûð$((üæ)Œ)Œ)�) �) �) �0:@Z`z8(3ùÅ3øÓ�B F@63ý)o9pX7Ò�"Ò ‚À8IçÒ@87�¥X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Ó6ã8(3ýX7Ò�"Ò ‚À8IçÒ@87)E¥3úÓ�–"Cþ"ŠP¦P‚PCÿ!;3ú–#ÿÆC#þŠP¦P‚P–(T(;ýÓ�û� B@6"+�Óû6ù4((!–8(#Äé…;ûû�C8(!�X(O4((Ó�"8(;üû�C"8(î A`6 ÂoÔ  ŒÔP  Œª ÷f?F‹QfX�1,Â)+H6)*�H7…Ó*¤À7Ó66ø)é� ä!ê‚ Ù " Œ9öÀ®P®P¶P–9ÝúÀ)Ù®P®P¾P)Ö¾ÝÊ‹�!„0!‘D  Œ¥   ŒH-H. <�H"  t‚  " ŒWsX6 " Œ9ö6°X6 " Œ6Û�X6#€  ‚K n) �ü1–v!ü!ÿ!ò#+1S1S1S386C…86C…PCKSO Ž�#X9! Y89ZP9Ë!øæ‚Pƒ " Œ89ó" *1k p<937 q<9K8!09 ZOX937+9… p893 '? ŒOX93 ? Œ1 Ï­P89KÐÇ1Å……PCO@X9!ß YP8Ê89!¼æ‚Pƒ " Œ08" *10 p092 '? Œ!É ZOH9X8ÕP)!� ÓÁÒÀ(:¥ …@:-¶)�%Ž%ƒ�  ? Œ% •`¬P¶-¶Ó�(98ge@?86X93)ü… p893 '? Œ 0)¥‚P893+ ? Œ89X6 ‹‚  n%/"Ó5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ'Î 'JYÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚€"û2Ü¢ö$ÿ0 dè'$€O”ÿÿÿÿFOBAR.PXPX$TTO$TTI±JÆž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙªÿÆ€†ž Æ€…žÆ€‡Ç€žÊ€‡ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊ€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…ÂÆž ÆžÛÌݚݢÇ?šÝ¢ ØšÛž#Ýù¡)Ö¦ ERROR IN CLOSE = ¥�J®ÒÏÖÞÝýÏ ÖÞÏÙÝùšÚÝýšÆž!­`ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€‡ÒÏÖÊ€‡Ê€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÆتÿÆ€…ž Æ€„žÆ€†Ç€žÊ€†ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€†ÏÖÊ€ˆÏÊ€„Ì€ˆÊ€ˆšÊ€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šÊ€„ž#Ê€ˆù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…®Æž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šÆž ÆžÆÇ€žÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡5Ö¦ ERROR IN READSEQUENTIAL = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­  ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡:Ö¦ ERROR IN WRITESEQUENTIAL = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…´ ÖÆ�JÆ�ˆÏÖÆ�J¦OUTPUTÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎÖ§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾Ä~$Äx:þd, &€2à Ó¢ûÿ‹¡î>}â¦LJöÿL><bÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«« FOBARнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Û¾‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFj$ ?�Ž€—îÂOÃ�‚«N×—¾È¡¹ÖÎO” î¾¹îÖÎ#¹ìÖÎ$¹$TTI�¥¥ ¥ž ¹ìÖιð¹ì¥€— ÿÿ ¹ì«¹ì¥€—.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—¹ « ?P ¹ ¬P>¹ìOÛ « ¹ì)«¥€—ÿÿ î‚«¹ « ¹ì¬$TTOTò×…Ø{×w "$&( ÿÿ HIT CTLA RAND = 9 OQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿï/áÖÇ)Îî‚O”"ûLÈ&p¦€&{N�"û{ K¨QN�"ûø¨WN�N�"ûe :¨^N�N�NœN�"ûãɨeN�N�N�NœN�N�0Ùùá ÙüÙû§‚cÄÌ­"ž§‚JÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Ö¥…÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷±>±>±>±J°>±>Q®Q°&{O”"ûå x¨ßO”O”O”O O”O” ä¨åO”O”O”O O”?00O”0§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏ"û žÕ¨QQ¦Q¦Q¦Q²Q¦R000ÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ È鮮ġIÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹§‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„Ù•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFILEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒ1ƒ0‚2 R‚/„,„+ƒ-ƒ*ƒ)‚. Мþ:`�3èH H Ô ` ¤�(�'�&6�%¢FN',2à Ó¢û¤™ôÇEND  ®FÍ {$I WRS.PI}I}}END.   !"$$$$AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO ELSE END FILE .FOR FUNCTION GOTO IF IN )LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -REPEAT SEGMENT 0SET *STRING 3THEN TO TYPE UNTIL VAR WHILE WITH ¼BNvj ´ ÿÿÿÿ¨ &® ®$®®*®4®:®@ÿÿ¨¬È¬ê­ ­&­<­Pÿÿ®F PROGRAM bodyarations B$12$29$14.WKTEST.PXtøt€€ø}444­úÿÿÿÿ§Ü¤$ÿÿ ^ÿÿÿÿ¥b‰V<f(èš8Ü”nTEST  0ÿÿRDOS(Copyright (C) 1980 Rational Data Systems?b’ b’b[ $TTOT ÿÿ 334 lines 10 . WRITESEQ ping. r 1980 at 12:29:17 verlaid] c–c_ ANALFILE dšdc LP ežeg ERRFILE ?f f fk B$12$29$14.WK?ijikhçWRS.PIITESEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL}  ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRI?k˜vk˜wkcTEST.PAD(STR,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); WRITESEQUENTIAL(I,'THIS IS A TEST',14,SYSERROR,ERRORNUMBER); { READSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); OPEN(I,STR,SYSERROR,ERRORNUMBER); READSEQUENTIAL(I,STR,NBYTES,SYSERROR,ERRORNUMBER); CLOSE(I,SYSERROR,ERRORNUMBER); FOR I := 1 TO NBYTES DO WRITE(STR[I]); } WRITELN(' HIT CTLA');READLN; END. PEN.PI} {$I CLOSE.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I RDS.PI} {$I WRS.PI} BEGIN GCHN(I); STR := 'FOBAR'; CRAN"ûWÅ+ê¬,e bbb b¶Ðbbbb bÿÿÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛø•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚ƾÊ$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆGÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐÌ¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 ,W�+ê¬,¨9:rB9/¹:95]–]ØTEST.PX B$12$29$14.WKÿÿþ‡ÿÿþƒÿ@TEST.PX §ø¨¦ù§øs7ŹF95§þrÔ B$12$29$14.WK]ØrønŸ7[¹F95r’rørøƒÿ@« Ê£ áÖPιB$12$29$14.WK ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« «¹¬§þ¥ù7x¹“95snnÎAsn øÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ ÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:ïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ Üέ0ØêšÖÓê§Å¡ê«­ ñŸË¡ñùÉ¡ÖÎ ¹Öέ%¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó ÖÓ ÖóÓ §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïË¡îïáÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ð``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òñŸË¡ ñùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)02*6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥ Ê¢¨¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšÊ¢šïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓì¡ðïáÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³€œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡Öι ÖÇÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ι ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚JÖÆ¼³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñÓ„�¡Ì̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓÌ ¹ ÖÇ…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï áÖÓ¹Ö^Ó­:< D=êÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Ê ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@Bž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ ž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ Ó­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚x¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜú̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎÖ2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßÅ¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓ¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤øÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺ ƒ$„#~„"„!„ „Ì…„ L þü ¸ 4`€†„………„„„„„„„„Ø„„„„ „ „ „ „ „„„„„„„6îƒp ¢²4^Îôƒ®¶ *!$!l!šŒˆD,FÄ#m¶Ð,ÿøÿÿÇÃG¾§îÿÿX>X@¤$¤:ÿÿ ¨®^òVÇÎG¾XÂXÇæ,f$f$f0f$f–Çïf$f$f$f0f$? ¦(AoÈ#G¾ÿø.'@¬È4G¾�ÿø.€™ô¤P€t€®@ €�ÿø*¤P ’@ ( ®F®F®J *È“,†P Y]ëÈ®,Y\ $} WRITELN(' HIT CTLA');READLN;E(STR[I]);RRORNUMBER);mý7ÈÒG¾‰‘*éÇß,Y\�Ä ;�Æ�Æt€§†*éÇ÷,Y\�ô .�ö2�ö22ANNEL : IN*éÈ,Y\�$  N‘&*éÈ,*éÈ#,Y\�L WRITELN(' HIT CTLA');READLN;E(STR[I]);RRORNUMBER);*éÈM,Y\�  ;‘¢ ‘¢ Y] Y]DE ;’ 4’44  Y] Y]  Y]*éȳ,Y\‘l$% ;’n’n Y]" Y] Y]D Y]$ Y]®@®4›ÆÙªÿÆ€‡ž Æ€†žÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡®@®4 Ä~$Äx:þd, TÏÖÆ€ÈÆ�ÏÖÆ€È¦INPUTÏÖÏÖÆ€ÈÏÖÆ�JÏÖ¥DÎ¥F¦FOBARªÿÖ¥F¥€Æ¥€ÇÎÖ§D¥F¥€Æ¥€ÇÎÖ§D¦THIS IS A TEST¥€Æ¥€ÇÎ Ö¦ HIT CTLA¥�J®�ÌÒÏÖÊ�ÌÏÖ¥€ÈÏÖÆ�JÏÖÆ€Èϭ̾ šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�J® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪÿÚÊ üšÆž!­šžÆ€ˆÇ€žÊ€ˆÆªÿÊ€†Ì€‰Ê€‰šÊ€‰¢Ç?šÊ€‰¢Ê€ˆšÊ€‰¢Ê€‰û‚šÊ€‰¢ښʀ‰¢ ؚʀ†ž#Ê€‰ù¡4Ö¦ ERROR IN WRITELINE = ¥�J®€ŠÒÏÖÊ€ŠÊ€‰ýÏ ÖÊ€ŠÏÛÊ€‰ùšÜÊ€‰ý𯀇ž!­…®Ê€ˆ¢ÇšÊ€ˆ¢Ê€†šÊ€ˆ¢Ê€ˆû‚šÊ€„ž#Ê€ˆù¡0Ö¦ ERROR IN CRAND = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÙÊ€ˆùšÚÊ€ˆý𯀅ž!­†¼€†ÏÖÊ€‡ÏÊ€„Ì€‡Ê€‡šÊ€‡¢ÇšÊ€‡¢Ê€†šÊ€‡¢Ê€‡û‚šÊ€„ž#Ê€‡ù¡1Ö¦ ERROR IN DELETE = ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ýÏ ÖÊ€ˆÏÙÊ€‡ùšÚÊ€‡ý𯀅ž!­…¾ÞÏÙÝùšÚÝýšÆž!­`žÊ€‡ÆªÿÖ¦ ¥�J®€ˆÒÏÖÊ€ˆÊ€‡ÏÖÊ€ˆÏÊ€…Ì€ˆÊ€ˆšÊ€ˆ¢Ç?šÊ€ˆ¢Ê€‡šÊ€ˆ¢Ê€ˆû‚šÊ€ˆ¢ ؚʀ…ž#Ê€ˆù¡/Ö¦ ERROR IN OPEN = ¥�J®€‰ÒÏÖÊ€‰Ê€ˆýÏ ÖÊ€‰ÏÚÊ€ˆùšÛÊ€ˆý𯀆ž!­…ÂSTRINGPOÿÿÿÿ§nÿÿˆ®@HEAP ÿÿÿÿŸªÿÿ‡REQUEST Ÿ”Ÿ°¤Ôÿÿ†DOTWRS ÿÿÿÿ®@ÿÿ? tZ`X> Ì§îERRNUM ŸÆÿÿ®@ÿÿERR  ŸÜ®* BYTESOUTÿÿÿÿ®@ BUFFER  2ÿÿ§† 2CHANNEL   H®@ HWRITESEQÿÿÿÿÿÿ ^ ERRNUM  Vÿÿ®@ÿÿERR  – l®* –BYTESREAÿÿÿÿ®@ ¬BUFFER  Âÿÿ§† ÂCHANNEL  ¬ Ø®@ ØREADSEQUÿÿÿÿÿÿ î ERRNUM  æÿÿ®@ÿÿERR ¡& ü®*¡&BYTESREAÿÿÿÿ®@¡<BUFFER ¡Rÿÿ§†¡RCHANNEL ¡<¡h®@¡hREADLINE¡ÿÿÿÿ¡~ERRNUM ¡vÿÿ®@ÿÿERR ¡¶¡Œ®*¡¶BYTESOUTÿÿÿÿ®@¡ÌBUFFER ¡âÿÿ§†¡âCHANNEL ¡Ì¡ø®@¡øWRITELIN tÿÿÿÿ¢ERRNUM ÿÿÿÿ®@ÿÿERR ¢F¢®*¢FFILENAME¢¢\§†¢\CRAND ÿÿÿÿÿÿ¢rERRNUM ÿÿÿÿ®@ÿÿERR ¢ª¢€®*¢ªFILENAME¢j¢À§†¢ÀDELETE ÿÿ¢ˆÿÿ¢ÖERRNUM ¢¸ÿÿ®@ÿÿERR £¢ä®*£RDOSCHAN¢Î£$®@£$CLOSE ¢ìÿÿÿÿ£:ERRNUM ÿÿÿÿ®@ÿÿERR £r£H®*£rFILENAME££ˆ§†£ˆRDOSCHAN£2£ž®@£žOPEN ÿÿÿÿÿÿ£´FREECHAN£˜£Â®@ÿÿGCnTEST Copyright (C) 1980 Rational Data Systems¼   B$12$29$14.WKÿÿ¦,SPTR ÿÿ¥Ö§nÿÿÿÿ¦LWPTR ÿÿ¦§Vÿÿÿÿ¦lBPTR ¥öÿÿ§ªÿÿÿÿ¦ŒINT ¦6¦V®@ÿÿÿÿÿÿ¨ ìU?9ñ+ª ®@ÿÿ¦–¥ìREGISTER¥ž¤’¥Î)ã¦ÞLINEPOINÿÿ¤¾¦ÆJC§�ÿÿ®@„B¦æ®4TEST.PXTR ÿÿÿÿ¦ðÿÿLEN §ÿÿ®@§LINESTRI¦´¦Ì¦Þª ®4CHARPTR §,ÿÿ§>Æ®@WORDPTR ¢$¥¼§V�§†STRPTR §\§D§n!&€®@®4ÿBIGSTR ÿÿ¥Š§†í§ÌBYTEPTR §tÿÿ§ªB@®@ §Â®4BYTEARRA§°§˜§Ì…¨BúBö  �ލOUTPUT ÿÿINPUT PROGRAM )BbIÿÿÿÿSYSCALL ÿÿÿÿÿÿ¨P#`H!1bIg‰ÿ)%®$ÿÿýRELEASE ÿÿÿÿÿÿ¨’!MARK ÿÿÿÿÿÿ¨’ ! ŽK4!@ ®$ÿÿØðSQRT ÿÿÿÿ®:©nEXP ÿÿÿÿ®:©nLN ÿÿÿÿ®:©nARCTAN ÿÿÿÿ®:©nLOG ¨|¨Ô®:©nCOS ÿÿÿÿ®:©nSIN ÿÿÿÿ®:©nTRUNC ÿÿÿÿ®@©nROUND ÿÿÿÿ®@©nICE DRIVER N®:ÿÿDED MEMAVAILÿÿÿÿ®@ÿÿPWROFTENÿÿÿÿ®:©°$ SYSGEN ERRO®@ÿÿ INCHR ÿÿÿÿÿÿÿÿ)ODD ÿÿÿÿÿÿÿÿ(UNPACK ÿÿ©Bÿÿÿÿ'PACK ÿÿÿÿÿÿÿÿ&SIZEOF ÿÿ©,ÿÿÿÿ%PUT ©šÿÿÿÿÿÿ#GET ÿÿÿÿÿÿÿÿ"RESET ÿÿ¨fÿÿÿÿ!SEEK ª©Xÿÿÿÿ CLOSE ÿÿ©ÆÿÿÿÿPAGE ÿÿªÿÿÿÿREWRITE ªvª`ÿÿÿÿAPPEND ¨êÿÿÿÿÿÿTIME ÿÿÿÿÿÿÿÿEXIT ¨¾ÿÿÿÿÿÿINDEX ÿÿªJÿÿÿÿSUBSTR ÿÿ¨¨ÿÿÿÿEOLCHAR ÿÿÿÿÿÿÿÿDATE ÿÿ©ÿÿÿÿLENGTH ©ÿÿÿÿÿÿCONCAT «RªŒÿÿÿÿPURGE ª4ÿÿÿÿÿÿFILETITL«ÿÿÿÿÿÿ NEW ÿÿ©„ÿÿÿÿ ABS ªÎÿÿÿÿÿÿ SQR «&ª¸ÿÿÿÿ ORD ª¢©Üÿÿÿÿ SUCC ¨:«ìÿÿÿÿPRED «”¬ÿÿÿÿEOLN ªú«<ÿÿÿÿEOF ¬D«~ÿÿÿÿWRITELN ÿÿÿÿÿÿÿÿWRITE ¬p©òÿÿÿÿREADLN ÿÿÿÿÿÿÿÿREAD ¬œ¬.ÿÿÿÿ C#ÿÿÿÿ “Vÿÿÿÿ ÐÑÿÿÿÿä \ ÿÿÿÿ !(Cÿÿÿÿ ª ÿÿ NIL ¬²«À®$ÿÿTRUE ¬†ªä®*­ŠFALSE «ª¬Z®*ÿÿMAXINT ­b«h®@RNÿTEXT ­v¬® MBOOLEAN ÿÿ«Ö®*USCHAR ­Š­Ä®4LEREAL ­²­ž®: INTEGER ­è­Ö®@ F®@®4‚®4ÿÿ­v HIT CTLA TESTESEQUENTIAL = ²‘ DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE oÕu_[#^àÿÿÿÿc&9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `Zðvô_¼3B$12$29$14WK™ll @  �Ž ²‘²‘THIS IS A TEST«§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖÇEι ¥#æTESTPXAl?°?‚ÂÁÆCCOM.CM5çôë �è XGWÞXWWÅXWTEST.PXPXX%'XX%ÿÿhki¤iEvç\ COM.CM=ù+Jû+Jü3€X€}€¢€Ç€ì�$TTI€�¥Êï$TTI@$TTO@beqY $TTOÀ>> cïjqYÇCOMMØll *q}Øç`ÙØÿTESTPXAll )q}AN`ÙA1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ `WÀÿùøYþ)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9Úõ -Rw€œ€Á€æ� $TTI@ff @bà`Ù TESTPXAll )q}A€N`ÙAnDEAR òqq,1234567890 1234567890 1979CHECKS´ ËŽŽC 3049 44.55 10 C 3065 223.70 32 C 2763 1850.16 2 C 2764 552.87 17 C 2765 314.49 8 C 2766 314.49 8 C 2767 100 8 C 2770 20.07 18 C 2771 630.50 4 C 2774 38.75 11 C 2777 47.70 5 C 2779 229.63 25 C 2780 6.94 5 C 2781 64.25 5 C 2786 228.23 8 EM 665 1102.70 12 EM 666 1209.04 12 EM 667 1350.43 12 EM 668 199.40 12 EM 669 550.32 12 EM 670 539.29 12 EM 671 526.45 12 EM 672 344.29 12 EM 673 2468.66 14 EM 680 411.53 12 EM 682 2234.86 14 D 1567 D 2945 D 7000 D 2500 D 6590 D 700 C 2768 677.50 20 C 2769 125 26 C 2772 736 23 C 2773 13 1 C 2775 12.82 18 C 2776 7.30 23 C 2778 258.40 5 C 2782 160.96 5 C 2783 563.93 23 C 2784 67 26 C 2785 45.00 26 C 2788 93.70 5 C 2790 1000 8 C 2791 100 26 C 2792 1850.16 2 C 2793 115 3 C 2794 75 5 C 2795 114.48 24 C 2796 14 1 C 2797 150 5 EM 674 1360.43 12 EM 675 209.40 12 EM 676 1053.55 12 EM 677 1083.87 12 EM 678 516.30 12 EM 679 550.39 12 EM 681 276.95 12 EM 684 209.40 12 EM 685 1101.20 12 EM 686 1580.40 12 EM 687 533.66 12 EM 688 610.74 12 EM 689 422.46 12 EM 690 215.64 12 EM 698 3861.48 14 DM 2000 D 1575 D 3195 D 3144.56 D 2556 D 2000 D 7097 D 2000 EM 683 1360.43 12 EM 691 209.40 12 EM 692 981.35 12 EM 693 1050.72 12 EM 694 479.62 12 EM 695 554.62 12 EM 696 369.47 12 EM 697 329.08 12 EM 699 1398.97 12 EM 700 194.48 12 EM 701 1016.68 12 EM 702 1156.68 12 EM 703 563.99 12 EM 704 640.40 12 EM 705 470.84 12 EM 706 483.71 12 EM 707 2984.02 14 EM 708 555.34 14 EM 709 310.37 15 EM 710 1372.35 15 C 2800 38 20 C 2802 7 1 C 2803 1850.16 2 C 2804 12.45 C 2805 125 8 C 2806 2 1 C 2807 115 3 C 2808 1105.74 17 C 2809 23.35 1 C 2810 131 8 CM 1995 D 1377.50 D 1708.14 D 1885 D 24676.36 D 892.50 C 2812 63.75 6 C 2813 545 7 C 2814 1406.50 17 C 2815 368 23 C 2816 600 28 C 2817 151.18 25 C 2818 13.80 5 C 2819 30 5 C 2820 692 25 C 2821 100 25 C 2822 1291.19 4 C 2823 275.82 4 C 2824 100 26 C 2825 25 26 EM 711 1408.97 12 EM 712 204.48 12 EM 713 1091.05 12 EM 714 1096.88 12 EM 715 595.09 12 EM 716 613.84 12 EM 717 514.82 12 D 8907.50 34 D 4462 34 D 14386.25 34 D 527.50 34 EM 718 482.51 12 EM 719 3016.96 14 EM 720 125.24 14 EM 721 879.67 15 C 2826 1850.16 2 C 2827 115 3 C 2828 552.87 17 C 2829 75 24 C 2830 88 18 C 2831 20 26 C 2832 108 26 D 3232.50 34 C 2833 64.59 4 C 2834 157.50 22 C 2835 8.93 1 C 2836 25 26 C 2837 30 5 C 2838 12.25 5 C 2839 10.94 5 C 2842 273.55 25 C 2843 1444.50 17 C 2844 176 5 C 2845 446.10 5 C 2847 739.11 4 C 2848 108.10 4 C 2849 341.33 4 C 2850 428.08 25 C 2851 26.19 11 C 2853 611.53 17 C 2854 20.75 1 C 2855 500 27 C 2858 9.93 5 C 2860 28.50 5 EM 722 1032.90 12 EM 723 1408.97 12 EM 725 1166.68 12 EM 726 527.17 12 EM 727 560.96 12 EM 728 492.78 12 EM 729 298.75 12 EM 730 2831.26 14 EM 739 2326.89 14 C 2840 770.93 25 C 2841 32.27 25 C 2846 33.44 5 C 2852 101.44 23 C 2856 513.12 23 C 2857 83.07 5 C 2864 25.83 8 C 2865 1850.16 2 C 2866 30.29 5 C 2867 115 3 C 2868 27.76 14 C 2869 80 18 C 2870 736 23 C 2871 546.84 5 C 2872 68.98 5 C 2874 298.05 6 C 2875 766.49 6 C 2877 16 18 C 2878 121.92 1 C 2879 1633.42 23 C 2880 11.25 5 C 2881 23.85 5 C 2882 49.52 5 C 2883 9.80 5 C 2886 24.45 5 C 2889 77 5 EM 724 204.48 12 EM 731 1408.97 12 EM 732 204.48 12 EM 733 863.83 12 EM 734 915.34 12 EM 735 368.67 12 EM 736 514.29 12 EM 737 430.51 12 EM 738 322.85 12 EM 740 1420.97 12 EM 741 204.48 12 EM 742 1131.44 12 EM 743 1096.04 12 EM 744 551.67 12 EM 745 640.60 12 EM 746 385.40 12 EM 747 360.91 12 EM 748 2850.69 14 EM 751 1049.82 12 EM 758 2575.50 14 D 210 34 D 600 34 D 15954.41 34 D 1278.47 34 D 611.53 34 C 2861 611.53 17 C 2862 171.16 25 C 2863 32 8 C 2887 30 5 C 2888 41.62 5 C 2890 104.82 23 C 2891 129.76 8 C 2892 115 3 C 2893 27.46 5 C 2894 3.95 23 C 2895 244.30 25 C 2896 16.85 5 C 2897 1850.16 2 C 2898 601.53 17 C 2899 177 5 C 2900 717.86 4 C 2901 50 26 C 2902 3 18 C 2903 22 18 C 2904 169.04 5 C 2905 300 17 DM 7.50 C 2906 60 1 C 2909 81.22 15 EM 749 1424.97 12 EM 750 204.48 12 EM 752 992.88 12 EM 753 551.67 12 EM 754 550.23 12 EM 755 431.37 12 EM 756 343.46 12 EM 759 1391.48 15 EM 760 1569.95 15 EM 761 80.68 14 EM 762 1017.67 12 EM 763 929.08 12 EM 764 518.89 12 D 4302.50 34 D 1558.65 34 D 418.50 34 D 430 34 D 3475 34 EM 765 271.86 12 EM 766 384.02 12 EM 767 256.22 12 EM 782 2500 14 EM 783 1956.74 14 D 7202.98 34 D 3000 34 D 1240 34 C 2907Å 45 1 DM 6 D 552.50 34 D 1030 34 D 1547.28 34 D 1800 34 D 618 34 D 4310 34 D 368278 34 D 2675 34 DM 3000 C 2915 26 5 C 2918 336.98 27 C 2919 263.44 8 C 2920 153.50 6 C 2921 1159.13 25 C 2925 54 10 C 2926 306.79 17 C 2927 225 1 C 2928 1850.16 2 C 2929 395.75 2 C 2930 2839.54 14 C 2931 115 3 C 2932 18.02 5 C 2934 83.31 4 C 2935 56 33 C 2936 1390 28 EM 768 1426.97 12 EM 769 204.48 12 CC 770 CC 779 EM 771 864.72 12 EM 772 1001.57 12 EM 774 640.60 12 EM 775 302.19 12 EM 776 451.39 12 EM 777 429.02 12 EM 778 314.65 12 EM 780 568.52 12 EM 781 993.27 12 EM 784 551.67 12 EM 785 993.62 12 EM 786 993.62 12 EM 787 444.04 12 EM 788 375 12 EM 789 415.74 12 EM 790 204.48 12 EM 791 1426.97 12 EM 792 1426.97 12 C 2914 101.18 5 C 2916 70.65 5 C 2917 76.47 5 C 2913 133.61 23 C 2910 897 15 C 2908 601.81 4 DM 52.15 C 2933 51.22 5 C 2937 398 17 C 2938 60.80 1 C 2939 19.75 18 C 2940 30.95 32 C 2941 31.65 32 C 2942 115 3 C 2943 350 27 C 2944 100 27 C 2945 1850.16 2 C 2946 20.76 11 C 2947 75.64 32 C 2948 124.89 17 C 2949 106.45 25 C 2950 150.70 10 C 2951 8.46 32 C 2952 1057.58 27 C 2953 830 27 C 2958 25 3 C 2961 100 22 C 2962 1000 17 EM 794 1426.97 12 EM 795 204.48 12 EM 796 2090.76 14 EM 793 561.13 12 D 2320.45 34 D 3314.44 34 D 4439 34 D 2039.96 34 D 2747.24 34 EM 797 360.94 15 C 2955 1301.13 32 C 2956 60 27 C 2957 125 27 C 2959 30 3 C 2960 10.35 32 C 2963 178.83 32 C 2964 270.22 32 C 2965 174.85 4 C 2966 81.63 32 C 2967 365.44 32 C 2968 34.70 32 C 2970 22000 12 C 2971 1500 32 C 2972 398.04 32 C 2973 1550 9 C 2975 294.74 25 C 2976 548.34 32 C 2978 35 26 C 2979 500 7 C 2983 398.04 32 C 2985 1850.16 2 D 2197.25 34 D 5527.98 34 D 832.50 34 D 6471.12 34 D 12653.22 34 DM 1301.13 D 808.23 34 D 1890 34 C 2981 34 1 C 2984 7.68 10 C 2988 17.50 8 C 2991 31 1 C 2992 7.50 5 C 2994 196.14 22 C 2995 60.93 23 C 2996 202.41 23 C 2997 20.58 23 C 2998 118.46 23 C 2986 22 1 C 2987 47.20 5 C 2989 2 4 C 2990 890.60 4 C 2993 30.95 3 C 3003 63.01 4 C 3004 5.80 23 C 3005 81.83 32 C 3006 190.25 4 C 3009 89.20 5 C 3011 61.95 5 C 3013 550 2 C 3014 93.39 2 C 3015 368.32 2 C 3018 414.75 2 EM 798 204.48 12 EM 799 204.48 12 EM 800 1426.97 12 EM 801 426.97 12 CC 806 CC 807 CC 808 D 660 34 D 2500 34 D 1332.87 34 D 7430.13 34 D 3561.07 34 EM 803 1207.97 27 EM 804 1426.97 12 EM 805 204.48 12 EM 809 1835.96 14 C 2999 80 10 C 3000 230 1 C 3001 359 1 C 3007 37.12 10 C 3008 12.40 10 C 3010 69 1 C 3012 600 3 C 3016 4 5 C 3017 1208.43 25 C 3019 31 5 C 3020 8 18 C 3021 262.25 22 C 3022 34.90 22 C 3023 535.05 3 C 3024 12.60 10 C 3025 547.25 27 C 3026 40 32 C 3027 327.12 4 C 3028 44.82 3 C 3029 397.33 23 C 3032 202.96 17 C 3033 215.05 3 C 3034 6.30 3 C 3035 230 3 C 3036 50 27 C 3037 288 27 C 3038 150 27 C 3039 55.06 3 C 3042 88.17 3 C 3043 49.80 3 C 3045 10 1 C 3046 5428.82 6 C 3047 300 24 C 3051 164 17 C 3052 612.92 3 D 1029.72 34 D 440 34 D 16000 34 CC 2789 CC 2798 C 2799 157. 23 CC 2801 CC 2811 CC 2859 CC 2876 CC 2884 CC 2885 CC 2911 C 2912 787.00 17 CC 2922 CC 2923 C 2924 368 23 CC 2954 CC 2974 CC 2977 CC 2980 CC 2982 CC 2873 C 3030 626.30 23 C 3031 30 27 C 3041 3.57 4 C 3048 22.56 11 C 3050 35 26 C 3053 256.07 4 C 3054 1743.66 7 C 3055 1200 21 C 3057 60 26 C 3058 385 3 C 3059 172.14 8 C 3060 6.95 3 C 3061 646.33 8 C 3062 31 1 C 3063 30 26 C 3072 129.64 4 C 3074 2500 21 C 3077 10.77 6 C 3079 37.50 6 C 3080 1298.05 25 C 3056 10 26 C 660 484.10 12 EM 815 887.50 12 CC 2969 C 3073 1340.73 25 ALLOCt–Ð ;PASCAL "ALLOCATE" PROCEDURE ; -- GENERATES ANY SPECIFIED SIZE OF HEAP FRAME ;PETE GOODEVE 78:7:22 ;TYPICAL USE: ; VAR P:ARRAYPOINTER; (* MADE AS LARGE AS POSSIBLY NEEDED *); ; .... ; ALLOC(5) (* GET 5 WORDS OF SPACE *); ; MARK(P) (* MAKE IT AVAILABLE FOR USE *); ; .... (* PROGRAM MUST NOT EXCEED 5 WORD ACCESS RANGE!*) .TITL ALLOC ;78:7:22 .EXTN XPRET .ENT ?ALLOC SP=41 ;STACK POINTER HP=44 ;HEAP POINTER SL=45 ;CURRENT STACK LIMIT P4ERR=JSR @51 .NREL ;PROCEDURE ALLOC(I:INTEGER);EXTERNAL; ?ALLOC: LDA 0,0,3 ;NUMBER OF WORDS TO ALLOCATE LDA 2,HP ;CURRENT HEAP SUB 0,2Ù ;FORM NEW POINTER LDA 3,SL ;STACK LIMIT ADCZ# 3,2,SZC ;CLUNNK? JMP MAKE ;NO -- MAKE THE SPACE P4ERR 414 ;OVERFLOW ERROR MAKE: STA 2,HP ;NEW HEAP COM 0,0 ;SET COUNTER SUB 1,1 MLP: INC 0,0,SNR ;DONE? XPRET ;YUP STA 1,0,2 ;CLEAR SLOT INC 2,2 ;NEXT JMP MLP .END ;OF ALLOCATE T24]™Ð2PROGRAM T24(INPUT,OUTPUT); TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOTA,KLIG,IOFILE,FOBAR,GZYXX : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (NUMBER : INTEGER ; IFILE : ALPHA ; VAR IOTA : INTEGER);EXTERNAL; BEGIN IOTA :=100; IOFILE := 8; FILENAME := 'INPUTFILE0.SR'; OPEN (IOFILE , FILENAME,IOTA); WRITELN (OUTPUT,'IOTA= ',IOTA) END. 36›ÐÐ 8TKOM013œ``PROGRAM TKOMPAR(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); TEXT = PACKED ARRAY[1..10] OF CHAR; VAR A : TEXT; B : TEXT; I,J : INTEGER; FUNCTION KOMPAR ( A : TEXT; B : TEXT; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INTEGER; T : COMPARATIVE; BEGIN T := EQUAL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN WRITELN(' ',A[I],' ',B[I]); BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS END; I := I+1 END; KOMPAR := T END; BEGIN WHILE NOT EOF(INPUT) DO BEGIN I :=1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,A[I]);I := I+1 END; RESET(INPUT); B[1] := 'P';B[2] := 'A';B[3] := 'S'; CASE KOMPAR(A,B,1,10) OF LESS : WRITELN ('LESS'); EQUAL : WRITELN ('EQUAL'); GREATER : WRITELN ('GREATER') END END END. F ¥ŸÜÜ *PROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARRAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OF A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGIN IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[I] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEY X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R&] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDURE UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.E[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.E[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO C^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END END END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THEN L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THEN BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN BEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . REALPRINT029«½½  PROCEDURE REALPRINT (R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTEN (J)); { WRITELN(' R1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] :=: ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSE BEGIN R := -R; SIGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 2; IF SIGN = MINUS THEN STR[1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; STR[CHARPOS] := '.'; CHARPOS := CHARPOS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(STR); END; CBOOKMCŒ'qs4CHATR CBOOK.PA 0 CHATR CBOOK.PX 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *WP PASINTERP PASCALO/S/V CBOOK CHATR CBOOK.PX *WP CONSOLEPX µsq  ‚CONSOLE Copyright (C) 1980 Rational Data Systems¼  ( Æž ÆžÆCžßÙ¨CÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ÙߨCÙÊ üšÊ ù¡/Ö¦ ERROR IN READLINE = ¥�Õ® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÚÊ üšÆž!­šÆÙ¨CÆJž ÆIžÆKCžÊKƨCÊIÌLÊLšÊL¢Ç?šÊL¢ÊKšÊL¢ÊLû‚šÊL¢ ØšÊIž#ÊLù¡0Ö¦ ERROR IN WRITELINE = ¥�Õ®MÒÏÖÊMÊLýÏ ÖÊMÏÛÊLùšÊLüÌÜÊLýšÆJž!­H”Æž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙ¨CÆIž ÆHžÆJCžÊJƨCÊHÌKÊKšÊK¢Ç?šÊK¢ÊJšÊK¢ÊKû‚šÊK¢ ØšÊHž#ÊKù¡+Ö¦ ERROR IN OPEN = ¥�Õ®LÒÏÖÊLÊKýÏ ÖÊLÏÚÊKùšÛÊKýšÆIž!­HŠÆبCÆHž ÆGžÆICžÊIƨCÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡-Ö¦ ERROR IN DELETE = ¥�Õ®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšÚÊJýšÆHž!­H†ÆبCÆHž ÆGžÆICžÊIƨCÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡,Ö¦ ERROR IN CRAND = ¥�Õ®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšÚÊJýšÆHž!­H†Æž ÆžÙÌۚۢǚؚۢٞ#Ûù¡ ÛšÛ¢Ç šÙž#Æž!­<Æž ÆžÙÌۚۢǚٞ#Ûù¡ ÛšÛ¢Ç šÙž#ØÛûšÆž!­: ØøŽ•ÌØØøÙ‚š®Ù®È¡Ü̹ÚÐÌÖ ÎÚÛáö­ 4 ÆبCÌE®HÙ®GÈ¡xÊHÌF¹ÊFÐÌFÆÊFÇ„ˆ•¾³?ÿÿÿÿÿÿÿ‹¡ÖÆÊFÇ„ˆ•¾ÎÊE‚ÌE¹.ÆÊFÇ„ˆ•¾¹ ÖÆEÎ ¹Ö ι¬ ¹ ÊFÊGáö­uG ” Ø¢ÙÇ„ˆ•ÂÚ¿­ ØÌÙÜøÅ¡ÜÜø‚šÜ¢ÜøÇ„ˆ•ÂÚ¿¹IÜÜø‚šÜø®Ù®Ä¡+Þ̹ەÌÜ¢ÛÇ„ˆ•ÂÜ¢Û•Ç„ˆ•¾¿ÛÝáöÜ¢ÙÇ„ˆ•ÂÚ¿­7 t ØÌÛøÅ¡<Ù®Ûø•®È¡*Ý̹ÚÐÌÛ¢ÚÇ„ˆ•ÂÛ¢Ú•Ç„ˆ•¾¿ÚÜáöÛÛø•š­. PÆÙ¨CÌH®JÚ®IÈ¡ZÊJÌG¹ÊGÐÌGÆÊGÇ„ˆ•¾³ÿÿÿÿÿÿÿÿÿÿÿ ‹¡ÊH‚ÌH¹ÆÊGÇ„ˆ•¾ á ÊH‚ÊHŽ•ÌHÊGÊIáöÊHÌ­[G z­éÅ¡Vè•«Ö¥è•ÎÌØé•ÌÚÄ¡®Ú®È¡Ü̹ÙÐÌÖ ÎÙÛáö¹®Ú‘®È¡Ü̹ÙÐÌÖÎÙÛáôØ«­3 h鎕ÌéÙ‚«®Ù®È¡Û̹ØÐÌÖ ÎØÚáöÖ¥è§HÎ è‚«­>Ö¥è§HÎ è«­Ö ÎÖ ÎÖ¥Î Ö ÎÖ Î­ÖëÎé‚«Ö¥è§HÎ è‚«­è•ìá Ö¥è•ÎÖι֥èέ"Ö§�R¥¥�O¥�M¥�NÎ앫֥Π삫֥ìΫ«§�M«�P­:tÖ§�Q¥§�O¥�M¥�Nέë³ÿÿÿÿÿÿÿÿÿÿÿ‹¡Öιôë¹*ÖιöÖιöÖÎÖÎÖιö¹öÖÎÖÎÖÎÖιöÖιö¬¹ö2/,# % "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ�’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîû­ NÖ¦ INPUT FILE?¥�Õ®HÒÏÖÊHÏÖÆÆEÆFÆDÎÖÆÊEÆFÆDÎÖ¥�RÎÖ§�RÆÆFÆDÎÖ¦ OUTPUT FILE?¥�Õ®HÒÏÖÊHÏÖÆÆEÆFÆDÎÖ¥�QÎÖÆÆFÆDÎÖÆÆFÆDÎÖ§�QÆÆFÆDέHœ®é•®È¡Ú̹ØÐÌÖ ÎØÙáöÖ^ÎÖ¥�ÕÏ­ 2ÖÆ�ÕÆ‚ÏÖÆ�Õ¦OUTPUTÏÖÆ�SÆ�‘ÏÖÆ�S¦INPUTÏÖÆIÆ€‡ÏÖÆI¦OUTPUTFIÏÖÆ€ËÆ� ÏÖÆ€Ë¦INPUTFILÏÖÏÖÆ�SÏÖÆ�ÕÏÖÎÖÎ֥ΠëÇÿˆ«HÖÎëáö§�P¡ôÖÆ�ÕÏÖÆ�SÏÖÆIÏÖÆ€ËÏ­;:V&¾ÄüžòRzžÂÜ Žœrì  Ü^êv  F à6ASMSVASMSVMANUAL211{?? MANUAL2.11 Update to RDS Pascal Programmer's Manual 14 October 1980 Note: There is no update to the Programmer's Manual for Release 2.11. However, be sure to read "MANUAL2.10" which includes important changes to the Release 2.00 manual. GETCOLUMNBU¹AsrFUNCTION GETCOLUMN(STR : ALPHANUMERIC) : INTEGER; VAR I,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; {BYPASS FIELD 1} WHILE ( (I< LEN) AND (STR[I]IN ['!'..'}']) ) DO I := I+1; WRITELN('WHILE1',I); WHILE ( (I< LEN) AND NOT (STR[I] IN ['!'..'}']) ) DO I := I+1; WRITELN('WHILE2',I); WHILE ( (I 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITELN(' STRING=',STR); END;{OF REALPRINT} BEGIN REPEAT BEGIN WRITELN(' ENTER A REAL NUMBER'); READ(R); REALPRINT(R); END; UNTIL EOF(INPUT); END. T34„³Û©6(*PROGRAM T34 TESTS BIT SET AND BIT CLEARING*) PROGRAM T34(INPUT,OUTPUT); VAR BIT,WORD,VALUE : INTEGER; CHR : CHAR; PROCEDURE TBIT(BIT:INTEGER;WORD:INTEGER;VAR VALUE:INTEGER);EXTERNAL; PROCEDURE BSET(BIT:INTEGER;VAR WORD:INTEGER);EXTERNAL; PROCEDURE CBIT(BIT:INTEGER;VAR WORD:INTEGER);EXTERNAL; BEGIN WRITELN(OUTPUT,'ENTER S ','C OR T F','OR SET C','LEAR OR ','TEST BITS'); READLN(INPUT,CHR); IF CHR = 'S' THEN REPEAT WRITELN(OUTPUT,' BIT NO AND WORD'); READLN(BIT,WORD); BSET(BIT,WORD); WRITELN(OUTPUT,' WORD=',WORD); UNTIL EOF(INPUT) ELSE IF CHR = 'C' THEN REPEAT WORD:=32767; WRITELN(OUTPUT,' BIT NO'); READLN(INPUT,BIÁT); CBIT(BIT,WORD); WRITELN(OUTPUT,WORD); UNTIL EOF(INPUT) ELSE IF CHR = 'T' THEN REPEAT WRITELN(OUTPUT,' BIT,WORD'); READLN(INPUT,BIT,WORD); TBIT(BIT,WORD,VALUE); WRITELN(OUTPUT,' BIT=',VALUE); UNTIL EOF(INPUT) ELSE WRITELN(OUTPUT,' ILLEGAL') END. REALPRINTPIi—޽  PROCEDURE REALPRINT (VAR OUTFILE : TEXT;R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTEN (J)); { WRITELN(' R1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] := ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSE BEGIN R := -R; SIGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 15-I-3-I DIV 3; IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; STR[CHARPOS] := '.'; CHARPOS := CHARPOS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(OUTFILE,STR); END; DELETEPIöÕŽr PROCEDURE DELETE(FILENAME : LINESTRING;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTDELETE =256; {.DELETE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTDELETE; R0.LPTR := FILEPTR; R0.INT := R0.INT+2; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN DELETE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {DELETE} CRANDPISŽr PROCEDURE CRAND(FILENAME : LINESTRING;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCRAND = 3584; {.CRAND} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCRAND; { APPEND 0 TO END OF STRING} R0.LPTR := FILEPTR; R0.INT := R0.INT+2; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CRAND = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {CRAND} PASCALOPX { ôŽl ?œ œÔ/ž!ÔCOMPILEROPSYSINICOMPINITSHOWERROCOMPFINIDECSEGMEBODSEGME Copyright (C) 1980 Rational Data Systems¼ 4  HÆž Æ žÜÌÝÌÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÞšÞ¢‘Çÿ• ‚šÜž#Þù¡Ì¹Ìݢݣ •šÝ£ ÂÞû¿ÚÝ£ ª@Æž!­lÖ¥„óÏÖ¥„ó®¦&PX PASCAL[O][switches] sourcefile[.PA]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/A analysis to @OUTPUTÏÖØÏÖ¥„ó®¦/A=afile analysis to afileÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦/E=efile errors to efileÏÖØÏÖ¥„ó®¦/L listing to @LISTÏÖØÏÖ¥„ó®¦/L=lfile listing to lfileÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦"/V verbosity to @OUTPUTÏÖØÏÖ¥„óÏ­>Æž ÆžÚÌÛšÛ¢šÛ¢‘šÛ¢NšÚž#ÛüÌÆž!­2ئ abcdefghiª@ƤƤƤž ®®È¡4ß̹ÝÐÌØÝ�‚Â0Æݤø † Ž‚¿ØÝ�‚Â0Æݤø Ž‚¿ÝÞáöØÂ.¿ØÂ_¿ØÂ_¿ÖÎÌØÌÖÆ¦?pidÏÖÆØDÏÖÆ¦.TMPHÏÆª@ØÂ0Üd† Ž‚¿ØÂ0Ü † Ž‚¿ØÂ0Ü Ž‚¿­�* ÂÆÚª@ÖÆÎÆ&ž Æ( žÊ(Ì)Ê)Ì*Ê)¢ šÊ)¢ÙšÊ)¢Ç€žÊ)£ÆªÿÊ)£Æ¾‚¿Ê)¢Ê)£‚šÊ)¢Ç€žÊ)¢Ê)£ ‚šÊ*šÊ*¢‘Çÿ• ‚šÊ(ž#Ê*ù¡Ì¹<Ê*ûÌ'Ê'‘á̹ÌÊ)¢Ê)£ •šÊ)£ ÂÊ'¿Ê'Å¡ ÛÊ)£ ª@¹Û¦ª@Æ&ž!­&Ê «‚V«‚W¥„ƦAOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®i®hÈ¡ÊiÌC¹ÊCÐÌC¥„¿ÊC¤ šÊCÊháöÖ¥‚ÕΓ¡ ÖÎ ž¹¥‚Õ?¯¡ÖÎ žÖ¦NÆÎ“«‚,Ö¦SÆÎ“«‚0Ö¦CÆÎ«‚6‚ÌFÖÊFÆGΡ1ÆG¾á"ÆG¾³ÿ‹¡¥‚öÆG¾0•¤šÊF‚ÌF¹ôÖ¦AÆÎ¡WƦ¯¡ ÌE¹ ÌEÖ¥…uÆÏÖ¥…uÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháòÖ¦LÆ"ΡSÆ"¦¯¡ Æ"¦@LISTª@Ö¥…÷Æ"ÏÖ¥…÷Ï®i®hÈ¡(ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øœ šÊDÊháðÖ¦EÆÎ¡_Ʀ·¡WÆÆ"¯¡ ÌE¹ ÌEÖ¥†yÆÏÖ¥†yÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháîÖ¦VÆÎ¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤ø¯¡ ¥„¿¤ šÖ¥‚ÕÎ¥‚վš0Ö¥‚ÕÆh¥‚Õ¾•ÏÆh¦.PA¯¡¥‚ÕÖ¥‚ÕÆh¥‚Õ¾•ÏÆhª@¥‚ÕÌhÖÆh¥‚Õ@ÏÖÆh¦.PACÏÆhª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´ÎÖ¥†û¥‚´ÏÖ¥†ûÏ­ ŒîkÕ‰ئ abcdefghiª@ƤƤƤž ®®È¡4Þ̹ÜÐÌØÜ�‚Â0Æܤø † Ž‚¿ØÜ�‚Â0Æܤø Ž‚¿ÜÝáöØÂ$¿ØÂ$¿ØÂ$¿ØÌÖÆØ@ÏÖÆ¦.WKCÏÆª@¶¡ØÌÖÆ¦FÏÖÆØAÏÆª@¹ØÌÖÆ¦BÏÖÆØAÏÆª@­‘&Æ Ö¥„óÏÖ¥„ó®¦0PX PASCAL[O][switches] sourcefile[.PA] [options]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦&/L listing to sourcefile.LSÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦%/V verbosity to $TTO/$TTO1ÏÖØÏÖ¥„óÏÖ¥„ó®¦option meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦afile/A analysis to afileÏÖØÏÖ¥„ó®¦efile/E errors to efileÏÖØÏÖ¥„ó®¦lfile/L listing to lfileÏÖØÏÖ¥„óÏ­p Æž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆž!­2 ÌÌA®Z®È¡,Þ̹ÜÐ̲rÙ•¤ÜA•Àº¡ Û¡¹¹ÌÚÜšÜÝáöÛÌ­,H ÆتÿÖ¥„óÏÖ¥„󮀂ÆÏÖÊ€‚ÏÖ¥„󮀂ÏÖÊ€‚Ï ž­�:ÆتÿÖ¥…÷ÆÏÖ¥…÷Ï®€„®€ƒÈ¡0Ê€„Ì€‚¹Ê€‚ÐÌ€‚¥„¿Ê€‚¤¥„¿Ê€‚¤øœ šÊ€‚Ê€ƒÃ¡ö­+ƒ Z «‚V«‚W¥„ƦRDOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®®È¡Ú̹ØÐÌ¥„¿Ø¤ šØÙáö² •¤•¤Aš² •¤•¤Hš² •¤•¤Iš² •¤•¤Pš² •¤•¤Qš² •¤•¤Xš² •¤•¤Yš² •¤•¤Zš¶¡Ö²€â¦FCOM.CMϹֲ€â¦COM.CMÏÖ²€âϸ²~¤²� øš²~¶�¾Çÿ˲~¶�‚¾ÇÿË„¡F¶‚¸¶cÅ¡ Ö¦(F)COM.CM file is too long.ÎÖ²€âϲ~¶¤²� øš¹ô­j5 z¸¸¶‚¸¸²~¶¾ˡ)¶‚¸²¶•¤¶²~¶¾¿¶‚¸¹ö¶‚¸²¶•¤¶¿®®È¡yÛ̹ØÐ̲~¶¾¸¶‚¸¸² Ø•¤•¤ø®² Ø•¤•¤ø®È¡1Ü̹ÙÐ̶•¸²r¶•¤ÙA•À²¶Àº»ÙÛáôØÚáò²~¶¾Çÿáð¶É¡ ÖÎ ž¹²•¤?¯¡ÖÎ ž¥‚Õ²•¤ª@Ö¥‚ÕÎ¥‚վš0Ö¥‚ÕÆ¥‚Õ¾•ÏÆ¦.PA¯¡¥‚ÕÖ¥‚ÕÆ¥‚Õ¾•ÏÆª@­Zõ´T#p‚®¶®È¡èÛ̹ØÐÌÖØ²Î “¡=²Ø•¤¾á.²Ø•¤¾³ÿ‹¡¥‚ö²Ø•¤¾0•¤š¹ì¶³"‹“¡Ö¦Invalid local switch.ιòÖ¥…u²Ø•¤ÏÖ¥…uÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáö¹ðÖ¥†y²Ø•¤ÏÖ¥†yÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáô¹Z²r•¤LA•Àº¡Ö¦Duplicate listing files.Îֲؕ¤Î¹¬AL¹ÆŒ XØÚáê­j 1�Ñ�²r•¤LA•Àº¡ÖÌÖÆ¥‚Õ@ÏÖÆ¦.LSCÏÆÎ²r•¤NA•Àº“«‚,²r•¤SA•Àº“«‚0²r•¤CA•Àº«‚6²r•¤VA•Àº¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š­"ÎÖÆ€âÆ� ÏÖÆ€â¦CLIFILEÏÖÎ ÌÖÎÖÎÖÎÖÎ¥„¿¤ø¯¡ ¥„¿¤ š¥‚ÕÌ�!ÖÆ�!¥‚Õ@ÏÖÆ�!¦.PACÏÆ�!ª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´Î Ö¥†û¥‚´ÏÖ¥†ûÏÖÆ€âÏ­B   0ÌÙø ŽÌ­®ؾ®È¡3Û̹ÙÐÌØÙ¾³ÿÿþ‹¡ ØÙÂØÙ¾ •¿ÙÚáö­1 H®$ ®#È¡Ê$̹ØÐÌ¥‚öؤšØÊ#áöÖΫ‚<§‚<‹¡§‚<¹ ÖÎ ¹Öι ¬¹¹2Ö¥„ó®#ÏÖÊ#¦Wrong operating system.ÏÖÊ#Ï ž­q$ˆÚ–jvöV–ä ’~PN’ j²(‘Ì¥�AA•¤Ø‚šØ‚Ì¥�4ؤ¦AND ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦ARRAY ÐÑ¥�4ؤ¢,š¥�4ؤ¢ š¥�BA•¤Ø‚šØ‚Ì¥�4ؤ¦BEGIN ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�CA•¤Ø‚šØ‚Ì¥�4ؤ¦CASE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦CONST ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�DA•¤Ø‚šØ‚Ì¥�4ؤ¦DIV ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DOWNTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�EA•¤Ø‚šØ‚Ì¥�4ؤ¦ELSE ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦END ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�FA•¤Ø‚šØ‚Ì¥�4ؤ¦FILE ÐÑ¥�4ؤ¢.š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FOR ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FUNCTIONÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�GA•¤Ø‚šØ‚Ì¥�4ؤ¦GOTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�HA•¤Ø‚š¥�IA•¤Ø‚šØ‚Ì¥�4ؤ¦IF ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦IN ÐÑ¥�4ؤ¢)š¥�4ؤ¢ š¥�JA•¤Ø‚š¥�KA•¤Ø‚š¥�LA•¤Ø‚šØ‚Ì¥�4ؤ¦LABEL ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�MA•¤Ø‚šØ‚Ì¥�4ؤ¦MOD ÐÑ¥�4ؤ¢'š¥�4ؤ¢ š¥�NA•¤Ø‚šØ‚Ì¥�4ؤ¦NOT ÐÑ¥�4ؤ¢&š¥�4ؤ¢ š¥�OA•¤Ø‚šØ‚Ì¥�4ؤ¦OF ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦OR ÐÑ¥�4ؤ¢(š¥�4ؤ¢ š¥�PA•¤Ø‚šØ‚Ì¥�4ؤ¦PACKED ÐÑ¥�4ؤ¢+š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROCEDURÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROGRAM ÐÑ¥�4ؤ¢!š¥�4ؤ¢ š¥�QA•¤Ø‚š¥�RA•¤Ø‚šØ‚Ì¥�4ؤ¦RECORD ÐÑ¥�4ؤ¢-š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦REPEAT ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�SA•¤Ø‚š§‚6“¡,؂̥�4ؤ¦SEGMENT ÐÑ¥�4ؤ¢0š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦SET ÐÑ¥�4ؤ¢*š¥�4ؤ¢ š§‚6“¡,؂̥�4ؤ¦STRING ÐÑ¥�4ؤ¢3š¥�4ؤ¢ š¥�TA•¤Ø‚šØ‚Ì¥�4ؤ¦THEN ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TYPE ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�UA•¤Ø‚šØ‚Ì¥�4ؤ¦UNTIL ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�VA•¤Ø‚šØ‚Ì¥�4ؤ¦VAR ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�WA•¤Ø‚šØ‚Ì¥�4ؤ¦WHILE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦WITH ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�XA•¤Ø‚š¥�YA•¤Ø‚š¥�ZA•¤Ø‚š¥�Z‚A•¤Ø‚š­Ž¥‚ež§‚eÌØšØ¢šØ¢š¥‚dž§‚dÌØšØ¢šØ¢š¥‚cž§‚cÌØšØ¢šØ¢š¥‚bž§‚bÌØšØ¢šØ¢šØ¢š¥‚`ž§‚`ÌØšØ¢šØ¢Ÿš¥‚až§‚aÌØ>‚C‚šØ¢šØ¢§‚cš¥‚_ ž§‚_ÌØ¢šØšØ¢šØ¢šØ¢§‚e𨢠𨢠𨢧‚cšØ¢š­ÞÆ žÙÌÛ¦INTEGER ÐÑÛ¢ §‚ešÛ¢šÖÙÓÆ žÙÌÛ¦REAL ÐÑÛ¢ §‚dšÛ¢šÖÙÓÆ žÙÌÛ¦CHAR ÐÑÛ¢ §‚cšÛ¢šÖÙÓÆ žÙÌÛ¦BOOLEAN ÐÑÛ¢ §‚bšÛ¢šÖÙÓÆ žÙÌÛ¦TEXT ÐÑÛ¢ §‚ašÛ¢šÖÙÓÆ žÙÌÛ¢šÛ¦MAXINT ÐÑÛ¢ÇÿšÛ¢ §‚ešÖÙÓŸÌ®®È¡VÜ̹ÚÐÌÆ žÙÌÜ¢ §‚bšÚáܦFALSE ÐѹܦTRUE ÐÑÜ¢ؚܢښܢšÖÙÓÙÌÚÛáö§‚b¢ÙšÆ žÙÌÛ¦NIL ÐÑÛ¢ §‚`šÛ¢ŸšÛ¢šÛ¢šÖÙÓ­ŠŽ¥‚m ž§‚mÌئ ÐÑØ¢ ŸšØ¢š¥‚l ž§‚lÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚k ž§‚kÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢šØ¢š¥‚j ž§‚jÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚iž§‚iÌئ ÐÑØ¢ ŸšØ¢šØ¢ŸšØ¢ šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š¥‚hž§‚hÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢𨢠šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š­XÆ€¨³ ` ½§‚6¡Æ€¨Æ€¨¼³1Ÿÿàœ ½Æ•¤¦READ ÐÑÆ•¤¦READLN ÐÑÆ•¤¦WRITE ÐÑÆ•¤¦WRITELN ÐÑÆ•¤¦EOF ÐÑÆ•¤¦EOLN ÐÑÆ•¤¦PRED ÐÑÆ•¤¦SUCC ÐÑÆ •¤¦ORD ÐÑÆ •¤¦SQR ÐÑÆ •¤¦ABS ÐÑÆ •¤¦NEW ÐÑÆ •¤¦FILETITLÐÑÆ•¤¦PURGE ÐÑÆ•¤¦CONCAT ÐÑÆ•¤¦LENGTH ÐÑÆ•¤¦DATE ÐÑÆ•¤¦EOLCHAR ÐÑÆ•¤¦SUBSTR ÐÑÆ•¤¦INDEX ÐÑÆ•¤¦MOVELEFTÐÑÆ•¤¦MOVERIGHÐÑÆ•¤¦EXIT ÐÑÆ•¤¦IDSEARCHÐÑÆ•¤¦TREESEARÐÑÆ•¤¦TIME ÐÑÆ•¤¦FILLCHARÐÑÆ•¤¦APPEND ÐÑÆ•¤¦REWRITE ÐÑÆ•¤¦PAGE ÐÑÆ•¤¦CLOSE ÐÑÆ •¤¦SEEK ÐÑÆ!•¤¦RESET ÐÑÆ"•¤¦GET ÐÑÆ#•¤¦PUT ÐÑÆ$•¤¦SCAN ÐÑÆ%•¤¦SIZEOF ÐÑÆ&•¤¦PACK ÐÑÆ'•¤¦UNPACK ÐÑÆ(•¤¦ODD ÐÑÆ)•¤¦CHR ÐÑ®€¬)®€«È¡}Ê€¬Ì¹ÙÐÌÙ³0�à‹ÌÙÆ€¨¼‹“¡RÚ¡Æ ž¹Æ žØÌ€¬Ê€¬ÆÙ•¤ÑÊ€¬¢ŸšÊ€¬¢ ŸšÚ¡ Ê€¬¢š¹Ê€¬¢šÊ€¬¢šÊ€¬¢ÙšÖØÓÙÊ€«Ã¡ö­x¬ôÆ•¤¦PWROFTENÐÑÆ?•¤$𯕤¦MEMAVAILÐÑÆ?•¤šÆ•¤¦ROUND ÐÑÆ?•¤šÆ•¤¦TRUNC ÐÑÆ?•¤šÆ•¤¦SIN ÐÑÆ?•¤šÆ•¤¦COS ÐÑÆ?•¤šÆ•¤¦LOG ÐÑÆ?•¤šÆ•¤¦ARCTAN ÐÑÆ?•¤šÆ •¤¦LN ÐÑÆ? •¤šÆ •¤¦EXP ÐÑÆ? •¤šÆ •¤¦SQRT ÐÑÆ? •¤šÆ •¤¦MARK ÐÑÆ? •¤ 再¤¦RELEASE ÐÑÆ? •¤!𯕤¦SYSCALL ÐÑÆ?•¤#š§‚6¡ džp ÌM¹ ÌMÌ®O®NÈ¡ðÊO̹ÜÐÌܹöÆ žØÌOÊO¢ §‚ešÊO¢š§‚d̹ôŸÌ§‚e̹~Æ žØÌOÊO¢ §‚dšÊO¢š§‚e̹a§‚d̹ZÆ žØÌOÊO¢ §‚`šÊO¢šÌŸÌ¹<Æ žØÌOÊO¢ §‚`šÊO¢š¹$¬¹‰nfM T:ÜÊM‹“¡[Ý¡Æ ž¹Æ žÙÌOÊOÆÜ•¤ÑÊO¢šÊO¢Æ?Ü•¤øšÝ¡ÊO¢š¹ÊO¢šØŸË¡Ø¢ŸšÊO¢ ÚšÊO¢ØšÖÙÓÜÊNáò­p–Oâ«‚8«‚[«‚Y«‚s«‚5«‚4«‚3«‚2Ÿ«‚f«‚U«‚T«‚S«‚1««‚QÇÿ«‚OÇÿ«‚NŸ«„Å«„W«‚G«‚r«‚q«‚F«‚E«‚.«‚D«‚A««‚?«‚>«‚=«‚+«‚*ÌÆ¾ë‚9ÆÂ¿ÆÂ0§‚;Ç膂¿ÆÂ0§‚;d† Ž‚¿ÆÂ0§‚; † Ž‚¿ÆÂ0§‚; Ž‚¿®®È¡.Þ̹ÜÐÌ¥ƒ÷ܤÌÞ¢šÞšÞ¢¦ ÐÑÜÝáö¥‚pÇ‚ž¥„ÊÌÖÆ¦Copyright (C) ÏÖÆÆÏÖÆ¦ Rational Data Systems(ÏÆªP­y^¥ƒ³4 ½¥ƒ¥ƒ¼œ ½¥ƒ³|¥ƒ¼œ ½¥ƒ³t ½¥ƒ³ø ½¥ƒ ³€ ½¥ƒ³t€ ½¥ƒ³ø ½¥‚  ½ ­  Ú•ÌÚÉ¡ Ú ‚ÌÙ•ÌÙd†ÌÙdŽÌÚ�• †Û‚قن‚܆‚Ü�•ŽÌ­B ÖØ®¦'Rational Data Systems Pascal Compiler [ÏÖØ®¦release ÏÖÙ¥„ÆÏÖÙ.ÏÖÙÏ ÖÙ.Ï É¡ÖØ®0ÏÖØ® Ï ¡ÖØ®¦ , overlaidÏÖØ®]ÏÖÙÏ­š ÖØÏÖØ®¦line seg procÏÖÙÏÖØ®¦==== === ====ÏÖÙϧ‚gÌÖØ®§‚A‚Ï ÖÚ:ÏÖÚÙ£ Ï ÖÚÙ£ Ï ÖÚ ÏÖÚ¥‚tÏÖÚÏ­| Æت¶“¡ Ö¶® ,ϸֶ® ¦ /ÏÖÊ ÆÏ­ 6ÖØ®"ÏÖÛ¥‚ÕÏÖÛ"ÏÖÛ¦ compiled on ÏÖÛ²ÏÖÛ ÏÖÛ§‚XÏ ÖÛ ÏÖÛ² ÏÖÛ ÏÖÛ§‚;Ï ÖÛ¦ at ϧ‚R š֨®§‚RÏ ÖÛ:Ï¹ÖØ®§‚RÏ ÖÛ:ϧ‚I š֨®§‚IÏ ÖÛ:Ï¹ÖØ®0ÏÖÛ§‚IÏ ÖÛ:ϧ‚@ Å¡ ÖØ®§‚@Ï ¹ÖØ®0ÏÖÛ§‚@Ï ÖØÏ̧‚-§‚6‚§‚,“‚§‚0“‚ÌÚÅ¡öÖØ® ¥‚Õ¾‚ÏÖÛ¦using the optionÏÚš֨®sϧ‚-¡ Ö¦ByteswapΧ‚6¡Ö¦ ConformanceΧ‚,“¡ Ö¦NocodeΧ‚0“¡ Ö¦SwappingÎÖØ®.ÏÖÛÏÖØÏ­ ˜ Ö§‚;§‚H§‚XÎ ¹q²¦Sundayª¹x²¦Mondayª¹i²¦Tuesdayª¹Y²¦ Wednesdayª¹G²¦Thursdayª¹6²¦Fridayª¹'²¦Saturdayª¹¬¹yl_QA2%§‚H¹ö² ¦Januaryª¹ô² ¦Februaryª¹ô² ¦Marchª¹ô² ¦Aprilª¹ô² ¦Mayª¹ô² ¦Juneª¹² ¦Julyª¹r² ¦Augustª¹c² ¦ Septemberª¹Q² ¦Octoberª¹A² ¦Novemberª¹0² ¦Decemberª¹¬ ¹½¯ ”ˆ~sh[K=.¥„¿¤ø‹¡1Ö¥…÷Î Ö¥…÷Î Ö¥…÷®¦ line seg proc off nstÏÖØÏ¥„¿¤ø‹¡ Ö¥…uÎ Ö¥…uÎ ¥„¿¤ø‹¡Ö¥„óÏÖ¥„óÏÖ¥„óÎ Ö¥„óÎ ¥„¿¤ø‹¡ Ö¥†yÎ Ö¥†yÎ ­”µ Ç&‚«‚]Ç «‚K¥‚;¥‚H¥‚Xž%¥‚R¥‚I¥‚@ž ÖΧ‚,¡Ö¥†ûÏ«‚ZÖÎÖÎÖÎ «‚n«¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š«‚B«‚CÖÓÖÓÖÎÖÎÖÎÖÎÖΫ¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š¥‚gž§‚gÌÊ¢ŸšÊ¢êšÊ¦PROGRAM ÐÑÊ¢ ŸšÊ¢šÊ¢šÊ¢šÊ¢šÊ¢íšÊ¢šÊ¢šÊ¢ š¥‚x¦ declarationsª ï!áwÖÓï᥂t¥Ñ¥ƒ÷í¤¢¥Ñ¹ÖÓÖÓïá>ÖÓïá"ƞʢ¥Ñʧ„Śʫ„ÅÖÓïË«¹«ì¡öïáÖÓ¹Ö)ÓïáÖÓ¹ÖaÓ¹F§‚6¡ÖÓ¹;«‚3«‚s«‚r«¥ƒ÷í¤ÌÊ¢šÊšÊ¢¦EXTERNALÐÑ¥‚tʢѥ„¿¤ø‹¡Ö¥„óÎ ¥„¿¤ø‹¡Ö¥…uÎ Æž ¥‚o ž§‚oÌÊ¢ŸšÊ¢šÊ§‚gšÊ¢ êšÊ¢§‚nšÊ¢éšÊ¢§‚sšÊ¢šÊ¢ Êš­ X^tLÎn¶\ À ¨¢”xÖØÏÖØÏÖØ®¦Error Message SummaryÏÖÙÏÖØ®¦===== ======= =======ÏÖÙÏÖØÏ­XÖØ®¶Ï ÖÙ ÏÖÙ²@ÏÖÙÏ­$ÖÆÆ@ ÏÖÆ¦ERMSGFILÏÖÆ¦ PASCAL.ERÏÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óήaÇÿ®`È¡tÊa̹ØÐÌØ¥‚¼ ‹¡ZÖÆØÏ ÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎØÊ`áöÖÆÏ­va <ÖØÏÖØ®¦Segment NumberÏÖÚ¦ Segment NameÏÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛø•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚ƾÊ$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆGÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐÌ¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 ØÄØÈ„¡ÖØÓ ¹ÖGÇ€‚Ó ÖØÆÆÓÖÙÓ ÖÚÓ ­0ØÈ¡ÖØÓ ¹ÖÇ€ØÇ†‚Ó ÖØÇŽÓ ­(ÖØÇ€‚Ó Ø&á+óÌÖÚùÓ ®Úù®È¡Ü̹ÙÐÌÖÚ¢Ù•Â¾Ó ÙÛáö­BÖØÇ€‚Ó Ø3áxÌÌÙá̹ÛÈó¢Û•¤øÃ„¡Û‚̹öÚÛ•‚ÌñÝšÝÅ¡)ÖÝÓ Û®Ú®È¡ß̹ÜÐÌÖó¢Ü•¤øÓ ÜÞáô¹ë•«Ýá Ö󢕤øÎ¹cسÀ0$@‹¡ÖÙÓ ¹LØ'ÃÙÈ„¡ë•«ÖÇçÙ‚Ó ¹4ØJÃÙÈ„¡ë•«ÖÇ×Ù‚Ó ¹Ø#ÃÙÈ„¡ë•«ÖÇøÙ‚Ó ¹ÖÙέ”Ï ôØ@ÃØMÃ�¡ÖØÇ€‚Ó ÖÙÓ ÖÚÓ ¹Jس³€‹¡ÙáÖØ‚Î¹ÖØÙÎÙÅ¡ÖÚιÙá ÖØ‚ÚÎ¹ÖØÇ€‚Ó ÖÙÓ ÖÚέnÙÌÝù¡^ÖØÇ€‚Ó Ýúë••ÌÚÄÚÈ„¡ÖÚÓ ¹=ÝøÃ¡&ݧ„Wš§„WcáÖÇÿÓ¹§„W‚«„W¥„XÝø¤ÝúšÝø‘ÌÖÇøÝø•Ýø•Ó ¹'ÖÝúÆÆÓØ9á ëǂ̹ëÌÝ¢ÚšÖÜÓ ÖÛÓ ­”ÖÎ ñ§‚bË¡ÖÇÓÖ!ØÎ­ ØžØøÌÙ¢šÙšÙ¢Ç`mš­ ØÌÛúÌÛ¢šÛøË¡ ¥„XÛø¤ëšÛ¢ëš§‚7“¡6ÙÇ`mÉ¡/ÙÇÄ¡ ÙÇ•Ì9̹!ÌÙ«Öèë¾è낾ÆÓÖÚØÎ¹öÛú«­<j ñŸË¡ôò¹öñùÃñ§‚dË„¡Öóι ñ§‚`áÖιñ§‚dáÖ3ιÖ3ιZó¹3ôáÖ'õι Ö6§‚nô•õι-Ö#ôι&Ö:ι Ö<ñøÎ¹Ö>ι¬¹ ;% ¹¹¬¹ˆVñùÃòË„¡ÖñøÎ« ­$ ´ ØÌÙøŸË¡[Ùú¹EÙûáÖ+Ùüι Ö8§‚nÙû•Ùüι;ÙûË¡ÖÇ.Ó¹Öι'Ö;ι!Ö=ÙøøÎ¹Ö?ι¬¹ M3!­lñŸË¡nò¹VÖñÓ¡Ö&ιÖÇ-Ó¹Mó¹.ôáÖ%õι Ö2§‚nô•õι$ôË¡Ö"ôô‚ιÖǾÓ¹¬¹6 ¹ ¬¹^K« « « ­|ÜÌÊþ« « Ê£¹ö« Ê£ « Ê£ «¹ôÊ£ á Ö'Ê£ ιÖ6§‚nÊ£ •Ê£ Ϋ « ¹ô¥ƒ §¤ÌÊùá« Êú« ÊûÊ£ ‚«¹!§‚ná Ö'ÊúιÖ6ÊúΫ Ê£ « Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« «¹¬¹ æùÀ?ñŸË¡ñùÈñøÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ ÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:ïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ Üέ0ØêšÖÓê§Å¡ê«­ ñŸË¡ñùÉ¡ÖÎ ¹Öέ%¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó ÖÓ ÖóÓ §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïË¡îïáÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ð``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òñŸË¡ ñùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)02*6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥ Ê¢¨¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšÊ¢šïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓì¡ðïáÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³€œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡Öι ÖÇÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ι ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚JÖÆ¼³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñÓ„�¡Ì̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓÌ ¹ ÖÇ…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï áÖÓ¹Ö^Ó­:< D=êÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Ê ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@Bž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ ž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ Ó­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚x¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜú̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎÖ2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßÅ¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓ¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤øÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺ ƒ$„#~„"„!„ „Ì…„ L þü ¸ 4`€†„………„„„„„„„„Ø„„„„ „ „ „ „ „„„„„„„6îƒp ¢²4^Îôƒ®¶ *!$!l!šŒˆDÇÿÙ€•Ú€ÉÙÉÚÉ„ÙÅÚÅ„�„¡Ì¹ÌÛÙÚ‚š­0Ùá̹ Ú€ÇÿÙ€†ÈÌÜ¡ ÌÛÙÚ�š¹Ì­.ݚ弄¼‹“¡ÖÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡ìïáòéÌ ¥ƒ é¤ùˡ镫¹öÆžßÌʚʢšÊ¢šŸÌ Ì ÖÓïá=Æ žÊ ÌÊ¥ÑÊ¢ ßšÊ¢Ê šÊ¢Ê šÊ¢šÖÊ ÓÊ ‚Ì Ê Ì ÖÓ¹Ö!ÓïÆ¼"œ‹“¡ÖFÓÖÆ¼"œ ÓïË¡ôߢÊ šß¢Ê šÊ «ïáÖÓ¹Ö,Ó¹îïáðÖ Æ ÓÖÓÊ £ánÆžßÌÊ ÌÊ¢ÊþšÊ¢šÖÊúÓ¡ ÖÇ”ÓÊ¢ŸšÊ¢Ê¢¨Êšï#áÖÓ¹ÖÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖÇÃÓ¹Ê þÌߟˡÝßøš¹vÆžߢšÖƼ³œ ÆÆ ÓÖÞÓ¡ ÖÇ ÓŸÌßÌÊ¢ÞšÊ¢Æ ¨Êšï#áÖÓ¹ÖǺÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖkÓߟˡ7ßÌÊùá-ÊúŸË¡&Êú§‚dáÖÇ$Ó¹ÊüÊûÅ¡ ÖfÓÊ¢ÊüšÜßšïÆ¼‹“¡ÖGÓÖÆ¼ Ó¹ÜŸš­$Øqÿ1 nÌٟ˶„¡ôÙÌÝù¹kÙ§‚eËÙ§‚dË„¡8ÖÙÆÆÓ ÛÄ¡+ÌÚḹÇ@̸ÜÚÅ¡¶•¸Ü†Ì¹ö¹4ÖÝúΡÖÝúÆÆÓ Ú‚ÌÚÉ¡ÌÚ¸¹¬¹su2­N šÌØÌÖÚþΡ@¶¶‚Å¡¶ ‚¸ ¸ÌÚ¢¶ šÚ¢šÚ¢¶šÚ¢¶š¶¶‚¸¹/¶ ¶Å‚¸ ¸ÌÚ¢šÚ¢¶ šÚþŸË¡ ¶ Úþø‚¸ Ù¶ŸË„¡/¶ÌÚ£ ¡%Ú£ áÚ¢š¹Ú£ ÈÚ£ È„¡ Ú¢šÚ¢š­¾²ž¶ÌÙ¢ŸšÙ¢ŸšÙ¢š¶¶šÖÓïáö¶¡² ž¹² ž¶ ÌÙ¢ ŸšÙ¢šÙ¢ŸšÙ¢šÌ«‚.Ö ² Ó«‚.¶ ŸÃ¡!̶ ¥ÑÖ¶ ÓÖÓïáÖÓ¹Ö8ÓïáXÖ ² Ó¶ þ¸¶ŸË¡;¶ùÈ¡/Ö§‚d¶Ó¡ÖÇÆÓ¶ ¢ ¶š¶¢¶ šØ¡Ö¶ ιÖnÓÖÓ¹Ö%ÓÖ²¼Çœ Ó¹Ö&ÓÖ²¼Çœ Ó¶¶ ¶Å‚šï áÖÓ¹ÖWÓŸ¸¶ ¸¶ ¸¶¸¶¸Ÿ¸ Ö²¼œ ² ²Ó¶úŸË¡Ö¶úþ¶ Ó“¡ÖoÓ² ž¶ ÌÙ¢¶šÙ¢¶ šÙ¢²¨Ù¢š¶ ¸¶ ¸ ï˫쓡ÖÓì¡ôïáÖÓ¹Ö9ÓïáÖÓ¹ÖXÓï៸ ¹Ö²¼(œ ² ζ ¶Å¡¶ ¸¶¸¹¶ ¶ö¶Å„¡¶¸¶ ŸË¡%¶ ú¸ ¶ ¢¶ š¶ ¶ ¶Å‚š¶ ¸ ¹òïá%ÖÓï²¼œ‹“¡ÖNÓÖ²¼œ Ó¹Ö-Óï˫쓡ÖÓ¶¸ ¶¸ï Ãì�¡ð¶¸ ¶¸¶¢¶š­j’j»È ŸÌŸÌŸÌï³ ‹“¡ÖÓÖÆ¼³ œ ÓïáðÞÌïáA¶¡Æ ž¹Æ žÊ ÌÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢šÊ¢šÊ ÌÖÊ ÓÖÓ¹ÖÓï‹“¡ÖAÓÖÆ¼³ œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö.ÓÖÆ¼³ œ ÆÆÎÊŸË¡ ÊùáÖlÓßÞË¡ßÌÊ¢ ÊšÖßÎßÌÊÿ̹ôÊ Ìïá)ÖÓï³ ‹“¡ÖÇ™ÓÖÆ¼³ œ Ó¹òŸÌÞŸË¡ÞÌÊÿÌ Ê¢ßšÞÌÊ Ì¹îïáÖÎ ¹ÜŸš­+08…4p² ž¶¶ š¶ ÌØ¢ŸšØšØ¢šÖÓïál«‚.Ö ² Ó«‚.¶ ŸÃ¡+² ž¶ ÌØ¥ÑØ¢ ¶ 𨢧‚fšØ¢š¶ «‚f¹#¶ þŸË¡¶ þùË¡ ¶ ¢¶ þš¹ÖÇÄÓÖÓ¹ÖÓ­  Ì弄¼‹“¡Ö ÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡Þ弄¼‹¡ÖƼ ÜÝιàïáÖÎ ¹âï+á&ÖÓÌ弄¼‹“¡ÖYÓÖÆ¼¥ƒ¼œ Óï,áðÖÓïáÖÓ¹Ö ÓŸÌÊ¡Æ ž¹Æ žÊ ÌʢߚʢŸšÊ¡Ê¢šÊ¢šÊ¢šÊ ÌÖÆ¼³œ ÆÆ ÎßÊ šÞŸË¡7ÞùÈ¡(Þ§‚dá Ömӟ̹ާ‚eá ÖǕӟÌÊ ¢Þš¹ ÖÇÇÓŸÌï˫쓡ÖÓì¡öïáÖÓ¹Ö[Óï áÖÓ¹ÖTÓÖÆ¼ Æ Æ ÎÊ ŸË¡ Ê ùáÖÇÅÓÖÊ Î¡"ÊʂȡßÌÊ¢šÊ¢ ʆšÊ¢ ÊšßÌÊûÌÊ¢Ê šÊúŸË¡ôÖÊúÆÆÓ Êü¡;ÖÊÊ‘ÆÎ¡&ÖÊÆÎ¡ÊÊþ†ÊÊþŽË‚Ì ¹ÖÇKÓ¹ÖÇFÓ¹@ÖÊÊ‘ÆÎ¡-ÖÊÆÎ¡ÖÊ ÊÆÎ¡ÊÌ ¹ÖÇGÓ¹ÖÇHÓ¹ÖÇIÓÊ Çÿ?Å¡ ÖÇJÓÌ Ê È¡ ÖÇ'ÓÌ ÊÊ šßÌ ÞÌߟáò¹äï-áîÖÓéÌ é ɡ邫¥ƒ é¤ÌÊŸšÊ¢š¹ÖÇÓÌ ÌÖÆ¼…Çœ ÆÎÊ ÊÅ‚Ì Æ žÊ ÌÊ¢¥ƒ 餸šÊ¢ßšÊÊ šÊ¢šÊ «ï áÖÓ¹Ö_Ó¹æï*áìÖÓï áÖÓ¹ÖUÓÖÆ¼ ÆÆ Îߟˡ%ßùÅ¡ ÖÇÈӟ̹ߧ‚dÃß§‚eÃ�¡ÖrÓŸÌÆ žÊ ÌʢߚʢšßŸË¡4Ö߯ÆÓ ÊÉ¡ÖÇTÓÊÊ‚†šÇÿÊøÉ¡ ÊÇÿšÖǩӹʚ¹èï.áWÖÓÆ žÊ ÌÊ¢šÊ¢Ÿšï áÖÓÖÆ¼ ÆÆ ιÖVÓŸÌÊ ¢ߚߟˡßùáÖÇ6ÓÊ >ßø‚š¹êï3á|ÖÓïË¡ÖÇ´Ó¹lÖÓÖÆ¼³œ ÆÆÓß§‚eá8ÊÈÊÇÿÅ�¡ ÖÇÓÌÆ žÊ §‚_¨ Ê ÌʢʚÊÊ‚†š¹ÖÇ€ÓïáÖÓ¹Ö\ÓÜÊ šïƼ‹“¡ÖJÓÖÆ¼ Ó¹ÜŸšÜøŸÃ¡Ýš¹ÝÜøøš­139;=?ÂP$a/ Êï"áY¥ƒ é¤ÌÚüÌÌØŸËÙ“„¡Øù§Ë¡Øú̹ ÌÖǦÓ¹öÙ“¡!ÆžØÌÛšÛ¢§šÛ¢ŸšÛ¢ÚüšÚ¢ØšÖÓ¹ÖÓï²¼ œ‹“¡ÖBÓÖ²¼ œ Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖcÓ­¢� ¬ ïË¡ÖÓÖ²¼œ ÓïáôÆ žØÌÛ¥ÑÛ¢ ŸšÛ¢ŸšÛ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÓÖ²¼œ ÆÆÓÖØÓØ¢ ٚآƨïá%ÖÓï²¼œ‹“¡Ö?ÓÖ²¼œ Ó¹ÖbÓ¹ö­� ¬ ïË¡Ö"ÓÖ²¼œ ÓïáòÆ žÚÌÝ¥ÑÝ¢ ŸšÝ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÇ—ÓÖ²¼œ ÆÆÎÖÚÓÚ¢ Ûš§‚fÌÙŸË¡+ÙÚ¯¡Ùþ¢ÚþšÙ§‚fˡآÙÿš¹Ùÿ«‚fÙÌÙÿ̹öïá%ÖÓï²¼œ‹“¡ÖKÓÖ²¼œ Ó¹ÖvÓ¹ô§‚fŸË¡ ÖÇÒÓŸ«‚f­Éx ê ŸÌïá/Æ žÚÌÝ¢šÝ¥ÑÝ¢ٚݢ ŸšÝ¢§‚nšÖÚÓÚÌÖÓ¹Ö#Óï²¼œ¥ƒ¼œ‹“¡ÖLÓÖ²¼œ¥ƒ¼œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö1ÓÙÌÖ²¼œ¥ƒ¼œ ÆÆÎÙŸË¡=ÙÌÝ¢ ۚݢêšÖÜÓÝÿÌÝÿŸÃ¡ ÛŸË¡ÛùáÝ¢¥ƒ é¤úš¥ƒ é¤¢Øš¹ôïá%ÖÓï²¼œ‹“¡ÖMÓÖ²¼œ Ó¹Ö|ÓïË弄¼‹“„¡ò§‚fŸË¡ ÖÇÓÓŸ«‚f­1”5 @ŸÌ êÌïÆ¼œ‹“¡ÖÓÖ²¼Æ¼œœ Óïáì¶¡ÖwÓÖÓï³@‹“¡ÖOÓÖ²¼!œ Óï³@‹¡ðïáÌ ÖÓ¹Ì ŸÌÌïáKÆ žÊ ÌÊ Ã¡Ê¢š¹Ê¢šÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢§‚nšÖÊ ÓÊ ÌÊ‚ÌÖÓ¹ÖÓï²¼œ‹“¡ÖPÓÖ²¼.œ Óï˫쓡ÖÓì¡öÌ ŸÌ ïáNÖÓïá@Ö Æ ÓÖÓÊ þÌ Ê ŸË¡Ê Ã¡Ê ùáÖyÓ¹ Ê ùÈ¡Ê øÌ ÖÊÊ �Ó¹ÖÓ¹Ö/ÓŸÌ êÌßÌÞŸË¡"ÞÌ ÞÌÊÊ •Ìʢʚʢ Ê šÊÿ̹ôÊ ŸË¡ Ê ¢Ê šßÌ ï(²¼œ‹“¡ÖQÓÖ(²¼œ Óïá)ÖÓï²¼³@œ‹“¡ÖRÓÖ²¼!œ Ó¹òïá+ÖÓïÆ¼²¼œ‹“¡ÖCÓÖÆ¼²¼œ Ó¹Ö+ÓÝ¢ꚟÌÊ ŸË¡<Ê ÌÊÿÌʢޚʣáÊþŸË¡ÊþùÅ¡ Ê¢êšÖÊþøÓÊ ÌßÌ ¹îÜÞš¹ÜŸš­NŒ †¶¡ ¶«¶«‚r¶ «¶ «¶ «‚n¶«‚s­.ØÌ¥„¿¤ø‹¡`Ö¥„ó®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥„ó®¦. ÏÙÛáöÖ¥„ó®ÚÏÖÛÏ¥„¿¤ø‹¡`Ö¥…u®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥…u®¦. ÏÙÛáôÖ¥…u®ÚÏÖÛÏ­)— èØ0áR§‚3¡ÖÇNÓïÌï³€‹¡ÖÓ¹ ÖÇ!ÓÌÌí̧‚q«§‚rÌ«‚r§‚8¡ÖÇ Ó«‚?«‚Y¹ÌêÌ «ê«‚Q«‚5ïáòÖ¥ƒ 餸ÆÓÊŸË¡FÊ£áÊ£ØÄÊ£ Ä̹ʣáÊ£Ø Ã„Ê£ Ä̹ÌÊ“¡ÖÇ Ó¹ÌÊ“¡öØáÆž¹ÆžÊÌÊ¥ÑÊ¢ ŸšÊ¢êšÊ¢šÊ¢šÊ¢ šÊ¢§‚nšÊ¢§‚ršÊ¢íš§‚3Ê£ ÄÊ£ Ä¡¥ƒ÷¤¢ÊÑ¥‚tÊÑÊ¡#§‚qÅ¡ÖÇÓ¹§‚q‚«‚q¥ƒ÷í¤¢¥Ñ§‚rǕáÖÇÓ¹§‚r‚«‚rØáÊ¢š¹Ê¢šÖÊÓ¹}ÊÿÌÊŸË¡DÊÌÊþŸË¡2Ê£¹Ê£ Êþø‚̹ʣ ‚̹ ¬¹ ÊêšʫÊÿ̹ôÊ£ íË¡&Ê£ Ë¡ÖÇUӹʡ Ê£ ««‚r¹ÖÇ"ÓÖÓ¹ ÖÓ§‚i̧‚sÌÊ£ «‚s§‚nÌ §‚nÉ¡ §‚n‚«‚n¹ÖÇûÓéÌ é É¡7é‚«¥ƒ é¤ÌÊ¡ÊÊÿš¹ÊŸšÊ¢ŸšÊ¢ŸšÊ¢šÊ¢š¹ÖÇúÓÊÌØáÖ ÆÊÎÊ“¡Ê¢Êš¹ìÖ  ÆÊÎÊ“¡Ê¢ÊšïáîÖÓïá|Ê¡ÖzÓÖ ÆÓÊþÌÊ¢ ʚʟˡÊù‹“¡ ÖxÓÊ¢ ŸšÊþŸË¡ÊþøÌ¹ÌʢʣʂšÊÿÌʟˡʢʣ Ê‚šÊÿ̹ðÖÊÓÖÓ¹ÖÓÖ²¼œ Ó¹ Ê“¡Ö{ÓïáÖÓ¹ÖdÓïÃ¥¦FORWARD Я„¡BÊ¡ÖǡӹʢšÖÓïáÖÓ¹ÖpÓï²¼‹“¡ÖDÓÖ²¼ ÓÖιàïÃ¥¦ASSEMBLEЯ„§‚6“„¡èÊ¡ÖÇ1ÓÖÓïáÖÓ¹ÖSÓï²¼‹“¡ÖÇ ÓÖ²¼ Ó«‚+Æž ¥ÇžÇÿ«‚M«ÊŸË¡VÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÊþŸË¡ ÖÊþøÓ ¹ÖÓ ÖÇÿÓ ÖÇþÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇBÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÆž!ÖÊÎÖιâïÃ¥¦EXTERNALЯ„§‚6“„¡äÖÓïáÖÓ¹ÖǯÓï²¼‹“¡ÖÇÏÓÖ²¼ Ó«‚*Æž ¥ÇžÇÿ«‚M«ÊŸË¡<ÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáæÖÇýÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇÑÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÊ¡ÖÓ Æž!ÖÊÎÖιPÊÌÊ¢šÊ¢ šÖÊÎ¥‚tÊÑ¥‚x¦ declarationsª Æž Ì Ȩ̂‚oÌ ¥‚o ž§‚oƨ ¸­VÓVæ×â2±¸\ÆÚÑÙøŸÃ¡Ì¹ZÙøÆ¯¡Ì¹LÙøÌ Ì Ê Ã¡!Ê ÿÌߟáÌ ¹߯¯¡Ì ¹ßÌ ¹öÊ á̹ÌÊ ¢ßÿšß¢ÙøšÙßš­GtÆÙŅ̃„ÅÌޟˡޢƯ¡¹ ¹ÞøÌ¹öÌ­ 4ÆÙÑÌ¥ƒ é¤úÌÞŸË¡ÞÆ¯¡¹ ¹Þÿ̹öÌ­ 6ØøŸË¡ŸÌØøÌØÙ𨸸ÌØøÚšØøÌٟáö­,ÆØÑÆ žÝÌÞÆÑÞ¢šÞ¢ §‚ašÞ¢§‚nšÞ¢êšÖ§‚aøÓÞ¢¥ƒ é¤úš¥ƒ é¤¢ÝšÖÝÓ­RÖ¦INPUT ÐÎÖ¦INPUT ÐΓ„¡Ö¦INPUT ÐÎÖ¦OUTPUT ÐÎÖ¦OUTPUT ÐΓ„¡Ö¦OUTPUT ÐÎÖ¥„ÅΧ„ÅÌØŸË¡Ö¥ƒ 餢آΓ¡ÖÇ0ÓØøÌ¹öÖ¥„Åέ+ž§‚2§‚0„¡«‚2ÖÆ¼ Ó¹òÌïá§‚3§‚nÄ¡ÖÇLÓÖÓÖÎ ïáÖÓÖÎ ïáÖÓÖÎ ïá§‚3§‚nÄ¡ÖÇMÓÖÓÖΧ‚nç‚3“„¡ÖÎï³€‹¡ ïÌÖÓÖÝιöïË¡弄¼‹Ü„“¡ÖÓÖÆ¼ ÓïÇ¥ƒ¼œ‹¡ô­¯Q ÒzÒ@zâ V D xü L<înˆV¼¬2f0§‚2§‚0„¡ ÖÆ¼ Í¹.ÖÆ¼ ÍÖÆ¼³ œÇ… Í§‚oŸÃ¡öÖÎ ­0NØÅÌÚÙÇØÇ€Ž�‚šÛ¡ ÚÚøÇÿ••š­(ÙÚá̹îÙŸÃÚŸÃ�¡Ì¹ðÙùÚùË¡'Ùùá ÖÙúÚÎ̹Úùá ÖÙÚúÎ̹̹òÙù¹ö̹ôÖÙúÚúÎ̹ôÙ§‚`ÃÚ§‚`Ã�̹xÖÙúÚúÎ̹lÖÙÎÖÚ΄“¡Ì¹AÖÙÎÖÚ΄¡Ì¹/ÙúŸÃÚúŸÃ�¡Ì¹ÖÙúÆÆÎ ÖÚúÆÆÎ ÞÃÝÄÜÛÄ̹¬¹Ї}pf”–­ ôŸÌݚ弄¼‹“¡Ö2ÎÖÆ¼¥ƒ¼œ Î弄¼‹¡ôï%á?§á§‚c̹(Æ žÞ§‚_¨ Þ¢§šÞ¢ŸšÆ Ç‚žÊ §¨€‚Ê «Ý¥¨ÖιöÌ ï(Ãð`‹„¡ðáÌ ¹Ì ÖÎïádÖ ÆÎßÌ Ê þÌÝÊ ¢¨Ê Ë¡AÞ§‚eá Ê áÝÝø‘š¹-Þ§‚dá"Ê áÆ žÊ šÊ ¢Ýø¢¼’½ÝÊ š¹ÖiÎÖιTï"áÊ á§‘«§‚eÌÝ¥¨Öι5ï$á"Ê á §¢§¢¼’½§‚dÌÝ¥¨ÖιÖjÎÖÆ¼ ÎïÆ¼‹“¡Ö>ÎÖÆ¼ ÎÜÞš­  v¥ƒ 餸Ìڟá ¥ƒ 館š¹8ÚÆØžÌÛáÖeÎÙüŸÃ¡Ì¹ ÙüÆØžÌ¹öÛá٢ؚ¹Ù¢ ؚآ ŸšØ¢Ÿš­<dë‚§‚MÅ¡ ÖÇýΫ‚7«èëÂØ¿ë‚«­( ë„¡ÖÎ ë‚§‚MÅ¡ ÖÇΫ‚7«ÖØÆÆÎ§‚9§‚-áèëÂÚ¿èë‚ÂÙ¿¹ èëÂÙ¿èë‚ÂÚ¿ë‚«­X ØÌÛùá ÙÛüšÚÛûš¹"ٚا‚cáÚÇÿš¹ØûŸË¡ÚØû£ š¹Úš­> ««‚4«‚Ÿ¥€—ÂÇÿž §‚1¡5Ö¥€—¥‚C¥ˆ9Γ¡#Ö¥ˆ9ϧ„¼«§�«�¥€—¥ªÿ§‚/«‚4«‚1¹Ö¥€—¥‚B¥‰wΓ¡ÖÇ/ÎÖ¥€—Î¥€—¾Çÿ•Å¡ÖÇέ†Ù¿ۢ|ÚøÂ¾§‚Wá̹dÛ¢|ÚøÂ¾¥„½¼‹“¡/ÙÂÙ¾‚¿ÙÙ¾ÂÛ¢|ÚøÂ¾¿ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏÚš¹öÛ¢|ÚøÂ¾«�ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏښ̭g †êØ‚Çÿ?Å¡ ÖÇÚΫ¹êØ‚«­"§‚A‚«‚AÖÎÖÎîP ¥€—îž ‚«§‚5¡ê«‚Q¹ë«‚Q­4ÌÌ Ì Ì Ì Ç'ÌÇ'ÌîÌî‚«¥€—î¾0É¥€—î¾9Å�¡öî•Ì ¥€—î¾.áS¥€—.Ë¡GÌî‚«îÌ¥€—î¾³ÿ‹“¡ÖÇÉÎ¥€—î¾³ÿ‹¡î‚«¹ôî•Ì ¥€—î¾³ ‹¡\Ìî‚«¥€—î¾-á î‚«‘Ì ¹¥€—î¾+áî‚«îÌ¥€—î¾³ÿ‹¡î‚«¹òî•Ì Ê ÝÉ¡ÖÇÎØábÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«« Ü«¹èÆнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Û¾‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFj$¡0—¾È¥€—î¾ Ã¥€—î¾ Ã�„¡î‚«¹ô—¾È¡¹Öιò« /«¥€—î¾¹îÖÎ#¹ìÖÎ$¹ì¥¥€—¥�¥¥ ¥ž ¹ìÖιð¹ì¥€—*á î‚«Öι𹫹쫹쫹쥀—.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—¹ « î‚«¹ « î‚«¹ ¬=>¹¹ì)« « ¹ì)«¥€—=á « î‚«¹ « ¹ì¬'{¹ìò×…Ø{×w "$&(*,.02Ô»‰ZT2À=?ACEGIKMOQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿï/áÖÇ)Îî‚«§‚[„¡¹ð­Ð  ,ØÉÌÛ¡ Ø‚Çÿ‚ÌÙØÇ†šÚØÇŽšÛ¡ÙÙøÇ€‚š­2ÌÙŸË¡Ùùá ÙüÙû§‚cÄÌ­"ž§‚JÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Ö¥…÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷®Ö¥€—Æm¥€—¾l•ÏÆÏ¹ Ö¥…÷®¥€—ϧ� áÖ¥…÷Ϲ֥…÷ϧ‚4¡ò¥„¿¤ø‹¡Ö¥…÷¦ERRORÎ%¥€—¾ ¥€—ž ÌÙ¥€—¾É¡E¥€—Ö¥€—ÆÙ‚¥€—¾Ù•ÏÆªÿ®§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥†y® ÏÖÚ¥€—ÏÖÚÏÖ¥†y¦Î%¥„¿¤ø‹¡qÖ¥…u®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ È鮮ġIÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹§‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„Ù•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFILEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒ1ƒ0‚2 R‚/„,„+ƒ-ƒ*ƒ)‚. Мþ:`�3èH H Ô ` ¤�(�'�&6�%¢FN'§‚9§‚-á ٕؕ€ŽÌÌØÙ‚É¡M̮ٮȡÞ̹ÜÐÌÛÛ‚ÌÜÝáö®Ø®È¡#Þ̹ÜÐÌÚÛ‚ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáô¹0‘̮ٮȡ#Þ̹ÜÐÌÚÛ•ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáòÖÚέ$Xv ¬ Ì Ì ñŸË¡ óÃñùÅ�¡ÖÎÖñÓÌ Æ¥ ¨ÖÓÖÆ¼ Îòá ñ§‚cÃÖñÓ�Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡ôñ§‚eáÖ§‚dÜÓ¡ Ö Î§‚d« Ì Ê ¡\Üÿ¡ ñ§‚cáÌ ¹LÜúŸË¡CÖÜúÆÆ Ó Ê Ê•‚Ì Ê ñ§‚cË„¡%ÖPÎÊ ñ£Ë¡ÖÇ�Ó§‚6ÊË„¡ÖÇ@ÓÜ« ¹Ü« Ê “¡ÖÜñÓÌ Ê ¡öÜù¹o§‚D„“¡ÖÜüÎÖÜûÎÖÎÖÆÎ¹gÖ ÜøÎÖÆÎ¹ZÖÆÎ¹SÊ ¡"Üÿ¡ñ§‚cáÖ)ιÖ*ܣιÖQÊ Î¹Ö(ÜøÎ¹%Ö(ÜøÎ¹ÖÇ’Ó¹¬¹LxP_M!¹ÖÇîÓ­  ŠÖƼ ÎÖñÓòÃñ§‚cÄ�¡FòáÖι:òá5ñ§‚cá+§‚pÌܚܢšÜ¢•Âó¿§‚p« ¥ žñ§‚_¨ ñ¢šÖιñŸË¡ÖÇçÓ§‚_« ­zÖ²¼"œ ÎÖΟÌÌÌñŸË¡)ñÌÝùáÝúŸË¡ÝúÌÞøÌÞùáÞû̹ÖÇÌÓïáòÖÓÖ²¼"œ ÆÆÓÚ‚ÌٟáÖÇžÓ¹fÙùË¡ÖÇ¢Ó¹XÙúŸË¡RÖØÓا‚dÃ�¡ÖÇŸÓ¹=ÖÙúþØÓ¡-ÙûÌØŸË¡ØÌÝüÜá ÝøÌÝú̹¹Ýû̹öÙøÌŸÌ¹ÖÇÍÓ¹ôÖÛÎÖέ ¢A ô§‚3¡ÖÇPÓïáÖ` ÆÓÖÓ¹ï!á §‚gÌÖÓ¹ŸÌ؟ˡأ áÖØ£ ÎÖØ£ ιÖÇÜÓ¹ÖÇÝÓÖέfÌêÌÖÇÿ†‚ÓÖÎÖ8ØÎÖVÎÖ2ØÎÖ²¼"œ ÎÙñ£‚ÌÙÇÿÉ¡ÖÙιÖÇÿÎÖOÎï˫쓡ÖÓì¡öÖ2ØÎÙÇÿÉ¡ ØÙ†‚‚«¹ÇÿÌê§Å¡ê«Ø«¥ žñ§‚_¨ ñ¢Ùš­‚ ¤êÌÖÇÿ†‚ÓÖ²¼œ ÎñÌÖ2ØÎïáÖÓ¹ÖǶÓÖ²¼œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇèÓïáÖÓ¹ÖÇ·ÓÖ²¼ œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇéÓÖOÎÖ2ØÎÙ£ÇÿÉ¡ ØÙ£†‚‚«ê§Å¡ê«Ø«Ù« ­ÀïáÖ ÆÓÖÓØþŸË¡ÖØþø�Χ‚e« ­,Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÛÓ¶¹ Öι1Öι+¬¹$  "/ÖOέlÖ²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇßÓ¶¹Cïá#ÖÓÖ²¼ œ ÎÖÎ ñ§‚eË¡ÖÇàÓ¹ÖÇáÓÖO ιÖOιÖOι¬ #¹K­‚Ö²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇÞÓïË¡ÖǪÓ¹ÖÓÖ²¼ œ ÎÖOέNƥѫ‚.Ø¡¥¦INPUT Ðѹ¥¦OUTPUT ÐÑÖ  ÆÓ«‚.¥ÆÑݟáØ¡ÖÇÎÓ¹ÖÇ3Ó¹cÝþ§‚aˡءÖÇÐÓ¹ÖÇ4Ó¹HÝÌÞ£á Þ£ á Ö%Þ£ ιÖ2§‚nÞ£ •Þ£ ιޣ á Ö'Þ£ ιÖ6§‚nÞ£ •Þ£ έĶ¡3Ö²¼ œ ÎÖÎñŸË¡ñùË¡ÖÇìÓ¹ ñ§‚aË¡ÖÇÓ¹ÖÎÖOέJñŸË¡gÖ§‚eñÓ¡ÖO ιVÖ§‚dñÓ¡ÖOιEÖ§‚cñÓ¡ÖOι4ÖñÓ¡'Öñ£ÎÖOζˡÖdzÓ¹ ïáÖDzÓ¹ÖÇâÓ­t!ïá1ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇÀÓ¹ÖÎÖÎ!¹ö­8@"ÖVÎÖ²¼"œ ÎÆ¥ ¨ÖÎñŸÃ¡Ì¹ñ§‚aá̹ñùá̹Ìعöïá:ÖÆÎ Ö.ÙÎÖÓÖ²¼"œ Îó‹¡ÖÇQÓ¹ÖÎÖÎ!ÖÙÎ"ê•«¹ÖǮӹôÖÎÜ‹¡ÖÇRÓïáÖÆÎ Ö.ÙÎÖRÎÖÎ!ÖÙÎ"ê•«¹ÖRÎÖÎ!¹ôÖÆÎ Ö.ÙÎïá[ó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÖÓÖ²¼ œ ÎÖÎÖRÎÖñÚúÓ¡Ö(ñøÎ¹ÖǰÓÖ6ÙÎÖOιÖǸÓê•«¹¹¬¹ƒ¿­ X#¶¡öÖÆÎ ÖVÎÖ²¼"œ Îó‹ÌòáÖιÖÓÌñ§‚aáOïá ÌÖOι>Ö.ØÎÖOÎïá/ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇSÓ¹ÖÎÖÎ!¹&Ú¡ÖtÓÖVÎÖÎÖ.ØÎÖOÎÖ6ØÎÖRÎÖÎ!ÖØÎ"Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ä$ñÌïá+ÖÓÖ²¼&œ ÎñŸË¡ ñ§‚eË¡ÖǹÓÖΠ̹ÌÙ§‚dáGØ¡ÖÎïá,ÖÓÖ²¼"œ ÎÖÎ ÖÎñŸË¡ ñ§‚eË¡ÖÇêÓ¹ÖÎÖÎÖOιôÙ§‚eáØ¡ÖÎÖO ιöÙ§‚cáØ¡ÖÎÖOιnÙ§‚báØ¡ÖÎÖO!ιYÖÙÓ¡Ø¡ÖÎÖOιDÖÙÓ¡7¸ÙúŸË¡ÖÙú²²Ó ¶¶•‚¸Ø¡Ö¶ÎÖ¶ÎÖOιÖÇëÓ­ (&ïá#ÖVÎÖ6ØÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ö­*2'ñ§‚dá ÖÆÎ ÖRÎÖ8ØÎÖRÎÖ6ØÎê•«¹ÖRέ4(ÖVÎÖ²¼&œ ÎÆ¥ ¨ñŸÃ¡Ì¹ñ§‚aá̹ñùá̹ÌعöÖÎïá,ÖÆÎ Ö.ÙÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&ÖÙÎ'ê•«¹ÖÇ Ó¹ôÖÎ%ÖÎÖÆÎ Ö.ÙÎÖÎ(ÖÎ&ÖÙÎ'ê•«¹ôÖÎÖÆÎ Ö.ÙÎïáRó¹õ>‚«¹ô>‚« ¹ ¬¹ñú« ñŸË¡ñùÈñøÅ„¡ÖΫ Ö²¼ œ ÎÖ6ÙÎÖOιÖÇ2Óê•«¹¹¬¹Ù}¡­ ,)¶¡öÖÆÎ ÖVÎÖ²¼&œ ÎÌñ§‚aá5ÖÎïá ÌÖOι!Ö.ØÎïáÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ÖÎ%ÖÎÖ.ØÎÖÎ(ÖÎ&ÖØÎ'Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ¢*¶¡=Ö²¼ œ ÎÖÎñŸË¡%ñùË¡Ö}Ó¹¶³@‹ñ§‚aË„¡ÖÇ(Ó¹Öζ¹$ÖO Χ‚b« ¹;ÖO Χ‚b« ¹/ÖOΧ‚c« ¹#¬¹+! -­š+Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÙÓ¶¹ÖιÖιÖι¬!¹  ÖOέZ,Ö²¼"œ Î² ¥ ¨ÖÎÖ8¶ÎïáÖÓ¹ÖÇ=ÓÖ²¼"œ ÎÆ¥ ¨ÖÎ ¶ ŸË¡v¶ ùË¡ÖÇ9Ó¹f¶ ü¡ÖÇ<Ó¹XÖÚ¶ úÓ“¡ÖÇ8ÓÖ¶ úÆÆÓ ØÙ•¸§‚D„“¡ ÖÙÎÖØÎÖÎÙË¡ÖÙ€ÎÙÅ¡ÖιÖÎÖ8¶Î­Ì.¸Ö²¼"œ Î²¥ ¨ÖÎÖ8¶Î¶ŸË¡B¶ùË¡ÖÇÓ¹2¶ü“¡ÖÇ;Ó¹#¶ý˸Ö¶úÆÆÓ ÖØÙ•€ÎÖ8¶Î­v/Ø¡-Ö6¶ÎÖBΧ‚D„“¡ÖÎÖ¶ÎÖÎÖ$¶ ûøÎ¹¶¡Ö@¶þ¶ýιÖBέP0ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ¶&áÌÖÎ.ïáÖÓ¹ÖÇ>ÓÖÎ/¹ÌÖÎ/ïáÖÓ¹ÖÇ?ÓÖÎ.ߟËÊ ŸË„¡ßûÊ ûË¡ÖÇ:ÓÖÎÖÎÖ8ÚÎÖÊÎ Ö6ÚÎÖ6ÛÎÖIÎÖ!ÊÎÙ¡Ö6ÜιÖ6ÞÎÖ6ÚÎÖPÎÖ.ÚÎÖÙ“Î0Ù¡Ö6ÞιÖ6ÜÎÖ6ÚÎÖÙÎ0Ù¡Ö#ÎØ¡Ö;ιÖ?ιءÖ:ιÖ>ÎÖÎÖ9ÊÎÖÊÎ ê�•«­"-ñŸË¡bñùË¡ÖsÓ¹Vñ§‚dáÖÇ5Ó¹Gñúç‚D„“„¡%¶áÖÎÖÎÖñü•ι ÖÎÖñüÎÖÎÖζáÖιÖέp1¥ƒ ¶¤ü¸¶ŸË¶“„¡¶ù§á¸¹¶ú¸¹ö­&:<ï"Ë¡ÖÓ¹òéÌ¥ƒ Ú¤ùˡڕ̹öÌÖÎ<Ù¡Ö9Øûι]ÌÚÅÙ“„¡Û‚ÌÚ•ÌÖÎ<¹ôÙ“¡ÖǧÓ¹7ØøÃ¡¥ƒ Ú¤¢¥ƒ Ú¤û‚šØ¥ƒ Ú¤ûšÖØø‚�ÎÖ§‚nÛ•ÎÖÎÖÓ­bŠ  ;Ö²¼Çœ ÎÖÆÎ ÖÙÎ ï áÖÓ¹Ö4Ó§‚=‚«‚=Ö²¼Ç œ Î9§‚=•«‚=ï á2ÖÆÎ Ö9ØÎÖÙÎ ÖÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=ÖØÎ ¹ÖÙÎ ­Š>Ö²¼Çœ ÎÖÎ ÖÆÎ Ö9ßÎñÌÙŸË¡ÙùËÙ§‚dÃ�¡ ÖÇ�ÓŸÌï áÖÓ¹ÖÓŸÌÖÆ Î ŸÌÖ²¼œ ÆÆÓÙŸË¡cÖÙØÓ¡UÝÌŸÌÜŸË¡#ÜÌ Ê úÞÈ¡Ê úÞáÖǜӹ ÜÌÊ øÌ¹öÆžÚÌ Ê ÜšÊ ¢ÞšÊ ¢ëšÛŸÃ¡Ú̹ÛÚš¹ÖÇ“Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖÓ§‚=‚«‚=Ö²¼œ Î9弄¼‹“¡ò§‚=•«‚=ÚŸË¡Ö9Ê Îï˫쓡ÖÓï Ãì�¡ðÖßÎ ÝŸË¡vÝúÌ ÝÌŸÌÜøÌÜÝšÜÌÛÌܟáîÝúÌ Ö,ÎÖÊ Ó ÖÊ Ó ëÌ Ö9Ê ÎÝÌ Ê úÊ Å¡ÖëÊ •Ó Ê ‚Ì ¹ìÖëÊ ù•Ó Ê øÌÊ ÇÿÉ¡Ê ‚Ì ÝŸÃ¡êÖÊ Î ï áÖÓ¹Ö]Ó­ON€vÖwT Ô?ÖÆÎ ÖØÎ §‚=‚«‚=Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ô§‚=•«‚=ï áÖÓÖ²¼ ÎÖØÎ ¹Ö5Ó­QS l@ÖÆÎ ÖÙÎ Ö²¼@œ ÎÖÆÎ ÖØÎ ïáÖÓ¹ÖǼÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=Ö9ÙÎÖØÎ ­\AÌÌïáÖ ÆÓÖÓ¹ Ö'Ó§‚kÌÖ²¼Bœ ØÎñŸË¡yñùámé É¡`é‚«Ú‚Ì¥ƒ é¤ñúšó᥃ é¤ÌÛ¢šÛ¢ôšÛ¢õš¹-ÖÎÖ8êÎ¥ƒ é¤ÌÛ¢šÛ¢êšÖÓÙ‚Ìê§Å¡ê«¹ÖÇÓ¹ÖÇÓï˫쓡ÖÓì¡öïáÖÓ¹ÖǽÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=éÚ•«êÙ•«­ð þCž«‚J§‚J§‚K•§‚]†«‚\§‚\É¡«‚\§‚\Å¡«‚\² ž §‚\¹öÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹rÇÿ«‚M¥Ç ž¹cÇÿ«‚M¥Ç ž¹TÇÿ«‚M¥Çž¹EÇÿ«‚M¥Çž¹6Çÿ«‚M¥Çž¹'¬¹ ÷êÝÐö©œ�‚uh[NA4ž«‚L§‚\«‚^­7 bD§‚oÌØøŸË¡Øø¢ šØù¡§‚8¡ÖÎ Øû«‚rØú«Ø£«‚nØÿ«Øþ«Øü«‚s§‚o¢ ž!§‚o£ «‚o§‚3¡ §‚o£ ŸÃ¡Ÿ«‚o­b«‚4§‚Ÿ É¡ §‚Ÿ‚«‚Ÿ¥‚ §‚Ÿ•¤‚ª§‚Ÿ•¤Øš¥‚¥‚¼ Ø—œ  ½ ØÇ,Ç/”‹¡«‚: ž­VØŸË¡,ØÌÙ£`‹¡Ù£ áÙ£ á Ù£¡ÖuÎÖÙüÎ ÖÙýÎ ­: «§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖÇEι ¥ƒ÷í¤§‚?낚ÖΫ‚?«‚8­k ˆ Ìî‚«¥€—î¾ Ë¡ö—¾Å¥€—î¾Æ¼‹“�¡Fî•«î‚«—¾Å¡Öιô¥€—)Ã¥€—î¾*Ä¥€—î¾}Ã�¡òî‚¥€—î¾*«Ì­C@q |ئªÿØÌÖÆØÇÿÏÖÆ¦ ÇÿÏÆªÿØØ¾Â¥€—î‚«—¾Å¥€—î¾ Ã�¥€—î¾}Ã�¥€—)Ã¥€—î¾*Ä�¡öî•«Ö ÎÌ­k� xÌÖ³@ Î¡ Ù¥€—î¾|ڹ̭6!ÌÖ³ÿ  Î¡H¥€—î¾-á,Ö³ÿ Î¡Ù¥‚ö¥€—î¾0•¤ø“š¹Ì¹Ù¥‚ö¥€—î¾0•¤øš¹Ì­j"¥€—î¾=áFÖÆÎ"ÌÙÖÆÎ!„¡ÖÆÎ"¡Û¡ÜÚ�̹Üڄ̹̹öÙ“¡ ̹ Ü¡+̹-̹¥€—î¾ÌÖ ÎÌ­R l §‚6“¡îÆ€‚³’’ ½Æ€’³@ ( ½Ö³ Î¡ðÖÆ€‚¼ Î¡ò¥€—î¾¹öÖÆ€’¼ Î¡ Ö¥‚[ÖΠιôÖÆ€’¼ Î¡ Ö¥‚PÖΠιôÖÆ€’¼ Î¡ Ö¥‚EÖΠιô§‚P„“¥„¿¤ø‹„¡Ö¥…÷ÏÖ Î̹ôÖÆ€’¼ Î¡ Ö¥‚DÖΠιôÖ!~” Î“¡¹ìÖÆÎ§‚1¡ÖÇ*ι쫂1Ö¥ˆ9ÆÏÖ¥ˆ9Ï«‚Cî«„¼¥¥€—ªÿ§�«�§‚4«‚/ÖÎÖÎ ž¹g¬Cr¹`ñ mèÓºš"$&(*,.02468:<>@1DFHJL­PR(VXú^Ú¹ Ö ÎÌ­¡ÐÌ€‚Ì€�Ê€‚¡î‚«î‚«Ê€�‚Ì€�—¾Å¡ ÖÇÊÎÖι)ÆÊ€�•Â¥€—¥€—î¾'áöÌ€‚¥€—'Ë¡ôÊ€�•Ì€�%«« Ê€�«Ê€�á Æ•¾«¹-§‚pÌ€ƒÊ€ƒšÊ€ƒ¢Ê€�šÆ•ÂÊ€ƒ¢•ÂÊ€�ž§‚p«­¨ ƒ º#Ù¾ÚÉ¡ÙÌÖÆÙÇÿÏÖÆ¦ ÇÿÏÆªÿ¹öÌÚ®ÚÛ•®Ä¡Þ̹ܕÌÙܾ Ë¡ÌÜÝáô­P� X&ØÙÂ^¿Ù•ÌÚ ŽÌÚ †ÌØÙÂ0Û‚¿ÚÃÙÃ�¡öØÙ•Â#¿­) 6'ÆÙª@Úɡ̧‚Ÿ” Ì€¨Ê€¨·¡ðÆ'¦ªÿ®€ª§‚Ÿ®€©È¡ôÊ€ªÌ&¹Ê&ÐÌ&Ê&Ê€¨‹¡k¥‚ªÊ&•¤ø ɡ̀§¹¥‚ªÊ&•¤ødɡ̀§¹Ì€§ÖÆ'Ú¥‚ Ê&•¤ø‚Ê€§Î&¡(ÖÆ'Ú¥‚ Ê&•¤ø‚¥‚ªÊ&•¤øÎ'Ê€¨Ê&—… Ì€¨Ê&Ê€©Ã¡öƾÆ'¾‚DŽšWÖØ®€©ÆÏÖÊ€©ÖÆ'Æ€ªÇ„ƾ•ÏÆ€ªÏÖÊ€©ÏÖØ®€©ÖÆ'Æ€ªÇ…ƾ•Æ'¾Ç„•ƾ‚ÏÆ€ªÏÖÊ€©Ï¹ÖØ®€©ÆÏÖÊ€©Æ'ÏÖÊ€©Ï¹ò­'…&J%ÚÌÚ“ÌØøÇ@ÄÙ^Ë„¡ÖÇιôÙ¹ØØø�Ü‚š¹öØØø�Û‚š¹xØØø†š¹p¬+^¹h$  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfv­ ¶T13¿ Ž.PROGRAM T13; VAR I:INTEGER; CHR : CHAR; FUNCTION GCHA:CHAR;EXTERNAL; PROCEDURE PCHA(CCHR:CHAR);EXTERNAL; BEGIN I :=1; FOR I := 1 TO 1000 DO BEGIN CHR := GCHA; PCHA(CHR) END END. P4ERRORSX II .ä00H€@POSTFIXPAõ Ü1PROGRAM POSTFIX(INPUT,OUTPUT); VAR CH : CHAR; PROCEDURE FIND; BEGIN REPEAT READ(INPUT,CH) UNTIL (CH<>' ') AND NOT EOLN(INPUT) END; PROCEDURE EXPRESSION; VAR OP : CHAR; PROCEDURE TERM; VAR MULDIVOP : CHAR; PROCEDURE FACTOR; BEGIN IF CH ='(' THEN BEGIN FIND; EXPRESSION (*CH = ) *) END ELSE WRITE(OUTPUT,CH); FIND END; (* FACTOR *) BEGIN FACTOR; WHILE (CH = '*') OR (CH = '/') DO BEGIN MULDIVOP := CH;FIND; TERM; WRITE(OUTPUT,MULDIVOP) END END; (*TERM*) BEGIN TERM; WHILE (CH = '+') OR (CH = '-') DO BEGIN OP := CH; FIND; TERM; WRITE(OUTPUT,OP) END END; (*EXPRESSION*) (* POSTFIX BEGINS *) BEGIN REPEAT FIND; REPEAT WRITE(OUTPUT,' '); EXPRESSION; WRITELN(OUTPUT) UNTIL CH = '.' UNTIL EOF(INPUT) END. TEST4 ޽ 5PROGRAM TEST(INPUT,OUTPUT); VAR SOURCE : TEXT; DATANAME,DATA : STRING[99]; BEGIN WRITE(' INPUT FILE NAME? '); READLN(DATANAME); FILETITLE(SOURCE,DATANAME); RESET(SOURCE); WHILE NOT EOF(SOURCE) DO BEGIN READLN(SOURCE,DATA); WRITELN(DATA); END; END. jREADLINEPIÿ޽:PROCEDURE READLINE(VAR INPUTFILE : TEXT;VAR LINE : LINESTRING); VAR BUFFER : STRING[132]; I : INTEGER; BEGIN WITH LINE DO BEGIN READLN(INPUTFILE,BUFFER); FOR I := 1 TO LENGTH(BUFFER) DO STR[I] := BUFFER[I]; LEN := LENGTH(BUFFER)+1; STR[LEN] := EOLCHAR; END; {DO} END; WRSBUƒÜŽq PROCEDURE WRITESEQUENTIAL( CHANNEL : INTEGER; BUFFER : BIGSTR; VAR BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITESEQUENTIAL = ',R2.INT); ERR := ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL} CONSOLEBU 0rr/PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PACKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHN.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: LINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := STR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN := LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE IF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN ¤END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CRETURNLINEFEED; BEGIN PCHAR(13);PCHAR(10); INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; WRITESTRING(LINE); PCHAR(10); END; {OUTPUT CARRIAGE RETURN LINE FEED} PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : ; {UP} 11 : ; {CARRIAGE RET} 13 : CRETURNLINEFEED; {DELETE} 127 : DELETECHARACTER; END; {CASE} END; {ACTION} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESTRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE OPENFILES; VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER); WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 13 ;{} PUTLINE; END UNTIL DONE END. README ™) $File: READ.ME (RDOS/DOS Version) HOW TO INSTALL RATIONAL DATA SYSTEMS PASCAL ON RDOS/DOS The release consists of a PROGRAMMER'S MANUAL and either (a) a single reel of magnetic tape, or (b) one or more diskettes. The release files are divided into three groups: Group 0: PASINTERP.SV Pascal Interpreter PASINTERP.ER Runtime Error Message File PASCAL.PX Standard Pascal Compiler PASCALO.PX Overlayed Pascal Compiler PASCAL.ER Compiler Error Message File PINFO.PX Program Information Utility INTERPOK.PA Test Program: Source INTERPOK.PX Test Program: Executable TEST.MC CLI Macro to test things out MANUALn.nn Manual Update for Current Version RELEASEn.nn Release Notice for Current Version READ.ME (This file) Group 1: MANUAL Magnetic Copy of PROGRAMMER'S MANUAL Group 2: PASCALGEN.PX Custom Interpreter Generation Utility P****.RB Relocatable Binaries for PASCALGEN PLINK.PX Pascal Linker Utility Installation From Magnetic Tape: ------------------------------- The system is delivered on 800 bpi 9-track magnetic tape. The tape contains three files in standard RDOS-Dump format. The first file (#0) is a dump of the Group 0 files, and so on. Load the files using a sequence similar to the following: CDIR PASCAL DIR PASCAL INIT MT0 /Or whichever drive you are using LOAD/V MT0:(0,1,2) /Load the desired files PRINT RELEASEn.nn /Be sure to read the Release Notice! TEST /Try to execute and compile Installation from Diskette: -------------------------- The system is delivered on two RDOS/DOS diskettes. The first diskette contains all the files from Groups #0 and #1 (above). The second diskette contains the files from Group #2 -- the PROGRAMMER'S MANUAL. Execute the following or equivalent: CDIR PASCAL INIT PASCAL DIR DP1 /Or your own diskette drive MOVE/V PASCAL DIR PASCAL PRINT RELEASEn.nn /Be sure to read the Release Notice! TEST /Try to execute and compile The TEST.MC Macro: ----------------- The TEST.MC macro will attempt to execute a very small program and will then compile and re-execute the program. It is self-prompting as to the state of the software. File: READ.ME (RDOS/DOS Version, Page 2) Evaluation Release Restrictions: ------------------------------- 1) The interpreter shipped is customized for a particular hardware configuration. Neither the PASCALGEN utility nor the .RB files needed to generate an interpreter are supplied. Similarly, releases on diskette include only one diskette -- only Group #0 files are supplied. 2) The interpreter will not operate beyond 60 days of the time the system was configured by Rational Data Systems. This date is obviously dependent upon your system date. Since system dates are so easy to change, we have implemented further restrictions. 3) A maximum of 10 files may be opened by any program at one time. This number includes the executable file, '.PX'. 4) All files opened by any Pascal program other than the compilers will be deleted by the interpreter. This includes the program file, '.PX'! 5) You may not use the APPEND procedure in the evaluation version. 6) Since PASCALGEN is not available, neither are the facilities of assembler interface. Note that the above checks are all performed at runtime, not by the compiler. We suggest that you run your programs via a CLI macro which first copies the program and input files, then executes the copy of the program file, using the copies of the input files. The only way to preserve output (which would be deleted if sent to disk) is to send it to a hard copy device or to mag tape. The Overlayed Compiler: ---------------------- On an unmapped system the interpreter and Pascal program must share your limited address space with the operating system. This restriction will manifest itself immediately if you attempt to compile a program with the standard compiler ("PASCAL"). We have designed an overlaid compiler especially for the unmapped user called "PASCALO". You will have to use this version of the compiler on almost all unmapped configurations. For details, see the section entitled "Overlaid Compiler" in the new manual. In addition, study the use of the "/S" (swapping mode) switch when running the compiler. On many systems, you will have to use both the overlaid compiler and the swapping mode. On all systems there are finite limitations regarding the size and complexity of programs which can be compiled. On a mapped system (AOS or RDOS) we can compile our compiler by using either the overlaid compiler or the "/S" switch. On an unmapped RDOS system, we cannot compile the compiler even using "PASCALO" with the "/S" switch. NOTE: ---- For standard releases (not Evaluation Releases) the default interpreter, 'PASINTERP.SV', has been generated for a minimal RDOS/DOS system, a Nova 1200 with no options. Until you generate your own interpreter you will be running with this interpreter which may be significantly slower than what you should be using. Build a customized interpreter using the PASCALGEN utility as soon as p¹ossible. MANUAL201ÐüÄ "File: MANUAL2.01 ================== Update 2.01 to RDS Pascal does not contain any formal updates to the Programmer's Manual. However, since the compiler error message file has been changed for this release, please make the following changes and additions to Appendix C ('Compiler Error Messages'): 31. first argument of "READLN" must be variable 174. comma expected in argument list to "READ" of "TEXT" file 176. type conflict of file and destination variable in "READ" 184. comma expected after typed file name in "READ" argument list 206. "INPUT" not declared in this scope 208. "INPUT" not declared as "TEXT" in this scope 217. "RESET"/"REWRITE"/"APPEND" require file as argument 224. second argument of "SEEK" intrinsic must be integer 235. "WRITE"/".LN" require int/bool/real/char/string/packd.ary.char 244. operand of unary plus or minus must be real or integer 267. comma expected in argument list of "WRITE" to "TEXT" file 305. type conflict of file and source expression in "WRITE" 306. comma expected in argument list of "WRITE" to typed file 307. "OUTPUT" not declared in this scope 308. "OUTPUT" not declared as "TEXT" in this scope 309. real number may not be argument of "PRED" or "SUCC" INTERPOKPA["lÝ program interpok; var output : text; begin rewrite(output); writeln('Interpreter OK') end. T23$Ð2PROGRAM T23; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOTA,IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (NUMBER : INTEGER ; IFILE : ALPHA ; IOTA : INTEGER);EXTERNAL; BEGIN IOTA :=100; IOFILE := 8; FILENAME := 'INPUTFILE0.SR'; OPEN (IOFILE , FILENAME,IOTA) END. GLOBA&ÐÐ GETINTEGERPIÓVŽr)FUNCTION GETINTEGER( STR : ALPHANUMERIC;VAR I : INTEGER) : INTEGER; LABEL 1,2,3; TYPE SIGNOF = (PLUS,MINUS); VAR LEN,FNUMB : INTEGER; SIGN :SIGNOF; BEGIN FNUMB := 0; SIGN := PLUS; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END; 2 : IF STR[I] IN ['0'..'9'] THEN BEGIN { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); I := I+1; IF I<= LEN THEN GOTO 2; END; 3: CASE SIGN OF PLUS : GETINTEGER := FNUMB; MINUS : GETINTEGER := -FNUMB END;{CASE} END;{getinteger} RDSBU× -Žq !PROCEDURE READSEQUENTIAL( CHANNEL : INTEGER; VAR BUFFER : BIGSTR; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDS = 6719; {.RDS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(STRINGPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); {$R-} STRINGPOINTER^[0] := R1.CH; {$R^} IF ERROR THEN WRITELN(' ERROR IN READSEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := STRINGPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); WRITELN(' BYTESREAD = ',BYTESREAD); END; {READ SEQUENTIAL} CBOOKCMŽîŽs4CHATR CBOOK.PA 0 CHATR CBOOK.PX 0 DELETE/V CBOOK.PA XFER CBOOK CBOOK.PA/R CHATR CBOOK.PA *WP PASINTERP PASCALO/S/V/L CBOOK CHATR CBOOK.PX *WP CTLA|+Ð% ;PASCAL EXTERNAL PROCEUDRE TO SET ;CONTROL-A/C INTERRUPT INTERCEPT ;PETE GOODEVE 78:7:30 .TITLE CTLA ;PJG 78:7:30 .ENT ?CTLA .EXTN XPRET SP=41 ;STACK POINTER MP=42 ;MARK STACK POINTER HP=44 ;HEAP POINTER PP=45 ;PARAMETER FRAME POINTER PC=20 ;P-CODE PROGRAM COUNTER P4IX=40 ;RETURN LINK TO INTERPRETER .NREL ;PROCEDURE CTLA; EXTERNAL; ?CTLA: INTDS ;NEEDED FOR SAFETY IF RESET STA 0,STKM ;= CALLER'S SP+1 DSZ STKM ;REMOVE THE +1 LDA 0,MP STA 0,MRKM ;MARK POINTER LDA 0,HP STA 0,HEAPM LDA 0,PP STA 0,PARM LDA 0,PC STA 0,PCM LDA 0,CTLXA ;DIVERSION ADDRESS STA 0,@A411 STA 0,@A412 INTEN XPRET STKM: .-. MRKM: .-. HEAPM: .-. PARM: .-. PCM: .-. A411: 411 A412: 412 CTLXA: .+1 LDA 0,STKM STA 0,PC LDA 0,MRKM STA 0,MP LDA 0,HEAPM STA 0,HP LDA 0,PARM STA 0,PP LDA 0,PCM STA 0,PC JMP @P4IX ;RETURN TO PASCAL INTERPRETER .END ;OF CONTROL CHAR DIVERSION T33�/Õ§"(* READ SEQUENTIAL WRITE SEQUENTIAL TESTER*) PROGRAM T33 (INPUT,OUTPUT); TYPE ALPHA = ARRAY[1..20] OF INTEGER; VAR OCHANNEL,ICHANNEL,NBYTES,NBYTESREAD,NBYTESWRO,ERROR,BYTE : INTEGER; BUFFER : ALPHA; PROCEDURE RDSQ(CHANNEL:INTEGER ; BUFFER : ALPHA;NBYTES:INTEGER; VAR NBYTESREAD:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WRSQ(CHANNEL:INTEGER;BUFFER:ALPHA;NBYTES:INTEGER; VAR NBYTESWROTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; BEGIN ICHANNEL:=1; OCHANNEL:=2; NBYTES:=1; REPEAT RDSQ(ICHANNEL,BUFFER,NBYTES,NBYTESREAD,ERROR); WRSQ(OCHANNEL,BUFFER,NBYTES,NBYTESWRO,ERROR); BYTE:=BUFFER[1] DIV 256; WRITELN(' ',BYTE); UNTIL ERROR = 6; END. NODESè2 PROGRAM NODES (INPUT,OUTPUT); TYPE NODES = RECORD X, Y : REAL; LINKPOS : INTEGER END; LINKS = RECORD FROMNODE, TONODE, ATTRIBUTES :INTEGER END; VAR NODE : ARRAY [1..20] OF NODES; LINK : ARRAY [1..50] OF LINKS; NEWNODE : NODES; DELETEDNODE : NODES; BEyGIN NEWNODE.X := 2; DELETEDNODE.X :=4; IF NEWNODE = DELETEDNODE THEN WRITELN(OUTPUT,' NEW=DELETED') ELSE WRITELN(OUTPUT,' NEW<>DELETED'); NEWNODE := DELETEDNODE; WRITELN(OUTPUT,' ',NEWNODE.X,NEWNODE.Y) END. CROSSREFPA4rÜ  PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : ALFA; F : TEXT; A : ARRAY [1..C1] OF CHAR; PROCEDURE PACK ( I : INTEGER); VAR J : INTEGER; BEGIN FOR J := 1 TO C1 DO ID[J] := A[J-1+I] END; (* PACK *) PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A'..'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; PACK(1);SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. T11PX:½½¤T11 Copyright (C) 1980 Rational Data Systems¼#ÖÆ€†Æ€ÄÏÖÆ€†¦OUTPUTÏÖÆÆBÏÖÆ¦INPUTÏÖÏÖÆÏÖÆ€†ÏÖ¥Ì�Ê�¥Ï ¥нèÅ¡¥¥¼芉‡ƒ½è•«¹öÖ¥¼¥€†Ì�Ê�ÒÏÖÊ�ÏÖÆ€†ÏÖÆÏ­CœF§GhHAI(JK#ì ´Ä ³A¯ù¼ A¯#ìÕ ´Ù ³KA A¯A¯BmCDD*EFF§GhHAI(JK#ì ´â ³A¯ù¸ A¯#ìÕ ´÷ ³K@ A¯A¯BmCDD*EFF§GhHAI(JK#ì µ ³A¯ù¨ A¯#ìÕ µ ³K? A¯A¯BmCDD*EFF§GhHAI(JK#ì µ ³A¯ù£ A¯#ìÕ µ3 ³K= A¯A¯BmCDD*EFF§GhHAI(JK#ì µ< ³A¯ù™ A¯#ìÕ µQ ³K= A¯A¯BmCDD*EFF§GhHAI(JK#ì µZ ³A¯ù† A¯#ìÕ µo ³K; A¯1980DEPS; ÐŽŽD 8347.06 D 140 D 1468.38 D 871.98 D 13056.00 D 5324 D 12436.99 D 435.99 D 435.99 D 906.32 D 3000 D 435.99 D 1628 D 11481.06 D 1834.55 D 435.99 D 802.29 D 9³05 D 594 D 435.99 D 520 D 13331.89 D 1527.87 D 129.24 D 4546.81 D 11943.74 D 715 D 3229.35 D 531.21 D 3435.99 D 4888.40 D 1403.43 D 296.31 D 174 D 2600 D 3148 TOTALMCޅ޽ +CHATR TOTAL.PA 0 CHATR TOTAL.PX 0 DELETE/V TOTAL.PA XFER TOTAL TOTAL.PA/R PASINTERP PASCALO/S/L/V TOTAL CHATR TOTAL.PA *WP CHATR TOTAL.PX *WP CONSOLE Æ Žq PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PACKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHN.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: LINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := STR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN := LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE IF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CARRIAGERETURN; BEGIN INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; END; {INSERT CARRIAGE RETURN AND MAKE LINE LENGTH=CRET POSITION} PROCEDURE DISPLAYLINE; BEGIN PCHAR(10);PCHAR(13); WRITESTRING(LINE); PCHAR(13);PCHAR(10); END; PROCEDURE ÚPRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESTRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : BEGIN DISPLAYLINE;PUTLINE;GETLINE END; {UP} 11 : ; {CARR RETN} 13 : BEGIN DISPLAYLNE; CARRIAGERETURN;PUTLINE;GETLINE END; {DELETE} 127 : DELETECHARACTER END;{CASE} END;{ACTION} PROCEDURE OPENFILES; VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER); WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 27 ;{ESC} END UNTIL DONE END. GLOBALàEÐ& ;PASCAL "GLOBAL" ACCESS PROCEDURES ; -- PERMIT RETAINING POINTERS BETWEEN ; PROCEDURE INVOCATIONS. ;PETE GOODEVE 78:7:22 .TITL GLOBAL ;78:7:22 .EXTN XPRET .ENT ?KEEP,?GLOBAL GSIZE = 15 ;GLOBAL SLOT LIMIT SP=41 P4ERR = JSR @51 .NREL ;TYPE INDEX = 0..GSIZE; ;PROCEDURE KEEP(P:ANYPOINTER; I:INDEX); EXTERNAL ;..OR: ;PROCEDURE KEEP(P:ANYPOINTER); EXTERNAL; ?KEEP: MOVZR 1,0,SNR ;1 OR 2 PARAMS? JMP ZERK ;DEFAULT SLOT 0 LDA 0,0,3 ;SLOT # DSZ SP ;POP STACK LDA 1,GLIM SUBO 0,1,SNC ;VALID SLOT? JMP ZERK ;YES BAD: P4ERR 412 ;ARBITRARY ERR CODE (TIL WE KNOW BETTER) ZERK: LDA 2,KBAS ;KEEP-AREA BASE ADD 0,2 ;SLOT ADDRESS LDA 0,@SP ;POINTER VALUE FROM STACK STA 0,0,2 ;IS STASHED SUB 1,1 ;RETURNS NO VALUE XPRET GLIM: GSIZE KBAS: GAREA ;FUNCTION GLOBAL(I:INDEX):ANYPOINTER; EXTERNAL ;.. OR ;FUNCTION GLOBAL:ANYPOINTER; EXTERNAL ?GLOB: MOV 1,1,SZR ;ANY PARAM? LDA 1,0,3 ;YES -- GET THE INDEX LDA 2,GLIM SUBO 1,2,SZC ;IN RANGE? JMP BAD ;NO LDA 2,KBAS ;BASE OF STORAGE ADD 1,2 ;DISPLACE TO SLOT MOV 0,3 ;FUNCTION VALUE POINTER LDA 0,0,2 ;PICK UP STORED POINTER STA 0,0,3 ;PASS IT BACK ;(CALLER SHOULD CHECK FOR NIL!) SUBZL 1,1 ;INTEGER FUNCTION XPRET GAREA: .BLK GSIZE+1 .END ;OF GLOBAL PROCEDURES T12¹IŽ.+PROGRAM T12; VAR I,CHR:INTEGER; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CCHR:INTEGER);EXTERNAL; BEGIN I :=1; FOR I := 1 TO 1000 DO BEGIN CHR := GCHA; PCHA(CHR) END END. TEST3K޽ PROGRAM TEST3(INPUT,OUTPUT); VAR CH : CHAR; CURPOS : INTEGER; PROCEDURE BACKSPACE; BEGIN WRITE(CH); END; PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8-CURPOS MOD 8; CURPOS := CURPOS+MOVESRT; WRITELN(' ',MOVESRT,' ',CURPOS); FOR I := 1 TO MOVESRT DO WRITE(' ') END; {HORIZTAB} PROCEDURE ACTION; VAR ORDCH : INTEGER; BEGIN ORDCH := ORD(CH); IF ORDCH IN [32..126] THEN WRITE(CH) ELSE CASE ORDCH OF {backspace} 8 : BACKSPACE; {horiz tab} 9 : HORIZTAB; {LINE FEED} 10 : WRITE(' LINEFEED'); {up} 11 : WRITE(' UP'); {delete} 127 : WRITE(' DELETE') END {case} END; {ACTION} PROCEDURE INITIALIZE{ALL VARIABLES}; BEGIN CURPOS := 1; {CURRENT CHARACTER POSITION} END; {INITIALIZE} BEGIN INITIALIZE; REPEAT BEGIN READ(CH); ACTION; END UNTIL EOF END. TPA�$½½ PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; SOURCE : TEXT; ENTRY : ENTRYTYPES; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(' ERROR'); END;{error} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(' CK ',CHECKNUMBER : 15); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(' DP ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(' CM ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(' DM ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(' CC ',CHECKNUMBER : 15); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' EM ',BLANKS); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' WH ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(STR[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(STR[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN FILETITLE(S(OURCE,'1978'); RESET(SOURCE); BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; WRITELN(' KEY TO TRANSACTION TYPES'); WRITELN(' C CHECK CC CANCELLED CHECK'); WRITELN(' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(' DP DEPOSIT BL FORCED BALANCE'); WRITELN(' EM EMPLOYEE CK WH WITHOLDING CHECK'); WRITELN; WRITELN(' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZE; WRITELN; WHILE NOT EOF(SOURCE) DO BEGIN READLN(SOURCE,STR); WRITELN; WRITELN; GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; END;{case} IF ENTRY NOT CANCELLEDCHECK THEN WRITE(' _ _'); END; WRITELN;WRITELN; WRITE(' TOTALS '); REALPRINT(TOTALDEBITS);REALPRINT(TOTALCREDITS); REALPRINT(NEWBALANCE); WRITELN; WRITELN; WRITE(' TOTAL CHECKS ');REALPRINT(TOTALCHECKS);WRITELN; WRITE(' TOTAL DEPOSITS');REALPRINT(TOTALDEPOSITS);WRITELN; END. PLPX Irq ¼PLO Copyright (C) 1980 Rational Data Systems¼   Ö¦ ****¥†7®ÒÏÖÙ ð•ÏÖÙ^ÏÖÙØÏ ÖÙÏò‚« ­6ðñáôÖ¥…µÏ ¡"Ö¦PROGRAM INCOMPLETE¥†7®ÒÏ ž« « Öô¥†7®ÒÏ ÖØ ÏÖØÏÖ¥…µÏ “¡ñ‚« Ö¥¥…µÒÏ¥ñQˆ•¤èš¹öÖ¥†7Ïñ‚« Ö¥ñQˆ•¤¥…µÒÏð‚« ¥ðQˆ•¤ø«­Y ¬è áÖιöè³ÿÿþ‹¡îÌØ ɡ؂̥_Ø ˆ•Âè¿ÖÎè³ÿÿþÿ‹“¡ôØóġث ¹¥_ó ˆ• ¿ó•« óØÃ¡ò¥¥_Ñ Ì ÌÚÙ‚†Ì¥¥�-Ø ˆ•¤´ ¡Ø•Ì¥¥�-Ø ˆ•¤° ¡Ø‚ÌÚÙÅ¡ðÚ•ÙÅ¡¥�dØ ˆ•¤ø«¹«¹qè³ÿ‹¡6Ì«« ï�è•‚«Ø‚ÌÖÎè³ÿ‹“¡ìØÅ¡Öι+è:áÖÎè=á«Öι«¹¥�oèÇÿˆ¤ø«Öέ[vÎñ)LTôÇÈÅ¡ Ö¦PROGRAM TOO LONG¥†7®ÒÏ ž¥dôÇȈ¤ÌÛÇàØ»ÛÇÙ ˆ»ÛÇþÚÇψ»ô‚« ­Z鯼‹“¡$ÖÜÎÆÆ¼Æ¼œ ½éƼ‹“¡Öιö­8¶‚¸¥‚�¶dˆ¤ÌÙ¥Ñ Ù¢ ؚع6ïÇÏÅ¡ÖΫ٢ ïš¹/Ù¢¶šÙ¢ ¶š¶‚¸¹Ù¢¶š¹¬¹>+­nÆÙÑ ¥‚�dˆ¤ÆÑ ¶Ì¥‚�ßdˆ¤Æ· ¡ß•̹ößÌ­ < éá5ÖÎ鳋¡ éáÖÎÖÎéá ÖÎÖιÖιÖιÖέF éá ÖÎÖιÖέ ¶®ô•®È¡PÚ̹ØÐÌ¥dØÇȈ¤ÌÖØ¥†7®ÒÏ ÖÛ¥‚oÚÇຈ¤ÏÖÛÚÇºÏ ÖÛÚÇþºÏ ÖÛÏØÙáö­N h Ö¥‚‡¼ Æ¼ Î饂‡¼‹¡ôéáQ֥ΠÌÚáÖ Î¹9¥‚�Údˆ¤ÌÛý¹ÖÛþι!Ö¶Ûÿ•ÛþιÖι ¬¹$ÖιCéáïÇÏÅ¡ÖΫÖïÎÖι%éá ÖÎÖǀƼœ ÎéáÖιÖÎÖÆ¼ Ç@ Î¹ö­» ÖÖÆ¼`œ Îé`‹¡(éÌÖÎÖÆ¼`œ ÎÚáÖιÖιö­1 Fé‹¡ éÌÖÎÖÆ¼œ ÎÚáÖι ÖÆ¼œ Îé‹¡(éÌÖÎÖÆ¼œ ÎÚáÖιÖιö­1 léáÖÎÖÆ¼ ÎÖιtÖÇ?Ƽœ ÎéÇ?‹“¡ÖιVéÌÖÎÖÆ¼ ÎÚ¹0Öι;Ö Î¹3Ö Î¹+Ö Î¹#Ö Î¹Ö Î¹¬ ¹ 71+)­–éáa֥ΠÌÜáÖ Î¹¥‚�Üdˆ¤ýË¡Ö ÎÌÖÎéáÖÎ¹Ö ÎÖÆ¼ ÎÜË¡¥‚�Üdˆ¤ÌÖ¶Ýÿ•ÝþιðéáIÖÎéË¡Öι9֥ΠÌÜáÖ Î¹#¥‚�Üdˆ¤ÌÝýáÖ¶Ýÿ•ÝþιÖÎÖιòéáMÖÎÖ³€Æ¼œ ÎéáÖιÖÎôÌÖÎÖÆ¼ Î ¥dÛÇȈ¤OÇþôÇψ»¹ôéáZÖÎÖ³"Ƽœ Î é³¥‚‰¼œ‹¡"éáÖÎ¹Ö ÎÖ³"Ƽœ Î ¹öéáÖιÖιYéáTôÌÖÎֳƼœ ÎôÌÖÎéáÖιÖÎÖÆ¼ Î ÖÛÎ¥dÚÇȈ¤ÇþôÇψ»ÖƼ  Î­³Ü ÌÙÌ¥‚�Ùdˆ¤¢ ôšÖÎØ Å¡Ö Îéá&ÖÎÖÎ éáÖÎÖÎ ¹öéáÖιÖÎéË¡ôéá&ÖÎÖÎ éáÖÎÖÎ ¹òéáÖιÖÎéË¡ðéáeÖÎéá ÖÎÖιÖÎéáÖιÖÎÖØ‚ٳƼœ Îéá ÖÎÖ¥‚‰¼³ œ Æ¼ Î¹ÖιîÖ¥‚‰¼œ ¥‚‹¼ Î饂‹¼‹“¡ì¥d¥‚�Ýdˆ¤þÇȈ¤ÇþôÇψ»¥‚�Ýdˆ¤Ìߢ ôšôÌÖÜÎÖ³"Ƽœ Î ÖÎÖÆ¼  ÎÖÎ ­DðDCx¶ÌÙÅ¡²ÚÇôˆ•¤øÌٕ̹öÚÌ­!.Ö¦ START OF PL/0¥†7®�ùÒÏÖÊ�ùÏÌÌÌÆÇôˆ•¤šÆÇôˆ•¤šÆÇôˆ•¤šÆ¥dÚÇȈ¤¨Ú‚ÌÆÇູòØ‚ÌÆØÇôˆ•¤ÆÇþºš¹ðÆÇþº¹öÙ•ÌÆØ‚Çôˆ•¤øÌÆØ‚Çôˆ•¤øÌ¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø‘š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø‚š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø•š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø�š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤ø†š¹ôÆØÇôˆ•¤ÆØÇôˆ•¤ø„š¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÃš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øËš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÉš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÄš¹ôØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÅš¹UØ•ÌÆØÇôˆ•¤ÆØÇôˆ•¤øÆØ‚Çôˆ•¤øÈš¹$¬ ¹V/嶇X>ూS¹ðØ‚ÌÆØÇôˆ•¤ÆÖÆÇºÎÆÇþº‚Çôˆ•¤øš¹ðÆÖÆÇºÎÆÇþº‚Çôˆ•¤ÆØÇôˆ•¤øšÖÆØÇôˆ•¤ø¥†7®�ùÒÏ ÖÊ�ùÏØ•Ì¹ðÆØ‚Çôˆ•¤ÖÆÇºÎ飢Çôˆ•¤Ù飢Çôˆ•¤ÚšØ‚ÌÆÇþºÌ¹NØÆÇþº‚̹BÆÇþºÌ¹8ÆØÇôˆ•¤øÃ¡ÆÇþºÌ̹ؕ¬¹œ„ ÛŽH>6ÚáîÖ¦ END OF PL/0¥†7®�ùÒÏ­ç"<>dùJÖÆ†7ƆuÏÖÆ†7¦OUTPUTÏÖÆ…µÆ…óÏÖÆ…µ¦INPUTÏÖÏÖÆ…µÏÖÆ†7ÏA®†º;®†¹È¡ʆº«¹èЫ¥�oèÇÿˆ¤šèʆ¹Ã¡ô¥�- ˆ•¤¦ BEGIN ÐÑ ¥�- ˆ•¤¦ CALL ÐÑ ¥�- ˆ•¤¦ CONST ÐÑ ¥�- ˆ•¤¦ DO ÐÑ ¥�- ˆ•¤¦ END ÐÑ ¥�- ˆ•¤¦ IF ÐÑ ¥�- ˆ•¤¦ ODD ÐÑ ¥�- ˆ•¤¦ PROCEDURE ÐÑ ¥�-  ˆ•¤¦ THEN ÐÑ ¥�-  ˆ•¤¦ VAR ÐÑ ¥�-  ˆ•¤¦ WHILE ÐÑ ¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�d  ˆ•¤š¥�o+Çÿˆ¤š¥�o-Çÿˆ¤š¥�o*Çÿˆ¤š¥�o/Çÿˆ¤š¥�o(Çÿˆ¤š¥�o)Çÿˆ¤š¥�o=Çÿˆ¤š¥�o,Çÿˆ¤š¥�o.Çÿˆ¤š¥�o!Çÿˆ¤ š¥�o<Çÿˆ¤ š¥�o>Çÿˆ¤ š¥�o"Çÿˆ¤ š¥�o#Çÿˆ¤ š¥�o;Çÿˆ¤š¥‚oˆ¤¦LIT ÐÑ¥‚oˆ¤¦OPR ÐÑ¥‚oˆ¤¦LOD ÐÑ¥‚oˆ¤¦STO ÐÑ¥‚oˆ¤¦CAL ÐÑ¥‚oˆ¤¦INT ÐÑ¥‚oˆ¤¦JMP ÐÑ¥‚oˆ¤¦JPC ÐÑ¥‚‹³8 ½¥‚‰³P ½¥‚‡Ç@ ½« « « « « « ÖÎÖ³¥‚‹¼œ¥‚‰¼œ ÎéË¡Ö ÎòáÖι$Ö¦ ERRORS IN PL/0 PROGRAM¥†7®†¹ÒÏÖ¥†7ÏÖÆ†7ÏÖÆ…µÏ­Æº$x, `  ª 2B°Ð^ÂÔÊt~&PXSVPPASINTERPSVT22ÒOÐ2PROGRAM T22; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN (IFILE : ALPHA);EXTERNAL; BEGIN IOFILE := 8; FILENAME := 'INPUTFILE0.DR'; OPEN (FILENAME) END. DQÐÐ vPRETTYINST9SGG (*************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUSETTS, AMHERST - AUGUST, 1976 (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. INDICATED BY <<< . MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMATS THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THEY MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS PRETTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. ************************************************************************** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. THE USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINES. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COMMENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFORE AND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "VAR" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE INDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** **************************************************************************** GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENDENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR TŠHE SYMBOL BEING SCANNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. ***************************************************************************** *) TESTPX µŽŽ )CROSSREF Copyright (C) 1981 Rational Data Systems½ " Æž ÆžÙÌÛšÛ¢Ç*"šÙž#Ûù¡ ÛšÛ¢Ç šÙž#ØÛýšÆž!­:ÆÙª…ÆIž ÆHžÆJCžÊJƪ…Ö¦ ¥�Z®KÒÏÖÊKÊJÏÖÊKÏÊHÌKÊKšÊK¢Ç?šÊK¢ÊJšÊK¢ÊKû‚šÊK¢ ØšÊHž#ÊKù¡+Ö¦ ERROR IN OPEN = ¥�Z®LÒÏÖÊLÊKýÏ ÖÊLÏÚÊKùšÛÊKýšÆIž!­H¦Æت…ÆHž ÆGžÆICžÊIƪ…Ö¦ ¥�Z®JÒÏÖÊJÊIÏÖÊJÏÊGÌJÊJšÊJ¢ÇšÊJ¢ÊIšÊJ¢ÊJû‚šÊGž#ÊJù¡-Ö¦ ERROR IN DELETE = ¥�Z®KÒÏÖÊKÊJýÏ ÖÊKÏÙÊJùšÚÊJýšÆHž!­H¢Æت…ÆHž ÆGžÆICžÊIƪ…Ö¦ ¥�Z®KÒÏÖÊKÊIÏÖÊKÏÊGÌKÊKšÊK¢ÇšÊK¢ÊIšÊK¢ÊKû‚šÊGž#ÊKù¡,Ö¦ ERROR IN CRAND = ¥�Z®LÒÏÖÊLÊKýÏ ÖÊLÏÙÊKùšÚÊKýšÆHž!­I¢ÆÙª…ÆJž ÆIžÆKCžÊKƪ…ÊIÌLÊLšÊL¢Ç?šÊL¢ÊKšÊL¢ÊLû‚šÊL¢ÚšÊL¢ ØšÊIž#ÊLù¡0Ö¦ ERROR IN WRITELINE = ¥�Z®MÒÏÖÊMÊLýÏ ÖÊMÏÛÊLùšÜÊLýšÆJž!­H–Æž ÆžÆCžÝÌ Ê šÊ ¢Ç?šÊ ¢ßšÊ ¢Ê û‚šÊ ¢ÚøšÊ ¢ ؚݞ#ßÂÊ ü¿Ê ù¡/Ö¦ ERROR IN READLINE = ¥�Z® ÒÏÖÊ Ê ýÏ ÖÊ ÏÛÊ ùšÜÊ ýšÙߪ…ÚÊ üšÆž!­˜Ö¦ INPUT FILE¥�Z®ÒÏÖØÏÖ¥¥R¥Q¥SÎÖ¥§R¥Q¥SÎÖ¥TÎÖ§T¥¥Q¥SÎÖ¦ OUTPUT FILE¥�Z®ÒÏÖØÏÖ¥Ö¥€Ø®ÏØÒÇ…ÏÖØÏÖ¥U¥ÏÖ¥UÏ­ŠÆž ÆžÚÌܚܢÇ?(šÜ¢ ØšÚž#Üù¡(Ö¦ ERROR IN GCHN = ¥�Z®ÒÏÖÝÜýÏ ÖÝÏÙÜûšÙ¢ÜüšÆž!­` ÆÙ¨Æž ÆžÜÌÞšÞ¢Ç?'šÞ¢ÚšÞ¢ÛšÞ¢ ؚܞ#Þù¡(Ö¦ ERROR IN SPOS = ¥�Z®ÒÏÖßÞýÏ ÖßÏÆž!­f ÆÙª…ÌGÌIƾÌHÚøÊHÈ¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚø›¾-á ÚÚø‚šÌI¹öÆÚø›¾³ÿ‹¡ÊG �0•ÆÚø›¾‚ÌGÚÚø‚šÚøÊHÈ¡¹ôÊI¹ ÊG̹ÊG‘̹ ¬¹­PŽF ¦ ÆÙª…ƾÌGÌIÌHÊIÊGÉÊHÚË„¡_ÊIÊGÉÆÊI›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡ÊI‚ÌI¹öÊIÊGÉÆÊI›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡ÊI‚ÌI¹ôÊH‚ÌH¹òÊIÊGá̹ ÖÆÆIÎ Ì­„N|F   ÆÚª…ÌNÌMÆKнÆ¾ÌHÛøÊHÈ¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌN¹ö¹ðÛøÊHÈ¡òÆÛø›¾³ÿ‹¡VÊM¹<ÆKÆK¼ Š�0Š–ÆÛø›¾Šƒ½¹0ÆKÆK¼ÆÛø›¾0•ÆI¼‰‡ƒ½ÆIÆI¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌMÛÛø‚šÆI н¹ô¹ÆÛø›¾,áÛÛø‚š¹ôÊN¹ÆÆK¼½¹ÆÆK¼’½¹ ¬¹­')+-ÐJ. ÆÚª…ƾÌHÌJÌIÊJÊHÉÊIÛË„¡_ÊJÊHÉÆÊJ›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡ÊJ‚ÌJ¹öÊJÊHÉÆÊJ›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡ÊJ‚ÌJ¹ôÊI‚ÌI¹òÊJÊHáÆн¹ ÆÖÆÆJÎ ½­ŠT‚F ¦ØøÌٟá=ƞƞÙÌÛôšÛ¢ŸšÛ¢ŸšÛ¢ÚšÛ¢ÚšÚñÇ'ˆšÚ¢ŸšØÙšÚ¢¥ ¨¹@ôÙøÉ¡Ö٢ι2ôÙøÅ¡Ö٢ι$ÆžÚñÇ'ˆšÚ¢ŸšÚ¢¥ ¨Ùù¢ÚšÙ¢Úš­ŽÆبÛÌÖ§TޢΠ֧T¥¥R¥Q¥SÎë¡+Ö ¥�Z®ÒÏÖßÙÏ Öß ÏÖßÞøÏ Öß ÏÖߥÏÖ¥U® ÏÖßÙÏ Öß ÏÖßÞøÏ Öß ÏÖߥÏÞûÌޟáö­x ˆØŸË¡ÖØüÎÖØÎÖØûέÆبë¡Ö ¥�Z® ÒÏÖÊ Ù Ï Ö¥U® ÏÖÊ Ù Ï ÛÌÌÞá)Ìë¡Ö¥�ZÏÖ ¥�Z® Ò ‚ÏÖ¥UÏÖ¥U® ‚ÏÞ‚Ìë¡Ö ¥�Z® ÒÏÖÊ ßøÏ Ö¥U® ßøÏ ßûÌߟáöë¡ Ö¥�ZÏÖ¥�ZÏÖ¥UÏÖ¥UÏ­x °ØŸË¡ÖØüÎÖØÎÖØûέ؟á*Ö¦ KEY NOT FOUND ¥�Z®ÒÏÖÙôÏ ÖÙÏŸ«¹ôØøÉ¡ÖØüιôØøÅ¡ÖØûιث­TÆبÆ ³½ë¡$Ö¦ SEARCH KEY ¥�Z® ÒÏÖÊ ÙÏ ÖÊ ÏÖ¥U® ¦ SEARCH KEY ÏÖÊ ÙÏ ÖÊ ÏÛÌÌÞ‚ÌÖ§TߢÎ Ö§T¥¥R¥Q¥SÎë¡%Ö ¥�Z® ÒÏÖÊ ßøÏ ÖÊ ¦ ÏÖÊ ¥ÏÖ¥U® ÏÖÊ ßøÏ ÖÊ ¦ ÏÖÊ ¥ÏÆ Ö¥Î½Æ Æ ¼Æ ¼ƒ½ßûÌߟáöë¡'Ö¦ AMOUNT = ¥�Z® ÒÏÖÊ Æ ¼ ÏÖÊ ÏÖ¥U® ¦ AMOUNT = ÏÖÊ Æ ¼ ÏÖÊ Ï­Ù  @Ö¦ ANSWER Y OR N ¥�Z®ÒÏÖ¥Ö¥€Ø®ÏÙÒÏÖÙÏèYÃèNÃ�¡öèYÃÌ­>FÖÆ�ZÆ�˜ÏÖÆ�Z¦OUTPUTÏÖÆ€ØÆ�ÏÖÆ€Ø¦INPUTÏÖÆUÆ€“ÏÖÆU¦DISKOUTÏÖÏÖÆ€ØÏÖÆ�ZÏÖÎÖ¦ WANT OUTPUT TO $TTO CONSOLE? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ WANT DATA BASE FILE PRINTED?¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ WANT INDEX PRINTED? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦' WANT TREEED RECORDS PRINTED IN ORDER? ¥�Z®�ÜÒÏÖÊ�ÜÏÖΫ֦ SORT ON FILEN NO. 2,3,4,5? ¥�Z®�ÜÒÏÖ¥€×Ö¥€Ø®�ÜÏÊ�ÜÒÏ ÖÊ�ÜÏŸ«« Ö§T¥ Î Ö§T¥¥R¥Q¥SΧQ“¡öñ‚« ë¡)Ö ¥�Z®�ÜÒÏÖÊ�ÜñÏ ÖÊ�ܦ ÏÖÊ�Ü¥Ïì¡'Ö¥U®�Ü ÏÖÊ�ÜñÏ ÖÊ�ܦ ÏÖÊ�ܥϥ›¾¹Ö¥§€×Î « ֥ι1¬CW¹*  "$&(A§Sáôé¡ÖíÎÖ¦ MEMORY LEFT = ¥�Z®�ÜÒÏÖÊ�ÜžÏ ÖÊ�ÜÏê¡ÖíÎÖ¥€ØÏ “¡EÖ¦ SEARCH KEY =¥�Z®�ÜÒÏÖ¥ Ö¥€Ø®�ÜÏÊ�ÜÒÏ ÖÊ�ÜÏÖíÎîŸË¡ÖîÎÖîιòÖÆ�ZÏÖÆ€ØÏÖÆŸUÏ­ed¨Ü îô@†à¸Úhü¨Ü ‚ . š � . Ê rÆ,TEST3PAd½½PROGRAM TEST3(INPUT,OUTPUT); VAR CH : CHAR; CURPOS : INTEGER; PROCEDURE BACKSPACE; BEGIN WRITE(CH); END; PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8-CURPOS MOD 8; CURPOS := CURPOS+MOVESRT; WRITELN(' ',MOVESRT,' ',CURPOS); FOR I := 1 TO MOVESRT DO WRITE(' ') END; {HORIZTAB} PROCEDURE ACTION; VAR ORDCH : INTEGER; BEGIN ORDCH := ORD(CH); IF ORDCH IN [32..126] THEN WRITE(CH) ELSE CASE ORDCH OF {backspace} 8 : BACKSPACE; {horiz tab} 9 : HORIZTAB; {LINE FEED} 10 : WRITE(' LINEFEED'); {up} 11 : WRITE(' UP'); {delete} 127 : WRITE(' DELETE') END {case} END; {ACTION} PROCEDURE INITIALIZE{ALL VARIABLES}; BEGIN CURPOS := 1; {CURRENT CHARACTER POSITION} END; {INITIALIZE} BEGIN INITIALIZE; REPEAT BEGIN READ(CH); ACTION; END UNTIL EOF END. WRLPIXÏŽr 7PROCEDURE WRITELINE( CHANNEL : INTEGER; BUFFER : LINESTRING; BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7743; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(TEMPPOINTER); TEMPPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITELINE = ',R2.INT); ERR := ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE LINE} CATEGORIESÂqŽŽ 1 MISC 2 RENT 3 MAINTENANCE 4 TELEPHONE 5 STAMPS, OFFICE SUPPLIES 6 ATTORNEY 7 ACCOUNTANT 8 BUSINESS TRIPS 9 AUTO CAPITAL EXP. 10 AUTO MAINTENANCE 11 GAS & OIL 12 EMPLOYEE CHECKS 13 PERS. PROP. TAX 14 IRS 15 AWT 16 MISC TAXES 17 INSURANCE 18 MAGAZINES AND BOOKS 19 BUSINESS ENTERTAINMENT 20 BUSINESS PROMOTION 21 CASH DRAWS 22 R&D EQUIPMENT EXPENSE 23 R&D MAINTENANCE EXPENSE 24 PETTY CASH 25 BANK AMERICARD & AMERICAN EXPRESS 26 LICENSES AND DUES 27 SUB CONTRACTORS 28 PRINCIPAL PAYMENTS 29 INTEREST PAYMENTS 30 LOAN INCOME 31 INTEREST EXPENSE 32 RELOCATION EXPENSE 33 MEDICAL REIMBURSABLES 34 INCOME 35 DEBIT MEMO 36 LOAN MADE(OUT) GETFILEDREBU’ŽŽ 1979D2õŽŽ! 660 516 C 660 484.10 12 665 16 EM 665 1102.70 12 666 17 EM 666 1209.04 12 667 18 EM 667 1350.43 12 668 19 EM 668 199.40 12 669 20 EM 669 550.32 12 670 21 EM 670 539.29 12 671 22 EM 671 526.45 12 672 23 EM 672 344.29 12 673 24 EM 673 2468.66 14 674 53 EM 674 1360.43 12 675 54 EM 675 209.40 12 676 55 EM 676 1053.55 12 677 56 EM 677 1083.87 12 678 57 EM 678 516.30 12 679 58 EM 679 550.39 12 680 25 EM 680 411.53 12 681 59 EM 681 276.95 12 682 26 EM 682 2234.86 14 683 76 EM 683 1360.43 12 684 60 EM 684 209.40 12 685 61 EM 685 1101.20 12 686 62 EM 686 1580.40 12 687 63 EM 687 533.66 12 688 64 EM 688 610.74 12 689 65 EM 689 422.46 12 690 66 EM 690 215.64 12 691 77 EM 691 209.40 12 692 78 EM 692 981.35 12 693 79 EM 693 1050.72 12 694 80 EM 694 479.62 12 695 81 EM 695 554.62 12 696 82 EM 696 369.47 12 697 83 EM 697 329.08 12 698 67 EM 698 3861.48 14 699 84 EM 699 1398.97 12 700 85 EM 700 194.48 12 701 86 EM 701 1016.68 12 702 87 EM 702 1156.68 12 703 88 EM 703 563.99 12 704 89 EM 704 640.40 12 705 90 EM 705 470.84 12 706 91 EM 706 483.71 12 707 92 EM 707 2984.02 14 708 93 EM 708 555.34 14 709 94 EM 709 310.37 15 710 95 EM 710 1372.35 15 711 126 EM 711 1408.97 12 712 127 EM 712 204.48 12 713 128 EM 713 1091.05 12 714 129 EM 714 1096.88 12 715 130 EM 715 595.09 12 716 131 EM 716 613.84 12 717 132 EM 717 514.82 12 718 137 EM 718 482.51 12 719 138 EM 719 3016.96 14 720 139 EM 720 125.24 14 721 140 EM 721 879.67 15 722 170 EM 722 1032.90 12 723 171 EM 723 1408.97 12 724 205 EM 724 204.48 12 725 172 EM 725 1166.68 12 726 173 EM 726 527.17 12 727 174 EM 727 560.96 12 728 175 EM 728 492.78 12 729 176 EM 729 298.75 12 730 177 EM 730 2831.26 14 731 206 EM 731 1408.97 12 732 207 EM 732 204.48 12 733 208 EM 733 863.83 12 734 209 EM 734 915.34 12 735 210 EM 735 368.67 12 736 211 EM 736 514.29 12 737 212 EM 737 430.51 12 738 213 EM 738 322.85 12 739 178 EM 739 2326.89 14 740 214 EM 740 1420.97 12 741 215 EM 741 204.48 12 742 216 EM 742 1131.44 12 743 217 EM 743 1096.04 12 744 218 EM 744 551.67 12 745 219 EM 745 640.60 12 746 220 EM 746 385.40 12 747 221 EM 747 360.91 12 748 222 EM 748 2850.69 14 749 254 EM 749 1424.97 12 750 255 EM 750 204.48 12 751 223 EM 751 1049.82 12 752 256 EM 752 992.88 12 753 257 EM 753 551.67 12 754 258 EM 754 550.23 12 755 259 EM 755 431.37 12 756 260 EM 756 343.46 12 758 224 EM 758 2575.50 14 759 261 EM 759 1391.48 15 760 262 EM 760 1569.95 15 761 263 EM 761 80.68 14 762 264 EM 762 1017.67 12 763 265 EM 763 929.08 12 764 266 EM 764 518.89 12 765 272 EM 765 271.86 12 766 273 EM 766 384.02 12 767 274 EM 767 256.22 12 768 307 EM 768 1426.97 12 769 308 EM 769 204.48 12 770 309 CC 770 771 311 EM 771 864.72 12 772 312 EM 772 1001.57 12 774 313 EM 774 640.60 12 775 314 EM 775 302.19 12 776 315 EM 776 451.39 12 777 316 EM 777 429.02 12 778 317 EM 778 314.65 12 779 310 CC 779 780 318 EM 780 568.52 12 781 319 EM 781 993.27 12 782 275 EM 782 2500 14 783 276 EM 783 1956.74 14 784 320 EM 784 551.67 12 785 321 EM 785 993.62 12 786 322 EM 786 993.62 12 787 323 EM 787 444.04 12 788 324 EM 788 375 12 789 325 EM 789 415.74 12 790 326 EM 790 204.48 12 791 327 EM 791 1426.97 12 792 328 EM 792 1426.97 12 793 360 EM 793 561.13 12 794 357 EM 794 1426.97 12 795 358 EM 795 204.48 12 796 359 EM 796 2090.76 14 797 366 EM 797 360.94 15 798 421 EM 798 204.48 12 799 422 EM 799 204.48 12 800 423 EM 800 1426.97 12 801 424 EM 801 426.97 12 803 433 EM 803 1207.97 27 804 434 EM 804 1426.97 12 805 435 EM 805 204.48 12 806 425 CC 806 807 426 CC 807 808 427 CC 808 809 436 EM 809 1835.96 14 815 517 EM 815 887.50 12 1995 106 CM 1995 2763 3 C 2763 1850.16 2 2764 4 C 2764 552.87 17 2765 5 C 2765 314.49 8 2766 6 C 2766 314.49 8 2767 7 C 2767 100 8 2768 33 C 2768 677.50 20 2769 34 C 2769 125 26 2770 8 C 2770 20.07 18 2771 9 C 2771 630.50 4 2772 35 C 2772 736 23 2773 36 C 2773 13 1 2774 10 C 2774 38.75 11 2775 37 C 2775 12.82 18 2776 38 C 2776 7.30 23 2777 11 C 2777 47.70 5 2778 39 C 2778 258.40 5 2779 12 C 2779 229.63 25 2780 13 C 2780 6.94 5 2781 14 C 2781 64.25 5 2782 40 C 2782 160.96 5 2783 41 C 2783 563.93 23 2784 42 C 2784 67 26 2785 43 C 2785 45.00 26 2786 15 C 2786 228.23 8 2788 44 C 2788 93.70 5 2789 475 CC 2789 2790 45 C 2790 1000 8 2791 46 C 2791 100 26 2792 47 C 2792 1850.16 2 2793 48 C 2793 115 3 2794 49 C 2794 75 5 2795 50 C 2795 114.48 24 2796 51 C 2796 14 1 2797 52 C 2797 150 5 2798 476 CC 2798 2799 477 C 2799 157. 23 2800 96 C 2800 38 20 2801 478 CC 2801 2802 97 C 2802 7 1 2803 98 C 2803 1850.16 2 2804 99 C 2804 12.45 2805 100 C 2805 125 8 2806 101 C 2806 2 1 2807 102 C 2807 115 3 2808 103 C 2808 1105.74 17 2809 104 C 2809 23.35 1 2810 105 C 2810 131 8 2811 479 CC 2811 2812 112 C 2812 63.75 6 2813 113 C 2813 545 7 2814 114 C 2814 1406.50 17 2815 115 C 2815 368 23 2816 116 C 2816 600 28 2817 117 C 2817 151.18 25 2818 118 C 2818 13.80 5 2819 119 C 2819 30 5 2820 120 C 2820 692 25 2821 121 C 2821 100 25 2822 122 C 2822 1291.19 4 2823 123 C 2823 275.82 4 2824 124 C 2824 100 26 2825 125 C 2825 25 26 2826 141 C 2826 1850.16 2 2827 142 C 2827 115 3 2828 143 C 2828 552.87 17 2829 144 C 2829 75 24 2830 145 C 2830 88 18 2831 146 C 2831 20 26 2832 147 C 2832 108 26 2833 149 C 2833 64.59 4 2834 150 C 2834 157.50 22 2835 151 C 2835 8.93 1 2836 152 C 2836 25 26 2837 153 C 2837 30 5 2838 154 C 2838 12.25 5 2839 155 C 2839 10.94 5 2840 179 C 2840 770.93 25 2841 180 C 2841 32.27 25 2842 156 C 2842 273.55 25 2843 157 C 2843 1444.50 17 2844 158 C 2844 176 5 2845 159 C 2845 446.10 5 2846 181 C 2846 33.44 5 2847 160 C 2847 739.11 4 2848 161 C 2848 108.10 4 2849 162 C 2849 341.33 4 2850 163 C 2850 428.08 25 2851 164 C 2851 26.19 11 2852 182 C 2852 101.44 23 2853 165 C 2853 611.53 17 2854 166 C 2854 20.75 1 2855 167 C 2855 500 27 2856 183 C 2856 513.12 23 2857 184 C 2857 83.07 5 2858 168 C 2858 9.93 5 2859 480 CC 2859 2860 169 C 2860 28.50 5 2861 230 C 2861 611.53 17 2862 231 C 2862 171.16 25 2863 232 C 2863 32 8 2864 185 C 2864 25.83 8 2865 186 C 2865 1850.16 2 2866 187 C 2866 30.29 5 2867 188 C 2867 115 3 2868 189 C 2868 27.76 14 2869 190 C 2869 80 18 2870 191 C 2870 736 23 2871 192 C 2871 546.84 5 2872 193 C 2872 68.98 5 2873 494 CC 2873 2874 194 C 2874 298.05 6 2875 195 C 2875 766.49 6 2876 481 CC 2876 2877 196 C 2877 16 18 2878 197 C 2878 121.92 1 2879 198 C 2879 1633.42 23 2880 199 C 2880 11.25 5 2881 200 C 2881 23.85 5 2882 201 C 2882 49.52 5 2883 202 C 2883 9.80 5 2884 482 CC 2884 2885 483 CC 2885 2886 203 C 2886 24.45 5 2887 233 C 2887 30 5 2888 234 C 2888 41.62 5 2889 204 C 2889 77 5 2890 235 C 2890 104.82 23 2891 236 C 2891 129.76 8 2892 237 C 2892 115 3 2893 238 C 2893 27.46 5 2894 239 C 2894 3.95 23 2895 240 C 2895 244.30 25 2896 241 C 2896 16.85 5 2897 242 C 2897 1850.16 2 2898 243 C 2898 601.53 17 2899 244 C 2899 177 5 2900 245 C 2900 717.86 4 2901 246 C 2901 50 26 2902 247 C 2902 3 18 2903 248 C 2903 22 18 2904 249 C 2904 169.04 5 2905 250 C 2905 300 17 2906 252 C 2906 60 1 2907 280 C 2907 45 1 2908 334 C 2908 601.81 4 2909 253 C 2909 81.22 15 2910 333 C 2910 897 15 2911 484 CC 2911 2912 485 C 2912 787.00 17 2913 332 C 2913 133.61 23 2914 329 C 2914 101.18 5 2915 291 C 2915 26 5 2916 330 C 2916 70.65 5 2917 331 C 2917 76.47 5 2918 292 C 2918 336.98 27 2919 293 C 2919 263.44 8 2920 294 C 2920 153.50 6 2921 295 C 2921 1159.13 25 2922 486 CC 2922 2923 487 CC 2923 2924 488 C 2924 368 23 2925 296 C 2925 54 10 2926 297 C 2926 306.79 17 2927 298 C 2927 225 1 2928 299 C 2928 1850.16 2 2929 300 C 2929 395.75 2 2930 301 C 2930 2839.54 14 2931 302 C 2931 115 3 2932 303 C 2932 18.02 5 2933 336 C 2933 51.22 5 2934 304 C 2934 83.31 4 2935 305 C 2935 56 33 2936 306 C 2936 1390 28 2937 337 C 2937 398 17 2938 338 C 2938 60.80 1 2939 339 C 2939 19.75 18 2940 340 C 2940 30.95 32 2941 341 C 2941 31.65 32 2942 342 C 2942 115 3 2943 343 C 2943 350 27 2944 344 C 2944 100 27 2945 345 C 2945 1850.16 2 2946 346 C 2946 20.76 11 2947 347 C 2947 75.64 32 2948 348 C 2948 124.89 17 2949 349 C 2949 106.45 25 2950 350 C 2950 150.70 10 2951 351 C 2951 8.46 32 2952 352 C 2952 1057.58 27 2953 353 C 2953 830 27 2954 489 CC 2954 2955 367 C 2955 1301.13 32 2956 368 C 2956 60 27 2957 369 C 2957 125 27 2958 354 C 2958 25 3 2959 370 C 2959 30 3 2960 371 C 2960 10.35 32 2961 355 C 2961 100 22 2962 356 C 2962 1000 17 2963 372 C 2963 178.83 32 2964 373 C 2964 270.22 32 2965 374 C 2965 174.85 4 2966 375 C 2966 81.63 32 2967 376 C 2967 365.44 32 2968 377 C 2968 34.70 32 2969 518 CC 2969 2970 378 C 2970 22000 12 2971 379 C 2971 1500 32 2972 380 C 2972 398.04 32 2973 381 C 2973 1550 9 2974 490 CC 2974 2975 382 C 2975 294.74 25 2976 383 C 2976 548.34 32 2977 491 CC 2977 2978 384 C 2978 35 26 2979 385 C 2979 500 7 2980 492 CC 2980 2981 396 C 2981 34 1 2982 493 CC 2982 2983 386 C 2983 398.04 32 2984 397 C 2984 7.68 10 2985 387 C 2985 1850.16 2 2986 406 C 2986 22 1 2987 407 C 2987 47.20 5 2988 398 C 2988 17.50 8 2989 408 C 2989 2 4 2990 409 C 2990 890.60 4 2991 399 C 2991 31 1 2992 400 C 2992 7.50 5 2993 410 C 2993 30.95 3 2994 401 C 2994 196.14 22 2995 402 C 2995 60.93 23 2996 403 C 2996 202.41 23 2997 404 C 2997 20.58 23 2998 405 C 2998 118.46 23 2999 437 C 2999 80 10 3000 438 C 3000 230 1 3001 439 C 3001 359 1 3003 411 C 3003 63.01 4 3004 412 C 3004 5.80 23 3005 413 C 3005 81.83 32 3006 414 C 3006 190.25 4 3007 440 C 3007 37.12 10 3008 441 C 3008 12.40 10 3009 415 C 3009 89.20 5 3010 442 C 3010 69 1 3011 416 C 3011 61.95 5 3012 443 C 3012 600 3 3013 417 C 3013 550 2 3014 418 C 3014 93.39 2 3015 419 C 3015 368.32 2 3016 444 C 3016 4 5 3017 445 C 3017 1208.43 25 3018 420 C 3018 414.75 2 3019 446 C 3019 31 5 3020 447 C 3020 8 18 3021 448 C 3021 262.25 22 3022 449 C 3022 34.90 22 3023 450 C 3023 535.05 3 3024 451 C 3024 12.60 10 3025 452 C 3025 547.25 27 3026 453 C 3026 40 32 3027 454 C 3027 327.12 4 3028 455 C 3028 44.82 3 3029 456 C 3029 397.33 23 3030 495 C 3030 626.30 23 3031 496 C 3031 30 27 3032 457 C 3032 202.96 17 3033 458 C 3033 215.05 3 3034 459 C 3034 6.30 3 3035 460 C 3035 230 3 3036 461 C 3036 50 27 3037 462 C 3037 288 27 3038 463 C 3038 150 27 3039 464 C 3039 55.06 3 3041 497 C 3041 3.57 4 3042 465 C 3042 88.17 3 3043 466 C 3043 49.80 3 3045 467 C 3045 10 1 3046 468 C 3046 5428.82 6 3047 469 C 3047 300 24 3048 498 C 3048 22.56 11 3049 1 C 3049 44.55 10 3050 499 C 3050 35 26 3051 470 C 3051 164 17 3052 471 C 3052 612.92 3 3053 500 C 3053 256.07 4 3054 501 C 3054 1743.66 7 3055 502 C 3055 1200 21 3056 515 C 3056 10 26 3057 503 C 3057 60 26 3058 504 C 3058 385 3 3059 505 C 3059 172.14 8 3060 506 C 3060 6.95 3 3061 507 C 3061 646.33 8 3062 508 C 3062 31 1 3063 509 C 3063 30 26 3065 2 C 3065 223.70 32 3072 510 C 3072 129.64 4 3073 519 C 3073 1340.73 25 3074 511 C 3074 2500 21 3077 512 C 3077 10.77 6 3079 513 C 3079 37.50 6 3080 514 C 3080 1298.05 25 1978D3!ÙoŽŽ * 0 14 CC 2357 0 19 CC 2362 0 20 CC 2363 0 21 CC 2364 0 22 CC 2365 0 24 CC 2367 0 25 CC 2368 0 26 CC 2369 0 27 CC 2370 0 29 CC 2372 0 30 CC 2373 0 105 CC 2437 0 113 CC 2445 0 130 CC 2461 0 131 CC 2462 0 137 CC 2468 0 144 CC 2474 0 155 CC 2484 0 168 CC 2496 0 170 CC 2498 0 204 CC 2530 0 210 CC 2535 0 219 CC 2543 0 240 CC 2562 0 268 CC 2586 0 270 CC 2588 0 292 CC 2604 0 299 CC 2610 0 300 CC 2611 0 321 CC 2628 0 325 CC 2632 0 365 CC 2665 0 377 CC 2677 0 395 CC 2694 0 419 CC 2714 0 468 CC 2757 0 648 CC 542 0 649 CC 543 0 650 CC 2592 0 651 CC 2658 2 165 C 2493 2 22 9 2 234 C 2558 2.05 18 15 3 37 C 2380 3.60 5 2 3 106 C 2438 3.47 18 6 3 150 C 2480 3.95 18 9 3 166 C 2494 3.50 18 9 4 136 C 2467 4.80 22 8 4 195 C 2521 4.15 10 12 5 273 C 2589 5 1 17 5 436 C 2730 5.74 5 27 5 528 W 544 5.00 14 11 6 5 C 2338 6.00 1 1 6 95 C 2430 6.75 18 6 6 404 C 2702 6.90 5 25 6 433 C 2727 6 18 27 7 62 C 2399 7.95 18 3 7 81 C 2417 7.75 11 3 7 122 C 2454 7.85 5 7 7 151 C 2481 7.06 1 9 7 157 C 2486 7 1 9 7 164 C 2492 7 1 11 7 198 C 2524 7 1 12 7 327 C 2634 7.50 1 21 8 63 C 2400 8.52 18 3 8 89 C 2425 8.95 18 5 8 190 C 2517 8 18 11 8 326 C 2633 8.75 18 21 8 370 C 2670 8.70 1 24 9 143 C 2473 9.95 18 8 9 306 C 2614 9.22 5 20 9 316 C 2624 9 18 20 10 15 C 2358 10 3 1 10 86 C 2422 10 16 5 10 181 C 2508 10.80 18 11 10 226 C 2550 10 18 14 10 453 C 2743 10 26 28 11 107 C 2439 11 18 6 11 224 C 2548 11.70 25 14 11 373 C 2673 11.48 22 23 11 423 C 2718 11.56 5 26 12 45 C 2387 12 18 2 12 49 C 2391 12 18 2 12 79 C 2415 12.68 5 3 12 140 C 2471 12 22 8 12 163 C 2491 12.30 18 9 12 329 C 2636 12.55 11 21 13 118 C 2450 13.00 17 6 13 201 C 2527 13.30 5 12 13 346 C 2650 13.05 11 22 14 60 C 2398 14.85 18 3 14 251 C 2571 14.30 5 15 14 344 C 2648 14.20 23 22 15 77 C 2413 15 18 3 15 153 C 2483 15 18 9 15 361 C 2662 15 18 22 15 414 C 2709 15 18 26 15 451 C 2741 15.15 8 28 16 91 C 2426 16.05 5 7 16 112 C 2444 16. 18 6 16 199 C 2525 16 10 12 16 371 C 2671 16.80 1 24 16 416 C 2711 16.75 18 26 17 302 C 2612 17 6 20 17 349 C 2653 17.16 5 22 18 187 C 2514 18 18 11 18 203 C 2529 18.70 18 12 18 410 C 2706 18.50 18 26 19 111 C 2443 19.89 22 6 19 350 C 2654 19.94 5 22 19 455 C 2745 19 26 28 20 188 C 2515 20 18 11 20 193 C 2519 20 26 12 20 399 C 2697 20.32 5 26 20 434 C 2728 20 5 27 21 174 C 2502 21.85 11 10 22 48 C 2390 22.80 22 3 23 182 C 2509 23.30 5 11 23 266 C 2584 23.95 8 16 25 132 C 2463 25 18 8 25 360 C 2661 25 22 22 25 363 C 2664 25.35 5 23 26 133 C 2464 26 22 8 26 213 C 2538 26 5 14 26 249 C 2569 26 17 15 26 258 C 2576 26.12 5 16 27 72 C 2408 27.00 5 5 27 183 C 2510 27.60 5 11 28 69 C 2405 28.26 21 5 28 88 C 2424 28.15 23 5 28 109 C 2441 28.76 18 6 28 194 C 2520 28.99 10 12 28 284 C 2596 28 1 18 29 64 C 2401 29.39 22 3 29 372 C 2672 29 5 23 30 152 C 2482 30 18 9 30 335 C 2641 30 5 21 30 462 C 2751 30 5 28 32 74 C 2410 32.23 5 5 33 47 C 2389 33.30 22 2 33 305 C 2613 33 5 20 33 312 C 2620 33 17 20 33 449 C 2739 33 18 28 34 158 C 2487 34.03 22 9 34 227 C 2551 34 6 14 34 351 C 2655 34.12 22 22 35 340 C 2644 35 26 22 35 387 C 2686 35.27 11 25 36 260 C 2578 36.81 11 16 36 408 C 2704 36 18 26 36 415 C 2710 36.50 5 26 37 263 C 2581 37.70 18 16 37 359 C 2660 37 18 22 37 382 C 2682 37.64 22 24 38 7 C 2347 38.00 1 1 38 565 W 581 38.36 14 16 39 50 C 2392 39 22 2 39 135 C 2466 39 5 8 39 320 C 2627 39.50 18 20 39 391 C 2690 39.85 18 25 40 104 C 2436 40 20 6 40 429 C 2723 40.30 5 27 40  450 C 2740 40 23 28 40 645 E 664 40.27 15 29 41 98 C 2433 41.5 20 6 42 16 C 2359 42.80 10 1 42 189 C 2516 42 26 11 42 257 C 2575 42 26 16 43 4 C 2337 43.50 1 1 45 200 C 2526 45.45 5 12 46 167 C 2495 46.49 4 10 46 310 C 2618 46.45 5 20 46 441 C 2733 46.85 5 27 48 328 C 2635 48 4 21 49 378 C 2678 49.56 8 24 49 384 C 2684 49.44 1 25 50 8 C 2348 50.00 24 1 50 10 C 2354 50.00 20 1 50 18 C 2361 50 18 1 50 23 C 2366 50 18 1 50 28 C 2371 50 18 1 50 84 C 2420 50 24 3 50 117 C 2449 50. 27 6 50 134 C 2465 50.50 18 8 50 173 C 2501 50 20 11 50 223 C 2547 50.50 5 14 50 293 C 2605 50 24 18 50 298 C 2609 50 20 19 50 319 C 2626 50 24 20 50 366 C 2666 50 24 23 50 390 C 2689 50 22 25 50 420 C 2715 50 22 26 50 438 C 2731 50 24 27 52 70 C 2406 52.68 5 5 52 99 C 2434 52 5 6 52 314 C 2622 52.30 5 20 52 435 C 2729 52.84 11 27 53 6 C 2345 53.35 1 1 53 71 C 2407 53.35 5 5 54 463 C 2752 54 5 28 55 119 C 2451 55.00 22 7 55 212 C 2537 55.93 4 14 55 464 C 2753 55 22 28 56 121 C 2453 56.30 5 7 56 322 C 2629 56 17 20 60 43 C 2385 60.30 5 2 61 196 C 2522 61.36 10 12 64 51 C 2393 64.65 25 2 64 57 C 2397 64. 8 3 64 466 C 2755 64.50 6 28 66 46 C 2388 66.80 22 2 66 82 C 2418 66.34 4 3 70 138 C 2469 70 18 8 70 343 C 2647 70 23 22 72 264 C 2582 72 6 16 74 120 C 2452 74.42 22 7 74 220 C 2544 74.95 10 14 75 128 C 2459 75.65 11 8 75 247 C 2567 75.21 10 15 75 467 C 2756 75 28 29 76 428 C 2722 76.99 22 27 80 65 C 2402 80. 23 3 81 259 C 2577 81.71 4 16 84 497 E 519 84.76 12 12 85 52 C 2394 85.54 22 2 85 225 C 2549 85 6 14 85 295 C 2607 85 1 18 86 32 C 2375 86 5 1 89 175 C 2503 89.37 8 10 90 232 C 2556 90 10 14 90 289 C 2601 90.50 5 18 93 35 C 2378 93.20 3 2 93 80 C 2416 93.20 3 5 93 114 C 2446 93.20 3 6 94 172 C 2500 94.90 22 11 96 367 C 2667 96.30 18 23 97 211 C 2536 97.67 23 14 99 405 C 2703 99 17 25 100 239 C 2561 100 5 15 100 244 C 2564 100.75 10 15 101 336 C 2642 101.39 4 22 105 216 C 2541 105 3 14 105 279 C 2590 105.78 8 17 105 526 E 539 105.03 12 10 106 215 C 2540 106.32 8 14 108 217 C 2542 108.06 8 14 109 282 C 2594 109.92 22 17 110 75 C 2411 110. 16 5 110 96 C 2431 110 5 6 110 380 C 2680 110 23 24 110 401 C 2699 110.25 1 26 110 574 E 590 110.15 12 17 113 142 C 2472 113.56 4 8 114 39 C 2382 114.98 18 2 115 255 C 2574 115 3 16 115 307 C 2615 115 3 20 115 334 C 2640 115 3 21 115 388 C 2687 115 3 25 115 427 C 2721 115 3 27 115 470 C 2759 115 3 29 116 356 C 2657 116.89 1 23 117 169 C 2497 117.03 3 10 117 430 C 2724 117.43 4 27 119 17 C 2360 119.40 19 1 120 233 C 2557 120 1 15 126 184 C 2511 126.00 5 11 127 432 C 2726 127.35 5 27 129 149 C 2479 129 5 9 131 459 C 2749 131.46 10 28 134 288 C 2600 134 5 18 134 309 C 2617 134 5 20 134 394 C 2693 134.32 22 25 134 403 C 2701 134.74 22 25 136 38 C 2381 136.16 5 2 139 41 C 2383 139.24 4 2 139 330 C 2637 139.70 22 21 139 418 C 2713 139.96 13 26 140 339 C 2643 140 22 21 140 444 C 2736 140 1 27 141 392 C 2691 141.22 4 25 142 623 E 631 142.22 12 24 144 389 C 2688 144.36 4 25 145 161 C 2490 145 5 9 145 369 C 2669 145 5 23 145 461 C 2750 145.75 10 28 153 290 C 2602 153.64 5 18 154 448 C 2738 154.01 5 28 155 42 C 2384 155 5 2 160 454 C 2744 160 27 28 164 323 C 2630 164 5 21 164 442 C 2734 164.11 5 27 168 185 C 2512 168.26 5 11 174 457 C 2747 174.34 8 28 179 160 C 2489 179.46 5 9 180 591 E 608 180.93 12 20 182 509 W 522 182.00 12 8 184 252 C 2572 184.25 5 15 185 537 E 552 185.93 12 12 186 294 C 2606 186.36 8 18 187 287 C 2599 187.22 5 18 192 250 C 2570 192 22 15 199 348 C 2652 199.40 5 22 200 228 C 2552 200 5 14 200 285 C 2597 200 27 18  200 375 C 2675 200 28 23 201 607 E 640 201.10 12 25 205 347 C 2651 205.74 22 22 206 206 C 2532 206.25 26 12 208 147 C 2477 208.65 5 8 208 458 C 2748 208.22 25 28 218 417 C 2712 218.26 5 26 223 123 C 2455 223.17 5 7 230 186 C 2513 230.66 25 11 247 643 E 661 247.78 12 29 251 638 W 649 251.13 15 26 254 489 E 504 254.00 15 4 258 614 E 616 258.02 12 21 259 514 E 516 259.01 12 7 261 85 C 2421 261.65 23 5 262 222 C 2546 262.60 5 14 264 9 C 2356 264.05 4 1 265 547 E 560 265.01 12 13 267 236 C 2560 267.58 22 15 269 559 E 575 269.88 12 16 271 269 C 2587 271.60 23 17 277 513 W 517 277.10 12 7 280 13 C 2355 280.60 22 1 282 592 E 609 282.18 12 20 283 590 E 607 283.06 12 20 286 78 C 2414 286.41 5 3 293 619 E 622 293.42 12 23 295 412 C 2707 295 26 26 297 552 E 561 297.08 12 13 299 536 E 553 299.63 12 12 301 73 C 2409 301.50 21 5 304 483 E 510 304.73 12 5 304 539 E 569 304.73 12 15 309 315 C 2623 309.14 8 20 311 280 C 2591 311.54 8 17 325 609 E 610 325.46 12 21 326 635 E 646 326.75 12 26 327 629 E 652 327.45 12 28 339 108 C 2440 339.45 22 6 339 620 E 623 339.16 12 23 342 452 C 2742 342.32 8 28 343 538 E 568 343.38 12 15 343 580 E 598 343.31 12 18 346 561 E 577 346.43 12 16 346 608 E 645 346.92 12 26 350 265 C 2583 350 21 16 356 501 E 531 356.37 12 9 359 600 E 632 359.96 12 24 361 606 E 639 361.79 12 25 368 124 C 2456 368.00 23 7 368 145 C 2475 368 23 8 368 179 C 2506 368 23 11 368 229 C 2553 368 23 14 368 261 C 2579 368.00 23 16 368 313 C 2621 368 23 20 368 358 C 2659 368 23 22 368 402 C 2700 368 23 25 368 446 C 2737 368 23 27 369 593 E 615 369.00 12 21 372 493 W 500 372.80 12 3 373 639 E 654 373.60 12 28 374 469 C 2758 374 17 29 374 573 E 589 374.42 12 17 374 621 E 624 374.42 12 23 379 588 E 605 379.26 12 20 380 148 C 2478 380 7 9 384 630 E 653 384.95 12 28 386 525 E 538 386.34 12 10 387 202 C 2528 387 17 12 387 492 W 501 387.26 12 3 392 476 E 494 392.55 12 2 393 504 E 528 393.86 12 9 393 637 W 648 393.57 15 26 393 644 E 663 393.62 15 29 398 516 E 514 398.75 12 7 400 324 C 2631 400.88 4 21 405 56 C 2396 405.38 4 3 410 115 C 2447 410.72 25 6 420 617 E 620 420.35 12 23 430 579 E 597 430.98 12 18 432 283 C 2595 432.25 4 18 432 484 E 509 432.47 12 5 436 503 E 530 436.65 12 9 439 515 E 515 439.51 12 7 440 535 E 551 440.27 12 12 446 192 C 2518 446.86 4 11 450 92 C 2427 450.59 17 5 450 127 C 2458 450.59 17 8 456 477 E 493 456.63 12 2 464 500 E 537 464.55 12 10 465 541 E 566 465.02 12 15 472 413 C 2708 472.87 4 26 472 560 E 576 472.09 12 16 473 533 E 549 473.57 12 12 473 545 E 557 473.57 12 13 474 159 C 2488 474.35 5 9 483 498 E 520 483.00 15 8 483 563 W 579 483.00 15 16 483 622 W 626 483.00 15 23 483 646 W 656 483 15 29 484 625 E 660 484.10 12 29 490 633 E 643 490.20 12 26 495 368 C 2668 495.42 4 23 497 478 E 492 497.88 12 2 497 495 W 498 497.97 12 3 500 33 C 2376 500 21 1 500 139 C 2470 500 21 8 500 231 C 2555 500 21 14 500 243 C 2563 500 8 15 500 254 C 2573 500 21 15 500 345 C 2649 500 24 22 500 362 C 2663 500 21 23 500 376 C 2676 500 8 23 500 397 C 2695 500 8 25 500 398 C 2696 500 8 25 500 471 C 2760 500 21 29 500 472 C 2761 500 21 29 500 582 E 596 500.91 12 18 502 486 E 507 502.81 12 5 505 612 E 613 505.84 12 21 513 572 E 588 513.44 12 17 516 634 E 644 516.116 12 26 531 581 E 594 531.30 12 18 533 604 E 637 533.66 12 25 537 571 E 587 537.45 12 17 538 523 E 535 538.32 12 10 542 534 E 550 542.91 12 12 542 589 E 606 542.91 12 20 547 31 C 2374 547.42 17 1 547 177 C 2504 547.42 17 11 548 618 E 621 548.51 12 23 550 214 C 2539 550 24 14 552 393 C 2692 552.87 17 25 552 431 C 2725 552.87 17 27 552 598 E 629 552.62 12 24 561 494 W 499 561.91 12 3 563 248 C 2568 563.06 4 15 566 557 E 573 566.88 12 16 566 642 E 659 566.46 12 29 569 465 C 2754 569.90 4 28 574 479 E 491 574.03 12 2 575 485 E 508 575.53 12 5 589 110 C 2442 589.40 4 6 589 502 E 529 589.96 12 9 595 613 E 614 595.69 12 21 596 540 E 567 596.15 12 15 596 599 E 630 596.12 12 24 601 546 E 558 601.00 12 13 610 605 E 638 610.74 12 25 616 146 C 2476 616 9 8 616 180 C 2507 616 9 11 621 93 C 2428 621.73 8 6 627 569 E 585 627.63 12 17 630 558 E 574 630.97 12 16 635 409 C 2705 635.69 27 26 643 524 E 536 643.20 12 10 645 578 E 595 645.08 12 18 671 221 C 2545 671.81 17 14 671 262 C 2580 671.81 17 16 671 341 C 2645 671.81 17 22 675 100 C 2435 675 8 6 688 553 E 559 688.29 12 13 695 116 C 2448 695.00 7 6 702 490 W 503 702.05 14 4 732 570 E 586 732.19 12 17 733 508 E 524 733.00 15 8 750 400 C 2698 750 21 26 770 281 C 2593 770.94 25 17 788 482 E 488 788.81 12 2 790 311 C 2619 790.75 17 20 796 586 E 603 796.26 12 20 800 601 W 634 800.03 15 24 802 587 E 604 802.32 12 20 830 499 E 511 830.88 12 7 842 481 E 489 842.19 12 2 842 487 E 506 842.80 12 5 845 616 E 619 845.14 12 23 850 585 W 602 850.20 15 18 852 550 E 556 852.47 12 13 873 532 E 548 873.83 12 12 888 505 E 527 888.88 12 9 890 480 E 490 890.20 12 2 893 518 E 512 893.06 12 7 899 235 C 2559 899 17 15 911 440 C 2732 911.35 25 27 912 230 C 2554 912.90 9 14 919 286 C 2598 919 2 18 921 602 E 635 921.48 12 25 922 611 E 612 922.47 12 21 923 129 C 2460 923. 5 8 924 530 E 546 924.04 12 12 926 496 E 497 926.48 12 3 927 549 E 554 927.77 12 12 948 542 E 565 948.24 12 14 960 577 E 593 960.21 12 18 979 575 E 591 979.37 12 18 981 627 E 650 981.35 12 28 982 531 E 547 982.73 12 12 985 543 E 564 985.99 12 14 991 97 C 2432 991 16 6 991 507 E 525 991.35 12 9 991 544 E 563 991.80 12 14 991 548 E 555 991.16 12 12 992 628 E 651 992.28 12 28 996 568 E 584 996.51 12 17 999 522 E 534 999.70 12 10 1000 55 C 2395 1000. 21 3 1000 333 C 2639 1000 21 21 1007 381 C 2681 1007 23 24 1019 556 E 572 1019.07 12 16 1020 610 E 611 1020.87 12 21 1033 488 E 505 1033.57 12 5 1034 506 E 526 1034.18 12 9 1042 632 E 642 1042.43 12 26 1046 566 E 582 1046.89 12 17 1050 554 E 570 1050.61 12 16 1050 603 E 636 1050.72 12 25 1053 615 E 618 1053.55 12 23 1062 520 E 532 1062.02 12 10 1069 555 E 571 1069.11 12 16 1076 475 E 495 1076.21 12 3 1081 631 E 641 1081.13 12 26 1113 517 E 513 1113.18 12 7 1122 521 E 533 1122.84 12 10 1136 456 C 2746 1136.47 6 28 1151 44 C 2386 1151 17 2 1151 567 E 583 1151.39 12 17 1158 597 E 628 1158.89 12 24 1176 640 E 657 1176.43 12 29 1177 474 E 496 1177.09 12 3 1184 641 E 658 1184.18 12 29 1197 83 C 2419 1197.81 5 5 1200 332 C 2638 1200 21 22 1203 178 C 2505 1203.31 22 11 1209 596 E 627 1209.08 12 24 1210 197 C 2523 1210.49 10 12 1345 529 W 545 1345.38 15 11 1352 297 C 2608 1352.93 25 19 1397 374 C 2674 1397.48 25 23 1426 576 E 592 1426.28 12 18 1452 317 C 2625 1452.77 25 20 1500 34 C 2377 1500 21 3 1500 76 C 2412 1500 21 10 1500 355 C 2656 1500 21 23 1500 421 C 2716 1500 21 27 1500 422 C 2717 1500 21 28 1510 473 C 2762 1510 21 29 1549 510 W 523 1549.00 14 8 1562 36 C 2379 1562.80 2 2 1562 67 C 2403 1562.80 2 5 1562 125 C 2457 1562.80 2 7 1703 207 C 2533 1703.40 2 12 1703 527 W 541 1703.92 15 11 1773 171 C 2499 1773.70 2 11 1773 267 C 2585 1773.70 2 16 1800 205 C 2531 1800 21 13 1800 246 C 2566 1800 21 17 1804 3 C 2313 1804.52 22 1 1850 342 C 2646 1850.16 2 22 1850 386 C 2685 1850.16 2 25 1850 443 C 2735 1850.16 2 27 1863 584 W 600 1863.74 15 18 1875 308 C 2616 1875.10 2 20 1887 68 C 2404 1887.00 17 5 2000 2 C 2332 2000 21 1 2000 156 C 2485 2000 21 9 2000 383 C 2683 2000. 21 25 2210 511 W 521 2210.00 14 8 2210 564 W 580 2210.00 14 16 2210 595 E 625 2210.00 14 23 2210 647 W 655 2210. 14 29 2276 626 W 662 2276.24 14 29 2386 87 C 2423 2386 17 5 2424 636 W 647 2424.72 14 26 2792 624 W 633 2792.12 14 24 2861 594 W 617 2861.14 14 21 3000 245 C 2565 3000 21 15 3178 209 C 2534 3178.45 22 14 3391 512 W 518 3391.80 14 7 3920 426 C 2720 3920.58 17 27 4000 94 C 2429 4000. 21 6 4255 551 W 562 4255.04 14 13 4412 562 W 578 4412.14 14 16 4521 491 W 502 4521.60 14 4 4601 519 W 540 4601.70 14 10 4812 424 C 2719 4812.51 23 27 5659 583 W 599 5659.58 14 18 10000 379 C 2679 10000 23 24 14850 291 C 2603 14850. 22 18 PASCALER*€§Ž?  Message #0. >left parenthesis or constant expected in simple type; skipping 1identifier expected after reserved word "PROGRAM"ype; skipping reserved word "PROGRAM" expecteded word "PROGRAM"ype; skipping 5right parenthesis expected to terminate argument list skipping 1colon expected after constant in "CASE" statementlist skipping .period expected to terminate program; skippingentlist skipping >colon/semicolon/left paren. expected after proc name; skipping /reserved word "OF" expected in "CASE" statement name; skipping >this proc/func requires argument(s); left parenthesis expected 5unexpected item at start of type definition; skipping expected )left bracket expected in array definitionon; skipping expected 0right bracket expected to terminate set constantpping expected 8reserved word "END" expected to terminate proc/func bodypected 1semicolon expected after proc/func body; skippingnc bodypected 4integer constant expected after reserved word "GOTO"bodypected *equal sign expected in constant definitionord "GOTO"bodypected 9reserved word "BEGIN" expected at start of proc/func bodyected -unexpected item in declaration part; skippingoc/func bodyected 5identifier or reserved word "CASE" expected; skippingbodyected 4comma expected in argument list of "INDEX" intrinsicgbodyected $period expected to terminate programINDEX" intrinsicgbodyected 5double period expected in definition of subrange typebodyected 4identifier expected in constant definition; skippingebodyected !identifier expected in field listefinition; skippingebodyected 0identifier expected in "FOR" statement; skippingpingebodyected %identifier expected in parameter listt; skippingpingebodyected 6type identifier expected after colon in parameter listodyected )identifier expected in pointer definitionarameter listodyected identifier expected after reserved word "PROCEDURE"/"FUNCTION" +first argument of "READLN" must be variableOCEDURE"/"FUNCTION" identifier expected after periodbe variableOCEDURE"/"FUNCTION" 5identifier expected in definition of enumeration typeFUNCTION" 0identifier expected in type definition; skipping typeFUNCTION" *identifier expected in variable definitionipping typeFUNCTION" $identifier expected in argument listnitionipping typeFUNCTION" +tag field type must be identifier; skippingpping typeFUNCTION" 0tag field identifier or type identifier expected typeFUNCTION" .identifier expected after reserved word "WITH"ed typeFUNCTION" 5right parenthesis expected to terminate argument listFUNCTION" >right parenthesis expected to terminate program parameter list (right parenthesis expected in expressionprogram parameter list 6right parenthesis expected to terminate parameter listter list unexpected item after right paren. in parameter list; skippingg;unexpected item follows procedure/function header; skippingingg2unexpected item in reference to variable; skipping skippinginggunexpected item after right paren. in record variant; skippingg4identifier or reserved word "VAR" expected; skipping; skippingg+unexpected item in parameter list; skipping skipping; skippingg+unexpected item in parameter list; skipping skipping; skippingg+unexpected item in parameter list; skipping skipping; skippingg=semicolon expected after "assembler" in proc/func declarationgg/reserved word "OF" expected in array definitionnc declarationgg5reserved word "OF" expected in definition of set typelarationgg6reserved word "OF" expected after reserved word "FILE"arationgg7reserved word "OF" expected in header of record variantrationgg+left parenthesis expected in record variantcord variantrationgg8unexpected item follows reserved word "PACKED"; skippingationgg3right bracket expected to terminate array subscriptppingationgg*right bracket expected in array definitionsubscriptppingationgg5right bracket expected to terminate string definitioningationgg:reserved word "END" expected to terminate "CASE" statementionggincompatible types of constants in definition of subrange typegfile may not be field of record in definition of subrange typeg#array index may not be of type REALdefinition of subrange typeg6tag field of record variant must be scalar or subrangenge typegsemicolon expected after keyword "forward" in proc/func headerg)index of array must be scalar or subrange" in proc/func headerg-base type of set must not be REAL nor INTEGER proc/func headerg7intrinsics "PRED" and "SUCC" require scalar as argument headergmay not read into packed fieldequire scalar as argument headerg8unsatisfied forward declaration of procedure or functionheaderg(semicolon expected after type definitiondure or functionheadergfile value parameter not allowed; file must be "VAR" parametergitem preceding uparrow must be reference to file or to pointerg>string literal argument not same length as packed array param.g8illegal type of loop control variable in "FOR" statementparam.g5illegal type of expression in "CASE" statement headerentparam.gsubrange bounds must be scalar; STRING is PACKED ARRAY OF CHARg&array index may not be of type INTEGER is PACKED ARRAY OF CHARg+assignment to standard function not allowedACKED ARRAY OF CHARg&equal sign expected in type definitionlowedACKED ARRAY OF CHARgno such field in this recorddefinitionlowedACKED ARRAY OF CHARg>identifier or "END" or "CASE" expected in field list; skippinggargument must be variableASE" expected in field list; skippinggargument of "EXIT" must be user-declared procedure or functiong>argument of "EXIT" must be user-declared procedure or functiong/first argument of "FILETITLE" must be file nameure or functiong6first argument of "GET"/"PUT"/"SEEK" must be file namefunctiong3second argument of "SEEK" intrinsic must be integeramefunctiong7comma expected; "SEEK" intrinsic requires two argumentsunctiong?"READ"/"READLN" require integer, real, char, or string argument$error in type of intrinsic parameterl, char, or string argument$error in type of intrinsic parameterl, char, or string argument$error in type of intrinsic parameterl, char, or string argument$error in type of intrinsic parameterl, char, or string argumentstring argument required hererameterl, char, or string argument6second argument to "SUBSTR" must be integer expression argument5third argument to "SUBSTR" must be integer expressionn argument;"WRITE"/".LN" require integer expression after second colonment>"WRITE"/".LN" require int/bool/real/char/string/packd.ary.chart6explicit argument to "PAGE" intrinsic is not file nameary.charttoo few arguments to "PAGE" intrinsic is not file nameary.chart1type conflict of operands in assignment statement nameary.chart*type conflict of operands of "IN" operatoratement nameary.chart0type conflict of operands of relational operatort nameary.chart>comparison of packed arrays of char requires identical lengthst8only equal/unequal comparisons permitted for array typesengthst9only equal/unequal comparisons permitted for record typesngthst6operand of unary plus or minus must be real or integerpesngthst)illegal type of operand(s) of binary plusal or integerpesngthst*illegal type of operand(s) of binary minusl or integerpesngthst6illegal operand(s) of "OR" operator; check parenthesespesngthst,illegal type of operand(s) of multiplicationarenthesespesngthst+illegal type of operand(s) of real divisionnarenthesespesngthst?proc/func declaration is too deeply nested; display limit is 12>proc/func declaration too deeply nested; lex. level limit is 82,illegal type of operand(s) of "DIV" operator. level limit is 829proc/func too long; use swapping and/or overlaid compiler is 82,illegal type of operand(s) of "MOD" operatorlaid compiler is 82)too many jumps in this procedure/functiontorlaid compiler is 82subrange bounds must be scalar; STRING is PACKED ARRAY OF CHAR29comma expected in argument list of "WRITE" to "TEXT" file CHAR26label on this statement was not declared in this blockile CHAR2;unexpected item follows procedure/function header; skippingHAR28reference to entire array expected in "PACK" or "UNPACK"ingHAR29explicit argument of "PAGE" intrinsic must be "TEXT" filengHAR2&error in real constant; digit expectedmust be "TEXT" filengHAR27string maximum length must be in inclusive range 1..255lengHAR2.too many segments in this program; limit is 16ge 1..255lengHAR2-record too deeply nested; display limit is 126ge 1..255lengHAR27"WITH" statement too deeply nested; display limit is 12lengHAR2;too many procedures/functions in this segment; limit is 149HAR29proc/func too long; use swapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2error in POINT statementswapping and/or overlaid compiler49HAR2cannot create overlayentswapping and/or overlaid compiler49HAR2cannot create overlayentswapping and/or overlaid compiler49HAR29source line too long to process; split into several lines49HAR2.may not switch segments; rearrange source codeveral lines49HAR2>reserved word "PROCEDURE" or reserved word "FUNCTION" expected2=was declared both "forward" and "segment"; add "segment" hered2"record type of this file not knownegment"; add "segment" hered2#subrange of type REAL not permittedgment"; add "segment" hered2error in POINT statementt permittedgment"; add "segment" hered2cannot create overlayentt permittedgment"; add "segment" hered2(zero-length array elements not permitted"; add "segment" hered29explicit argument of "EOLN"/"EOLCHAR" must be "TEXT" filehered2/illegal character in source text; blank assumedTEXT" filehered21included file may not contain $I control commentsXT" filehered21procedure/function parameters not yet implementedXT" filehered20field addressing problem -- Please inform RDS.dXT" filehered23constant addressing problem -- Please inform RDS." filehered23indirect addressing problem --1 Please inform RDS." filehered27unanticipated end of source file; check BEGIN/END pairslehered29program parameter not declared as file in outermost blockhered27assembler module must not be declared as Pascal segmentckhered28comma expected in argument list of "WRITE" to typed filekhered2#"OUTPUT" not declared in this scope"WRITE" to typed filekhered2-"OUTPUT" not declared as "TEXT" in this scope typed filekhered23real number may not be argument of "PRED" or "SUCC" filekhered2file of file not allowedrgument of "PRED" or "SUCC" filekhered25too much local data; stack frame limit is 16383 wordsilekhered2>"PACK"/"UNPACK" offset not compatible with index type of array28reference to entire array expected in "PACK" or "UNPACK" array2>"PACK"/"UNPACK" require both arrays to have same element types26"PACK"/"UNPACK" require reference to packed array herent types2:"PACK"/"UNPACK" require reference to non-packed array hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes22comma expected in argument list of "PACK"/"UNPACK"ray hereypes2?illegal assignment; PACKED ARRAY OF CHAR should have lowbound=1segment too long; limit is 32KBY OF CHAR should have lowbound=1segment too long; limit is 32KBY OF CHAR should have lowbound=1)"ODD" intrinsic requires integer argumentshould have lowbound=1)"CHR" intrinsic requires integer argumentshould have lowbound=1segment too long; limit is 32KBr argumentshould have lowbound=11too many elements in packed array; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=1array too large; limit is 32KBray; limit is 32767ave lowbound=11too many elements in packed array; limit is 32767ave lowbound=19global labels not permitted in separately compiled moduleound=10 DO BEGIN H:=H+1/N;N:=N-1; END; WRITELN(H) END. BTREE ¥žŽPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARRAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OF A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGIN IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[I] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEY X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END E ND (*SEARCH*); PROCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDURE UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.E[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.E[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO C^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END END END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THEN L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THEN BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN BEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . BYTE01*ª¸¸; ROUUTINE TO WRITE A BYTE TO A GIVEN BYTE ADDRESS ; CONDITIONS ; ; ENTRY ; AC0 - BYTE TO BE WRITTEN IN RH BYTE ; AC1 - UNDEFINED ; AC2 - BYTE POINTER WHERE TO PUT BYTE ; AC3 - RETURN TO THIS ADDRESS ; ; RETURN ; AC0UNDEFINED ; AC1 - UNDEFINED ; AC2 - UNDEFINED ; AC3 - UNDEFINED ; .ENT BGET,BPUT .NREL .EXTD LHB,RHB BPUT: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;RIGHT HAND BYTE ADDRESS MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SKIP IF LHB ;NOTE CARRY IS SET IF LHB MOVS 0,0,SKP ;SWAP BYTES IN WORD TO BE PUT ;AND SKIP NEXT INSTRUCTION MOVS 1,1 ;SWAP MASK IF LH BYTE LDA 3,0,2 ;LD AC3,WITH WORD TO RECEIVE BYTE AND 1,3 ;AND OUT OTHER BYTE ADD 0,3 ;ADD IN BYTE TO BE PUT STA 3,0,2 ;RESTORE UPDATED WORD JMP @USP ;RETURN TO CALLER ; CONDITIONS ; ; ENTRY ; AC0 - UNDEFINED ; AC1 - UNDEFINED ; AC2 - BYTE POINTER TO BYTE LOCATION ; ; EXIT ; AC0 - VALUE OF BYTE IN RH BYTE (MASKED TO RHB) ; AC1 - UNDEFINED ; AC2 - UNDEFINED BGET: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;GET RHB MASK MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SET CARRY ;IF LHBYTE. SKIP IF LHBYTE MOVS 1,1 ;SWAP MASK BYTES TO MAKE LHB MASK LDA 0,0,2 ;GET WORD CONTAINING BYTE AND 1,0,SNC ;AND OUT OTHER BYTE AND SKIP IF LHBYTE MOVS 0,0 ;SWAP LHBYTE INTO RHBYTE JMP @USP ;RETURN TO CALLER .END TTTPX®ÜÜ 5pTT Copyright (C) 1980 Rational Data Systems¼ 5%¥§€š•2ˆ•¤øèÅ¥§€š•2ˆ•¤ùéÅ„¥§€š•2ˆ•¤úêÅ„¡&§€š•«€š¥§€š‚2ˆ•¤¥§€š2ˆ•¤¨¹ö­`š hTEST2걎½ PROGRAM TEST(INPUT,OUTPUT); VAR I : INTEGER; X : REAL; BEGIN WRITELN( 'WELCOME TO PROG TEST2'); X := 1.1; I := 3; X := I*X; WRITELN( ' LINE 1',X : 6 : 2,I); I := TRUNC(X); X := I; WRITELN(' LINE 2',I,X : 6 : 2) END. TESTBU UsrPROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR I : INTEGER; STR : ALPHANUMERIC; {$I GETINTEGER.PI} {$I GETCOLUMN.PI} BEGIN REPEAT WRITELN('ENTER STRING'); WRITELN; READLN(STR); WRITELN(STR); WRITELN(' ',GETCOLUMN(STR)); UNTIL EOF(INPUT) END. PL5PA"�ll2PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCEDURE); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEDURE: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1;'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GO TO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH} BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GO TO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCEDURE : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCEDURE : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION[ID]; IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION[ID]; IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCEDURE THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTANTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCEDURE);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH mTABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])); 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]=NEQ; ZGTR; Z<=LEQ; Z>=GEQ; Z;SEMICOLN; MNEMONIC[LIT] := 'LIT'; Z[OPR] := 'OPR'; Z[LOD] := 'LOD';Z[STO] := 'STO'; Z[CAL] := 'CAL'; Z[INT] := 'INT'; Z[JMP] := 'JMP'; Z[JPC] := 'JPC'; DECLGEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CZ := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0.[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. 1979D4l¥ŽŽ* 0 99 106 309 310 425 426 427 475 476 478 479 480 481 482 483 484 486 487 489 490 491 492 493 494 518 SEARCH KEY 0 99 C 2804 12.45 106 CM 1995 309 CC 770 310 CC 779 425 CC 806 426 CC 807 427 CC 808 475 CC 2789 476 CC 2798 478 CC 2801 479 CC 2811 480 CC 2859 481 CC 2876 482 CC 2884 483 CC 2885 484 CC 2911 486 CC 2922 487 CC 2923 489 CC 2954 490 CC 2974 491 CC 2977 492 CC 2980 493 CC 2982 494 CC 2873 518 CC 2969 AMOUNT = 1.245E+01 1 36 51 97 101 104 151 166 197 252 280 298 338 396 399  406 438 439 442 467 508 SEARCH KEY 1 36 C 2773 13 1 51 C 2796 14 1 97 C 2802 7 1 101 C 2806 2 1 104 C 2809 23.35 1 151 C 2835 8.93 1 166 C 2854 20.75 1 197 C 2878 121.92 1 252 C 2906 60 1 280 C 2907 45 1 298 C 2927 225 1 338 C 2938 60.80 1 396 C 2981 34 1 399 C 2991 31 1 406 C 2986 22 1 438 C 3000 230 1 439 C 3001 359 1 442 C 3010 69 1 467 C 3045 10 1 508 C 3062 31 1 AMOUNT = 1.387E+03 2 3 47 98 141 186 242 299 300 345 387 417 418 419 420 SEARCH KEY 2 3 C 2763 1850.16 2 47 C 2792 1850.16 2 98 C 2803 1850.16 2 141 C 2826 1850.16 2 186 C 2865 1850.16 2 242 C 2897 1850.16 2 299 C 2928 1850.16 2 300 C 2929 395.75 2 345 C 2945 1850.16 2 387 C 2985 1850.16 2 417 C 3013 550 2 418 C 3014 93.39 2 419 C 3015 368.32 2 420 C 3018 414.75 2 AMOUNT = 1.847E+04 3 48 102 142 188 237 302 342 354 370 410 443 450 455 458 459 460 464 465 466 471 504 506 SEARCH KEY 3 48 C 2793 115 3 102 C 2807 115 3 142 C 2827 115 3 188 C 2867 115 3 237 C 2892 115 3 302 C 2931 115 3 342 C 2942 115 3 354 C 2958 25 3 370 C 2959 30 3 410 C 2993 30.95 3 443 C 3012 600 3 450 C 3023 535.05 3 455 C 3028 44.82 3 458 C 3033 215.05 3 459 C 3034 6.30 3 460 C 3035 230 3 464 C 3039 55.06 3 465 C 3042 88.17 3 466 C 3043 49.80 3 471 C 3052 612.92 3 504 C 3058 385 3 506 C 3060 6.95 3 AMOUNT = 3.720E+03 4 9 122 123 149 160 161 162 245 304 334 374 408 409 411 414 454 497 500 510 SEARCH KEY 4 9 C 2771 630.50 4 122 C 2822 1291.19 4 123 C 2823 275.82 4 149 C 2833 64.59 4 160 C 2847 739.11 4 161 C 2848 108.10 4 162 C 2849 341.33 4 245 C 2900 717.86 4 304 C 2934 83.31 4 334 C 2908 601.81 4 374 C 2965 174.85 4 408 C 2989 2 4 409 C 2990 890.60 4 411 C 3003 63.01 4 414 C 3006 190.25 4 454 C 3027 327.12 4 497 C 3041 3.57 4 500 C 3053 256.07 4 510 C 3072 129.64 4 AMOUNT = 6.890E+03 5 11 13 14 39 40 44 49 52 118 119 153 154 155 158 159 168 169 181 184 187 192 193 199 200 201 202 203 204 233 234 238 241 244 249 291 303 329 330 331 336 400 407 415 416 444 446 SEARCH KEY 5 11 C 2777 47.70 5 13 C 2780 6.94 5 14 C 2781 64.25 5 39 C 2778 258.40 5 40 C 2782 160.96 5 44 C 2788 93.70 5 49 C 2794 75 5 52 C 2797 150 5 118 C 2818 13.80 5 119 C 2819 30 5 153 C 2837 30 5 154 C 2838 12.25 5 155 C 2839 10.94 5 158 C 2844 176 5 159 C 2845 446.10 5 168 C 2858 9.93 5 169 C 2860 28.50 5 181 C 2846 33.44 5 184 C 2857 83.07 5 187 C 2866 30.29 5 192 C 2871 546.84 5 193 C 2872 68.98 5 199 C 2880 11.25 5 200 C 2881 23.85 5 201 C 2882 49.52 5 202 C 2883 9.80 5 203 C 2886 24.45 5 204 C 2889 77 5 233 C 2887 30 5 234 C 2888 41.62 5 238 C 2893 27.46 5 241 C 2896 16.85 5 244 C 2899 177 5 249 C 2904 169.04 5 291 C 2915 26 5 303 C 2932 18.02 5 329 C 2914 101.18 5 330 C 2916 70.65 5 331 C 2917 76.47 5 336 C 2933 51.22 5 400 C 2992 7.50 5 407 C 2987 47.20 5 415 C 3009 89.20 5 416 C 3011 61.95 5 444 C 3016 4 5 446 C 3019 31 5 AMOUNT = 3.619E+03 6 112 194 195 294 468 512 513 SEARCH KEY 6 112 C 2812 63.75 6 194 C 2874 298.05 6 195 C 2875 766.49 6 294 C 2920 153.50 6 468 C 3046 5428.82 6 512 C 3077 10.77 6 513 C 3079 37.50 6 AMOUNT = 6.758E+03 7 113 385 501 SEARCH KEY 7 113 C 2813 545 7 385 C 2979 500 7 501 C 3054 1743.66 7 AMOUNT = 2.788E+03 8 5 6 7 15 45 100 105 185 232 236 293 398 505 507 SEARCH KEY 8 5 C 2765 314.49 8 6 C 2766 314.49 8 7 C 2767 100 8 15 C 2786 228.23 8 45 C 2790 1000 8 100 C 2805 125 8 105 C 2810 131 8 185 C 2864 25.83 8 232 C 2863 32 8 236 C 2891 129.76 8 293 C 2919 263.44 8 398 C 2988 17.50 8 505 C 3059 172.14 8 507 C 3061 646.33 8 AMOUNT = 3.500E+03 9 381 SEARCH KEY 9 381 C 2973 1550 9 AMOUNT = 1.550E+03 10 1 296 350 397 437 440 441 451 SEARCH KEY 10 1 C 3049 44.55 10 296 C 2925 54 10 350 C 2950 150.70 10 397 C 2984 7.68 10 437 C 2999 80 10 440 C 3007 37.12 10 441 C 3008 12.40 10 451 C 3024 12.60 10 AMOUNT = 3.990E+02 11 10 164 346 498 SEARCH KEY 11 10 C 2774 38.75 11 164 C 2851 26.19 11 346 C 2946 20.76 11 498 C 3048 22.56 11 AMOUNT = 1.082E+02 12 16 17 18 19 20 21 22 23 25 53 54 55 56 57 58 59 60 61 62 63 64 65 66 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 126 127 128 129 130 131 132 137 170 171 172 173 174 175 176 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 223 254 255 256 257 258 259 260 264 265 266 272 273 274 307 308 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 357 358 360 378 421 422 423 424 434 435 516 517 SEARCH KEY 12 16 EM 665 1102.70 12 17 EM 666 1209.04 12 18 EM 667 1350.43 12 19 EM 668 199.40 12 20 EM 669 550.32 12 21 EM 670 539.29 12 22 EM 671 526.45 12 23 EM 672 344.29 12 25 EM 680 411.53 12 53 EM 674 1360.43 12 54 EM 675 209.40 12 55 EM 676 1053.55 12 56 EM 677 1083.87 12 57 EM 678 516.30 12 58 EM 679 550.39 12 59 EM 681 276.95 12 60 EM 684 209.40 12 61 EM 685 1101.20 12 62 EM 686 1580.40 12 63 EM 687 533.66 12 64 EM 688 610.74 12 65 EM 689 422.46 12 66 EM 690 215.64 12 76 EM 683 1360.43 12 77 EM 691 209.40 12 78 EM 692 981.35 12 79 EM 693 1050.72 12 80 EM 694 479.62 12 81 EM 695 554.62 12 82 EM 696 369.47 12 83 EM 697 329.08 12 84 EM 699 1398.97 12 85 EM 700 194.48 12 86 EM 701 1016.68 12 87 EM 702 1156.68 12 88 EM 703 563.99 12 89 EM 704 640.40 12 90 EM 705 470.84 12 91 EM 706 483.71 12 126 EM 711 1408.97 12 127 EM 712 204.48 12 128 EM 713 1091.05 12 129 EM 714 1096.88 12 130 EM 715 595.09 12 131 EM 716 613.84 12 132 EM 717 514.82 12 137 EM 718 482.51 12 170 EM 722 1032.90 12 171 EM 723 1408.97 12 172 EM 725 1166.68 12 173 EM 726 527.17 12 174 EM 727 560.96 12 175 EM 728 492.78 12 176 EM 729 298.75 12 205 EM 724 204.48 12 206 EM 731 1408.97 12 207 EM 732 204.48 12 208 EM 733 863.83 12 209 EM 734 915.34 12 210 EM 735 368.67 12 211 EM 736 514.29 12 212 EM 737 430.51 12 213 EM 738 322.85 12 214 EM 740 1420.97 12 215 EM 741 204.48 12 216 EM 742 1131.44 12 217 EM 743 1096.04 12 218 EM 744 551.67 12 219 EM 745 640.60 12 220 EM 746 385.40 12 221 EM 747 360.91 12 223 EM 751 1049.82 12 254 EM 749 1424.97 12 255 EM 750 204.48 12 256 EM 752 992.88 12 257 EM 753 551.67 12 258 EM 754 550.23 12 259  EM 755 431.37 12 260 EM 756 343.46 12 264 EM 762 1017.67 12 265 EM 763 929.08 12 266 EM 764 518.89 12 272 EM 765 271.86 12 273 EM 766 384.02 12 274 EM 767 256.22 12 307 EM 768 1426.97 12 308 EM 769 204.48 12 311 EM 771 864.72 12 312 EM 772 1001.57 12 313 EM 774 640.60 12 314 EM 775 302.19 12 315 EM 776 451.39 12 316 EM 777 429.02 12 317 EM 778 314.65 12 318 EM 780 568.52 12 319 EM 781 993.27 12 320 EM 784 551.67 12 321 EM 785 993.62 12 322 EM 786 993.62 12 323 EM 787 444.04 12 324 EM 788 375 12 325 EM 789 415.74 12 326 EM 790 204.48 12 327 EM 791 1426.97 12 328 EM 792 1426.97 12 357 EM 794 1426.97 12 358 EM 795 204.48 12 360 EM 793 561.13 12 378 C 2970 22000 12 421 EM 798 204.48 12 422 EM 799 204.48 12 423 EM 800 1426.97 12 424 EM 801 426.97 12 434 EM 804 1426.97 12 435 EM 805 204.48 12 516 C 660 484.10 12 517 EM 815 887.50 12 AMOUNT = 1.021E+05 14 24 26 67 92 93 138 139 177 178 189 222 224 263 275 276 301 359 436 SEARCH KEY 14 24 EM 673 2468.66 14 26 EM 682 2234.86 14 67 EM 698 3861.48 14 92 EM 707 2984.02 14 93 EM 708 555.34 14 138 EM 719 3016.96 14 139 EM 720 125.24 14 177 EM 730 2831.26 14 178 EM 739 2326.89 14 189 C 2868 27.76 14 222 EM 748 2850.69 14 224 EM 758 2575.50 14 263 EM 761 80.68 14 275 EM 782 2500 14 276 EM 783 1956.74 14 301 C 2930 2839.54 14 359 EM 796 2090.76 14 436 EM 809 1835.96 14 AMOUNT = 3.716E+04 15 94 95 140 253 261 262 333 366 SEARCH KEY 15 94 EM 709 310.37 15 95 EM 710 1372.35 15 140 EM 721 879.67 15 253 C 2909 81.22 15 261 EM 759 1391.48 15 262 EM 760 1569.95 15 333 C 2910 897 15 366 EM 797 360.94 15 AMOUNT = 6.863E+03 17 4 103 114 143 157 165 230 243 250 297 337 348 356 457 470 485 SEARCH KEY 17 4 C 2764 552.87 17 103 C 2808 1105.74 17 114 C 2814 1406.50 17 143 C 2828 552.87 17 157 C 2843 1444.50 17 165 C 2853 611.53 17 230 C 2861 611.53 17 243 C 2898 601.53 17 250 C 2905 300 17 297 C 2926 306.79 17 337 C 2937 398 17 348 C 2948 124.89 17 356 C 2962 1000 17 457 C 3032 202.96 17 470 C 3051 164 17 485 C 2912 787.00 17 AMOUNT = 1.017E+04 18 8 37 145 190 196 247 248 339 447 SEARCH KEY 18 8 C 2770 20.07 18 37 C 2775 12.82 18 145 C 2830 88 18 190 C 2869 80 18 196 C 2877 16 18 247 C 2902 3 18 248 C 2903 22 18 339 C 2939 19.75 18 447 C 3020 8 18 AMOUNT = 2.696E+02 20 33 96 SEARCH KEY 20 33 C 2768 677.50 20 96 C 2800 38 20 AMOUNT = 7.155E+02 21 502 511 SEARCH KEY 21 502 C 3055 1200 21 511 C 3074 2500 21 AMOUNT = 3.700E+03 22 150 355 401 448 449 SEARCH KEY 22 150 C 2834 157.50 22 355 C 2961 100 22 401 C 2994 196.14 22 448 C 3021 262.25 22 449 C 3022 34.90 22 AMOUNT = 7.507E+02 23 35 38 41 115 182 183 191 198 235 239 332 402 403 404 405 412 456 477 488 495 SEARCH KEY 23 35 C 2772 736 23 38 C 2776 7.30 23 41 C 2783 563.93 23 115 C 2815 368 23 182 C 2852 101.44 23 183 C 2856 513.12 23 191 C 2870 736 23 198 C 2879 1633.42 23 235 C 2890 104.82 23 239 C 2894 3.95 23 332 C 2913 133.61 23 402 C 2995 60.93 23 403 C 2996 202.41 23 404 C 2997 20.58 23 405 C 2998 118.46 23 412 C 3004 5.80 23 456 C 3029 397.33 23 477 C 2799 157. 23 488 C 2924 368 23 495 C 3030 626.30 23 AMOUNT = 6.858E+03 24 50 144 469 SEARCH KEY 24 50 C 2795 114.48 24 ª144 C 2829 75 24 469 C 3047 300 24 AMOUNT = 4.894E+02 25 12 117 120 121 156 163 179 180 231 240 295 349 382 445 514 519 SEARCH KEY 25 12 C 2779 229.63 25 117 C 2817 151.18 25 120 C 2820 692 25 121 C 2821 100 25 156 C 2842 273.55 25 163 C 2850 428.08 25 179 C 2840 770.93 25 180 C 2841 32.27 25 231 C 2862 171.16 25 240 C 2895 244.30 25 295 C 2921 1159.13 25 349 C 2949 106.45 25 382 C 2975 294.74 25 445 C 3017 1208.43 25 514 C 3080 1298.05 25 519 C 3073 1340.73 25 AMOUNT = 8.500E+03 26 34 42 43 46 124 125 146 147 152 246 384 499 503 509 515 SEARCH KEY 26 34 C 2769 125 26 42 C 2784 67 26 43 C 2785 45.00 26 46 C 2791 100 26 124 C 2824 100 26 125 C 2825 25 26 146 C 2831 20 26 147 C 2832 108 26 152 C 2836 25 26 246 C 2901 50 26 384 C 2978 35 26 499 C 3050 35 26 503 C 3057 60 26 509 C 3063 30 26 515 C 3056 10 26 AMOUNT = 8.350E+02 27 167 292 343 344 352 353 368 369 433 452 461 462 463 496 SEARCH KEY 27 167 C 2855 500 27 292 C 2918 336.98 27 343 C 2943 350 27 344 C 2944 100 27 352 C 2952 1057.58 27 353 C 2953 830 27 368 C 2956 60 27 369 C 2957 125 27 433 EM 803 1207.97 27 452 C 3025 547.25 27 461 C 3036 50 27 462 C 3037 288 27 463 C 3038 150 27 496 C 3031 30 27 AMOUNT = 5.632E+03 28 116 306 SEARCH KEY 28 116 C 2816 600 28 306 C 2936 1390 28 AMOUNT = 1.990E+03 32 2 340 341 347 351 367 371 372 373 375 376 377 379 380 383 386 413 453 SEARCH KEY 32 2 C 3065 223.70 32 340 C 2940 30.95 32 341 C 2941 31.65 32 347 C 2947 75.64 32 351 C 2951 8.46 32 367 C 2955 1301.13 32 371 C 2960 10.35 32 372 C 2963 178.83 32 373 C 2964 270.22 32 375 C 2966 81.63 32 376 C 2967 365.44 32 377 C 2968 34.70 32 379 C 2971 1500 32 380 C 2972 398.04 32 383 C 2976 548.34 32 386 C 2983 398.04 32 413 C 3005 81.83 32 453 C 3026 40 32 AMOUNT = 5.578E+03 33 305 SEARCH KEY 33 305 C 2935 56 33 AMOUNT = 5.600E+01 FLOADSVFLOADSVSYSLBSYSLBBTREEPA ¥³rrPROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : INTEGER; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARRAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : INTEGER; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : INTEGER; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OF A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGIN IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[I] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEY X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROCEDURE DELETE(X : INTEGER; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDURE UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,MB,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.E[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.E[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO C^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END END END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THEN L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY : 4); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THEN BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRIN¿TTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN BEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . T3¦¿½½ PROGRAM T3 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN WHILE NOT EOF(INPUT) DO BEGIN READ (INPUT,YEARN); WRITELN (OUTPUT,YEARN); END; END. T21ÛÁÐ2 PROGRAM T21; TYPE ALPHA = PACKED ARRAY[1..13] OF CHAR; VAR IOFILE : INTEGER; FILENAME : ALPHA; PROCEDURE OPEN ( IOFILENUMBER : INTEGER );EXTERNAL; BEGIN IOFILE := 8; FILENAME := 'INPUTFILE0.DR'; OPEN (IOFILE) END. SEQ-ø·7; READ SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; RDSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAR NBYTESREAD:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS IS ON THE STACK ; AC3-1 NBYTESREAD BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .TITL SEQ .ENT ?RDSQ .EXTN XPRET .NREL ERROR=0 NBRED=ERROR-1 NBYTES=NBRED-1 BUFFER=NBYTES-1 IOCHAN=BUFFER-1 ?RDSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO READ IN LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .RDS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OF NO ERRORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBRED,3 ;GET BYTE ADDRESS OF NBRED MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBRED TO PASCAL SUBO 1,1 ;WARN XPRET PROCEDURE RETURNS XPRET ; WRITE SEQUENTIAL SUBRUTINE ; CALL VIA..... ; ; WRSQ(IOCHANNEL:INTEGER; BUFFER:ARRAY OF CHAR OR INTEGER; ; NBYTES:INTEGER; VAR NBYTESWROTE:INTEGER; ; VAR ERROR:INTEGER) ; CONTENTS OF DESCRIPTION ; AC3 ERROR BYTE ADDRESS IS ON THE STACK ; AC3-1 NBYTESWROTE BYTE ADDRESS IS ON THE STACK ; AC3-3 NBYTES INTEGER VARIABLE ON STACK ; AC3-4 BUFFER BYTE ADDRESS ON STACK ; AC3-5 IOCHANNEL INTEGER VALUE ON STACK .ENT ?WRSQ ERROR=0 NBWRO=ERROR-1 NBYTES=NBWRO-1 BUFFER=NBYTES-1 IOCHAN=BUFFER-1 ?WRSQ: STA 3,USP ;SET UP USER STACK POINTER LDA 2,IOCHANNEL,3 ;GET CHANNEL NO LDA 1,NBYTES,3 ;GET NO OF BYTES TO WRITE OUT LDA 0,BUFFER,3 ;GET BUFFER POINTER .SYSTM .WRS CPU JMP .+2 ;JUMP AROUND IF NOT OK ADC 2,2 ;GENERATE -1 OF NO ERRORS MOV 2,0 LDA 2,ERROR,3 ;GET ERROR BYTE ADDRESS MOVZR 2,2 ;MAKE IT AN ADDRESS STA 0,0,2 ;RETURN ERROR (IF ANY) TO PASCAL LDA 2,NBWRO,3 ;GET BYTE ADDRESS OF NBWRO MOVZR 2,2 ;MAKE IT AN ADDRESS STA 1,0,2 ;SEND NBWRO TO PASCAL SUBO 1,1 ;WARN XPRET PROCEDURE RETURNS XPRET .END BYTE02 ÿÉ»¸ ;PASCAL SUBROUTINES GET BYTE AND PUT BYTE ; ; CALL VIA PBYT(BYTE,BYTE POSITION,STRING) ; PBYT(VAR BYTE:INTEGER; POSITION:INTEGER;STRING:CHARS);EXTERNAL; ;OR PBYT(BYTE:CHAR;POSITION:INTEGER;STRING:CHARS);EXTERNAL; ; SWAP(VAR WORD;INTEGER);EXTERNAL; ; GBYTE(VAR BYTE:INTEGER;POSITION:INTEGER; STRING:CHARS);EXTERNAL; ; WHERE CHARS IS ARRAY[1..N] OF CAHAR OR INTEGER .TITL BYTE .ENT ?SWAP,?PBYT,?GBYT .ENT PUTB,GETB .EXTD XPRET,RHB,LHB .NREL WORD=0 STRNG=0 POS=-1 BYTE=-2 ?SWAP: STA 3,USP ;RESTORE USP FOR NOW LDA 2,WORD,3 ;POINTER TO WORD MOVZR 2,2 ;MAKE ADDRESS AND SET CARRY IF RHBYTE LDA 0,0,2 ;GET WORD MOVS 0,0 STA 0,0,2 ;RETURN BYTE IN RHB TO PASCAL SUBO 1,1 ;PROCEDURE RETURNS TO PASCAL XPRET ?GBYTE: LDA 2,STRNG,3 ;POINTER TO STRING BEGINNING LDA 1,POS,3 ;VALUE OF BYTE POSTION TO BE GOTTEN ADD 1,2 ;MAKE POINTER TO BYTE POSITION JSR @.+1 GETB LDA 3,SP ;RESTORE STACK POINTER LDA 2,BYTE,3 ;GET POINTER TO BYTE IN PASCAL MOVZR 2,2 ;MAKE ADDRESS STA 0,0,2 ;RETURN BYTE TO PASCAL SUBO 1,1 XPRET ?PBYTE: LDA 2,BYTE,3 ;GET BYTE POINTER TO BYTE TO BE PUT MOVZR 2,2 ;GET BYTE ADDRESS IN AC2 LDA 0,0,2 ;BYTE NOW IN AC0 LDA 1,RHB ;GET RHB MASK AND 1,0 ;AND OUT LH BYTE LDA 2,STRNG,3 ;GET POINTER TO STRING START LDA 1,POS,3 ;GET VALUE OF BYTE POSITION TO BE STUFFED ADD 1,2 ;POINTER TO BYTE IN AC2 JSR @.+1 PUTB SUBO 1,1 ;PROCEDURE RETURNING XPRET ; ROTINE TO WRITE A BYTE TO A GIVEN BYTE ADDRESS ; CONDITIONS ; CALL VIA ; JSR @+.1 ; PUTB ; ; ENTRY ; AC0 - BYTE TO BE WRITTEN IN RH BYTE ; AC1 - UNDEFINED ; AC2 - BYTE POINTER WHERE TO PUT BYTE ; AC3 - RETURN TO THIS ADDRESS ; ; RETURN ; AC0UNDEFINED ; AC1 - UNDEFINED ; AC2 - UNDEFINED ; AC3 - UNDEFINED ; PUTB: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;RIGHT HAND BYTE ADDRESS MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SKIP IF LHB ;NOTE CARRY IS SET IF LHB MOVS 0,0,SKP ;SWAP BYTES IN WORD TO BE PUT ;AND SKIP NEXT INSTRUCTION MOVS 1,1 ;SWAP MASK IF LH BYTE LDA 3,0,2 ;LD AC3,WITH WORD TO RECEIVE BYTE AND 1,3 ;AND OUT OTHER BYTE ADD 0,3 ;ADD IN BYTE TO BE PUT STA 3,0,2 ;RESTORE UPDATED WORD LDA 3,USP JMP 1,3 ;RETURN TO CALLER +2 ; ROUTINE TO GET A BYTE ; CALL VIA ; JSR @.+1 ; GETB ; RETURNS TO HERE ; CONDITIONS ; ; ENTRY ; AC0 - UNDEFINED ; AC1 - UNDEFINED ; AC2 - BYTE POINTER TO BYTE LOCATION ; ; EXIT ; AC0 - VALUE OF BYTE IN RH BYTE (MASKED TO RHB) ; AC1 - UNDEFINED ; AC2 - UNDEFINED GETB: STA 3,USP ;SAVE RETURN ADDRESS LDA 1,RHB ;GET RHB MASK MOVZR 2,2,SNC ;MAKE ADDRESS FROM POINTER AND SET CARRY ;IF LHBYTE. SKIP IF LHBYTE MOVS 1,1 ;SWAP MASK BYTES TO MAKE LHB MASK LDA 0,0,2 ;GET WORD CONTAINING BYTE AND 1,0,SNC ;AND OUT OTHER BYTE AND SKIP IF LHBYTE MOVS 0,0 ;SWAP LHBYTE INTO RHBYTE LDA 3,USP JMP 1,3 ;RETURN TO CALLER +2 .END PRETTYPRINPXÐÜÜ :TEST2PAêÓ½½ PROGRAM TEST(INPUT,OUTPUT); VAR I : INTEGER; X : REAL; BEGIN WRITELN( 'WELCOME TO PROG TEST2'); X := 1.1; I := 3; X := I*X; WRITELN( ' LINE 1',X : 6 : 2,I); I := TRUNC(X); X := I; WRITELN(' LINE 2',I,X : 6 : 2) END. 3GCHARPIÌÊŽ½ PROCEDURE GCHAR( VAR CHARACTER : INTEGER); {GCHAR GETS ONS CHARACTER FROM THE SYSTEM CONSOLE} CONST DOTERTN = 3328; {15B7} DOTGCHAR = 3840; {.GCHAR} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTGCHAR; SYSCALL(REQUEST); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; CHARACTER := R0.INT; END; RELEASE(HEAP); END; {GCHAR} PL/ã rq PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITELN(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END; IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])) END; 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]<=S[T+1]) END END ;{CASE} LOD : BEGIN T := T+1;S[T] := S[BASE(L)+A] END; STO : BEGIN S[BASE(L)+A] := S[T]; WRITELN((S[T]));T := T-1 END; CAL : BEGIN {GENERATE NEW BLOCK MARK} S[T+1] := BASE(L);S[T+2] := B; S[T+3] := P; B := T+1; P := A END; INT : T := T+A; JMP : P := A; JPC : BEGIN IF S[T] = 0 THEN P := A;T := T-1; END END {WITH,CASE} UNTIL P = 0; WRITE('END OF PL/0'); END {INTERPRET}; BEGIN {MAIN PROGRAM} FOR CH := 'A' TO ';' DO SSYM[CH] := NUL; WORD[1] := 'BEGIN '; WORD[2] := 'CALL '; WORD[3] := 'CONST '; WORD[4] := 'DO '; WORD[5] := 'END '; WORD[6] := 'IF '; WORD[7] := 'ODD '; WORD[8] := 'PROCEDURE '; WORD[9] := 'THEN '; WORD[10]:= 'VAR '; WORD[11]:= 'WHILE '; WSYM[1] := BEGINSYM; WSYM[2] := CALLSYM; WSYM[3] := CONSTSYM; WSYM[4] := DOSYM; WSYM[5] := ENDSYM; WSYM[6] := IFSYM; WSYM[7] := ODDSYM; WSYM[8] := PROCSYM; WSYM[9] := THENSYM; WSYM[10] := VARSYM; WSYM[11] := WHILESYM; SSYM['+'] := PLUS; SSYM['-'] := MINUS; SSYM['*'] := TIMES; SSYM['/'] := SLASH; SSYM['('] := LPAREN; SSYM[')'] := RPAREN; SSYM['='] := EQL; SSYM[','] := COMMA; SSYM['.'] := PERIOD; SSYM['!'] := NEQ; SSYM['<'] := LSS; SSYM['>'] := GTR; SSYM['"'] := LEQ; SSYM['#'] := GEQ; SSYM[';'] := SEMICOLN; MNEMONIC[LIT] := 'LIT '; MNEMONIC[OPR] := 'OPR '; MNEMONIC[LOD] := 'LOD ';MNEMONIC[STO] := 'STO '; MNEMONIC[CAL] := 'CAL '; MNEMONIC[INT] := 'INT '; MNEMONIC[JMP] := 'JMP '; MNEMONIC[JPC] := 'JPC '; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF SYMBOL; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCEMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITE(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH); WRITE(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5;L:3;A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYN = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I).KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM THEN BEGIN GETSYM; REPEAT CONSTDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM; CONSTANTDECLARATION END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT END IF SYM = VARSYM THEN BEGIN GETSYM; REPEAT VARDECLARATION; WHILE SYM = COMMA DO BEGIN GETSYM;VARDECLARATION; END; IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5) UNTIL SYM <> IDENT; END; WHILE SYM = PROCSYM DO BEGIN GETSYM; IF SYM = IDENT THEN BEGIN ENTER(PROCMNEMONIC);GETSYM; END ELSE ERROR(4); IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(5); BLOCK(LEV+1,TX,[SEMICOLN]+FSYS); IF SYM = SEMICOLN THEN BEGIN GETSYM;TEST(STATBEGSYS+[IDENT,PROCSYM],FSYS,6) END ELSE ERROR(5) END; TEST(STATBEGSYS+[IDENT],DECLBEGSYS,7) UNTIL NOT(SYM IN DECLBEGSYS); CODE[TABLE[TX0].ADR].A := CX; WITH TABLE[TX0] DO BEGIN ADR := CX; {START ADDRESS OF CODE} END; CX0 := CX; GEN(INT,0,DX); STATEMENT([SEMICOLN,ENDSYM]+FSYS); GEN(OPR,0,0); {RETURN} TEST(FSYS,[],8); LISTCODE; END; {BLOCK} PROCEDURE INTERPRET; CONST STACKSIZE = 500; VAR P,B,T : INTEGER; {PROGRAM,BASE,TOP OF STACK REGISTERS} I : INSTRUCTION; {INSTRUCTION REGISTER} S : ARRAY[1..STACKSIZE] OF INTEGER; {DATA STORE} FUNCTION BASE(L : INTEGER) : INTEGER; {FIND BASE L LEVELS DOWN} VAR B1 : INTEGER; BEGIN B1 := B; WHILE L > 0 DO BEGIN B1 := S[B1];L := L-1; END; BASE := B1; END; {BASE} BEGIN WRITELN ('START OF PL/0'); T := 0; B := 1;P := 0; S[1] := 0; S[2] := 0;S[3] := 0; REPEAT I := CODE[P];P := P+1; WITH I DO CASE F OF LIT : BEGIN T := T+1;S[T] := A;END; OPR : CASE A OF {OPERATOR} 0 : BEGIN {RETURN} T := B-1;P := S[T+3];B := S[T+2] END; 1 : S[T] := -S[T]; 2 : BEGIN T := T-1;S[T] := S[T]+S[T+1] END; 3 : BEGIN T := T-1;S[T] := S[T]-S[T+1] END; 4 : BEGIN T := T-1;S[T] := S[T]*S[T+1] END; 5 : BEGIN T := T-1;S[T] := S[T]DIV S[T+1] END; 6 : BEGIN S[T] := ORD(ODD(S[T])); 8 : BEGIN T := T-1;S[T] := ORD(S[T]=S[T+1]) END; 9 : BEGIN T := T-1;S[T] := ORD(S[T]<>S[T+1]) END; 10 : BEGIN T := T-1;S[T] := ORD(S[T]< S[T+1]) END; 11 : BEGIN T := T-1;S[T] := ORD(S[T]>=S[T+1]) END; 12 : BEGIN T := T-1;S[T] := ORD(S[T]>S[T+1]) END; 13 : BEGIN T := T-1;S[T] := ORD(S[T]=] := GTR; SSYM["] := LEQ; SSYM[#] := GEQ; SSYM[;] := SEMICOLN; MNEMONIC[LIT] := 'LIT'; MNEMONIC[OPR] := 'OPR'; MNEMONIC[LOD] := 'LOD';MNEMONIC[STO] := 'STO'; MNEMONIC[CAL] := 'CAL'; MNEMONIC[INT] := 'INT_'; MNEMONIC[JMP] := 'JMP'; MNEMONIC[JPC] := 'JPC'; DECLBEGSYS := [CONSTSYM,VARSYM,PROCSYM]; STATBEGSYS := [BEGINSYM,CALLSYM,IFSYM,WHILESYM]; FACBEGSYS := [IDENT,NUMBER,LPAREN]; PAGE(OUTPUT); ERR := 0; CC := 0;CX := 0;LL := 0;CH := ' '; KK := AL;GETSYM; BLOCK(0,0,[PERIOD]+DECLBEGSYS+STATBEGSYS); IF SYM <> PERIOD THEN ERROR (9); IF ERR = 0 THEN INTERPRET ELSE WRITE(' ERRORS IN PL/0 PROGRAM'); 99: WRITELN END. T4›Ö½) %PROGRAM T4 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN REPEAT READ (INPUT,YEARN); WRITELN (OUTPUT,YEARN) UNTIL EOF(INPUT); END. T310ØÐ@$(* FIX FLOT TESTER *) PROGRAM T31 (INPUT,OUTPUT); VAR I : INTEGER; X : REAL; FUNCTION FLOT ( I : INTEGER ):REAL;EXTERNAL; FUNCTION FIX ( X : REAL ):INTEGER;EXTERNAL; BEGIN REPEAT BEGIN WRITELN(OUTPUT,' ENTER X '); READLN (INPUT,X); I := FIX (X); WRITELN(OUTPUT,' I=',I); END UNTIL I=0; END. TEST p׎Ž%PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR; PDATAFILE,PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR; SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$I GCHN.PI} {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE F™ILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEGIN X := W.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; END; {PRINT IN ORDER} PROCEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITE(' ',W.KEY : C1); WRITE(DISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IF PCONSOLE THEN WRITE(' ',X^.LNO :C3); WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); CHECK := REALFIELD(LINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : BOOLEAN; BEGIN REPEAT WRITE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT DATA BASE FILE PRINTED?'); PDATAFILE := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); IF PDATAFILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDINT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREE THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); IF PINDEX THEN PRINTINORDER(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; END. CDC6000PXݽ½ ­T5´à½) *PROGRAM T5 (INPUT,OUTPUT); TYPE YEAR = 1800..2000; VAR YEARN : YEAR; BEGIN REPEAT READ (INPUT,YEARN); IF NOT EOF(INPUT) THEN WRITELN (OUTPUT,YEARN) UNTIL EOF(INPUT) ; END. OUTPUT$LPTT41oâ'&.PROGRAM T41 (INPUT,OUTPUT); TYPE COORDINATES = RECORD X,Y,Z : INTEGER END; TESTS = (LESSTHAN,GREATERTHAN,EQUALTO,LESSEQUAL, GREATEREQUAL,NOTEQUAL); EQUALITYTEST = SET OF (TESTS); VAR XL,XG,YL,YG,ZL,ZG ,T1,T2 : BOOLEAN; COORD1,COORD2,DELTA : COORDINATES; TESTFOR : TESTS; DISTANCE : INTEGER;(*DISTANCE BETWEEN COORDINATES*) FUNCTION COMPARECOORD(COORD1 : COORDINATES; TESTFOR : TESTS; COORD2 : COORDINATES ; DISTANCE : INTEGER) : BOOLEAN; FUNCTION TESTEQUAL : BOOLEAN; BEGIN TESTEQUAL := NOT(XL OR XG OR YL OR YG OR ZL OR ZG) END; FUNCTION TESTLESS : BOOLEAN; BEGIN TESTLESS := XL OR NOT(XL OR XG)AND(YL OR NOT(YL OR YG)AND ZL) END; FUNCTION TESTGREATER : BOOLEAN; BEGIN TESTGREATER := XG OR NOT(XL OR XG)AND(YG OR NOT(YL OR YG)AND ZG) END; BEGIN DELTA.X := COORD1.X-COORD2.X; DELTA.Y := COORD1.Y-COORD2.Y; DELTA.Z := COORD1.Z-COORD2.Z; WITH DELTA DO DISTANCE := X*X + Y*Y +Z*Z; WITH DELTA DO BEGIN XL := X <0; XG := X >0; YL := Y <0; YG := Y >0; ZL := Z <0; ZG := Z >0; END; (*WITH*) IF XL THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF XG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; IF YL THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF YG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; IF ZL THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F'); IF ZG THEN WRITE(OUTPUT,' T') ELSE WRITE(OUTPUT,' F');WRITELN; CASE TESTLESS OF TRUE : WRITELN(OUTPUT,' LESS TR','UE'); FALSE : WRITELN(OUTPUT,' LESS FA','LSE') END; CASE TESTGREATER OF TRUE : WRITELN(OUTPUT,' GREATER',' TRUE'); FALSE : WRITELN(OUTPUT,' GREATER',' FALSE') END; CASE TESTEQUAL OF TRUE : WRITELN(OUTPUT,' EQUAL'); FALSE : WRITELN(OUTPUT,' NOT EQUAL') END; (*CASE*) END; BEGIN (*COMPARECOORD*) REPEAT WRITELN(OUTPUT,' ENTER XYZS'); WITH COORD1 DO BEGIN READLN(INPUT,X,Y,Z); WRITELN(OUTPUT,X,Y,Z) END; (*WITH*) WITH COORD2 DO BEGIN READLN(INPUT,X,Y,Z); WRITELN(OUTPUT,X,Y,Z) END; (*WITH*) WRITELN(' ENTER TEST'); WRITELN(' 1 LESS'); WRITELN(' 2 GREATER'); WRITELN(' 3 EQUAL'); WRITELN(' 4 GREATERQ'); WRITELN(' 5 LESSEQ'); WRITELN(' 6 NOTEQ'); READ(DISTANCE); CASE DISTANCE OF 1: TESTFOR := LESSTHAN; 2: TESTFOR := GREATERTHAN; 3: TESTFOR := EQUALTO; 4: TESTFOR := GREATEREQUAL; 5: TESTFOR := LESSEQUAL; 6: TESTFOR := NOTEQUAL END; (*CASE*) CASE COMPARECOORD(COORD1,TESTFOR,COORD2,DISTANCE) OF LESSTHAN: WRITELN(' LESSTHAN'); GREATERTHAN: WRITELN(' GREATER'); EQUALTO: WRITELN(' EQUALTO'); LESSEQUAL: WRITELN(' LESSEQ'); GREATEREQUAL: WRITELN(' GREATEQ'); NOTEQUAL: WRITELN(' NOTEQUAL') END; (*CASE*) WRITELN(OUTPUT,' DIST=',DISTANCE); UNTIL EOF(INPUT) END. 1978P1978R1NODES01 çé PROGRAM NODES (INPUT,OUTPUT); TYPE NODES = RECORD X, Y : REAL; LINKPOS : INTEGER END; LINKS = RECORD FROMNODE, TONODE, ATTRIBUTES :INTEGER END; VAR NODE : ARRAY [1..20] OF NODES; LINK : ARRAY [1..50] OF LINKS; NEWLINK : LINKS; NEWNODE : NODES; DELETEDLINKNO, DELETEDNODENO, NUMBOFLINKS, NUMBOFNODES : INTEGER; PROCEDURE ADDNODE (NEWNODE:NODES); BEGIN NUMBOFNODES := NUMBOFNODES+1; NODE[NUMBOFNODES] := NEWNODE END; PROCEDURE DELETENODE (DELETEDNODENO:INTEGER); VAR I : INTEGER; BEGIN FOR I := DELETEDNODENO TO NUMBOFNODES DO NODE[I] := NODE[I+1]; NUMBOFNODES := NUMBOFNODES-1 END; PROCEDURE EXPANDLINK (SPACE :INTEGER); VAR I : INTEGER; BEGIN FOR I := NUMBOFLINKS DOWNTO NODE[ NEWLINK.FROMNODE+1].LINKPOS DO LINK[I+1] := LINK[I]; WHILE (( LINK[I-1].TONODE > NEWLINK.TONODE ) AND (LINK[I-1].ATTRIBUTES > NEWLINK.ATTRIBUTES ) AND (LINK[I-1].FROMNODE = NEWLINK.FROMNODE )) DO BEGIN I := I-1; LINK[I+1] := LINK[I] END; SPACE := I END; PROCEDURE ADDLINK (NEWLINK : LINKS); VAR SPACE : INTEGER; BEGIN EXPANDLINK (SPACE); LINK[SPACE] := NEWLINK END; PROCEDURE DELETELINK( DELETEDLINKNO : INTEGER); VAR I : INTEGER; BEGIN FOR I := DELETEDLINKNO TO NUMBOFLINKS DO LINK[I] := LINK[I+1]; NUMBOFLINKS := NUMBOFLINKS-1 END; BEGIN NODE[1].X := 2; NODE[2].X :=4; IF NODE[1] = NODE[2] THEN WRITELN(OUTPUT,' NEW=DELETED') ELSE WRITELN(OUTPUT,' NEW<>DELETED'); NODE[1] := NODE[2]; WRITELN(OUTPUT,' ',NODE[1].X,NODE[1].Y) END. CROSSREF02öíw`PROGRAM CROSSREF (F,OUTPUT); (*CROSSREFERENCE GENERATOR USING BINARY TREES*) CONST C1 = 10; (*LENGTH OF WORDS*) C2 = 8; (*NUMBERS PER LINE*) C3 = 6; (*DIGITS PER NUMBER*) C4 = 9999; (*MAXIMUM LINE NUMBER*) TRACE = FALSE; (*SET FOR TRACE TYPE WRITELN'S*) TYPE ALFA = PACKED ARRAY [1..C1] OF CHAR; TEXT = FILE OF CHAR; WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : ALFA; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;NEXT : ITEMREF END; COMPARATIVE = (LESS,GREATER,EQUAL); VAR ROOT : WORDREF; K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) ID : ALFA; F : TEXT; A,B : ARRAY [1..C1] OF CHAR; FUNCTION KOMPAR ( A : ALFA; B : ALFA; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INTEGER; T : COMPARATIVE; BEGIN T := EQUAL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN IF TRACE THEN WRITELN(' KOMPAR ',A[I],' ',B[I]) ; BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS END; IF TRACE THEN BEGIN CASE T OF EQUAL : WRITELN(' KOMP ='); LESS : WRITELN(' KOMP <'); GREATER : WRITELN(' KOMP >'); END END; I := I+1 END; KOMPAR := T END; PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF;J : INTEGER; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN (* KEY := ID*) FOR J := 1 TO C1 DO BEGIN KEY[J] := A[J];IF TRACE THEN WRITELN(' KEY,A[J]',KEY[J],' ',A[J]) END; LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W END ELSE CASE KOMPAR (A,W^.KEY,1,C1) OF LESS : BEGIN IF TRACE THEN WRITELN(' LESS');SEARCH (W^.LEFT) END; GREATER : BEGIN IF TRACE THEN WRITELN(' GREATER'); SEARCH (W^.RIGHT) END; EQUAL : BEGIN IF TRACE THEN WRITELN(' EQUAL'); NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END END (* IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; W^.LAST^.NEXT := X;W^.LAST := X END *) END; (*SEARCH*) PROCEDURE PRINTTREE(W : WORDREF); PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTRE!E(W^.RIGHT) END END; (*END OF PRINTTREE*) BEGIN ROOT := NIL;N := 0;K1 := C1; PAGE(OUTPUT);RESET(F); WHILE NOT EOF(F) DO BEGIN IF N = C4 THEN N := 0; N := N+1;WRITE(N:C3); (*NEXT LINE*) WRITE(' '); WHILE NOT EOLN(F) DO BEGIN (*SCAN NON EMPTY LINE*) IF F^ IN ['A','B','C','D','E','F','G','H','I','J','K' ,'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y' ,'Z'] THEN BEGIN K := 0; REPEAT IF K= K1 THEN K1 := K ELSE REPEAT A[K1] := ' ';K1 := K1-1 UNTIL K1 = K; (*PACK(A,1,ID);*)SEARCH(ROOT) END ELSE BEGIN (*CHECK FOR QUOTE OR COMMENT*) IF F^ = '''' THEN REPEAT WRITE(F^);GET (F); UNTIL F^ = '''' ELSE IF F^ = '%' THEN REPEAT WRITE(F^);GET(F) UNTIL F^ = '#'; WRITE(F^);GET(F) END END; WRITELN;GET(F) END; PAGE(OUTPUT);PRINTTREE(ROOT); END. TEST1tõ޽ PROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; NUMBERS = SET OF '0'..'9'; VAR CH : CHAR; DIGITS : NUMBERS; STR : ALPHANUMERIC; I : INTEGER; R : REAL; PROCEDURE NUMB( STR : ALPHANUMERIC); VAR CH : CHAR; I,LEN,CKNUMBER : INTEGER; BEGIN CKNUMBER := 0; I :=1; LEN := LENGTH(STR); WHILE I <= LEN DO BEGIN CH := STR[I]; IF CH IN DIGITS THEN BEGIN CKNUMBER := CKNUMBER*10+ORD(CH)-48; WRITELN(OUTPUT,I,' ',CH,' ',ORD(CH),' ',CH,' ',CKNUMBER); END; I := I+1; END; END; BEGIN DIGITS := ['0'..'9']; REPEAT BEGIN READLN(STR); WRITELN(STR); NUMB(STR); END; UNTIL EOF(INPUT); END. RPA„û½½PROGRAM TEST (INPUT,OUTPUT); VAR R : REAL; PROCEDURE REALPRINT (R : REAL); VAR I,J,DIGIT : INTEGER; R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; { WRITELN(' GETDIGIT,DIGIT=',DIGIT);} END; {GETDIGIT} BEGIN {do decimal part first} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[10-J] := CHR(DIGIT+48); J :=J+1; { WRITELN(' CHR(DIGIT):=',CHR(DIGIT+48));} END; STR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITELN(' STRING=',STR); END;{OF REALPRINT} BEGIN REPEAT BEGIN WRITELN(' ENTER A REAL NUMBER'); READ(R); REALPRINT(R); END; UNTIL EOF(INPUT); END. 1978EMPî½f (E 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 487 1787.44 E 486 389.02 E 484 305.68 E 482 626.76 E 481 554.04 E 480 1024.14 E 479 927.20 E 478 1092.27 E 510 304.73 E 509 432.47 E 508 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500 372.80 W 499 561.91 W 498 497.97 E 497 926.48 E 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.65 E 528 393.86 E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.80 W 517 277.10 E 516 259.01 E 515 439.51 E 514 398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 E 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.3[8 E 546 924.04 E 547 982.73 E 548 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.04 E 561 297.08 E 559 688.29 E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 W 579 483.00 W 580 2210.00 W 581 38.36 E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 E 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 E 593 960.21 E 595 645.08 E 597 430.98 E 598 343.31 W 600 1863.74 W 602 850.20 E 603 796.26 E 604 802.32 E 605 379.26 E 606 542.91 E 607 283.06 E 608 180.93 E 609 282.18 E 615 369.00 W 617 2861.14 E 625 2210.00 E 627 1209.08 E 628 1158.89 E 629 552.62 E 630 596.12 E 632 359.96 W 634 800.03 E 635 921.48 E 636 1050.72 E 637 533.66 E 638 610.74 E 639 361.79 E 640 201.10 E 645 346.92 E 610 325.46 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E 624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 E 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 652 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 DATA01 +srB 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 119.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C 2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 DM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.00 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 109.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 28 C 2622 52.30 5 20 C 2623 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 C 2638 1200 21 21 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 18.50 18 26 D 7130 C 2707 295 26 26 C 2708p 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2762 1510 21 29 TSTQ ;ŽŽ  9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 T6‹þ½)+PROGRAM T6 (INPUT,OUTPUT); TYPE COLORS = (BLUE,GREEN,PURPLE,RED,BLACK); VAR INCOLOR : COLORS; COLORTYPE : SET OF COLORS; BEGIN READLN (INPUT,COLORTYPE); IF COLORTYPE IN COLORS THEN BEGIN CASE COLORTYPE OF BLUE : WRITELN(OUTPUT,'BLUE'); GREEN,PURPLE : WRITELN(OUTPUT,'GREEN','PURPLE'); RED,BLACK : WRITELN(OUTPUT,'RED',' BLACK'); END; ELSE WRITELN (OUTPUT,"NOT IN ST"); END; END. T20w Ž1PROGRAM T20(INPUT,OUTPUT); VAR CHR : CHAR; BEGIN REPEAT READLN(INPUT,CHR) UNTIL (EOLN(INPUT) OR EOF(INPUT)) END. PRETTYPX ½½ CBOOKPX÷ŽŽ €CBOOK Copyright (C) 1981 Rational Data Systems½  ²¼¶ž$‡žÌ²²¼ضž$‰�–½²¶›Ø0‚Çÿˆ¿¶‚¸¶öÃ�¡²¶›,¿¶‚¸­`в¼¶ž$�žÌ²²¼ضž$‰‡–½²¶›Ø0‚Çÿˆ¿¶‚¸­BƼа¡Ì¹ ÆÆ¼’½ÌÆÆ¼³?zჽƦ ªÌÝ•ÌÝÃÝž$Ƽ´�¡öÝ••݆•ÌÊáÆÛ•›-¿Ý®®Ä¡Ê̹ܕÌÖÎÜÊáôÆÛ›.¿Û‚Ì®®È¡Ê̹ÜÐÌÖÎÜÊáòÖØ®ÆÏ­C� ÌÆÚªcÌ=Ì<Æ:нÆ¾Ì7ÛøÊ7È¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌ=¹ö¹ðÛøÊ7È¡òÆÛø›¾³ÿ‹¡VÊ<¹<Æ:Æ:¼ Š�0Š–ÆÛø›¾Šƒ½¹0Æ:Æ:¼ÆÛø›¾0•Æ8¼‰‡ƒ½Æ8Æ8¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌ<ÛÛø‚šÆ8 н¹ô¹ÆÛø›¾,áÛÛø‚š¹ôÊ=¹ÆÆ:¼½¹ÆÆ:¼’½¹ ¬¹­')+-Ð9.ÆÙªcÌ6Ì8ƾÌ7ÚøÊ7È¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚø›¾-á ÚÚø‚šÌ8¹öÆÚø›¾³ÿ‹¡Ê6 �0•ÆÚø›¾‚Ì6ÚÚø‚šÚøÊ7È¡¹ôÊ8¹ Ê6̹Ê6‘̹ ¬¹­PŽ5 ¦ÆتcƾÌ6Ì8Ì7Ê8Ê6ÉÊ7ÙË„¡_Ê8Ê6ÉÆÊ8›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹“„¡Ê8‚Ì8¹öÊ8Ê6ÉÆÊ8›¾³?ÿÿÿÿÿÿÿÿÿÿþ‹„¡Ê8‚Ì8¹ôÊ7‚Ì7¹òÊ8Ê6áÚš¹ÚšÚ¢ÖÆÆ8Κ­ˆR€5 ¤Ö¥€Í®¦ ERRORÏÖØ¥ÏÖØÏ­$«<Ö¥¥<Ϋ=¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ CK ÏÖØ§= Ï Ö¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­~ «<¥>Ö¥¥<ν¥@¥>¼½Ö¥€Í®¦ BL ÏÖ¥3¥‚`®ÒÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥@¼Î­T «<¥>Ö¥¥<ν¥@¥@¼¥>¼ƒ½¥B¥B¼¥>¼ƒ½¥F¥F¼¥>¼ƒ½Ö¥€Í®¦ DP ÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í¥@¼Î­p «<¥>Ö¥¥<ν¥@¥@¼¥>¼ƒ½¥B¥B¼¥>¼ƒ½Ö¥€Í®¦ CM ÏÖØ¥3ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í¥@¼Î­d «<¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½Ö¥€Í®¦ DM ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­h «<Ö¥¥<Ϋ=Ö¥€Í®¦ CC ÏÖØ§= Ï ­,«<Ö¥¥<Ϋ=¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ EM ÏÖØ§= Ï Ö¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­~«<¥>Ö¥¥<ν¥@¥@¼¥>¼–½¥D¥D¼¥>¼ƒ½¥H¥H¼¥>¼ƒ½Ö¥€Í®¦ WH ÏÖØ¥3ÏÖ¥€Í¥>¼ÎÖ¥€Í®¥3ÏÖ¥€Í¥@¼Î­tÆتc«JÆ›¾¹öÆ›¾ á«J¹Æ›¾Cá«J¹Æ›¾Má«J¹ÖιôÆ›¾ á«J¹Æ›¾Má«J¹ÖιmÆ›¾ á«J¹ÖιZÆ›¾ á«J¹ÖιGÆ›¾ á«J¹Öι4¬BW¹,A“f4  "$&(*E­82 ØÖ¦ INPUT FILE NAME? ¥‚`®ÒÏÖ¥Ö¥�Þ®ÏØÒcÏÖØÏÖ¥K¥ÏÖ¥KÏÖ¦ OUTPUT FILE NAME? ¥‚`®ÒÏÖ¥Ö¥�Þ®ÏØÒcÏÖØÏÖ¥€Í¥ÏÖ¥€ÍÏÖ¥�O¦LOGFILEÏÖ¥�OÏÖ¦ENTER START AND END CATEGORY¥‚`®ÒÏÖ¥�Úˆ•¤Ö¥�Þ®ÏØÒÏ ÖØ¥�Úˆ•¤Ï ÖØÏÖ¦ENTER START AND END PAGE¥‚`®ÒÏÖ¥�Úˆ•¤Ö¥�Þ®ÏØÒÏ ÖØ¥�Úˆ•¤Ï ÖØÏ­B¥3¦ ª¥@³½¥D³½¥B³½¥H³½¥F³½­JÖ¥€Í®¦ KEY TO TRANSACTION TYPESÏÖØÏÖ¥€Í®¦. C CHECK CC CANCELLED CHECKÏÖØÏÖ¥€Í®¦) CM CREDIT MEMO DM DEBIT MEMOÏÖØÏÖ¥€Í®¦- DP DEPOSIT BL FORCED BALANCEÏÖØÏÖ¥€Í®¦/ EM EMPLOYEE CK WH WITHOLDING CHECKÏÖØÏ­ Ö¥€ÍÏÖ¥€Í®¦: TYPE CHECK DEBIT CREDIT BALANCEÏÖØÏ­XÖÆ‚`Æ‚žÏÖÆ‚`¦OUTPUTÏÖÆ�ÞÆ‚ÏÖÆ�Þ¦INPUTÏÖÆKÆ€‰ÏÖÆK¦INFILEÏÖÆ€ÍÆ� ÏÖÆ€Í¦OUTFILEÏÖÆ�OÆ��ÏÖÆ�O¦LOGFILEÏÖÏÖÆ�ÞÏÖÆ‚`ÏÖÎÖÎÖÎÖ¥€ÍÏ®‚㮂âÈ¡ìÊ‚ã«�Ù¹§�ÙЫ�Ù¥�Ú§�Ùˆ•¤ø®‚ä¥�Ú§�Ù‚ˆ•¤ø®‚ãÈ¡ðÊ‚ä«�ع§�ØÐ«�ØÖÎÖ¥€ÍÏÖ¥€Í®‚ä¦CATEGORYÏÖÊ‚ä§�ØÏ ÖÊ‚ä¦FIELDÏÖÊ‚ä§�ÙÏ ÖÊ‚äÏÖÎÖ¥KÏÖ¥KÏ “¡ôÖ¥K®‚äÏÖÊ‚ä¥cÏÖÊ‚äÏÖ¥�O®‚ä¥ÏÖÊ‚äÏÖ¥§�Ù¥�ÑΧ�Ñá^§�Ò§�ØÃ¡U֥ΧJ¹-ÖÎ ¹AÖι<ÖÎ ¹7ÖÎ ¹2ÖÎ ¹-ÖÎ ¹(Öι#ÖιÖι¬¹41+2*"Ö¥€ÍϹöÖ¥€ÍÏÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTALS ÏÖ¥€Í¥D¼ÎÖ¥€Í¥B¼ÎÖ¥€Í¥@¼ÎÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTAL CHECKS ÏÖ¥€Í¥H¼ÎÖ¥€ÍÏÖ¥€Í®‚ä¦ TOTAL DEPOSITSÏÖ¥€Í¥F¼Î§�ØÊ‚ãáòÖ¦END1¥‚`®‚ãÒÏÖÊ‚ãϧ�ÙÊ‚âáîÖ¦END2¥‚`®‚âÒÏÖÊ‚âÏÖÆ‚`ÏÖÆ�ÞÏÖÆKÏÖÆ€ÍÏÖÆ�OÏ­;/_ý¬ä4îôRxÈîhìŒö l Æ J t  Ê Î *REALPRINTPT] ½½{10/30/80 THIS PROCEDURE PRINTS A REAL NUMBER NO LARGER THäAN 32767.00 IN A 10 FIELD STRING WITH 2 DECIMAL PLACES AND A COMMA IF REQUIRED} PROCEDURE REALPRINT (R : REAL); VAR I,J,DIGIT : INTEGER; R1,R2 : REAL; STR : STRING[10]; PROCEDURE GETDIGIT; BEGIN R2 := R1/10; DIGIT := TRUNC(R1-TRUNC(R2)*10); R1 := R2; WRITELN(' GETDIGIT,DIGIT=',DIGIT); END; {GETDIGIT} BEGIN {do decimal part first} STR :=' '; R1 := (R-TRUNC(R))*100 + 0.3; J :=0; FOR I := 1 TO 2 DO BEGIN GETDIGIT; STR[10-J] := CHR(DIGIT+48); J :=J+1; WRITELN(' CHR(DIGIT):=',CHR(DIGIT+48)); END; STR[10-J] :='.'; J := J+1; {do integer part} R1 :=R; WHILE ( (R1 > 1.0) AND (J < 9) ) DO BEGIN GETDIGIT; IF J = 6 THEN BEGIN STR[10-J] :=','; J := J+1; END; STR[10-J] := CHR(DIGIT+48); J :=J+1; END; WRITE(STR); END;{OF REALPRINT} TEST1PA” ½½.PROGRAM TEST1(INPUT,OUTPUT); VAR CH : CHAR; BEGIN REPEAT BEGIN READ(CH); WRITELN(CH,ORD(CH),ORD(CH)-48); END UNTIL EOF(INPUT) END. T30 !¦&PROGRAM T27(INPUT,OUTPUT); TYPE ALPHA = ARRAY [1..35] OF CHAR; VAR IOCH,BYTES,ERROR : INTEGER ; BUFFER : ALPHA; FILEEND : BOOLEAN; PROCEDURE OPEN ( VAR FILENO : INTEGER ; FILENAME : ALPHA ; VAR ERRORNUMBER : INTEGER );EXTERNAL; FUNCTION ENDL ( IOCHANNEL : INTEGER ):BOOLEAN;EXTERNAL; FUNCTION ENDF ( IOCHANNEL : INTEGER ) : BOOLEAN;EXTERNAL; PROCEDURE RDLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : INTEGER ; VAR ERRORNUM : INTEGER );EXTERNAL; PROCEDURE WRLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESWROTE : INTEGER ; VAR ERRORNUMBER : INTEGER );EXTERNAL; BEGIN (* OPEN (IOCH,'FOBAR',ERROR);*) REPEAT BEGIN RDLI (1,BUFFER,BYTES,ERROR); IF ERROR <> 6 THEN BEGIN WRLI(2,BUFFER,BYTES,ERROR); END ELSE END; UNTIL ENDF(IOCH) = TRUE END. T79 ½. PROGRAM T7 (INPUT,OUTPUT); TYPE PRIMARY = (BLUE,RED,YELLOW); COLOR = SET OF PRIMARY; VAR CH : CHAR; I : INTEGER; STRING : ARRAY[1..8] OF CHAR; HUE : COLOR; BEGIN I := 1; WHILE I<=8 DO BEGIN READ (INPUT,CH); STRING[I] := CH; WRITELN (OUTPUT,' ',I); I :=I+1; END; WRITELN(OUTPUT,' ',STRING); END. TESTLSEN ´ŽŽ )Rational Data Systems Pascal Compiler [release RDOS.2.11, overlaid] "TEST.PA" compiled on Thursday 1 January 1981 at 12:34:05 using the option /Swapping. line seg proc off nst 1 0 1 1 PROGRAM CROSSREF (INPUT,OUTPUT); 2 0 1 1 CONST STRSIZE = 133; 3 0 1 1 C1 = 10; {LENGTH OF WORDS} 4 0 1 1 C2 = 8; {NUMBERS PER LINE} 5 0 1 1 C3 = 6; {DIGITS PER NUMBER} 6 0 1 1 C4 = 9999; {MAXIMUM LINE NO} 7 0 1 1 8 0 1 1 9 0 1 1 TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; 10 0 1 1 BYTEPTR = ^BYTEARRAY; 11 0 1 1 BIGSTR = STRING[STRSIZE]; 12 0 1 1 STRPTR = ^BIGSTR; 13 0 1 1 WORDPTR = ^INTEGER; 14 0 1 1 CHARPTR = ^CHAR; 15 0 1 1 16 0 1 1 LINESTRING = RECORD 17 0 1 1 LEN : INTEGER; {STRING LNGTH} 18 0 1 1 STR : PACKED ARRAY[1..132] OF CHAR{DATA} 19 0 1 1 END; 20 0 1 1 LINEPOINTER = ^ LINESTRING; 21 0 1 1 22 0 1 1 REGISTER = RECORD 23 0 1 1 CASE INTEGER OF 24 0 1 1 1: (INT: INTEGER); 25 0 1 1 2: (BPTR: BYTEPTR); 26 0 1 1 3: (WPTR: WORDPTR); 27 0 1 1 4: (SPTR: STRPTR); 28 0 1 1 5: (CH: CHAR); 29 0 1 1 6: (LPTR: LINEPOINTER) 30 0 1 1 END; {REGISTER} 31 0 1 1 32 0 1 1 SYSCALLTYPE = (SIMPLE,AOSPACKET); 33 0 1 1 SYSCALLPREFIX = RECORD 34 0 1 1 MODE : SYSCALLTYPE; 35 0 1 1 ERROR : BOOLEAN; 36 0 1 1 CALLNUM : INTEGER; 37 0 1 1 R0 : REGISTER; 38 0 1 1 R1 : REGISTER; 39 0 1 1 R2 : REGISTER; 40 0 1 1 END;{SYSCALL PREFIX} 41 0 1 1 42 0 1 1 SCALLPTR = ^SYSCALLPREFIX; 43 0 1 1 DPINTEGER = RECORD 44 0 1 1 UPPER : INTEGER; 45 0 1 1 LOWER : INTEGER 46 0 1 1 END; {DOUBLE PRECISION INTEGER} 47 0 1 1 48 0 1 1 49 0 1 1 {CROSSREF TYPES} 50 0 1 1 51 0 1 1 WORDREF = ^WORD; 52 0 1 1 ITEMREF = ^ITEM; 53 0 1 1 WORD = RECORD KEY : INTEGER; 54 0 1 1 FIRST,LAST : ITEMREF; 55 0 1 1 LEFT,RIGHT : WORDREF 56 0 1 1 END; 57 0 1 1 ITEM = PACKED RECORD 58 0 1 1 LNO : 0..C4;{LINE NUMBER} 59 0 1 1 POS : DPINTEGER;{FILE POSITION} 60 0 1 1 NEXT : ITEMREF {POINTER TO NEXT} 61 0 1 1 END; 62 0 1 1 63 0 1 1 64 0 1 1 VAR CH : CHAR; 65 0 1 2 PDATAFILE,PCONSOLE,PINDEX,PTREE : BOOLEAN; 66 0 1 6 ROOT : WORDREF; 67 0 1 7 WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} 68 0 1 8 K,K1 : INTEGER; 69 0 1 10 N : INTEGER; (*CURRENT LINE NUMBER*) 70 0 1 11 PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} 71 0 1 13 ID : INTEGER; 72 0 1 14 LINE : BIGSTR; 73 0 1 81 SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} 74 0 1 82 NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} 75 0 1 83 ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} 76 0 1 84 DISKIN : INTEGER; {INPUT DATA FILE} 77 0 1 85 DISKOUT : TEXT ; {OUTPUT PASCAL FILE} 78 0 1 215 FIELDNUMBER : INTEGER; 79 0 2 1 PROCEDURE GCHN(VAR FREECHANNEL : INTEGER); 80 0 2 2 81 0 2 2  82 0 2 2 CONST DOTERTN = 3328; {15B7} 83 0 2 2 DOTGCHN = 8746; {.GCHN} 84 0 2 2 85 0 2 2 VAR REQUEST : SCALLPTR; 86 0 2 3 HEAP : ^INTEGER; 87 0 2 4 88 0 2 0 0 BEGIN 89 0 2 0 0 MARK(HEAP); 90 0 2 4 0 NEW(REQUEST); 91 0 2 9 0 WITH REQUEST^ DO 92 0 2 12 1 BEGIN 93 0 2 12 1 MODE := SIMPLE; 94 0 2 15 1 CALLNUM := DOTGCHN; 95 0 2 22 1 SYSCALL(REQUEST); 96 0 2 25 1 IF ERROR THEN 97 0 2 29 2 BEGIN 98 0 2 29 2 MODE := SIMPLE; 99 0 2 32 2 CALLNUM := DOTERTN; 100 0 2 39 2 SYSCALL(REQUEST); 101 0 2 42 1 END; 102 0 2 42 1 FREECHANNEL := R2.INT; 103 0 2 46 0 END; 104 0 2 46 0 RELEASE(HEAP); 105 0 2 50 0 END; {PCHAR} 106 0 2 62 0 {$I GCHN.PI} 107 0 3 1 PROCEDURE OPEN(RDOSCHANNEL : INTEGER;FILENAME : BIGSTR 108 0 3 2 ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); 109 0 3 72 CONST DOTOPEN =6207; {.OPEN} 110 0 3 72 111 0 3 72 112 0 3 72 VAR REQUEST : SCALLPTR; 113 0 3 73 HEAP : ^INTEGER; 114 0 3 74 FILEPTR : STRPTR; 115 0 3 75 116 0 3 0 0 BEGIN 117 0 3 0 0 MARK(HEAP); 118 0 3 9 0 NEW(REQUEST); 119 0 3 14 0 NEW(FILEPTR); 120 0 3 19 0 FILEPTR^ := FILENAME; 121 0 3 25 0 WRITELN(' ',FILEPTR^); 122 0 3 53 0 WITH REQUEST^ DO 123 0 3 57 1 BEGIN 124 0 3 57 1 MODE := SIMPLE; 125 0 3 61 1 CALLNUM := DOTOPEN; 126 0 3 69 1 R0.SPTR := FILEPTR; 127 0 3 76 1 R0.INT := R0.INT+1; 128 0 3 86 1 R2.INT := RDOSCHANNEL; 129 0 3 92 1 SYSCALL(REQUEST); 130 0 3 96 1 IF ERROR THEN WRITELN(' ERROR IN OPEN = ',R2.INT); 131 0 3 144 1 ERR := ERROR; 132 0 3 149 1 ERRNUM := R2.INT; 133 0 3 154 0 END; 134 0 3 154 0 RELEASE(HEAP); 135 0 3 158 0 END; {OPEN} 136 0 3 170 0 {$I OPEN.BU} 137 0 4 1 PROCEDURE DELETE(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); 138 0 4 71 CONST DOTDELETE =256; {.DELETE} 139 0 4 71 140 0 4 71 141 0 4 71 VAR REQUEST : SCALLPTR; 142 0 4 72 HEAP : ^INTEGER; 143 0 4 73 FILEPTR : STRPTR; 144 0 4 74 145 0 4 0 0 BEGIN 146 0 4 0 0 MARK(HEAP); 147 0 4 9 0 NEW(REQUEST); 148 0 4 14 0 NEW(FILEPTR); 149 0 4 19 0 FILEPTR^ := FILENAME; 150 0 4 25 0 WRITELN(' ',FILEPTR^); 151 0 4 53 0 WITH REQUEST^ DO 152 0 4 57 1 BEGIN 153 0 4 57 1 MODE := SIMPLE; 154 0 4 61 1 CALLNUM := DOTDELETE; 155 0 4 69 1 R0.SPTR := FILEPTR; 156 0 4 76 1 R0.INT := R0.INT+1; 157 0 4 86 1 SYSCALL(REQUEST); 158 0 4 90 1 IF ERROR THEN WRITELN(' ERROR IN DELETE = ',R2.INT); 159 0 4 140 1 ERR := ERROR; 160 0 4 145 1 ERRNUM := R2.INT; 161 0 4 150 0 END; 162 0 4 150 0 RELEASE(HEAP); 163 0 4 154 0 END; {DELETE} 164 0 4 166 0 {$I DELETE.BU} 165 0 5 1 PROCEDURE CRAND(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); 166 0 5 71 167 0 5 71 CONST DOTCRAND = 3584; {.CRAND} 168 0 5 71 169 0 5 71 170 0 5 71 VAR REQUEST : SCALLPTR; 171 0 5 72 HEAP : ^INTEGER; 172 0 5 73 FILEPTR : STRPTR; 173 0 5 74 TEMP : STRING[1]; 174 0 5 75 175 0 5 0 0 BEGIN 176 0 5 0 0 MARK(HEAP); 177 0 5 9 0 NEW(REQUEST); 178 0 5 14 0 NEW(FILEPTR); 179 0 5 19 0 FILEPTR^ := FILENAME; 180 0 5 25 0 WRITELN(' ',FILEPTR^); 181 0 5 53 0 WITH REQUEST^ DO 182 0 5 57 1 BEGIN 183 0 5 57 1 MODE := SIMPLE; 184 0 5 61 1 CALLNUM := DOTCRAND; 185 0 5 69 1 { APPEND 0 TO END OF STRING} 186 0 5 69 1 R0.SPTR := FILEPTR; 187 0 5 76 1 R0.INT := R0.INT+1; 188 0 5 86 1 SYSCALL(REQUEST); 189 0 5 90 1 IF ERROR THEN WRITELN(' ERROR IN CRAND = ',R2.INT); 190 0 5 139 1 ERR := ERROR; 191 0 5 144 1 ERRNUM := R2.INT; 192 0 5 149 0 END; 193 0 5 149 0 RELEASE(HEAP); 194 0 5 153 0 END; {CRAND} 195 0 5 166 0 {$I CRAND.BU} 196 0 6 1 PROCEDURE WRITELINE( CHANNEL : INTEGER; BUFFER : BIGSTR; 197 0 6 3 BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); 198 0 6 73 199 0 6 73 CONST DOTWRS = 7743; {.WRS} 200 0 6 73 201 0 6 73 VAR REQUEST : SCALLPTR; 202 0 6 74 HEAP : ^INTEGER; 203 0 6 75 STRINGPOINTER : STRPTR; 204 0 6 76 205 0 6 0 0 BEGIN 206 0 6 0 0 MARK(HEAP); 207 0 6 9 0 NEW(REQUEST); 208 0 6 14 0 NEW(STRINGPOINTER); 209 0 6 19 0 STRINGPOINTER^ := BUFFER; 210 0 6 25 0 WITH REQUEST^ DO 211 0 6 29 1 BEGIN 212 0 6 29 1 MODE := SIMPLE; 213 0 6 33 1 CALLNUM := DOTWRS; 214 0 6 41 1 R0.SPTR := STRINGPOINTER; 215 0 6 48 1 R0.INT := R0.INT+1; 216 0 6 58 1 R1.INT := BYTESOUT; 217 0 6 64 1 R2.INT := CHANNEL; 218 0 6 70 1 SYSCALL(REQUEST); 219 0 6 74 1 IF ERROR THEN WRITELN(' ERROR IN WRITELINE = ',R2.INT); 220 0 6 127 1 ERR := ERROR; 221 0 6 132 1 ERRNUM := R2.INT; 222 0 6 137 0 END; 223 0 6 137 0 RELEASE(HEAP); 224 0 6 141 0 END; {WRITE LINE} 225 0 6 154 0 {$I WRL.BU} 226 0 7 1 PROCEDURE READLINE( CHANNEL : INTEGER; VAR BUFFER : BIGSTR; 227 0 7 3 VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); 228 0 7 6 229 0 7 6 CONST DOTRDL = 6975; {.RDL} 230 0 7 6 231 0 7 6 VAR REQUEST : SCALLPTR; 232 0 7 7 233 0 7 7 HEAP : ^INTEGER; 234 0 7 8 STRINGPOINTER : STRPTR; 235 0 7 9 236 0 7 0 0 BEGIN 237 0 7 0 0 MARK(HEAP); 238 0 7 4 0 NEW(REQUEST); 239 0 7 9 0 NEW(STRINGPOINTER); 240 0 7 14 0 WITH REQUEST^ DO 241 0 7 17 1 BEGIN 242 0 7 17 1 MODE := SIMPLE; 243 0 7 21 1 CALLNUM := DOTRDL; 244 0 7 29 1 R0.SPTR := STRINGPOINTER; 245 0 7 35 1 R0.INT := R0.INT+1; 246 0 7 45 1 R1.INT := BYTESREAD; 247 0 7 52 1 R2.INT := CHANNEL; 248 0 7 58 1 SYSCALL(REQUEST); 249 0 7 61 1 250 0 7 61 1 {$R-} 251 0 7 61 1 STRINGPOINTER^[0] := R1.CH; 252 0 7 68 1 {$R^} 253 0 7 68 1 IF ERROR THEN WRITELN(' ERROR IN READLINE = ',R2.INT); 254 0 7 120 1 ERR := ERROR; 255 0 7 125 1 ERRNUM := R2.INT; 256 0 7 130 1 BUFFER := STRINGPOINTER^; 257 0 7 134 1 BYTESREAD := R1.INT; 258 0 7 139 0 END; 259 0 7 139 0 RELEASE(HEAP); 260 0 7 143 0 END; {READ LINE} 261 0 7 156 0 {$I RDL.BU} 262 0 8 1 PROCEDURE OPENFILES; 263 0 8 1 264 0 8 0 0 BEGIN 265 0 8 0 0 WRITELN(' INPUT FILE'); 266 0 8 27 0 READLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); 267 0 8 39 0 WRITELINE(2,LINE,NBYTES,SYSERROR,ERRORNUMBER); 268 0 8 51 0 GCHN(DISKIN); 269 0 8 56 0 OPEN(DISKIN,LINE,SYSERROR,ERRORNUMBER); 270 0 8 67 0 271 0 8 67 0 WRITELN(' OUTPUT FILE'); 272 0 8 95 0 273 0 8 95 0 {USE BELOW FOR RDOS FILE DISKOUT MUST BE INTEGER} 274 0 8 95 0 {READLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); 275 0 8 95 0 GCHN(DISKOUT); 276 0 8 95 0 DELETE(LINE,SYSERROR,ERRORNUMBER); 277 0 8 95 0 CRAND(LINE,SYSERROR,ERRORNUMBER); 278 0 8 95 0 OPEN(DISKOUT,LINE,SYSERROR,ERRORNUMBER); 279 0 8 95 0 } 280 0 8 95 0 {USE BELOW FOR PASCAL FILE - DISKOUT MUST BE TEXT} 281 0 8 95 0 READLN(LINE); 282 0 8 117 0 FILETITLE(DISKOUT,LINE); 283 0 8 124 0 RESET(DISKOUT); 284 0 8 130 0 285 0 8 130 0 286 0 8 130 0 END; {OF OPEN FILES} 287 0 8 142 0 288 0 8 142 0 289 0 8 142 0 {$I OPENFILES.PI} 290 0 8 142 0 291 0 9 1 PROCEDURE GPOS (RDOSCHANNEL : INTEGER;VAR FILEPOS : DPINTEGER); 292 0 9 3 293 0 9 3 294 0 9 3 295 0 9 3 CONST DOTGPOS = 10303; {.GPOS} 296 0 9 3 297 0 9 3 VAR REQUEST : SCALLPTR; 298 0 9 4 HEAP : ^INTEGER; 299 0 9 5 300 0 9 0 0 BEGIN 301 0 9 0 0 MARK(HEAP); 302 0 9 4 0 NEW(REQUEST); 303 0 9 9 0 WITH REQUEST^ DO 304 0 9 12 1 BEGIN 305 0 9 12 1 MODE := SIMPLE; 306 0 9 15 1 CALLNUM := DOTGPOS; 307 0 9 22 1 R2.INT := RDOSCHANNEL; 308 0 9 27 1 SYSCALL(REQUEST); 309 0 9 30 1 IF ERROR THEN 310 0 9 34 1 WRITELN(' ERROR IN GCHN = ',R2.INT); 311 0 9 74 1 FILEPOS.UPPER := R0.INT; 312 0 9 78 1 FILEPOS.LOWER := R1.INT; 313 0 9 84 0 END; 314 0 9 84 0 RELEASE(HEAP); 315 0 9 88 0 END; {GPOS} 316 0 9 100 0 {$I GPOS.PI} 317 0 10 1 PROCEDURE SPOS( RDOSCHANNEL : INTEGER; FILEPOS : DPINTEGER); 318 0 10 5 319 0 10 5 320 0 10 5 CONST DOTSPOS = 10047; {.SPOS} 321 0 10 5 322 0 10 5 323 0 10 5 VAR REQUEST : SCALLPTR; 324 0 10 6 HEAP : ^INTEGER; 325 0 10 7 326 0 10 0 0 BEGIN 327 0 10 0 0 MARK(HEAP); 328 0 10 9 0 NEW(REQUEST); 329 0 10 14 0 WITH REQUEST^ DO 330 0 10 17 1 BEGIN 331 0 10 17 1 MODE := SIMPLE; 332 0 10 20 1 CALLNUM := DOTSPOS; 333 0 10 27 1 R0.INT := FILEPOS.UPPER; 334 0 10 32 1 R1.INT := FILEPOS.LOWER; 335 0 10 37 1 R2.INT := RDOSCHANNEL; 336 0 10 42 1 SYSCALL(REQUEST); 337 0 10 45 1 IF ERROR THEN WRITELN(' ERROR IN SPOS = ',R2.INT); 338 0 10 89 0 END; 339 0 10  89 0 RELEASE(HEAP); 340 0 10 93 0 END; {SPOS} 341 0 10 106 0 {$I SPOS.PI} 342 0 11 1 FUNCTION GETINTEGER( STR : BIGSTR;VAR I : INTEGER) : INTEGER; 343 0 11 71 344 0 11 71 345 0 11 71 LABEL 1,2,3; 346 0 11 71 347 0 11 71 TYPE SIGNOF = (PLUS,MINUS); 348 0 11 71 VAR LEN,FNUMB : INTEGER; 349 0 11 73 SIGN :SIGNOF; 350 0 11 74 351 0 11 74 352 0 11 0 0 BEGIN 353 0 11 0 0 FNUMB := 0; 354 0 11 8 0 SIGN := PLUS; 355 0 11 11 0 LEN := LENGTH(STR); 356 0 11 16 0 { WRITELN('LEN=',LEN);} 357 0 11 16 0 1: IF I <= LEN THEN 358 0 11 23 2 IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN 359 0 11 45 2 I := I+1;GOTO 1; 360 0 11 53 2 END 361 0 11 53 3 ELSE IF STR[I] = '-' THEN BEGIN 362 0 11 65 3 I := I+1; 363 0 11 71 3 SIGN := MINUS; 364 0 11 74 3 GOTO 1; 365 0 11 76 0 END; 366 0 11 76 0 2 : IF STR[I] IN ['0'..'9'] THEN 367 0 11 96 1 BEGIN 368 0 11 96 1 { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} 369 0 11 96 1 FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); 370 0 11 111 1 I := I+1; 371 0 11 117 1 IF I<= LEN THEN GOTO 2; 372 0 11 126 0 END; 373 0 11 126 0 3: CASE SIGN OF 374 0 11 130 0 PLUS : GETINTEGER := FNUMB; 375 0 11 136 1 MINUS : GETINTEGER := -FNUMB 376 0 11 136 0 END;{CASE} 377 0 11 154 0 END;{getinteger} 378 0 11 170 0 {$I GETINTEGER.BU} 379 0 12 1 FUNCTION GETFIELDINT(STR : BIGSTR; FIELDNUMBER : INTEGER) : INTEGER; 380 0 12 71 VAR I,J,LEN : INTEGER; 381 0 12 74 382 0 12 0 0 BEGIN 383 0 12 0 0 LEN := LENGTH(STR); 384 0 12 10 0 I := 1; 385 0 12 13 0 J := 1; 386 0 12 16 0 WHILE ( (I FIELDNUMBER) ) DO 387 0 12 28 1 BEGIN 388 0 12 28 1 389 0 12 28 1 {LEADING BLANKS AND TABS} 390 0 12 28 1 WHILE ( (I FIELDNUMBER) ) DO 481 0 14 28 1 BEGIN 482 0 14 28 1 483 0 14 28 1 {LEADING BLANKS AND TABS} 484 0 14 28 1 WHILE ( (I W^.KEY THEN SEARCH(W^.RIGHT) ELSE 514 0 15 98 3 BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; 515 0 15 116 3 X^.POS := PRESPOS; {SAVE FILE POSITION} 516 0 15 123 3 W^.LAST^.NEXT := X;W^.LAST := X 517 0 15 132 3 END 518 0 15 134 0 END; (*SEARCH*) 519 0 15 146 0 520 0 16 1 PROCEDURE PRINTRECORDS(W : WORD); 521 0 16 7 522 0 16 7 VAR X : ITEMREF; 523 0 16 8 524 0 16 0 0 BEGIN 525 0 16 0 0 X := W.FIRST; 526 0 16 8 0 REPEAT 527 0 16 8 1 BEGIN 528 0 16 8 1 SPOS(DISKIN,X^.POS); 529 0 16 16 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 530 0 16 29 1 IF PCONSOLE THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); 531 0 16 75 1 WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); 532 0 16 116 1 X := X^.NEXT; 533 0 16 120 1 END; 534 0 16 120 0 UNTIL X = NIL; 535 0 16 125 0 536 0 16 125 0 END; {PRINT IN ORDER} 537 0 16 140 0 538 0 17 1 PROCEDURE PRINTINORDER(W : WORDREF); 539 0 17 0 0 BEGIN IF W<> NIL THEN 540 0 17 5 1 BEGIN PRINTINORDER(W^.LEFT); 541 0 17 10 1 PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); 542 0 17 19 0 END; 543 0 17 19 0 END; 544 0 17 32 0 545 0 18 1 PROCEDURE PRINTWORD(W : WORD); 546 0 18 7 VAR L:INTEGER;X:ITEMREF; 547 0 18 0 0 BEGIN 548 0 18 0 0 IF PCONSOLE THEN WRITE(' ',W.KEY : C1); 549 0 18 26 0 WRITE(DISKOUT,' ',W.KEY : C1); 550 0 18 42 0 X := W.FIRST;L := 0; 551 0 18 48 1 REPEAT IF L = C2 THEN 552 0 18 53 2 BEGIN 553 0 18 53 2 L := 0; 554 0 18 56 3 IF PCONSOLE THEN BEGIN 555 0 18 59 3 WRITELN;WRITE(' ':C1+1); 556 0 18 78 2 END; 557 0 18 78 2 WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); 558 0 18 94 1 END; 559 0 18 94 1 L := L+1; 560 0 18 99 1 IF PCONSOLE THEN WRITE(' ',X^.LNO :C3); 561 0 18 121 1 WRITE(DISKOUT,X^.LNO : C3); 562 0 18 131 1 X := X^.NEXT; 563 0 18 135 0 UNTIL X = NIL ; 564 0 18 140 0 IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; 565 0 18 155 0 WRITELN(DISKOUT); 566 0 18 160 0 WRITELN(DISKOUT) 567 0 18 165 0 END; 568 0 18 180 0 (*END OF PRINTWORD*) 569 0 18 180 0 570 0 19 1 PROCEDURE PRINTTREE(W : WORDREF); 571 0 19 0 0 BEGIN 572 0 19 0 0 IF W <> NIL THEN 573 0 19 5 1 BEGIN PRINTTREE(W^.LEFT); 574 0 19 10 1 PRINTWORD(W^);PRINTTREE(W^.RIGHT) 575 0 19 17 1 END 576 0 19 19 0 END; 577 0 19 32 0 (*END OF PRINTTREE*) 578 0 19 32 0 579 0 20 1 PROCEDURE FIND(W : WORDREF); 580 0 20 2 581 0 20 0 0 BEGIN IF W = NIL THEN 582 0 20 5 0 BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE 583 0 20 47 1 IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE 584 0 20 60 2 IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE 585 0 20 73 2 {FOUND MATCH} 586 0 20 73 3 WF := W 587 0 20 73 0 END; {FIND} 588 0 20 88 0 589 0 20 88 0 590 0 20 88 0 591 0 21 1 PROCEDURE PRINTLINES(W : WORD); 592 0 21 7 593 0 21 7 VAR L : INTEGER; X : ITEMREF; 594 0 21 9 AMOUNT,CHECK : REAL; 595 0 21 13 596 0 21 0 0 BEGIN 597 0 21 0 0 AMOUNT := 0.0; 598 0 21 16 0 IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); 599 0 21 55 0 WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); 600 0 21 89 0 X := W.FIRST;L := 0; 601 0 21 95 0 602 0 21 95 1 REPEAT BEGIN 603 0 21 95 1 L := L+1; 604 0 21 100 1 SPOS(DISKIN,X^.POS); 605 0 21 108 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 606 0 21 121 1 IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); 607 0 21 161 1 WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); 608 0 21 196 1 609 0 21 196 1 CHECK := REALFIELD(LINE,3); 610 0 21 208 1 AMOUNT := AMOUNT+CHECK; 611 0 21 221 1 X := X^.NEXT 612 0 21 222 1 END 613 0 21 225 0 UNTIL X = NIL; 614 0 21 230 0 IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); 615 0 21 272 0 WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); 616 0 21 309 0 END; {OF PRINT ALL LINES WITH KEY W.KEY} 617 0 21 324 0 618 0 22 1 FUNCTION QUESTION : BOOLEAN; 619 0 22 2 620 0 22 0 0 BEGIN 621 0 22 0 0 REPEAT 622 0 22 0 1 WRITE(' ANSWER Y OR N '); 623 0 22 27 1 READLN(CH) 624 0 22 46 0 UNTIL (CH = 'Y') OR (CH = 'N'); 625 0 22 55 0 QUESTION := CH = 'Y'; 626 0 22 60 0 END; 627 0 22 74 0 628 0 22 74 0 629 0 1 0 0 BEGIN OPENFILES; 630 0 1 93 0 WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); 631 0 1 142 0 PCONSOLE := QUESTION; 632 0 1 148 0 WRITELN(' WANT DATA BASE FILE PRINTED?'); 633 0 1 196 0 PDATAFILE := QUESTION; 634 0 1 202 0 WRITELN(' WANT INDEX PRINTED? '); 635 0 1 242 0 PINDEX := QUESTION; 636 0 1 248 0 WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); 637 0 1 306 0 PINDEX := QUESTION; 638 0 1 312 0 639 0 1 312 0 WRITE(' SORT ON FILEN NO. 2,3,4,5? '); 640 0 1 353 0 READLN(FIELDNUMBER); 641 0 1 378 0 ROOT := NIL;N := 0; 642 0 1 384 0 REPEAT 643 0 1 384 0 644 0 1 384 1 BEGIN 645 0 1 384 1 GPOS(DISKIN,PRELSPOS); 646 0 1 391 1 READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); 647 0 1 404 1 648 0 1 404 1 IF NOT SYSERROR THEN 649 0 1 409 2 BEGIN 650 0 1 409 2 N := N+1; 651 0 1 414 2 IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); 652 0 1 458 2 IF PDATAFILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); 653 0 1 500 2 CASE LINE[1] OF 654 0 1 507 3 'C','E','W' : BEGIN 655 0 1 507 3 ID := GETFIELDINT(LINE,FIELDNUMBER); 656 0 1 518 3 SEARCH(ROOT); 657 0 1 523 2 END; 658 0 1 525 2 END; 659 0 1 574 1 END; 660 0 1 574 1 661 0 1 574 1 END; 662 0 1 574 0 UNTIL ERRORNUMBER = 6; {END OF FILE} 663 0 1 580 0 664 0 1 580 0 IF PTREE THEN PRINTTREE(ROOT); 665 0 1 587 0 666 0 1 587 0 WRITELN(' MEMORY LEFT = ',MEMAVAIL); 667 0 1 630 0 668 0 1 630 0 IF PINDEX THEN PRINTINORDER(ROOT); 669 0 1 637 0 670 0 1 637 0 WHILE NOT EOF(INPUT) DO 671 0 1 647 1 BEGIN 672 0 1 647 1 673 0 1 647 1 WRITE(' SEARCH KEY =');READLN(ID); 674 0 1 697 1 FIND(ROOT); 675 0 1 701 1 IF WF <> NIL THEN 676 0 1 706 2 BEGIN 677 0 1 706 2 PRINTWORD(WF^); 678 0 1 710 2 PRINTLINES(WF^); 679 0 1 714 1 END; 680 0 1 714 1 681 0 1 714 0 END; 682 0 1 716 0 683 0 1 716 0 END. RLDRSVRLDRSVGETFIELDINBUà )ŽŽFUNCTION GETFIELDINT(STR : BIGSTR; FIELDNUMBER : INTEGER) : INTEGER; VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (I=30) AND (BYTE<=126) THEN WRITELN(OUTPUT,' ALPHANUM'); CASE BYTE OF 0,1,2,3,4,5,6,7 : ; 8 : IF CURSOR.COLUMN <> 1 THEN CURSOR.COLUMN := CURSOR.COLUMN-1; 9 : ; 10 : CURSOR.LINE := CURSO†R.LINE+1; 11 : IF CURSOR.LINE >1 THEN CURSOR.LINE := CURSOR.LINE-1; 14 : CURSOR.COLUMN := CURSOR.COLUMN+1; 12 : BEGIN CURSOR.LINE := 1; CURSOR.COLUMN := 1 END; 13 : BEGIN CURSOR.LINE := CURSOR.LINE+1; CURSOR.COLUMN := NCOLUMNS*CURSOR.LINE END; END; WBYTE(OUTCH,BYTE,ERROR); UNTIL (ERROR <> -1) OR (BYTE = CONTROLZ) END. T40¶ "Ý,PROGRAM T40(INPUT,OUTPUT); (* POINTER TESTER *) TYPE XY=RECORD COLUMN,LINE : INTEGER END; LINK = ^ XY; VAR CURSOR : LINK; X,Y,ERROR: INTEGER; POS:XY; BEGIN MARK(CURSOR); NEW(CURSOR); CURSOR^.LINE := 1; CURSOR^.COLUMN := 2; WRITELN(OUTPUT,CURSOR^.LINE,CURSOR^.COLUMN); WRITELN(OUTPUT,POS.LINE,POS.COLUMN); NEW(CURSOR); WRITELN(OUTPUT,CURSOR^.LINE,CURSOR^.COLUMN); WRITELN(OUTPUT,POS.LINE,POS.COLUMN); RELEASE(CURSOR) END. CBOOKBUaTs½ PROGRAM CBOOK(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; ENTRYTYPES = (CHECK,CANCELEDCHECK,BALANCE,DEPOSIT,CREDITMEMO, DEBITMEMO,EMPLOYEECHECK,WITHOLDINGCHECK); VAR STR : ALPHANUMERIC; BLANKS : STRING[15]; CH : CHAR; CHECKNUMBER,I : INTEGER; TOTALCHECKS,TOTALDEPOSITS,TOTALDEBITS,TOTALCREDITS,NEWBALANCE,AMOUNT : REAL; ENTRY : ENTRYTYPES; SOURCE : TEXT; {$I REALPRINT.PI} {$I GETREAL.PI} {$I GETINTEGER.PI} PROCEDURE ERROR; BEGIN WRITELN(' ERROR'); END;{error} PROCEDURE C1HECK; BEGIN I := 2; CHECKNUMBER := GETINTEGER(STR,I); AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE- AMOUNT; TOTALDEBITS := TOTALDEBITS+AMOUNT; TOTALCHECKS := TOTALCHECKS + AMOUNT; WRITE(' CK ',CHECKNUMBER : 10); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{c.heck} PROCEDURE B1ALANCE; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := AMOUNT; WRITE(' BL ');WRITE(BLANKS,BLANKS,BLANKS); REALPRINT(NEWBALANCE); END;{B1ALANCE} PROCEDURE D1EPOSIT; BEGIN I :=2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE+ AMOUNT; TOTALCREDITS := TOTALCREDITS+AMOUNT; TOTALDEPOSITS := TOTALDEPOSITS+AMOUNT; WRITE(' DP ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{D1EPOSIT} PROCEDURE C1REDITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE + AMOUNT; TOTALCREDITS := TOTALCREDITS + AMOUNT; WRITE(' CM ',BLANKS,BLANKS);REALPRINT(AMOUNT); REALPRINT(NEWBALANCE); END;{c1reditmemo} PROCEDURE D1EBITMEMO; BEGIN I := 3; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; WRITE(' DM ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{D1EBITMEMO} PROCEDURE C1ANCELEDCHECK; BEGIN I := 3; CHECKNUMBER := GETINTEGER(STR,I); WRITE(' CC ',CHECKNUMBER : 10); END;{c1ancelledcheck} PROCEDURE E1MPLOYEECHECK; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' EM ',BLANKS); REALPRINT(AMOUNT);WRITE(BLANKS); REALPRINT(NEWBALANCE); END;{E1MPLOYEE CHECKS} PROCEDURE W1ITHOLDINGCHECKS; BEGIN I := 2; AMOUNT := GETREAL(STR,I); NEWBALANCE := NEWBALANCE - AMOUNT; TOTALDEBITS := TOTALDEBITS + AMOUNT; TOTALCHECKS := TOTALCHECKS+AMOUNT; WRITE(' WH ',BLANKS);REALPRINT(AMOUNT); WRITE(BLANKS);REALPRINT(NEWBALANCE); END;{W1HOLDINGCHECKS} PROCEDURE GETENTRYTYPE (LINE : ALPHANUMERIC); BEGIN CASE LINE[1] OF 'C' : IF ORD(LINE[2]) = 9 THEN ENTRY := CHECK ELSE IF LINE[2] = 'C' THEN ENTRY := CANCELEDCHECK ELSE IF LINE[2] = 'M' THEN ENTRY := CREDITMEMO ELSE ERROR; 'D' : IF ORD(LINE[2]) = 9 THEN ENTRY := DEPOSIT ELSE IF LINE[2] = 'M' THEN ENTRY := DEBITMEMO ­ ELSE ERROR; 'B' : IF ORD(LINE[2]) = 9 THEN ENTRY := BALANCE ELSE ERROR; 'E' : IF ORD(STR[2]) = 9 THEN ENTRY := EMPLOYEECHECK ELSE ERROR; 'W' : IF ORD(STR[2]) = 9 THEN ENTRY := WITHOLDINGCHECK ELSE ERROR; END; END; PROCEDURE INITIALIZE; BEGIN WRITE(' INPUT FILE NAME? '); READLN(STR); FILETITLE(SOURCE,STR); RESET(SOURCE); BLANKS := ' '; NEWBALANCE := 0.0 ; TOTALDEBITS := 0.0; TOTALCREDITS := 0.0; TOTALCHECKS := 0.0; TOTALDEPOSITS := 0.0; WRITELN(' KEY TO TRANSACTION TYPES'); WRITELN(' C CHECK CC CANCELLED CHECK'); WRITELN(' CM CREDIT MEMO DM DEBIT MEMO'); WRITELN(' DP DEPOSIT BL FORCED BALANCE'); WRITELN(' EM EMPLOYEE CK WH WITHOLDING CHECK'); WRITELN; WRITELN(' TYPE CHECK DEBIT CREDIT BALANCE'); END;{initialize} BEGIN INITIALIZE; WRITELN; WHILE NOT EOF(SOURCE) DO BEGIN READLN(SOURCE,STR); WRITELN; WRITELN; GETENTRYTYPELINE (STR); CASE ENTRY OF CHECK : C1HECK; CANCELEDCHECK : C1ANCELEDCHECK; CREDITMEMO : C1REDITMEMO; DEPOSIT : D1EPOSIT; DEBITMEMO : D1EBITMEMO; BALANCE : B1ALANCE; EMPLOYEECHECK : E1MPLOYEECHECK; WITHOLDINGCHECK : W1ITHOLDINGCHECK; END;{case} END; WRITELN;WRITELN; WRITE(' TOTALS '); REALPRINT(TOTALDEBITS);REALPRINT(TOTALCREDITS); REALPRINT(NEWBALANCE); WRITELN; WRITE(' TOTAL CHECKS ');REALPRINT(TOTALCHECKS);WRITELN; WRITE(' TOTAL DEPOSITS');REALPRINT(TOTALDEPOSITS);END. GETREAL01« (½½ FUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; VAR LEN : INTEGER; FGETREAL,PLACE :REAL; PART : WHOLORFRACT ; BEGIN PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF ORD(STR[I]) IN [9,32] THEN BEGIN I := I+1;GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : BEGIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { WRITELN(' FP');} END END; {case} I := I+1; GETREAL := FGETREAL; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END ELSE EXIT(GETREAL) ELSE EXIT(GETREAL) END;{getreal} 1978EMP10Ó ,f½ E 610 325.46 E 611 1020.87 E 612 922.47 E 613 505.84 E 614 595.69 E 616 258.02 E 618 1053.55 E 619 845.14 E 620 420.35 E 621 548.51 E 622 293.42 E 623 339.16 E 624 374.42 W 626 483.00 E 631 142.22 W 633 2792.12 CONSOLEPA Æxrq PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LENGTH} STR : PACKED ARRAY[1..132] OF CHAR {DATA} END; LINEPOINTER = ^LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR : LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR CHARVALUE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; NBYTES : INTEGER; DONE : BOOLEAN; DISKIN,DISKOUT : INTEGER; {$I RDL.PI} {$I WRL.PI} {$I GCHN.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: LINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := STR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE1(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN := LEN -1; END {DO} END; {DELETE1} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE IF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CARRIAGERETURN; BEGIN INSERT(LINE,INTERNALPOS,CHARACTER); LINE.LEN := INTERNALPOS; END; {INSERT CARRIAGE RETURN AND MAKE LINE LENGTH=CRET POSITION} PROCEDURE DISPLAYLINE; BEGIN PCHAR(10);PCHAR(13); WRITESTRING(LINE); PCHAR(13);PCHAR(10); END; PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE1(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE1(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE GETLINE; BEGIN READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); LINE.LEN := LINE.LEN-1; {IGNORE C RETN} WRITESTRING(LINE); INTERNALPOS := LINE.LEN+1; DISPLAYPOS := CALCDISPLAYPOS(LINE,LINE.LEN); CURLINE := 1; DONE := SYSERROR; END; {GETLINE} PROCEDURE PUTLINE; BEGIN WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; {PUTLINE} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : BEGIN DISPLAYLINE;PUTLINE;GETLINE END; {UP} 11 : ; {CARR RETN} 13 : BEGIN DISPLAYLNE; CARRIAGERèETURN;PUTLINE;GETLINE END; {DELETE} 127 : DELETECHARACTER END;{CASE} END;{ACTION} PROCEDURE OPENFILES; VAR L : LINESTRING; NBYTES,ERRORNUMBER : INTEGER; SYSERROR : BOOLEAN; I : INTEGER; BEGIN WRITELN('INPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,L,SYSERROR,ERRORNUMBER); WRITELN('OUTPUT FILE?'); READLINE(0,L,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(L,SYSERROR,ERRORNUMBER); CRAND(L,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,L,SYSERROR,ERRORNUMBER); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} OPENFILES; REPEAT BEGIN GETLINE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 27 ;{ESC} END UNTIL DONE END. TEDIT áŽqTSSpŽŽT9¾ .½. PROGRAM T9 (INPUT,OUTPUT); TYPE COLOR = (RED,BLUE,GREEN); VAR STRING:CHAR; BEGIN STRING := 'E'; CASE STRING OF 'E' : WRITELN(OUTPUT,' END'); 'S' : WRITELN(OUTPUT,' START'); END; END. BTREE01 Ä 0½ PROGRAM BTREE (INPUT,OUTPUT); (*B-TREE SEARCH,INSERTION AND DELETION*) CONST N = 2; NN = 4; (*PAGE SIZE*) TYPE REF = ^PAGE; ITEM = RECORD KEY : REAL; P : REF; COUNT : INTEGER END ; PAGE = RECORD M : 0..NN; (*NO.OF ITEMS*) P0 : REF; E : ARRAY [1..NN] OF ITEM END; VAR ROOT,Q : REF; X : REAL; H : BOOLEAN; U : ITEM; PROCEDURE SEARCH (X : REAL; A : REF;VAR H : BOOLEAN; VAR V : ITEM); (*SEARCH KEY X ON B-TREE WITH ROOT A; IF FOUND, INCREMENT COUNTER. OTHERWISE INSERT AN ITEM WITH KEY X AND COUNT 1 IN TREE. IF AN ITEM EMERGES TO BE PASSED TO A LOWER LEVEL, THEN ASSIGN IT TO V; H := 'TREE A HAS BECOME HIGHER'*) VAR K,L,R : INTEGER; Q : REF; U : ITEM; PROCEDURE INSERT; VAR I : INTEGER; B : REF; BEGIN (*INSERT U TO THE RIGHT OF A^.E[R]*) WITH A^ DO BEGIN IF M < NN THEN BEGIN M := M+1; H := FALSE; FOR I := M DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END ELSE BEGIN (*PAGE A^ IS FULL;SPLIT IT AND ASSIGN THE EMERGING ITEM TO V*) NEW (B); IF R <= N THEN BEGIN IF R = N THEN V := U ELSE BEGIN V := E[N]; FOR I := N DOWNTO R+2 DO E[I] := E[I-1]; E[R+1] := U END; FOR I := 1 TO N DO B^.E[I] := A^.E[I+N] END ELSE BEGIN (*INSERT U IN RIGHT PAGE*) R := R-N; V := E[N+1]; FOR I := 1 TO R-1 DO B^.E[I] := A^.E[I+N+1]; B^.E[R] := U; FOR I := R+1 TO N DO B^.E[I] := A^.E[I+N] END ; M := N; B^.M := N; B^.P0 := V .P; V .P := B END END (*WITH*) END (*INSERT*); BEGIN (*SEARCH KEY X ON PAGE A^; H = FALSE*) IF A = NIL THEN BEGIN (*ITEM WITH KEY X IS NOT IN TREE*) H := TRUE; WITH V DO BEGIN KEY := X; COUNT := 1; P := NIL END END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; WRITELN(' L',L,' R',R,' K',K,' KEY',E[K].KEY); IF X <= E [K] .KEY THEN R := K-1; IF X >= E [K] .KEY THEN L := K+1; UNTIL R < L; IF L-R > 1 THEN BEGIN (*FOUND*) E[K] .COUNT := E[K] .COUNT + 1; H := FALSE END ELSE BEGIN (*ITEM IS NOT ON THIS PAGE*) IF R = 0 THEN Q := P0 ELSE Q := E[R] .P; SEARCH (X,Q,H,U); IF H THEN INSERT END END END (*SEARCH*); PROCEDURE DELETE(X : REAL; A : REF; VAR H : BOOLEAN); (*SEARCH AND DELETE KEY X IN B-TREE A; IF A PAGE UNDERFLOW IS NECESSARY, BALANCE WITH ADJACENT PAGE IF POSSIBLE, OTHERWISE MERGE; H := 'PAGE A IS UNDERSIZE'*) VAR I,K,L,R : INTEGER; Q : REF; PROCEDURE UNDERFLOW(C,A : REF; S : INTEGER; VAR H : BOOLEAN); (*A = UNDERFLOW PAGE, C = ANCESTOR PAGE*) VAR B : REF; I,K,M5B,MC : INTEGER; BEGIN MC := C^.M; (*H = TRUE, A .M = N-1*) IF S < MC THEN BEGIN (*B := PAGE TO THE RIGHT OF A*) S := S+1; B := C^.E[S].P; MB := B^.M; K := (MB-N+1) DIV 2; (*K = NO. OF ITEMS AVAILABLE ON ADJACENT PAGE B*) A^.E[N] := C^.E[S]; A^.E[N] .P := B^.P0; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM B TO A*) FOR I := 1 TO K-1 DO A^.E[I+N] := B^.E[I]; C^.E[S] := B^.E[K]; C^.E[S] .P := B; B^.P0 := B^.E[K] .P; MB := MB-K; FOR I := 1 TO MB DO B^.E[I] := B^.E[I+K]; B^.M := MB; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) FOR I := 1 TO N DO A^.E[I+N] := B^.E[I]; FOR I := S TO MC-1 DO C^.E[I] := C^.E[I+1]; A^.M := NN; C^.M := MC-1; (*DISPOSE(B)*) END END ELSE BEGIN (*B := PAGE TO THE LEFT OF A*) IF S = 1 THEN B := C^.P0 ELSE B := C^.E[S-1] .P; MB := B^.M + 1; K := (MB-N) DIV 2; IF K > 0 THEN BEGIN (*MOVE K ITEMS FROM PAGE B TO A*) FOR I := N-1 DOWNTO 1 DO A^.E[I+K] := A^.E[I]; A^.E[K] := C^.E[S]; A^.E[K] .P := A^.P0; MB := MB-K; FOR I := K-1 DOWNTO 1 DO A^.E[I] := B^.E[I+MB]; A^.P0 := B^.E[MB] .P; C^.E[S] := B^.E[MB]; C^.E[S] .P := A; B^.M := MB-1; A^.M := N-1+K; H := FALSE END ELSE BEGIN (*MERGE PAGES A AND B*) B^.E[MB] := C^.E[S]; B^.E[MB] .P := A^.P0; FOR I := 1 TO N-1 DO B^.E[I+MB] := A^.E[I]; B^.M := NN; C^.M := MC-1; (*DISPOSE(A)*) END END END (*UNDERFLOW*) ; PROCEDURE DEL(P : REF; VAR H : BOOLEAN); VAR Q : REF; (*GLOBAL A,K*) BEGIN WITH P^ DO BEGIN Q := E[M] .P; IF Q <> NIL THEN BEGIN DEL(Q,H); IF H THEN UNDERFLOW(P,Q,M,H) END ELSE BEGIN P^.E[M] .P := A^.E[K] .P; A^.E[K] := P^.E[M]; M := M-1; H := M < N END END END (*DEL*); BEGIN (*DELETE*) IF A = NIL THEN BEGIN WRITELN ('KEY IS NOT IN TR','EE'); H := FALSE END ELSE WITH A^ DO BEGIN L := 1; R := M; (*BINARY ARRAY SEARCH*) REPEAT K := (L+R) DIV 2; IF X <= E[K].KEY THEN R := K-1; IF X >= E[K].KEY THEN L := K+1; UNTIL L > R; IF R=0 THEN Q := P0 ELSE Q := E[R] .P ; IF L-R > 1 THEN BEGIN (*FOUND, NOW DELETE E[K]*) IF Q = NIL THEN BEGIN (*A IS A TERMINAL PAGE*) M := M-1; H := M NIL THEN WITH P^ DO BEGIN FOR I := 1 TO L DO WRITE (' '); FOR I := 1 TO M DO WRITE(E[I].KEY); WRITELN; PRINTTREE(P0,L+1); FOR I := 1 TO M DO PRINTTREE(E[I] .P, L+1) END END ; BEGIN ROOT := NIL; READ(X); WHILE X <> 0 DO BEGIN WRITELN('SEARCH KEY',X); SEARCH(X,ROOT,H,U); IF H THEN BEGIN (*INSERT NEW BASE PAGE*) Q := ROOT; NEW(ROOT); WITH ROOT^ DO BEGIN M := 1; P0 := Q; E[1] := U END END ; PRINTTREE(ROOT,1); READ(X) END ; READ(X); WHILE X <> 0 DO BEGIN WRITELN('DELETE KEY', X); DELETE(X,ROOT,H); IF H THEN BEGIN (*BASE PAGE SIZE WAS REDUCED*) IF ROOT^.M = 0 THEN BEGIN Q := ROOT; ROOT := Q^.P0; (*DISP0SE(Q)*) END END ; PRINTTREE(ROOT,1); READ(X) END END . 1978EMP11» <f½ "E 660 484.10 W 662 2276.24 E 650 981.35 E 651 992.28 E 652 327.45 E 653 384.95 E 641 1081.13 E 642 1042.43 E 643 490.20 E 644 516.116 E 646 326.75 W 647 2424.72 W 648 393.57 W 649 251.13 GPOSPI¥ ŽŽ:PROCEDURE GPOS (RDOSCHANNEL : INTEGER;VAR FILEPOS : DPINTEGER); CONST DOTGPOS = 10303; {.GPOS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTGPOS; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN GCHN = ',R2.oINT); FILEPOS.UPPER := R0.INT; FILEPOS.LOWER := R1.INT; END; RELEASE(HEAP); END; {GPOS} RLDROLRLDROLPASCFLS~Ï£m PASCFLS,^ P4COMPILER.,^ P4ASM.SV,^ P4MAC.SV,^ P4LIB.LB,^ PCMESSAGE.ER,^ P4CUE.RB,^ P4ERRSUM.SV,^ PASCAL.SV,^ PCODE.SV^ TMCf @޽ 8CHATR TEST.PX 0 DELETE/V TEST.PA XFER TEST TEST.PA/R PASINTERP PASCALO/S/V/A/L TEST CHATR TEST.PX *WP REALPRINTPX B½½ ;GETREALPIf D޽ "FUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; {STR : STRING[99] = INPUT LINE I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} LABEL 1,2; TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; SIGNOF = (PLUS,MINUS); VAR LEN : INTEGER; FGETREAL,PLACE :REAL; PART : WHOLORFRACT ; SIGN : SIGNOF; BEGIN SIGN := PLUS; PART := WHOLE;{assume while part first} FGETREAL := 0; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} IF NOT (STR[I] IN ['0'..'9','-','.']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN CASE PART OF WHOLE : BEGIN FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); { REALPRINT(FGETREAL);} { WRITELN(' WHOLE');} END; FRACTIONAL : BEGIN FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; PLACE := PLACE*10; { REALPRINT(FGETREAL);} { WRITELN(' FP');} END END; {case} I := I+1; GOTO 2 END ELSE IF STR[I] = '.' THEN BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; { WRITE(' FRACTION.');} GOTO 2; END ELSE IF STR[I] = ',' THEN BEGIN I := I+1;GOTO 2 END; CASE SIGN OF PLUS : GETREAL := FGETREAL; MINUS : GETREAL := -FGETREAL; END;{case} END;{getreal} TOTALPXŽŽ  TOTAL Copyright (C) 1981 Rational Data Systems½ ( ÆÚªcÌ=Ì<Æ:нÆ¾Ì7ÛøÊ7È¡ìÆÛø›¾³ÿ`‹“¡ ÛÛø‚š¹ö¹îÆÛø›¾-á ÛÛø‚šÌ=¹ö¹ðÛøÊ7È¡òÆÛø›¾³Ïÿ‹¡VÊ<¹<Æ:Æ:¼ Š�0Š–ÆÛø›¾Šƒ½¹0Æ:Æ:¼ÆÛø›¾0•Æ8¼‰‡ƒ½Æ8Æ8¼ Š�½¹ ¬¹D.ÛÛø‚š¹ô¹/ÆÛø›¾.áÌ<ÛÛø‚šÆ8 н¹ô¹ÆÛø›¾,áÛÛø‚š¹ôÊ=¹ÆÆ:¼½¹ÆÆ:¼’½¹ ¬¹­')+-Ð9.²¼¶ž$‡žÌ²²¼ضž$‰�–½²¶›Ø0‚Çÿˆ¿¶‚¸¶öÃ�¡²¶›,¿¶‚¸­`²¼¶ž$�žÌ²²¼ضž$‰‡–½²¶›Ø0‚Çÿˆ¿¶‚¸­BƼа¡Ì¹ ÆÆ¼’½ÌÆÆ¼³?zჽƦ ªÌÝ•ÌÝÃÝž$Ƽ´�¡öÝ••݆•ÌÊáÆÛ•›-¿Ý®®Ä¡Ê̹ܕÌÖÎÜÊáôÆÛ›.¿Û‚Ì®®È¡Ê̹ÜÐÌÖÎÜÊáòÖØ®ÆÏ­C� ÌÆÙªcÌ6Ì8ƾÌ7ÚøÊ7È¡5ÆÚø›¾³ÿ ‹“¡ ÚÚø‚š¹ö¹ÆÚø›¾-á ÚÚø‚šÌ8¹öÆÚø›¾³ÿ‹¡Ê6 �0•ÆÚø›¾‚Ì6ÚÚø‚šÚøÊ7È¡¹ôÊ8¹ Ê6̹Ê6‘̹ ¬¹­PŽ5 ¦ÖÆ�¿Æ�ýÏÖÆ�¿¦OUTPUTÏÖÆ�=Æ�{ÏÖÆ�=¦INPUTÏÖÆ9ÆwÏÖÆ9¦OUTFILEÏÖÆ€»Æ€ùÏÖÆ€»¦INFILEÏÖÏÖÆ�=ÏÖÆ�¿ÏÖ¦ INPUT FILE NAME? ¥�¿®‚AÒÏÖ¥Ö¥�=®‚AÏÊ‚AÒcÏÖÊ‚AÏÖ¥€»¥ÏÖ¥€»ÏÖ¦ OUTPUT FILE NAME? ¥�¿®‚AÒÏÖ¥Ö¥�=®‚AÏÊ‚AÒcÏÖÊ‚AÏÖ¥9¥ÏÖ¥9Ï¥5³½Ö¥€»Ï “¡EÖ¥€»®‚AÏÖÊ‚A¥cÏÖÊ‚AÏ«8¥3Ö¥¥8ν¥5¥5¼¥3¼ƒ½Ö¥9¥3¼ÎÖ¥9ϹöÖ¥9®‚A¦ ÏÖ¥9¥5¼ÎÖ¥9ÏÖÆ�¿ÏÖÆ�=ÏÖÆ9ÏÖÆ€»Ï­�A#¢¨$lXÔ WRITELINE01¬ü½½ PROCEDURE WRITELINE( VAR OUTPUTFILE : TEXT;LINE : LINESTRING); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN FOR I := 1 TO LEN DO WRITE(OUTPUTFILE,STR[I]); END;{WITH} END; OPENPIRŽr PROCEDURE OPEN(RDOSCHANNEL : INTEGER;FILENAME : LINESTRING ;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTOPEN =6207; {.OPEN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTOPEN; R0.LPTR := FILEPTR; R0.INT := R0.INT+2; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN OPEN = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {OPEN} 1979DEPS0øŽŽ&D 1567 D 2945 D 7000 D 2500 D 6590 D 700 D 1575 D 3195 D 3144.56 D 2556 D 2000 D 7097 D 2000 D 892.50 D 1885 D 1995 D 24676.36 D 1708.14 D 1377.50 D 3232.50 D 14386.25 D 527.50 D 4462 D 8907.50 D 611.53 D 15954.41 D 1278.47 D 600 D 210 D 1558.65 D 4302.50 D 418.50 D 430 D 3475 D 1240 D 3000 D 7202.98 D 4310 D 3682.78 D 618 D 552.50 D 2675 D 8750 D 1800 D 1547.28 D 1030 D 2320.45 D 3314.44 D 4439 D 2039.96 D 2747.24 D 2197.25 D 5527.98 D 15000 D 832.50 D 6471.12 D 12653.22 D 1890 D 808.23 D 660 D 2500 D 2448.33 D 7430.13 D 3561.07 D 440 D 1029.72 D 16000  DATATX bss C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 1 1 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 2 2 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 3 3 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 4 4 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 C 1000 1.00 5 5 SPOSPI ŽŽ:PROCEDURE SPOS( RDOSCHANNEL : INTEGER; FILEPOS : DPINTEGER); CONST DOTSPOS = 10047; {.SPOS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTSPOS; R0.INT := FILEPOS.UPPER; R1.INT := FILEPOS.LOWER; R2.INT := RDOSCHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN SPOS = ',R2.INT); END; RELEASE(HEAP); END; {SPOS} PASCALPXjÑb? FÆ œÔ6ž/”COMPILEROPSYSINICOMPINITSHOWERROCOMPFINIDECSEGMEBODSEGME Copyright (C) 1980 Rational Data Systems¼ )' RÆž Æ žÜÌÝÌÝ¢ šÝ¢ٚݢÇ€žÝ¢Ý£ ‚šÞšÞ¢‘Çÿ• ‚šÜž#Þù¡Ì¹Ìݢݣ •šÝ£ ÂÞû¿ÚÝ£ ª@Æž!­lÖ¥„óÏÖ¥„ó®¦&PX PASCAL[O][switches] sourcefile[.PA]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/A analysis to @OUTPUTÏÖØÏÖ¥„ó®¦/A=afile analysis to afileÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦/E=efile errors to efileÏÖØÏÖ¥„ó®¦/L listing to @LISTÏÖØÏÖ¥„ó®¦/L=lfile listing to lfileÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦"/V verbosity to @OUTPUTÏÖØÏÖ¥„óÏ­>Æž ÆžÚÌÛšÛ¢šÛ¢‘šÛ¢NšÚž#ÛüÌÆž!­2ئ abcdefghiª@ƤƤƤž ®®È¡4ß̹ÝÐÌØÝ�‚Â0Æݤø † Ž‚¿ØÝ�‚Â0Æݤø Ž‚¿ÝÞáöØÂ.¿ØÂ_¿ØÂ_¿ÖÎÌØÌÖÆ¦?pidÏÖÆØDÏÖÆ¦.TMPHÏÆª@ØÂ0Üd† Ž‚¿ØÂ0Ü † Ž‚¿ØÂ0Ü Ž‚¿­�* ÂÆÚª@ÖÆÎÆ&ž Æ( žÊ(Ì)Ê)Ì*Ê)¢ šÊ)¢ÙšÊ)¢Ç€žÊ)£ÆªÿÊ)£Æ¾‚¿Ê)¢Ê)£‚šÊ)¢Ç€žÊ)¢Ê)£ ‚šÊ*šÊ*¢‘Çÿ• ‚šÊ(ž#Ê*ù¡Ì¹<Ê*ûÌ'Ê'‘á̹ÌÊ)¢Ê)£ •šÊ)£ ÂÊ'¿Ê'Å¡ ÛÊ)£ ª@¹Û¦ª@Æ&ž!­&Ê «‚V«‚W¥„ƦAOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®i®hÈ¡ÊiÌC¹ÊCÐÌC¥„¿ÊC¤ šÊCÊháöÖ¥‚ÕΓ¡ ÖÎ ž¹¥‚Õ?¯¡ÖÎ žÖ¦NÆÎ“«‚,Ö¦SÆÎ“«‚0Ö¦CÆÎ«‚6‚ÌFÖÊFÆGΡ1ÆG¾á"ÆG¾³ÿ‹¡¥‚öÆG¾0•¤šÊF‚ÌF¹ôÖ¦AÆÎ¡WƦ¯¡ ÌE¹ ÌEÖ¥…uÆÏÖ¥…uÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháòÖ¦LÆ"ΡSÆ"¦¯¡ Æ"¦@LISTª@Ö¥…÷Æ"ÏÖ¥…÷Ï®i®hÈ¡(ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øœ šÊDÊháðÖ¦EÆÎ¡_Ʀ·¡WÆÆ"¯¡ ÌE¹ ÌEÖ¥†yÆÏÖ¥†yÏ®i®hÈ¡)ÊiÌD¹ÊDÐÌD¥„¿ÊD¤¥„¿ÊD¤øÊEœ šÊDÊháîÖ¦VÆÎ¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤ø¯¡ ¥„¿¤ šÖ¥‚ÕÎ¥‚վš0Ö¥‚ÕÆh¥‚Õ¾•ÏÆh¦.PA¯¡¥‚ÕÖ¥‚ÕÆh¥‚Õ¾•ÏÆhª@¥‚ÕÌhÖÆh¥‚Õ@ÏÖÆh¦.PACÏÆhª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´ÎÖ¥†û¥‚´ÏÖ¥†ûÏ­ ŒîkÕ‰ئ abcdefghiª@ƤƤƤž ®®È¡4Þ̹ÜÐÌØÜ�‚Â0Æܤø † Ž‚¿ØÜ�‚Â0Æܤø Ž‚¿ÜÝáöØÂ$¿ØÂ$¿ØÂ$¿ØÌÖÆØ@ÏÖÆ¦.WKCÏÆª@¶¡ØÌÖÆ¦FÏÖÆØAÏÆª@¹ØÌÖÆ¦BÏÖÆØAÏÆª@­‘&Æ Ö¥„óÏÖ¥„ó®¦0PX PASCAL[O][switches] sourcefile[.PA] [options]ÏÖØÏÖ¥„óÏÖ¥„ó®¦switch meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦!/C conform to standardÏÖØÏÖ¥„ó®¦&/L listing to sourcefile.LSÏÖØÏÖ¥„ó®¦!/N no codefile createdÏÖØÏÖ¥„ó®¦"/S swap compiler phasesÏÖØÏÖ¥„ó®¦%/V verbosity to $TTO/$TTO1ÏÖØÏÖ¥„óÏÖ¥„ó®¦option meaningÏÖØÏÖ¥„ó®¦------ -------ÏÖØÏÖ¥„ó®¦afile/A analysis to afileÏÖØÏÖ¥„ó®¦efile/E errors to efileÏÖØÏÖ¥„ó®¦lfile/L listing to lfileÏÖØÏÖ¥„óÏ­p Æž ÆžÚÌÛšÛ¢Ç%"šÚž#Ûù¡¹ÛüÅÌÆž!­2 ÌÌA®Z®È¡,Þ̹ÜÐ̲rÙ•¤ÜA•Àº¡ Û¡¹¹ÌÚÜšÜÝáöÛÌ­,H ÆتÿÖ¥„óÏÖ¥„󮀂ÆÏÖÊ€‚ÏÖ¥„󮀂ÏÖÊ€‚Ï ž­�:ÆتÿÖ¥…÷ÆÏÖ¥…÷Ï®€„®€ƒÈ¡0Ê€„Ì€‚¹Ê€‚ÐÌ€‚¥„¿Ê€‚¤¥„¿Ê€‚¤øœ šÊ€‚Ê€ƒÃ¡ö­+ƒ Z «‚V«‚W¥„ƦRDOSª¥„½§‚V—Çœ ½«‚P«‚0«‚-®®È¡Ú̹ØÐÌ¥„¿Ø¤ šØÙáö² •¤•¤Aš² •¤•¤Hš² •¤•¤Iš² •¤•¤Pš² •¤•¤Qš² •¤•¤Xš² •¤•¤Yš² •¤•¤Zš¶¡Ö²€â¦FCOM.CMϹֲ€â¦COM.CMÏÖ²€âϸ²~¤²� øš²~¶�¾Çÿ˲~¶�‚¾ÇÿË„¡F¶‚¸¶cÅ¡ Ö¦(F)COM.CM file is too long.ÎÖ²€âϲ~¶¤²� øš¹ô­j5 z¸¸¶‚¸¸²~¶¾ˡ)¶‚¸²¶•¤¶²~¶¾¿¶‚¸¹ö¶‚¸²¶•¤¶¿®®È¡yÛ̹ØÐ̲~¶¾¸¶‚¸¸² Ø•¤•¤ø®² Ø•¤•¤ø®È¡1Ü̹ÙÐ̶•¸²r¶•¤ÙA•À²¶Àº»ÙÛáôØÚáò²~¶¾Çÿáð¶É¡ ÖÎ ž¹²•¤?¯¡ÖÎ ž¥‚Õ²•¤ª@Ö¥‚ÕÎ¥‚վš0Ö¥‚ÕÆ¥‚Õ¾•ÏÆ¦.PA¯¡¥‚ÕÖ¥‚ÕÆ¥‚Õ¾•ÏÆª@­Zõ´T#p‚®¶®È¡èÛ̹ØÐÌÖØ²Î “¡=²Ø•¤¾á.²Ø•¤¾³ÿ‹¡¥‚ö²Ø•¤¾0•¤š¹ì¶³"‹“¡Ö¦Invalid local switch.ιòÖ¥…u²Ø•¤ÏÖ¥…uÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáö¹ðÖ¥†y²Ø•¤ÏÖ¥†yÏ®®È¡"Ü̹ÙÐÌ¥„¿Ù¤¥„¿Ù¤øœ šÙÛáô¹Z²r•¤LA•Àº¡Ö¦Duplicate listing files.Îֲؕ¤Î¹¬AL¹ÆŒ XØÚáê­j 1�Ñ�²r•¤LA•Àº¡ÖÌÖÆ¥‚Õ@ÏÖÆ¦.LSCÏÆÎ²r•¤NA•Àº“«‚,²r•¤SA•Àº“«‚0²r•¤CA•Àº«‚6²r•¤VA•Àº¡P¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š¥„¿¤¥„¿¤øœ š­"ÎÖÆ€âÆ� ÏÖÆ€â¦CLIFILEÏÖÎ ÌÖÎÖÎÖÎÖÎ¥„¿¤ø¯¡ ¥„¿¤ š¥‚ÕÌ�!ÖÆ�!¥‚Õ@ÏÖÆ�!¦.PACÏÆ�!ª@Ö¥‰w¥‚ÕÏÖ¥‰wϧ‚,¡Ö¥‚´Î Ö¥†û¥‚´ÏÖ¥†ûÏÖÆ€âÏ­B   0ÌÙø ŽÌ­®ؾ®È¡3Û̹ÙÐÌØÙ¾³ÿÿþ‹¡ ØÙÂØÙ¾ •¿ÙÚáö­1 H®$ ®#È¡Ê$̹ØÐÌ¥‚öؤšØÊ#áöÖΫ‚<§‚<‹¡§‚<¹ ÖÎ ¹Öι ¬¹¹2Ö¥„ó®#ÏÖÊ#¦Wrong operating system.ÏÖÊ#Ï ž­q$ˆÚ–jvöV–ä ’~PN’ j²(‘Ì¥�AA•¤Ø‚šØ‚Ì¥�4ؤ¦AND ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦ARRAY ÐÑ¥�4ؤ¢,š¥�4ؤ¢ š¥�BA•¤Ø‚šØ‚Ì¥�4ؤ¦BEGIN ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�CA•¤Ø‚šØ‚Ì¥�4ؤ¦CASE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦CONST ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�DA•¤Ø‚šØ‚Ì¥�4ؤ¦DIV ÐÑ¥�4ؤ¢'š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦DOWNTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�EA•¤Ø‚šØ‚Ì¥�4ؤ¦ELSE ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦END ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�FA•¤Ø‚šØ‚Ì¥�4ؤ¦FILE ÐÑ¥�4ؤ¢.š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FOR ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦FUNCTIONÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�GA•¤Ø‚šØ‚Ì¥�4ؤ¦GOTO ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�HA•¤Ø‚š¥�IA•¤Ø‚šØ‚Ì¥�4ؤ¦IF ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦IN ÐÑ¥�4ؤ¢)š¥�4ؤ¢ š¥�JA•¤Ø‚š¥�KA•¤Ø‚š¥�LA•¤Ø‚šØ‚Ì¥�4ؤ¦LABEL ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�MA•¤Ø‚šØ‚Ì¥�4ؤ¦MOD ÐÑ¥�4ؤ¢'š¥�4ؤ¢ š¥�NA•¤Ø‚šØ‚Ì¥�4ؤ¦NOT ÐÑ¥�4ؤ¢&š¥�4ؤ¢ š¥�OA•¤Ø‚šØ‚Ì¥�4ؤ¦OF ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦OR ÐÑ¥�4ؤ¢(š¥�4ؤ¢ š¥�PA•¤Ø‚šØ‚Ì¥�4ؤ¦PACKED ÐÑ¥�4ؤ¢+š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROCEDURÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦PROGRAM ÐÑ¥�4ؤ¢!š¥�4ؤ¢ š¥�QA•¤Ø‚š¥�RA•¤Ø‚šØ‚Ì¥�4ؤ¦RECORD ÐÑ¥�4ؤ¢-š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦REPEAT ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�SA•¤Ø‚š§‚6“¡,؂̥�4ؤ¦SEGMENT ÐÑ¥�4ؤ¢0š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦SET ÐÑ¥�4ؤ¢*š¥�4ؤ¢ š§‚6“¡,؂̥�4ؤ¦STRING ÐÑ¥�4ؤ¢3š¥�4ؤ¢ š¥�TA•¤Ø‚šØ‚Ì¥�4ؤ¦THEN ÐÑ¥�4ؤ¢ š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TO ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦TYPE ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�UA•¤Ø‚šØ‚Ì¥�4ؤ¦UNTIL ÐÑ¥�4ؤ¢ š¥�4ؤ¢ š¥�VA•¤Ø‚šØ‚Ì¥�4ؤ¦VAR ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�WA•¤Ø‚šØ‚Ì¥�4ؤ¦WHILE ÐÑ¥�4ؤ¢š¥�4ؤ¢ šØ‚Ì¥�4ؤ¦WITH ÐÑ¥�4ؤ¢š¥�4ؤ¢ š¥�XA•¤Ø‚š¥�YA•¤Ø‚š¥�ZA•¤Ø‚š¥�Z‚A•¤Ø‚š­Ž¥‚ež§‚eÌØšØ¢šØ¢š¥‚dž§‚dÌØšØ¢šØ¢š¥‚cž§‚cÌØšØ¢šØ¢š¥‚bž§‚bÌØšØ¢šØ¢šØ¢š¥‚`ž§‚`ÌØšØ¢šØ¢Ÿš¥‚až§‚aÌØ>‚C‚šØ¢šØ¢§‚cš¥‚_ ž§‚_ÌØ¢šØšØ¢šØ¢šØ¢§‚e𨢠𨢠𨢧‚cšØ¢š­ÞÆ žÙÌÛ¦INTEGER ÐÑÛ¢ §‚ešÛ¢šÖÙÓÆ žÙÌÛ¦REAL ÐÑÛ¢ §‚dšÛ¢šÖÙÓÆ žÙÌÛ¦CHAR ÐÑÛ¢ §‚cšÛ¢šÖÙÓÆ žÙÌÛ¦BOOLEAN ÐÑÛ¢ §‚bšÛ¢šÖÙÓÆ žÙÌÛ¦TEXT ÐÑÛ¢ §‚ašÛ¢šÖÙÓÆ žÙÌÛ¢šÛ¦MAXINT ÐÑÛ¢ÇÿšÛ¢ §‚ešÖÙÓŸÌ®®È¡VÜ̹ÚÐÌÆ žÙÌÜ¢ §‚bšÚáܦFALSE ÐѹܦTRUE ÐÑÜ¢ؚܢښܢšÖÙÓÙÌÚÛáö§‚b¢ÙšÆ žÙÌÛ¦NIL ÐÑÛ¢ §‚`šÛ¢ŸšÛ¢šÛ¢šÖÙÓ­ŠŽ¥‚m ž§‚mÌئ ÐÑØ¢ ŸšØ¢š¥‚l ž§‚lÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚k ž§‚kÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢šØ¢š¥‚j ž§‚jÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢šØ¢š¥‚iž§‚iÌئ ÐÑØ¢ ŸšØ¢šØ¢ŸšØ¢ šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š¥‚hž§‚hÌئ ÐÑØ¢ ŸšØ¢ŸšØ¢𨢠šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢šØ¢š­XÆ€¨³ ` ½§‚6¡Æ€¨Æ€¨¼³1Ÿÿàœ ½Æ•¤¦READ ÐÑÆ•¤¦READLN ÐÑÆ•¤¦WRITE ÐÑÆ•¤¦WRITELN ÐÑÆ•¤¦EOF ÐÑÆ•¤¦EOLN ÐÑÆ•¤¦PRED ÐÑÆ•¤¦SUCC ÐÑÆ •¤¦ORD ÐÑÆ •¤¦SQR ÐÑÆ •¤¦ABS ÐÑÆ •¤¦NEW ÐÑÆ •¤¦FILETITLÐÑÆ•¤¦PURGE ÐÑÆ•¤¦CONCAT ÐÑÆ•¤¦LENGTH ÐÑÆ•¤¦DATE ÐÑÆ•¤¦EOLCHAR ÐÑÆ•¤¦SUBSTR ÐÑÆ•¤¦INDEX ÐÑÆ•¤¦MOVELEFTÐÑÆ•¤¦MOVERIGHÐÑÆ•¤¦EXIT ÐÑÆ•¤¦IDSEARCHÐÑÆ•¤¦TREESEARÐÑÆ•¤¦TIME ÐÑÆ•¤¦FILLCHARÐÑÆ•¤¦APPEND ÐÑÆ•¤¦REWRITE ÐÑÆ•¤¦PAGE ÐÑÆ•¤¦CLOSE ÐÑÆ •¤¦SEEK ÐÑÆ!•¤¦RESET ÐÑÆ"•¤¦GET ÐÑÆ#•¤¦PUT ÐÑÆ$•¤¦SCAN ÐÑÆ%•¤¦SIZEOF ÐÑÆ&•¤¦PACK ÐÑÆ'•¤¦UNPACK ÐÑÆ(•¤¦ODD ÐÑÆ)•¤¦CHR ÐÑ®€¬)®€«È¡}Ê€¬Ì¹ÙÐÌÙ³0�à‹ÌÙÆ€¨¼‹“¡RÚ¡Æ ž¹Æ žØÌ€¬Ê€¬ÆÙ•¤ÑÊ€¬¢ŸšÊ€¬¢ ŸšÚ¡ Ê€¬¢š¹Ê€¬¢šÊ€¬¢šÊ€¬¢ÙšÖØÓÙÊ€«Ã¡ö­x¬ôÆ•¤¦PWROFTENÐÑÆ?•¤$𯕤¦MEMAVAILÐÑÆ?•¤šÆ•¤¦ROUND ÐÑÆ?•¤šÆ•¤¦TRUNC ÐÑÆ?•¤šÆ•¤¦SIN ÐÑÆ?•¤šÆ•¤¦COS ÐÑÆ?•¤šÆ•¤¦LOG ÐÑÆ?•¤šÆ•¤¦ARCTAN ÐÑÆ?•¤šÆ •¤¦LN ÐÑÆ? •¤šÆ •¤¦EXP ÐÑÆ? •¤šÆ •¤¦SQRT ÐÑÆ? •¤šÆ •¤¦MARK ÐÑÆ? •¤ 再¤¦RELEASE ÐÑÆ? •¤!𯕤¦SYSCALL ÐÑÆ?•¤#š§‚6¡ džp ÌM¹ ÌMÌ®O®NÈ¡ðÊO̹ÜÐÌܹöÆ žØÌOÊO¢ §‚ešÊO¢š§‚d̹ôŸÌ§‚e̹~Æ žØÌOÊO¢ §‚dšÊO¢š§‚e̹a§‚d̹ZÆ žØÌOÊO¢ §‚`šÊO¢šÌŸÌ¹<Æ žØÌOÊO¢ §‚`šÊO¢š¹$¬¹‰nfM T:ÜÊM‹“¡[Ý¡Æ ž¹Æ žÙÌOÊOÆÜ•¤ÑÊO¢šÊO¢Æ?Ü•¤øšÝ¡ÊO¢š¹ÊO¢šØŸË¡Ø¢ŸšÊO¢ ÚšÊO¢ØšÖÙÓÜÊNáò­p–Oâ«‚8«‚[«‚Y«‚s«‚5«‚4«‚3«‚2Ÿ«‚f«‚U«‚T«‚S«‚1««‚QÇÿ«‚OÇÿ«‚NŸ«„Å«„W«‚G«‚r«‚q«‚F«‚E«‚.«‚D«‚A««‚?«‚>«‚=«‚+«‚*ÌÆ¾ë‚9ÆÂ¿ÆÂ0§‚;Ç膂¿ÆÂ0§‚;d† Ž‚¿ÆÂ0§‚; † Ž‚¿ÆÂ0§‚; Ž‚¿®®È¡.Þ̹ÜÐÌ¥ƒ÷ܤÌÞ¢šÞšÞ¢¦ ÐÑÜÝáö¥‚pÇ‚ž¥„ÊÌÖÆ¦Copyright (C) ÏÖÆÆÏÖÆ¦ Rational Data Systems(ÏÆªP­y^¥ƒ³4 ½¥ƒ¥ƒ¼œ ½¥ƒ³|¥ƒ¼œ ½¥ƒ³t ½¥ƒ³ø ½¥ƒ ³€ ½¥ƒ³t€ ½¥ƒ³ø ½¥‚  ½ ­  Ú•ÌÚÉ¡ Ú ‚ÌÙ•ÌÙd†ÌÙdŽÌÚ�• †Û‚قن‚܆‚Ü�•ŽÌ­B ÖØ®¦'Rational Data Systems Pascal Compiler [ÏÖØ®¦release ÏÖÙ¥„ÆÏÖÙ.ÏÖÙÏ ÖÙ.Ï É¡ÖØ®0ÏÖØ® Ï ¡ÖØ®¦ , overlaidÏÖØ®]ÏÖÙÏ­š ÖØÏÖØ®¦line seg procÏÖÙÏÖØ®¦==== === ====ÏÖÙϧ‚gÌÖØ®§‚A‚Ï ÖÚ:ÏÖÚÙ£ Ï ÖÚÙ£ Ï ÖÚ ÏÖÚ¥‚tÏÖÚÏ­| Æت¶“¡ Ö¶® ,ϸֶ® ¦ /ÏÖÊ ÆÏ­ 6ÖØ®"ÏÖÛ¥‚ÕÏÖÛ"ÏÖÛ¦ compiled on ÏÖÛ²ÏÖÛ ÏÖÛ§‚XÏ ÖÛ ÏÖÛ² ÏÖÛ ÏÖÛ§‚;Ï ÖÛ¦ at ϧ‚R š֨®§‚RÏ ÖÛ:Ï¹ÖØ®§‚RÏ ÖÛ:ϧ‚I š֨®§‚IÏ ÖÛ:Ï¹ÖØ®0ÏÖÛ§‚IÏ ÖÛ:ϧ‚@ Å¡ ÖØ®§‚@Ï ¹ÖØ®0ÏÖÛ§‚@Ï ÖØÏ̧‚-§‚6‚§‚,“‚§‚0“‚ÌÚÅ¡öÖØ® ¥‚Õ¾‚ÏÖÛ¦using the optionÏÚš֨®sϧ‚-¡ Ö¦ByteswapΧ‚6¡Ö¦ ConformanceΧ‚,“¡ Ö¦NocodeΧ‚0“¡ Ö¦SwappingÎÖØ®.ÏÖÛÏÖØÏ­ ˜ Ö§‚;§‚H§‚XÎ ¹q²¦Sundayª¹x²¦Mondayª¹i²¦Tuesdayª¹Y²¦ Wednesdayª¹G²¦Thursdayª¹6²¦Fridayª¹'²¦Saturdayª¹¬¹yl_QA2%§‚H¹ö² ¦Januaryª¹ô² ¦Februaryª¹ô² ¦Marchª¹ô² ¦Aprilª¹ô² ¦Mayª¹ô² ¦Juneª¹² ¦Julyª¹r² ¦Augustª¹c² ¦ Septemberª¹Q² ¦Octoberª¹A² ¦Novemberª¹0² ¦Decemberª¹¬ ¹½¯ ”ˆ~sh[K=.¥„¿¤ø‹¡1Ö¥…÷Î Ö¥…÷Î Ö¥…÷®¦ line seg proc off nstÏÖØÏ¥„¿¤ø‹¡ Ö¥…uÎ Ö¥…uÎ ¥„¿¤ø‹¡Ö¥„óÏÖ¥„óÏÖ¥„óÎ Ö¥„óÎ ¥„¿¤ø‹¡ Ö¥†yÎ Ö¥†yÎ ­”µ Ç&‚«‚]Ç «‚K¥‚;¥‚H¥‚Xž%¥‚R¥‚I¥‚@ž ÖΧ‚,¡Ö¥†ûÏ«‚ZÖÎÖÎÖÎ «‚n«¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š«‚B«‚CÖÓÖÓÖÎÖÎÖÎÖÎÖΫ¥ƒ ¤ÌÊ¢šÊŸšÊ¢ŸšÊ¢ŸšÊ¢š¥‚gž§‚gÌÊ¢ŸšÊ¢êšÊ¦PROGRAM ÐÑÊ¢ ŸšÊ¢šÊ¢šÊ¢šÊ¢šÊ¢íšÊ¢šÊ¢šÊ¢ š¥‚x¦ declarationsª ï!áwÖÓï᥂t¥Ñ¥ƒ÷í¤¢¥Ñ¹ÖÓÖÓïá>ÖÓïá"ƞʢ¥Ñʧ„Śʫ„ÅÖÓïË«¹«ì¡öïáÖÓ¹Ö)ÓïáÖÓ¹ÖaÓ¹F§‚6¡ÖÓ¹;«‚3«‚s«‚r«¥ƒ÷í¤ÌÊ¢šÊšÊ¢¦EXTERNALÐÑ¥‚tʢѥ„¿¤ø‹¡Ö¥„óÎ ¥„¿¤ø‹¡Ö¥…uÎ Æž ¥‚o ž§‚oÌÊ¢ŸšÊ¢šÊ§‚gšÊ¢ êšÊ¢§‚nšÊ¢éšÊ¢§‚sšÊ¢šÊ¢ Êš­ X^tLÎn¶\ À ¨¢”xÖØÏÖØÏÖØ®¦Error Message SummaryÏÖÙÏÖØ®¦===== ======= =======ÏÖÙÏÖØÏ­XÖØ®¶Ï ÖÙ ÏÖÙ²@ÏÖÙÏ­$ÖÆÆ@ ÏÖÆ¦ERMSGFILÏÖÆ¦ PASCAL.ERÏÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óήaÇÿ®`È¡tÊa̹ØÐÌØ¥‚¼ ‹¡ZÖÆØÏ ÖÆÏ§‚P„“¥„¿¤ø‹„¡Ö¥…÷Î¥„¿¤ø‹¡Ö¥…uÎ¥„¿¤ø‹¡Ö¥†yÎ¥„¿¤ø‹¡Ö¥„óÎØÊ`áöÖÆÏ­va <ÖØÏÖØ®¦Segment NumberÏÖÚ¦ Segment NameÏÖÚ¦ Size (Bytes)ÏÖÚÏÖØÏ®®È¡>Û̹ÙÐÌ¥ƒ÷Ù¤ÌÛùË¡"ÖØ®Ù•Ï ÖÜÛ¢‚ÏÖÜÛø•Ï ÖÜÏÙÚáö­;šÆت@Æ&³ÿÿþ‡ÿÿþƒÿ@ ½Æ¾Ì$Ì%Ê$áÌ%¹ÆÊ$¾Æ&¼‹¡Ê$•Ì$¹Ì%Ê%¡öÊ$ƾɡÙÖÆÆ6Ê$‚ƾÊ$•ÏÆ6ª@¹Ù¦ª@­OT~ÆÙª@ØøÌ$ÖÆ$Æ@ÏÖÆ$¦ AÏÆ$ªÿØøØø¾Â¿ØØø‚š­B6Æ$ت@ÆÙª@ÆFž ÆEžÊEÌHÊH¢Ç€žÖÊH¢ÆÎÆGÊH¢¨§‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÊH¢ÆG¨ÊH¢Ç€žÖÊH¢Æ$Χ‚<á ÊH¢Çš¹ÊH¢šÊHšÊEž#ÆFž!­F–¥„¿¤ø‹¡#Ö¥„óÏÖ¥„ó®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡#Ö¥…uÏÖ¥…u®§‚AÏ ÖÛ¦ linesÏÖÛϧ‚P„“¥„¿¤ø‹„¡#Ö¥…÷ÏÖ¥…÷®§‚AÏ ÖÛ¦ linesÏÖÛÏ¥„¿¤ø‹¡Ö¥…uΧ‚P„“¥„¿¤ø‹„¡Ö¥…÷ÎÆž Çÿ«‚M¥Çž«®®È¡ Ü̹ÚÐÌ¥ƒ÷Ú¤ÌÖÜùÓ ÖÜøÓ ÚÛáö®®È¡8Ü̹ÚÐÌ¥ƒ÷ڤ̮®È¡Þ̹ÙÐÌÖÜ¢Ù•Â¾Ó ÙÝáôÚÛáò®®È¡Ü̹ÚÐÌÖÓ ÚÛá𮥄ʾ®È¡Ü̹ÙÐÌÖ¥„ÊÙÂ¾Ó ÙÛáʾ‚®.®È¡Ü̹ÙÐÌÖÓ ÙÛáì®!®È¡Ü̹ÙÐÌÖÓ ÙÛáêÖ§‚;Ó Ö§‚HÓ Ö§‚XÓ Ö§‚RÓ Ö§‚IÓ Ö§‚@Ó Ö§‚<Ó ÖÓ Ö Ó ÖÓ ÖÓ ÖÓ ÖÓ Ö§‚FÓ ®®È¡Ü̹ÙÐÌÖÓ ÙÛá观+¡ÖÓ ¹ÖÓ §‚*¡ÖÓ ¹ÖÓ Ö§‚ZÓ ëÇÉ¡ÖÓ ¹æ§‚,¡gÖ¥†ûÏ «‚Z«‚YÖÓÆž!¥‚¼ ·¡ Ö¥†ûϹ<Ö¥†ûϧ‚3§‚+�§‚*�¡ ¥‚Õ¥‚Õ¾ÂU¿¹ ¥‚Õ¥‚Õ¾ÂX¿Ö¥‚Õ¥‚ÕÎÖ¥‚´¥‚Õέ{®0Wwº¢çÐpØ®2 ØÄØÈ„¡ÖØÓ ¹ÖGÇ€‚Ó ÖØÆÆÓÖÙÓ ÖÚÓ ­0ØÈ¡ÖØÓ ¹ÖÇ€ØÇ†‚Ó ÖØÇŽÓ ­(ÖØÇ€‚Ó Ø&á+óÌÖÚùÓ ®Úù®È¡Ü̹ÙÐÌÖÚ¢Ù•Â¾Ó ÙÛáö­BÖØÇ€‚Ó Ø3áxÌÌÙá̹ÛÈó¢Û•¤øÃ„¡Û‚̹öÚÛ•‚ÌñÝšÝÅ¡)ÖÝÓ Û®Ú®È¡ß̹ÜÐÌÖó¢Ü•¤øÓ ÜÞáô¹ë•«Ýá Ö󢕤øÎ¹cسÀ0$@‹¡ÖÙÓ ¹LØ'ÃÙÈ„¡ë•«ÖÇçÙ‚Ó ¹4ØJÃÙÈ„¡ë•«ÖÇ×Ù‚Ó ¹Ø#ÃÙÈ„¡ë•«ÖÇøÙ‚Ó ¹ÖÙέ”Ï ôØ@ÃØMÃ�¡ÖØÇ€‚Ó ÖÙÓ ÖÚÓ ¹Jس³€‹¡ÙáÖØ‚Î¹ÖØÙÎÙÅ¡ÖÚιÙá ÖØ‚ÚÎ¹ÖØÇ€‚Ó ÖÙÓ ÖÚέnÙÌÝù¡^ÖØÇ€‚Ó Ýúë••ÌÚÄÚÈ„¡ÖÚÓ ¹=ÝøÃ¡&ݧ„Wš§„WcáÖÇÿÓ¹§„W‚«„W¥„XÝø¤ÝúšÝø‘ÌÖÇøÝø•Ýø•Ó ¹'ÖÝúÆÆÓØ9á ëǂ̹ëÌÝ¢ÚšÖÜÓ ÖÛÓ ­”ÖÎ ñ§‚bË¡ÖÇÓÖ!ØÎ­ ØžØøÌÙ¢šÙšÙ¢Ç`mš­ ØÌÛúÌÛ¢šÛøË¡ ¥„XÛø¤ëšÛ¢ëš§‚7“¡6ÙÇ`mÉ¡/ÙÇÄ¡ ÙÇ•Ì9̹!ÌÙ«Öèë¾è낾ÆÓÖÚØÎ¹öÛú«­<j ñŸË¡ôò¹öñùÃñ§‚dË„¡Öóι ñ§‚`áÖιñ§‚dáÖ3ιÖ3ιZó¹3ôáÖ'õι Ö6§‚nô•õι-Ö#ôι&Ö:ι Ö<ñøÎ¹Ö>ι¬¹ ;% ¹¹¬¹ˆVñùÃòË„¡ÖñøÎ« ­$ ´ ØÌÙøŸË¡[Ùú¹EÙûáÖ+Ùüι Ö8§‚nÙû•Ùüι;ÙûË¡ÖÇ.Ó¹Öι'Ö;ι!Ö=ÙøøÎ¹Ö?ι¬¹ M3!­lñŸË¡nò¹VÖñÓ¡Ö&ιÖÇ-Ó¹Mó¹.ôáÖ%õι Ö2§‚nô•õι$ôË¡Ö"ôô‚ιÖǾÓ¹¬¹6 ¹ ¬¹^K« « « ­|ÜÌÊþ« « Ê£¹ö« Ê£ « Ê£ «¹ôÊ£ á Ö'Ê£ ιÖ6§‚nÊ£ •Ê£ Ϋ « ¹ô¥ƒ §¤ÌÊùá« Êú« ÊûÊ£ ‚«¹!§‚ná Ö'ÊúιÖ6ÊúΫ Ê£ « Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ¹AÊ£ Ë¡Öǖӹʣ“¡ÖÇÂÓ¹« Ê£ ‚« «¹¬¹ æùÀ?ñŸË¡ñùÈñøÅ„¡ÖΫ 弄 ¼Æ¼œ‹“¡Ö;ÓÖ¥ƒ ¼Æ¼œ Ó弄 ¼‹¡ÜïáîÆ¥ ¨ÝŸË¡ÝùË¡ ÖÇŠÓŸÌÖÎÖÓÖÆ¼³œ ÎÖÎ ñŸË¡ ñùË¡ÖqÓÝŸË¡òÝÌÖÊúñÓ¡LÊúŸËÖÝÓ“„¡<ÖÊúÆ Æ Ó §‚D„“¡ÖÊ ÎÖÊ ÎÖÎÊ Ë¡ÖÊ €ÎÊ Å¡ÖιÖιÖÇ‹ÓÊû« « « « ñŸË¡LÊü¡3Êýá« ÖÝÓ§‚D„“„¡ÖιÖBι « Ö@ÊþÊýιÖ$ñøÎñùÈñøÅ„¡« ïË¡ðïáÖÓ¹ÖZÓ¹àïáæñŸË¡ñùË¡ Önjӟ« ÖÓïáèñŸË¡êÖñúÆ ÓÊ ŸÃ¡ ÖǘÓŸ« ¹ìÊ ÌÊþ« ó¹õÊ£ ‚«¹$ôÊ£ ‚« ¹ÖÇ,Ó¹¬¹ $Ê£ ¡8ÖÎÊ£ ÃÊ£ Ã�Ê£ Ä¡« Ê£ áÖPι« ÖÊ£ Ê£ Î ñŸË¡ñùÈñøÅ„¡ÖΫ ÖÓ¹Ö Ó¹âñŸË¡äñÌÊùÃÊùÃ�¡~ÊùáÖÎ « « « Êú« ¹Oñ§‚aáÖVÎÆ¥ ¨ÖÎ¥ ƨÖO Îó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÊú« ñŸÃ¡ÖÇ#ÓñŸË¡ñùÈñøÅ„¡« ¹ÖÇ�ÓÖÓïÆ¼¥ƒ ¼œ‹“¡ÖEÓÖÆ¼¥ƒ ¼œ Ó¹Þ­Ì/16ÑÙàâ°ÏÉ2 #:Ì Ì ñŸË¡ óÃñùÅ�¡ÖÎÖñÓÌ Æ¥ ¨ÖÓÖÆ¼ Îòá ñ§‚cÃÖñÓ�Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡ôñ§‚eáÖ§‚dÜÓ¡ Ö Î§‚d« Ì Ê ¡\Üÿ¡ ñ§‚cáÌ ¹LÜúŸË¡CÖÜúÆÆ Ó Ê Ê•‚Ì Ê ñ§‚cË„¡%ÖPÎÊ ñ£Ë¡ÖÇ�Ó§‚6ÊË„¡ÖÇ@ÓÜ« ¹Ü« Ê “¡ÖÜñÓÌ Ê ¡öÜù¹o§‚D„“¡ÖÜüÎÖÜûÎÖÎÖÆÎ¹gÖ ÜøÎÖÆÎ¹ZÖÆÎ¹SÊ ¡"Üÿ¡ñ§‚cáÖ)ιÖ*ܣιÖQÊ Î¹Ö(ÜøÎ¹%Ö(ÜøÎ¹ÖÇ’Ó¹¬¹LxP_M!¹ÖÇîÓ­  ŠïáÖ ÆÓÖÓ¹ Ö$Ó§‚kÌÖÆ¼ Üέ0Ö²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇßÓ¶¹Cïá#ÖÓÖ²¼ œ ÎÖÎ ñ§‚eË¡ÖÇàÓ¹ÖÇáÓÖO ιÖOιÖOι¬ #¹K­‚ƥѫ‚.Ø¡¥¦INPUT Ðѹ¥¦OUTPUT ÐÑÖ  ÆÓ«‚.¥ÆÑݟáØ¡ÖÇÎÓ¹ÖÇ3Ó¹cÝþ§‚aˡءÖÇÐÓ¹ÖÇ4Ó¹HÝÌÞ£á Þ£ á Ö%Þ£ ιÖ2§‚nÞ£ •Þ£ ιޣ á Ö'Þ£ ιÖ6§‚nÞ£ •Þ£ Î­ÄØêšÖÓê§Å¡ê«­ ñŸË¡gÖ§‚eñÓ¡ÖO ιVÖ§‚dñÓ¡ÖOιEÖ§‚cñÓ¡ÖOι4ÖñÓ¡'Öñ£ÎÖOζˡÖdzÓ¹ ïáÖDzÓ¹ÖÇâÓ­t!ïá1ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇÀÓ¹ÖÎÖÎ!¹ö­8@"ÖVÎÖ²¼"œ ÎÆ¥ ¨ÖÎñŸÃ¡Ì¹ñ§‚aá̹ñùá̹Ìعöïá:ÖÆÎ Ö.ÙÎÖÓÖ²¼"œ Îó‹¡ÖÇQÓ¹ÖÎÖÎ!ÖÙÎ"ê•«¹ÖǮӹôÖÎÜ‹¡ÖÇRÓïáÖÆÎ Ö.ÙÎÖRÎÖÎ!ÖÙÎ"ê•«¹ÖRÎÖÎ!¹ôÖÆÎ Ö.ÙÎïá[ó¹õ>‚«¹ô>‚« ¹ ¬¹ÖÎÖÓÖ²¼ œ ÎÖÎÖRÎÖñÚúÓ¡Ö(ñøÎ¹ÖǰÓÖ6ÙÎÖOιÖǸÓê•«¹¹¬¹ƒ¿­ X#¶¡öÖÆÎ ÖVÎÖ²¼"œ Îó‹ÌòáÖιÖÓÌñ§‚aáOïá ÌÖOι>Ö.ØÎÖOÎïá/ÖVÎÖ6ØÎÖÓÖ²¼"œ Îó‹¡ÖÇSÓ¹ÖÎÖÎ!¹&Ú¡ÖtÓÖVÎÖÎÖ.ØÎÖOÎÖ6ØÎÖRÎÖÎ!ÖØÎ"Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ä$ñŸË¡ñùÉ¡ÖÎ ¹Öέ%ñÌïá+ÖÓÖ²¼&œ ÎñŸË¡ ñ§‚eË¡ÖǹÓÖΠ̹ÌÙ§‚dáGØ¡ÖÎïá,ÖÓÖ²¼"œ ÎÖÎ ÖÎñŸË¡ ñ§‚eË¡ÖÇêÓ¹ÖÎÖÎÖOιôÙ§‚eáØ¡ÖÎÖO ιöÙ§‚cáØ¡ÖÎÖOιnÙ§‚báØ¡ÖÎÖO!ιYÖÙÓ¡Ø¡ÖÎÖOιDÖÙÓ¡7¸ÙúŸË¡ÖÙú²²Ó ¶¶•‚¸Ø¡Ö¶ÎÖ¶ÎÖOιÖÇëÓ­ (&ïá#ÖVÎÖ6ØÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ö­*2'ÖVÎÖ²¼&œ ÎÆ¥ ¨ñŸÃ¡Ì¹ñ§‚aá̹ñùá̹ÌعöÖÎïá,ÖÆÎ Ö.ÙÎÖÓÖ²¼&œ ÎÖÎ%ÖÎ&ÖÙÎ'ê•«¹ÖÇ Ó¹ôÖÎ%ÖÎÖÆÎ Ö.ÙÎÖÎ(ÖÎ&ÖÙÎ'ê•«¹ôÖÎÖÆÎ Ö.ÙÎïáRó¹õ>‚«¹ô>‚« ¹ ¬¹ñú« ñŸË¡ñùÈñøÅ„¡ÖΫ Ö²¼ œ ÎÖ6ÙÎÖOιÖÇ2Óê•«¹¹¬¹Ù}¡­ ,)¶¡öÖÆÎ ÖVÎÖ²¼&œ ÎÌñ§‚aá5ÖÎïá ÌÖOι!Ö.ØÎïáÖÓÖ²¼&œ ÎÖÎ%ÖÎ&¹ÖÎ%ÖÎÖ.ØÎÖÎ(ÖÎ&ÖØÎ'Ù¡ÖVÎÖ6ØÎÖOÎê•«¹ ÖVÎÖÎÖOέ ¢*ñŸË¡bñùË¡ÖsÓ¹Vñ§‚dáÖÇ5Ó¹Gñúç‚D„“„¡%¶áÖÎÖÎÖñü•ι ÖÎÖñüÎÖÎÖζáÖιÖέp1¶£ áÖVζÌßÿÌߣ á ߣ Ë¡ÖÇ+Ó¶£ ö£Ä¡.¶þŸÃ¡Öι ® ¶þø®È¡Ê ̹ÞÐÌÖÎÞßáöïáìٟáÖ~ÓÖÓÖ²¼"œ ÎñŸËÙŸË„¡ðÙþÌÚŸË¡òÙ£áôñùÈ¡qÖÚÓñ§‚cÄòÄ¡ÖÇ€&‚Ó ÖÓ ÖóÓ §‚_« ¹ÖÎ ÚùáÖ ÚøÎ¹6Úùç‚D„“„¡ÖÚüÎÖÚûÎÖιñ§‚eÃÖÚ§‚dÓ„¡ Ö Î§‚d« ¹CÖñÓòÄÌÖÎÛÖÚÓ„¡,Úÿ“¡'ÖPÎÚúŸË¡ÖÚúÆÆÓ ÜÝ•‚ñ£Ë¡ÖÇŽÓÚ« ¹Hòá=ÖÎÖñÓÖÚÓ„¡ñ£Ú£É¡ÖÇ¿ÓóáÖgÓÚùá ñøÚøË¡ÖÇÓ¹ÖÇšÓÖÚñÓ“¡ÖÇÓÙŸË¡ÙÿÌïË¡îïáÖÓ¹Ö(ÓÙŸË¡ÖÇíÓ¶Ìߣ á Öߣ ι*ߣ íá ÖNߣ ιߣ á ÖSߣ ι ÖMߣ ߣ ζþ« ­R¶rtÍÐ 42Ü£ áðÌÜ£ ÌÞ³ð``‹¡ÖVÎÞ³`‹¡ÖÎïáÖÓ¹Þ³@t‹¡Ì¹Ö ÓÞ³€‹¡ÖƼ"œ ÎÖÎ Þ¹ôÖÎ#¹òÖÎ$¹òÖÎ)¹òÖÎ*¹òÖÎ1¹òñŸË¡ ñùÄ¡ÖÇÔÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÕÓ§‚e« ¹òñŸË¡%ñ§‚eáÖιñ§‚dáÖι ÖÇÖÓ§‚e« ¹òÖιòÖιòÖιòÖÆ¼ œ ÎÖ>Χ‚e« ¹òÖÎ+¹òÖιòÖÆ¼œ ÎïáÖÓ¹ÖÓÖÆ¼ œ ÎÖOΧ‚e« ¹òÖιò® ® È¡DÊ Ì ¹Ê ÐÌ ÖÆ¼œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇ×ÓïáÖÓ¹ÖǤÓÊ Ê Ã¡öÖÆ¼ œ ÎÖÎñŸË¡ ñ§‚eË¡ÖÇØÓÞáÖ%Î¹Ö Î¹òÖιòÖÎ,¹òÖιòÖιòÖιòÖÎ-¹òñŸË¡ ñ§‚eË¡ÖÇCÓÖÎÖΧ‚b« ¹ò§‚D„“¡ÖÎÖÇÿÎÖÎñŸË¡ ñ§‚eË¡ÖÇDÓ§‚c« ¹Z¬)¹RëèåâCEãåâÌ¢xu†tq]ZW*,)02*6§©°¨¥±©«Hª§©¦‡ß¡ïáÖÓ¹ÖÓ¹ÖÎ2­vYÒñ§‚eá Ö Î§‚d« Øø§‚eá Ö Îا‚dš­*3ñ§‚dÃØø§‚dÃ�¡ÖØÎ3­4弄¼‹“¡Ö:ÓÖÆ¼¥ƒ¼œ ÓŸ« 弄¼‹¡æï¹ìÖ^ ÆÓÖÓÜ£áÖÆ¼ ÜΫ ¹'Ü£áÜÌÊþ« « ¥ Ê¢¨¹ ÖÆ¼ ÜÎñŸË¡ñÌÊùáÊú« ¹ê§‚e« « ¥ ¥¨Öӹ꧂d« « ¥ ¥¨ÖÓ¹ê§á§‚c« ¹Æ žÊ §‚_¨ Ê ¢§šÊ « « ¥ ¥¨ÖÓ¹êÖÓÖÆ¼ œ ÎïáÖÓ¹Ö*Ó¹êÖÓÖÆ¼ Î7ñ§‚bËòË�¡ÖÎ ÖÎñŸË¡ñ§‚bË¡ ÖLJÓŸ« ¹ó„“« ¹êÖÓÆ ½ÌÆ žÊ ÌÊ¢ŸšÊšÊ¢šïá Ê « « ÖÓ¹îÖÆ¼³œ ÎñŸË¡òñùË¡ ÖLjÓŸ« ¹ôÖÊ úñÓ¡öÌÌ òÃóÈ„¡ ÌóÌ Ê Ì ëÌ ÖÎ ï#áHÖÓÌ ÖÆ¼³œ ÎÖÊ úñÓ“¡ ÖljÓŸ« Þ¡òÃóÈ„¡óÌ ¹ÖΠ̹ÖÎ Þ¡Ê «ÆÆ¼Ê Ê ”œ ½¹ÖÊ Îß¡ÖιÌÊ ¢ñšÊ « ¹ÖÇÓï˫쓡ÖÓì¡ðïáÖÓ¹Ö Óß¡1Ƽ·¡"§‚p¢Æ¼ ½§‚pš§‚p« « ÖÎ ÖΫ ¹§‚p¢Æ¼ ½§‚pš§‚p« « ¹U¬&¹N ð ¨"$&(*,.02468:<>@BD„HudïÆ¼‹“¡Ö@ÓÖÆ¼¥ƒ¼œ Ó¹è­!(ÒÏóõýZ7ÖÆ¼³€œ Î7ï'áîÖΠƥ ¨ðÌ ÖÓÖÆ¼³€œ Î7ÖÎ ÜŸËñŸË„¡òÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Ö ι ÖÇøÓŸ« ¹ôÖÆÎ3ܧ‚dÃñ§‚dÄ¡Öι ÖÇùÓŸ« ¹pܧ‚eÃñ§‚eÄ¡Öι ÖÇüÓŸ« ¹Rܧ‚eÃñ§‚eÄ¡Öι ÖÇþÓŸ« ¹4ܧ‚bÃñ§‚bÃ„Ì Ê ¡Öι ÖÇÓŸ« ¹¬¹ Ò‹.lP¹Ÿ« ¹ð­ $B6ï(Ãð`‹„¡ðáÌ ¹Ì ÖÓ¹Ì ÖÆ¼³œ Î6ñ§‚eáÊ áÖÎ Öι%ñ§‚dáÊ áÖÎ ÖÎ¹Ê Ë¡ ÖÇôÓŸ« ï(áðÖΠƥ ¨ðÌ ÖÓÖÆ¼³œ Î6ÖÎ ÜŸËñŸË„¡ôÊ ¹öÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇõÓŸ« ¹yÖÆÎ4ܧ‚eÃñ§‚eÄ¡Öι/ܧ‚dÃñ§‚dÄ¡ÖιÜùÃÖÜñÓ„¡Öι ÖÇöÓŸ« ¹0ܧ‚bÃñ§‚bÃ„Ì Ê ¡Ö ι ÖÇ÷ÓŸ« ¹¬¹¼u.¹Ÿ« ¹ò­ ‚5ÙúŸË¡ÖÙúÆÆÓ ÚÛ•‚Øø£Ë¡ÖÇñÓØÙš­,8ž§‚JÉ¡ž«‚JÖÆ¼³œ Î5ï)áìÖñÓñ§‚cÃ�òÄÌñŸË¡ñùÈ¡ÖÎ ¹ÖÎÆ¥ ¨ðÌ ÖÓÖÆ¼ Î5ÖñÓñ§‚cÃ�òÃ„Ì ñŸË¡ñùÈ¡ÖÎ ¹ÖÎÜŸËñŸË„¡îÊ á+ñùáÖÜñúÓ¡Ö Î¹ ÖÇïÓŸ« ¹ Öǂӟ« ¹ðÜñË¡ÖÆÎ4Ê¡ÖñÓ¡ñÿ“¡ ÖÎÖÆñÎ8¹Ê ¡ÖÜÓ¡Üÿ“¡ ÖPÎÖ¥ ÜÎ8Ê ÖÜÓ„ÊÖñÓ„�¡Ì̹ ÖÜñÓÌÜùÌÊ¡òÜøÌ Ê¹öܧ‚dáÌ ¹Ì ¹ôÊ Ç‹¡ÖǃÓÌ ¹ôÊ Ç ‹¡ÖÇ„ÓÌ ¹ôÌ ÖÜÓ¡vÜÿ¡UÖÜÓñ§‚cÄ¡Ì ¹Aܧ‚cÃÖñÓ„¡1ÖRÎÊ ¹ Ì ¹ Ì ¹Ì ¹ Ì ¹¬ ¹Ì ¹Ì ¹Ì ÜúŸË¡ÖÜúÆÆÓ ÊÊ•‚Ì ¹Ê Ç‹¡ÖÇòÓ¹4Ê Ç‹¡ÖÇóÓÌ ¹ ÖÇ…ÓÌ ¹¬¹ðãÑ¿0Ê ¹<Ö5Ê Ê Î¹FÖ4Ê Ê Î¹<Ö1Ê Ê Î¹2Ö0Ê Ê Î¹(Ö7Ê Ê Î¹Ö/Ê Ê Î¹¬ ¹ D<*6$¹ÖÇðÓ§‚b« « ­ n…¨Ö²¼Ç@œ ØÎïá Ö²¼ Î¹Ö3Ó­0:Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ôï áÖÓ¹Ö^Ó­:< D=Ö²¼Çœ ÎÖÆÎ ÖÙÎ ï áÖÓ¹Ö4Ó§‚=‚«‚=Ö²¼Ç œ Î9§‚=•«‚=ï á2ÖÆÎ Ö9ØÎÖÙÎ ÖÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=ÖØÎ ¹ÖÙÎ ­Š>Ö²¼Çœ ÎÖÎ ÖÆÎ Ö9ßÎñÌÙŸË¡ÙùËÙ§‚dÃ�¡ ÖÇ�ÓŸÌï áÖÓ¹ÖÓŸÌÖÆ Î ŸÌÖ²¼œ ÆÆÓÙŸË¡cÖÙØÓ¡UÝÌŸÌÜŸË¡#ÜÌ Ê úÞÈ¡Ê úÞáÖǜӹ ÜÌÊ øÌ¹öÆžÚÌ Ê ÜšÊ ¢ÞšÊ ¢ëšÛŸÃ¡Ú̹ÛÚš¹ÖÇ“Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖÓ§‚=‚«‚=Ö²¼œ Î9弄¼‹“¡ò§‚=•«‚=ÚŸË¡Ö9Ê Îï˫쓡ÖÓï Ãì�¡ðÖßÎ ÝŸË¡vÝúÌ ÝÌŸÌÜøÌÜÝšÜÌÛÌܟáîÝúÌ Ö,ÎÖÊ Ó ÖÊ Ó ëÌ Ö9Ê ÎÝÌ Ê úÊ Å¡ÖëÊ •Ó Ê ‚Ì ¹ìÖëÊ ù•Ó Ê øÌÊ ÇÿÉ¡Ê ‚Ì ÝŸÃ¡êÖÊ Î ï áÖÓ¹Ö]Ó­ON€vÖwT Ô?ÖÆÎ ÖØÎ §‚=‚«‚=Ö²¼Çœ Î9弄¼‹“¡öï˫쓡ÖÓì¡ô§‚=•«‚=ï áÖÓÖ²¼ ÎÖØÎ ¹Ö5Ó­QS l@ÖÆÎ ÖÙÎ Ö²¼@œ ÎÖÆÎ ÖØÎ ïáÖÓ¹ÖǼÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=Ö9ÙÎÖØÎ ­\AêÌ ê‚Ì Ö�Óê§Å¡ê«ÖÆ Î ÖÆ Î ÖÆ Î ïá[Ö  ²Ó¶ÌÊþÌÌÊ£áÌÊ£ ÌÊ£ ̹ ÖÇ›ÓŸÌØŸË¡ØùÅÖ§‚dØÓ�¡ ÖÇ�ÓŸÌÖÓ¹ÖÓÖ²¼ÇÀAœ ÓïáaÖÓÖ²¼ÇÀœ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖǑӹÖÇ»ÓÖ²¼ÇÀœ ÓïÇ€‹¡oïáH̹DÌïÌÖÓÖ²¼@œ ÎñŸË¡GñùË¡ÖÇÓ¹9ÖØñÓ¡+ÖÎ ØŸË¡Øùç‚D„“„¡ÖØüÎÖØûÎÖÎÖ.Ê Î¹ÖÇ Ó¹Ö7ÓÖ²¼@œ ÓïáÖÓ¹Ö6ÓÖÞÎÖ!Ê ÎÖ6Ê ÎÖÆÎê•«Ö9Ê ÎÖÊ Î ¥ ƨÖÎ ßáÖPιÖÎÖÎÖÆÎÖÊ Î §‚=‚«‚=Ö²¼ Î9§‚=•«‚=¥ ƨÖÎ Ö6Ê ÎÖCÎÖ!Ê ÎÖÊ Î ê•«­@BÌÌïáÖ ÆÓÖÓ¹ Ö'Ó§‚kÌÖ²¼Bœ ØÎñŸË¡yñùámé É¡`é‚«Ú‚Ì¥ƒ é¤ñúšó᥃ é¤ÌÛ¢šÛ¢ôšÛ¢õš¹-ÖÎÖ8êÎ¥ƒ é¤ÌÛ¢šÛ¢êšÖÓÙ‚Ìê§Å¡ê«¹ÖÇÓ¹ÖÇÓï˫쓡ÖÓì¡öïáÖÓ¹ÖǽÓ§‚=‚«‚=Ö²¼ Î9§‚=•«‚=éÚ•«êÙ•«­ð þCž§‚JÉ¡ž«‚Jï"ádéÌ¥ƒ ݤùˡݕ̹ö¥ƒ ݤüÌÞŸË¡*ÞÌ Ê ù§áÊ ûù¡ÖÇ¥Ó¹ÖÊ ûÎ ¹¹Ê ú̹ôÖÇ ÓÖÓïáÖÓ¹Ö0ÓïÆ¼œ‹“¡ÖHÓÖÆ¼ Ó弄¼œ‹¡òÆ ž ïá&Ö| ÆÓÖÓÜ£á ÖÆ¼ ÜιÖÜÎ:¹IïÌÖÓß¹(ÖÎ=¹;ÖÎ?¹6ÖÎB¹1ÖÎ;¹,ÖÎ>¹'ÖÎ@¹"ÖÎA¹ÖÎC¹¬¹0/0/Æ ž!ïÇ&‹“¡ÖIÓÖÆ¼ Ó­# @9«‚7ÖÎD¥ƒ é¤û‚«„W؟á!¥‚t¦??----??ÐÑ¥‚x¦??----??ª ¹ð¥‚tØÑ¥‚x¦bodyª •ÌØ£áØþŸÃ¡Ú‚Ì¹ÚØþø‚ÌØÿÌ Ê ŸË¡òÊ ÌÊþŸË¡öÊ£ákÊþùÅ¡YÚ‚ÌÖ2Ê£ ÎÖ6ÚÎÖÊþÓ¡2ÊþÌÊÿ¡ Ö*ʣιÊúŸË¡ÖÊúÆÆÓ ÖQÝÞ•‚ι¹Ö(ÊþøÎ¹ÚÊþø‚̹ Ê£áÚ‚ÌÊÿÌ ¹ô§‚A«‚>ê«¥ƒ é¤üÌÜŸË¡ÖܢΠÜûÜøšÜú̹îŸÌ ŸÌ §‚nç„ÅŸË„Ì ¥ƒ é¤úÌ Ê ŸË¡æÊ ÌÊþÌÖVÎÖ2Ê£ ÎÖ2Ê£ >‚ÎÊþ§‚aáÖιÖÊúøÎ§‚nË¡ÖιX§„şáÖιK§„Ţʯ¡;ʦINPUT Я¡Ê Ì ¹Ê¦OUTPUT Я¡Ê Ì §„Åø«„ÅÖιÖÎÖOÎÖVÎÖ2Ê£ ÎÖÇ€&‚Ó ÌÊÊ•¾ áʕ̹ìÖÊÓ ®Ê®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÖOÎÊÿÌ ¹èÊ ¡ ÖVÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÊ ŸË¡ÖVÎÖ2Ê £ ÎÖÎÖOÎÖ²¼Çœ Î9弄¼‹“¡äï˫쓡ÖÓì¡âï áÖÓ¹Ö ÓëÌ¥ƒ é¤úÌ Ê ŸË¡!Ê ÌÖVÎÖ2Ê£ ÎÖÎÖOÎÊÿÌ ¹àØþŸÃ¡Ö-ιÖ-ØþøÎ¥ƒ é¤üÌÜŸË¡$ÜÌÊûÌÊù“¡ÊúÇ`mË¡ÖǨÓÊú̹ާ„W•Ìë„¡ÖÓ ßÅ¡Ö륄Xߤø•Ó ß•Ì¹Ü؟á Ö§•Ó ÖÓ ¹ØÌÖ§Ê£•Ó ÖÊ£•Ó §Çÿ?Å¡ÖÇ7ÓÖëÙ•Ó ÖëÓ Ö§‚sÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇAÓ¹§‚?ë‚«‚?Æ ž!¥ƒa§‚s¤§‚?•š­­è.tv½Êä²#"*̧‚2§‚0„¡ ÖÆ¼ Í¹ò«‚5««‚Q«‚=Ö¥ƒ é¤øÓ ïáÖÓ¹ÖÓÖ§‚oøÎï§‚o£ ÃÌÜ“¡-§‚o£ áÖÓ¹ÖÓÖÆ¼§‚o£ —œ Óï§‚o£ ÃÌÜ弄¼‹�¡öÜ“¡§‚o£ áÖ`Ó¹Ö<Ó̹Bï˧‚3§‚nÄ�¡ÖÓ¹.ÖÓï³€‹¡ ÖÓïË̹Ö=ÓÖÆ¼ ÓÌݧ‚oŸÃ�¡ô­ߺ ƒ|€ Æ ( š t …„ RL64ðl˜¸¾ø……… „„ „ z"„ VŽ¼Þ È"&"l"æ„ #„#Ò„„„„„„„$h&$ &0 Ú*r*ô,,Ž,´ƒ+n,Ü-v-ê.ä/,/ZŒˆDÇÿÙ€•Ú€ÉÙÉÚÉ„ÙÅÚÅ„�„¡Ì¹ÌÛÙÚ‚š­0Ùá̹ Ú€ÇÿÙ€†ÈÌÜ¡ ÌÛÙÚ�š¹Ì­.ݚ弄¼‹“¡ÖÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡ìïáòéÌ ¥ƒ é¤ùˡ镫¹öÆžßÌʚʢšÊ¢šŸÌ Ì ÖÓïá=Æ žÊ ÌÊ¥ÑÊ¢ ßšÊ¢Ê šÊ¢Ê šÊ¢šÖÊ ÓÊ ‚Ì Ê Ì ÖÓ¹Ö!ÓïÆ¼"œ‹“¡ÖFÓÖÆ¼"œ ÓïË¡ôߢÊ šß¢Ê šÊ «ïáÖÓ¹Ö,Ó¹îïáðÖ Æ ÓÖÓÊ £ánÆžßÌÊ ÌÊ¢ÊþšÊ¢šÖÊúÓ¡ ÖÇ”ÓÊ¢ŸšÊ¢Ê¢¨Êšï#áÖÓ¹ÖÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖÇÃÓ¹Ê þÌߟˡÝßøš¹vÆžߢšÖƼ³œ ÆÆ ÓÖÞÓ¡ ÖÇ ÓŸÌßÌÊ¢ÞšÊ¢Æ ¨Êšï#áÖÓ¹ÖǺÓÖÆ¼ ÆÆ ÓߢÆ ¨ßúÞË¡ÖkÓߟˡ7ßÌÊùá-ÊúŸË¡&Êú§‚dáÖÇ$Ó¹ÊüÊûÅ¡ ÖfÓÊ¢ÊüšÜßšïÆ¼‹“¡ÖGÓÖÆ¼ Ó¹ÜŸš­$Øqÿ1 nÌٟ˶„¡ôÙÌÝù¹kÙ§‚eËÙ§‚dË„¡8ÖÙÆÆÓ ÛÄ¡+ÌÚḹÇ@̸ÜÚÅ¡¶•¸Ü†Ì¹ö¹4ÖÝúΡÖÝúÆÆÓ Ú‚ÌÚÉ¡ÌÚ¸¹¬¹su2­N šÌØÌÖÚþΡ@¶¶‚Å¡¶ ‚¸ ¸ÌÚ¢¶ šÚ¢šÚ¢¶šÚ¢¶š¶¶‚¸¹/¶ ¶Å‚¸ ¸ÌÚ¢šÚ¢¶ šÚþŸË¡ ¶ Úþø‚¸ Ù¶ŸË„¡/¶ÌÚ£ ¡%Ú£ áÚ¢š¹Ú£ ÈÚ£ È„¡ Ú¢šÚ¢š­¾²ž¶ÌÙ¢ŸšÙ¢ŸšÙ¢š¶¶šÖÓïáö¶¡² ž¹² ž¶ ÌÙ¢ ŸšÙ¢šÙ¢ŸšÙ¢šÌ«‚.Ö ² Ó«‚.¶ ŸÃ¡!̶ ¥ÑÖ¶ ÓÖÓïáÖÓ¹Ö8ÓïáXÖ ² Ó¶ þ¸¶ŸË¡;¶ùÈ¡/Ö§‚d¶Ó¡ÖÇÆÓ¶ ¢ ¶š¶¢¶ šØ¡Ö¶ ιÖnÓÖÓ¹Ö%ÓÖ²¼Çœ Ó¹Ö&ÓÖ²¼Çœ Ó¶¶ ¶Å‚šï áÖÓ¹ÖWÓŸ¸¶ ¸¶ ¸¶¸¶¸Ÿ¸ Ö²¼œ ² ²Ó¶úŸË¡Ö¶úþ¶ Ó“¡ÖoÓ² ž¶ ÌÙ¢¶šÙ¢¶ šÙ¢²¨Ù¢š¶ ¸¶ ¸ ï˫쓡ÖÓì¡ôïáÖÓ¹Ö9ÓïáÖÓ¹ÖXÓï៸ ¹Ö²¼(œ ² ζ ¶Å¡¶ ¸¶¸¹¶ ¶ö¶Å„¡¶¸¶ ŸË¡%¶ ú¸ ¶ ¢¶ š¶ ¶ ¶Å‚š¶ ¸ ¹òïá%ÖÓï²¼œ‹“¡ÖNÓÖ²¼œ Ó¹Ö-Óï˫쓡ÖÓ¶¸ ¶¸ï Ãì�¡ð¶¸ ¶¸¶¢¶š­j’j»È ŸÌŸÌŸÌï³ ‹“¡ÖÓÖÆ¼³ œ ÓïáðÞÌïáA¶¡Æ ž¹Æ žÊ ÌÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢šÊ¢šÊ ÌÖÊ ÓÖÓ¹ÖÓï‹“¡ÖAÓÖÆ¼³ œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö.ÓÖÆ¼³ œ ÆÆÎÊŸË¡ ÊùáÖlÓßÞË¡ßÌÊ¢ ÊšÖßÎßÌÊÿ̹ôÊ Ìïá)ÖÓï³ ‹“¡ÖÇ™ÓÖÆ¼³ œ Ó¹òŸÌÞŸË¡ÞÌÊÿÌ Ê¢ßšÞÌÊ Ì¹îïáÖÎ ¹ÜŸš­+08…4p² ž¶¶ š¶ ÌØ¢ŸšØšØ¢šÖÓïál«‚.Ö ² Ó«‚.¶ ŸÃ¡+² ž¶ ÌØ¥ÑØ¢ ¶ 𨢧‚fšØ¢š¶ «‚f¹#¶ þŸË¡¶ þùË¡ ¶ ¢¶ þš¹ÖÇÄÓÖÓ¹ÖÓ­  Ì弄¼‹“¡Ö ÓÖÆ¼¥ƒ¼œ Ó弄¼‹¡Þ弄¼‹¡ÖƼ ÜÝιàïáÖÎ ¹âï+á&ÖÓÌ弄¼‹“¡ÖYÓÖÆ¼¥ƒ¼œ Óï,áðÖÓïáÖÓ¹Ö ÓŸÌÊ¡Æ ž¹Æ žÊ ÌʢߚʢŸšÊ¡Ê¢šÊ¢šÊ¢šÊ ÌÖÆ¼³œ ÆÆ ÎßÊ šÞŸË¡7ÞùÈ¡(Þ§‚dá Ömӟ̹ާ‚eá ÖǕӟÌÊ ¢Þš¹ ÖÇÇÓŸÌï˫쓡ÖÓì¡öïáÖÓ¹Ö[Óï áÖÓ¹ÖTÓÖÆ¼ Æ Æ ÎÊ ŸË¡ Ê ùáÖÇÅÓÖÊ Î¡"ÊʂȡßÌÊ¢šÊ¢ ʆšÊ¢ ÊšßÌÊûÌÊ¢Ê šÊúŸË¡ôÖÊúÆÆÓ Êü¡;ÖÊÊ‘ÆÎ¡&ÖÊÆÎ¡ÊÊþ†ÊÊþŽË‚Ì ¹ÖÇKÓ¹ÖÇFÓ¹@ÖÊÊ‘ÆÎ¡-ÖÊÆÎ¡ÖÊ ÊÆÎ¡ÊÌ ¹ÖÇGÓ¹ÖÇHÓ¹ÖÇIÓÊ Çÿ?Å¡ ÖÇJÓÌ Ê È¡ ÖÇ'ÓÌ ÊÊ šßÌ ÞÌߟáò¹äï-áîÖÓéÌ é ɡ邫¥ƒ é¤ÌÊŸšÊ¢š¹ÖÇÓÌ ÌÖÆ¼…Çœ ÆÎÊ ÊÅ‚Ì Æ žÊ ÌÊ¢¥ƒ 餸šÊ¢ßšÊÊ šÊ¢šÊ «ï áÖÓ¹Ö_Ó¹æï*áìÖÓï áÖÓ¹ÖUÓÖÆ¼ ÆÆ Îߟˡ%ßùÅ¡ ÖÇÈӟ̹ߧ‚dÃß§‚eÃ�¡ÖrÓŸÌÆ žÊ ÌʢߚʢšßŸË¡4Ö߯ÆÓ ÊÉ¡ÖÇTÓÊÊ‚†šÇÿÊøÉ¡ ÊÇÿšÖǩӹʚ¹èï.áWÖÓÆ žÊ ÌÊ¢šÊ¢Ÿšï áÖÓÖÆ¼ ÆÆ ιÖVÓŸÌÊ ¢ߚߟˡßùáÖÇ6ÓÊ >ßø‚š¹êï3á|ÖÓïË¡ÖÇ´Ó¹lÖÓÖÆ¼³œ ÆÆÓß§‚eá8ÊÈÊÇÿÅ�¡ ÖÇÓÌÆ žÊ §‚_¨ Ê ÌʢʚÊÊ‚†š¹ÖÇ€ÓïáÖÓ¹Ö\ÓÜÊ šïƼ‹“¡ÖJÓÖÆ¼ Ó¹ÜŸšÜøŸÃ¡Ýš¹ÝÜøøš­139;=?ÂP$a/ Êï"áY¥ƒ é¤ÌÚüÌÌØŸËÙ“„¡Øù§Ë¡Øú̹ ÌÖǦÓ¹öÙ“¡!ÆžØÌÛšÛ¢§šÛ¢ŸšÛ¢ÚüšÚ¢ØšÖÓ¹ÖÓï²¼ œ‹“¡ÖBÓÖ²¼ œ Óï˫쓡ÖÓì¡ôïáÖÓ¹ÖcÓ­¢� ¬ ïË¡ÖÓÖ²¼œ ÓïáôÆ žØÌÛ¥ÑÛ¢ ŸšÛ¢ŸšÛ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÓÖ²¼œ ÆÆÓÖØÓØ¢ ٚآƨïá%ÖÓï²¼œ‹“¡Ö?ÓÖ²¼œ Ó¹ÖbÓ¹ö­� ¬ ïË¡Ö"ÓÖ²¼œ ÓïáòÆ žÚÌÝ¥ÑÝ¢ ŸšÝ¢šÖÓï)Ãð Ä¡ÖÓ¹ÖÇ—ÓÖ²¼œ ÆÆÎÖÚÓÚ¢ Ûš§‚fÌÙŸË¡+ÙÚ¯¡Ùþ¢ÚþšÙ§‚fˡآÙÿš¹Ùÿ«‚fÙÌÙÿ̹öïá%ÖÓï²¼œ‹“¡ÖKÓÖ²¼œ Ó¹ÖvÓ¹ô§‚fŸË¡ ÖÇÒÓŸ«‚f­Éx ê ŸÌïá/Æ žÚÌÝ¢šÝ¥ÑÝ¢ٚݢ ŸšÝ¢§‚nšÖÚÓÚÌÖÓ¹Ö#Óï²¼œ¥ƒ¼œ‹“¡ÖLÓÖ²¼œ¥ƒ¼œ Óï˫쓡ÖÓì¡öïáÖÓ¹Ö1ÓÙÌÖ²¼œ¥ƒ¼œ ÆÆÎÙŸË¡=ÙÌÝ¢ ۚݢêšÖÜÓÝÿÌÝÿŸÃ¡ ÛŸË¡ÛùáÝ¢¥ƒ é¤úš¥ƒ é¤¢Øš¹ôïá%ÖÓï²¼œ‹“¡ÖMÓÖ²¼œ Ó¹Ö|ÓïË弄¼‹“„¡ò§‚fŸË¡ ÖÇÓÓŸ«‚f­1”5 @ŸÌ êÌïÆ¼œ‹“¡ÖÓÖ²¼Æ¼œœ Óïáì¶¡ÖwÓÖÓï³@‹“¡ÖOÓÖ²¼!œ Óï³@‹¡ðïáÌ ÖÓ¹Ì ŸÌÌïáKÆ žÊ ÌÊ Ã¡Ê¢š¹Ê¢šÊ¥ÑÊ¢ ŸšÊ¢ßšÊ¢§‚nšÖÊ ÓÊ ÌÊ‚ÌÖÓ¹ÖÓï²¼œ‹“¡ÖPÓÖ²¼.œ Óï˫쓡ÖÓì¡öÌ ŸÌ ïáNÖÓïá@Ö Æ ÓÖÓÊ þÌ Ê ŸË¡Ê Ã¡Ê ùáÖyÓ¹ Ê ùÈ¡Ê øÌ ÖÊÊ �Ó¹ÖÓ¹Ö/ÓŸÌ êÌßÌÞŸË¡"ÞÌ ÞÌÊÊ •Ìʢʚʢ Ê šÊÿ̹ôÊ ŸË¡ Ê ¢Ê šßÌ ï(²¼œ‹“¡ÖQÓÖ(²¼œ Óïá)ÖÓï²¼³@œ‹“¡ÖRÓÖ²¼!œ Ó¹òïá+ÖÓïÆ¼²¼œ‹“¡ÖCÓÖÆ¼²¼œ Ó¹Ö+ÓÝ¢ꚟÌÊ ŸË¡<Ê ÌÊÿÌʢޚʣáÊþŸË¡ÊþùÅ¡ Ê¢êšÖÊþøÓÊ ÌßÌ ¹îÜÞš¹ÜŸš­NŒ †¶¡ ¶«¶«‚r¶ «¶ «¶ «‚n¶«‚s­.ØÌ¥„¿¤ø‹¡`Ö¥„ó®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥„ó®¦. ÏÙÛáöÖ¥„ó®ÚÏÖÛÏ¥„¿¤ø‹¡`Ö¥…u®§‚A‚Ï ÖÛ:ÏÖÛÚ£ Ï ÖÛÚ£ Ï ÖÛ Ï®Ú£ ®È¡Ü̹ÙÐÌÖ¥…u®¦. ÏÙÛáôÖ¥…u®ÚÏÖÛÏ­)— èØ0áR§‚3¡ÖÇNÓïÌï³€‹¡ÖÓ¹ ÖÇ!ÓÌÌí̧‚q«§‚rÌ«‚r§‚8¡ÖÇ Ó«‚?«‚Y¹ÌêÌ «ê«‚Q«‚5ïáòÖ¥ƒ 餸ÆÓÊŸË¡FÊ£áÊ£ØÄÊ£ Ä̹ʣáÊ£Ø Ã„Ê£ Ä̹ÌÊ“¡ÖÇ Ó¹ÌÊ“¡öØáÆž¹ÆžÊÌÊ¥ÑÊ¢ ŸšÊ¢êšÊ¢šÊ¢šÊ¢ šÊ¢§‚nšÊ¢§‚ršÊ¢íš§‚3Ê£ ÄÊ£ Ä¡¥ƒ÷¤¢ÊÑ¥‚tÊÑÊ¡#§‚qÅ¡ÖÇÓ¹§‚q‚«‚q¥ƒ÷í¤¢¥Ñ§‚rǕáÖÇÓ¹§‚r‚«‚rØáÊ¢š¹Ê¢šÖÊÓ¹}ÊÿÌÊŸË¡DÊÌÊþŸË¡2Ê£¹Ê£ Êþø‚̹ʣ ‚̹ ¬¹ ÊêšʫÊÿ̹ôÊ£ íË¡&Ê£ Ë¡ÖÇUӹʡ Ê£ ««‚r¹ÖÇ"ÓÖÓ¹ ÖÓ§‚i̧‚sÌÊ£ «‚s§‚nÌ §‚nÉ¡ §‚n‚«‚n¹ÖÇûÓéÌ é É¡7é‚«¥ƒ é¤ÌÊ¡ÊÊÿš¹ÊŸšÊ¢ŸšÊ¢ŸšÊ¢šÊ¢š¹ÖÇúÓÊÌØáÖ ÆÊÎÊ“¡Ê¢Êš¹ìÖ  ÆÊÎÊ“¡Ê¢ÊšïáîÖÓïá|Ê¡ÖzÓÖ ÆÓÊþÌÊ¢ ʚʟˡÊù‹“¡ ÖxÓÊ¢ ŸšÊþŸË¡ÊþøÌ¹ÌʢʣʂšÊÿÌʟˡʢʣ Ê‚šÊÿ̹ðÖÊÓÖÓ¹ÖÓÖ²¼œ Ó¹ Ê“¡Ö{ÓïáÖÓ¹ÖdÓïÃ¥¦FORWARD Я„¡BÊ¡ÖǡӹʢšÖÓïáÖÓ¹ÖpÓï²¼‹“¡ÖDÓÖ²¼ ÓÖιàïÃ¥¦ASSEMBLEЯ„§‚6“„¡èÊ¡ÖÇ1ÓÖÓïáÖÓ¹ÖSÓï²¼‹“¡ÖÇ ÓÖ²¼ Ó«‚+Æž ¥ÇžÇÿ«‚M«ÊŸË¡VÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáêÊþŸË¡ ÖÊþøÓ ¹ÖÓ ÖÇÿÓ ÖÇþÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇBÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÆž!ÖÊÎÖιâïÃ¥¦EXTERNALЯ„§‚6“„¡äÖÓïáÖÓ¹ÖǯÓï²¼‹“¡ÖÇÏÓÖ²¼ Ó«‚*Æž ¥ÇžÇÿ«‚M«ÊŸË¡<ÊÌÊ¢š®®È¡Ê̹ÊÐÌÖÊÊ•Â¾Ó ÊÊáæÖÇýÓ Ö§‚nÓ §‚8“¡«‚8¥ƒ÷í¤¢§‚ZšÖÓÇÿë•§‚?É¡ÖÇÑÓ¹§‚?ë‚«‚?¥ƒa§‚s¤§‚?•šÊ¡ÖÓ Æž!ÖÊÎÖιPÊÌÊ¢šÊ¢ šÖÊÎ¥‚tÊÑ¥‚x¦ declarationsª Æž Ì Ȩ̂‚oÌ ¥‚o ž§‚oƨ ¸­VÓVæ×â2±¸\ÆÚÑÙøŸÃ¡Ì¹ZÙøÆ¯¡Ì¹LÙøÌ Ì Ê Ã¡!Ê ÿÌߟáÌ ¹߯¯¡Ì ¹ßÌ ¹öÊ á̹ÌÊ ¢ßÿšß¢ÙøšÙßš­GtÆÙŅ̃„ÅÌޟˡޢƯ¡¹ ¹ÞøÌ¹öÌ­ 4ÆÙÑÌ¥ƒ é¤úÌÞŸË¡ÞÆ¯¡¹ ¹Þÿ̹öÌ­ 6ØøŸË¡ŸÌØøÌØÙ𨸸ÌØøÚšØøÌٟáö­,ÆØÑÆ žÝÌÞÆÑÞ¢šÞ¢ §‚ašÞ¢§‚nšÞ¢êšÖ§‚aøÓÞ¢¥ƒ é¤úš¥ƒ é¤¢ÝšÖÝÓ­RÖ¦INPUT ÐÎÖ¦INPUT ÐΓ„¡Ö¦INPUT ÐÎÖ¦OUTPUT ÐÎÖ¦OUTPUT ÐΓ„¡Ö¦OUTPUT ÐÎÖ¥„ÅΧ„ÅÌØŸË¡Ö¥ƒ 餢آΓ¡ÖÇ0ÓØøÌ¹öÖ¥„Åέ+ž§‚2§‚0„¡«‚2ÖÆ¼ Ó¹òÌïá§‚3§‚nÄ¡ÖÇLÓÖÓÖÎ ïáÖÓÖÎ ïáÖÓÖÎ ïá§‚3§‚nÄ¡ÖÇMÓÖÓÖΧ‚nç‚3“„¡ÖÎï³€‹¡ ïÌÖÓÖÝιöïË¡弄¼‹Ü„“¡ÖÓÖÆ¼ ÓïÇ¥ƒ¼œ‹¡ô­¯Q ÒzÒ@zâ V D xü L<înˆV¼¬2f0§‚2§‚0„¡ ÖÆ¼ Í¹.ÖÆ¼ ÍÖÆ¼³ œÇ… Í§‚oŸÃ¡öÖÎ ­0NØÅÌÚÙÇØÇ€Ž�‚šÛ¡ ÚÚøÇÿ••š­(ÙÚá̹îÙŸÃÚŸÃ�¡Ì¹ðÙùÚùË¡'Ùùá ÖÙúÚÎ̹Úùá ÖÙÚúÎ̹̹òÙù¹ö̹ôÖÙúÚúÎ̹ôÙ§‚`ÃÚ§‚`Ã�̹xÖÙúÚúÎ̹lÖÙÎÖÚ΄“¡Ì¹AÖÙÎÖÚ΄¡Ì¹/ÙúŸÃÚúŸÃ�¡Ì¹ÖÙúÆÆÎ ÖÚúÆÆÎ ÞÃÝÄÜÛÄ̹¬¹Ї}pf”–­ ôŸÌݚ弄¼‹“¡Ö2ÎÖÆ¼¥ƒ¼œ Î弄¼‹¡ôï%á?§á§‚c̹(Æ žÞ§‚_¨ Þ¢§šÞ¢ŸšÆ Ç‚žÊ §¨€‚Ê «Ý¥¨ÖιöÌ ï(Ãð`‹„¡ðáÌ ¹Ì ÖÎïádÖ ÆÎßÌ Ê þÌÝÊ ¢¨Ê Ë¡AÞ§‚eá Ê áÝÝø‘š¹-Þ§‚dá"Ê áÆ žÊ šÊ ¢Ýø¢¼’½ÝÊ š¹ÖiÎÖιTï"áÊ á§‘«§‚eÌÝ¥¨Öι5ï$á"Ê á §¢§¢¼’½§‚dÌÝ¥¨ÖιÖjÎÖÆ¼ ÎïÆ¼‹“¡Ö>ÎÖÆ¼ ÎÜÞš­  v¥ƒ 餸Ìڟá ¥ƒ 館š¹8ÚÆØžÌÛáÖeÎÙüŸÃ¡Ì¹ ÙüÆØžÌ¹öÛá٢ؚ¹Ù¢ ؚآ ŸšØ¢Ÿš­<dØŸË¡,ØÌÙ£`‹¡Ù£ áÙ£ á Ù£¡ÖuÎÖÙüÎ ÖÙýÎ ­: «§‚r•®®Ä¡6Ú̹̥ؕƒaؤøÅ¡Ö§‚?ë‚¥ƒaؤø•Î ¹ Ö¥ƒaؤøÎ ØÙáöÖíÎ Ö§‚r•Î Çÿë•§‚?É¡ÖÇEι ¥ƒ÷í¤§‚?낚ÖΫ‚?«‚8­k ˆ ë‚§‚MÅ¡ ÖÇýΫ‚7«èëÂØ¿ë‚«­( ë„¡ÖÎ ë‚§‚MÅ¡ ÖÇΫ‚7«ÖØÆÆÎ§‚9§‚-áèëÂÚ¿èë‚ÂÙ¿¹ èëÂÙ¿èë‚ÂÚ¿ë‚«­X ØÌÛùá ÙÛüšÚÛûš¹"ٚا‚cáÚÇÿš¹ØûŸË¡ÚØû£ š¹Úš­> ««‚4«‚Ÿ¥€—ÂÇÿž §‚1¡5Ö¥€—¥‚C¥ˆ9Γ¡#Ö¥ˆ9ϧ„¼«§�«�¥€—¥ªÿ§‚/«‚4«‚1¹Ö¥€—¥‚B¥‰wΓ¡ÖÇ/ÎÖ¥€—Î¥€—¾Çÿ•Å¡ÖÇέ†Ù¿ۢ|ÚøÂ¾§‚Wá̹dÛ¢|ÚøÂ¾¥„½¼‹“¡/ÙÂÙ¾‚¿ÙÙ¾ÂÛ¢|ÚøÂ¾¿ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏÚš¹öÛ¢|ÚøÂ¾«�ÚøÇÿÉ¡ÚÚø‚š¹ÖÛÏښ̭g †êØ‚Çÿ?Å¡ ÖÇÚΫ¹êØ‚«­"§‚A‚«‚AÖÎÖÎîP ¥€—îž ‚«§‚5¡ê«‚Q¹ë«‚Q­4Ìî‚«¥€—î¾ Ë¡ö—¾Å¥€—î¾Æ¼‹“�¡Fî•«î‚«—¾Å¡Öιô¥€—)Ã¥€—î¾*Ä¥€—î¾}Ã�¡òî‚¥€—î¾*«Ì­C@q |ئªÿØÌÖÆØÇÿÏÖÆ¦ ÇÿÏÆªÿØØ¾Â¥€—î‚«—¾Å¥€—î¾ Ã�¥€—î¾}Ã�¥€—)Ã¥€—î¾*Ä�¡öî•«Ö ÎÌ­k� xÌÖ³@ Î¡ Ù¥€—î¾|ڹ̭6!ÌÖ³ÿ  Î¡H¥€—î¾-á,Ö³ÿ Î¡Ù¥‚ö¥€—î¾0•¤ø“š¹Ì¹Ù¥‚ö¥€—î¾0•¤øš¹Ì­j"¥€—î¾=áFÖÆÎ"ÌÙÖÆÎ!„¡ÖÆÎ"¡Û¡ÜÚ�̹Üڄ̹̹öÙ“¡ ̹ Ü¡+̹-̹¥€—î¾ÌÖ ÎÌ­R l §‚6“¡îÆ€‚³’’ ½Æ€’³@ ( ½Ö³ Î¡ðÖÆ€‚¼ Î¡ò¥€—î¾¹öÖÆ€’¼ Î¡ Ö¥‚[ÖΠιôÖÆ€’¼ Î¡ Ö¥‚PÖΠιôÖÆ€’¼ Î¡ Ö¥‚EÖΠιô§‚P„“¥„¿¤ø‹„¡Ö¥…÷ÏÖ Î̹ôÖÆ€’¼ Î¡ Ö¥‚DÖΠιôÖ!~” Î“¡¹ìÖÆÎ§‚1¡ÖÇ*ι쫂1Ö¥ˆ9ÆÏÖ¥ˆ9Ï«‚Cî«„¼¥¥€—ªÿ§�«�§‚4«‚/ÖÎÖÎ ž¹g¬Cr¹`ñ mèÓºš"$&(*,.02468:<>@1DFHJL­PR(VXú^Ú¹ Ö ÎÌ­¡ÐÌ€‚Ì€�Ê€‚¡î‚«î‚«Ê€�‚Ì€�—¾Å¡ ÖÇÊÎÖι)ÆÊ€�•Â¥€—¥€—î¾'áöÌ€‚¥€—'Ë¡ôÊ€�•Ì€�%«« Ê€�«Ê€�á Æ•¾«¹-§‚pÌ€ƒÊ€ƒšÊ€ƒ¢Ê€�šÆ•ÂÊ€ƒ¢•ÂÊ€�ž§‚p«­¨ ƒ º#ÌÌ Ì Ì Ì Ç'ÌÇ'ÌîÌî‚«¥€—î¾0É¥€—î¾9Å�¡öî•Ì ¥€—î¾.áS¥€—.Ë¡GÌî‚«îÌ¥€—î¾³ÿ‹“¡ÖÇÉÎ¥€—î¾³ÿ‹¡î‚«¹ôî•Ì ¥€—î¾³ ‹¡\Ìî‚«¥€—î¾-á î‚«‘Ì ¹¥€—î¾+áî‚«îÌ¥€—î¾³ÿ‹¡î‚«¹òî•Ì Ê ÝÉ¡ÖÇÎØábÌß®Ê ®È¡JÊ̹ÛÐÌÜÇÿ †Ã¥€—Û¾0•Çÿ ŽÅ„ÜÇÿ †Å�¡ Ê ÌÖÇËÎ¹Ü �¥€—Û¾0•‚ÌÛÊáð"«« Ü«¹èÆнß®Ê ®È¡%Ê̹ÛÐÌÆÆ¼ Š�¥€—Û¾0•Šƒ½ÛÊáîÊ ®Þ®Ä¡+ÊÌ¹Û•ÌÆÆ¼¥€—Û¾0•ÛÞ•‚ž$‰‡ƒ½ÛÊáìÌ Ý®Ê ®È¡Ê̹ÛÐÌÊ �¥€—Û¾‚0•Ì ÛÊáêÊ ‘áÆÆ¼Ê ž$‡½¹ ÆÆ¼Ê ž$�½$«« ²ž¶š¶¢Æ¼½¶«î•«­f Ñ8ëFj$¡0—¾È¥€—î¾ Ã¥€—î¾ Ã�„¡î‚«¹ô—¾È¡¹Öιò« /«¥€—î¾¹îÖÎ#¹ìÖÎ$¹ì¥¥€—¥�¥¥ ¥ž ¹ìÖιð¹ì¥€—*á î‚«Öι𹫹쫹쫹쥀—.á î‚«#«¹«¹ì¥€—=á î‚««¹«¹ì«¹ì«¹ì«¹ì«¹ì'«« ¹ì(«« ¹ì(«« ¹ì'«« ¹ì)«« ¥€—¹ « î‚«¹ « î‚«¹ ¬=>¹¹ì)« « ¹ì)«¥€—=á « î‚«¹ « ¹ì¬'{¹ìò×…Ø{×w "$&(*,.02Ô»‰ZT2À=?ACEGIKMOQSUWY[]_acegikmoñlðürt}�ƒ…‡‰‹��‘“•—™›�Ÿ¡£¥§©«­¯Ÿï/áÖÇ)Îî‚«§‚[„¡¹ð­Ð  ,ØÉÌÛ¡ Ø‚Çÿ‚ÌÙØÇ†šÚØÇŽšÛ¡ÙÙøÇ€‚š­2ÌÙŸË¡Ùùá ÙüÙû§‚cÄÌ­"ž§‚JÉ¡ž«‚J§‚4§‚P„“�¥„¿¤ø‹„¡öÖ¥…÷®§‚AÏ ÖÚíÏ ÖÚ§‚sÏ ÖÚ§‚QÏ §‚5¡ Ö¥…÷® Ϲ֥…÷®§‚=Ï ÖÚ Ï¥€—¾lÅ¡5Ö¥…÷®Ö¥€—ÆlÏÆÏÖÚÏÖ¥…÷®Ö¥€—Æm¥€—¾l•ÏÆÏ¹ Ö¥…÷®¥€—ϧ� áÖ¥…÷Ϲ֥…÷ϧ‚4¡ò¥„¿¤ø‹¡Ö¥…÷¦ERRORÎ%¥€—¾ ¥€—ž ÌÙ¥€—¾É¡E¥€—Ö¥€—ÆÙ‚¥€—¾Ù•ÏÆªÿ®§‚Ÿ®È¡"Û̹ØÐÌ¥‚ Ø•¤¥‚ Ø•¤øÙ•šØÚáô¥„¿¤ø‹¡qÖ¥†y®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥†y® ÏÖÚ¥€—ÏÖÚÏÖ¥†y¦Î%¥„¿¤ø‹¡qÖ¥…u®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥…u® ÏÖÚ¥€—ÏÖÚÏÖ¥…u¦Î%¥„¿¤ø‹¡qÖ¥„ó®¦Error at line ÏÖÚ§‚AÏ ÖÚ¦ in ÏÖÚ¥‚xÏÖÚ¦ of ÏÖÚ¥‚tÏÖÚ:ÏÖÚÏÖ¥„ó® ÏÖÚ¥€—ÏÖÚÏÖ¥„ó¦Î%­™ùƒ ÈÚÌÚ“ÌØøÇ@ÄÙ^Ë„¡ÖÇιôÙ¹ØØø�Ü‚š¹öØØø�Û‚š¹xØØø†š¹p¬+^¹h$  "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfv­ ¶é®®Ä¡IÝ̹ە̥ƒ Û¤øÌÚŸË¡,ÚÆ¥žáڣ؋¡¹k¹§‚.¡ÖÇÁιŸÌ¹ŸÌÛÜáö§‚.¡JÖhÎØ‹¡§‚m̹9Ø‹¡§‚k̹,Ø‹¡§‚j̹؋¡§‚l̹؋¡§‚i̹§‚hÌÙÚšÛ«­œ ²؟áÙŸš¹ ØÙ¥žË¡ÙŸš­ ïÆ¼‹“¡Öιö­ ÌÖÙΡÙÿÌ­Æ?©Æ ¿Ø¾Å¡ô ØÂ¾Ãؾń¡/ØÌÖÆ¦ ÏÖÆÖØÆ€„ؾ•ÏÆ€„ÇÿÏÆªÿ ØØ¾Â¾Ã¡ØØ¾Â ¿ÖØÆÏÌÙÅ¡eØÌÖÆÖØÆ€„Ù•ÏÆ€„ÇÿÏÖÆÖ¦ Æ€„Ù•Ž•ÏÆ€„ÇÿÏÖÆÖØÆ€„Ù‚ؾٕÏÆ€„ÇÿÏÆªÿÖØÆÏ̹ö­n ÚÌëÌǧ‚Y•ÌÙÚÅ¡ÚÌèÛÂ¥‡9§‚YÂÙžÛق̧‚YÙ‚«‚Y§‚YÇÃØ�¡,¥‚¼ ¯§‚,„¡Ö¥†ûÏ«‚Y§‚Z‚«‚Z¥‡9ÂÇž ÚÙ•ÌÚáö­n|ÖÆ†ûƇ9ÇÏÖÆ†û¦WORKCODEÏÖÆˆ9ƈwÇÏÖÆˆ9¦INCLFILEÏÖÆ‰wƉµÇÏÖÆ‰w¦WORKSYMÏÖÆ„óÆ…1ÏÖÆ„ó¦OVTPVTÏÖÆ…uÆ…³ÏÖÆ…u¦ANALFILEÏÖÆ…÷Ɔ5ÏÖÆ…÷¦LPÏÖÆ†yƆ·ÏÖÆ†y¦ERRFILEÏ«‚:Ö¥„ó¦OUTPUTÏÖ¥„óÏÖÍÖÍÖ¥ƒ¼¥ƒ¼œ³ … Î§‚3¡ ïË¡ÖÇOι ïË¡ÖΧ‚A‚«‚AÖÎ¥‚¼ ·¡ÖÍÖͧ‚:¡ÖÎÖÍÖ¥†ûÏÖÆ†ûÏÖÆˆ9ÏÖÆ‰wÏÖÆ„óÏÖÆ…uÏÖÆ…÷ÏÖÆ†yÏ­G6 ´<~ƒƒ‚ |€ð.¬ F0œþ:`Ԣʀ¨4Àb��`�ÌHBpN'§‚9§‚-á ٕؕ€ŽÌÌØÙ‚É¡M̮ٮȡÞ̹ÜÐÌÛÛ‚ÌÜÝáö®Ø®È¡#Þ̹ÜÐÌÚÛ‚ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáô¹0‘̮ٮȡ#Þ̹ÜÐÌÚÛ•ÌÛÇÿ†‚É¡ÛÛ‚ÌÜÝáòÖÚέ$Xv ¬ ÖÆ¼ ÎÖñÓòÃñ§‚cÄ�¡FòáÖι:òá5ñ§‚cá+§‚pÌܚܢšÜ¢•Âó¿§‚p« ¥ žñ§‚_¨ ñ¢šÖιñŸË¡ÖÇçÓ§‚_« ­zÖ²¼"œ ÎÖΟÌÌÌñŸË¡)ñÌÝùáÝúŸË¡ÝúÌÞøÌÞùáÞû̹ÖÇÌÓïáòÖÓÖ²¼"œ ÆÆÓÚ‚ÌٟáÖÇžÓ¹fÙùË¡ÖÇ¢Ó¹XÙúŸË¡RÖØÓا‚dÃ�¡ÖÇŸÓ¹=ÖÙúþØÓ¡-ÙûÌØŸË¡ØÌÝüÜá ÝøÌÝú̹¹Ýû̹öÙøÌŸÌ¹ÖÇÍÓ¹ôÖÛÎÖέ ¢A ô§‚3¡ÖÇPÓïáÖ` ÆÓÖÓ¹ï!á §‚gÌÖÓ¹ŸÌ؟ˡأ áÖØ£ ÎÖØ£ ιÖÇÜÓ¹ÖÇÝÓÖέfÌêÌÖÇÿ†‚ÓÖÎÖ8ØÎÖVÎÖ2ØÎÖ²¼"œ ÎÙñ£‚ÌÙÇÿÉ¡ÖÙιÖÇÿÎÖOÎï˫쓡ÖÓì¡öÖ2ØÎÙÇÿÉ¡ ØÙ†‚‚«¹ÇÿÌê§Å¡ê«Ø«¥ žñ§‚_¨ ñ¢Ùš­‚ ¤êÌÖÇÿ†‚ÓÖ²¼œ ÎñÌÖ2ØÎïáÖÓ¹ÖǶÓÖ²¼œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇèÓïáÖÓ¹ÖÇ·ÓÖ²¼ œ ÎÖÎ ñŸË¡ ñ§‚eË¡ÖÇéÓÖOÎÖ2ØÎÙ£ÇÿÉ¡ ØÙ£†‚‚«ê§Å¡ê«Ø«Ù« ­ÀïáÖ ÆÓÖÓØþŸË¡ÖØþø�Χ‚e« ­,Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÛÓ¶¹ Öι1Öι+¬¹$  "/ÖOέlÖ²¼"œ ÎÖÎñŸË¡ ñùË¡ÖÇÞÓïË¡ÖǪÓ¹ÖÓÖ²¼ œ ÎÖOέN¶¡3Ö²¼ œ ÎÖÎñŸË¡ñùË¡ÖÇìÓ¹ ñ§‚aË¡ÖÇÓ¹ÖÎÖOέJñ§‚dá ÖÆÎ ÖRÎÖ8ØÎÖRÎÖ6ØÎê•«¹ÖRέ4(¶¡=Ö²¼ œ ÎÖÎñŸË¡%ñùË¡Ö}Ó¹¶³@‹ñ§‚aË„¡ÖÇ(Ó¹Öζ¹$ÖO Χ‚b« ¹;ÖO Χ‚b« ¹/ÖOΧ‚c« ¹#¬¹+! -­š+Ö²¼ œ ÎÖÎñŸË¡ ñùË¡ÖÇÙÓ¶¹ÖιÖιÖι¬!¹  ÖOέZ,Ö²¼"œ Î² ¥ ¨ÖÎÖ8¶ÎïáÖÓ¹ÖÇ=ÓÖ²¼"œ ÎÆ¥ ¨ÖÎ ¶ ŸË¡v¶ ùË¡ÖÇ9Ó¹f¶ ü¡ÖÇ<Ó¹XÖÚ¶ úÓ“¡ÖÇ8ÓÖ¶ úÆÆÓ ØÙ•¸§‚D„“¡ ÖÙÎÖØÎÖÎÙË¡ÖÙ€ÎÙÅ¡ÖιÖÎÖ8¶Î­Ì.¸Ö²¼"œ Î²¥ ¨ÖÎÖ8¶Î¶ŸË¡B¶ùË¡ÖÇÓ¹2¶ü“¡ÖÇ;Ó¹#¶ý˸Ö¶úÆÆÓ ÖØÙ•€ÎÖ8¶Î­v/Ø¡-Ö6¶ÎÖBΧ‚D„“¡ÖÎÖ¶ÎÖÎÖ$¶ ûøÎ¹¶¡Ö@¶þ¶ýιÖBέP0ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ÖÆÎ ¶&áÌÖÎ.ïáÖÓ¹ÖÇ>ÓÖÎ/¹ÌÖÎ/ïáÖÓ¹ÖÇ?ÓÖÎ.ߟËÊ ŸË„¡ßûÊ ûË¡ÖÇ:ÓÖÎÖÎÖ8ÚÎÖÊÎ Ö6ÚÎÖ6ÛÎÖIÎÖ!ÊÎÙ¡Ö6ÜιÖ6ÞÎÖ6ÚÎÖPÎÖ.ÚÎÖÙ“Î0Ù¡Ö6ÞιÖ6ÜÎÖ6ÚÎÖÙÎ0Ù¡Ö#ÎØ¡Ö;ιÖ?ιءÖ:ιÖ>ÎÖÎÖ9ÊÎÖÊÎ ê�•«­"-¥ƒ ¶¤ü¸¶ŸË¶“„¡¶ù§á¸¹¶ú¸¹ö­&:<ï"Ë¡ÖÓO¹òéÌ¥ƒ Ú¤ùˡڕ̹öÌÖÎ<Ù¡Ö9Øûι]ÌÚÅÙ“„¡Û‚ÌÚ•ÌÖÎ<¹ôÙ“¡ÖǧÓ¹7ØøÃ¡¥ƒ Ú¤¢¥ƒ Ú¤û‚šØ¥ƒ Ú¤ûšÖØø‚�ÎÖ§‚nÛ•ÎÖÎÖÓ­bŠ  ;ž«‚J§‚J§‚K•§‚]†«‚\§‚\É¡«‚\§‚\Å¡«‚\² ž §‚\¹öÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ «‚M¥Çž¹ôÇÿ«‚M¥Çž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹ôÇÿ«‚M¥Ç ž¹rÇÿ«‚M¥Ç ž¹cÇÿ«‚M¥Ç ž¹TÇÿ«‚M¥Çž¹EÇÿ«‚M¥Çž¹6Çÿ«‚M¥Çž¹'¬¹ ÷êÝÐö©œ�‚uh[NA4ž«‚L§‚\«‚^­7 bD§‚oÌØøŸË¡Øø¢ šØù¡§‚8¡ÖÎ Øû«‚rØú«Ø£«‚nØÿ«Øþ«Øü«‚s§‚o¢ ž!§‚o£ «‚o§‚3¡ §‚o£ ŸÃ¡Ÿ«‚o­b«‚4§‚Ÿ É¡ §‚Ÿ‚«‚Ÿ¥‚ §‚Ÿ•¤‚ª§‚Ÿ•¤Øš¥‚¥‚¼ Ø—œ  ½ ØÇ,Ç/”‹¡«‚: ž­VÙ¾ÚÉ¡ÙÌÖÆÙÇÿÏÖÆ¦ ÇÿÏÆªÿ¹öÌÚ®ÚÛ•®Ä¡Þ̹ܕÌÙܾ Ë¡ÌÜÝáô­P� X&ØÙÂ^¿Ù•ÌÚ ŽÌÚ †ÌØÙÂ0Û‚¿ÚÃÙÃ�¡öØÙ•Â#¿­) 6'ÆÙª@Úɡ̧‚Ÿ” Ì€¨Ê€¨·¡ðÆ'¦ªÿ®€ª§‚Ÿ®€©È¡ôÊ€ªÌ&¹Ê&ÐÌ&Ê&Ê€¨‹¡k¥‚ªÊ&•¤ø ɡ̀§¹¥‚ªÊ&•¤ødɡ̀§¹Ì€§ÖÆ'Ú¥‚ Ê&•¤ø‚Ê€§Î&¡(ÖÆ'Ú¥‚ Ê&•¤ø‚¥‚ªÊ&•¤øÎ'Ê€¨Ê&—… Ì€¨Ê&Ê€©Ã¡öƾÆ'¾‚DŽšWÖØ®€©ÆÏÖÊ€©ÖÆ'Æ€ªÇ„ƾ•ÏÆ€ªÏÖÊ€©ÏÖØ®€©ÖÆ'Æ€ªÇ…ƾ•Æ'¾Ç„•ƾ‚ÏÆ€ªÏÖÊ€©Ï¹ÖØ®€©ÆÏÖÊ€©Æ'ÏÖÊ€©Ï¹ò­'…&J%PASOPSYSMC‰Bll 4MESSAGE USE A 32K 2 STACK 6 EX. BUFFER 2 CELL $LPT MESSAGE NO MTAPE NO PLT 3 DISK 3 DIRECTORY RTC NO PWR FAIL MESSAGE SYSGEN IN SYS2L.SV OPENFILESPIErŽ� &PROCEDURE OPENFILES; BEGIN WRITELN(' INPUT FILE'); READLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,LINE,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKIN); OPEN(DISKIN,LINE,SYSERROR,ERRORNUMBER); WRITELN(' OUTPUT FILE'); {USE BELOW FOR RDOS FILE DISKOUT MUST BE INTEGER} {RvEADLINE(0,LINE,NBYTES,SYSERROR,ERRORNUMBER); GCHN(DISKOUT); DELETE(LINE,SYSERROR,ERRORNUMBER); CRAND(LINE,SYSERROR,ERRORNUMBER); OPEN(DISKOUT,LINE,SYSERROR,ERRORNUMBER); } {USE BELOW FOR PASCAL FILE - DISKOUT MUST BE TEXT} READLN(LINE); FILETITLE(DISKOUT,LINE); RESET(DISKOUT); END; {OF OPEN FILES} 198002ºÏ‘‘  1 C 3049 44.55 10 2 CC 3064 3 C 3065 223.70 32 4 C 3066 250 27 5 C 3069 96 4 6 CC 3070 7 C 3073 1340.63 25 8 C 3075 23 5 9 C 3076 100 24 10 C 3078 22.50 4 11 EM 810 17 15 12 EM 811 604.28 15 13 EM 812 643.69 15 14 D 140 34 15 D 8347.06 34 16 D 2086.75 17 C 813 980.89 14 18 C 817 205.18 12 19 CC 814 20 C 3081 35 4 21 C 3067 62 1 22 C 3083 34 6 23 C 3071 330 20 24 C 3085 50.99 5 25 C 3087 704.45 17 26 C 816 1581.88 12 27 C 819 1581 12 28 D 1468.38 34 29 D 871.98 34 30 D 13056 34 31 D 12436.99 34 32 D 435.99 34 33 C 3068 10 18 34 C 3086 138.02 25 35 C 3088 1040 23 36 C 3090 5324 9 37 C 3091 250 8 38 C 3092 206.59 20 39 C 3093 15.40 22 40 C 3094 120.70 4 41 C 3095 20 26 42 C 3096 775 9 43 C 3097 32 10 44 C 3098 74.05 22 45 C 3099 4000 21 46 C 3101 1557.44 25 47 C 3104 40 33 48 C 3103 42.50 10 49 C 3105 504.39 25 50 C 3106 119.98 4 51 C 3107 793.50 9 52 C 3108 1537.50 27 53 C 3109 3394.50 6 54 C 3110 25 3 55 EM 818 140 27 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 59 EM 835 17 15 60 EM 836 181.73 14 61 EM 837 482.61 15 62 EM 838 2742.40 14 63 CC 839 64 EM 840 622.50 27 65 EM 821 195.18 12 66 EM 822 1415.95 12 67 C 3113 79.95 5 68 C 3114 69.95 10 69 C 3115 200 20 70 C 3116 225 27 71 C 3117 4.65 10 72 C 3119 48 18 73 C 3120 1940.43 25 74 C 3121 269.78 17 75 C 3123 12.24 4 76 C 3124 93.27 15 77 C 3125 181.78 15 78 C 3126 243.77 14 79 C 3127 68.45 23 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 83 C 3133 125.81 22 84 C 3134 20.47 22 85 C 3135 85.15 22 86 D 435.99 34 87 D 906.32 34 88 D 435.99 34 89 D 1628 34 90 D 3000 34 91 D 11481.06 34 92 C 3112 25 26 93 C 3118 1.30 11 94 C 3122 100 26 95 C 3128 7.86 22 96 C 3138 185.26 4 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 102 C 3144 42.08 22 103 C 3145 46.50 3 104 C 3146 36.70 11 105 C 3147 27.73 10 106 C 3148 25.98 5 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 110 C 3152 1000 25 111 C 3153 227.40 25 112 C 3154 100 8 113 C 3155 160.43 4 114 C 3156 835.38 25 115 C 3157 781.68 25 116 C 3198 28.30 3 117 EM 823 1000 12 118 C 3158 21.92 5 119 C 3159 12 33 120 C 3165 638.45 27 121 C 3167 15 5 122 C 3160 155.47 17 123 C 3161 34 10 124 C 3163 594 17 125 C 3166 465 4 126 C 3168 83.85 3 127 C 3169 200 24 128 D 1834.55 34 129 D 435.99 34 130 D 802.29 34 131 EM 824 333.14 15 132 EM 825 378.68 15 133 EM 826 2590.51 14 134 EM 827 425.95 12 135 EM 828 82.50 26 136 EM 829 38.70 14 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 141 D 905 34 142 D 594 34 143 D 520 34 144 D 435.99 34 145 DM 18.88 146 C 3162 39.95 18 147 C 3164 130.46 14 148 C 3170 120.97 4 149 C 3171 18 33 150 C 3172 36.70 10 151 C 3173 947.50 25 152 C 3174 80 26 153 C 3175 204 5 154 C 3177 496.56 25 155 C 3178 136.20 25 156 C 3179 729 17 157 C 3180 170 23 158 C 3182 121.30 11 159 C 3183 25.91 22 160 C 3184 27 17 161 C 3186 10.08 23 162 C 3200 1020 27 163 D 13331.89 34 164 D 11943.74 34 165 D 4546.81 34 166 D 129.24 34 167 D 3229.35 34 168 D 715 34 169 C 3176 50 22 170 C 3181 950 7 171 C 3185 125 23 172 C 3187 174.75 23 173 C 3188 290.64 4 174 C 3189 1372 27 175 C 3190 3.28 5 176 C 3191 18 5 177 C 3192 5.68 23 178 C 3203 100 27 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 182 C 3196 50 21 183 C 3199 26 33 184 C 3201 2764.81 27 185 C 3202 948.17 25 186 C 3204 55.20 5 187 C 3205 14.25 7 188 C 3206 10 6 189 C 3207 7.58 5 190 C 3208 60.59 2 191 C 3209 250.65 25 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 195 EM 846 3584 14 196 D 531.21 34 197 EM 843 1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 202 C 3210 720 27 203 C 3211 69.37 2 204 C 3212 1.81 11 205 C 3213 176.55 25 206 C 3214 10.46 25 207 C 3215 18.28 5 208 3216 64.28 5 209 C 3217 547.32 17 210 C 3218 136.48 17 211 C 3219 48.60 10 212 C 3220 170 23 213 C 3221 10 8 214 C 3224 227.40 17 215 C 3225 36 5 216 C 3222 450 27 217 C 3223 10.64 5 218 C 3226 93.71 4 219 C 3227 74.13 2 220 C 3230 31 26 221 EM 851 4000 36 222 C 3229 2774.75 23 223 C 3228 102.08 4 224 C 3231 35 18 225 D 4888.40 34 226 D 3435.99 34 227 EM 852 1527.87 12 228 C 3232 125 23 229 C 3233 3654.15 23 230 C 3235 37 33 231 C 3236 42.50 33 232 C 3237 2282.26 6 233 C 3238 138.17 33 234 C 3239 95.64 2 235 C 3240 3.70 5 236 C 3241 4.33 5 237 C 3242 35.39 18 238 EM 854 48.65 12 239 EM 853 540 15 240 D 3148 34 241 D 296.31 34 242 D 1403.43 34 243 D 174 34 244 D 2600 30 245 C 3243 28.20 3 246 C 3244 341.40 10 247 C 3245 500 25 248 C 3246 328.44 10 249 C 3247 784.13 25 250 C 3248 125.30 11 251 C 3249 5.76 23 252 C 3250 50 24 253 C 3252 1760 27 254 C 3251 100 2 255 C 3253 43 1 256 C 3254 290.77 4 257 C 3255 100 2 258 C 3258 42.50 33 259 C 3259 4.60 23 260 CC 3131 261 C 3260 820.84 25 262 C 3261 732.30 8 263 C 3263 50 22 264 C 3264 296.31 23 265 C 3265 168.01 25 266 D 435.99 34 267 C 3082 1350.12 25 268 C 3136 16.00 1 269 C 3216 64.28 5 270 C 3234 298.80 25 271 C 3262 88.41 14 272 C 3268 14.00 26 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 0 2 6 19 63 260 273 274 275 276 277 SEARCH KEY 0 2 CC 3064 6 CC 3070 19 CC 814 63 CC 839 260 CC 3131 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 AMOUNT = 0.000E+00 1 21 255 268 SEARCH KEY 1 21 C 3067 62 1 255 C 3253 43 1 268 C 3136 16.00 1 AMOUNT = 1.210E+02 2 190 203 219 234 254 257 SEARCH KEY 2 190 C 3208 60.59 2 203 C 3211 69.37 2 219 C 3227 74.13 2 234 C 3239 95.64 2 254 C 3251 100 2 257 C 3255 100 2 AMOUNT = 4.997E+02 3 54 103 116 126 245 SEARCH KEY 3 54 C 3110 25 3 103 C 3145 46.50 3 116 C 3198 28.30 3 126 C 3168 83.85 3 245 C 3243 28.20 3 AMOUNT = 2.118E+02 4 5 10 20 40 50 75 96 113 125 148 173 218 223 256 SEARCH KEY 4 5 C 3069 96 4 10 C 3078 22.50 4 20 C 3081 35 4 40 C 3094 120.70 4 50 C 3106 119.98 4 75 C 3123 12.24 4 96 C 3138 185.26 4 113 C 3155 160.43 4 125 C 3166 465 4 148 C 3170 120.97 4 173 C 3188 290.64 4 218 C 3226 93.71 4 223 C 3228 102.08 4 256 C 3254 290.77 4 AMOUNT = 2.115E+03 5 8 24 67 80 81 82 106 118 121 153 175 176 186 189 207 215 217 235 236 269 SEARCH KEY 5 8 C 3075 23 5 24 C 3085 50.99 5 67 C 3113 79.95 5 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 106 C 3148 25.98 5 118 C 3158 21.92 5 121 C 3167 15 5 153 C 3175 204 5 175 C 3190 3.28 5 176 C 3191 18 5 186 C 3204 55.20 5 189 C 3207 7.58 5 207 C 3215 18.28 5 215 C 3225 36 5 217 C 3223 10.64 5 235 C 3240 3.70 5 236 C 3241 4.33 5 269 C 3216 64.28 5 AMOUNT = 8.123E+02 6 22 53 188 232 SEARCH KEY 6 22 C 3083 34 6 53 C 3109 3394.50 6 188 C 3206 10 6 232 C 3237 2282.26 6 AMOUNT = 5.720E+03 7 170 187 SEARCH KEY 7 170 C 3181 950 7 187 C 3205 14.25 7 AMOUNT = 9.642E+02 8 37 112 213 262 SEARCH KEY 8 37 C 3091 250 8 112 C 3154 100 8 213 C 3221 10 8 262 C 3261 732.30 8 AMOUNT = 1.092E+03 9 36 42 51 SEARCH KEY 9 36 C 3090 5324 9 42 C 3096 775 9 51 C 3107 793.50 9 AMOUNT = 6.892E+03 10 1 43 48 68 71 97 98 99 100 101 105 123 150 211 246 248 SEARCH KEY 10 1 C 3049 44.55 10 43 C 3097 32 10 48 C 3103 42.50 10 68 C 3114 69.95 10 71 C 3117 4.65 10 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 105 C 3147 27.73 10 123 C 3161 34 10 150 C 3172 36.70 10 211 C 3219 48.60 10 246 C 3244 341.40 10 248 C 3246 328.44 10 AMOUNT = 1.050E+03 11 93 104 158 204 250 SEARCH KEY 11 93 C 3118 1.30 11 104 C 3146 36.70 11 158 C 3182 121.30 11 204 C 3212 1.81 11 250 C 3248 125.30 11 AMOUNT = 2.864E+02 12 18 26 27 56 57 58 65 66 117 134 137 138 139 140 192 193 194 197 198 199 200 201 227 238 SEARCH KEY 12 18 C 817 205.18 12 26 C 816 1581.88 12 27 C 819 1581 12 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 65 EM 821 195.18 12 66 EM 822 1415.95 12 117 EM 823 1000 12 134 EM 827 425.95 12 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 197 EM 843 1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 227 EM 852 1527.87 12 238 EM 854 48.65 12 AMOUNT = 2.998E+04 14 17 60 62 78 133 136 147 195 271 SEARCH KEY 14 17 C 813 980.89 14 60 EM 836 181.73 14 62 EM 838 2742.40 14 78 C 3126 243.77 14 133 EM 826 2590.51 14 136 EM 829 38.70 14 147 C 3164 130.46 14 195 EM 846 3584 14 271 C 3262 88.41 14 AMOUNT = 1.058E+04 15 11 12 13 59 61 76 77 131 132 239 SEARCH KEY 15 11 EM 810 17 15 12 EM 811 604.28 15 13 EM 812 643.69 15 59 EM 835 17 15 61 EM 837 482.61 15 76 C 3124 93.27 15 77 C 3125 181.78 15 131 EM 824 333.14 15 132 EM 825 378.68 15 239 EM 853 540 15 AMOUNT = 3.291E+03 17 25 74 122 124 156 160 209 210 214 SEARCH KEY 17 25 C 3087 704.45 17 74 C 3121 269.78 17 122 C 3160 155.47 17 124 C 3163 594 17 156 C 3179 729 17 160 C 3184 27 17 209 C 3217 547.32 17 210 C 3218 136.48 17 214 C 3224 227.40 17 AMOUNT = 3.390E+03 18 33 72 146 224 237 SEARCH KEY 18 33 C 3068 10 18 72 C 3119 48 18 146 C 3162 39.95 18 224 C 3231 35 18 237 C 3242 35.39 18 AMOUNT = 1.683E+02 20 23 38 69 SEARCH KEY 20 23 C 3071 330 20 38 C 3092 206.59 20 69 C 3115 200 20 AMOUNT = 7.365E+02 21 45 182 SEARCH KEY 21 45 C 3099 4000 21 182 C 3196 50 21 AMOUNT = 4.050E+03 22 39 44 83 84 85 95 102 159 169 263 SEARCH KEY 22 39 C 3093 15.40 22 44 C 3098 74.05 22 83 C 3133 125.81 22 84 C 3134 20.47 22 85 C 3135 85.15 22 95 C 3128 7.86 22 102 C 3144 42.08 22 159 C 3183 25.91 22 169 C 3176 50 22 263 C 3263 50 22 AMOUNT = 4.967E+02 23 35 79 157 161 171 172 177 179 180 181 212 222 228 229 251 259 264 SEARCH KEY 23 35 C 3088 1040 23 79 C 3127 68.45 23 157 C 3180 170 23 161 C 3186 10.08 23 171 C 3185 125 23 172 C 3187 174.75 23 177 C 3192 5.68 23 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 212 C 3220 170 23 222 C 3229 2774.75 23 228 C 3232 125 23 229 C 3233 3654.15 23 251 C 3249 5.76 23 259 C 3259 4.60 23 264 C 3264 296.31 23 AMOUNT = 8.815E+03 24 9 127 252 SEARCH KEY 24 9 C 3076 100 24 127 C 3169 200 24 252 C 3250 50 24 AMOUNT = 3.500E+02 25 7 34 46 49 73 110 111 114 115 151 154 155 185 191 205 206 247 249 261 265 267 270 SEARCH KEY 25 7 C 3073 1340.63 25 34 C 3086 138.02 25 46 C 3101 1557.44 25 49 C 3105 504.39 25 73 C 3120 1940.43 25 110 C 3152 1000 25 111 C 3153 227.40 25 114 C 3156 835.38 25 115 C 3157 781.68 25 151 C 3173 947.50 25 154 C 3177 496.56 25 155 C 3178 136.20 25 185 C 3202 948.17 25 191 C 3209 250.65 25 205 C 3213 176.55 25 206 C 3214 10.46 25 247 C 3245 500 25 249 C 3247 784.13 25 261 C 3260 820.84 25 265 C 3265 168.01 25 267 C 3082 1350.12 25 270 C 3234 298.80 25 AMOUNT = 1.521E+04 26 41 92 94 135 152 220 272 SEARCH KEY 26 41 C 3095 20 26 92 C 3112 25 26 94 C 3122 100 26 135 EM 828 82.50 26 152 C 3174 80 26 220 C 3230 31 26 272 C 3268 14.00 26 AMOUNT = 3.525E+02 27 4 52 55 64 70 120 162 174 178 184 202 216 253 SEARCH KEY 27 4 C 3066 250 27 52 C 3108 1537.50 27 55 EM 818 140 27 64 EM 840 622.50 27 70 C 3116 225 27 120 C 3165 638.45 27 162 C 3200 1020 27 174 C 3189 1372 27 178 C 3203 100 27 184 C 3201 2764.81 27 202 C 3210 720 27 216 C 3222 450 27 253 C 3252 1760 27 AMOUNT = 1.160E+04 32 3 SEARCH KEY 32 3 C 3065 223.70 32 AMOUNT = 2.237E+02 33 47 107 108 109 119 149 183 230 231 233 258 SEARCH KEY 33 47 C 3104 40 33 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 119 C 3159 12 33 149 C 3171 18 33 183 C 3199 26 33 230 C 3235 37 33 231 C 3236 42.50 33 233 C 3238 138.17 33 258 C 3258 42.50 33 AMOUNT = 5.356E+02 36 221 SEARCH KEY 36 221 EM 851 4000 36 AMOUNT = 4.000E+03 �T11PA’ ¨½½PROGRAM T11(INPUT,OUTPUT); VAR N:INTEGER; H : REAL; BEGIN READ(INPUT,N); H:=0; WHILE N>0 DO BEGIN H:=H+1/N;N:=N-1; END; WRITELN(H) END. 1978EMP01š ªf½ E 496 1177.09 E 495 1076.21 E 494 392.55 E 493 456.63 E 492 497.88 E 491 574.03 E 490 890.20 E 489 842.19 E 488 788.81 E 487 1787.44 E 486 389.02 E 484 305.68 E 482 626.76 E 481 554.04 E 480 1024.14 E 479 927.20 E 478 1092.27 E 510 304.73 E 509 432.47 E 508 575.53 E 507 502.81 E 506 842.80 E 505 1033.57 E 504 254.00 W 503 702.05 W 502 4521.60 W 501 387.26 W 500 372.80 W 499 561.91 W 498 497.97 E 497 926.48 TLMC� ¬½½ CHATR TOTAL.PA 0; CHATR TOTAL.PX 0 DELETE/V TOTAL.PA XFER TOTAL TOTAL.PA/R CHATR TOTAL.PA *P PASINTERP PASCALO/A/S/V/L TOTAL CHATR TOTAL.PX *P REALPRINTBUN¶½½( PROCEDURE REALPRINT (R : REAL); TYPE SIGNOF = (PLUS,MINUS); VAR I,J,CHARPOS : INTEGER; STR : STRING[15]; SIGN : SIGNOF; PROCEDURE DECDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,' CHARPOS=',CHARPOS);} R1 := TRUNC(R/PWROFTEN (J)); { WRITELN(' R1=',R1);} R := R-R1*PWROFTEN (J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; IF ((J = 6) OR (J = 3)) THEN BEGIN STR[CHARPOS] := ','; CHARPOS := CHARPOS+1; END; END;{DECDIGIT} PROCEDURE FRACTDIGIT; VAR R1 : INTEGER; BEGIN { WRITE(' J=',J,'CHARPOS=',CHARPOS);} R1 := TRUNC(R*PWROFTEN(J)); { WRITELN(' R1=',R1);} R := R-R1/PWROFTEN(J); STR[CHARPOS] := CHR(R1+48); CHARPOS := CHARPOS+1; END;{FRACTDIGIT} BEGIN {do decimal part first} IF R >= 0 THEN SIGN := PLUS ELSE BEGIN R := -R; SIGN := MINUS;END; R := R + 0.005; STR :=' '; I :=8; REPEAT I := I-1 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); CHARPOS := 15-I-3-I DIV 3; IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; FOR J := I DOWNTO 0 DO DECDIGIT; STR[CHARPOS] := '.'; CHARPOS := CHARPOS+1; FOR J := 1 TO 2 DO FRACTDIGIT; WRITE(STR); END; GCHNPI˜ß޽ PROCEDURE GCHN(VAR FREECHANNEL : INTEGER); CONST DOTERTN = 3328; {15B7} DOTGCHN = 8746; {.GCHN} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTGCHN; SYSCALL(REQUEST); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; FREECHANNEL := R2.INT; END; RELEASE(HEAP); END; {PCHAR} CRANDBU4�Žl PROCEDURE CRAND(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTCRAND = 3584; {.CRAND} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; TEMP : STRING[1]; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WRITELN(' ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTCRAND; { APPEND 0 TO END OF STRING} R0.SPTR := FILEPTR; R0.INT := R0.INT+1; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN CRAND = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {CRAND} DELETEBUÊŽ½PROCEDURE DELETE(FILENAME : BIGSTR;VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTDELETE =256; {.DELETE} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; FILEPTR : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(FILEPTR); FILEPTR^ := FILENAME; WRITELN(' ',FILEPTR^); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTDELETE; R0.SPTR := FILEPTR; R0.INT := R0.INT+1; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN DELETE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {DELETE} PCHARPI¶ïŽgPROCEDURE PCHAR(CHARACTER : INTEGER); {PCHAR PUTS A LINE TO THE CONSOLE} CONST DOTERTN = 3328; {15B7} DOTPCHAR = 4096; {.PCHAR} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; BEGIN MARK(HEAP); NEW(REQUEST); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTPCHAR; R0.INT := CHARACTER; SYSCALL(REQUEST); IF ERROR THEN BEGIN MODE := SIMPLE; CALLNUM := DOTERTN; SYSCALL(REQUEST); END; END; RELEASE(HEAP); END; {PCHAR} PLPAÔrr .PROGRAM PLO(INPUT,OUTPUT); LABEL 99; CONST NORW = 11; {NO OF RESERVED WORDS} TMAX = 100; {LENGTH OF IDENTIFIER TABLE} NMAX = 14; {MAX NO OF DIGITS IN NUMBERS} AL = 10; {LENGTH OF IDENTIFIERS} AMAX = 207; {MAXIMUM ADDRESS} LEVMAX = 10; {MAXIMUM LEVEL OF BLOCK NESTING} CXMAX = 200; {SIZE OF CODE ARRAY} TYPE SYMBOL = (NUL,IDENT,NUMBER,PLUS,MINUS,TIMES,SLASH,ODDSYM, EQL,NEQ,LSS,LEQ,GTR,GEQ,LPAREN,RPAREN,COMMA,SEMICOLN, PERIOD,BECOMES,BEGINSYM,ENDSYM,IFSYM,THENSYM, WHILESYM,DOSYM,CALLSYM,CONSTSYM,VARSYM,PROCSYM); ALFA = PACKED ARRAY[1..AL] OF CHAR; OBJECT = (CONSTANT,VARIABLE,PROCMNEMONIC); SYMSET = SET OF SYMBOL; FCT = (LIT,OPR,LOD,STO,CAL,INT,JMP,JPC);{FUNCTIONS} INSTRUCTION = PACKED RECORD F: FCT; {FUNCTION CODE} L: 0..LEVMAX; {LEVEL} A: 0..AMAX; {DISPLACEMENT ADDRESS} END; { LIT 0,A LOAD CONSTANT A OPR 0,A EXECUTE OPERATION A LOD L,A LOAD VARIABLE L,A STO L,A STORE VARIABLE L,A CAL L,A CALL PROCEDURE A AT LEVEL L INT 0,A INCREMENT T REGISTER BY A JMP 0,A JUMP TO A JPC 0,A JUMP CONDITIONAL TO A } VAR CH : CHAR; {LAST CHARACTER READ} SYM : SYMBOL; {LAST SYMBOL READ} ID : ALFA; {LAST IDENTIFIER READ} NUM : INTEGER; {LAST NUMBER READ} CC : INTEGER; {CHARACTER COUNT} LL : INTEGER; {LINE LENGTH} KK,ERR : INTEGER; CX : INTEGER; {CODE ALLOCATION INDEX} LINE : ARRAY[1..81] OF CHAR; A : ALFA; CODE : ARRAY[0..CXMAX] OF INSTRUCTION; WORD : ARRAY[1..NORW] OF ALFA; WSYM : ARRAY[1..NORW] OF SYMBOL; SSYM : ARRAY[CHAR] OF SYMBOL; MNEMONIC: ARRAY[FCT] OF PACKED ARRAY [1..5] OF CHAR; DECLBEGSYS,STATBEGSYS,FACBEGSYS : SYMSET; TABLE : ARRAY[0..TMAX] OF RECORD NAME : ALFA; CASE KIND : OBJECT OF CONSTANT : (VAL:INTEGER); VARIABLE,PROCMNEMONIC: (LEVEL,ADR:INTEGER) END; PROCEDURE ERROR(N:INTEGER); BEGIN WRITELN(' ****',' ':CC-1,'^',N:2); ERR := ERR+1; END;{ERROR} PROCEDURE GETSYM; VAR I,J,K : INTEGER; PROCEDURE GETCH; BEGIN IF CC=LL THEN BEGIN IF EOF(INPUT) THEN BEGIN WRITE('PROGRAM INCOMPLETE');GOTO 99 END; LL := 0;CC := 0;WRITELN(CX:5,' '); WHILE NOT EOLN(INPUT) DO BEGIN LL := LL+1; READ(CH);LINE[LL] :=CH END; WRITELN; LL := LL+1; READ(LINE[LL]) END; CC := CC+1;CH := LINE[CC] END {GETCH}; BEGIN {GETSYM} WHILE CH = ' ' DO GETCH; IF CH IN ['A'..'Z'] THEN BEGIN {IDENTIFIER OR RESERVED WORD} K := 0; REPEAT IF K = KK THEN KK := K ELSE REPEAT A[KK] := ' ';KK := KK-1 UNTIL KK =K; {SEARCH FOR RESERVED WORDS} ID := A;I := 1;J := NORW; REPEAT K := (I+J) DIV 2; IF ID <= WORD[K] THEN J := K-1; IF ID >= WORD[K] THEN I := K+1 UNTIL I>J; IF I-1 >J THEN SYM := WSYM[K] ELSE SYM := IDENT END ELSE {EXTRACT NUMBER FROM ASCII} IF CH IN ['0'..'9'] THEN BEGIN {NUMBER} K := 0; NUM := 0; SYM := NUMBER; REPEAT NUM := 10*NUM +(ORD(CH)-ORD(0)); K := K+1; GETCH UNTIL NOT (CH IN ['0'..'9']); IF K>NMAX THEN ERROR(30) END ELSE IF CH = ':' THEN BEGIN GETCH; IF CH = '=' THEN BEGIN SYM := BECOMES; GETCH; END ELSE SYM := NUL; END ELSE BEGIN SYM := SSYM[CH];GETCH END END; {GETSYM} PROCEDURE GEN(X : FCT; Y,Z : INTEGER); BEGIN IF CX>CXMAX THEN BEGIN WRITE('PROGRAM TOO LONG');GOTO 99 END; WITH CODE[CX] DO BEGIN F := X;L := Y;A := Z END; CX := CX+1; END;{GEN} PROCEDURE TEST(S1,S2 : SYMSET; N : INTEGER); BEGIN IF NOT (SYM IN S1) THEN BEGIN ERROR(N); S1 := S1 + S2; WHILE NOT (SYM IN S1) DO GETSYM END END; {TEST} PROCEDURE BLOCK( LEV,TX : INTEGER; FSYS : SYMSET); VAR DX : INTEGER; {DATA ALLOCATION INDEX} TX0 : INTEGER; {INITIAL TABLE INDEX} CX0 : INTEGER; {INITIAL CODE INDEX} PROCEDURE ENTER(K : OBJECT); BEGIN {ENTER OBJECT INTO TABLE} TX := TX+1; WITH TABLE[TX] DO BEGIN NAME := ID; KIND := K; CASE K OF CONSTANT : BEGIN IF NUM >AMAX THEN BEGIN ERROR(30); NUM := 0 END; VAL := NUM; END; VARIABLE : BEGIN LEVEL := LEV; ADR := DX; DX := DX+1; END; PROCMNEMONIC : LEVEL := LEV END {CASE} END END{ENTER}; FUNCTION POSITION(ID : ALFA) : INTEGER; VAR I : INTEGER; BEGIN {FIND IDENTIFIER IN ID TABLE} TABLE[0].NAME := ID;I := TX; WHILE TABLE[I].NAME <> ID DO I := I-1; POSITION := I; END;{POSITION} PROCEDURE CONSTDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN GETSYM; IF SYM IN [EQL,BECOMES] THEN BEGIN IF SYM = BECOMES THEN ERROR(1); GETSYM; IF SYM = NUMBER THEN BEGIN ENTER(CONSTANT);GETSYM; END ELSE ERROR(2) END ELSE ERROR(3) END ELSE ERROR(4) END;{CONSTDACLARATION} PROCEDURE VARDECLARATION; BEGIN IF SYM = IDENT THEN BEGIN ENTER(VARIABLE);GETSYM; END ELSE ERROR(4) END;{ VARDECLARATION} PROCEDURE LISTCODE; VAR I : INTEGER; BEGIN {LIST CODE GENERATED FOR THIS BLOCK} FOR I := CX0 TO CX-1 DO WITH CODE[I] DO WRITELN(I,MNEMONIC[F]:5,L:3,A:5) END;{LIST CODE} PROCEDURE STATEMENT(FSYS : SYMSET); VAR I,CX1,CX2 : INTEGER; PROCEDURE EXPRESSION(FSYS: SYMSET); VAR ADDOP : SYMBOL; PROCEDURE TERM(FSYS : SYMSET); VAR MULOP : SYMBOL; PROCEDURE FACTOR(FSYS: SYMSET); VAR I : INTEGER; BEGIN TEST(FACBEGSYS,FSYS,24); WHILE SYM IN FACBEGSYS DO BEGIN IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO CASE KIND OF CONSTANT : GEN(LIT,0,VAL); VARIABLE : GEN(LOD,LEV-LEVEL,ADR); PROCMNEMONIC : ERROR(21) END;{CASE} GETSYM; END ELSE IF SYM = NUMBER THEN BEGIN IF NUM > AMAX THEN N BEGIN ERROR(30);NUM := 0; END; GEN(LIT,0,NUM);GETSYM; END ELSE IF SYM = LPAREN THEN BEGIN GETSYM;EXPRESSION([RPAREN]+FSYS); IF SYM = RPAREN THEN GETSYM ELSE ERROR(22) END; TEST(FSYS,[LPAREN],23) END END;{FACTOR} BEGIN {TERM} FACTOR(FSYS+[TIMES,SLASH]); WHILE SYM IN [TIMES,SLASH] DO BEGIN MULOP := SYM;GETSYM;FACTOR(FSYS+[TIMES,SLASH]); IF MULOP = TIMES THEN GEN(OPR,0,4) ELSE GEN(OPR,0,5) END END;{TERM} BEGIN {EXPRESSION} IF SYM IN [PLUS,MINUS] THEN BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = MINUS THEN GEN(OPR,0,1) END ELSE TERM(FSYS+[PLUS,MINUS]); WHILE SYM IN [PLUS,MINUS] DO BEGIN ADDOP := SYM;GETSYM;TERM(FSYS+[PLUS,MINUS]); IF ADDOP = PLUS THEN GEN(OPR,0,2) ELSE GEN(OPR,0,3) END END;{EXPRESSION} PROCEDURE CONDITION(FSYS: SYMSET); VAR RELOP : SYMBOL; BEGIN IF SYM = ODDSYM THEN BEGIN GETSYM;EXPRESSION(FSYS);GEN(OPR,0,6) END ELSE BEGIN EXPRESSION([EQL,NEQ,LSS,GTR,LEQ,GEQ]+FSYS); IF NOT (SYM IN [EQL,NEQ,LSS,LEQ,GTR,GEQ]) THEN ERROR(20) ELSE BEGIN RELOP := SYM;GETSYM;EXPRESSION(FSYS); CASE RELOP OF EQL: GEN(OPR,0,8); NEQ: GEN(OPR,0,9); LSS: GEN(OPR,0,10); GEQ: GEN(OPR,0,11); GTR: GEN(OPR,0,12); LEQ: GEN(OPR,0,13) END{CASE} END END END{CONDITION}; BEGIN {STATEMENT} IF SYM = IDENT THEN BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE IF TABLE[I].KIND <> VARIABLE THEN BEGIN {ASSIGNMENT TO NON VARIABLE} ERROR(12); I := 0; END; GETSYM; IF SYM = BECOMES THEN GETSYM ELSE ERROR(13); EXPRESSION(FSYS); IF I <> 0 THEN WITH TABLE[I] DO GEN(STO,LEV-LEVEL,ADR) END ELSE IF SYM = CALLSYM THEN BEGIN GETSYM; IF SYM <> IDENT THEN ERROR(14) ELSE BEGIN I := POSITION(ID); IF I = 0 THEN ERROR(11) ELSE WITH TABLE[I] DO IF KIND = PROCMNEMONIC THEN GEN(CAL,LEV-LEVEL,ADR) ELSE ERROR(15); GETSYM; END END ELSE IF SYM = IFSYM THEN BEGIN GETSYM;CONDITION([THENSYM,DOSYM]+FSYS); IF SYM = THENSYM THEN GETSYM ELSE ERROR(16); CX1 := CX; GEN(JPC,0,0); STATEMENT(FSYS);CODE[CX1].A := CX END ELSE IF SYM = BEGINSYM THEN BEGIN GETSYM;STATEMENT([SEMICOLN,ENDSYM]+FSYS); WHILE SYM IN [SEMICOLN]+STATBEGSYS DO BEGIN IF SYM = SEMICOLN THEN GETSYM ELSE ERROR(10); STATEMENT([SEMICOLN,ENDSYM]+FSYS) END; IF SYM = ENDSYM THEN GETSYM ELSE ERROR(17) END ELSE IF SYM = WHILESYM THEN BEGIN CX1 := CX;GETSYM;CONDITION([DOSYM]+FSYS); CX2 := CX;GEN(JPC,0,0); IF SYM = DOSYM THEN GETSYM ELSE ERROR(18); STATEMENT(FSYS);GEN(JMP,0,CX1);CODE[CX2].A := CX END; TEST(FSYS,[],19) END; {STATEMENT} BEGIN {BLOCK} DX := 3;TX0 := TX;TABLE[TX].ADR := CX;GEN(JMP,0,0); IF LEV > LEVMAX THEN ERROR(32); REPEAT IF SYM = CONSTSYM TPASVPPASINTERPSVTESTPA pŽŽ !PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR; PDATAFILE,PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF;  WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR; SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$I GCHN.PI} {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEGIN X := W.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; END; {PRINT IN ORDER} PROCEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITE(' ',W.KEY : C1); WRITE(DISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IF PCONSOLE THEN WRITE(' ',X^.LNO :C3); WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); CHECK := REALFIELD(LINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : BOOLEAN; BEGIN REPEAT WRITE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT DATA BASE FILE PRINTED?'); PDATAFILE := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); IF PDATAFILE THEN WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDINT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; cEND; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREE THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); IF PINDEX THEN PRINTINORDER(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; END. 1978EMP030 õf½ E 519 84.76 E 520 483.00 E 511 830.88 E 537 464.55 E 531 356.37 E 529 589.96 E 530 436.65 E 528 393.86 E 527 888.88 E 526 1034.18 E 525 991.35 E 524 733.00 W 522 182.00 W 523 1549.00 W 521 2210.00 W 518 3391.80 W 517 277.10 E 516 259.01 E 515 439.51 E 514 398.75 E 513 1113.18 E 512 893.06 W 540 4601.70 CONSOLE01ÒZq½$PROGRAM CONSOLE(INPUT,OUTPUT); TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[255]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; REGISTER = RECORD CASE INTEGER OF 1: (INT:INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; VAR CHARVALUE,CURLINE,DISPLAYPOS,INTERNALPOS : INTEGER; LINE : LINESTRING; CHARACTER : CHAR; INPUTFILE,OUTPUTFILE : TEXT; {$I PCHAR.PI} {$I GCHAR.PI} {$I WRITESTRING.PI} PROCEDURE REPLACE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER; CHARACTER : CHAR); BEGIN LINE.STR[INTERNALPOS] := CHARACTER; END; PROCEDURE INSERT(VAR LINE: LINESTRING; INTERNALPOS : INTEGER;CHARACTER : CHAR); VAR I : INTEGER; BEGIN WITH LINE DO BEGIN IF INTERNALPOS > LEN THEN BEGIN LEN := LEN+1; STR[LEN]:= CHARACTER END ELSE BEGIN LEN := LEN+1; FOR I := LEN DOWNTO INTERNALPOS DO STR[I] := STR[I-1]; STR[INTERNALPOS] := CHARACTER; END; END END; {INSERT} PROCEDURE DELETE(VAR LINE : LINESTRING;INTERNALPOS : INTEGER); VAR I : INTEGER; BEGIN WITH LINE DO IF LEN > 0 THEN BEGIN FOR I := INTERNALPOS TO LEN-1 DO STR[I] := STR[I-1]; LEN := LEN -1; END {DO} END; {DELETE} FUNCTION CALCDISPLAYPOSITION(LINE : LINESTRING;POSITION : INTEGER) : INTEGER; VAR I,J : INTEGER; BEGIN WITH LINE DO BEGIN I := 1; FOR J := 1 TO POSITION DO BEGIN IF ORD(STR[J]) IN [13,32..126] THEN I := I+1 ELSE IF ORD(STR[J]) = 9 {TAB} THEN I := I+8-(I MOD 8); END; END;{WITH} {WRITELN(' CALCDISPLAYPOS =',I);} CALCDISPLAYPOS := I; END; {CALCDISPLAYPOS} PROCEDURE GETPRECEEDINGLINE; BEGIN END; PROCEDURE BACKSPACE; VAR MOVES,I,NEWDISPLAYPOS : INTEGER; BEGIN IF DISPLAYPOS > 1 THEN BEGIN INTERNALPOS := INTERNALPOS-1; NEWDISPLAYPOS := CALCDISPLAYPOS(LINE,INTERNALPOS-1); MOVES := NEWDISPLAYPOS-DISPLAYPOS; IF MOVES >= 0 THEN BEGIN FOR I := 1 TO MOVES DO PCHAR(32); END ELSE BEGIN FOR I := 1 TO -MOVES DO PCHAR(8); END; DISPLAYPOS := NEWDISPLAYPOS; END; END; {BACKSPACE} PROCEDURE HORIZTAB; VAR MOVESRT,I : INTEGER; BEGIN MOVESRT := 8 - DISPLAYPOS MOD 8; DISPLAYPOS := DISPLAYPOS+MOVESRT; FOR I := 1 TO MOVESRT DO PCHAR(32); INSERT (LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {HORIZTAB} PROCEDURE CRETURNLINEFEED; BEGIN PCHAR(13);PCHAR(10); INSERT(LINE,INTERNALPOS,CHARACTER); {REMOVE NEXT 3 LINES AS APPROPRIATE} WRITESTRING(LINE); PCHAR(10); LINE.LEN :=0Š; INTERNALPOS :=1; DISPLAYPOS :=1; CURLINE := CURLINE+1; END; {OUTPUT CARRIAGE RETURN LINE FEED} PROCEDURE PRINTCHAR; BEGIN PCHAR(CHARVALUE); DISPLAYPOS := DISPLAYPOS+1; INSERT(LINE,INTERNALPOS,CHARACTER); INTERNALPOS := INTERNALPOS+1; END; {PRINT CHARACTER} PROCEDURE DELETECHARACTER; BEGIN IF INTERNALPOS - 1 = LINE.LEN THEN {WE'RE AT THE END OF THE LINE} BEGIN DELETE(LINE,INTERNALPOS-1); BACKSPACE; END ELSE DELETE(LINE,INTERNALPOS); END; {DELETE CHARACTER} PROCEDURE ACTION; BEGIN IF CHARVALUE IN [32..126] THEN PRINTCHAR ELSE CASE CHARVALUE OF {BACKSPACE} 8 : BACKSPACE; {HORIZ TAB} 9 : HORIZTAB; {LINE FEED} 10 : ; {UP} 11 : ; {CARRIAGE RET} 13 : CRETURNLINEFEED; {DELETE} 127 : DELETECHARACTER; END; {CASE} END; {ACTION} PROCEDURE INITIALIZE; {ALL VARIABLES} BEGIN LINE.LEN := 0; INTERNALPOS := 1; {POSITION OF CURSOR IN MEMORY} DISPLAYPOS := 1; {POSITION OF CURSOR ON SCREEN} CURLINE := 1; END; {INITIALIZE} PROCEDURE OPENFILES; VAR INSTRING : STRING[32]; BEGIN WRITE(' INPUT FILE NAME? ');READLN(INSTRING); FILETITLE(INPUTFILE,INSTRING);RESET(INPUTFILE); WRITE(' OUTPUT FILE NAME? ');READLN(INSTRING); FILETITLE(OUTPUTFILE,INSTRING);RESET(OUTPUTFILE); END; {OPEN INPUT AND OUTPUT FILES} PROCEDURE SHOWCURSOR; VAR I : INTEGER; BEGIN FOR I := 1 TO DISPLAYPOS -1 DO PCHAR(32{SPACE}); PCHAR(ORD('^'));WRITELN; END; {SHOW CURSOR} BEGIN {MAIN PROGRAM} INITIALIZE; REPEAT BEGIN GCHAR(CHARVALUE); CHARACTER := CHR(CHARVALUE); ACTION; END; UNTIL CHARVALUE = 0 ;{CTRL P} END. GETINTEGERBUÍÁŽŽFUNCTION GETINTEGER( STR : BIGSTR;VAR I : INTEGER) : INTEGER; LABEL 1,2,3; TYPE SIGNOF = (PLUS,MINUS); VAR LEN,FNUMB : INTEGER; SIGN :SIGNOF; BEGIN FNUMB := 0; SIGN := PLUS; LEN := LENGTH(STR); { WRITELN('LEN=',LEN);} 1: IF I <= LEN THEN IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN I := I+1;GOTO 1; END ELSE IF STR[I] = '-' THEN BEGIN I := I+1; SIGN := MINUS; GOTO 1; END; 2 : IF STR[I] IN ['0'..'9'] THEN BEGIN { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); I := I+1; IF I<= LEN THEN GOTO 2; END; 3: CASE SIGN OF PLUS : GETINTEGER := FNUMB; MINUS : GETINTEGER := -FNUMB END;{CASE} END;{getinteger} BTREEMC‚`rrCHATR BTREE.PA 0 CHATR BTREE.PX 0 DELETE/V BTREE.PA XFER BTREE BTREE.PA/R PASINTERP PASCALO/S/V/A/L BTREE.PA CHATR BTREE.PX *WP DATAR1Ç÷Žs B 4196.05 C 2332 2000 21 1 C 2313 1804.52 22 1 C 2337 43.50 0 0 C 2338 6.00 0 0 C 2345 53.35 0 0 C 2347 38.00 0 0 C 2348 50.00 24 1 C 2356 264.05 0 0 C 2354 50.00 20 1 D 23546.64 DM 250.00 C 2355 280.60 22 1 CC 2357 C 2358 10 3 1 C 2359 42.80 10 1 C 2360 119.40 19 1 C 2361 50 18 1 CC 2362 CC 2363 CC 2364 CC 2365 C 2366 50 18 1 CC 2367 CC 2368 CC 2369 CC 2370 C 2371 50 18 1 CC 2372 CC 2373 C 2374 547.42 17 1 C 2375 86 5 1 C 2376 500 21 1 C 2377 1500 21 1 C 2378 93.20 3 2 C 2379 1562.80 2 2 C 2380 3.60 5 2 C 2381 136.16 5 2 C 2382 114.98 18 2 DM 250 C 2383 139.24 4 2 C 2384 155 5 2 C 2385 60.30 5 2 C 2386 1151 17 2 C 2387 12 18 2 C 2388 66.80 22 2 C 2389 33.30 22 2 C 2390 22.80 22 2 C 2391 12 18 2 C 2392 39 22 2 C 2393 64.65 25 2 C 2394 85.54 22 2 D 13878.10 DM 1865.00 C 2395 1000. 21 3 C 2396 405.38 4 3 C 2397 64. 8 3 D 3885. DM 250.00 C 2398 14.85 18 3 DM 1865. C 2399 7.95 18 3 C 2400 8.52 18 3 C 2401 29.39 22 3 C 2402 80. 23 3 D 3222.52 C 2403 1562.80 2 5 C 2404 1887.00 17 5 C 2405 28.26 21 5 C 2406 52.68 5 5 C 2407 53.35 5 5 C 2408 27.00 5 5 C 2409 301.50 21 5 C 2410 32.23 5 5 C 2411 110. 16 5 C 2412 1500 21 0 C 2413 15 18 3 C 2414 286.41 5 3 C 2415 12.68 5 3 C 2416 93.20 3 5 C 2417 7.75 11 3 C 2418 66.34 4 3 C 2419 1197.81 5 5 C 2420 50 24 3 C 2421 261.65 23 5 C 2422 10 16 5 C 2423 2386 17 5 C 2424 28.15 23 5 C 2425 8.95 18 5 D 3727.5 C 2426 16.05 5 7 C 2427 450.59 17 5 C 2428 621.73 8 6 C 2429 4000. 21 6 C 2430 6.75 18 6 C 2431 110 5 6 C 2432 991 16 6 C 2433 41.5 20 6 C 2434 52 5 6 C 2435 675 8 6 D 10674.20 D 8655.39 D 3056.00 C 2436 40 20 6 CC 2437 C 2438 3.47 18 6 C 2439 11 18 6 C 2440 339.45 22 6 C 2441 28.76 18 6 C 2442 589.40 4 6 C 2443 19.89 22 6 C 2444 16. 18 6 CC 2445 C 2446 93.20 3 6 C 2447 410.72 25 6 C 2448 695.00 7 6 C 2449 50. 27 6 C 2450 13.00 17 6 C 2451 55.00 22 7 C 2452 74.42 22 7 C 2453 56.30 5 7 C 2454 7.85 5 7 C 2455 223.17 5 7 C 2456 368.00 23 7 C 2457 1562.80 2 7 D 5534.20 C 2458 450.59 17 8 C 2459 75.65 11 8 C 2460 923. 5 8 CC 2461 CC 2462 C 2463 25 18 8 C 2464 26 22 8 C 2465 50.50 18 8 C 2466 39 5 8 C 2467 4.80 22 8 CC 2468 C 2469 70 18 8 C 2470 500 21 8 C 2471 12 22 8 D 6157.00 C 2472 113.56 4 8 C 2473 9.95 18 8 CC 2474 C 2475 368 23 8 C 2476 616 9 8 C 2477 208.65 5 8 C 2478 380 7 9 C 2479 129 5 9 C 2480 3.95 18 9 C 2481 7.06 1 9 C 2482 30 18 9 C 2483 15 18 9 D 5631.50 CC 2484 C 2485 2000 21 9 C 2486 7 1 9 C 2487 34.03 22 9 C 2488 474.35 5 9 C 2489 179.46 5 9 C 2490 145 5 9 D 5395 C 2491 12.30 18 9 C 2492 7 1 11 C 2493 2 22 9 C 2494 3.50 18 9 C 2495 46.49 4 10 CC 2496 C 2497 117.03 3 10 CC 2498 C 2499 1773.70 2 11 C 2500 94.90 22 11 C 2501 50 20 11 C 2502 21.85 11 11 C 2503 89.37 8 11 D 10811.70 C 2504 547.42 17 11 C 2505 1203.31 22 11 C 2506 368 23 11 C 2507 616 9 11 C 2508 10.80 18 11 C 2509 23.30 5 11 C 2510 27.60 5 11 C 2511 126.00 5 11 C 2512 168.26 5 11 C 2513 230.66 25 11 C 2514 18 18 11 C 2515 20 18 11 C 2516 42 26 11 C 2517 8 18 11 D 7237.50 C 2518 446.86 4 11 C 2519 20 26 12 C 2520 28.99 10 12 C 2521 4.15 10 12 C 2522 61.36 10 12 C 2523 1210.49 10 12 C 2524 7 1 12 C 2525 16 10 12 C 2526 45.45 5 12 C 2527 13.30 5 12 C 2528 387 17 12 C 2529 18.70 18 12 CC 2530 C 2531 1800 21 13 C 2532 206.25 26 12 C 2533 1703.40 2 0 D 3825 C 2534 3178.45 22 14 CC 2535 C 2536 97.67 23 14 C 2537 55.93 4 14 C 2538 26 5 14 C 2539 550 24 14 C 2540 106.32 8 14 C 2541 105 3 14 C 2542 108.06 8 14 D 6507.66 CC 2543 C 2544 74.95 10 14 C 2545 671.81 17 14 C 2546 262.60 5 14 C 2547 50.50 5 14 C 2548 11.70 25 14 C 2549 85 6 14 C 2550 10 18 14 C 2551 34 6 14 C 2552 200 5 14 C 2553 368 23 14 C 2554 912.90 9 14 C 2555 500 21 14 C 2556 90 10 14 C 2557 120 1 15 C 2558 2.05 18 15 C 2559 899 17 15 C 2560 267.58 22 15 D 465 D 3182.36 C 2561 100 5 15 CC 2562 DM 200 D 5187.50 C 2563 500 8 15 C 2564 100.75 10 15 C 2565 3000 21 15 C 2566 1800 21 17 C 2567 75.21 10 15 C 2568 563.06 4 15 C 2569 26 17 15 C 2570 192 22 15 C 2571 14.30 5 15 C 2572 184.25 5 15 D 3000 C 2573 500 21 15 C 2574 115 3 16 D 11960.00 C 2575 42 26 16 C 2576 26.12 5 16 C 2577 81.71 4 16 C 2578 36.81 11 16 C 2579 368.00 23 16 C 2580 671.81 17 16 C 2581 37.70 18 16 C 2582 72 6 16 C 2583 350 21 16 C 2584 23.95 8 16 C 2585 1773.70 2 16 CC 2586 C 2587 271.60 23 17 CC 2588 D 2107.75 D 4990 C 2589 5 1 17 DM 14.60 DM 7.50 D 829.25 D 21228.50 D 5680 C 2590 105.78 8 17 C 2591 311.54 8 17 C 2593 770.94 25 17 C 2594 109.92 22 17 C 2595 432.25 4 18 C 2596 28 1 18 C 2897 200 27 18 C 2598 919 2 18 C 2599 187.22 5 18 C 2600 134 5 18 C 2601 90.50 5 18 C 2602 153.64 5 18 C 2603 14850. 22 18 CC 2604 C 2605 50 24 18 C 2606 186.36 8 18 C 2607 85 1 18 D 32927.50 C 2608 1352.93 25 19 C 2609 50 20 19 CC 2610 CC 2611 DM 7.37 C 2612 17 6 20 D 14750.00 D 2040 C 2613 33 5 20 C 2614 9.22 5 20 C 2615 115 3 20 C 2616 1875.10 2 20 C 2617 134 5 20 C 2618 46.45 5 20 C 2619 790.75 17 20 C 2620 33 17 20 C 2621 368 23 28 C 2622 52.30 5 20 C 2623 309.14 8 20 C 2624 9 18 20 C 2625 1452.77 25 20 D 8742.50 C 2626 50 24 20 C 2627 39.50 18 20 CC 2628 C 2629 56 17 20 C 2630 164 5 21 C 2631 400.88 4 21 CC 2632 C 2633 8.75 18 21 C 2634 7.50 1 21 C 2635 48 4 21 C 2636 12.55 11 21 C 2637 139.70 22 21 D 538 C 2638 1200 21 21 C 2639 1000 21 21 C 2640 115 3 21 C 2641 30 5 21 C 2642 101.39 4 22 D 3000 DM 3000.00 C 2643 140 22 21 C 2644 35 26 22 C 2645 671.81 17 22 C 2646 1850.16 2 22 C 2647 70 23 22 C 2648 14.20 23 22 C 2649 500 24 22 C 2650 13.05 11 22 C 2651 205.74 22 22 C 2652 199.40 5 22 C 2653 17.16 5 16 C 2654 19.94 5 22 C 2655 34.12 22 22 D 2530.69 D 20162.50 D 8992.41 C 2656 1500 21 22 C 2657 116.89 1 23 D 1545 C 2659 368 23 22 C 2660 37 18 22 C 2661 25 22 22 C 2662 15 18 22 C 2663 500 21 23 C 2664 25.35 5 23 D 6212.50 CC 2665 C 2666 50 24 23 C 2667 96.30 18 23 C 2668 495.42 4 23 C 2669 145 5 23 C 2670 8.70 1 24 C 2671 16.80 1 24 C 2672 29 5 23 C 2673 11.48 22 23 C 2674 1397.48 25 23 C 2675 200 28 23 C 2676 500 8 23 CC 2677 C 2678 49.56 8 24 C 2679 10000 23 24 C 2680 110 23 24 C 2681 1007 23 24 C 2682 37.64 22 24 C 2683 2000. 21 24 C 2684 49.44 1 25 D 4762.50 C 2685 1850.16 2 25 C 2686 35.27 11 25 C 2687 115 3 25 C 2688 144.36 4 25 C 2689 50 22 25 C 2690 39.85 18 25 C 2691 141.22 4 25 C 2692 552.87 17 25 C 2693 134.32 22 25 CC 2694 D 1882.50 C 2695 500 8 25 C 2696 500 8 25 C 2697 20.32 5 26 C 2698 750 C 2699 110.25 1 25 C 2700 368 23 25 C 2701 134.74 22 25 C 2702 6.90 5 25 C 2703 99 17 25 DM 11.49 DM 11.61 C 2704 36 18 26 C 2705 635.69 27 26 C 2706 18.50 18 26 D 7130 C 2707 295 26 26 C 2708 472.87 4 26 C 2709 15 18 26 C 2710 36.50 5 26 C 2711 16.75 18 26 C 2712 218.26 5 26 C 2713 139.96 13 16 CC 2714 C 2715 50 22 26 C 2716 1500 21 27 C 2717 1500 21 28 C 2718 11.56 5 26 C 2719 4812.51 23 27 D 1545 C 2720 3920.58 17 27 C 2721 115 3 27 C 2722 76.99 22 27 C 2723 40.30 5 27 C 2724 117.43 4 27 C 2725 552.87 17 27 C 2726 127.35 5 27 C 2727 6 18 27 C 2728 20 5 27 C 2729 52.84 11 27 C 2730 5.74 5 27 DM 23.10 C 2731 50 24 27 D 592.50 C 2732 911.35 25 27 C 2733 46.85 5 27 C 2734 164.11 5 27 C 2735 1850.16 2 27 C 2736 140 1 27 D 1997 C 2737 368 23 27 D 1467.50 C 2738 154.01 5 28 C 2739 33 18 28 C 2740 40 23 28 C 2741 15.15 8 28 C 2742 342.32 8 28 C 2743 10 26 28 C 2744 160 27 28 C 2745 19 26 28 C 2746 1136.47 6 28 C 2747 174.34 8 28 C 2748 208.22 25 28 C 2749 131.46 10 28 D 13855 C 2750 145.75 10 28 C 2751 30 5 28 C 2752 54 5 28 C 2753 55 22 28 C 2754 569.90 4 28 C 2755 64.50 6 28 C 2756 75 28 29 CC 2757 C 2758 374 17 29 C 2759 115 3 29 C 2760 500 21 29 C 2761 500 21 29 C 2762 1510 21 29 E 496 1177.09 12 3 E 495 1076.21 12 3 E 494 392.55 12 1 E 493 456.63 12 1 E 492 497.88 12 1 E 491 574.03 12 1 E 490 890.20 12 1 E 489 842.19 12 1 E 488 788.81 12 1 E 510 304.73 12 5 E 509 432.47 12 5 E 508 575.53 12 5 E 507 502.81 12 5 E 506 842.80 12 5 E 505 1033.57 12 5 E 504 254.00 12 4 W 503 702.05 14 4 W 502 4521.60 14 4 W 501 387.26 14 3 W 500 372.80 14 3 W 499 561.91 14 3 W 498 497.97 14 3 E 497 926.48 12 3 E 519 84.76 12 12 E 520 483.00 12 8 E 511 830.88 12 7 E 537 464.55 12 10 E 531 356.37 12 9 E 529 589.96 12 9 E 530 436.65 12 9 E 528 393.86 12 9 E 527 888.88 12 9 E 526 1034.18 12 9 E 525 991.35 12 9 E 524 733.00 12 8 W 522 182.00 14 8 W 523 1549.00 14 8 W 521 2210.00 14 8 W 518 3391.80 14 7 W 517 277.10 14 7 E 516 259.01 12 7 E 515 439.51 12 7 E 514 398.75 12 7 E 513 1113.18 12 7 E 512 893.06 12 7 W 540 4601.70 14 10 E 532 1062.02 12 10 E 533 1122.84 12 10 E 534 999.70 12 10 E 535 538.32 12 10 E 536 643.20 12 10 E 538 386.34 12 10 E 539 105.03 12 10 W 541 1703.92 14 11 W 544 5.00 14 11 W 545 1345.38 14 11 E 546 924.04 12 12 E 547 982.73 12 12 E 548 873.83 12 12 E 549 473.57 12 12 E 550 542.91 12 12 E 551 440.27 12 12 E 553 299.63 12 12 E 552 185.93 12 12 E 568 343.38 12 15 E 569 304.73 12 15 E 567 596.15 12 15 E 566 465.02 12 15 E 565 948.24 12 14 E 564 985.99 12 14 E 563 991.80 12 14 E 557 473.57 12 13 E 558 601.00 12 13 E 560 265.01 12 13 E 555 991Æ.16 12 12 E 554 927.77 12 12 E 556 852.47 12 13 W 562 4255.04 14 13 E 561 297.08 12 13 E 559 688.29 12 13 E 570 1050.61 12 16 E 571 1069.11 12 16 E 572 1019.07 12 16 E 573 566.88 12 16 E 574 630.97 12 16 E 575 269.88 12 16 E 576 472.09 12 16 E 577 346.43 12 16 W 578 4412.14 14 16 W 579 483.00 14 16 W 580 2210.00 14 16 W 581 38.36 14 16 E 582 1046.89 12 17 E 583 1151.39 12 17 E 584 996.51 12 17 E 585 627.63 12 17 E 586 732.19 12 17 E 587 537.45 12 17 E 588 513.44 12 17 E 589 374.42 12 17 E 590 110.15 12 17 E 591 979.37 12 18 E 592 1426.28 12 18 E 594 531.30 12 18 E 596 500.91 12 18 W 599 5659.58 14 18 E 593 960.21 12 0 E 595 645.08 12 0 E 597 430.98 12 0 E 598 343.31 12 0 W 600 1863.74 14 18 W 602 850.20 14 18 E 603 796.26 12 20 E 604 802.32 12 20 E 605 379.26 12 20 E 606 542.91 12 20 E 607 283.06 12 20 E 608 180.93 12 20 E 609 282.18 12 20 E 615 369.00 12 21 W 617 2861.14 14 21 E 625 2210.00 12 23 E 627 1209.08 12 24 E 628 1158.89 12 24 E 629 552.62 12 24 E 630 596.12 12 24 E 632 359.96 12 24 W 634 800.03 14 24 E 635 921.48 12 25 E 636 1050.72 12 25 E 637 533.66 12 25 E 638 610.74 12 25 E 639 361.79 12 25 E 640 201.10 12 25 E 645 346.92 12 26 E 610 325.46 12 21 E 611 1020.87 12 21 E 612 922.47 12 21 E 613 505.84 12 21 E 614 595.69 12 21 E 616 258.02 12 21 E 618 1053.55 12 23 E 619 845.14 12 23 E 620 420.35 12 23 E 621 548.51 12 23 E 622 293.42 12 23 E 623 339.16 12 23 E 624 374.42 12 23 W 626 483.00 14 23 E 631 142.22 12 24 W 633 2792.12 14 24 E 660 484.10 12 29 W 662 2276.24 14 29 E 650 981.35 12 28 E 651 992.28 12 28 E 652 327.45 12 28 E 653 384.95 12 28 E 641 1081.13 12 26 E 642 1042.43 12 26 E 643 490.20 12 26 E 644 516.116 12 26 E 646 326.75 12 26 W 647 2424.72 14 26 W 648 393.57 14 26 W 649 251.13 14 26 E 654 373.60 12 28 E 657 1176.43 12 29 E 658 1184.18 12 29 E 659 566.46 12 29 E 661 247.78 12 29 E 663 393.62 12 29 E 664 40.27 12 29 T19U þŽ0.PROGRAM T19(INPUT,OUTPUT); CONST NUL=0; SOH=1; STX=2; ETX=3; EOT=4; ENQ=5; ACK=6; BEL=7; BS=8; HT=9; LF=10; VT=11; FF=12; CR=13; SO=14; SI=15; DLE=16; DC1=17; DC2=18; DC3=19; DC4=20; NAK=21; SYN=22; ETB=23; CAN=24; EM=25; SUB=26; ESC=27; FS=28; GS=29; RS=30; US=31; SPACE=32; DELETE=127; TYPE MODETYPE = (INSERT,REPLACE); VAR CHARIN : INTEGER; ALFA: BOOLEAN; MODE : MODETYPE; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CHRIN:INTEGER);EXTERNAL; PROCEDURE ACTION(CCHR:INTEGER); BEGIN WRITELN(OUTPUT,'ACTION') END; BEGIN MODE := INSERT; REPEAT BEGIN CHARIN := GCHA; ALFA := ((CHARIN >= SPACE) AND (CHARIN < DELETE)); IF ALFA THEN CASE MODE OF INSERT : BEGIN WRITELN(OUTPUT,'INSERT ');PCHA(CHARIN) END; REPLACE : BEGIN WRITELN(OUTPUT,'REPLACE ');PCHA(CHARIN)END; END ELSE ACTION(CHARIN) END UNTIL EOF(INPUT) END. TKOM __ PROGRAM TKOMPAR(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); TEXT = ARRAY[1..10] OF CHAR; VAR A : TEXT; B : TEXT; I,J : INTEGER; FUNCTION KOMPAR ( A : TEXT; B : TEXT; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE ; EXTERNAL; BEGIN I :=1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,A[I]);I := I+1 END; RESET(INPUT); J := 1; WHILE NOT EOLN(INPUT) DO BEGIN READ(INPUT,B[J]);J := J+1; END; CASE KOMPAR(A,B,1,10) OF LESS : WRITELN ('LESS'); EQUAL : WRITELN ('EQUAL'); GREATER : WRITELN ('GREATER') END END. FIXFLG Ð@; THIS ROUTINE INTERFACES WITH PASCAL AND FIXES AND FLOATS ; CALL VIA ; FUNCTION FIX (X:REAL);INTEGER;EXTERNAL; ; FUNCTION FLOT (I:INTEGER);REAL;EXTERNAL; ; X=FLOT(I) ; I=FIX(X) .TITL FIXFL .ENT ?FIX,?FLOT .EXTN FENT,XPRET .EXTD WSA .NREL ?FLOT: JMP .+1 STA 0 FVAL ;SAVE POINTER TO FUNCTION RETURN LDA 3 @SP ;GET INTEGER ISZ SP ;CONVERT SINGLE WORD INTEGER TO DOUBLE WORD INTEGER SUB 2 2 ;CLEAR AC2 MOVL# 3 3 SZC ;SET LST. SIG. WORD TO -1 IF NEGATIVE ADC 2 2 STA 3 @SP ;STORE NEW D W INTEGER ON STACK DSZ SP STA 2 @SP SUB 3 3 ;CLEAR AC3 LDA 2 WSA ;AND ZERO WSA WITH IT STA 3 0 2 FENT ;ENTER RFPI FFLO @SP ;FLOAT DOUBLE WORD INTEGER TO SING PREC REAL FEXT ;EXIT RFPI (REAL REPLACES INTEGER ON STACK) LDA 2 FVAL ;NOW SEND REAL TO CALLER LDA 0 @SP ISZ SP STA 0 0 2 LDA 0 @SP STA 0 1 2 SUBO 1 1 ;GENERATE +2 WORDS TO PASCAL INCZL 1 1 XPRET ;RETURN TO PASCAL FVAL: 0 ;AC2 STORED HERE ?FIX: DSZ SP ;SET ADDRESS TO BOTTOM OF REAL STA 0 FVAL ;SAVE POINTER TO FUNCTION VALUE SUBO 2 2 ;GENERATE 0 LDA 3 WSA ;AND ZERO WSA WITH IT STA 2 0 3 FENT ;ENTER RFPI FFIX @SP ;FIX REAL NUMBER WHICH IS @ SP FEXT ;DP INTEGER NOW REPLACES REAL LDA 2 FVAL ;RETURN SP INTEGER(MS WORD) TO CALLER ISZ SP LDA 1 @SP STA 1 0 2 SUBZL 1 1 ;GENERATE 1 WORD TO PASCAL XPRET ;AND RETURN .END T10PA~ Ü. PROGRAM T10(INPUT,OUTPUT); VAR CH : CHAR; BEGIN WRITELN(OUTPUT,'PROG T10'); READ(INPUT,CH); WRITELN(OUTPUT,' END'); END. 1978EMP04ß f½ E 532 1062.02 E 533 1122.84 E 534 999.70 E 535 538.32 E 536 643.20 E 538 386.34 E 539 105.03 W 541 1703.92 W 544 5.00 W 545 1345.38 E 546 924.04 E 547 982.73 E 548 873.83 E 549 473.57 E 550 542.91 E 551 440.27 E 553 299.63 TEST22Î :ŽŽPROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT: FILE POSITION BEFORE READ} ID : INTEGER; F : TEXT; INFILE : TEXT; LINE : LINESTRING; SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN,DISKOUT : INTEGER; {INPUT OUTPUT DATA FILES} RECORDPOS : ARRAY [1..100] OF DPINTEGER; L : INTEGER; {$I GCHN.PI} {$I OPEN.PI} {$I DELETE.PI} {$I CRAND.PI} {$I WRL.PI} {$I RDL.PI} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN WRITE(' ',W.KEY); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN WRITELN; L := 0;WRITE(' ':C1+1) END; L := L+1;WRITE(X^.LNO:C3);X := X^.NEXT UNTIL X = NIL ; WRITELN END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; BEGIN WRITE(' ITEM KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; WRITE(X^.LNO:C3,' '); SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); X := X^.NEXT END UNTIL X = NIL END; {OF PRINT ALL LINES WITH KEY W.KEY} BEGIN OPENFILES; ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); WRITELN(' FILE POS ',PRESPOS.UPPER,PRESPOS.LOWER); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1;WRITELN(N:C3); {WRITE LINE NO} RECORDPOS[N] := PRESPOS; WRITELINE(2,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} FOR L := N DOWNTO 1 DO BEGIN WRITELN(' FILE POS ',RECORDPOS[L].UPPER,RECORDPOS[L].LOWER,' '); SPOS(DISKIN,RECORDPOS[L]); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(DISKOUT,LINE,NBYTES,SYSERROR,ERRORNUMBER); END; { WRITELN(OUTPUT,ID); SPOS(3,PRESPOS); READLN(INFILE,LINE);WRITELN(' STRING ',LINE); SEARCH(ROOT); END; PRINTTREE(ROOT); WHILE NOT EOF(INPUT) DO BEGIN WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN PRINTWORD(WF^); PRINTLINES(WF^); END; } END. T29+ W$PROGRAM T27(INPUT,OUTPUT); TYPE ALPHA = ARRAY [1..35] OF CHAR; VAR IOCH,BYTES,ERROR : INTEGER ; BUFFER : ALPHA; FILEEND : BOOLEAN; PROCEDURE OPEN ( VAR FILENO : INTEGER ; FILENAME : ALPHA ; VAR ERRORNUMBER : INTEGER );EXTERNAL; FUNCTION ENDL ( IOCHANNEL : INTEGER ):BOOLEAN;EXTERNAL; FUNCTION ENDF ( IOCHANNEL : INTEGER ) : BOOLEAN;EXTERNAL; PROCEDURE RDLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESREAD : INTEGER ; VAR ERRORNUM : INTEGER );EXTERNAL; PROCEDURE WRLI ( IOCHANNEL : INTEGER ; BUFFER : ALPHA ; VAR NBYTESWROTE : INTEGER ; VAR ERRORNUMBER : INTEGER );EXTERNAL; BEGIN OPEN (IOCH,'FOBAR',ERROR); BYTES := 127; FILEEND := ENDF(IOCH); REPEAT BEGIN RDLI (IOCH,BUFFER,BYTES,ERROR); IF ERROR <> 6 THEN BEGIN WRLI(2,BUFFER,BYTES,ERROR); END ELSE END; UNTIL ENDF(IOCH) = TRUE END. NKOMPARè Ð\7SEGMENT(INPUT,OUTPUT); TYPE COMPARATIVE = (LESS,GREATER,EQUAL); CHARACTERS = ARRAY[1..10] OF CHAR; FUNCTION KOMPAR ( A : CHARACTERS; B : CHARACTERS; NSTART : INTEGER;NEND : INTEGER) : COMPARATIVE; VAR I : INTEGER; T : COMPARATIVE; BEGIN T := EQUAL; I := NSTART; WHILE ( ( T = EQUAL ) AND ( I <= NEND ) ) DO BEGIN WRITELN(' ',A[I],' ',B[I]); BEGIN IF A[I] > B[I] THEN T := GREATER ELSE IF A[I] < B[I] THEN T := LESS END; I := I+1 END; KOMPAR := T END. T100( !! +PROGRAM T100(INPUT,OUTPUT); BEGIN END. TTTPA’ Ü 6PROGRAM TT; TYPE NODE = RECORD X,Y : REAL;POINT : INTEGER END; LINKS = RECORD FROMNODE,TONODE,ATTRIBUTES : INTEGER END; VAR NEWLINK : LINKS; LINK : ARRAY[1..50] OF LINKS; I : INTEGER; BEGIN WHILE ((LINK[I-1].ATTRIBUTES > NEWLINK.ATTRIBUTES) AND (LINK[I-1].TONODE > NEWLINK.TONODE) AND (LINK[I-1].FROMNODE > NEWLINK.FROMNODE)) DO BEGIN I := I-1; LINK[I+1] := LINK[I] END END. RMCT ½½ CHATR R.PX 0 DELETE/V R.PA XFER R R.PA/R PASINTERP PASCALO/S/V/A/L R CHATR R.PX *WP 1978EMP05Þ f½ E 552 185.93 E 568 343.38 E 569 304.73 E 567 596.15 E 566 465.02 E 565 948.24 E 564 985.99 E 563 991.80 E 557 473.57 E 558 601.00 E 560 265.01 E 555 991.16 E 554 927.77 E 556 852.47 W 562 4255.04 E 561 297.08 E 559 688.29 WRSPI„ÖŽr PROCEDURE WRITESEQUENTIAL( CHANNEL : INTEGER; BUFFER : LINESTRING; VAR BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7487; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(TEMPPOINTER); TEMPPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITESEQUENTIAL = ',R2.INT); ERR := ERROR; BYTESOUT := R1.INT; ERRNUM := R2.INT; END; RELEASE(HEAP); END; {WRITE SEQUENTIAL} TEST23 °ŽŽ.PROGRAM CROSSREF (INPUT,OUTPUT); CONST STRSIZE = 133; C1 = 10; {LENGTH OF WORDS} C2 = 8; {NUMBERS PER LINE} C3 = 6; {DIGITS PER NUMBER} C4 = 9999; {MAXIMUM LINE NO} TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..132] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; DPINTEGER = RECORD UPPER : INTEGER; LOWER : INTEGER END; {DOUBLE PRECISION INTEGER} {CROSSREF TYPES} WORDREF = ^WORD; ITEMREF = ^ITEM; WORD = RECORD KEY : INTEGER; FIRST,LAST : ITEMREF; LEFT,RIGHT : WORDREF END; ITEM = PACKED RECORD LNO : 0..C4;{LINE NUMBER} POS : DPINTEGER;{FILE POSITION} NEXT : ITEMREF {POINTER TO NEXT} END; VAR CH : CHAR; PCONSOLE,PINDEX,PTREE : BOOLEAN; ROOT : WORDREF; WF : WORDREF; {POINTER TO WORD FOUND IF ID = KEY} K,K1 : INTEGER; N : INTEGER; (*CURRENT LINE NUMBER*) PRESPOS : DPINTEGER; {PRESENT FILE POSITION BEFORE READ} ID : INTEGER; LINE : BIGSTR; SYSERROR: BOOLEAN; {SYSTEM ERROR IF TRUE} NBYTES : INTEGER; {NO OF BYTES READ OR WRITTEN BY SYSTEM CALL} ERRORNUMBER : INTEGER; {SYSTEM ERROR NUMBER} DISKIN : INTEGER; {INPUT DATA FILE} DISKOUT : TEXT ; {OUTPUT PASCAL FILE} FIELDNUMBER : INTEGER; {$I GCHN.PI} {$I OPEN.BU} {$I DELETE.BU} {$I CRAND.BU} {$I WRL.BU} {$I RDL.BU} {$I OPENFILES.PI} {$I GPOS.PI} {$I SPOS.PI} {$I GETINTEGER.BU} {$I GETFIELDINT.BU} {$I GETREAL.BU} {$I REALFIELD.BU} PROCEDURE SEARCH (VAR W1:WORDREF); VAR W:WORDREF;X:ITEMREF; BEGIN W := W1; IF W =NIL THEN BEGIN NEW(W);NEW(X); WITH W^ DO BEGIN KEY := ID;LEFT := NIL;RIGHT := NIL; FIRST := X;LAST := X END; X^.LNO := N;X^.NEXT := NIL; W1 :=W; X^.POS := PRESPOS; {SAVE FILE POSITION} END ELSE IF ID < W^.KEY THEN SEARCH(W^.LEFT) ELSE IF ID > W^.KEY THEN SEARCH(W^.RIGHT) ELSE BEGIN NEW(X);X^.LNO := N;X^.NEXT := NIL; X^.POS := PRESPOS; {SAVE FILE POSITION} W^.LAST^.NEXT := X;W^.LAST := X END END; (*SEARCH*) PROCEDURE PRINTRECORDS(W : WORD); VAR X : ITEMREF; BEGIN X := W.FIRST; REPEAT BEGIN SPOS(DISKIN,X^.POS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); WRITE(' ',W.KEY,' ',X^.LNO : C3,' ',LINE); WRITE(DISKOUT,' ',W.KEY,' ',X^.LNO : C3,' ',LINE); X := X^.NEXT; END; UNTIL X = NIL; END; {PRINT IN ORDER} PROCEDURE PRINTINORDER(W : WORDREF); BEGIN IF W<> NIL THEN BEGIN PRINTINORDER(W^.LEFT); PRINTRECORDS(W^);PRINTINORDER(W^.RIGHT); END; END; PROCEDURE PRINTWORD(W : WORD); VAR L:INTEGER;X:ITEMREF; BEGIN IF PCONSOLE THEN WRITE(' ',W.KEY : C1); WRITE(DISKOUT,' ',W.KEY : C1); X := W.FIRST;L := 0; REPEAT IF L = C2 THEN BEGIN L := 0; IF PCONSOLE THEN BEGIN WRITELN;WRITE(' ':C1+1); END; WRITELN(DISKOUT);WRITE(DISKOUT,' ':C1+1); END; L := L+1; IF PCONSOLE THEN WRITE(' ',X^.LNO :C3); WRITE(DISKOUT,X^.LNO : C3); X := X^.NEXT; UNTIL X = NIL ; IF PCONSOLE THEN BEGIN WRITELN;WRITELN;END; WRITELN(DISKOUT); WRITELN(DISKOUT) END; (*END OF PRINTWORD*) PROCEDURE PRINTTREE(W : WORDREF); BEGIN IF W <> NIL THEN BEGIN PRINTTREE(W^.LEFT); PRINTWORD(W^);PRINTTREE(W^.RIGHT) END END; (*END OF PRINTTREE*) PROCEDURE FIND(W : WORDREF); BEGIN IF W = NIL THEN BEGIN WRITELN(' KEY NOT FOUND ',ID); WF := NIL END ELSE IF ID < W^.KEY THEN FIND (W^.LEFT) ELSE IF ID > W^.KEY THEN FIND (W^.RIGHT) ELSE {FOUND MATCH} WF := W END; {FIND} PROCEDURE PRINTLINES(W : WORD); VAR L : INTEGER; X : ITEMREF; AMOUNT,CHECK : REAL; BEGIN AMOUNT := 0.0; IF PCONSOLE THEN WRITELN(' SEARCH KEY ',W.KEY); WRITELN(DISKOUT,' SEARCH KEY ',W.KEY); X := W.FIRST;L := 0; REPEAT BEGIN L := L+1; SPOS(DISKIN,X^.POS); Õ READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF PCONSOLE THEN WRITE(' ',X^.LNO:C3,' ',LINE); WRITE(DISKOUT,' ',X^.LNO:C3,' ',LINE); CHECK := REALFIELD(LINE,3); AMOUNT := AMOUNT+CHECK; X := X^.NEXT END UNTIL X = NIL; IF PCONSOLE THEN WRITELN(' AMOUNT = ',AMOUNT : 10); WRITELN(DISKOUT,' AMOUNT = ',AMOUNT : 10); END; {OF PRINT ALL LINES WITH KEY W.KEY} FUNCTION QUESTION : BOOLEAN; BEGIN REPEAT WRITE(' ANSWER Y OR N '); READLN(CH) UNTIL (CH = 'Y') OR (CH = 'N'); QUESTION := CH = 'Y'; END; BEGIN OPENFILES; WRITELN(' WANT OUTPUT TO $TTO CONSOLE? '); PCONSOLE := QUESTION; WRITELN(' WANT INDEX PRINTED? '); PINDEX := QUESTION; WRITELN(' WANT TREEED RECORDS PRINTED IN ORDER? '); PINDEX := QUESTION; WRITE(' SORT ON FILEN NO. 2,3,4,5? '); READLN(FIELDNUMBER); ROOT := NIL;N := 0; REPEAT BEGIN GPOS(DISKIN,PRESPOS); READLINE(DISKIN,LINE,NBYTES,SYSERROR,ERRORNUMBER); IF NOT SYSERROR THEN BEGIN N := N+1; IF PCONSOLE THEN WRITE(' ',N : C3,' ',LINE); WRITE(DISKOUT,' ',N : C3,' ',LINE); CASE LINE[1] OF 'C','E','W' : BEGIN ID := GETFIELDINT(LINE,FIELDNUMBER); SEARCH(ROOT); END; END; END; END; UNTIL ERRORNUMBER = 6; {END OF FILE} IF PTREE THEN PRINTTREE(ROOT); WRITELN(' MEMORY LEFT = ',MEMAVAIL); WHILE NOT EOF(INPUT) DO BEGIN IF PINDEX THEN PRINTINORDER(ROOT); WRITE(' SEARCH KEY =');READLN(ID); FIND(ROOT); IF WF <> NIL THEN BEGIN PRINTWORD(WF^); PRINTLINES(WF^); END; END; END. TEST10‹ *ŽqPROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 15; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..STRSIZE] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR LINE : LINESTRING; I,J : INTEGER; NBYTES : INTEGER; FILENAME : LINESTRING; DATA :LINESTRING; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; { $I CRAND.PI} {$I RDL.PI} {$I WRL.PI } BEGIN WRITELN('ENTER DATA'); READLINE(0,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,DATA,NBYTES,SYSERROR,ERRORNUMBER); DATA.STR[NBYTES] := CHR(0); CRAND(DATA,SYSERROR,ERRORNUMBER); END. PASINTERPSV ")ld "Óf  ÿÿÿÿ$ÿÿ…Q…(D(8)(*]„ŽH* noz–¥(D(²�"«‚À0IÇ’ÀÒS[0i–.³£Ãݧ©Üåô !,ÁÙM¾½M+š¶Üôÿì�!„" " �"ñ"¶ÿÿ"ñÿÿÿÿÿÿ%ÿÿ CŽÿÿØÂ¿ØØÂ¾‚¾ˡ ØÂØÂ¾‚¿¹ö­((Æž ÆžÙÌÚšÚ¢Ç"šÚ¢²DšÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²DÎ(ÚšÚ¢Ç"šÚ¢²?šÚ¢Úû‚šÙž#Úù¡ÖÚýÎÖ²?Î(Æž!­p'Æž ÆžÚÌÛšÛ¢Ç%"šÚž#ØÛüŚƞ!­,)ÆÇíž¶IÌØÌÛÌÛ¢ Ì® ®È¡&ß̹ÙÐÌܚܢÇ?šÜ¢ ÚÙ•¤øšØž#ÙÞáö® ®È¡Eß̹ÙÐÌܚܢǚܢڢٕ¤šÜ¢Üû‚šÚ¢Ù•¤Ú¢Ù•¤¾‚¿؞#ÙÞáô­Bs  *Ùɡ̹MÌÌÞ‚ÌÆÞÂÙ Ž0‚¿Ù †ÌÙáöÚÂÞ¿® Ú¾•®È¡Ê ̹ÞÐÌÚÞ‚ÂÆھޕ¾¿Þßáô­L d+¶'£P‘áئª2¹ö¶'ÌÊ£PÅÊ£PÇýÉ„¡Ê¢€ Ê£PÇR‚勉Module ª ¹Æ ¦Segment ª ÖÊ£PÆÎ+“¡Æ?©ÖÊ£QÆÎ+“¡Æ?©ÖÊ£RÆÎ+“¡Æ¦??ªØÌÖÆÆ ÏÖÆÆÏÖÆ¦ , Procedure ÏÖÆÆ!ÏÖÆ¦ , Offset +ÏÖÆÆ0ÏÆª2­)â,®ؾ®È¡&Ü̹ÚÐÌØÚ¾ÌÙaÄÙzÈ„¡ ØÚÂÙa•A‚¿ÚÛáö­#:%Ö²bÎ%ÆÌ²bÌ ÖÆ ²€ýÏÖÆ ²bÇÿÏÖÆ ²€ýÇÿÏÆ ªÿ® ²b¾® È¡+Ê Ì¹ßÐÌÌÇ̲bß¾ÌØž#Ú¡ÖÞÎßÊ Ã¡ö­'ˆv-ÖÆÆ?ÏÖÆ¦FÏÖÆ¦ PASINTERP.ERÏÖÆÏ­? 2.ÖÆÆB ÏÖÆ¦ERMESÏÆ€ý¿ƀý ¿Æ€ý ¿¶'£V“¡ÖÎ*ÆžÚ¢ šØË¡öØ2ÅØÉ�¡ÌØáÆb¦ªÿ¹-ÖÎ.ÖÆ¦ PASINTERP.ERÏÖÆÏÖÆØÏ ÖÆÏÆbÆBªÿ²-¾Å¡iÆb¾Å¡"ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÆ€ÿªÿÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿ¦File: "ÇÿÏÖÆ€ÿ²-ÇÿÏÖÆ€ÿ¦"ÇÿÏÆ€ÿªÿÖÆ€âÎ,Æ€â¾Å¡.ÆbÌ€ÿÖÆ€ÿÆbÇÿÏÖÆ€ÿÆ€ýÇÿÏÖÆ€ÿÆ€âÇÿÏÆ€ÿªÿÖÎ-ÚÌ€ÿÊ€ÿšÙˡʀÿ¢ ٚʀÿ¢Ç šÚž#ÖÆÏ­*|lÆž ÆžÛÌÞ•šÞ¢šÞ¢ØšÞ¢ÙšÚÌÝŸË¡²-Ú¢Fª!Ûž#Æž!­@/ÖØýØÎ/­0ÖÆ ÆHÏÖÆ ¦CLIFILE϶¸'‘Çÿ•¸(²³ÿ ½²——œ —œ —œ ½²"¤š²"¤ š²"¤dš²"¤Çèš²"¤Ç'š¸)²-¦ª!Ÿ¸*Ÿ¸+Ÿ¸,²IÇ´ž®�‹ ®�ŠÈ¡ Ê�‹Ì¹ÞÐ̶I¢Þ•¤¦ª!ÞÊ�ŠÃ¡öÖ²>Î)ÖÎ'¶>¡ÖÆ ¦FCOM.CMϹ ÖÆ ¦COM.CMÏÖÆ ÏÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏ®�‹®�ŠÈ¡Ê�‹Ì¹ÞÐÌÖÆ ®�‹ÆÏÞÊ�ŠÃ¡ôÖÆ Ï ÆHøÇÿáÖÎÖÆ ®�ŠÏÖÊ�ŠÆ€Œ!ÏÖÊ�ŠÏÆ€Œ¾!•Å¡ÖÎÖÆ€ŒÎ%ÖÆ€Œ¦.PXÏÆ€Œ¾•ËÆ€Œ¾Ã�¡"Æ€ŒÌ�ŠÖÆ�ŠÆ€Œ!ÏÖÆ�Ц.PX$ÏÆ�Šª!Æ€ÛÌÖÆ€�ÙÇ^†ÎÖÆ€�Æ€ŒÎÖÆ€�ÎÊ�zËÊ�{ †Å�¡Ö*ÎÊ�‡¹Æ��¶'¢€®·¡Ö2ιÖ0ι ¬¹$Æ€Û¤ùáÖÎÊ�ˆáÖ1ÎÊ€£Ì®�‹®�ŠÈ¡DÊ�‹Ì¹ÛÐ̶'Û¤Ì�‹Æ€ÛÛ¤Ì�ŒÊ�‹Ê�ŒøšÊ�‹¢Ê�ŒùšÊ�‹¢ÚšÊ�‹¢šÛÊ�ŠÃ¡ò¶'¢€¦Ì�ŠÊ�Š¢Ì�‹Ê�ŠÊ�‰šÊ�‹Ê�€šÊ�‹ø¹!Ê�‹¢Ÿš¹&Ê�‹¢Çž¹Ê�‹¢Çž¹¬¹)"ÖÆ Ï­™Ä:œê1®®È¡Ú̹ØÐÌÖ²€‚ÏØÙáö­(2ÖÆ€‚Æ€ÀÏÖÆ€‚¦CLIFILEÏÖÆ�Î)Ê�¡ÖÆ€‚¦FCOM.CMÏ¹ÖÆ€‚¦COM.CMÏÖÆ€‚ÏÖÆ€‚ÏÖÎ2ÖÆ€‚ÏÖÎ2¶,ŸË¡UÖÆ€‚Ï Æ€ÀøÇÿËÖÆ€‚Ï “„¡2ÖÆ€‚®�ÏÖÊ�ÆÇÿÏÖÊ�ÏÆ¾ÅÆ-·„¡Ö¶,ÆÎÖÎ2¶,£¸,¹öÖÆ€‚Ï­eÊØÌÜ¢ ÌÜ¢jšÜ¢lšÝ¢ٚݢÜ¢FšÝ¢Ý£ ‚šÚšܢ,šÜ¢nÚÚ‚š¹4Ü¢xšÜ¢zšÜ¢tšÜ¢ršÜ¢všÜ¢6 šÜ¢p šÜ¢,šÜ¢nšÝ¢Ü¢~šÝ¢ Ü£7šÛ¡ Ü¢0¶,šØ¸,­ŒØ£5¡Ö(ØÎ/Ù¾!ġآFÖÙÆ!•ÏÆª!Ö&ØÎ/¹ÆÙª!ÖÆÎ%Ø¢Fƪ!Ø¢Fƾ‚¿­NÙáÖ/ØÎ/ØÌÝ¢ ÌÝÌÝ£5¡7Ù¹$ÖØÎÖØÎ¹&ÖØÎÖØÎ¹ÖØÎÖØÎ¹¬¹ .¹òÝ¢F¦INPUT¯Ý¢F¦OUTPUT¯�¡DÝ¢zšÝ¢F¦INPUT¯¡ Ý¢F²Dª!¹¶*ŸË¡ÖØÎ/Ý¢F²?ª!ظ*Ý¢FÝ¢F¾‚¿¹Ø¢zšÝ¢.ÙšØÌÙá=ߚߢǚߢޣ šÚž#ßù“ßùßý Ä�¡ߚߢǚߢޣ šÚž#ßù¡ÖØÎ0ߚߢÇ*"šÚž#ßù¡ÖØÎ0Þßýšßšß¢Ç?šß¢Þ£ šß¢šÚž#ßù¡ ßýË¡ÖØÎ0ßù“¡ö¶'£V“¡P¶IÌ ÌÌÛ ÈÜ“„¡Ê ¢Û•¤¾Ã¡Ì¹Û‚̹ôÜ¡Ê ¢Û•¤Ý¢Fª!Ê Û•¤Þøš¹Ö/ØÎ/Ùáß•šß¢šÚž#ߚݣá#ß•šß¢šÚž#ßšÙá Ý¢rÝ£8š¹Ý¢ršß•šß¢šÚž#ߚݢjšÙá Ý¢hšÖØÎ$¹Ý¢hšÖØÎ$Ý£Ë¡ÖØÎ&­Á $Ø£5¡xØÌÛ¢ ÌÛÌØÌÚ¶*ÃÙË„¡Ÿ¸*Û£ÃÛ£‹„¡ÖØÎ#Û¢jšÛ¢lšÛ¢xšÛ¢všÝšÝ¢Ç?šÝ¢ ÜøšÚž#Ýù¡ÖØÎ0Ù‹¡ݚݢǚݢܣ šÚž#­†ØÌÙ¢ ÌÙ¢lÙ£4šÙ£áÙ¢všÙ¢xšÙ¢ršÙ¢t‘š­4$ØÌØÌÛ¢ ÌÙÉÙÛ£8Ä�¡Ö'ØÎ/Û¢rÙšÛ•šÛ¢šÚž#ÛšÛ¢lš­> Ù£;¡Ù£8̹٣̭٣áÖÙÎ!Ù£6Ì­ ÖÙÎ!Ù£<Ì­ ØÌØÌÛ¢ ÌÛÌÛ£5“¡Ö)ØÎ/Û£=¶)„¡Ö¶*Î#Ý¢Ç?šÝ¢ÜûšÝ¢ÜýšÝ¢ ÜøšÙž#Ü¢ ÝüšÝýÃÌÝù¡;Ú¡2Û£áÛ¢~Üþ¿ܢ Üþ‚š¹Û¢~Üþ•¿ܢ Üþ‚šÛ¢lš¹ÖØÎ0¹Û¢hš­ž3ØÌÚ¢ ÌÚÌÚ£6¡Ö ØÎ/¹òÚ£áôÚ£9Ú£:Å¡JÚ£¡ÖØÎ¹?ÖØÎ3Ú¢ršÚ¢tšÚ£=¡,ØÌܢǚܢڢ~¾šÙž#Üù¡ÖØÎ0Üû áÜ¢ š¹öÚ¢|Ú¢~Ú£9¾šÚ¢rÚ£9‚šÚ¢lÚ£>Úڣ>²¼‹¡Ú¢6Ú£8šÚ¢pÚ£>šÚ¢| šÚ¢xš¹Ú¢xš¹Ú¢lšÖØÎ3Ú£6“¡ Ú¢rÚ£9‚š­‚ ä&Ø£9Ø£:Å¡rØÌÚ¢ ÌÚÌÚ£5“¡Ö)ØÎ/Ú£=¶)„¡Ö¶*Î#ØÌÜ¢ÛûšÜ¢ ÛøšÜ¢Ç?šÙž#Û¢ ÜüšÜù¡ÜýáÚ¢~Ûþ¿ۢ Ûþ‚š¹ÖØÎ0Ú¢tÛþ•šÚ¢rš­„Ø£áØ£;¡ÖØÎ&Ø¢všØ£6¡Ö ØÎ/¹ÖØÎ&­.ØÌÙ£;Ù£6“„Ù£Ä¡ÖØÎ&Ù¢vš­$!ÖØÎ “¡ÖØÎ&¹öØ¢vš­ ÖØÎ!ÙØ£>šØ¢vš­Ö#ØÎ/­ØÌÖØÎ!ÙÂÚ¿ÌÛÚÈÜ£<“„¡ÙÛÂÜ£>¿ÖØÎ&ۂ̹öÙÂÛ•¿Ü£<“¡ÖØÎ&¹ô­3 JØÌÖØÎ!ÙšÌÌÜ£> áÖØÎ&¹öÜ£>+ÃÜ£>-Ã�¡ Ü£>-ÃÌÖØÎ&Ü£>²¼‹¡ÌÙÙø �0•Ü£>‚šÖØÎ&¹ôÛ¡ÙÙø‘šÚ¡ÖØÎ/­5\ t ØÌÖØÎ!ÙŠ½ÌÌÝ£> áÖØÎ&¹öÝ£>+ÃÝ£>-Ã�¡ Ý£>-ÃÌÖØÎ&Ý£>²¼‹¡ÌÙÙ¼ Š�Ý£>0•Šƒ½ÖØÎ&¹ô‘ÌÝ£>.áDÌÖØÎ&Ý£>²¼‹¡$ÌÜ‚ÌÜKš֨Î/Ùټݣ>0•Üž$‰‡ƒ½Ý£>²¼‹“¡òÝ£>eÃÝ£>EÃ�ÜÉÚ“�„¡>Ý¢všÖØÆÎ Ú¡ÙнÌÜ€Kš֨Î/ÜÉ¡ Ùټ܀ž$‡½¹ Ùټܞ$�½Ú¡ÖØÎ/Û¡ÙÙ¼’½­¨Ý ØÌØÌÚ¢ ÌÚÌÚ¢hšÜ¢ÛûšÜ¢ ÛøšÚ£¡Ú¢~Ú£9¿ܢÇ?š¹ Ü¢ÛýšÜ¢Ç?šÙž#Üù¡ÖØÎ0­V4Ø£5“¡Ö)ØÎ/ØÌÚ¢ ÌÚÌÚ£ájÚ¢~Ú£9ÂÚ£>¿Ú¢rÚ£9‚šÚ£9Ç„ÅÚ£>²¼‹�¡7Û¢ Ú£9šÖØÎ4Û¢ šÚ¢ršÚ£>áÚ¢~¿ܢšÜ¢Ç?šØÌÙž#¹ Ú£=¡¸)¹/Ú£8Ú£9•ȡڢlšÚ£8Ú£9á Ú¢pÚ£8‚šÖØÎ4Ú¢rÚ£9‚š­À Úšآ| šÖØÎ ڕ̹öØ¢|ÙšÖØÎ ­ (ØÌÚ¢ ÌÚÌÚ£á,Ú£9šۢ Ú£9šÖØÎ4Û¢ šÚ¢ršØÌÙ¶*á¸)¹ÖØÎ ­J#ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڕ®È¡Þ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ @Ù¾ÌÚÈ¡Û̹ÚÛÅ¡ ÖØ ÚÛ•ÎÛ̮ڮȡÞ̹ÜÐÌØ¢|ÙܾšÖØÎ ÜÝáö­ LØ¢| šÖØÎ ÖØÎ#­Ø¢| šÖØÎ ÖØÎ#­Ö#ØÎ/­ Ù¡ ƦTrueª¹ ƦFalseªÖØÆÚέ*"ÌÌÆ ¿ÙÉ¡ Ù€ÌÙȡƦ-32768ª ¹cÆÂ-¿Ì®®Ä¡IÊ̹ܕÌÙ²"ܤø†0‚ÌÝ0ÃÜńބ¡¹ÌÆÛÂݿۂÌÝ0Ë¡ Ù²"ܤøŽÌÜÊáöÆÂÛ•¿ÚƾɡƾÌÖØÆÚέ` ¨ÌƲ ¼½Æ¼³Bd±¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹öƼž Ä¡¶‚¸Ú‚ÌÆÆ¼² ¼‡½¹ôÚÅ¡ ÚKšֶÎ/² ² ¼Úž$‡½ÖÎ5¹JƼžÉ¡¶•¸Ú‚ÌÆÆ¼² ¼�½¹òÚÅ¡ÚKšֶÎ/² ² ¼Úž$�½ÖÎ5­M›È Ü5Ö¶ØÎ­6®Ø®È¡:Ü̹ÚÐ̲ ¼žÌÖÙ0‚Î6² ² ¼ÙŠ–½² ² ¼² ¼�½ÚÛáö­8 N7Æ ž$½Æ ž$½ÛÉÜÉ�ÜKÅ�ÛKÅ�¡Ö$ØÎ/Ƽ³µÌÆ Æ¼�½ÌÝ¡òÆ ¼³·¡Æ Æ ¼³@€Üž$‡ƒ½Æ ¼³·Æ ¼³A °„¡ÖÎ5®ÛÞ•Ü••®È¡Ê̹ßÐÌÖ Î6ßÊáöÊ¡Ö-Î6¹Ö Î6ÖÞÎ7Ö.Î6‘®Þ®Ä¡Ê̹ߕÌÖ0Î6Ü•ÌßÊáôÖÜÎ7¹ðÛ‚É¡‚ÌÆ ¼³¯¡Ì¹ÖÎ5Æ Æ ¼³@€Û••ž$‡ƒ½ÖÎ5Ê¡Ö-Î6¹Ö Î6ÖÎ7Ö.Î6ÖÛ••Î7ÖEÎ6ÞÈ¡Ö-Î6¹Ö+Î6Þ•€ É¡Ö0Î6ÖØÞ•€Î­‡£Ù zÙ¦ªÚÅÛÅ„ÚÛ‚•ؾȄ¡ØÚÂÙÂÛžÙÂÛ¿¹Ö¶+Î/­8پؾ‚ÚÈ¡ÙÂØØ¾‚ÂÙ¾žØÂپؾ‚¿¹Ö¶+Î/­2ÌھšSÚ¾ÌÌÙ¾Ú¾•‚ÌÆÂÚ¾¿ÜÛÈ¡3ÜÛÜ•ÝÙÜž ‚ÌÜÛÅ¡¹ÙÜÂÆÂÚ¾žÆÚ¯¡Ü̹܂̹ö­:ƒfÖÎ1­H ­xÌâ¶ â̾¦¶\ê DŽ dš” lÆ " Ì>TâødÆ `r$ì PHZ€   VH Æ Ö b Bà²xnÿ7ÿÿÿÿÿÿÿÿÿÿ¼  8X6H**º�+ª ªÀ8Iï8)6X6H**º�+ª ªÀ8JïRª�ªÀ8)6ª�H7(**º�+ª ªÀ8Iï87î8)60-•P-("�H"((Ž <Ž´ n0-–P-("ŽH"€ÿ ç;óŸxÜÚÓÆå§‹Vý'í±|-øv†¶CóÃúƒ0ÝÓuYgî^€Ò�oãåM.86—Ï42‡0¦Éþ õ(3Û¹3ï >x#6ùEö[¼¿“ÇPÎRä]........RRRRRRRRUUUUUUUUUUUUUUUU½ÄÄÄÄÄÄÄ1–ö2(T(]ÿ) X²(*ö2(T(] X²(*öP(T(] X²(*ö$((B]0(" X²(*öB]1– /–2(T(]ÿ X²(* /–2(T(] X²(* /–P(T(] X²(* /–$((B] W²(* W¢(*‚À–(T(]Ô(T(] W¢(*�ò2üƒþ X¢(*–"(D(] W¢(*�ò2üƒþ X¢(*–P(T(] W¢(*�ò2üƒþ X¢(*–$((B]$((4((Ó�B]4((Ó�2(T(]1 Æ4((Ó�–"(D(]ÿ W¢(*H*P7@80(–P( "Ä n- 807³�8(�ûŠ©"CÓû«ûÊP8)](L( W¢(*Ž] W¢(*4((Ó�H*P7@80(–P( "Ä n- 807Š8(½û©"CÓû«ûO W¢(*0(•P(<((û�ÓH*Š©"CÓû«ûO4((Ò�"‚‚À0IÇ(D(]$((4((8IçÒ“‚ÀH**ÒúÀïŽJO$((†/<((H*ó�2(J·À(*•ž(\(8)]H* n X¢(*‚œ $((†4((–(T(]H*ŠP…4(( p8)4((¶(T((*O X¢(*†4((–�"(D(] X¢(*H*Š4((<((Ó�û�©"CÓû«ûO X¢(*H*<((4((Š W¢(*H*<((4((P7ú�+ú ªÀ0IÏú@07¥ n«©OP7ú�#ú ‚À0IÇú@07X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887ûÓ«åO$((0HÆ4((Ó�B] W²(*H*,((… q<((®¾(\((* W²(*H*Š… p8j¾#ÎÔÎ8k¾+§(D(O$((4((Ó�2—‚’Ò�ý(T(]H*,(($((<((û�’Ò’ªPý�€3—¶SO$((‚Z�(D(]$((�(D(]$((4((� $((4((–(T(]$((4((‚J ÒJ–ÒZ–ÒJ––Ò[(T(]H* n,H*…4((,((Ö/ ªJ rª[‚  rªZ€  ÒK®/÷ð­(L(O nH*4((Ò,((…ªJ„ s(L(O0("(D(ÌH*4((Ö/8(+…ªJ„ s8(‚JÆCO n n+$((4((—(T(]$((4((€—”(T(]$((‚‚……P(D(]$((€(D(]0(]]0(ÿ]]0(":ÿZBÿ8)]0("(D(] X¢(*4((–(T(]$((<((4((Ýþ.Å‚J(T(8)]H* n$((4((•…Q…(D(]$((4((•ÕP(T(]$((4((•Ö/……P(D(]$((4((•ÒJ……P(D(]$((4((•ÒJ…Q…(D(]$((4((•Ö/…Q…(D(]Õ ÕP0@0A0B0C W¢(*9ž@R�}G9ÞKQgRRRR X¢(*H*‚ K@6<((4((Ó�û�#*� LÓû6ùK X¢(*H*‚ L@6<((4((Ó�û�#*� KÓû6ùL$((8Hæ8-ùøCúP(\(ŠH*9øÞ#(D(8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07‚ ª FFª DŒ@6H6ÓûX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07Œ&�$6ä8(3þ;ÿX7Ò�"Ò ‚À8IçÒ@87P7ú�+ú ªÀ0IÏú@07� Œ…P @ B<((4((,((ŸKL X¢(*H*9‚Þ+(L(8(3ÿ;þ‚ å@6P7ú�#ú ‚À0IÇú@07X7Ò�*Ò ªÀ8IïÒ@87ŒÑ�ÏÓû6äÆ W¢(*4((• ]=”H*8(ÝûŠÂ¥ò–©"CÓû«ûX($(('H*Ê¥0(P7@80(–P( "Ä n- 8078((D(®/ ©"C„–ž«ú,((©…ÔCÞ«ýO$(((D((D(H*<((4((ÝÕ(T(O ÒK n!8å nP6X7(Gï8k¾#(7ª�ª�ª�ª�86ú�ú�ú�ú�½(D(„Žú86(Gï8j¾+§(6ª�ª�ª�ª�¨(D(…«ü 7‚�‚�‚�‚�ƒ(D(Oï$((0(•P(H**ª�ª�ª�ª��…Úž½* G§+8lž#§…P8)B(*] zª H6"+�JÓû6ùP(O lªüH6"+€�ŒJÓû6÷ð ]ªíH6"+¨§BÓû6øâ9Þ0R?RO Eª H6"+�Óû6ù…Q…,((®0(µP(BO /ª H6"+�Óû6ù……Pê ª H6"+��Óû6ø…Q…Ú ª H6"+§¥Óû6ø…Q…ÊX6H*8(+½ÔÞ3¢Å‚  8(+½òµ”–6 ‚K8(+«S�KΫ«(D(«0(P7@80(–P( "Ä n- 8078(©"C„–ž«ú,((©…ÔCÞ«ýÉ?ÿÿÿÿÿÿ?ÿÿÿÿÿÿÿþÿüÿøÿðÿàÿÀÿ€ÿþüøðàÀ€ @€ @€0(ÓP("ÿ A8)]0(ÓP("ÿB"þBÿ @•"ÿ 48)]0("ÿ‚P‚�Bÿ]0("ÿ‚P‚°Bÿ]0( %P(8)]0( !P(8)]0( P(8)]0( P(8)]0(ÓÓ"ýBÿ"þB P(8)]ÂH*0( P(O[|ˆ’›¥p!(D(!(D(0("ý‚K ñ î òP(8)]0( íP(8)]@€4((ÒJ! Å Ö! –"(D("(D(]K nLAA BdC>€D'EjEô$F˜–€G_^H;šÊI%@¾JHvJèÔ¤K‘„æLZóM8×êN#†òO4WOÞ jPŠÇ"QV¼uR65ÉS!á�T-TÓÂU„YPVR·ÒW3²ãX OÎY1àYÉòÇZ~7¼[NâÕ\1MÅ]Л^Ba^À—Ë_x^ß`K;Ka/bc)c]ùc·«ÂdrËYeG¿f,×og¥h„'h¯)‰imyõjDl9k*ãlºFm´lm§ 8nhg£oA@Åp(È{q}MqþårŸO"sc‘ut>:éu&äÑvOvów—íÓx^ô¤y;Xæz%�{.º{çÓD|�ä }Zކ~8™#_¬â0+80(D((L((T((\(8,(\(8(X0š] W²(* Wº(*H*(\(80Ký8>ÞÖPÞX6#†/.…PC#ƒ�‚  n ((Ž0<Î0-´ n ((00Í0CÎ0(ÚžX(©"C„–ž«ú"–86#ƒ�(0ŽH00CÍK863P,* J�À$((ª  ­P�  0,•"ƒ�•P+ 0@/P8) W¢(*H*00Jý0>*H, W¢(*H*00Jý(+0-µ0.µ00(:Jþ,+0,•<,úK!Iä""‚K Sƒ�•P+"‚K99œ 0+P,ÑÐ"•P+"@0IÇÏ8)� #ü�â;üƒö80Cü#ÿ‚P‚ CÿX)0+"üP7@80(–P( "Ä n- 807ÑÐ"ƒ�•ÊPH*]þ W¢(*ƒ00Jý0;•"ƒ�•P+ ;@, 1Ò"o80#ÿ‚P‚ CÿX)2ÿ I—!–"@60(6$0+"ÿ(J§À@680X)/ W¢(*@6(J$,‚K1Í•T!§À7·À• 8>ž†Pž#ƒ�0)Ú(Bµ�X)Ú� 6Ž«©"CÓû«û8)#@,#ÿ‚P‚�@0+ý3þÒK ®8)P+ 6‚  C�X(H*0)ÓÚ(C½Š©"CÓû«û„žX((*80#ÿ‚Z;ÿüúPú�X)]$+§À(@� Ë+ýöH6,(($((ªÀŽ0+ @•"ÒP•P*$+0JÇ·•  $,‚À0IÇ·• O3þÒKÂ(\( &<(( @•"ÒP•Sý3þÒPÒ�"0JÇ·• '‚À0IÇ·• á3þÒPÒ�"0IÇ;ÿÙ(6H* n "o0+ @•"ÒP•P*+üH6(6#ÿ‚P‚��H63þÒKÂ(\( ê<(((6ª "(I§,((�  $((‚�•"ÒP•SýO(L( @•"ÒP•Sý;ÿÕ W¢(*’ÀÒS0JÆ‚JŽ‚ 0+–"ÒP•Ê]$((‚ƒé«]³�$((*�®.*�ªJ *¥(A¶–"ÊP�]ÓËP] W¢(*H*1–RD�ÃK0RR lg€ï —RRRRRR”RRsiGIMKOQS+2Rz7YRRR4((Ó� -‚PB]4((Ó�"ƒ�0-” n0.• n@-]$((4((Ó�(-�H-ªPJ«� <� (¤ n H"(*] $<((û�C<((û�K<((û�SO ò -0(Å0<ņ/…(D(]$((ÕPÇ(D(]4((!Þ!æ!ë$((<((4((þ/]ùX7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Óûï8)]$((<((4((†/O�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807ÓûƒåO$((<((4((–ž¬¶¾‚JO�X7Ò�*Ò ªÀ8IïÒ@87P7@80Iú’ÒÀ#ÇÒÀ·ÒÀÆCú@ 807¬¶¾ƒäO8(+þ#ýCþ‚ O#ÿ3ª$+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ 9¬¶þò8X7Ò�*Ò ªÀ8IïÒ@87¥ (Óþó(+ýªKX7Ò�*Ò ªÀ8IïÒ@87¥ ¬¶þòX7Ò�*Ò ªÀ8IïÒ@87¥ Óþó#ý+þ¥Cý A�X(O… …P @ A B C D0(4 8()¾X(X)X0…�CúX1! æCÿ =(D()] ÿûJ2ÚÏÖÍÖÏH)H($,‚C#) � 1–�‰""6"A"U nûX6+8)'‚K;ÿü0JÇÀE'þÇÀE3ý @•;þ„ž#úP�õUbcdX6­Š$,0JÇÀE÷8+#ÇÀEô„ž#úP� *ÔÆåEë0; A•"ƒ�•"ý2üÆ0CÆ01Æ@(@0ª $6! (D((L(81X))]3´ÏX69ªƒ‚�Æ�ûüª°6X6Å 9 ªP‚@ŠŪ@ûûý!ý6ÿðX7ýªKû©ÒKøÑX8 p88úZÑú›¨€«ƒ7X7ý‚Kû¨€«ƒÒKøÑX8 q88úZÑú›©�72\2 @–…BBÿ y<222\2 z @•<222D2 u$222T29ž422 vOCüûXRS¸X6! YP3! YP2! YP4!–P56 ‚!<‚C 4 w# w | ˆ# w { ~ 4 w 4 w } 4 w!* Š ˆ!( Š ~ }# ! w } {! w }422…P04B! B„BBBBó n@¸Äê¾ÊÐ×êA @€@µó3ùÞd„@±r÷ÑÏy¤@o-ìT›”8ÇBSïP þ©œB]vÂ1I«¹fBZ,¸—¿YÀAB»ÅÜÛ>†)B=ÂÕ1ï‹oB-\K߬•u2\28304"‚Š2"‚,ÂC w04")žJ¥ ‚€C…pC!$ Š!" w }0404"+ŽJ BCS# w# w ~ {! w }ö ˆ#@4422 n@RL@äù*ù¨Íê@9>Nð(§ü@@@€2\28304"C…BCC"):¥!= w ˆ ~ 4 w!1 w „‚ 4 w!- w }!, w | ˆ!& w { ~ 4 w 4 w } 4 w! Š ˆ! Š ~ }! w {! w {#D4422A·«¥½±ÄÝA2Cö¨ˆZ0Œ@† ‘Ák›,A¶zèXLªt@D˜Qz{5XÃA!ûTD-FAɈgô)ƒß2B}”D@nV�C®Ù>rWÿBÅ3þ,Á1åAB%ëÈÝ£BϱS—^UCÊ™43F­£BÅ3þ,Á1Þ…… 2\28304*…uªƒƒPC…B!! w } ‰+Ž“K! w ˆ |+04ª‚ w 4 w } 4 w! Š ˆ! Š ~ }422 f T / T>•6-î-Ïj@Aãõ1·ó7AÆP6QÏõîûC·ÅZ�QFåC©; È(:óìDpÔ‹´ËÙ0ABsMÊ�]pÄZDx%U³îXl@¢ùƒnND'8(3þSþ;û�Ó� B@6"+�Óû6ù®'¬3­p8(3þÓ�ªK22Ð å$((<((4((û�S(L(O h…PEþ AP7@80(–P( "Ä n- 8078(3ýÓ�!ìBBBB3øÓ�"3ý;ùž F@6P7ú�#ú ‚À0IÇú@07(\( -'X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887<((Óû6ßP7ú�#ú ‚À0IÇú@07(\( <((ûð$((üæ)Œ)Œ)�) �) �) �0:@Z`z8(3ùÅ3øÓ�B F@63ý)o9pX7Ò�"Ò ‚À8IçÒ@87�¥X7H88IÒ’úÀ*ïúÀŸúÀîJÒ@(887Ó6ã8(3ýX7Ò�"Ò ‚À8IçÒ@87)E¥3úÓ�–"Cþ"ŠP¦P‚PCÿ!;3ú–#ÿÆC#þŠP¦P‚P–(T(;ýÓ�û� B@6"+�Óû6ù4((!–8(#Äé…;ûû�C8(!�X(O4((Ó�"8(;üû�C"8(î A`6 ÂoÔ  ŒÔP  Œª ÷f?F‹QfX�1,Â)+H6)*�H7…Ó*¤À7Ó66ø)é� ä!ê‚ Ù " Œ9öÀ®P®P¶P–9ÝúÀ)Ù®P®P¾P)Ö¾ÝÊ‹�!„0!‘D  Œ¥   ŒH-H. <�H"  t‚  " ŒWsX6 " Œ9ö6°X6 " Œ6Û�X6#€  ‚K n) �ü1–v!ü!ÿ!ò#+1S1S1S386C…86C…PCKSO Ž�#X9! Y89ZP9Ë!øæ‚Pƒ " Œ89ó" *1k p<937 q<9K8!09 ZOX937+9… p893 '? ŒOX93 ? Œ1 Ï­P89KÐÇ1Å……PCO@X9!ß YP8Ê89!¼æ‚Pƒ " Œ08" *10 p092 '? Œ!É ZOH9X8ÕP)!� ÓÁÒÀ(:¥ …@:-¶)�%Ž%ƒ�  ? Œ% •`¬P¶-¶Ó�(98ge@?86X93)ü… p893 '? Œ 0)¥‚P893+ ? Œ89X6 ‹‚  n%/"Ó5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ADDRESSß ?Ð  ;PASCAL EXTERNAL FUNCTION ;TO RETURN EXTERNAL BYTE ADDRESS ;FROM TABLE OF WORD ADDRESSES ; (SUPPLIED BY USER) .TITL ADDR ;PETE GOODEVE 78:8:5 .ENT ?ADDR .EXTN XPRET,ADRTB .NREL ;FUNCTION ADDRESS(I:INDEX):ANYBYTADDR; EXTERNAL; ;FUNCTION ADDRESS(PTR:BYTADDR;I:INDEX):... ?ADDR: MOVZR# 1,1,SZR JMP P2 LDA 2,ABAS ;GET TABLE BASE GETBA: LDA 1,0,3 ;GET INDEX ADD 1,2 ;FORM ACCESSOR MOV 0,3 ;RETURN-POINTER LDA 0,0,2 ;GET WORD ADDRESS FROM TABLE COM 0,0,SZR ;RETURN NIL IF UNDEF. COMZL 0,0 ;CHANGE TO POINTER FORM NOVAL: STA 0,0,3 ;RETURN TO USER SUBZL 1,1 ;(1 WORD RETURN) XPRET ABAS: ADRTB P2: LDA 2,-1,3 ;BASE BYTE ADDR MOVZR 2,2,SZR ;-> WORD JMP GETBA MOV 0,3 SUB 0,0 ;NIL POINTER RETURNS NIL JMP NOVAL .END T39R Båå PROGRAM T39(INPUT,OUTPUT); CONST CURSORLEFT=8; CURSORRIGHT=14; CURSORUP=10; CURSORDOWN=11; EOS=29; EOL=28; CLEAR=15; HOME=12; TAB=9; ESC=27; CONTROLZ=26; LINEFEED=10; CARRIAGERET=13; DELETE=127; BACKSLASH=92; (*DISPLAY SIZE IS 25 LINES BY 80 COLUMNS*) NLINES=24; NCOLUMNS=80; TYPE XY = RECORD COLUMN,LINE :INTEGER END; ABSREL = (ABSOLUTE,RELATIVE); INTARRAY = ARRAY[1..20] OF INTEGER; VAR ROW,WORD,BIT,INCH,OUTCH,BYTE,ERROR,ANS,DUMMY:INTEGER; SPACE,T : INTEGER; TABS : ARRAY [1..5] OF INTEGER; TEST : BOOLEAN; PREVCURSOR,CURSOR : XY; MOVE : ABSREL; NBROTE : INTEGER; ESCF : ARRAY[1..2] OF INTEGER; PROCEDURE TBIT( BITNO : INTEGER;WORD : INTEGER;VAR VALUE : INTEGER);EXTERNAL; PROCEDURE CBIT(BITNO : INTEGER;VAR WORD : INTEGER);EXTERNAL; PROCEDURE SBIT(BITNO : INTEGER;VAR WORD : INTEGER);EXTERNAL; PROCEDURE SWAP (VAR WORD:INTEGER);EXTERNAL; PROCEDURE WRSQ(IOCH:INTEGER;VAR BUFFER:INTARRAY;NBYTES:INTEGER; VAR NBROTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE RBYTE(INCH:INTEGER;VAR BYTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE WBYTE(INCH:INTEGER;VAR BYTE:INTEGER;VAR ERROR:INTEGER);EXTERNAL; PROCEDURE CURSORMOVE (X:INTEGER;Y:INTEGER;MOVE:ABSREL); BEGIN CASE MOVE OF RELATIVE : BEGIN CURSOR.LINE:=CURSOR.LINE+Y;CURSOR.COLUMN:=CURSOR.COLUMN+X; IF CURSOR.COLUMN = 0 THEN BEGIN CURSOR.LINE := CURSOR.LINE-1; CURSOR.COLUMN:=1; END ELSE IF CURSOR.COLUMN = NCOLUMNS+1 THEN BEGIN CURSOR.COLUMN:=1; CURSOR.LINE := CURSOR.LINE+1; END; IF CURSOR.LINE<1 THEN CURSOR.LINE:=1; (*MOVE CURSOR SEND ESC F LINE COLUMN. OFFSET COORDS BY 37OCTAL (31DEC) *) ESCF[1]:=6982; (*15506 OCTAL*) ESCF[2]:=CURSOR.LINE+31; SWAP(ESCF[2]); ESCF[2]:=ESCF[2]+CURSOR.COLUMN+31; WRSQ(OUTCH,ESCF,4,NBROTE,ERROR); IF TEST THEN WRITELN(OUTPUT,' ',X,Y,CURSOR.COLUMN,CURSOR.LINE,'RELATIVE') ELSE END; ABSOLUTE : BEGIN ESCF[1] := 6982; ESCF[2] := 31+Y;CURSOR.LINE := Y; SWAP(ESCF[2]); ESCF[2] :'= ESCF[2]+31+X;CURSOR.COLUMN := X; WRSQ(OUTCH,ESCF,4,NBROTE,ERROR); IF TEST THEN WRITELN(OUTPUT,' ',X,Y,CURSOR.COLUMN,CURSOR.LINE,'ABS') ELSE END END END; PROCEDURE CLEARSCREEN; BEGIN DUMMY := CLEAR; WBYTE(OUTCH,DUMMY,ERROR) (*17 OCTAL IS A CLEAR SCREEN*) END; (*INITIALIZE THE TAB ARRAY*) PROCEDURE INITTABS; BEGIN FOR ROW := 1 TO 5 DO TABS[ROW] := 0 END; PROCEDURE TABBIT; VAR VALUE,TABSEG : INTEGER; BEGIN WRITELN(OUTPUT,' ','TABS ARE',' SET AS ','FOLLOWS'); WRITE(OUTPUT,' '); FOR ROW := 1 TO NCOLUMNS DO BEGIN WORD := ROW MOD 16;BIT := ROW-WORD*16; TABSEG := TABS[WORD];TBIT(BIT,TABSEG,VALUE); WRITELN(OUTPUT,'ROW,WORD',',BIT,TAB','SEG,VALU','E'); WRITELN(OUTPUT,ROW,WORD,BIT,TABSEG,VALUE); IF VALUE = 1 THEN WRITE(OUTPUT,'T') ELSE WRITE(OUTPUT,' '); WRITELN(OUTPUT) END END; PROCEDURE ESCFUNCTION; BEGIN PREVCURSOR:=CURSOR; CURSORMOVE(1,NLINES,ABSOLUTE); DUMMY:=27;WBYTE(OUTCH,DUMMY,ERROR); DUMMY:=77;WBYTE(OUTCH,DUMMY,ERROR); RBYTE(INCH,BYTE,ERROR); IF BYTE = 94 THEN TABBIT; CURSORMOVE(PREVCURSOR.COLUMN,PREVCURSOR.LINE,ABSOLUTE) END; BEGIN INCH:=1;OUTCH:=2; CURSOR.LINE:=1;CURSOR.COLUMN:=1; SPACE := 50;(*SPACE = 40 OCTAL*) T := 94; (*LETTER T=94 DEC*) WRITELN(OUTPUT,'ENTER 0 ','FOR NO T','ESTING OR 1 FOR '); READLN(INPUT,ANS);IF ANS = 0 THEN TEST := FALSE ELSE TEST := TRUE; CLEARSCREEN; INITTABS; REPEAT RBYTE(INCH,BYTE,ERROR); IF TEST THEN WRITELN(OUTPUT,BYTE) ELSE IF(BYTE>=32) AND (BYTE<=126) THEN BEGIN WBYTE(OUTCH,BYTE,ERROR);CURSORMOVE(1,0,RELATIVE) END ELSE CASE BYTE OF (*LEFT*) 8 : CURSORMOVE(-1,0,RELATIVE); (*DELETE*) 127 : CURSORMOVE(-1,0,RELATIVE); (*DOWN*) 10 : CURSORMOVE(0,1,RELATIVE); (*UP*) 11 : CURSORMOVE(0,-1,RELATIVE); (*HOME*) 12 : CURSORMOVE(1,1,ABSOLUTE); (*CARR RET*) 13 : BEGIN CURSORMOVE(0,1,RELATIVE);CURSORMOVE(1,CURSOR.LINE,ABSOLUTE) END; (*RIGHT*) 14 : CURSORMOVE(1,0,RELATIVE); (*CLEAR*) 15 : BEGIN CURSORMOVE(1,1,ABSOLUTE);CLEARSCREEN END; (*ESC*) 27 : ESCFUNCTION; 0,1,2,3,4,5,6,7,9,16,17,18,19,20,21,22,23, 24,25,26,28,29,30,31 : ; END (*CASE*) UNTIL (ERROR <> -1) OR (BYTE = CONTROLZ) END. CDC6000B| L½< ([A=20,B+,R=1-100,I=2,S=2]) FORMATTER DIRECTIVES.) ( ******************************************************************************* PASCAL PROGRAM FORMATTER ------------------------ AUTHOR: MICHAEL N. CONDICT, L975 LEHIGH UNIVERSITY CURRENT ADDRESS: PAR CORP 228 LIBERTY PLAZA ROME, NY 13440 UPDATED: AUGUST, 1978 ***************************************************************************** ) PROGRAM FORMAT(INPUT,OUTPUT); LABEL 13; CONST ALFALENG = 10; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( MINIMUM AND MAXIMUM CHAR VALUES. ) MINCHAR = 0 MAXCHAR = 127; LASTPASCSYMBOL = 29; ( THE FOLLOWING CONSTANTS MUST ALL BE CHANGED TOGETHER, SO THAT THEIR VALUES AGREE WITH THEIR NAMES: ) BUFFERSIZE = 160; BUFFSZP1 = 161; BUFFSZM1 = 159; BUFFSZDIV10 = 16; ( ) MAXREADRIGHTCOL = 999; MAXWRITERIGHTCOL = 72; TYPE ALFA = PACKED ARRAY [1 .. ALFALENG] OF CHAR; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( SET SIZE MAY NOT ALLOW SET OF CHAR. ) CHARSET = SET OF CHAR; STATMNTTYPES = (FORWITHWHILESTATEMENT, REPEATSTATEMENT, IFSTATEMENT, CASESTATEMENT, COMPOUNDSTATEMENT, OTHERSTATEMENT); SYMBOLS = (PROGSYMBOL, COMMENT, BEGINSYMBOL, ENDSYMBOL, SEMICOLON, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, COLONSYMBOL, EQUALSYMBOL, PERIODSYMBOL, RANGE, CASESYMBOL, OTHERSYMBOL,  IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LEFTBRACKET, RIGHTBRACKET, COMMASYMBOL, LABELSYMBOL, LEFTPARENTH, RIGHTPARENTH, ALPHAOPERATOR); WIDTH = 0 ..BUFFERSIZE; MARGINS = - 100 ..BUFFERSIZE; SYMBOLSET = SET OF SYMBOLS; OPTIONSIZE = - 99 .. 99; COMMENTTEXT = ARRAY [1 .. BUFFSZDIV10] OF ALFA; SYMBOLSTRING = ARRAY [WIDTH] OF CHAR; VAR CHISEOL, NEXTCHISEOL: BOOLEAN; I: INTEGER (USED AS FOR LOOP INDEX); CHARACTER: CHAR; READCOLUMN, READRIGHTCOL: 0 .. 1000; OUTPUTCOL, WRITECOLUMN, LEFTMARGIN, ACTUALLEFTMARGIN, READLEFTCOL, WRITELEFTCOL, WRITERIGHTCOL: MARGINS; DISPLAYISON, PROCNAMESWANTED, ENDCOMMENTSWANTED, PACKERISOFF, SAVEDBUNCH, BUNCHWANTED, NOFORMATTING: BOOLEAN; LINENUMBER, INCREMENT: INTEGER; INDENTINDEX, LONGLINEINDENT, SYMBOLGAP, DECLARALIGNMENT, STATMTSEPARATION, PROCSEPARATION: OPTIONSIZE; LASTSYMBOL, SYMBOLNAME: SYMBOLS; ALPHASYMBOLS, ENDLABEL, ENDCONST, ENDTYPE, ENDVAR: SYMBOLSET; SYMBOL: SYMBOLSTRING; LENGTH: WIDTH; SYMBOLISNUMBER, LASTPROGPARTWASBODY: BOOLEAN; DIGITS, LETTERSANDDIGITS: CHARSET; OLDEST: WIDTH; CHARCOUNT: INTEGER ( COUNT OF TOTAL CHARS READ, BUT IS OFF BY BUFFERSIZE AFTER END OF FIRST BODY. IT IS IMPERATIVE THAT CHARCOUNT BE MONOTONICALLY INCREASING DURING PROCESSING OF A BODY, AND THAT IT NEVER RETURN TO A VALUE <- BUFFERSIZE, AFTER PASSING THAT POINT. THUS "DOBLOCK" MAY RESET IT AS LOW AS POSSIBLE, LIMITING THE LENGTH OF A PROCEDURE TO "MAXINT - BUFFERSIZE" CHARACTERS. ); MAIN: COMMENTTEXT; MAINNMLENGTH: WIDTH; BLANKS, ZEROES: ALFA; UNDERWRITTEN: ARRAY (WIDTH) OF RECORD CH: CHAR; CHISENDLINE: BOOLEAN INDENTAFTEREOL: MARGINS END; PASCALSYMBOL: ARRAY [1 ..LASTPASCSYMBOL] OF ALFA; PASCSYMBOLNAME: ARRAY [1 ..LASTPASCSYMBOL] OF SYMBOLS; NAMEOF: ARRAY [CHAR] OF SYMBOLS; STATEMENTTYPEOF: ARRAY [SYMBOLS] OF STATMNTTYPES; PROCEDURE CONSTANTSINITIALIZATION; BEGIN MAIN[1] := 'MAIN '; MAINNMLENGTH := 4; BLANKS *= '; ZEROES *= '0000000000'; FOR I := 0 TO BUFFSZM1 DO WITH UNWRITTEN[I] DO BEGIN CH := 'A'; CHISENDLINE := FALSE; INDENTAFTEREOL := 0 END; FOR CHARACTER := CHR(MINCHAR) TO CHR(MAXCHAR) DO NAMEOF[CHARACTER] := OTHERSYMBOL; CHARACTER := ' '; NAMEOF['('] := LEFTPARENTH; NAMEOF[')'] := RIGHTPARENTH; NAMEOF['='] := EQUALSYMBOL; NAMEOF[','] := COMMASYMBOL; NAMEOF['.'] := PERIODSYMBOL; NAMEOF['['] := LEFTBRACKT; NAMEOF[']'] := RIGHTBRACKET; NAMEOF[':'] := COLONSYMBOL; NAMEOF['<'] := EQUALSYMBOL; NAMEOF['>'] := EQUALSYMBOL; NAMEOF[';'] := SEMICOLON; PASCALSYMBOL[1] := 'PROGRAM '; PASCALSYMBOL[2] := 'BEGIN '; PASCALSYMBOL[3] := 'END '; PASCALSYMBOL[4] := 'CONST '; PASCALSYMBOL[5] := 'TYPE '; PASCALSYMBOL[6] := 'VAR '; PASCALSYMBOL[7] := 'RECORD '; PASCALSYMBOL[8] := 'CASE '; PASCALSYMBOL[9] := 'IF '; PASCALSYMBOL[10] := 'THEN '; PASCALSYMBOL[11] := 'ELSE '; PASCALSYMBOL[12] := 'DO '; PASCALSYMBOL[13] := 'OF '; PASCALSYMBOL[14] := 'FOR '; PASCALSYMBOL[15] := 'WHILE '; PASCALSYMBOL[16] := 'WITH '; PASCALSYMBOL[17] := 'REPEAT '; PASCALSYMBOL[18] := 'UNTIL '; PASCALSYMBOL[19] := 'PROCEDURE '; PASCALSYMBOL[20] := 'FUNCTION '; PASCALSYMBOL[21] := 'LABEL '; PASCALSYMBOL[22] := 'IN '; PASCALSYMBOL[23] := 'MOD '; PASCALSYMBOL[24] := 'DIV '; PASCALSYMBOL[25] := 'AND '; PASCALSYMBOL[26] := 'OR '; PASCALSYMBOL[27] := 'NOT '; PASCALSYMBOL[28] := 'ARRAY '; PASCALSYMBOL[29] := 'NOSYMBOL '; PASCSYMBOLNAME[1] := PROGSYMBOL; PASCSYMBOLNAME[2] := BEGINSYMBOL; PASCSYMBOLNAME[3] := ENDSYMBOL; PASCSYMBOLNAME[4] := CONSTSYMBOL; PASCSYMBOLNAME[5] := TYPESYMBOL; PASCSYMBOLNAME[6] := VARSYMBOL; PASCSYMBOLNAME[7] := RECORDSYMBOL; PASCSYMBOLNAME[8] := CASESYMBOL; PASCSYMBOLNAME[9] := IFSYMBOL; PASCSYMBOLNAME[10] := THENSYMBOL; PASCSYMBOLNAME[11] := ELSESYMBOL; PASCSYMBOLNAME[12] := DOSYMBOL; PASCSYMBOLNAME[13] := OFSYMBOL; PASCSYMBOLNAME[14] := PASCSYMBOLNAME[15] := WHILESYMBOL; PASCSYMBOLNAME[16] := WITHSYMBOL; PASCSYMBOLNAME[17] := REPEATSYMBOL; PASCSYMBOLNAME[18] := UNTILSYMBOL; PASCSYMBOLNAME[19] := PROCSYMBOL; PASCSYMBOLNAME[20] := FUNCSYMBOL; PASCSYMBOLNAME[21] := LABELSYMBOL; PASCSYMBOLNAME[29] := IDENTIFIER; FOR I := 22 TO 28 DO PASCSYMBOLNAME[I] := ALPHAOPERATOR; FOR SYMBOLNAME := PROGSYMBOL TO ALPHAOPERATOR DO STATEMENTTYPEOF[SYMBOLNAME] := OTHERSTATEMENT; STATEMENTTYPEOF[BEGINSYMBOL] := COMPOUNDSTATEMENT; STATEMENTTYPEOF[CASESYMBOL] := CASESTATEMENT; STATEMENTTYPEOF[IFSYMBOL] := IFSTATEMENT; STATEMENTTYPEOF[FORSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WHILESYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WITHSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[REPEATSYMBOL] := REPEATSTATEMENT; END (CONSTANTSINITIALIZATION); PROCEDURE WRITEA(CHARACTER: CHAR); VAR I: WIDTH; TESTNO: INTEGER; BEGIN CHARCOUNT := CHARCOUNT + 1; OLDEST := CHARCOUNT MOD BUFFERSIZE; WITH UNWRITTEN[OLDEST] DO BEGIN IF CHARCOUNT > BUFFSZP1 THEN BEGIN IF CHISENDLINE THEN BEGIN IF IDENTAFTEREOL < O THEN BEGIN WRITE(BLANKS: - INDENTAFTEREOL); OUTPUTCOL := OUTPUTCOL - IDENTAFTEREOL; END ELSE BEGIN IF INCREMENT < O THEN BEGIN I := WRITERIGHTCOL - OUTPUTCOL + 1; IF I > O THEN WRITE(BLANKS: I); TESTNO := LINENUMBER; I := O REPEAT TESTNO := TESTNO DIV 10; I := I + 1; UNTIL TESTNO - O; WRITE(ZEROES: (6 - I), LINENUMBER: I); LINENUMBER := LINENUMBER - INCREMENT; IF LINENUMBER > 9999 THEN LINENUMBER := LINENUMBER - 10000; WRITELN; END ELSE BEGIN WRITELN; IF INCREMENT > O THEN BEGIN WRITE(LINENUMBER: 4, ' '); LINENUMBER := LINENUMBER + INCREMENT; END END IF IDENTAFTEREOL > O THEN WRITE(BLANKS: IDENTAFTEREOL; OUTPUTCOL := IDENTAFTEREOL + 1; END; CHISENDLINE := FALSE; END (IF CHISENDLINE) ELSE BEGIN WRITE(CH); OUTPUTCOL := OUTPUTCOL +1; END (ELSE); END (IF CHARCOUNT > ); CH := CHARACTER; WRITECOLUMN := WRITECOLUMN +1; END (WITH); END (WRITEA); PROCEDURE FLUSHUNWRITTENBUFFER; BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IDENTAFTEREOL := O; END; WRITECOLUMN := O; FOR I := O TO BUFFSZM1 DO WRITEA(' '); END *(FLUSHUNWRITTENBUFFER)*; PROCEDURE STARTNEWLINEANDINDENT; BEGIN IF PACKERISOFF AND DISPLAYISON THEN BEGIN WRITEA(' '); LASTSYMBOL := PERIODSYMBOL; WITH UNWRITTEN [OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL + LEFTMARGIN - 1; END; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN; END *(IF PACKERISOFF)*; END *(STARTNEWLINEANDINDENT)*; PROCEDURE READACHARACTER; BEGIN IF READCOLUMN > READRIGHTCOL THEN BEGIN IF READRIGHTCOL < MAXREADRIGHTCOL THEN BEGIN NEXTCHISEOL := TRUE; READLN END ELSE READCOLUMN := 2; END ELSE IF READCOLUMN = 1 THEN WHILE READCOLUMN < READLEFTCOL DO BEGIN IF EOLN(INPUT) THEN READCOLUMN := 1 ELSE BEGIN READCOLUMN := READCOLUMN + 1; GET(INPUT) END END; IF NEXTCHISEOL THEN BEGIN CHARACTER := ''; NEXTCHISEOL := FALSE; CHISEOL := TRUE; READCOLUMN := 1; IF NOFORMATTING THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL - 1; END WRITECOLUMN := WRITELEFTCOL; END END ELSE IF NOT EOF(INPUT) THEN BEGIN CHARACTER := INPUT ^; READCOLUMN := READCOLUMN +1; NEXTCHISEOL := EOLN(INPUT); GET(INPUT); CHISEOL := FALSE; IF NOFORMATTING THEN WRITEA(CHARACTER); END ELSE BEGIN FLUSHUNWRITTENBUFFER; GOTO 13 END END *(READACHARACTER)*; PROCEDURE WRITESYMBOL; VAR I: WIDTH; NUMBER BLANKSTOWRITE: OPTIONSIZE; BEGIN IF DISPLAYISON THEN BEGIN NUMBERBLANKSTOWRITE := SYMBOLGAP; IF (LASTSYMBOL IN [LEFTPARENTH,LEFTBRACKET,PERIODSYMBOL]) OR (SYMBOLNAME IN [SEMICOLON, RIGHTPARENTH,RIGHTBRACKET, COMMASYMBOL, PERIODSYMBOL, COLONSYMBOL]) OR (SYMBOLNAME IN [LEFTBRACKET, LEFTPARENTH]) AND (LASTSYMBOL = IDENTIFIER) THEN NUMBERBLANKSTOWRITE := O ELSE IF (SYMBOLNAME IN ALPHASYMBOLS) AND (LASTSYMBOL IN ALPHASYMBOLS) THEN IF WRITECOLUMN <= WRITERIGHTCOL THEN BEGIN WRITEA(' '); NUMBERBLANKSTOWRITE := SYMBOLGAP -1; END; IF WRITECOLUMN + LENGTH + NUMBERBLANKSTOWRITE -1> WRITERIGHTCOL THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IF PACKERISOFF THEN BEGIN IF WRITELEFTCOL + LEFTMARGIN + LONGLINEINDENT + LENGTH -1> WRITERIGHTCOL THEN LENGTH := 10; INDENTAFTEREOL := WRITELEFTCOL -1 + LEFTMARGIN + LONGLINEINDENT; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN + LONGLINE INDENT; END ELSE BEGIN IFLENGTH > WRITERIGHTCOL - WRITELEFTCOL + 1; THEN LENGTH := WRITERIGHT COL - WRITELEFTCOL + 1; INDENTAFTEREOL := WRITELEFTCOL - 1; WRITECOLUMN := WRITELEFTCOL; END; END *(WITH)*; END ELSE FOR I := 1 TO NUMBERBLANKSTOWRITE DO WRITEA(' '); FOR I := 1 TO LENGTH DO WRITEA(SYMBOL[I]); END *(IF DISPLAYISON)*; LASTSYMBOL := SYMBOLNAME; END *(WRITESYMBOL)*; PROCEDURE COPYACHARACTER; BEGIN IF DISPLAYISON THEN BEGIN IF WRITECOLUMN > WRITERIGHTCOL THEN BEGIN WHILE (CHARACTER = ' ') AND NOT CHISEOL DO READACHARACTER; IF NOT CHISEOL THEN STARTNEWLINEANDINDENT; END; IF CHISEOL THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END ELSE WRITEA(CHARACTER); END; READACHARACTER END *(COPYACHARACTER)*; PROCEDURE DOFORMATTERDIRECTIVES; CONST INVALID = - 1; TYPE PARAMCOUNT = 1 .. 2; PARAMS = ARRAY [PARAMCOUNT] OF INTEGER; VAR SPECIFICATION: PARAMS; FORMATOPTION: CHAR; PREVDISPLAY, PREVNOFORMATTING: BOOLEAN; ENDDIRECTV: CHARSET; PROCEDURE READIN(N: PARAMCOUNT; VAR SPCIFICATION: PARAMS); VAR I: PARAMCOUNT; BEGIN FOR I := 1 TO N DO BEGIN WHILE NOT (CHARACTER IN (DIGITS + ENDDIRECTV)) DO COPYACHARACTER; SPECIFICATION[I] := O; IF NOT (CHARACTER IN ENDDIRECTV) THEN REPEAT SPECIFICATION [I] := 10 * SPECIFICATION[I] + ORD(CHARACTER) - ORD('O'); COPYACHARACTER; UNTIL NOT (CHARACTER IN DIGITS) ELSE SPECIFICATION[I] := INVALID; END *(FOR)*; END *(READIN)*; BEGIN *(DOFORMATTERDIRECTIVES)* ENDDIRECTV := ['*', ']']; REPEAT IF CHARACTER IN ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'P', 'R', 'S', 'W'] THEN BEGIN FORMATOPTION := CHARACTER; CASE FORMATOPTION OF 'A', 'E', 'I', 'G', 'P', 'L', 'S': BEGIN READIN(1, SPECIFICATION); IF (SPECIFICATION[1] 1; ENDCOMMENTSWANTED := ODD(SPECIFICATION[1]); END 'G' : SYMBOLGAP := SPECIFICATION[1]; 'I' : INDENTINDEX := SPECIFICATION[1]; 'L' : LONGLINEINDE***ECIFICATION[1]; 'P' : PROCSEPARATION := SPECIFICATION[1]; 'S' : STATMTSEPARATION := SPCIFICATION[1] END *(CASE)*; END *(SINGLE PARAMETERS)*; 'W', 'R', 'N': BEGIN READIN(2, SPECIFICATION); IF SPECIFICATION[2] <> INVALID THEN CASE FORMATOPTION OF 'W': IF SPECIFICATION[1] > O) AND SPECIFICATION[2] < BUFFERSIZE -2) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8) THEN BEGIN WRITELEFTCOL := SPECIFICATION[1]; WRITERIGHTCOL := SPECIFICATION[2]; END 'R': IF (SPECIFICATION[1] > O) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8 THEN BEGIN READLEFTCOL := SPECIFICATION[1]; READRIGHTCOL := SPECIFICATION[2]; END 'N': BEGIN LINENUMBER := SPECIFICATION[1]; INCREMENT := SPECIFICATION[2]; WHILE NOT (CHARACTER IN (['<'] + ENDDIRECTV)) AND (CHARACTER<> '>') DO COPYACHARACTER; IF CHARACTER = '>' THEN INCREMENT := - INCREMENT END END *(CASE)*; END *(DOUBLE PARAMETERS)*; 'B', 'C', 'D', 'F': BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN (['+', '-'] + ENDDIRECTV); IF CHARACTER IN ['+', '-'] THEN CASE FORMATOPTION OF 'B': IF DISPLAYISON THEN BUNCHWANTED := CHARACTER = '+'; 'C': PACKERISOFF := CHARACTER = '-'; 'D': BEGIN PREVDISPLAY := DISPLAYISON; DISPLAYISON := CHARACTER = '+'; IF PREVDISPLAY AND NOT DISPLAYISON THEN BEGIN WRITEA('*'); WRITEA(')'); SAVEDBUNCH := BUNCHWANTED; BUNCHWANTED := FALSE; END ELSE IF NOT PREVDISPLAY AND DISPLAYISON THEN BEGIN STARTNEWLINEANDINDENT; WRITEA('('); WRITEA'_('*'); BUNCHWANTED := SAVEDBUNCH; END *(IF NOT PREV)*; END *('D':)*; 'F': BEGIN PREVNOFORMATTING := NOFORMATTING; NOFORMATTING := CHARACTER = '-'; DISPLAYISON := NOT NOFORMATTING IF PREVNOFORMATTING AND NOT NOFORMATTING THEN READACHARACTER; IF NOT PREVNOFORMATTING AND NOFORMATTING THEN WRITEA('-'); END; END *(CASE)*; END *(BOOLEAN PARAMETERS)* END *(CASE)*; END *(THEN)* ELSE IF NOT (CHARACTER IN ENDDIRECTV) THEN COPYACHARACTER; UNTIL CHARACTER IN ENDDIRECTV; IF (CHARACTER = ']') THEN COPYACHARACTER; END *(DOFORMATTERDIRECTIVES)*; PROCEDURE READSYMBOL; CONST READNEXTCH = TRUE; DONTREADNEXTCH = FALSE; VAR TESTSYMBOL: ALFA; CHARNUMBER: WIDTH; I: WIDTH; PROCEDURE SKIPCOMMENT; BEGIN REPEAT WHILE CHARACTER <> '*' DO READACHARACTER; READACHARACTER UNTIL CHARACTER = ')'; READACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL END *(SKIPCOMMENT)*; PROCEDURE DOCOMMENT; VAR I: OPTIONSIZE; PROCEDURE COMPILERDIRECTIVES; BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN ['[', '*'] END *(COMPILERDIRECTIVES)*; BEGIN *(DOCOMMENT)* BEGIN IF LASTSYMBOL IN [COMMENT, SEMICOLON] THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END; WRITESYMBOL; IF CHARACTER = '$' THEN COMPILERDIRECTIVES; IF CHARACTER = '[' THEN DOFORMATTERDIRECTIVES; REPEAT WHILE CHARACTER <> '*' DO COPYACHARACTER; COPYACHARACTER; UNTIL CHARACTER = ')'; COPYACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL; END; END *(DOCOMMENT)*; PROCEDURE CHECKFOR(SECONDCHAR: CHAR; TWOCHARSYMBOL: SYMBOLS; READALLOWED: BOOLEAN); BEGIN IF READALLOWED THEN BEGIN LENGTH := 1; SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; READACHARACTER; END; IF CHARACTER = SECONDCHAR THEN BEGIN SYMBOL[2] := CHARACTER; LENGTH := 2; SYMBOLNAME := TWOCHARSYMBOL; READACHARACTER; IF (NOT PACKERISOFF) AND (SYMBOLNAME = COMMENT) THEN LENGTH := O END END *(CHECKFOR)*; BEGIN *(READSYMBOL)* IF (CHARACTER IN ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K','L','M','N','O','P','Q','R','S','T','U','V','W', 'X','Y','Z','0' ..'9','','(', '.', ':'. '''', '<', '>']) THEN CASE CHARACTER OF '(': BEGIN CHECKFOR('*', COMMENT, READNEXTCH); IF (SYMBOLNAME = COMMENT) AND PACKERISOFF THEN DOCOMMENT ELSE IF SYMBOLNAME = COMMENT THEN SKIPCOMMENT; END; 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z': BEGIN CHARNUMBER := 1; SYMBOLISNUMBER := FALSE; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN LETTERSANDDIGITS); LENGTH := CHARNUMBER -1; FOR CHARNUMBER := CHARNUMBER TO ALFALENG DO SYMBOL[CHARNUMBER] := ''; PACK(SYMBOL, 1, TESTSYMBOL); I := 1; PASCALSYMBOL[LASTPASCSYMBOL- := TESTSYMBOL; WHILE PASCALSYMBOL[I] <> TESTSYMBOL DO I := I + 1; SYMBOLNAME := PASCSYMBOLNAME[I]; END *(LETTER)*; '0', '1', '2', '3', '4', '5','6', '7', '8', '9': BEGIN SYMBOLISNUMBER := TRUE; CHARNUMBER := 1; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS + ['.']); IF CHARACTER IN 1'B', 'E'] THEN BEGIN SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1; IF CHARACTER IN DIGITS + ['+', '-'] THEN REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS) END LENGTH := CHARNUMBER - 1; SYMBOLNAME := IDENTIFIER; END *(NUMBER)*; '': BEGIN REPEAT READACHARACTER UNTIL CHARACTER <> ''; READSYMBOL END; '>', ':': CHECKFOR('=', OTHERSYMBOL, READNEXTCH): '<': BEGIN CHECKFOR('=', OTHERSYMBOL, READNEXTCH); IF SYMBOLNAME <> OTHERSYMBOL THEN CHECKFOR('>', OTHERSYMBOL, DONTREADNEXTCH); END '.': IF LASTSYMBOL <> ENDSYMBOL THEN CHECKFOR('.', RANGE, READNEXTCH) ELSE SYMBOLNAME := PERIODSYMBOL; '''': BEGIN CHARNUMBER := 1; REPEAT REPEAT SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER +1; READACHARACTER; UNTIL CHARACTER = ''''; SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER + 1; READACHARACTER; UNTIL CHARACTER <>''''; LENGTH := CHARNUMBER -1; SYMBOLNAME := OTHERSYMBOL; IF LENGTH > WRITERIFHTCOL - WRITELEFTCOL +1 THEN BEGIN FLUSHUNWRITTENBUFFER; WRITELN; WRITELN('***STRING TOO LONG.'); GOTO 13 END; END *(STRING)* END *(CASE)* ELSE BEGIN SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; LENGTH := 1; READACHARACTER END END *(READSYMBOL)*; PROCEDURE CHANGEMARGINTO(NEWLEFTMARGIN: MARGINS); VAR INDENTEDLEFTMARGIN: MARGINS; BEGIN ACTUALLEFTMARGIN := NEWLEFTMARGIN; LEFTMARGIN := NEWLEFTMARGIN; IF LEFTMARGIN < O THEN LEFTMARGIN := O ELSE BEGIN INDENTEDLEFTMARGIN := WRITERIGHTCOL - 9 - LONGLINEINDENT; IF LEFTMARGIN > INDENTEDLEFTMARGIN THEN LEFTMARGIN := IDENTEDLEFTMARGIN END END *(CHANGEMARGINTO)*; PROCEDURE DODECLARATIONUNTIL(ENDDECLARATION: SYMBOLSET); PROCEDURE DOPARANTHESES; VAR SAVEDLGLNID: OPTIONSIZE; BEGIN SAVEDLGLNID := LONGLINEINDENT; IF DECLARALIGNMENT >O THEN BEGIN LONGLINEINDENT := WRITECOLUMN + SYMBOLGAP +1 - LEFTMARGIN - WRITELEFTCOL; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; END ELSE BEGIN LONGLINEINDENT := 1; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN = INDENTINDEX); END *(ELSE)*; LONGLINEINDENT := SAVELGLNID; END *(DOPARENTHESES)*; PROCEDURE DOFIELDLISTUNTIL(ENDFIELDLIST: SYMBOLSET); VAR LASTEOL: MARGINS; ALIGNCOLUMN: WIDTH; PROCEDURE DORECORD; VAR SAVEDLEFTMARGIN: WIDTH; BEGIN SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(WRITECOLUMN - 6 + INDENTINDEX - WRITELEFTCOL); STARTNEWLINEANDINDENT; DOFIELDLISTUNTIL([ENDSYMBOL]); CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END *(DORECORD)*; PROCEDURE DOVARIANTRECORDPART; VAR SAVEDLEFTMARGIN, OTHERSAVEDMARGIN: MARGINS; BEGIN OTHERSAVEDMARGIN := ACTUALLEFTMARGIN; IF DECLARALIGNMENT > O THEN BEGIN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [COLONSYMBOL, OFSYMBOL]; IF SYMBOLNAME = COLONSYMBOL THEN BEGIN WRITESYMBOL; READSYMBOL; WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := IDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITECOLUMN := ALIGNCOLUMN; CHANGEMARGINTO(ACTUALLEFTMARGIN + ALIGNCOLUMN - WRITECOLUMN); END END IF SYMBOLNAME <> OFSYMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = OFSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN+ IDENTINDEX); REPEAT WRITESYMBOL; READSYMBOL; IF SYMBOLNAME <> ENDSYMBOL THEN BEGIN STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [LEFTPARENTH, SEMICOLON, ENDSYMBOL]; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; READSYMBOL; SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; CHANGEMARGINTO(WRITECOLUMN - WRITELEFTCOL); DOFIELDLISTUNTIL([RIGHTPARENTH]); WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END; END; UNTIL SYMBOLNAME <> SEMICOLON; CHANGEMARGINTO(OTHERSAVEDMARGIN); END *(DOVARIANTRECORDPART)*; BEGIN *(DOFIELDLISTUNTIL)*; LASTEOL := OLDEST; IF LASTSYMBOL = LEFTPARENTH THEN FOR I := 1 TO DECLARALIGNMENT - LENGTH DO WRITEA(''); ALIGNCOLUMN := LEFTMARGIN + WRITELEFTCOL + DECLARALIGNMENT + 1; WHILE NOT (SYMBOLNAME IN ENDFIELDLIST) DO BEGIN IF LASTSYMBOL IN [SEMICOLON, COMMENT] THEN IF SYMBOLNAME <> SEMICOLON THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST END; IF SYMBOLNAME IN [RECORDSYMBOL, CASESYMBOL, LEFTPARENTH, COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL] THEN CASE SYMBOLNAME OF RECORDSYMBOL- DORECORD; CASESYMBOL: DOVARIANTRECORDPART; LEFTPARENTH: DOPARENTHESES; COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL: BEGIN WRITESYMBOL; IF DECLARALIGNMENT > O THEN IF NOT (ENDLABEL <= ENDFIELDLIST) THEN BEGIN WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := INDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O;  WRITECOLUMN := ALIGNCOLUMN; END; IF SYMBOLNAME = COMMASYMBOL THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST; END; AND *(IF DECLARALIGNMENT)*; READSYMBOL; END *( , : - )* END *(CASE)* ELSE BEGIN WRITESYMBOL; READSYMBOL END; END *(WHILE)*; END *(DOFIELDLISTUNTIL)*; BEGIN *(DODECLARATIONUNTIL)* STARTNEWLINEANDINDENT; WRITESYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; READSYMBOL; DOFIELDLISTUNTIL(ENDDECLARATION); STARTNEWLINEANDINDENT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END *(DODECLARATIONUNTIL)*; PROCEDURE DOBLOCK(BLOCKNAME: COMMENTEXT; BLOCKNMLENGTH: WIDTH); VAR I: WIDTH; IFTHENBUNCHNEEDED: BOOLEAN; ATPROCBEGINNIN: BOOLEAN; PROCEDURE DOPROCEDURES; VAR I: O .. 20; PROCNAME: COMMENTTEXT; PROCNMLENGTH: WIDTH; BEGIN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, I * ALFALENG +1, PROCNAME[I + 1]); PROCNMLENGTH := LENGTH; WRITESYMBOL; READSYMBOL; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; REPREAT READSYMBOL; WRITESYMBOL UNTIL SYMBOLNAME = RIGHT PARENTH; READSYMBOL; END; IF SYMBOLNAME = COLONSMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; LASTPROGPARTWASBODY := FALSE; DOBLOCK(PROCNAME, PROCNMLENGTH); LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; END *(DOPROCEDURES)*; PROCEDURE DOSTATEMENT(VAR ADDEDBLANKS: WIDTH; STATMTSYMBOL: COMMENTTEXT; STMTSYMLENGTH: WIDTH); VAR I:WIDTH; STATMTBEGINNING: INTEGER; STATMTPART: ARRAY [1..4] OF INTEGER; BLKSONCURRNTLINE, BLKSADDEDBYTHISSTMT: INTEGER; SUCCESSFUL: BOOLEAN; PROCEDURE BUNCH(BEGINNING, BREAKPT, ENDING: INTEGER; STATMTSEPARATION: OPTIONSIZE); BEGIN IF BUNCHWANTED OR IFTHENBUNCHNEEDED THEN BEGIN IF STMTSEPARATION <1 THEN STATMTSEPARATION := 1; BLKSONCURRNTLINE := BLKSONCURRNTLINE + STATMTSEPARATION - 1; SUCCESSFUL := (ENDING - BEGINNING + BLKSONCURRNTLINE + UNWRITTEN[BEGINNING MOD BUFFERSIZE]. IDENTAFTEREOL) < WRITERIGHTCOL) AND (CHARCOUNT - BEGINNING ENDLIST THEN BEGIN IF PROCNAMESWANTED THEN IF ATPROCBEGINNING THEN IF LASTPROGPARTWASBODY THEN IF LASTSYMBOL = BEGINSYMBOL THEN WRITECOMMENT; ATPROCBEGINNING := FALSE; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSAFTERPRT2 := ADDEDBLANKS; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; WHILE SYMBOLNAME <> ENDLIST DO BEGIN WRITESMBOL; READSYMBOL; IF SYMBOLNAME <> ENDLIST THEN BEGIN STATMTPART[3] := CHARCOUNT + 1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS + BLKSAFTERPRT2; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; BUNCH(STATMTPART[2], STATMTPART[3], CHARCOUNT, STATMTSEPARATION); IF NOT SUCCESSFUL THEN BEGIN BLKSAFTERPRT2 := ADDEDB;AMLS\ STATMTPART[2] := STATMTPART[3]; END ELSE BLKSAFTERPRT2 := BLKSONCURRNTLINE; END; END *(WHILE SYMBOLNAME <> ENDLIST)*; END *(IF SYMBOLNAME <> ENDLIST)*; BLKSONCURRNTLINE := BLKSADDEDBYTHISSTATMT; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP9; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL, PERIODSYMBOL]; IF SUCCESSFUL THEN BEGIN IF ENDLIST = UNTILSYMBOL THEN STATMTPART[4] := STATMTSEPARATION ELSE STATMTPART[4] := SYMBOLGAP; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTPART[4]; END *(IF SUCCESSFUL)*; IF NOT (SUCCESSFUL AND BUNCHWANTED) THEN IF ENDLIST = ENDSYMBOL THEN IF LASTSYMBOL = ENDSYMBOL THEN IF ATPROCEND AND PROCNAMESWANTED THEN WRITECOMMENT ELSE IF ENDCOMMENTSWANTED THEN WRITECOMMENT; END *(DOSTMTLIST)*; BEGIN *(DOSTATEMENT) BLKSONCURRNTLINE := O; SUCCESSFUL := FALSE; BLKSADDEDBYTHISSTMT := O; CHANGEMARGINTO(ACTUALLEFTMARGIN + IDENTINDEX); STARTNEWLINEANDINDENT; STATMTBEGINNING := CHARCOUNT; IF SYMBOLISNUMBER THEN BEGIN WITH UNWRITTEN[OLDEST] DO BEGIN INDENTAFTEREOL := IDENTAFTEREOL - 1 LENGTH - SYMBOLGAP; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITESYMBOL; READSYMBOL *(WRITE LABEL)*; WRITESYMBOL; READSYMBOL *(WRITE COLON)*; END FORWITHWHILESTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = DOSYMBOL; WRITESYMBOL; READSYMBOL; STATMTPART[1] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := BLKSONCURRNTLINE + ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP); END; REPEATSTATEMENT: DOSTMTLIST (UNTILSYMBOL); IFSTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = THENSYMBOL; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[2] := CHARCOUNT +1; DOSTATMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTSEPARATION) ELSE IFTHENBUNCHNEEDED := TRUE; IF SYMBOLNAME = ELSESYMBOL THEN BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; IFTHENBUNCHNEEDED := FALSE; STARTNEWLINEANDINDENT; STATMTPART[3] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[4] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STMTPART[3], STATMTPART[4], CHARCOUNT, SYMBOLGAP); BLKSONCURRNTLINE := BLKSADDEDBYTHISSTMT; IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[3], CHARCOUNT, STATMTSEPARATION); END ELSE IF (CHARCOUNT - STATMTBEGINNING) < BUFFERSIZE THEN BEGIN BUNCHWANTED := NOT BUNCHWANTED; BLKSONCURRNTLINE := O; BUNCH(STATMTBEGINNING, STATMTPART[1], STATMTPART[2], SYMBOLGAP); BUNCHWANTED := NOT BUNCHWANTED; END; IFTHENBUNCHNEEDED := FALSE; END *(IFSTATEMENT)*; CASESTATEMENT; BEGIN REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = OFSYMBOL; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); WHILE SYMBOLNAME <> ENDSYMBOL DO BEGIN STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), STATMTSYMBOL[I + 1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = COLONSYMBOL; WRITESYMBOL; READSYMBOL; IF NOT (SYMBOLNAME IN [SEMICOLON, ENDSYMBOL]) THEN BEGIN STATMTPART[2] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); END *(IF NOT(SYMBOLNAME...))*; IF SYMBOLNAME - SEMICOLON THEN BEGIN WRITESYMBOL; READSYMBOL; END; END; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; IF ENDCOMMENTSWANTED AND (LASTSYMBOL = ENDSYMBOL) THEN BEGIN STATMTSYMBOL[1] := 'CASE '; STMTSYMLENGTH := 4; WRITECOMMENT; END; END *(CASESTATEMENT)*; OTHERSTATEMENT; BEGIN WHILE NOT (SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL]) DO BEGIN WRITESYMBOL; READSYMBOL END; END *(OTHER)*; COMPOUNDSTATEMENT: DOSTMTLIST(ENDSYMBOL) END *(CASE)*; ADDEDBLANKS := BLKSADDEDBYTHISSTMT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END *(DOSTATEMENT)*; BEGIN *(DOBLOCK)* LASTPROGPARTWASBODY := LASTPROGPARTWASBODY AND (SYMBOLNAME = BEGINSYMBOL); IF SYMBOLNAME = LABELSYMBOL THEN DODECLARATIONUNTIL(ENDLABEL); IF SYMBOLNAME = CONSTSYMBOL THEN DODECLARATIONUNTIL(ENDCONST); IF SYMBOLNAME = TYPESYMBOL THEN DODECLARATIONUNTIL(ENDTYPE); IF SYMBOLNAME = VARSYMBOL THEN DODECLARATIONUNTIL(ENDVAR); WHILE SYMBOLNAME IN [FUNCSYMBOL, PROCSYMBOL] DO DOPROCEDURES; IF SYMBOLNAME = BEGINSYMBOL THEN BEGIN IF LASTPROGPARTWASBODY THEN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; IFTHENBUNCHNEEDED := FALSE; ATPROCBEGINNING := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); DOSTATEMENT(I, BLOCKNAME, BLOCKNMLENGTH) *( I IS DUMMY PARAM )*; LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); END ELSE BEGIN WRITESMBOL; READSYMBOL *(WRITE FORWARD)* END END *(DOBLOCK)*; PROCEDURE INITIALIZE; VAR I: WIDTH; BEGIN *( CONSTANTS: )* DIGITS := ['O' .. '9']; LETTERSANDDIGITS := ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + DIGITS; ALPHASYMBOLS := [PROGSYMBOL, BEGINSYMBOL, ENDSYMBOL, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, CASESYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LABELSYMBOL, ALPHAOPERATOR]; ENDLABEL := [CONSTSYMBOL, TYPESYMBOL, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, BEGINSYMBOL]; ENDCONST := ENDLABEL - [CONSTSYMBOL]; ENDTYPE := ENDCONST - [TYPESYMBOL]; ENDVAR := ENDTYPE - [VARSYMBOL]; *( INITIALIZE COLUMN DATA:)* WRITECOLUMN := O; LEFTMARGIN := O; ACTUALLEFTMARGIN := O; OUTPUTCOL := 1; READLEFTCOL := 1; READRIGHTCOL := MAXREADRIGHTCOL; WRITELEFTCOL := 1; WRITERIGHCOL := MAXWRITERIGHTCOL; OLDEST := 1; CHARCOUNT := 1; LINENUMBER := O; INCREMENT := O; *( INITIALIZE BOOLEAN PARAMETERS: )* PACKERISOFF := TRUE; BUNCHWANTED := FALSE; DISPLAYISON := TRUE; PROCNAMESWANTED := TRUE; ENDCOMMENTSWANTED := FALSE; NOFORMATTING := FALSE; *( INITIALIZE NUMERIC PARAMETERS: )* INDENTINDEX := 3; LONGLINEINDENT := 3; PROCSEPARATION := 2; SYMBOLGAP := 1; STATMTSEPARATION := 3; DECLARALIGNMENT := O; *( INITIALIZE INPUT CONTEXT DATA: )* READCOLUMN := 1; CHISEOL := FALSE; NEXTCHISEOL := FALSE; FOR I := O TO BUFFERSIZE DO SYMBOL[I] := ''; LASTSYMBOL := PERIODSMBOL; LASTPROGPARTWASBODY := FALSE; END *(INITIALIZE)*; BEGIN *(MAINPROGRAM)* CONSTANTSINITIALIZATION; INITIALIZE; IF EOF(INPUT) THEN WRITELN('*** NO PROGRAM FOUND TO FORMAT.') ELSE BEGIN READACHARACTER; READSYMBOL; IF SYMBOLNAME <> PROGSYMBOL THEN WRITELN('***"PROGRAM" EXPECTED.') ELSE BEGIN *( ********************************************************************* F O R M A T T H E P R O G R A M - - - - - - - - - - - - - - - - ******************************************************************** *) STARTNWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), MAIN[I + 1]); MAINNMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; DOBLOCK(MAIN, MAINNMLENGTH); WRITEA('.'); FLUSHUNWRITTENBUFFER; END; END; 13: END *(MAINPROGRAM)*. C1980DO’nŽŽ 1 C 3049 44.55 10 2 CC 3064 3 C 3065 223.70 32 4 C 3066 250 27 5 C 3069 96 4 6 CC 3070 7 C 3073 1340.63 25 8 C 3075 23 5 9 C 3076 100 24 10 C 3078 22.50 4 11 EM 810 17 15 12 EM 811 604.28 15 13 EM 812 643.69 15 14 D 140 34 15 D 8347.06 34 16 D 2086.75 17 C 813 980.89 14 18 C 817 205.18 12 19 CC 814 20 C 3081 35 4 21 C 3067 62 1 22 C 3083 34 6 23 C 3071 330 20 24 C 3085 50.99 5 25 C 3087 704.45 17 26 C 816 1581.88 12 27 C 819 1581 12 28 D 1468.38 34 29 D 871.98 34 30 D 13056 34 31 D 12436.99 34 32 D 435.99 34 33 C 3068 10 18 34 C 3086 138.02 25 35 C 3088 1040 23 36 C 3090 5324 9 37 C 3091 250 8 38 C 3092 206.59 20 39 C 3093 15.40 22 40 C 3094 120.70 4 41 C 3095 20 26 42 C 3096 775 9 43 C 3097 32 10 44 C 3098 74.05 22 45 C 3099 4000 21 46 C 3101 1557.44 25 47 C 3104 40 33 48 C 3103 42.50 10 49 C 3105 504.39 25 50 C 3106 119.98 4 51 C 3107 793.50 9 52 C 3108 1537.50 27 53 C 3109 3394.50 6 54 C 3110 25 3 55 EM 818 140 27 56 EM 820 1581 12 57 EM 833 948.57 12 58 EM 834 912.14 12 59 EM 835 17 15 60 EM 836 181.73 14 61 EM 837 482.61 15 62 EM 838 2742.40 14 63 CC 839 64 EM 840 622.50 27 65 EM 821 195.18 12 66 EM 822 1415.95 12 67 C 3113 79.95 5 68 C 3114 69.95 10 69 C 3115 200 20 70 C 3116 225 27 71 C 3117 4.65 10 72 C 3119 48 18 73 C 3120 1940.43 25 74 C 3121 269.78 17 75 C 3123 12.24 4 76 C 3124 93.27 15 77 C 3125 181.78 15 78 C 3126 243.77 14 79 C 3127 68.45 23 80 C 3129 128.35 5 81 C 3130 25.98 5 82 C 3132 15.90 5 83 C 3133 125.81 22 84 C 3134 20.47 22 85 C 3135 85.15 22 86 D 435.99 34 87 D 906.32 34 88 D 435.99 34 89 D 1628 34 90 D 3000 34 91 D 11481.06 34 92 C 3112 25 26 93 C 3118 1.30 11 94 C 3122 100 26 95 C 3128 7.86 22 96 C 3138 185.26 4 97 C 3139 19.37 10 98 C 3140 6.17 10 99 C 3141 6.46 10 100 C 3142 3.96 10 101 C 3143 3.62 10 102 C 3144 42.08 22 103 C 3145 46.50 3 104 C 3146 36.70 11 105 C 3147 27.73 10 106 C 3148 25.98 5 107 C 3149 6 33 108 C 3150 95 33 109 C 3151 78.50 33 110 C 3152 1000 25 111 C 3153 227.40 25 112 C 3154 100 8 113 C 3155 160.43 4 114 C 3156 835.38 25 115 C 3157 781.68 25 116 C 3198 28.30 3 117 EM 823 1000 12 118 C 3158 21.92 5 119 C 3159 12 33 120 C 3165 638.45 27 121 C 3167 15 5 122 C 3160 155.47 17 123 C 3161 34 10 124 C 3163 594 17 125 C 3166 465 4 126 C 3168 83.85 3 127 C 3169 200 24 128 D 1834.55 34 129 D 435.99 34 130 D 802.29 34 131 EM 824 333.14 15 132 EM 825 378.68 15 133 EM 826 2590.51 14 134 EM 827 425.95 12 135 EM 828 82.50 26 136 EM 829 38.70 14 137 EM 841 1425.95 12 138 EM 830 1425.95 12 139 EM 831 205.18 12 140 EM 832 209.37 12 141 D 905 34 142 D 594 34 143 D 520 34 144 D 435.99 34 145 DM 18.88 146 C 3162 39.95 18 147 C 3164 130.46 14 148 C 3170 120.97 4 149 C 3171 18 33 150 C 3172 36.70 10 151 C 3173 947.50 25 152 C 3174 80 26 153 C 3175 204 5 154 C 3177 496.56 25 155 C 3178 136.20 25 156 C 3179 729 17 157 C 3180 170 23 158 C 3182 121.30 11 159 C 3183 25.91 22 160  C 3184 27 17 161 C 3186 10.08 23 162 C 3200 1020 27 163 D 13331.89 34 164 D 11943.74 34 165 D 4546.81 34 166 D 129.24 34 167 D 3229.35 34 168 D 715 34 169 C 3176 50 22 170 C 3181 950 7 171 C 3185 125 23 172 C 3187 174.75 23 173 C 3188 290.64 4 174 C 3189 1372 27 175 C 3190 3.28 5 176 C 3191 18 5 177 C 3192 5.68 23 178 C 3203 100 27 179 C 3193 37.25 23 180 C 3194 147.08 23 181 C 3195 7 23 182 C 3196 50 21 183 C 3199 26 33 184 C 3201 2764.81 27 185 C 3202 948.17 25 186 C 3204 55.20 5 187 C 3205 14.25 7 188 C 3206 10 6 189 C 3207 7.58 5 190 C 3208 60.59 2 191 C 3209 250.65 25 192 EM 842 209.37 12 193 EM 844 1527.87 12 194 EM 845 290.37 12 195 EM 846 3584 14 196 D 531.21 34 197 EM 843 1527.87 12 198 EM 847 1527.87 12 199 EM 848 209.37 12 200 EM 849 1000 12 201 EM 850 9000 12 202 C 3210 720 27 203 C 3211 69.37 2 204 C 3212 1.81 11 205 C 3213 176.55 25 206 C 3214 10.46 25 207 C 3215 18.28 5 208 3216 64.28 5 209 C 3217 547.32 17 210 C 3218 136.48 17 211 C 3219 48.60 10 212 C 3220 170 23 213 C 3221 10 8 214 C 3224 227.40 17 215 C 3225 36 5 216 C 3222 450 27 217 C 3223 10.64 5 218 C 3226 93.71 4 219 C 3227 74.13 2 220 C 3230 31 26 221 EM 851 4000 36 222 C 3229 2774.75 23 223 C 3228 102.08 4 224 C 3231 35 18 225 D 4888.40 34 226 D 3435.99 34 227 EM 852 1527.87 12 228 C 3232 125 23 229 C 3233 3654.15 23 230 C 3235 37 33 231 C 3236 42.50 33 232 C 3237 2282.26 6 233 C 3238 138.17 33 234 C 3239 95.64 2 235 C 3240 3.70 5 236 C 3241 4.33 5 237 C 3242 35.39 18 238 EM 854 48.65 12 239 EM 853 540 15 240 D 3148 34 241 D 296.31 34 242 D 1403.43 34 243 D 174 34 244 D 2600 30 245 C 3243 28.20 3 246 C 3244 341.40 10 247 C 3245 500 25 248 C 3246 328.44 10 249 C 3247 784.13 25 250 C 3248 125.30 11 251 C 3249 5.76 23 252 C 3250 50 24 253 C 3252 1760 27 254 C 3251 100 2 255 C 3253 43 1 256 C 3254 290.77 4 257 C 3255 100 2 258 C 3258 42.50 33 259 C 3259 4.60 23 260 CC 3131 261 C 3260 820.84 25 262 C 3261 732.30 8 263 C 3263 50 22 264 C 3264 296.31 23 265 C 3265 168.01 25 266 D 435.99 34 267 C 3082 1350.12 25 268 C 3136 16.00 1 269 C 3216 64.28 5 270 C 3234 298.80 25 271 C 3262 88.41 14 272 C 3268 14.00 26 273 CC 3084 274 CC 3089 275 CC 3100 276 CC 3102 277 CC 3111 810 11 EM 810 17 15 811 12 EM 811 604.28 15 812 13 EM 812 643.69 15 813 17 C 813 980.89 14 814 19 CC 814 816 26 C 816 1581.88 12 817 18 C 817 205.18 12 818 55 EM 818 140 27 819 27 C 819 1581 12 820 56 EM 820 1581 12 821 65 EM 821 195.18 12 822 66 EM 822 1415.95 12 823 117 EM 823 1000 12 824 131 EM 824 333.14 15 825 132 EM 825 378.68 15 826 133 EM 826 2590.51 14 827 134 EM 827 425.95 12 828 135 EM 828 82.50 26 829 136 EM 829 38.70 14 830 138 EM 830 1425.95 12 831 139 EM 831 205.18 12 832 140 EM 832 209.37 12 833 57 EM 833 948.57 12 834 58 EM 834 912.14 12 835 59 EM 835 17 15 836 60 EM 836 181.73 14 837 61 EM 837 482.61 15 838 62 EM 838 2742.40 14 839 63 CC 839 840 64 EM 840 622.50 27 841 137 EM 841 1425.95 12 842 192 EM 842 209.37 12 843 197 EM 843 1527.87 12 844 193 EM 844 1527.87 12 845 194 EM 845 290.37 12 846 195 EM 846 3584 14 847 198 EM 847 1527.87 12 848 199 EM 848 209.37 12 849 200 EM 849 1000 12 850 201 EM 850 9000 12 851 221 EM 851 4000 36 852 227 EM 852 1527.87 12 853 239 EM 853 540 15 854 238 EM 854 48.65 12 3049 1 C 3049 44.55 10 3064 2 CC 3064 3065 3 C 3065 223.70 32 3066 4 C 3066 250 27 3067 21 C 3067 62 1 3068 33 C 3068 10 18 3069 5 C 3069 96 4 3070 6 CC 3070 3071 23 C 3071 330 20 3073 7 C 3073 1340.63 25 3075 8 C 3075 23 5 3076 9 C 3076 100 24 3078 10 C 3078 22.50 4 3081 20 C 3081 35 4 3082 267 C 3082 1350.12 25 3083 22 C 3083 34 6 3084 273 CC 3084 3085 24 C 3085 50.99 5 3086 34 C 3086 138.02 25 3087 25 C 3087 704.45 17 3088 35 C 3088 1040 23 3089 274 CC 3089 3090 36 C 3090 5324 9 3091 37 C 3091 250 8 3092 38 C 3092 206.59 20 3093 39 C 3093 15.40 22 3094 40 C 3094 120.70 4 3095 41 C 3095 20 26 3096 42 C 3096 775 9 3097 43 C 3097 32 10 3098 44 C 3098 74.05 22 3099 45 C 3099 4000 21 3100 275 CC 3100 3101 46 C 3101 1557.44 25 3102 276 CC 3102 3103 48 C 3103 42.50 10 3104 47 C 3104 40 33 3105 49 C 3105 504.39 25 3106 50 C 3106 119.98 4 3107 51 C 3107 793.50 9 3108 52 C 3108 1537.50 27 3109 53 C 3109 3394.50 6 3110 54 C 3110 25 3 3111 277 CC 3111 3112 92 C 3112 25 26 3113 67 C 3113 79.95 5 3114 68 C 3114 69.95 10 3115 69 C 3115 200 20 3116 70 C 3116 225 27 3117 71 C 3117 4.65 10 3118 93 C 3118 1.30 11 3119 72 C 3119 48 18 3120 73 C 3120 1940.43 25 3121 74 C 3121 269.78 17 3122 94 C 3122 100 26 3123 75 C 3123 12.24 4 3124 76 C 3124 93.27 15 3125 77 C 3125 181.78 15 3126 78 C 3126 243.77 14 3127 79 C 3127 68.45 23 3128 95 C 3128 7.86 22 3129 80 C 3129 128.35 5 3130 81 C 3130 25.98 5 3131 260 CC 3131 3132 82 C 3132 15.90 5 3133 83 C 3133 125.81 22 3134 84 C 3134 20.47 22 3135 85 C 3135 85.15 22 3136 268 C 3136 16.00 1 3138 96 C 3138 185.26 4 3139 97 C 3139 19.37 10 3140 98 C 3140 6.17 10 3141 99 C 3141 6.46 10 3142 100 C 3142 3.96 10 3143 101 C 3143 3.62 10 3144 102 C 3144 42.08 22 3145 103 C 3145 46.50 3 3146 104 C 3146 36.70 11 3147 105 C 3147 27.73 10 3148 106 C 3148 25.98 5 3149 107 C 3149 6 33 3150 108 C 3150 95 33 3151 109 C 3151 78.50 33 3152 110 C 3152 1000 25 3153 111 C 3153 227.40 25 3154 112 C 3154 100 8 3155 113 C 3155 160.43 4 3156 114 C 3156 835.38 25 3157 115 C 3157 781.68 25 3158 118 C 3158 21.92 5 3159 119 C 3159 12 33 3160 122 C 3160 155.47 17 3161 123 C 3161 34 10 3162 146 C 3162 39.95 18 3163 124 C 3163 594 17 3164 147 C 3164 130.46 14 3165 120 C 3165 638.45 27 3166 125 C 3166 465 4 3167 121 C 3167 15 5 3168 126 C 3168 83.85 3 3169 127 C 3169 200 24 3170 148 C 3170 120.97 4 3171 149 C 3171 18 33 3172 150 C 3172 36.70 10 3173 151 C 3173 947.50 25 3174 152 C 3174 80 26 3175 153 C 3175 204 5 3176 169 C 3176 50 22 3177 154 C 3177 496.56 25 3178 155 C 3178 136.20 25 3179 156 C 3179 729 17 3180 157 C 3180 170 23 3181 170 C 3181 950 7 3182 158 C 3182 121.30 11 3183 159 C 3183 25.91 22 3184 160 C 3184 27 17 3185 171 C 3185 125 23 3186 161 C 3186 10.08 23 3187 172 C 3187 174.75 23 3188 173 C 3188 290.64 4 3189 174 C 3189 1372 27 3190 175 C 3190 3.28 5 3191 176 C 3191 18 5 3192 177 C 3192 5.68 23 3193 179 C 3193 37.25 23 3194 180 C 3194 147.08 23 3195 181 C 3195 7 23 3196 182 C 3196 50 21 3198 116 C 3198 28.30 3 3199 183 C 3199 26 33 3200 162 C 3200 1020 27 3201 184 C 3201 2764.81 27 3202 185 C 3202 948.17 25 3203 178 C 3203 100 27 3204 186 C 3204 55.20 5 3205 187 C 3205 14.25 7 3206 188 C 3206 10 6 3207 189 C 3207 7.58 5 3208 190 C 3208 60.59 2 3209 191 C 3209 250.65 25 3210 202 C 3210 720 27 3211 203 C 3211 69.37 2 3212 204 C 3212 1.81 11 3213 205 C 3213 176.55 25 3214 206 C 3214 10.46 25 3215 207 C 3215 18.28 5 3216 269 C 3216 64.28 5 3217 20Y9 C 3217 547.32 17 3218 210 C 3218 136.48 17 3219 211 C 3219 48.60 10 3220 212 C 3220 170 23 3221 213 C 3221 10 8 3222 216 C 3222 450 27 3223 217 C 3223 10.64 5 3224 214 C 3224 227.40 17 3225 215 C 3225 36 5 3226 218 C 3226 93.71 4 3227 219 C 3227 74.13 2 3228 223 C 3228 102.08 4 3229 222 C 3229 2774.75 23 3230 220 C 3230 31 26 3231 224 C 3231 35 18 3232 228 C 3232 125 23 3233 229 C 3233 3654.15 23 3234 270 C 3234 298.80 25 3235 230 C 3235 37 33 3236 231 C 3236 42.50 33 3237 232 C 3237 2282.26 6 3238 233 C 3238 138.17 33 3239 234 C 3239 95.64 2 3240 235 C 3240 3.70 5 3241 236 C 3241 4.33 5 3242 237 C 3242 35.39 18 3243 245 C 3243 28.20 3 3244 246 C 3244 341.40 10 3245 247 C 3245 500 25 3246 248 C 3246 328.44 10 3247 249 C 3247 784.13 25 3248 250 C 3248 125.30 11 3249 251 C 3249 5.76 23 3250 252 C 3250 50 24 3251 254 C 3251 100 2 3252 253 C 3252 1760 27 3253 255 C 3253 43 1 3254 256 C 3254 290.77 4 3255 257 C 3255 100 2 3258 258 C 3258 42.50 33 3259 259 C 3259 4.60 23 3260 261 C 3260 820.84 25 3261 262 C 3261 732.30 8 3262 271 C 3262 88.41 14 3263 263 C 3263 50 22 3264 264 C 3264 296.31 23 3265 265 C 3265 168.01 25 3268 272 C 3268 14.00 26 PRETTYPRINPAM� ÎÜÜ (************************************************************************** PROGRAM TITLE: PASCAL PRETTYPRINTING PROGRAM AUTHORS: JON F. HUERAS AND HENRY F. LEDGARD COMPUTER AND INFORMATION SCIENCE DEPARTMENT UNIVERSITY OF MASSACHUSETTS, AMHERST - AUGUST, 1976 (EARLIER VERSIONS AND CONTRIBUTIONS BY RANDY CHOW AND JOHN GORMAN). BUGS CORRECTD BY CHARLES FISCHER, DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF WISCONSIN, MADISON. 1977. INDICATED BY <<<. MODIFIED FOR CDC-6000 PASCAL RELEASE 3 BY RICK L. MARCUS UNIVERSITY COMPUTER CENTER, UNIVERSITY OF MINNESOTA. 30 SEPTEMBER 1978. PROGRAM SUMMARY: THIS PROGRAM TAKES AS INPUT A PASCAL PROGRAM AND REFORMATS THE PROGRAM ACCORDING TO A STANDARD SET OF PRETTYPRINTING RULES. THE PRETTYPRINTED PROGRAM IS GIVEN AS OUTPUT. THE PRETTYPRINTING RULES ARE GIVEN BELOW. AN IMPORTANT FEATURE IS THE PROVISION FOR THE USE OF EXTRA SPACES AND EXTRA BLANK LINES. THEY MAY BE FREELY INSERTED BY THE USER IN ADDITION TO THE SPACES AND BLANK LINES INSERTED BY THE PRETTYPRINTER. NO ATTEMPT IS MADE TO DETECT OR CORRECT SYNTACTIC ERRORS IN THE USER'S PROGRAM. HOWEVER, SYNTACTIC ERRORS MAY RESULT IN ERRONEOUS PRETTYPRINTING. INPUT FILE: INPUT - A FILE OF CHARACTERS, PRESUMABLY A PASCAL PROGRAM OR PROGRAM FRAGMENT. OUTPUT FILE: OUTPUT - THE PRETTYPRINTED PROGRAM. ************************************************************************** ************************************************************************** PASCAL PRETTYPRINTING RULES GENERAL PRETTYPRINTING RULES 1. ANY SPACES OR BLANK LINES BEYOND THOSE GENERATED BY THE PRETTYPRINTER ARE LEFT ALONE. THE USER IS ENCOURAGED, FOR THE SAKE OF READABILITY, TO MAKE USE OF THIS FACILITY. IN ADDITION, COMMENTS ARE LEFT WHERE THEY ARE FOUND, UNLESS THEY ARE SHIFTED RIGHT BY PRECEEDING TEXT ON A LINE. 2. ALL STATEMENTS AND DECLARATIONS BEGIN ON SEPARATE LINES. 3. NO LINE MAY BE GREATER THAN 72 CHARACTERS LONG. ANY LINE LONGER THAN THIS IS CONTINUED ON A SEPARATE LINE. 4. THE KEYWORDS "BEGIN", "END", "REPEAT", AND "RECORD" ARE FORCED TO STAND ON LINES BY THEMSELVES (OR POSSIBLY FOLLOWED BY SUPPORTING COMMENTS). IN ADDITION, THE "UNTIL" CLAUSE OF A "REPEAT-UNTIL" STATEMENT IS FORCED TO START ON A NEW LINE. 5. A BLANK LINE IS FORCED BEFORE THE KEYWORDS "PROGRAM", "PROCEDURE", "FUNCTION", "LABEL", "CONST","TYPE", AND "VAR". 6. A SPACE IS FORCED BEFORE AND AFTER THE SYMBOLS ":=" AND "=". ADDITIONALLY, A SPACE IS FORCED AFTER THE SYMBOL ":". NOTE THAT ONLY "="S IN DECLARATIONS ARE FORMATTED. "="S IN EXPRESSIONS ARE IGNORED. <<<. INDENTATION RULES 1. THE BODIES OF "LABEL", "CONST", "TYPE", AND "VAR" DECLARATIONS ARE INDENTED FROM THEIR CORRESPONDING DECLARATION HEADER KEYWORDS. 2. THE BODIES OF "BEGIN-END", "REPEAT-UNTIL", "FOR", "WHILE", "WITH", AND "CASE" STATEMENTS, AS WELL AS "RECORD-END" STRUCTURES AND "CASE" VARIANTS (TO ONE LEVEL) ARE INDENTED FROM THEIR HEADER KEYWORDS. 3. AN "IF-THEN-ELSE" STATEMENT IS INDENTED AS FOLLOWS: IF THEN ELSE **************************************************************************** **************************************************************************** GENERAL ALGORITHM THE STRATEGY OF THE PRETTYPRINTER IS TO SCAN SYMBOLS FROM THE INPUT PROGRAM AND MAP EACH SYMBOL INTO A PRETTYPRINTING ACTION, INDEPENDENTLY OF THE CONTEXT IN WHICH THE SYMBOL APPEARS. THIS IS ACCOMPLISHED BY A TABLE OF PRETTYPRINTING OPTIONS. FOR EACH DISTINGUISHED SYMBOL IN THE TABLE, THERE IS AN ASSOCIATED SET OF OPTIONS. IF THE OPTION HAS BEEN SELECTED FOR THE SYMBOL BEING SCANNED, THEN THE ACTION CORRESPONDING WITH EACH OPTION IS PERFORMED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. THE BASIC ACTIONS INVOLVED IN PRETTYPRINTING ARE THE INDENT- ATION AND DE-INDENTATION OF THE MARGIN. EACH TIME THE MARGIN IS INDENTED, THE PREVIOUS VALUE OF THE MARGIN IS PUSHED ONTO A STACK, ALONG WITH THE NAME OF THE SYMBOL THAT CAUSED IT TO BE INDENTED. EACH TIME THE MARGIN IS DE-INDENTED, THE STACK IS POPPED OFF TO OBTAIN THE PREVIOUS VALUE OF THE MARGIN. THE PRETTYPRINTING OPTIONS ARE PROCESSED IN THE FOLLOWING ORDER, AND INVOKE THE FOLLOWING ACTIONS: CRSUPPRESS - IF A CARRIAGE RETURN HAS BEEN INSERTED FOLLOWING THE PREVIOUS SYMBOL, THEN IT IS INHIBITED UNTIL THE NEXT SYMBOL IS PRINTED. CRBEFORE - A CARRIAGE RETURN IS INSERTED BEFORE THE CURRENT SYMBOL (UNLESS ONE IS ALREADY THERE) BLNKLINEBEFORE - A BLANK LINE IS INSERTED BEFORE THE CURRENT  SYMBOL (UNLESS ALREADY THERE). DINDENTONKEYS - IF ANY OF THE SPECIFIED KEYS ARE ON TOP OF THE STACK, THE STACK IS POPPED, DE-INDENTING THE MARGIN. THE PROCESS IS REPEATED UNTIL THE TOP OF THE STACK IS NOT ONE OF THE SPECIFIED KEYS. DINDENT - THE STACK IS UNCONDITIONALLY POPPED AND THE MARGIN IS DE-INDENTED. SPACEBEFORE - A SPACE IS INSERTED BEFORE THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). THE SYMBOL IS PRINTED AT THIS POINT [] SPACEAFTER - A SPACE IS INSERTED AFTER THE SYMBOL BEING SCANNED (UNLESS ALREADY THERE). GOBBLESYMBOLS - SYMBOLS ARE CONTINUOUSLY SCANNED AND PRINTED WITHOUT ANY PROCESSING UNTIL ONE OF THE SPECIFIED SYMBOLS IS SEEN (BUT NOT GOBBLED). INDENTBYTAB - THE MARGIN IS INDENTED BY A STANDARD AMOUNT FROM THE PREVIOUS MARGIN. INDENTTOCLP - THE MARGIN IS INDENTED TO THE CURRENT LINE POSITION. CRAFTER - A CARRIAGE RETURN IS INSERTED FOLLOWING THE SYMBOL SCANNED. ***************************************************************************** PROGRAM PRETTYPRINT *( FROM )* INPUT, *( TO )* OUTPUT ); CONST MAXSYMBOLSSIZE = 200; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A)* *( SYMBOL SCANNED BY THE LEXICAL SCANNER. )* MAXSTACKSIZE = 100; *( THE MAXIMUM NUMBER OF SYMBOLS CAUSING )* *( INDENTATION THAT MAY BE STACKED. )* MAXKEYLENGTH = 10; *( THE MAXIMUM LENGTH (IN CHARACTERS) OF A )* *( PASCAL RESERVED KEYWORD. )* MAXLINESIZE = 72; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A )* *( LINE OUTPUT BY THE PRETTYPRINTER. )* SLOFAIL1 = 30; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT2". BEYOND )* *( THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); PROGRAM PRETTYPRINT *( FROM )* INPUT, *( TO )* OUTPUT ); CONST MAXSYMBOLSSIZE = 200; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A)* *( SYMBOL SCANNED BY THE LEXICAL SCANNER. )* MAXSTACKSIZE = 100; *( THE MAXIMUM NUMBER OF SYMBOLS CAUSING )* *( INDENTATION THAT MAY BE STACKED. )* MAXKEYLENGTH = 10; *( THE MAXIMUM LENGTH (IN CHARACTERS) OF A )* *( PASCAL RESERVED KEYWORD. )* MAXLINESIZE = 72; *( THE MAXIMUM SIZE (IN CHARACTERS) OF A )* *( LINE OUTPUT BY THE PRETTYPRINTER. )* SLOFAIL1 = 30; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; *( UP TO THIS COLUMN POSITION, EACH TIME )* *( "IDENTBYTAB" IS INVOKED, THE MARGIN )* *( WILL BE INDENTED BY "INDENT2". BEYOND )* *( THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE - ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); OPTIONSET = SET OF OPTION KEYSYMSET = SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; KEY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAR; KEYWORDTABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; SGLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OF CHAR; STRING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO = ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLANK, QUOTE, ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTACK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRY; VAR RECORDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBOLSTACK; TOP : INTEGER; STARTPOS, *(STARTING POSITION OF LAST SYMBOL WRITTEN )* <<<. CURRLINEPOS, CURRMARGIN : INTEGER; PROCEDURE GETCHAR ( *( FROM INPUT )* *( UPDATING )* VAR NEXTCHAR : CHARINFO; *( RETURNING )* VAR CURRCHAR : CHARINFO ); BEGIN *( GETCHAR )* CURRCHAR := NEXTCHAR; WITH NEXTCHAR DO BEGIN IF EOF(INPUT) THEN NAME := FILEMARK ELSE IF EOLN(INPUT) THEN NAME := ENDOFLINE ELSE IF INPUT^IN ['A'..'Z'] THEN NAME := DIGIT ELSE IF INPUT^IN ['O'..'9'] THEN NAME := DIGIT ELSE IF INPUT^= '''' THEN NAME := QUOTE ELSE IF INPUT^= SPACE THEN NAME := BLANK ELSE NAME := OTHERCHAR; IF NAME IN [ FILEMARK, ENDOFLINE ] THEN VALU := SPACE ELSE VALU := INPUT^; IF NAME <> FILEMARK THEN GET(INPUT) END *(WITH)* END; *( GETCHAR )* PROCEDURE STORENEXTCHAR *( FROM INPUT )* *( UPDATING )* VAR LENGTH : INTEGER; VAR CURRCHAR, NEXTCHAR : CHARINFO; :( PLACING IN )* VAR VALU : STRING ); BEGIN *( STORENEXTCHAR )* GETCHAR( *( FROM INPUT )* *( UPDATING )* NEXTCHAR, *( RETURNING )* CURRCHAR ); IF LENGTH < MAXSYMBOLSIZE THEN BEGIN LENGTH := LENGTH + 1; VALU [LENGTH] := CURRCHAR.VALU END END; *(STORENEXTCHAR )* PROCEDURE SKIPSPACES ( *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING )* VAR SPACESBEFORE, CRSBEFORE : INTEGER ); BEGIN *( SKIPSPACES )* SPACESBEFORE := 0; CRSBEFORE := 0; WHILE NEXTCHAR.NAME IN [ BLANK, ENDOFLINE ] DO BEGIN GETCHAR( *( FROM INPUT )* *( UPDATING )* NEXTCHAR, :( RETURNING )* CURRCHAR ); CASE CURRCHAR.NAME OF BLANK, : SPACESBEFORE := SPACESBEFORE+1; ENDOFLINE : BEGIN CRSBEFORE := CRSBEFORE+1; SPACESBEFORE := 0 END END *( CASE )* END *( WHILE )* END; *( SKIPSPACES )* PROCEDURE GETCOMMENT ( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GET COMMENT )* NAME := OPENCOMMENT; WHILE NOT ( ((CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')')) OR (NEXTCHAR.NAME = ENDOFLINE) OR (NEXTCHAR.NAME = FILEMARK)) DO STORENEXTCHAR ( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); IF (CURRCHAR.VALU = '*') AND (NEXTCHAR.VALU = ')') THEN BEGIN STOENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, :( IN )* VALU ); NAME := CLOSECOMMENT END; *( GETCOMMENT )* FUNCTION IDTYPE( *( OF )* VALU : STRING; *( USING )* LENGTH : INTEGER ) *( RETURNING )* : KEYSYMBOL; VAR I: INTEGER; (TED, THIS NEXT SECTION ARE SMALL I';S - JG) KEYVALU: KEY; HIT: BOOLEAN; THISKEY: KEYSYMBOL; BEGIN *( IDTYPE )* IDTYPE := OTHERSYM;  IF LENGTH <= MAXKEYLENGTH THEN BEGIN FOR I := 1 TO LENGTH DO KEYVALU [I] := VALU [I]; FOR I := LENGTH+1 TO MAXKEYLENGTH DO KEYVALU [I] := SPACE; THISKEY := PROGSYM; HIT := FALSE; WHILE NOT(HIT OR (THISKEY = SUCC(UNTILSYM))) DO IF KEYVALU = KEYWORD [THISKEY] THEN HIT := TRUE ELSE THISKEY := SUCC(THISKEY); IF HIT THEN IDTYPE := THISKEY END; END; *( IDTYPE )* PROCEDURE GETIDENTIFIER ( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; :( RETURNING )* VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GETIDENTIFIER )* WHILE NEXTCHAR.NAME IN [ LETTER,DIGIT ] DO STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); NAME := IDTYPE( *( OF )* VALU, *( USING )* LENGTH ); IF NAME IN [ RECORDSYM, CASESYM, ENDSYM ] THEN CASE NAME OF RECORDSYM : RECORDSEEN := TRUE; CASESYM : IF RECORDSEEN THEN NAME := CASEVARSYM; ENDSYM : RECORDSEEN := FALSE END *( CASE )* END; *( GETIDENTIFIER )* PROCEDURE GETNUMBER( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING )* VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GETNUMBER )* WHILE NEXTCHAR.NAME = DIGIT DO STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); NAME := OTHERSYM END; *( GETNUMBER )* PROCEDURE GETCHARLITERAL( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING )* VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GETCHARLITERAL )* WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( *(FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ) END; NAME := OTHERSYM END; *( GETCHARLITERAL )* FUNCTION CHARTYPE( *( OF )* CURRCHAR, NEXTCHAR : CHARINFO ) *( RETURNING )* : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN *( CHARTYPE )* NEXTTWOCHARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR); BEGIN *( GETCHARLITERAL )* WHILE NEXTCHAR.NAME = QUOTE DO BEGIN STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); WHILE NOT(NEXTCHAR.NAME IN [ QUOTE, ENDOFLINE, FILEMARK ]) DO STORENEXTCHAR( *(FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); IF NEXTCHAR.NAME = QUOTE THEN STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ) END; NAME := OTHERSYM END; *( GETCHARLITERAL )* FUNCTION CHARTYPE( *( OF )* CURRCHAR, NEXTCHAR : CHARINFO ) *( RETURNING )* : KEYSYMBOL; VAR NEXTTWOCHARS: SPECIALCHAR; HIT: BOOLEAN; THISCHAR: KEYSYMBOL; BEGIN *( CHARTYPE )* NEXTTWOCHARS[1] := CURRCHAR.VALU; NEXTTWOCHARS[2] := NEXTCHAR.VALU; THISCHAR := BECOMES; := FALSE; WHILE NOT(HIT OR (THISCHAR = CLOSECOMMENT)) DO IF NEXTTWOCHARS = DBLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR); IF NOT HIT THEN BEGIN THISCHAR := SEMICOLON; WHILE NOT(HIT OR (PRED(THISCHAR) = PERIOD)) DO IF CURRCHAR.VALU = SGLCHAR [THISCHAR] THEN HIT := TRUE ELSE THISCHAR := SUCC(THISCHAR) END; IF HIT THEN CHARTYPE := THISCHAR ELSE CHARTYPE := OTHERSYM END; *( CHARTYPE )* PROCEDURE GETSPCIALCHAR( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING)* VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GETSPCIALCHAR )* STOENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR, NEXTCHAR, *( IN )* VALU ); NAME := CHARTYPE( *( OF )* CURRCHAR, NEXTCHAR ); IF NAME IN DBLCHARS THEN STORENEXTCHAR( *( FROM INPUT )* *( UPDATING )* LENGTH, CURRCHAR NEXTCHAR, *( IN )* VALU ) END; *( GETSPECIALCHAR )* PROCEDURE GETNEXTSYMBOL( *( FROM INPUT )* *( UPDATING )* VAR CURRCHAR, NEXTCHAR : CHARINFO; *( RETURNING )* VAR NAME : KEYSYMBOL; VAR VALU : STRING; VAR LENGTH : INTEGER ); BEGIN *( GETNEXTSYMBOL )* CASE NEXTCHAR.NAME OF LETTER : GETIDENTIFIER( *( FROM INPUT )* *( UPDATING )* CURRCHAR, NEXTCHAR, *( RETURNING )* NAME, VALU, LENGTH ); DIGIT : GETNUMBER( *( FROM INPUT )* *( UPDATING )* CURRCHAR NEXTCHAR, *( RETURNING )* NAME, VALU, LENGTH ); QUOTE : GETCHARLITERAL( *( FROM INPUT )* *( UPDATING )* CURRCHAR, NEXTCHAR, *( RETURNING )* NAME, VALU LENGTH ); OTHERCHAR : BEGIN GETSPECIALCHAR( *)_( FROM INPUT )* *( UPDATING )* CURRCHAR, NEXTCHAR, *( RETURNING )* NAME, VALU, LENGTH ); IF NAME = OPENCOMMENT THEN GETCOMMENT( *( FROM INPUT )* *( UPDATING )* CURRCHAR, NEXTCHAR, NAME, VALU, LENGTH ) END; FILEMARK : NAME := ENDOFFILE END *( CASE )* END; *( GETNEXTSYMBOL )* PROCEDURE GETSYMBOL( *( FROM INPUT )* *( UPDATING )* VAR NEXT SYM : SYMBOLINFO; *( RETURNING )* VAR CURRSYM : SYMBOLINFO ); VAR DUMMY: SYMBOLINFO; BEGIN *( GETSYMBOL )* DUMMY := CURRSYM; CURRSYM := NEXTSYM; NEXTSYM := DUMMY ; WITH NEXTSYM^ DO BEGIN SKIPSPACES( *( UPDATING )* CURRCHAR, NEXTCHAR, *( RETURNING )* SPACESBEFORE, CRSBEFORE ); LENGTH := 0; IF CURRSYM^.NAME = OPEN COMMENT THEN GETCOMMENT( *( FROM INPUT )* *( UPDATING )* CURRCHAR, NEXTCHAR, *( RETURNING )* NAME, VALU, LENGTH ) END *( WITH )* END; *( GETSYMBOL )* PROCEDURE INITIALIZE( *( RETURNING )* VAR TOPOFSTACK : INTEGER; VAR CURRLINEPOS, CURRMARGIN : INTEGER; VAR KEYWORD : KEYWORDTABLE; VAR DBLCHARS : DBLCHRSET; VAR DBLCHAR : DBLCHARTABLE; VAR SGLCHAR : SGLCHARTABLE; VAR RECORDSEEN : BOOLEAN; VAR CURRCHAR, NEXTCHAR : CHARINFO; VAR CURRSYM, NEXTSYM : SYMBOLINFO; VAR PPOPTION : OPTIONTABLE ); BEGIN *( INITIALIZE )* LINELIMIT(OUTPUT,MAXINT); TOPOFSTACK := 0; CURRLINEPOS := 0; CURRMARGIN := 0; KEYWORD [ PROGSYM ] := 'PROGRAM '; KEYWORD [ FUNCSYM ] := 'FUNCTION '; KEYWORD [ PROCSYM ] := 'PROCEDURE '; KEYWORD [ LABELSYM ] := 'LABEL '; KEYWORD [ CONSTSYM ] := 'CONST '; KEYWORD [ TYPESYM ] := 'TYPE '; KEYWORD [ VARSYM ] := 'VAR '; KEYWORD [ BEGINSYM ] := 'BEGIN '; KEYWORD [ REPEATSYM ] := 'REPEAT '; KEYWORD [ RECORDSYM ] := 'RECORD '; KEYWORD [ CASESYM ] := 'CASE '; KEYWORD [ CASEVARSYM ] := 'CASE '; KEYWORD [ OFSYM ] := 'OF '; KEYWORD [ FORSYM ] := 'FOR '; KEYWORD [ WHILESYM ] := 'WHILE '; KEYWORD [ WITHSYM ] := 'WITH '; KEYWORD [ DOSYM ] := 'DO '; KEYWORD [ IFSYM ] := 'IF '; KEYWORD [ THENSYM ] := 'THEN '; KEYWORD [ ELSESYM ] := 'ELSE '; KEYWORD [ ENDSYM ] := 'END '; KEYWORD [ UNTILSYM ] := 'UNTIL '; DBLCHARS := [ BECOMES, OPENCOMMENT ]; DBLCHAR [ BECOMES ] := ':='; DBLCHAR [ OPENCOMMENT ] := '(*'; SGLCHAR [ SEMICOLON ] := ';'; SGLCHAR [ COLON ] := ':'; SGLCHAR [ EQUALS ] := '='; SGLCHAR [ OPENPAREN ] := '('; SGLCHAR [ CLOSEPAREN ] := ')'; SGLCHAR [ PERIOD ] := '.'; RECORDSEEN := FALSE; GETCHART( *( FROM INPUT )* *( UPDATING )* NEXTCHAR, *( RETURNING )* CURRCHAR ); NEW(CURRSYM); NEW(NEXTSYM); GETSYMBOL( *( FROM INPUT )* *( UPDATING )* NEXTSYM, *( RETURNING )* CURRSYM ); WITH PPOPTION [ PROGSYM ] DO BEGIN OPTIONSSELECTED := [BLANKLINEBEFORE; SPACEAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ FUNCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM TAPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PROCSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ LABELSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, SPACEAFTER, IDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CONSTSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ TYPESYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [LABELSYM, CONSTSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ VARSYM ] DO BEGIN OPTIONSSELECTED := [ BLANKLINEBEFORE, DINDENTONKEYS, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ BEGINSYM ] DO BEGIN OPTIONSSELECTED := [DINDENTONKEYS, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ LABELSYM, CONSTSYM, TYPESYM, VARSYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ REPEATSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ RECORDSYM ] DO BEGIN OPTIONSSELECTED := [ IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CASESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [] GOBBLETERMINATORS := [ OFSYM ] END; WITH PPOPTION [ CASEVARSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ OFSYM ] END; WITH PPOPTION [ OFSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; WITH PPOPTION [ FORSYM ] DO BEGIN OPTIONSSELECTED := SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; WITH PPOPTION [ WHILESYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; WITH PPOPTION [ WITHSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ DOSYM ] END; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ DOSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ DOSYM ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, SPACEBEFORE ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ IFSYM ] DO BEGIN OPTIONSSELECTED := [ SPACEAFTER, IDENTBYTAB, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ THENSYM ] END; WITH PPOPTION [ THENSYM ] DO BEGIN OPTIONSSELECTED := [ INDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ELSESYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, IDENTBYTAB, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, ELSESYM ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, CASEVARSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ UNTILSYM ] DO BEGIN OPTIONSSELECTED := [ CRBEFORE, DINDENTONKEYS, DINDENT, SPACEAFTER, GOBBLESYMBOLS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ]; END; WITH PPOPTION [ BECOMES ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ ENDSYM, UNTILSYM, ELSESYM, SEMICOLON ] END; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OPENPAREN ] DO BEGIN OPTIONSSELECTED := [ GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ CLOSEPAREN] END; WITH PPOPTION [ CLOSEPAREN ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PERIOD ] DO BEGIN OPTIONSSELCTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDOFFILE ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OTHERSYM ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMNATORS := [] END END; *( INITIALIZE )* FUNTION STACKEMPTY *( RETURNING )* : BOOLEAN; BEGIN *( STACKEMPTY )* IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; *( STACKEMPTY )* FUNCTION STACKFULL *( RETURNING )* : BOOLEAN; BEGIN *( STACKFULL )* IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; *( STACKFULL )* PROCEDURE POPSTACK( *( RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN *( POPSTACK )* IF NOT STACKEMPTY THEN BEGIN INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP - 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; *( POPSTACK )* PROCEDURE PUSHSTACK( *( USING )* INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN *( PUSHSTACK )* TOP := TOP + 1 STACK[TOP].INDENTSYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; *( PUSHSTACK )* PROCEDURE WRITECRS( *( USING )* NUMBEROFCRS : INTEGER; *( UPDATING )* VAR CURRLINEPOS : INTEGER *( WRITING TO OUTPUT )* ); VAR I: INTEGER; (TED THIS IS SMALL I) BEGIN *( WRITECRS )* IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; *( WRITECRS )* PROCEDURE INSERTCR( *( UPDATING )* VAR CURRSYM : SMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; BEGIN *( INSERTER )* IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); CURRSYM^.SPACESBEFORE := 0 END END; *( INSERTER )* PROCEDURE INSERTBLANKLINE( *( UPDATING )* VAR CURRSYM : SYMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; TWICE - 2; BEGIN *( INSERTBLANKLINE )* IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) ELSE WRITECRS( TWICE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) END; *( INSERTBLANKLINE )* PROCEDURE 1SHIFTON( *( USING )* DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN *( 1SHIFTON )* IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( *( RETURNING )* INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( *( USING )* INDENTSYMBOL, PREVMARGIN ) END END; *( 1SHIFTON )* PROCEDURE 1SHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN *( 1SHIFT )* IF NOT STACKEMPTY THEN BEGIN POPSTACK( *( RETURNING )* INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; *( 1SHIFT )* PROCEDURE INSERTSPACE( *( USING )* VAR SYMBOL : SYMBOLINFO *( WRITING TO OUTPUT )* ); BEGIN *( INSERTSPACE )* IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; *( INSERTSPACE )*  PROCEDURE MOVELINEPOST( *( TO )* NEWLINEPOS : INTEGER; *( FROM )* VAR CURRLINEPOS : INTEGER *( WRITING TO OUTPUT )* ); VAR I: INTEGER; (TED SMALL I) BEGIN *( MOVELINEPOS )* FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; *( MOVELINEPOS )* PROCEDURE PRINTSYMBOL( *( IN )* CURRSYM : SYMBOLINFO; *( UPDATING )* VAR CURRLINEPOS : INTEGER *( WRITING TO OUTPUT )* ); VAR I: INTEGER; (TED SMALL I) BEGIN *( PRINTSYMBOL )* WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; *( SAVE START POS FOR TAB PURPOSES )* <<<. CURRLINEPOS := CURRLINEPOS + LENGTH END *( WITH )* END; *( PRINTSYMBOL )* PROCEDURE PPSYMBOL( *( IN )* CURRSYM : SYMBOLINFO *( WRITING TO OUTPUT )* ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN *( PPSYMBOL )* WITH CURRSYM^ DO BEGIN WRITECRS( *( USING )* CRSBEFORE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( *( TO )* NEWLINEPOS, *( FROM )* CURRLINEPOS *( IN OUTPUT )* ); PRINTSYMBOL( *( IN )* CURRSYM, *( UPDATING )* CURRLINEPOS *( WRITING TO OUTPUT )* ) END *( WITH )* END; *( PPSYMBOL )* PROCEDURE RSHIFTTOCLP( *( USING )* CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( *( SYMBOLS FROM INPUT )* *( UP TO )* TERMINATORS : KEYSYMSET; *( UPDATING )* VAR CURRSYM, NEXTSYM : SYMBOLINFO *( WRITING TO OUTPUT )* ); BEGIN *( GOBBLE )* RSHIFTTOCLP( *( USING )* CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( *( FROM INPUT )* *( UPDATING )* NEXTSYM, *( RETURNING )* CURRSYM ); PPSYMBOL( *( IN)* CURRSYM *( WRITING TO OUTPUT )* ) END; *( WHILE )* 1SHIFT END; *( GOBBLE )* PROCEDURE RSHIFT( *( USING )* CURRSYM : KEYSMBOL ); BEGIN *( RSHIFT )* IF NOT STACKFULL THEN PUSHSTACK( *( USING )* CURRSYM, CURRMARGIN); *( IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. )* <<<. IF STARTPOS > CURRMARGIN <<<. THEN <<<. CURRMARGIN := STARTPOS; <<<. IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; *( RSHIFT )* PROCEDURE RSHIFTTOCLP; BEGIN *( RSHIFTTOCLP )* IF NOT STACKFULL THEN PUSHSTACK( *( USING )* CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; *( RSHIFTTOCLP )* BEGIN *( PRETTYPRINT )* INITIALIZE( TOP CURRLINEPOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( *( FROM INPUT )* *( UPDATING )* NEXTSYM, *( RETURNING )* CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( *( USING )* CURRSYM *( WRITING TO OUTPUT )* ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_*( USNG )* CURRSYM *( WRITING TO OUTPUT )* ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN 1SHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN 1SHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( *( USING )* CURRSYM *( WRITING TO OUTPUT )* ); PPSYMBOL( v*( IN )* CURRSYM *( WRITING TO OUTPUT )* ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( *( USING )* NEXTSYM *( WRITING TO OUTPUT )* ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( *( USING )* CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( *( USING )* CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( *( SYMBOLS FROM INPUT )* *( UP TO )* GOBBLETERMINATORS, *( UPDATING )* CURRSYM, NEXTSYM *( WRITING TO OUTPUT )* IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END *( WITH )* END; *( WHILE )* IF CRPENDING THEN WRITELN(OUTPUT) END. TOTALLSCŽŽ Rational Data Systems Pascal Compiler [release RDOS.2.11, overlaid] "TOTAL.PA" compiled on Thursday 1 January 1981 at 12:29:40 using the option /Swapping. line seg proc off nst 1 0 1 1 PROGRAM TOTAL(INPUT,OUTPUT); 2 0 1 1 3 0 1 1 TYPE ALPHANUMERIC = STRING[99]; 4 0 1 1 5 0 1 1 VAR STR : ALPHANUMERIC; 6 0 1 51 TOTAL,AMOUNT : REAL; 7 0 1 55 I,CHECKNUMBER : INTEGER; 8 0 1 57 INFILE,OUTFILE : TEXT; 9 0 1 317 10 0 1 317 11 0 2 1 FUNCTION GETREAL( STR : ALPHANUMERIC;VAR I : INTEGER) : REAL; 12 0 2 55 {STR : STRING[99] = INPUT LINE 13 0 2 55 I : INTEGER = START CHARACTER POSINTION IN LINE FOR SCANNER} 14 0 2 55 15 0 2 55 LABEL 1,2; 16 0 2 55 17 0 2 55 TYPE WHOLORFRACT = (WHOLE,FRACTIONAL) ; 18 0 2 55 SIGNOF = (PLUS,MINUS); 19 0 2 55 20 0 2 55 VAR LEN : INTEGER; 21 0 2 56 FGETREAL,PLACE :REAL; 22 0 2 60 PART : WHOLORFRACT ; 23 0 2 61 SIGN : SIGNOF; 24 0 2 62 25 0 2 62 26 0 2 0 0 BEGIN 27 0 2 0 0 SIGN := PLUS; 28 0 2 8 0 PART := WHOLE;{assume while part first} 29 0 2 11 0 FGETREAL := 0; 30 0 2 17 0 LEN := LENGTH(STR); 31 0 2 22 0 { WRITELN('LEN=',LEN);} 32 0 2 22 0 1: IF I <= LEN THEN {ignore leading spaces and tabs,etc.} 33 0 2 29 2 IF NOT (STR[I] IN ['0'..'9','-','.']) THEN BEGIN 34 0 2 51 2 I := I+1;GOTO 1; 35 0 2 59 2 END 36 0 2 59 1 ELSE 37 0 2 61 3 IF STR[I] = '-' THEN BEGIN 38 0 2 71 3 I := I+1; 39 0 2 77 3 SIGN := MINUS; 40 0 2 80 3 GOTO 1; 41 0 2 82 3 END 42 0 2 82 2 ELSE 43 0 2 84 3 2: IF I <= LEN THEN 44 0 2 91 4 IF STR[I] IN ['0'..'9'] THEN 45 0 2 112 5 BEGIN 46 0 2 112 5 CASE PART OF 47 0 2 116 5 WHOLE : 48 0 2 116 6 BEGIN 49 0 2 116 6 FGETREAL := FGETREAL*10-ORD('0')+ORD(STR[I]); 50 0 2 138 6 { REALPRINT(FGETREAL);} 51 0 2 138 6 { WRITELN(' WHOLE');} 52 0 2 138 5 END; 53 0 2 140 5 54 0 2 140 6 FRACTIONAL : BEGIN 55 0 2 140 6 FGETREAL := FGETREAL + (ORD(STR[I])-ORD('0'))/PLACE; 56 0 2 163 6 PLACE := PLACE*10; 57 0 2 174 6 { REALPRINT(FGETREAL);} 58 0 2 174 6 { WRITELN(' FP');} 59 0 2 174 6 END 60 0 2 174 5 END; {case} 61 0 2 188 5 I := I+1; 62 0 2 194 5 GOTO 2 63 0 2 196 5 END 64 0 2 196 5 ELSE IF STR[I] = '.' THEN 65 0 2 208 6 BEGIN PART := FRACTIONAL;I := I+1 ;PLACE := 10; 66 0 2 223 6 { WRITE(' FRACTION.');} 67 0 2 223 6 GOTO 2; 68 0 2 225 6 END 69 0 2 225 6 70 0 2 225 6 ELSE IF STR[I] = ',' THEN 71 0 2 237 0 BEGIN I := I+1;GOTO 2 END; 72 0 2 245 0 73 0 2 245 0 CASE SIGN OF 74 0 2 249 0 PLUS : GETREAL := FGETREAL; 75 0 2 259 0 MINUS : GETREAL := -FGETREAL; 76 0 2 270 0 END;{case} 77 0 2 282 0 END;{getreal} 78 0 2 306 0 79 0 2 306 0 (*$I GETREAL.PI *) 80 0 2 306 0 81 0 3 1 PROCEDURE REALPRINT (VAR OUTFILE : TEXT;R : REAL); 82 0 3 4 TYPE SIGNOF = (PLUS,MINUS); 83 0 3 4 84 0 3 4 VAR I,J,CHARPOS : INTEGER; 85 0 3 7 STR : STRING[15]; 86 0 3 15 SIGN : SIGNOF; 87 0 3 16 88 0 3 16 89 0 3 16 90 0 4 1 PROCEDURE DECDIGIT; 91 0 4 1 92 0 4 1 VAR R1 : INTEGER; 93 0 4 2 94 0 4 0 0 BEGIN 95 0 4 0 0 { WRITE(' J=',J,' CHARPOS=',CHARPOS);} 96 0 4 0 0 R1 := TRUNC(R/PWROFTEN (J)); 97 0 4 15 0 { WRITELN(' R1=',R1);} 98 0 4 15 0 R := R-R1*PWROFTEN (J); 99 0 4 34 0 STR[CHARPOS] := CHR(R1+48); 100 0 4 50 0 CHARPOS := CHARPOS+1; 101 0 4 58 0 IF ((J = 6) OR (J = 3)) THEN 102 0 4 71 1 BEGIN STR[CHARPOS] := ','; 103 0 4 80 1 CHARPOS := CHARPOS+1; 104 0 4 88 0 END; 105 0 4 88 0 END;{DECDIGIT} 106 0 4 100 0 107 0 5 1 PROCEDURE FRACTDIGIT; 108 0 5 1 109 0 5 1 VAR R1 : INTEGER; 110 0 5 2 111 0 5 0 0 BEGIN 112 0 5 0 0 { WRITE(' J=',J,'CHARPOS=',CHARPOS);} 113 0 5 0 0 R1 := TRUNC(R*PWROFTEN(J)); 114 0 5 15 0 { WRITELN(' R1=',R1);} 115 0 5 15 0 R := R-R1/PWROFTEN(J); 116 0 5 34 0 STR[CHARPOS] := CHR(R1+48); 117 0 5 50 0 CHARPOS := CHARPOS+1; 118 0 5 58 0 END;{FRACTDIGIT} 119 0 5 70 0 120 0 5 70 0 121 0 3 0 0 BEGIN 122 0 3 0 0 {do decimal part first} 123 0 3 0 0 124 0 3 0 0 IF R >= 0 THEN SIGN := PLUS ELSE 125 0 3 15 0 BEGIN R := -R; SIGN := MINUS;END; 126 0 3 27 0 R := R + 0.005; 127 0 3 43 0 128 0 3 43 0 STR :=' '; 129 0 3 64 0 I :=8; 130 0 3 67 0 131 0 3 67 1 REPEAT I := I-1 132 0 3 68 0 UNTIL ( (I =0) OR (PWROFTEN(I) <= R)); 133 0 3 87 0 134 0 3 87 0 CHARPOS := 15-I-3-I DIV 3; 135 0 3 98 0 IF SIGN = MINUS THEN STR[CHARPOS-1] :='-'; 136 0 3 112 0 137 0 3 112 0 FOR J := I DOWNTO 0 DO DECDIGIT; 138 0 3 141 0 139 0 3 141 0 STR[CHARPOS] := '.'; 140 0 3 147 0 CHARPOS := CHARPOS+1; 141 0 3 152 0 142 0 3 152 0 FOR J := 1 TO 2 DO FRACTDIGIT; 143 0 3 180 0 144 0 3 180 0 WRITE(OUTFILE,STR); 145 0 3 189 0 END; 146 0 3 208 0 (*$I REALPRINT.PI *) 147 0 6 1 FUNCTION GETINTEGER( STR : ALPHANUMERIC;VAR I : INTEGER) : INTEGER; 148 0 6 54 149 0 6 54 150 0 6 54 LABEL 1,2,3; 151 0 6 54 152 0 6 54 TYPE SIGNOF = (PLUS,MINUS); 153 0 6 54 VAR LEN,FNUMB : INTEGER; 154 0 6 56 SIGN :SIGNOF; 155 0 6 57 156 0 6 57 157 0 6 0 0 BEGIN 158 0 6 0 0 FNUMB := 0; 159 0 6 8 0 SIGN := PLUS; 160 0 6 11 0 LEN := LENGTH(STR); 161 0 6 16 0 { WRITELN('LEN=',LEN);} 162 0 6 16 0 1: IF I <= LEN THEN 163 0 6 23 2 IF NOT (STR[I] IN ['0'..'9','-']) THEN BEGIN 164 0 6 45 2 I := I+1;GOTO 1; 165 0 6 53 2 END 166 0 6 53 3 ELSE IF STR[I] = '-' THEN BEGIN 167 0 6 65 3 I := I+1; 168 0 6 71 3 SIGN := MINUS; 169 0 6 74 3 GOTO 1; 170 0 6 76 0 END; 171 0 6 76 0 2 : IF STR[I] IN ['0'..'9'] THEN 172 0 6 96 1 BEGIN 173 0 6 96 1 { WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB);} 174 0 6 96 1 FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); 175 0 6 111 1 I := I+1; 176 0 6 117 1 IF I<= LEN THEN GOTO 2; 177 0 6 126 0 END; 178 0 6 126 0 3: CASE SIGN OF 179 0 6 130 0 PLUS : GETINTEGER := FNUMB; 180 0 6 136 1 MINUS : GETINTEGER := -FNUMB 181 0 6 136 0 END;{CASE} 182 0 6 154 0 END;{getinteger} 183 0 6 170 0 (*$I GETINTEGER.PI *) 184 0 6 170 0 185 0 1 0 0 BEGIN 186 0 1 0 0 WRITE(' INPUT FILE NAME? '); 187 0 1 145 0 READLN(STR); 188 0 1 170 0 FILETITLE(INFILE,STR); 189 0 1 178 0 RESET(INFILE); 190 0 1 185 0 191 0 1 185 0 WRITE(' OUTPUT FILE NAME? '); 192 0 1 217 0 READLN(STR); 193 0 1 242 0 FILETITLE(OUTFILE,STR); 194 0 1 249 0 RESET(OUTFILE); 195 0 1 255 0 196 0 1 255 0 TOTAL := 0.0; 197 0 1 266 0 WHILE NOT EOF(INFILE) 198 0 1 273 1 DO BEGIN 199 0 1 276 1 200 0 1 276 1 READLN(INFILE,STR); 201 0 1 300 1 202 0 1 300 1 I := 2; 203 0 1 303 1 { CHECKNUMBER := GETINTEGER(STR,I);} 204 0 1 303 1 AMOUNT := GETREAL(STR,I); 205 0 1 316 1 206 0 1 316 1 TOTAL := TOTAL + AMOUNT; 207 0 1 329 1 { WRITE(OUTFILE,STR[1],CHECKNUMBER : 10);} 208 0 1 329 1 REALPRINT(OUTFILE,AMOUNT); 209 0 1 338 1 WRITELN(OUTFILE); 210 0 1 343 0 END; 211 0 1 345 0 212 0 1 345 0 WRITE(OUTFILE,' ');REALPRINT(OUTFILE,TOTAL);WRITELN(OUTFILE); 213 0 1 381 0 214 0 1 381 0 END. Œ197810k %½½ C 2717 1500 C 2719 4812.51 D 1545 C 2720 3920.58 C 2721 115 C 2722 76.99 C 2723 40.30 C 2724 117.43 C 2725 552.87 C 2726 127.35 C 2727 6 C 2728 20 C 2729 52.84 C 2730 5.74 DM 23.10 C 2731 50 D 592.50 C 2732 911.35 C 2733 46.85 C 2734 164.11 C 2735 1850.16 C 2736 140 D 1997 E 3059.63 C 2737 368 D 1467.50 C 2738 154.01 C 2739 33 C 2740 40 C 2741 15.15 C 2742 342.32 C 2743 10 C 2744 160 C 2745 19 C 2746 1136.47 C 2747 174.34 C 2748 208.22 C 2749 131.46 C 2750 145.75 C 2751 30 C 2752 54 C 2753 55 C 2754 569.90 C 2755 64.50 C 2756 75 CC 2757 E 3685.95 W 2710.13 C 2758 374 C 2759 115 C 2760 500 C 2761 500 C 2762 1510 1978EMP06  ?f½ E 570 1050.61 E 571 1069.11 E 572 1019.07 E 573 566.88 E 574 630.97 E 575 269.88 E 576 472.09 E 577 346.43 W 578 4412.14 W 579 483.00 W 580 2210.00 W 581 38.36 1978EMPMC\ff 'APPEND 1978EMP 1978EMP.01 1978EMP.03 1978EMP.04 1978EMP.05 1978EMP.06 ^ 1978EMP.07 1978EMP.08 1978EMP.09 1978EMP.10 1978EMP.11 RDSPIÆjŽr PROCEDURE READSEQUENTIAL( CHANNEL : INTEGER; VAR BUFFER : LINESTRING; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDS = 6719; {.RDS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; TEMPPOINTER : LINEPOINTER; BEGIN MARK(HEAP); NEW(REQUEST); NEW(TEMPPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDS; R0.LPTR := TEMPPOINTER; R0.INT := R0.INT+2; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); BUFFER.LEN := R1.INT; IF ERROR THEN WRITELN(' ERROR IN READSEQUENTIAL = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := TEMPPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); WRITELN(' BYTESREAD = ',BYTESREAD); END; {READ SEQUENTIAL} WRLBUW¾Ž½5PROCEDURE WRITELINE( CHANNEL : INTEGER; BUFFER : BIGSTR; BYTESOUT : INTEGER; VAR ERR : BOOLEAN; VAR ERRNUM : INTEGER); CONST DOTWRS = 7743; {.WRS} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(STRINGPOINTER); STRINGPOINTER^ := BUFFER; WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTWRS; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESOUT; R2.INT := CHANNEL; SYSCALL(REQUEST); IF ERROR THEN WRITELN(' ERROR IN WRITELINE = ',R2.INT); ERR := ERROR; ERRNUM := R2ì.INT; END; RELEASE(HEAP); END; {WRITE LINE} TEST11{ úqq-PROGRAM TEST(INPUT,OUTPUT); CONST STRSIZE = 15; TYPE BYTEARRAY = PACKED ARRAY [0..20] OF CHAR; BYTEPTR = ^BYTEARRAY; BIGSTR = STRING[STRSIZE]; STRPTR = ^BIGSTR; WORDPTR = ^INTEGER; CHARPTR = ^CHAR; LINESTRING = RECORD LEN : INTEGER; {STRING LNGTH} STR : PACKED ARRAY[1..STRSIZE] OF CHAR{DATA} END; LINEPOINTER = ^ LINESTRING; REGISTER = RECORD CASE INTEGER OF 1: (INT: INTEGER); 2: (BPTR: BYTEPTR); 3: (WPTR: WORDPTR); 4: (SPTR: STRPTR); 5: (CH: CHAR); 6: (LPTR: LINEPOINTER) END; {REGISTER} SYSCALLTYPE = (SIMPLE,AOSPACKET); SYSCALLPREFIX = RECORD MODE : SYSCALLTYPE; ERROR : BOOLEAN; CALLNUM : INTEGER; R0 : REGISTER; R1 : REGISTER; R2 : REGISTER; END;{SYSCALL PREFIX} SCALLPTR = ^SYSCALLPREFIX; VAR LINE : LINESTRING; I,J : INTEGER; NBYTES : INTEGER; FILENAME : LINESTRING; DATA :LINESTRING; SYSERROR : BOOLEAN; ERRORNUMBER : INTEGER; {$I DELETE.PI} {$I WRS.PI} {$I RDS.PI} {$I CLOSE.PI} {$I CRAND.PI} {$I GCHN.PI } {$I OPEN.PI} {$I WRL.PI } {$I RDL.PI} BEGIN WRITELN('ENTER FILENAME'); READLINE(0,FILENAME ,NBYTES,SYSERROR,ERRORNUMBER); FILENAME.STR[NBYTES] := CHR(0); CRAND(FILENAME,SYSERROR,ERRORNUMBER); WRITELN('CRAND'); GCHN(I); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); { DATA.STR := '1234567890 '; DATA.STR[11] := CHR(13);} WRITELN(' ENTER DATA'); READLINE(0,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN('WRITE LINE TO DISK'); WRITELINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELINE(2,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); READLINE(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); FOR J := 1 TO NBYTES DO WRITE(OUTPUT,DATA.STR[J]);WRITELN; WRITESEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); WRITELN('OPEN'); OPEN(I,FILENAME,SYSERROR,ERRORNUMBER); READSEQUENTIAL(I,DATA,NBYTES,SYSERROR,ERRORNUMBER); FOR J := 1 TO NBYTES DO WRITE(OUTPUT,DATA.STR[J]);WRITELN; WRITESEQUENTIAL(2,DATA,NBYTES,SYSERROR,ERRORNUMBER); WRITELN; WRITELN('CLOSE'); CLOSE(I,SYSERROR,ERRORNUMBER); END. PASINTERPERÀMŽ? Unknown P-Machine Error #Unimplemented P-Machine Instruction Range Error on SET Operationruction Subscript or Subrange Errornruction Integer Divide-by-ZeroErrornruction String Range ErrorZeroErrornruction SYSCALL Parameter Errorrrornruction Error Reported by Host Systemuction $Dangling Pointer (Value not in Heap) Heap Overflowter (Value not in Heap) %Attempt to EXIT an Inactive Procedure .Called Segment Can't Fit into Available Memory Call to a Non-Existent SegmentAvailable Memory 5Incomplete Read of a Segment by Host Operating System 0Attempt to Open Multiple Files Entitled 'OUTPUT'ystem .Heap Overflow During Internal ALLOCATE RoutineT'ystem Program Filename Too Longrnal ALLOCATE RoutineT'ystem Integer Multiply Overflowrnal ALLOCATE RoutineT'ystem +Unknown Error From Floating Point OperationineT'ystem (Overflow From REAL to INTEGER ConversionionineT'ystem Floating Point UnderflowTEGER ConversionionineT'ystem Floating Point OverflowwTEGER ConversionionineT'ystem Floating Point Divide-by-Zero ConversionionineT'ystem No User Program SpecifiedZero ConversionionineT'ystem /Attempt to Execute a Separately Compiled Module'ystem -Current Interpreter Does Not Support Compilerle'ystem Error on READ of Integer or Realport Compilerle'ystem Error on READ of Realger or Realport Compilerle'ystem 'PWROFTEN Function Argument Out Of Rangempilerle'ystem Overflow From EXP Function Out Of Rangempilerle'ystem "Negative Argument To SQRT FunctionRangempilerle'ystem +Non-Positive Argument To LOG or LN Functionerle'ystem Attempted GET Past End of filer LN Functionerle'ystem +Error #33: Report to Rational Data Systemserle'ystem +Error #34: Report to Rational Data Systemserle'ystem 1Requires Capability Not Generated for Interpreterstem )Field Width in Output Format Out of Rangeerpreterstem Security Violationput Format Out of Rangeerpreterstem External File Name Too Longt Out of Rangeerpreterstem "Record Number Out of Range in SEEKf Rangeerpreterstem !FILETITLE Applied to an Open FileKf Rangeerpreterstem !Attempted I/O to an Unopened FileKf Rangeerpreterstem ,Program/Interpreter Revision Incompatibilityreterstem %Non-Positive Divisor in MOD Operationibilityreterstem Integer ADD or SUBTRACT Overflowationibilityreterstem Stack Overflow SUBTRACT Overflowationibilityreterstem &Number Stack Overflow (Internal Error)bilityreterstem )Limitation of Evaluation Release Exceededityreterstem 2Unresolved Assembler References -- Must Be PLINKedtem 1Unresolved External References -- Must Be PLINKeddtem 'Program not PLINKed to this InterpreterBe PLINKeddtem IPX JÜÜ VINTERPOK Copyright (C) 1980 Rational Data Systems¼ ÖÆÆ?ÏÖÆ¦OUTPUTÏÖ¥ÏÖ¦Interpreter OK¥Ì€ƒÊ€ƒÒÏÖÊ€ƒÏÖÆÏ­ƒ NT18Ù MŽ0)PROGRAM T18(INPUT,OUTPUT); CONST AU = 65; BU = 66; CU = 67; DU = 68; AL = 97; BL = 98; CL = 99; DL = 100; VAR CHRIN : INTEGER; FUNCTION GCHA:INTEGER;EXTERNAL; PROCEDURE PCHA(CHRIN:INTEGER);EXTERNAL; BEGIN REPEAT BEGIN CHRIN := GCHA; PCHA(CHRIN); IF((CHRIN >= 65) AND (CHRIN<=68)) OR ((CHRIN >=97) AND (CHRIN<=100)) THEN CASE CHRIN OF AU,BU,CU,DU : WRITELN(OUTPUT,'UPPERCASE'); AL:,BL,CL,DL : WRITELN(OUTPUT,'LOWERCASE'); END END UNTIL EOF(INPUT) END. INTGET· O½½*PROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; VAR STR : ALPHANUMERIC; I : INTEGER; FUNCTION NUMB( STR : ALPHANUMERIC) : INTEGER; LABEL 1,2; VAR I,LEN,FNUMB : INTEGER; BEGIN FNUMB := 0; I :=1; LEN := LENGTH(STR); WRITELN('LEN=',LEN); 1: IF I <= LEN THEN IF ORD(STR[I]) IN [9,32] THEN BEGIN I := I+1;GOTO 1; END ELSE 2: IF I <= LEN THEN IF STR[I] IN ['0'..'9'] THEN BEGIN WRITELN(' FNUMB',ORD(STR[I]),' ',FNUMB); FNUMB := FNUMB*10-ORD('0')+ORD(STR[I]); I := I+1; NUMB := FNUMB; GOTO 2 END ELSE EXIT(NUMB) ELSE EXIT(NUMB) END; BEGIN REPEAT BEGIN READLN(STR); WRITELN(' ',NUMB(STR),'=NUMB'); END; UNTIL EOF(INPUT); END. PETTYPRIN01J RÜI PROGRAM PRETTYPRINT ( (* FROM *) INPUT, (* TO *) OUTPUT ); CONST MAXSYMBOLSSIZE = 200; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A*) (* SYMBOL SCANNED BY THE LEXICAL SCANNER. *) MAXSTACKSIZE = 100; (* THE MAXIMUM NUMBER OF SYMBOLS CAUSING *) (* INDENTATION THAT MAY BE STACKED. *) MAXKEYLENGTH = 10; (* THE MAXIMUM LENGTH (IN CHARACTERS) OF A *) (* PASCAL RESERVED KEYWORD. *) MAXLINESIZE = 72; (* THE MAXIMUM SIZE (IN CHARACTERS) OF A *) (* LINE OUTPUT BY THE PRETTYPRINTER. *) SLOFAIL1 = 30; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT1". SLOFAIL2 = 48; (* UP TO THIS COLUMN POSITION, EACH TIME *) (* "IDENTBYTAB" IS INVOKED, THE MARGIN *) (* WILL BE INDENTED BY "INDENT2". BEYOND *) (* THIS, NO INDENTATION OCCURS. INDENT1 = 3; INDENT2 = 1; SPACE = ''; TYPE KEYSYMBOL = ( PROGSYM, FUNCSYM, PROCSYM LABELSYM, CONSTSYM, TYPESYM, VARSYM, BEGINSYM, REPEATSYM, RECORDSYM, CASESYM, CASEVARSYM, OFSYM, FORSYM, WHILESYM, WITHSYM, DOSYM, IFSYM, THENSYM, ELSESYM, ENDSYM, UNTILSYM, BECOMES, OPENCOMMENT, CLOSECOMMENT, SEMICOLON, COLON, EQUALS, OPENPAREN, CLOSEPAREN, PERIOD, OTHERSYM ); OPTION = ( CRSUPPRESS, CRBEFORE, BLANKLINEBEFOE DINDENTONKEYS, DINDENT, SPACEBEFORE, SPACEAFTER, GOBBLESYMBOLS, IDENTBYTAB, INDENTTOCLP, CRAFTER ); OPTIONSET = SET OF OPTION KEYSYMSET = SET OF KEYSYMBOL; TABLEENTRY = RECORD OPTIONSELECTED : OPTIONSET; DINDENTSYMBOLS : KEYSYMSET; GOBBLETERMINATORS : KEYSYMSET END; OPTIONTABLE = ARRAY [ KEYSYMBOL ] OF TABLEENTRY; KEY = PACKED ARRAY [ 1..MAXKEYLENGTH ] OF CHAR; KEYWORDTABLE = ARRAY [PROGSYM..UNTILSYM ] OF KEY; SPECIALCHAR = PACKED ARRAY [ 1..2 ] OF CHAR; DBLCHRSET = SET OF BECOMES..OPENCOMMENT; DBLCHARTABLE = ARRAY [ BECOMES..OPENCOMMENT ] OF SPECIALCHAR; SGLCHARTABLE = ARRAY [ SEMICOLON..PERIOD ] OF CHAR; STRING = ARRAY [ 1..MAXSYMBOLSIZE ] OF CHAR; SYMBOL = RECORD NAME : KEYSYMBOL; VALU : STRING; LENGTH : INTEGER; SPACESBEFORE : INTEGER; CRSBEFORE : INTEGER END; SYMBOLINFO = ^SYMBOL; CHARNAME = ( LETTER, DIGIT, BLANK, QUOTE, ENDOFLINE, FILEMARK, OTHERCHAR ); CHARINFO = RECORD NAME : CHARNAME; VALU : CHAR END; STACKENTRY = RECORD INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER END; SYMBOLSTACK = ARRAY [ 1..MAXSTACKSIZE ] OF STACKENTRY; VAR RECORDSEEN: BOOLEAN; CURRCHAR, NEXTCHAR: CHARINFO; CURRSYM, NEXTSYM: SYMBOLINFO; CRPENDING: BOOLEAN; PPOPTION: OPTIONTABLE; KEYWORD: KEYWORDTABLE; DBLCHARS: DBLCHRSET; DBLCHAR: DBLCHARTABLE; SGLCHAR: SGLCHARTABLE; STACK: SYMBOLSTACK; TOP, (*STARTING POSITION OF LAST SYMBOL WRITTEN *) STARTPOS, CURRLINEPOS, CURRMARGIN : INTEGER; WITH PPOPTION [ OPENCOMMENT ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ CLOSECOMMENT ] DO BEGIN OPTIONSSELECTED := CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ SEMICOLON ] DO BEGIN OPTIONSSELECTED := [ CRSUPPRESS, DINDENTONKEYS, CRAFTER ]; DINDENTSYMBOLS := [ IFSYM, THENSYM, ELSESYM, FORSYM, WHILESYM, WITHSYM, COLON, EQUALS ]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ COLON ] DO BEGIN OPTIONSELECTED := [ SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS :=[]; GOBBLETERMINATORS := [] END; WITH PPOPTION [ EQUALS ] DO BEGIN OPTIONSSELECTED := [ SPACEBEFORE, SPACEAFTER, INDENTTOCLP ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OPENPAREN ] DO BEGIN OPTIONSSELECTED := [ GOBBLESYMBOLS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [ CLOSEPAREN] END; WITH PPOPTION [ CLOSEPAREN ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ PERIOD ] DO BEGIN OPTIONSSELCTED := [ CRSUPPRESS ]; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ ENDOFFILE ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMINATORS := [] END; WITH PPOPTION [ OTHERSYM ] DO BEGIN OPTIONSSELECTED := []; DINDENTSYMBOLS := []; GOBBLETERMNATORS := [] END END; (* INITIALIZE *) FUNTION STACKEMPTY (* RETURNING *) : BOOLEAN; BEGIN (* STACKEMPTY *) IF TOP = 0 THEN STACKEMPTY := TRUE ELSE STACKEMPTY := FALSE END; (* STACKEMPTY *) FUNCTION STACKFULL (* RETURNING *) : BOOLEAN; BEGIN (* STACKFULL *) IF TOP = MAXSTACKSIZE THEN STACKFULL := TRUE ELSE STACKFULL := FALSE END; (* STACKFULL *) PROCEDURE POPSTACK( (* RETURNING ): VAR INDENTSYMBOL : KEYSYMBOL; VAR PREVMARGIN : INTEGER); BEGIN (* POPSTACK *) IF NOT STACKEMPTY THEN BEGIN INDENTSYMBOL := STACK[TOP].INDENTSYMBOL; PREVMARGIN := STACK[TOP].PREVMARGIN; TOP := TOP - 1 END ELSE BEGIN INDENTSYMBOL := OTHERSYM; PREVMARGIN := 0 END END; (* POPSTACK *) PROCEDURE PUSHSTACK( (* USING *) INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER ); BEGIN (* PUSHSTACK *) TOP := TOP + 1 STACK[TOP].INDENTSYMBOL := INDENTSYMBOL; STACK[TOP].PREVMARGIN := PREVMARGIN END; (* PUSHSTACK *) PROCEDURE WRITECRS( (* USING *) NUMBEROFCRS : INTEGER; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED THIS IS SMALL I) BEGIN (* WRITECRS *) IF NUMBEROFCRS > 0 THEN BEGIN FOR I := 1 TO NUMBEROFCRS DO (TED SMALL I) WRITELN(OUTPUT); CURRLINEPOS := 0 END END; (* WRITECRS *) PROCEDURE INSERTCR( (* UPDATING *) VAR CURRSYM : SMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; BEGIN (* INSERTER *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END END; (* INSERTER *) PROCEDURE INSERTBLANKLINE( (* UPDATING *) VAR CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; TWICE - 2; BEGIN (* INSERTBLANKLINE *) IF CURRSYM^.CRSBEFORE = 0 THEN BEGIN IF CURRLINEPOS = 0 THEN WRITECRS(ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) ELSE WRITECRS( TWICE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); CURRSYM^.SPACESBEFORE := 0 END ELSE IF CURRSYM^.CRSBEFORE = 1 THEN IF CURRLINEPOS > 0 THEN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END; (* INSERTBLANKLINE *) PROCEDURE LSHIFTON( (* USING *) DINDENTSYMBOLS : KEYSYMSET ); VAR INDENTSYMBOL : KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* LSHIFTON *) IF NOT STACKEMPTY THEN BEGIN REPEAT POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); IF INDENTSYMBOL IN DINDENTSYMBOLS THEN CURRMARGIN := PREVMARGIN UNTIL NOT(INDENTSYMBOL IN DINDENTSYMBOLS) OR (STACKEMPTY); IF NOT(INDENTSYMBOL IN DINDENTSYMBOLS) THEN PUSHSTACK( (* USING *) INDENTSYMBOL, PREVMARGIN ) END END; (* LSHIFTON *) PROCEDURE LSHIFT; VAR INDENTSYMBOL: KEYSYMBOL; PREVMARGIN : INTEGER; BEGIN (* LSHIFT *) IF NOT STACKEMPTY THEN BEGIN POPSTACK( (* RETURNING *) INDENTSYMBOL, PREVMARGIN ); CURRMARGIN := PREVMARGIN END END; (* LSHIFT *) PROCEDURE INSERTSPACE( (* USING *) VAR SYMBOL : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* INSERTSPACE *) IF CURRLINEPOS < MAXLINESIZE THEN BEGIN WRITE(OUTPUT, SPACE); CURRLINEPOS := CURRLINEPOS + 1; WITH SYMBOL^DO IF(CRSBEFORE = 0) AND (SPACESBEFORE>0) THEN SPACESBEFORE := SPACESBEFORE - 1 END END; (* INSERTSPACE *) PROCEDURE MOVELINEPOST( (* TO *) NEWLINEPOS : INTEGER; (* FROM *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* MOVELINEPOS *) FOR I := CURRLINEPOS+1 TO NEWLINEPOS DO (TED SMALL I) WRITE (OUTPUT, SPACE); CURRLINEPOS := NEWLINEPOS END; (* MOVELINEPOS *) PROCEDURE PRINTSYMBOL( (* IN *) CURRSYM : SYMBOLINFO; (* UPDATING *) VAR CURRLINEPOS : INTEGER (* WRITING TO OUTPUT *) ); VAR I: INTEGER; (TED SMALL I) BEGIN (* PRINTSYMBOL *) WITH CURRSYM^ DO BEGIN FOR I := 1 TO LENGTH DO (SMALL I) WRITE(OUTPUT, VALU[I]); (SMALL I) STARTPOS := CURRLINEPOS; (* SAVE START POS FOR TAB PURPOSES *) (* <<< *) CURRLINEPOS := CURRLINEPOS + LENGTH END (* WITH *) END; (* PRINTSYMBOL *) PROCEDURE PPSYMBOL( (* IN *) CURRSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); CONST ONCE = 1; VAR NEWLINEPOS: INTEGER; BEGIN (* PPSYMBOL *) WITH CURRSYM^ DO BEGIN WRITECRS( (* USING *) CRSBEFORE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF (CURRLINEPOS+SPACESBEFORE> CURRMARGIN) OR (NAME IN [ OPENCOMMENT, CLOSECOMMENT ]) THEN NEWLINEPOS := CURRLINEPOS + SPACESBEFORE ELSE NEWLINEPOS := CURRMARGIN; IF NEWLINEPOS + LENGTH > MAXLINESIZE THEN BEGIN WRITECRS( ONCE, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ); IF CURRMARGIN + LENGTH <= MAXLINESIZE THEN NEWLINEPOS := CURRMARGIN ELSE IF LENGTH < MAXLINESIZE THEN NEWLINEPOS := MAXLINESIZE - LENGTH ELSE NEWLINEPOS := 0 END; MOVELINEPOS( (* TO *) NEWLINEPOS, (* FROM *) CURRLINEPOS (* IN OUTPUT *) ); PRINTSYMBOL( (* IN *) CURRSYM, (* UPDATING *) CURRLINEPOS (* WRITING TO OUTPUT *) ) END (* WITH *) END; (* PPSYMBOL *) PROCEDURE RSHIFTTOCLP( (* USING *) CURRSYM : KEYSYMBOL ); FORWARD; PROCEDURE GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) TERMINATORS : KEYSYMSET; (* UPDATING *) VAR CURRSYM, NEXTSYM : SYMBOLINFO (* WRITING TO OUTPUT *) ); BEGIN (* GOBBLE *) RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); WHILE NOT(NEXTSYM^.NAME IN (TERMINATORS+[ENDOFFILE])) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); PPSYMBOL( (* IN*) CURRSYM (* WRITING TO OUTPUT *) ) END; (* WHILE *) LSHIFT END; (* GOBBLE *) PROCEDURE RSHIFT( (* USING *) CURRSYM : KEYSMBOL ); BEGIN (* RSHIFT *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); (* IF EXTRA INDENTATION WAS USED, UPDATE MARGIN. *) (* <<< *) IF STARTPOS > CURRMARGIN (* <<< *) THEN (* <<< *) CURRMARGIN := STARTPOS; (* <<< *) IF CURRMARGIN < SLOFAIL1 THEN CURRMARGIN := CURRMARGIN + INDENT1 ELSE IF CURRMARGIN < SLOFAIL2 THEN CURRMARGIN := CURRMARGIN + INDENT2 END; (* RSHIFT *) PROCEDURE RSHIFTTOCLP; BEGIN (* RSHIFTTOCLP *) IF NOT STACKFULL THEN PUSHSTACK( (* USING *) CURRSYM, CURRMARGIN); CURRMARGIN := CURRLINEPOS END; (* RSHIFTTOCLP *) BEGIN (* PRETTYPRINT *) INITIALIZE( TOP CURRLINEPcOS, CURRMARGIN, KEYWORD DBLCHARS, DBLCHAR, SGLCHAR, RECORDSEEN, CURRCHAR, NEXTCHR, CURRSYM, NEXTSYM, PPOPTION ); CRPENDING := FALSE; WHILE (NEXTSYM^.NAME<> ENDOFFILE) DO BEGIN GETSYMBOL( (* FROM INPUT *) (* UPDATING *) NEXTSYM, (* RETURNING *) CURRSYM ); WITH PPOPTION [CURRSYM^.NAME] DO BEGIN IF (CRPENDING AND NOT(CRSUPPRESS IN OPTIONSSELECTED)) OR (CRBEFORE IN OPTIONSSELECTED) THEN BEGIN INSERTCR( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF BLANKLINEBEFORE IN OPTIONSSELECTED THEN BEGIN INSERTBLANKLINE( (_(* USNG *) CURRSYM (* WRITING TO OUTPUT *) ); CRPENDING := FALSE END; IF DINDENTONKEYS IN OPTIONSSELECTED THEN LSHIFTON(DINDENTSYMBOLS); IF DINDENT IN OPTIONSSELECTED THEN LSHIFT; IF SPACEBEFORE IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) CURRSYM (* WRITING TO OUTPUT *) ); PPSYMBOL( (* IN *) CURRSYM (* WRITING TO OUTPUT *) ); IF SPACEAFTER IN OPTIONSSELECTED THEN INSERTSPACE( (* USING *) NEXTSYM (* WRITING TO OUTPUT *) ); IF INDENTBYTAB IN OPTIONSSELECTED THEN RSHIFT( (* USING *) CURRSYM^.NAME ); IF INDENTTOCLP IN OPTIONSSELECTED THEN RSHIFTTOCLP( (* USING *) CURRSYM^.NAME ); IF GOBBLESYMBOLS IN OPTIONSSELECTED THEN GOBBLE( (* SYMBOLS FROM INPUT *) (* UP TO *) GOBBLETERMINATORS, (* UPDATING *) CURRSYM, NEXTSYM (* WRITING TO OUTPUT *) IF CRAFTER IN OPTIONSSELECTED THEN CRPENDING := TRUE END (* WITH *) END; (* WHILE *) IF CRPENDING THEN WRITELN(OUTPUT) END. CDC6000PABÁ l½½ (******************************************************************************* PASCAL PROGRAM FORMATTER ------------------------ AUTHOR: MICHAEL N. CONDICT, L975 LEHIGH UNIVERSITY CURRENT ADDRESS: PAR CORP 228 LIBERTY PLAZA ROME, NY 13440 UPDATED: AUGUST, 1978 ***************************************************************************** ) PROGRAM FORMAT(INPUT,OUTPUT); LABEL 13; CONST ALFALENG = 10; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( MINIMUM AND MAXIMUM CHAR VALUES. ) MINCHAR = 0 MAXCHAR = 127; LASTPASCSYMBOL = 29; ( THE FOLLOWING CONSTANTS MUST ALL BE CHANGED TOGETHER, SO THAT THEIR VALUES AGREE WITH THEIR NAMES: ) BUFFERSIZE = 160; BUFFSZP1 = 161; BUFFSZM1 = 159; BUFFSZDIV10 = 16; ( ) MAXREADRIGHTCOL = 999; MAXWRITERIGHTCOL = 72; TYPE ALFA = PACKED ARRAY [1 .. ALFALENG] OF CHAR; ( !!!!!!!! IMPLEMENTATION DEPENDENCY: !!!!!!!! ) ( SET SIZE MAY NOT ALLOW SET OF CHAR. ) CHARSET = SET OF CHAR; STATMNTTYPES = (FORWITHWHILESTATEMENT, REPEATSTATEMENT, IFSTATEMENT, CASESTATEMENT, COMPOUNDSTATEMENT, OTHERSTATEMENT); SYMBOLS = (PROGSYMBOL, COMMENT, BEGINSYMBOL, ENDSYMBOL, SEMICOLON, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, COLONSYMBOL, EQUALSYMBOL, PERIODSYMBOL, RANGE, CASESYMBOL, OTHERSYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LEFTBRACKET, RIGHTBRACKET, COMMASYMBOL, LABELSYMBOL, LEFTPARENTH, RIGHTPARENTH, ALPHAOPERATOR); WIDTH = 0 ..BUFFERSIZE; MARGINS = - 100 ..BUFFERSIZE; SYMBOLSET = SET OF SYMBOLS; OPTIONSIZE = - 99 .. 99; COMMENTTEXT = ARRAY [1 .. BUFFSZDIV10] OF ALFA; SYMBOLSTRING = ARRAY [WIDTH] OF CHAR; VAR CHISEOL, NEXTCHISEOL: BOOLEAN; I: INTEGER (USED AS FOR LOOP INDEX); CHARACTER: CHAR; READCOLUMN, READRIGHTCOL: 0 .. 1000; OUTPUTCOL, WRITECOLUMN, LEFTMARGIN, ACTUALLEFTMARGIN, READLEFTCOL, WRITELEFTCOL, WRITERIGHTCOL: MARGINS; DISPLAYISON, PROCNAMESWANTED, ENDCOMMENTSWANTED, PACKERISOFF, SAVEDBUNCH, BUNCHWANTED, NOFORMATTING: BOOLEAN; LINENUMBER, INCREMENT: INTEGER; INDENTINDEX, LONGLINEINDENT, SYMBOLGAP, DECLARALIGNMENT, STATMTSEPARATION, PROCSEPARATION: OPTIONSIZE; LASTSYMBOL, SYMBOLNAME: SYMBOLS; ALPHASYMBOLS, ENDLABEL, ENDCONST, ENDTYPE, ENDVAR: SYMBOLSET; SYMBOL: SYMBOLSTRING; LENGTH: WIDTH; SYMBOLISNUMBER, LASTPROGPARTWASBODY: BOOLEAN; DIGITS, LETTERSANDDIGITS: CHARSET; OLDEST: WIDTH; CHARCOUNT: INTEGER (* COUNT OF TOTAL CHARS READ, BUT IS OFF BY BUFFERSIZE AFTER END OF FIRST BODY. IT IS IMPERATIVE THAT CHARCOUNT BE MONOTONICALLY INCREASING DURING PROCESSING OF A BODY, AND THAT IT NEVER RETURN TO A VALUE <- BUFFERSIZE, AFTER PASSING THAT POINT. THUS "DOBLOCK" MAY RESET IT AS LOW AS POSSIBLE, LIMITING THE LENGTH OF A PROCEDURE TO "MAXINT - BUFFERSIZE" CHARACTERS. }; MAIN: COMMENTTEXT; MAINNMLENGTH: WIDTH; BLANKS, ZEROES: ALFA; UNDERWRITTEN: ARRAY (WIDTH) OF RECORD CH: CHAR; CHISENDLINE: BOOLEAN INDENTAFTEREOL: MARGINS END; PASCALSYMBOL: ARRAY [1 ..LASTPASCSYMBOL] OF ALFA; PASCSYMBOLNAME: ARRAY [1 ..LASTPASCSYMBOL] OF SYMBOLS; NAMEOF: ARRAY [CHAR] OF SYMBOLS; STATEMENTTYPEOF: ARRAY [SYMBOLS] OF STATMNTTYPES; PROCEDURE CONSTANTSINITIALIZATION; BEGIN MAIN[1] := 'MAIN '; MAINNMLENGTH := 4; BLANKS := ' '; ZEROES := '0000000000'; FOR I := 0 TO BUFFSZM1 DO WITH UNWRITTEN[I] DO BEGIN CH := 'A'; CHISENDLINE := FALSE; INDENTAFTEREOL := 0 END; FOR CHARACTER := CHR(MINCHAR) TO CHR(MAXCHAR) DO NAMEOF[CHARACTER] := OTHERSYMBOL; CHARACTER := ' '; NAMEOF['('] := LEFTPARENTH; NAMEOF[')'] := RIGHTPARENTH; NAMEOF['='] := EQUALSYMBOL; NAMEOF[','] := COMMASYMBOL; NAMEOF['.'] := PERIODSYMBOL; NAMEOF['['] := LEFTBRACKT; NAMEOF[']'] := RIGHTBRACKET; NAMEOF[':'] := COLONSYMBOL; NAMEOF['<'] := EQUALSYMBOL; NAMEOF['>'] := EQUALSYMBOL; NAMEOF[';'] := SEMICOLON; PASCALSYMBOL[1] := 'PROGRAM '; PASCALSYMBOL[2] := 'BEGIN '; PASCALSYMBOL[3] := 'END '; PASCALSYMBOL[4] := 'CONST '; PASCALSYMBOL[5] := 'TYPE '; PASCALSYMBOL[6] := 'VAR '; PASCALSYMBOL[7] := 'RECORD '; PASCALSYMBOL[8] := 'CASE '; PASCALSYMBOL[9] := 'IF '; PASCALSYMBOL[10] := 'THEN '; PASCALSYMBOL[11] := 'ELSE '; PASCALSYMBOL[12] := 'DO '; PASCALSYMBOL[13] := 'OF '; PASCALSYMBOL[14] := 'FOR '; PASCALSYMBOL[15] := 'WHILE '; PASCALSYMBOL[16] := 'WITH '; PASCALSYMBOL[17] := 'REPEAT '; PASCALSYMBOL[18] := 'UNTIL '; PASCALSYMBOL[19] := 'PROCEDURE '; PASCALSYMBOL[20] := 'FUNCTION '; PASCALSYMBOL[21] := 'LABEL '; PASCALSYMBOL[22] := 'IN '; PASCALSYMBOL[23] := 'MOD '; PASCALSYMBOL[24] := 'DIV '; PASCALSYMBOL[25] := 'AND '; PASCALSYMBOL[26] := 'OR '; PASCALSYMBOL[27] := 'NOT '; PASCALSYMBOL[28] := 'ARRAY '; PASCALSYMBOL[29] := 'NOSYMBOL '; PASCSYMBOLNAME[1] := PROGSYMBOL; PASCSYMBOLNAME[2] := BEGINSYMBOL; PASCSYMBOLNAME[3] := ENDSYMBOL; PASCSYMBOLNAME[4] := CONSTSYMBOL; PASCSYMBOLNAME[5] := TYPESYMBOL; PASCSYMBOLNAME[6] := VARSYMBOL; PASCSYMBOLNAME[7] := RECORDSYMBOL; PASCSYMBOLNAME[8] := CASESYMBOL; PASCSYMBOLNAME[9] := IFSYMBOL; PASCSYMBOLNAME[10] := THENSYMBOL; PASCSYMBOLNAME[11] := ELSESYMBOL; PASCSYMBOLNAME[12] := DOSYMBOL; PASCSYMBOLNAME[13] := OFSYMBOL; PASCSYMBOLNAME[14] := PASCSYMBOLNAME[15] := WHILESYMBOL; PASCSYMBOLNAME[16] := WITHSYMBOL; PASCSYMBOLNAME[17] := REPEATSYMBOL; PASCSYMBOLNAME[18] := UNTILSYMBOL; PASCSYMBOLNAME[19] := PROCSYMBOL; PASCSYMBOLNAME[20] := FUNCSYMBOL; PASCSYMBOLNAME[21] := LABELSYMBOL; PASCSYMBOLNAME[29] := IDENTIFIER; FOR I := 22 TO 28 DO PASCSYMBOLNAME[I] := ALPHAOPERATOR; FOR SYMBOLNAME := PROGSYMBOL TO ALPHAOPERATOR DO STATEMENTTYPEOF[SYMBOLNAME] := OTHERSTATEMENT; STATEMENTTYPEOF[BEGINSYMBOL] := COMPOUNDSTATEMENT; STATEMENTTYPEOF[CASESYMBOL] := CASESTATEMENT; STATEMENTTYPEOF[IFSYMBOL] := IFSTATEMENT; STATEMENTTYPEOF[FORSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WHILESYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[WITHSYMBOL] := FORWITHWHILESTATEMENT; STATEMENTTYPEOF[REPEATSYMBOL] := REPEATSTATEMENT; END (CONSTANTSINITIALIZATION); PROCEDURE WRITEA(CHARACTER: CHAR); VAR I: WIDTH; TESTNO: INTEGER; BEGIN CHARCOUNT := CHARCOUNT + 1; OLDEST := CHARCOUNT MOD BUFFERSIZE; WITH UNWRITTEN[OLDEST] DO BEGIN IF CHARCOUNT > BUFFSZP1 THEN BEGIN IF CHISENDLINE THEN BEGIN IF IDENTAFTEREOL < O THEN BEGIN WRITE(BLANKS: - INDENTAFTEREOL); OUTPUTCOL := OUTPUTCOL - IDENTAFTEREOL; END ELSE BEGIN IF INCREMENT < O THEN BEGIN I := WRITERIGHTCOL - OUTPUTCOL + 1; IF I > O THEN WRITE(BLANKS: I); TESTNO := LINENUMBER; I := O REPEAT TESTNO := TESTNO DIV 10; I := I + 1; UNTIL TESTNO - O; WRITE(ZEROES: (6 - I), LINENUMBER: I); LINENUMBER := LINENUMBER - INCREMENT; IF LINENUMBER > 9999 THEN LINENUMBER := LINENUMBER - 10000; WRITELN; END ELSE BEGIN WRITELN; IF INCREMENT > O THEN BEGIN WRITE(LINENUMBER: 4, ' '); LINENUMBER := LINENUMBER + INCREMENT; END END IF IDENTAFTEREOL > O THEN WRITE(BLANKS: IDENTAFTEREOL; OUTPUTCOL := IDENTAFTEREOL + 1; END; CHISENDLINE := FALSE; END (IF CHISENDLINE) ELSE BEGIN WRITE(CH); OUTPUTCOL := OUTPUTCOL +1; END (ELSE); END (IF CHARCOUNT > ); CH := CHARACTER; WRITECOLUMN := WRITECOLUMN +1; END (WITH); END (WRITEA); PROCEDURE FLUSHUNWRITTENBUFFER; BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IDENTAFTEREOL := O; END; WRITECOLUMN := O; FOR I := O TO BUFFSZM1 DO WRITEA(' '); END *(FLUSHUNWRITTENBUFFER)*; PROCEDURE STARTNEWLINEANDINDENT; BEGIN IF PACKERISOFF AND DISPLAYISON THEN BEGIN WRITEA(' '); LASTSYMBOL := PERIODSYMBOL; WITH UNWRITTEN [OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL + LEFTMARGIN - 1; END; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN; END {IF PACKERISOFF}; END {STARTNEWLINEANDINDENT}; PROCEDURE READACHARACTER; BEGIN IF READCOLUMN > READRIGHTCOL THEN BEGIN IF READRIGHTCOL < MAXREADRIGHTCOL THEN BEGIN NEXTCHISEOL := TRUE; READLN END ELSE READCOLUMN := 2; END ELSE IF READCOLUMN = 1 THEN WHILE READCOLUMN < READLEFTCOL DO BEGIN IF EOLN(INPUT) THEN READCOLUMN := 1 ELSE BEGIN READCOLUMN := READCOLUMN + 1; GET(INPUT) END END; IF NEXTCHISEOL THEN BEGIN CHARACTER := ''; NEXTCHISEOL := FALSE; CHISEOL := TRUE; READCOLUMN := 1; IF NOFORMATTING THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; INDENTAFTEREOL := WRITELEFTCOL - 1; END WRITECOLUMN := WRITELEFTCOL; END END ELSE IF NOT EOF(INPUT) THEN BEGIN CHARACTER := INPUT ^; READCOLUMN := READCOLUMN +1; NEXTCHISEOL := EOLN(INPUT); GET(INPUT); CHISEOL := FALSE; IF NOFORMATTING THEN WRITEA(CHARACTER); END ELSE BEGIN FLUSHUNWRITTENBUFFER; GOTO 13 END END {READACHARACTER}; PROCEDURE WRITESYMBOL; VAR I: WIDTH; NUMBER BLANKSTOWRITE: OPTIONSIZE; BEGIN IF DISPLAYISON THEN BEGIN NUMBERBLANKSTOWRITE := SYMBOLGAP; IF (LASTSYMBOL IN [LEFTPARENTH,LEFTBRACKET,PERIODSYMBOL]) OR (SYMBOLNAME IN [SEMICOLON, RIGHTPARENTH,RIGHTBRACKET, COMMASYMBOL, PERIODSYMBOL, COLONSYMBOL]) OR (SYMBOLNAME IN [LEFTBRACKET, LEFTPARENTH]) AND (LASTSYMBOL = IDENTIFIER) THEN NUMBERBLANKSTOWRITE := O ELSE IF (SYMBOLNAME IN ALPHASYMBOLS) AND (LASTSYMBOL IN ALPHASYMBOLS) THEN IF WRITECOLUMN <= WRITERIGHTCOL THEN BEGIN WRITEA(' '); NUMBERBLANKSTOWRITE := SYMBOLGAP -1; END; IF WRITECOLUMN + LENGTH + NUMBERBLANKSTOWRITE -1> WRITERIGHTCOL THEN BEGIN WRITEA(' '); WITH UNWRITTEN[OLDEST] DO BEGIN CHISENDLINE := TRUE; IF PACKERISOFF THEN BEGIN IF WRITELEFTCOL + LEFTMARGIN + LONGLINEINDENT + LENGTH -1> WRITERIGHTCOL THEN LENGTH := 10; INDENTAFTEREOL := WRITELEFTCOL -1 + LEFTMARGIN + LONGLINEINDENT; WRITECOLUMN := WRITELEFTCOL + LEFTMARGIN + LONGLINE INDENT; END ELSE BEGIN IFLENGTH > WRITERIGHTCOL - WRITELEFTCOL + 1; THEN LENGTH := WRITERIGHT COL - WRITELEFTCOL + 1; INDENTAFTEREOL := WRITELEFTCOL - 1; WRITECOLUMN := WRITELEFTCOL; END; END {WITH}; END ELSE FOR I := 1 TO NUMBERBLANKSTOWRITE DO WRITEA(' '); FOR I := 1 TO LENGTH DO WRITEA(SYMBOL[I]); END {IF DISPLAYISON}; LASTSYMBOL := SYMBOLNAME; END {WRITESYMBOL}; PROCEDURE COPYACHARACTER; BEGIN IF DISPLAYISON THEN BEGIN IF WRITECOLUMN > WRITERIGHTCOL THEN BEGIN WHILE (CHARACTER = ' ') AND NOT CHISEOL DO READACHARACTER; IF NOT CHISEOL THEN STARTNEWLINEANDINDENT; END; IF CHISEOL THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END ELSE WRITEA(CHARACTER); END; READACHARACTER END {COPYACHARACTER}L1T; PROCEDURE DOFORMATTERDIRECTIVES; CONST INVALID = - 1; TYPE PARAMCOUNT = 1 .. 2; PARAMS = ARRAY [PARAMCOUNT] OF INTEGER; VAR SPECIFICATION: PARAMS; FORMATOPTION: CHAR; PREVDISPLAY, PREVNOFORMATTING: BOOLEAN; ENDDIRECTV: CHARSET; PROCEDURE READIN(N: PARAMCOUNT; VAR SPCIFICATION: PARAMS); VAR I: PARAMCOUNT; BEGIN FOR I := 1 TO N DO BEGIN WHILE NOT (CHARACTER IN (DIGITS + ENDDIRECTV)) DO COPYACHARACTER; SPECIFICATION[I] := O; IF NOT (CHARACTER IN ENDDIRECTV) THEN REPEAT SPECIFICATION [I] := 10 * SPECIFICATION[I] + ORD(CHARACTER) - ORD('O'); COPYACHARACTER; UNTIL NOT (CHARACTER IN DIGITS) ELSE SPECIFICATION[I] := INVALID; END {FOR}L1T; END {READIN}L1T; BEGIN {DOFORMATTERDIRECTIVES}L1T ENDDIRECTV := ['*', ']']; REPEAT IF CHARACTER IN ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'L', 'N', 'P', 'R', 'S', 'W'] THEN BEGIN FORMATOPTION := CHARACTER; CASE FORMATOPTION OF 'A', 'E', 'I', 'G', 'P', 'L', 'S': BEGIN READIN(1, SPECIFICATION); IF (SPECIFICATION[1] 1; ENDCOMMENTSWANTED := ODD(SPECIFICATION[1]); END 'G' : SYMBOLGAP := SPECIFICATION[1]; 'I' : INDENTINDEX := SPECIFICATION[1]; 'L' : LONGLINEINDE***ECIFICATION[1]; 'P' : PROCSEPARATION := SPECIFICATION[1]; 'S' : STATMTSEPARATION := SPCIFICATION[1] END {CASE}L1T; END {SINGLE PARAMETERS}L1T; 'W', 'R', 'N': BEGIN READIN(2, SPECIFICATION); IF SPECIFICATION[2] <> INVALID THEN CASE FORMATOPTION OF 'W': IF SPECIFICATION[1] > O) AND SPECIFICATION[2] < BUFFERSIZE -2) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8) THEN BEGIN WRITELEFTCOL := SPECIFICATION[1]; WRITERIGHTCOL := SPECIFICATION[2]; END 'R': IF (SPECIFICATION[1] > O) AND (SPECIFICATION[2] - SPECIFICATION[1] > 8 THEN BEGIN READLEFTCOL := SPECIFICATION[1]; READRIGHTCOL := SPECIFICATION[2]; END 'N': BEGIN LINENUMBER := SPECIFICATION[1]; INCREMENT := SPECIFICATION[2]; WHILE NOT (CHARACTER IN (['<'] + ENDDIRECTV)) AND (CHARACTER<> '>') DO COPYACHARACTER; IF CHARACTER = '>' THEN INCREMENT := - INCREMENT END END {CASE}; END {DOUBLE PARAMETERS}; 'B', 'C', 'D', 'F': BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN (['+', '-'] + ENDDIRECTV); IF CHARACTER IN ['+', '-'] THEN CASE FORMATOPTION OF 'B': IF DISPLAYISON THEN BUNCHWANTED := CHARACTER = '+'; 'C': PACKERISOFF := CHARACTER = '-'; 'D': BEGIN PREVDISPLAY := DISPLAYISON; DISPLAYISON := CHARACTER = '+'; IF PREVDISPLAY AND NOT DISPLAYISON THEN BEGIN WRITEA('*'); WRITEA(')'); SAVEDBUNCH := BUNCHWANTED; BUNCHWANTED := FALSE; END ELSE IF NOT PREVDISPLAY AND DISPLAYISON THEN BEGIN STARTNEWLINEANDINDENT; WRITEA('('); WRITEA'_('*'); BUNCHWANTED := SAVEDBUNCH; END {IF NOT PREV}; END {'D':}; 'F': BEGIN PREVNOFORMATTING := NOFORMATTING; NOFORMATTING := CHARACTER = '-'; DISPLAYISON := NOT NOFORMATTING IF PREVNOFORMATTING AND NOT NOFORMATTING THEN READACHARACTER; IF NOT PREVNOFORMATTING AND NOFORMATTING THEN WRITEA('-'); END; END {CASE}; END {BOOLEAN PARAMETERS} END {CASE}; END {THEN} ELSE IF NOT (CHARACTER IN ENDDIRECTV) THEN COPYACHARACTER; UNTIL CHARACTER IN ENDDIRECTV; IF (CHARACTER = ']') THEN COPYACHARACTER; END {DOFORMATTERDIRECTIVES}; PROCEDURE READSYMBOL; CONST READNEXTCH = TRUE; DONTREADNEXTCH = FALSE; VAR TESTSYMBOL: ALFA; CHARNUMBER: WIDTH; I: WIDTH; PROCEDURE SKIPCOMMENT; BEGIN REPEAT WHILE CHARACTER <> '*' DO READACHARACTER; READACHARACTER UNTIL CHARACTER = ')'; READACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL END {SKIPCOMMENT}; PROCEDURE DOCOMMENT; VAR I: OPTIONSIZE; PROCEDURE COMPILERDIRECTIVES; BEGIN REPEAT COPYACHARACTER; UNTIL CHARACTER IN ['[', '*'] END {COMPILERDIRECTIVES}; BEGIN {DOCOMMENT} BEGIN IF LASTSYMBOL IN [COMMENT, SEMICOLON] THEN BEGIN LEFTMARGIN := O; STARTNEWLINEANDINDENT; LEFTMARGIN := ACTUALLEFTMARGIN; END; WRITESYMBOL; IF CHARACTER = '$' THEN COMPILERDIRECTIVES; IF CHARACTER = '[' THEN DOFORMATTERDIRECTIVES; REPEAT WHILE CHARACTER <> '*' DO COPYACHARACTER; COPYACHARACTER; UNTIL CHARACTER = ')'; COPYACHARACTER; LASTSYMBOL := COMMENT; READSYMBOL; END; END {DOCOMMENT}; PROCEDURE CHECKFOR(SECONDCHAR: CHAR; TWOCHARSYMBOL: SYMBOLS; READALLOWED: BOOLEAN); BEGIN IF READALLOWED THEN BEGIN LENGTH := 1; SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; READACHARACTER; END; IF CHARACTER = SECONDCHAR THEN BEGIN SYMBOL[2] := CHARACTER; LENGTH := 2; SYMBOLNAME := TWOCHARSYMBOL; READACHARACTER; IF (NOT PACKERISOFF) AND (SYMBOLNAME = COMMENT) THEN LENGTH := O END END {CHECKFOR}; BEGIN {READSYMBOL} IF (CHARACTER IN ['A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K','L','M','N','O','P','Q','R','S','T','U','V','W', 'X','Y','Z','0' ..'9','','(', '.', ':'. '''', '<', '>']) THEN CASE CHARACTER OF '(': BEGIN CHECKFOR('*', COMMENT, READNEXTCH); IF (SYMBOLNAME = COMMENT) AND PACKERISOFF THEN DOCOMMENT ELSE IF SYMBOLNAME = COMMENT THEN SKIPCOMMENT; END; 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z': BEGIN CHARNUMBER := 1; SYMBOLISNUMBER := FALSE; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN LETTERSANDDIGITS); LENGTH := CHARNUMBER -1; FOR CHARNUMBER := CHARNUMBER TO ALFALENG DO SYMBOL[CHARNUMBER] := ''; PACK(SYMBOL, 1, TESTSYMBOL); I := 1; PASCALSYMBOL[LASTPASCSYMBOL- := TESTSYMBOL; WHILE PASCALSYMBOL[I] <> TESTSYMBOL DO I := I + 1; SYMBOLNAME := PASCSYMBOLNAME[I]; END {LETTER}; '0', '1', '2', '3', '4', '5','6', '7', '8', '9': BEGIN SYMBOLISNUMBER := TRUE; CHARNUMBER := 1; REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS + ['.']); IF CHARACTER IN 1'B', 'E'] THEN BEGIN SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1; IF CHARACTER IN DIGITS + ['+', '-'] THEN REPEAT SYMBOL[CHARNUMBER] := CHARACTER; READACHARACTER; CHARNUMBER := CHARNUMBER + 1 UNTIL NOT (CHARACTER IN DIGITS) END LENGTH := CHARNUMBER - 1; SYMBOLNAME := IDENTIFIER; END {NUMBER}; '': BEGIN REPEAT READACHARACTER UNTIL CHARACTER <> ''; READSYMBOL END; '>', ':': CHECKFOR('=', OTHERSYMBOL, READNEXTCH): '<': BEGIN CHECKFOR('=', OTHERSYMBOL, READNEXTCH); IF SYMBOLNAME <> OTHERSYMBOL THEN CHECKFOR('>', OTHERSYMBOL, DONTREADNEXTCH); END '.': IF LASTSYMBOL <> ENDSYMBOL THEN CHECKFOR('.', RANGE, READNEXTCH) ELSE SYMBOLNAME := PERIODSYMBOL; '''': BEGIN CHARNUMBER := 1; REPEAT REPEAT SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER +1; READACHARACTER; UNTIL CHARACTER = ''''; SYMBOL[CHARNUMBER] := CHARACTER; CHARNUMBER := CHARNUMBER + 1; READACHARACTER; UNTIL CHARACTER <>''''; LENGTH := CHARNUMBER -1; SYMBOLNAME := OTHERSYMBOL; IF LENGTH > WRITERIFHTCOL - WRITELEFTCOL +1 THEN BEGIN FLUSHUNWRITTENBUFFER; WRITELN; WRITELN('***STRING TOO LONG.'); GOTO 13 END; END {STRING} END {CASE} ELSE BEGIN SYMBOL[1] := CHARACTER; SYMBOLNAME := NAMEOF[CHARACTER]; LENGTH := 1; READACHARACTER END END {READSYMBOL}; PROCEDURE CHANGEMARGINTO(NEWLEFTMARGIN: MARGINS); VAR INDENTEDLEFTMARGIN: MARGINS; BEGIN ACTUALLEFTMARGIN := NEWLEFTMARGIN; LEFTMARGIN := NEWLEFTMARGIN; IF LEFTMARGIN < O THEN LEFTMARGIN := O ELSE BEGIN INDENTEDLEFTMARGIN := WRITERIGHTCOL - 9 - LONGLINEINDENT; IF LEFTMARGIN > INDENTEDLEFTMARGIN THEN LEFTMARGIN := IDENTEDLEFTMARGIN END END {CHANGEMARGINTO}; PROCEDURE DODECLARATIONUNTIL(ENDDECLARATION: SYMBOLSET); PROCEDURE DOPARANTHESES; VAR SAVEDLGLNID: OPTIONSIZE; BEGIN SAVEDLGLNID := LONGLINEINDENT; IF DECLARALIGNMENT >O THEN BEGIN LONGLINEINDENT := WRITECOLUMN + SYMBOLGAP +1 - LEFTMARGIN - WRITELEFTCOL; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; END ELSE BEGIN LONGLINEINDENT := 1; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = RIGHTPARENTH; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN = INDENTINDEX); END {ELSE}; LONGLINEINDENT := SAVELGLNID; END {DOPARENTHESES}; PROCEDURE DOFIELDLISTUNTIL(ENDFIELDLIST: SYMBOLSET); VAR LASTEOL: MARGINS; ALIGNCOLUMN: WIDTH; PROCEDURE DORECORD; VAR SAVEDLEFTMARGIN: WIDTH; BEGIN SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(WRITECOLUMN - 6 + INDENTINDEX - WRITELEFTCOL); STARTNEWLINEANDINDENT; DOFIELDLISTUNTIL([ENDSYMBOL]); CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END {DORECORD}; PROCEDURE DOVARIANTRECORDPART; VAR SAVEDLEFTMARGIN, OTHERSAVEDMARGIN: MARGINS; BEGIN OTHERSAVEDMARGIN := ACTUALLEFTMARGIN; IF DECLARALIGNMENT > O THEN BEGIN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [COLONSYMBOL, OFSYMBOL]; IF SYMBOLNAME = COLONSYMBOL THEN BEGIN WRITESYMBOL; READSYMBOL; WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := IDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITECOLUMN := ALIGNCOLUMN; CHANGEMARGINTO(ACTUALLEFTMARGIN + ALIGNCOLUMN - WRITECOLUMN); END END IF SYMBOLNAME <> OFSYMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = OFSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN+ IDENTINDEX); REPEAT WRITESYMBOL; READSYMBOL; IF SYMBOLNAME <> ENDSYMBOL THEN BEGIN STARTNEWLINEANDINDENT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [LEFTPARENTH, SEMICOLON, ENDSYMBOL]; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; READSYMBOL; SAVEDLEFTMARGIN := ACTUALLEFTMARGIN; CHANGEMARGINTO(WRITECOLUMN - WRITELEFTCOL); DOFIELDLISTUNTIL([RIGHTPARENTH]); WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(SAVEDLEFTMARGIN); END; END; UNTIL SYMBOLNAME <> SEMICOLON; CHANGEMARGINTO(OTHERSAVEDMARGIN); END {DOVARIANTRECORDPART}; BEGIN {DOFIELDLISTUNTIL}; LASTEOL := OLDEST; IF LASTSYMBOL = LEFTPARENTH THEN FOR I := 1 TO DECLARALIGNMENT - LENGTH DO WRITEA(''); ALIGNCOLUMN := LEFTMARGIN + WRITELEFTCOL + DECLARALIGNMENT + 1; WHILE NOT (SYMBOLNAME IN ENDFIELDLIST) DO BEGIN IF LASTSYMBOL IN [SEMICOLON, COMMENT] THEN IF SYMBOLNAME <> SEMICOLON THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST END; IF SYMBOLNAME IN [RECORDSYMBOL, CASESYMBOL, LEFTPARENTH, COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL] THEN CASE SYMBOLNAME OF RECORDSYMBOL- DORECORD; CASESYMBOL: DOVARIANTRECORDPART; LEFTPARENTH: DOPARENTHESES; COMMASYMBOL, COLONSYMBOL, EQUALSYMBOL: BEGIN WRITESYMBOL; IF DECLARALIGNMENT > O THEN IF NOT (ENDLABEL <= ENDFIELDLIST) THEN BEGIN WITH UNWRITTEN[LASTEOL] DO BEGIN IDENTAFTEREOL := INDENTAFTEREOL + ALIGNCOLUMN - WRITECOLUMN; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; WRITECOLUMN := ALIGNCOLUMN; END; IF SYMBOLNAME = COMMASYMBOL THEN BEGIN STARTNEWLINEANDINDENT; LASTEOL := OLDEST; END; AND {IF DECLARALIGNMENT}; READSYMBOL; END { , : - } END {CASE} ELSE BEGIN WRITESYMBOL; READSYMBOL END; END {WHILE}; END {DOFIELDLISTUNTIL}; BEGIN {DODECLARATIONUNTIL} STARTNEWLINEANDINDENT; WRITESYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; READSYMBOL; DOFIELDLISTUNTIL(ENDDECLARATION); STARTNEWLINEANDINDENT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END {DODECLARATIONUNTIL}; PROCEDURE DOBLOCK(BLOCKNAME: COMMENTEXT; BLOCKNMLENGTH: WIDTH); VAR I: WIDTH; IFTHENBUNCHNEEDED: BOOLEAN; ATPROCBEGINNIN: BOOLEAN; PROCEDURE DOPROCEDURES; VAR I: O .. 20; PROCNAME: COMMENTTEXT; PROCNMLENGTH: WIDTH; BEGIN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, I * ALFALENG +1, PROCNAME[I + 1]); PROCNMLENGTH := LENGTH; WRITESYMBOL; READSYMBOL; IF SYMBOLNAME = LEFTPARENTH THEN BEGIN WRITESYMBOL; REPREAT READSYMBOL; WRITESYMBOL UNTIL SYMBOLNAME = RIGHT PARENTH; READSYMBOL; END; IF SYMBOLNAME = COLONSMBOL THEN REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); STARTNEWLINEANDINDENT; LASTPROGPARTWASBODY := FALSE; DOBLOCK(PROCNAME, PROCNMLENGTH); LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; END {DOPROCEDURES}; PROCEDURE DOSTATEMENT(VAR ADDEDBLANKS: WIDTH; STATMTSYMBOL: COMMENTTEXT; STMTSYMLENGTH: WIDTH); VAR I:WIDTH; STATMTBEGINNING: INTEGER; STATMTPART: ARRAY [1..4] OF INTEGER; BLKSONCURRNTLINE, BLKSADDEDBYTHISSTMT: INTEGER; SUCCESSFUL: BOOLEAN; PROCEDURE BUNCH(BEGINNING, BREAKPT, ENDING: INTEGER; STATMTSEPARATION: OPTIONSIZE); BEGIN IF BUNCHWANTED OR IFTHENBUNCHNEEDED THEN BEGIN IF STMTSEPARATION <1 THEN STATMTSEPARATION := 1; BLKSONCURRNTLINE := BLKSONCURRNTLINE + STATMTSEPARATION - 1; SUCCESSFUL := (ENDING - BEGINNING + BLKSONCURRNTLINE + UNWRITTEN[BEGINNING MOD BUFFERSIZE]. IDENTAFTEREOL) < WRITERIGHTCOL) AND (CHARCOUNT - BEGINNING ENDLIST THEN BEGIN IF PROCNAMESWANTED THEN IF ATPROCBEGINNING THEN IF LASTPROGPARTWASBODY THEN IF LASTSYMBOL = BEGINSYMBOL THEN WRITECOMMENT; ATPROCBEGINNING := FALSE; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSAFTERPRT2 := ADDEDBLANKS; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; WHILE SYMBOLNAME <> ENDLIST DO BEGIN WRITESMBOL; READSYMBOL; IF SYMBOLNAME <> ENDLIST THEN BEGIN STATMTPART[3] := CHARCOUNT + 1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STATMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS + BLKSAFTERPRT2; BLKSADDEDBYTHISSTATMT := BLKSADDEDBYTHISSTATMT + ADDEDBLANKS; BUNCH(STATMTPART[2], STATMTPART[3], CHARCOUNT, STATMTSEPARATION); IF NOT SUCCESSFUL THEN BEGIN BLKSAFTERPRT2 := ADDEDB;AMLS\ STATMTPART[2] := STATMTPART[3]; END ELSE BLKSAFTERPRT2 := BLKSONCURRNTLINE; END; END {WHILE SYMBOLNAME <> ENDLIST}; END {IF SYMBOLNAME <> ENDLIST}; BLKSONCURRNTLINE := BLKSADDEDBYTHISSTATMT; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP9; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL, PERIODSYMBOL]; IF SUCCESSFUL THEN BEGIN IF ENDLIST = UNTILSYMBOL THEN STATMTPART[4] := STATMTSEPARATION ELSE STATMTPART[4] := SYMBOLGAP; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTPART[4]; END {IF SUCCESSFUL}; IF NOT (SUCCESSFUL AND BUNCHWANTED) THEN IF ENDLIST = ENDSYMBOL THEN IF LASTSYMBOL = ENDSYMBOL THEN IF ATPROCEND AND PROCNAMESWANTED THEN WRITECOMMENT ELSE IF ENDCOMMENTSWANTED THEN WRITECOMMENT; END {DOSTMTLIST}; BEGIN {DOSTATEMENT)  BLKSONCURRNTLINE := O; SUCCESSFUL := FALSE; BLKSADDEDBYTHISSTMT := O; CHANGEMARGINTO(ACTUALLEFTMARGIN + IDENTINDEX); STARTNEWLINEANDINDENT; STATMTBEGINNING := CHARCOUNT; IF SYMBOLISNUMBER THEN BEGIN WITH UNWRITTEN[OLDEST] DO BEGIN INDENTAFTEREOL := IDENTAFTEREOL - 1 LENGTH - SYMBOLGAP; IF IDENTAFTEREOL < O THEN IDENTAFTEREOL := O; END; WRITESYMBOL; READSYMBOL {WRITE LABEL}; WRITESYMBOL; READSYMBOL {WRITE COLON}; END FORWITHWHILESTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = DOSYMBOL; WRITESYMBOL; READSYMBOL; STATMTPART[1] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := BLKSONCURRNTLINE + ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, SYMBOLGAP); END; REPEATSTATEMENT: DOSTMTLIST (UNTILSYMBOL); IFSTATEMENT: BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = THENSYMBOL; STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[2] := CHARCOUNT +1; DOSTATMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[1], CHARCOUNT, STATMTSEPARATION) ELSE IFTHENBUNCHNEEDED := TRUE; IF SYMBOLNAME = ELSESYMBOL THEN BEGIN PACK(SYMBOL, 1, STATMTSYMBOL[1]); STMTSYMLENGTH := LENGTH; IFTHENBUNCHNEEDED := FALSE; STARTNEWLINEANDINDENT; STATMTPART[3] := CHARCOUNT; WRITESYMBOL; READSYMBOL; STATMTPART[4] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STMTPART[3], STATMTPART[4], CHARCOUNT, SYMBOLGAP); BLKSONCURRNTLINE := BLKSADDEDBYTHISSTMT; IF SUCCESSFUL THEN BUNCH(STATMTBEGINNING, STATMTPART[3], CHARCOUNT, STATMTSEPARATION); END ELSE IF (CHARCOUNT - STATMTBEGINNING) < BUFFERSIZE THEN BEGIN BUNCHWANTED := NOT BUNCHWANTED; BLKSONCURRNTLINE := O; BUNCH(STATMTBEGINNING, STATMTPART[1], STATMTPART[2], SYMBOLGAP); BUNCHWANTED := NOT BUNCHWANTED; END; IFTHENBUNCHNEEDED := FALSE; END {IFSTATEMENT}; CASESTATEMENT; BEGIN REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = OFSYMBOL; WRITESYMBOL; READSYMBOL; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); WHILE SYMBOLNAME <> ENDSYMBOL DO BEGIN STARTNEWLINEANDINDENT; STATMTPART[1] := CHARCOUNT; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), STATMTSYMBOL[I + 1]); STMTSYMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL UNTIL SYMBOLNAME = COLONSYMBOL; WRITESYMBOL; READSYMBOL; IF NOT (SYMBOLNAME IN [SEMICOLON, ENDSYMBOL]) THEN BEGIN STATMTPART[2] := CHARCOUNT +1; DOSTATEMENT(ADDEDBLANKS, STATMTSYMBOL, STMTSYMLENGTH); BLKSONCURRNTLINE := ADDEDBLANKS; BLKSADDEDBYTHISSTMT := BLKSADDEDBYTHISSTMT + ADDEDBLANKS; BUNCH(STATMTPART[1], STATMTPART[2], CHARCOUNT, SYMBOLGAP); END {IF NOT(SYMBOLNAME...)}; IF SYMBOLNAME - SEMICOLON THEN BEGIN WRITESYMBOL; READSYMBOL; END; END; CHANGEMARGINTO(ACTUALLEFTMARGIN - IDENTINDEX); STARTNEWLINEANDINDENT; WRITESYMBOL; READSYMBOL; IF ENDCOMMENTSWANTED AND (LASTSYMBOL = ENDSYMBOL) THEN BEGIN STATMTSYMBOL[1] := 'CASE '; STMTSYMLENGTH := 4; WRITECOMMENT; END; END {CASESTATEMENT}; OTHERSTATEMENT; BEGIN WHILE NOT (SYMBOLNAME IN [SEMICOLON, UNTILSYMBOL, ENDSYMBOL, ELSESYMBOL]) DO BEGIN WRITESYMBOL; READSYMBOL END; END {OTHER}; COMPOUNDSTATEMENT: DOSTMTLIST(ENDSYMBOL) END {CASE}; ADDEDBLANKS := BLKSADDEDBYTHISSTMT; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); END {DOSTATEMENT}; BEGIN {DOBLOCK} LASTPROGPARTWASBODY := LASTPROGPARTWASBODY AND (SYMBOLNAME = BEGINSYMBOL); IF SYMBOLNAME = LABELSYMBOL THEN DODECLARATIONUNTIL(ENDLABEL); IF SYMBOLNAME = CONSTSYMBOL THEN DODECLARATIONUNTIL(ENDCONST); IF SYMBOLNAME = TYPESYMBOL THEN DODECLARATIONUNTIL(ENDTYPE); IF~ SYMBOLNAME = VARSYMBOL THEN DODECLARATIONUNTIL(ENDVAR); WHILE SYMBOLNAME IN [FUNCSYMBOL, PROCSYMBOL] DO DOPROCEDURES; IF SYMBOLNAME = BEGINSYMBOL THEN BEGIN IF LASTPROGPARTWASBODY THEN FOR I := 2 TO PROCSEPARATION DO STARTNEWLINEANDINDENT; IFTHENBUNCHNEEDED := FALSE; ATPROCBEGINNING := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN - INDENTINDEX); DOSTATEMENT(I, BLOCKNAME, BLOCKNMLENGTH) { I IS DUMMY PARAM }; LASTPROGPARTWASBODY := TRUE; CHANGEMARGINTO(ACTUALLEFTMARGIN + INDENTINDEX); END ELSE BEGIN WRITESMBOL; READSYMBOL {WRITE FORWARD} END END {DOBLOCK}; PROCEDURE INITIALIZE; VAR I: WIDTH; BEGIN { CONSTANTS: } DIGITS := ['O' .. '9']; LETTERSANDDIGITS := ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + DIGITS; ALPHASYMBOLS := [PROGSYMBOL, BEGINSYMBOL, ENDSYMBOL, CONSTSYMBOL, TYPESYMBOL, RECORDSYMBOL, CASESYMBOL, IFSYMBOL, THENSYMBOL, ELSESYMBOL, DOSYMBOL, OFSYMBOL, FORSYMBOL, WITHSYMBOL, WHILESYMBOL, REPEATSYMBOL, UNTILSYMBOL, IDENTIFIER, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, LABELSYMBOL, ALPHAOPERATOR]; ENDLABEL := [CONSTSYMBOL, TYPESYMBOL, VARSYMBOL, PROCSYMBOL, FUNCSYMBOL, BEGINSYMBOL]; ENDCONST := ENDLABEL - [CONSTSYMBOL]; ENDTYPE := ENDCONST - [TYPESYMBOL]; ENDVAR := ENDTYPE - [VARSYMBOL]; { INITIALIZE COLUMN DATA:} WRITECOLUMN := O; LEFTMARGIN := O; ACTUALLEFTMARGIN := O; OUTPUTCOL := 1; READLEFTCOL := 1; READRIGHTCOL := MAXREADRIGHTCOL; WRITELEFTCOL := 1; WRITERIGHCOL := MAXWRITERIGHTCOL; OLDEST := 1; CHARCOUNT := 1; LINENUMBER := O; INCREMENT := O; { INITIALIZE BOOLEAN PARAMETERS: } PACKERISOFF := TRUE; BUNCHWANTED := FALSE; DISPLAYISON := TRUE; PROCNAMESWANTED := TRUE; ENDCOMMENTSWANTED := FALSE; NOFORMATTING := FALSE; { INITIALIZE NUMERIC PARAMETERS: } INDENTINDEX := 3; LONGLINEINDENT := 3; PROCSEPARATION := 2; SYMBOLGAP := 1; STATMTSEPARATION := 3; DECLARALIGNMENT := O; { INITIALIZE INPUT CONTEXT DATA: } READCOLUMN := 1; CHISEOL := FALSE; NEXTCHISEOL := FALSE; FOR I := O TO BUFFERSIZE DO SYMBOL[I] := ''; LASTSYMBOL := PERIODSMBOL; LASTPROGPARTWASBODY := FALSE; END {INITIALIZE}; BEGIN {MAINPROGRAM} CONSTANTSINITIALIZATION; INITIALIZE; IF EOF(INPUT) THEN WRITELN('*** NO PROGRAM FOUND TO FORMAT.') ELSE BEGIN READACHARACTER; READSYMBOL; IF SYMBOLNAME <> PROGSYMBOL THEN WRITELN('***"PROGRAM" EXPECTED.') ELSE BEGIN { ********************************************************************* F O R M A T T H E P R O G R A M - - - - - - - - - - - - - - - - ******************************************************************** } STARTNWLINEANDINDENT; WRITESYMBOL; READSYMBOL; FOR I := O TO (LENGTH - 1) DIV ALFALENG DO PACK(SYMBOL, (I * ALFALENG + 1), MAIN[I + 1]); MAINNMLENGTH := LENGTH; REPEAT WRITESYMBOL; READSYMBOL; UNTIL SYMBOLNAME = SEMICOLON; WRITESYMBOL; READSYMBOL; STARTNEWLINEANDINDENT; DOBLOCK(MAIN, MAINNMLENGTH); WRITEA('.'); FLUSHUNWRITTENBUFFER; END; END; 13: END {MAINPROGRAM}. 1978EMP07º ±f½ E 582 1046.89 E 583 1151.39 E 584 996.51 E 585 627.63 E 586 732.19 E 587 537.45 E 588 513.44 E 589 374.42 E 590 110.15 E 591 979.37 E 592 1426.28 E 594 531.30 E 596 500.91 W 599 5659.58 AS¯–ŽŽ0 .TITL AS .NREL .RDS CPU .WRS CPU .RDL CPU .WRL CPU .RDB CPU .WRB CPU .ERTN .OPEN CPU .CRAND .PCHAR .GCHAR .GCHN .DELETE .CLOSE CPU .GPOS CPU .SPOS CPU .END ¸XREFSVXREFSVRDLBU¡”޽6PROCEDURE READLINE( CHANNEL : INTEGER; VAR BUFFER : BIGSTR; VAR BYTESREAD : INTEGER; VAR ERR : BOOLEAN;VAR ERRNUM : INTEGER); CONST DOTRDL = 6975; {.RDL} VAR REQUEST : SCALLPTR; HEAP : ^INTEGER; STRINGPOINTER : STRPTR; BEGIN MARK(HEAP); NEW(REQUEST); NEW(STRINGPOINTER); WITH REQUEST^ DO BEGIN MODE := SIMPLE; CALLNUM := DOTRDL; R0.SPTR := STRINGPOINTER; R0.INT := R0.INT+1; R1.INT := BYTESREAD; R2.INT := CHANNEL; SYSCALL(REQUEST); {$R-} STRINGPOINTER^[0] := R1.CH; {$R^} IF ERROR THEN WRITELN(' ERROR IN READLINE = ',R2.INT); ERR := ERROR; ERRNUM := R2.INT; BUFFER := STRINGPOINTER^; BYTESREAD := R1.INT; END; RELEASE(HEAP); END; {READ LINE} TEST12g¢Žs*PROGRAM TEST(INPUT,OUTPUT); TYPE ALPHANUMERIC = STRING[99]; FIELD = RECORD KIND : (IAMSTRING,IAMINTEGER,IAMREAL,NIL); CASE INTEGER OF 1 : (IMREAL : REAL); 2 : (IMINT : INTEGER); 3 : (IMSTR : STRING[10]) END;{CASE} VAR I : INTEGER; STR : ALPHANUMERIC; NEXTFIELD: FIELD; {$I GETINTEGER.PI} {$I GETFIELD.PI} BEGIN REPEAT WRITELN('ENTER STRING'); WRITELN; READLN(STR); WRITELN(STR); GETFIELD(STR,3,NEXTFIELD); CASE NEXTFIELD.KIND OF IAMREAL : WRITELN('REAL',NEXTFIELD.IMREAL); IAMINTEGER : WRITELN('INTEGER',NEXTFIELD.IMINT); NIL : WRITELN('FIELD DOES NOT EXIST') END{CASE} UNTIL EOF(INPUT) END. TSSTcj�� 1 C 3048 22.56 11 2 C 3041 3.57 4 3 C 3049 44.55 10 4 C 3050 35 26 5 C 3053 256.07 4 6 C 3054 1743.66 7 7 C 3055 1200 21 8 C 3065 10 26 9 C 3057 60 26 10 C 3058 385 3 11 C 3059 172.14 8 12 C 3060 6.95 3 13 C 3061 646.33 8 14 C 3062 31 1 15 C 3063 30 26 16 CC 3064 17 C 3065 223.70 32 18 C 3066 250 27 19 C 3069 96 4 20 CC 3070 21 C 3072 129.64 4 22 C 3073 1340.63 25 23 C 3074 2500 21 24 C 3075 23 5 25 C 3076 100 24 26 C 3078 22.50 4 27 EM 810 17 15 28 EM 811 604.28 15 29 EM 812 643.69 15 30 D 140 34 31 D 8347.06 34 32 D 2086.75 33 C 3077 10.77 6 34 C 813 980.89 14 35 C 817 205.18 12 36 C 815 887.50 12 37 C 3081 35 4 38 C 3067 62 1 39 C 3083 34 6 40 C 3002 1350.12 25 41 C 3071 330 20 42 C 3085 50.99 5 43 C 3087 704.45 17 44 C 3080 1298.05 25 45 C 816 1581.88 12 46 C 3079 37.50 6 47 C 819 1581 12 48 C 3090 5324 9 49 D 1468.38 34 50 D 871.98 34 51 D 13056 34 52 D 12436.99 34 53 D 435.99 34 54 C 3068 10 18 55 C 3086 138.02 25 56 C 3088 1040 23 57 C 3090 5324 9 58 C 3091 250 8 59 C 3092 206.59 20 60 C 3093 15.40 22 61 C 3094 120.70 4 62 C 3095 20 26 63 C 3096 775 9 64 C 3097 32 10 65 C 3098 74.05 22 66 C 3099 4000 21 67 C 3101 1557.44 25 68 C 3104 40 33 69 C 3103 42.50 10 70 C 3105 504.39 25 71 C 3106 119.98 4 72 C 3107 793.50 9 73 C 3108 1537.50 27 74 C 3109 3394.50 6 75 C 3110 25 3 76 EM 818 140 27 77 EM 820 1581 12 78 EM 833 948.57 12 79 EM 834 912.14 12 80 EM 835 17 15 81 EM 836 181.73 14 82 EM 837 482.61 15 83 EM 838 2742.40 14 84 EM 840 622.50 27 85 EM 821 195.18 12 86 EM 822 1415.95 12 87 C 3113 79.95 5 88 C 3114 69.95 10 89 C 3115 200 20 90 C 3116 225 27 91 C 3117 4.65 10 92 C 3119 48 18 93 C 3120 1940.43 25 94 C 3121 269.78 17 95 C 3123 12.24 4 96 C 3124 93.27 15 97 C 3125 181.78 15 98 C 3126 243.77 14 99 C 3127 68.45 23 100 C 3129 128.35 5 101 C 3130 25.98 5 102 C 3132 15.90 5 103 C 3133 125.81 22 104 C 3134 20..47 22 105 C 3135 85.15 22 106 D 435.99 34 107 D 906.32 34 108 D 435.99 34 109 D 1628 34 110 D 3000 34 111 D 11481.06 34 112 C 3112 25 26 113 C 3118 1.30 11 114 C 3122 100 26 115 C 3128 7.86 22 116 C 3138 185.26 4 117 C 3139 19.37 10 118 C 3140 6.17 10 119 C 3141 6.46 10 120 C 3142 3.96 10 121 C 3143 3.62 10 122 C 3144 42.08 22 123 C 3145 46.50 3 124 C 3146 36.70 11 125 C 3147 27.73 10 126 C 3148 25.98 5 127 C 3149 6 33 128 C 3150 95 33 129 C 3151 78.50 33 130 C 3152 1000 25 131 C 3153 227.40 25 132 C 3154 100 8 133 C 3155 160.43 4 134 C 3156 835.38 25 135 C 3157 781.68 25 136 C 3198 28.30 3 137 EM 823 1000 12 138 C 3158 21.92 5 139 C 3159 12 33 140 C 3165 638.45 27 141 C 3167 15 5 142 C 3160 155.47 17 143 C 3161 34 10 144 C 3163 594 17 145 C 3166 465 4 146 C 3168 83.85 3 147 C 3169 200 24 148 D 1834.55 34 149 D 435.99 34 150 D 802.29 34 151 EM 824 333.14 15 152 EM 825 378.68 15 153 EM 826 2590.51 14 154 EM 827 425.95 12 155 EM 828 82.50 26 156 EM 829 38.70 14 157 EM 841 1425.95 12 158 EM 830 1425.95 12 159 EM 831 205.18 12 160 EM 832 209.37 12 161 D 905 34 162 D 594 34 163 D 520 34 164 D 435.99 34 165 DM 18.88 166 C 3162 39.95 18 167 C 3164 130.46 14 168 C 3170 120.97 4 169 C 3171 18 33 170 C 3172 36.70 10 171 C 3173 947.50 25 172 C 3174 80 26 173 C 3175 204 5 174 C 3177 496.56 25 175 C 3178 136.20 25 176 C 3179 729 17 177 C 3180 170 23 178 C 3182 121.30 11 179 C 3183 2591 22 180 C 3184 27 17 181 C 3186 10.08 23 182 C 3200 1020 27 183 D 13331.89 34 184 D 11943.74 34 185 D 4546.81 34 186 D 129.24 34 187 D 3229.35 34 188 D 715 34 189 C 3176 50 22 190 C 3181 950 7 191 C 3185 125 23 192 C 3187 174.75 23 193 C 3188 290.64 4 194 C 3189 1372 27 195 C 3190 3.28 5 196 C 3191 18 5 197 C 3192 5.68 23 198 C 3203 100 27 199 C 3193 37.25 23 200 C 3194 147.08 23 201 C 3195 7 23 202 C 3196 50 21 203 C 3199 26 33 204 C 3201 2764.81 27 205 C 3202 948.17 25 206 C 3204 55.20 5 207 C 3205 14.25 7 208 C 3206 10 6 209 C 3207 7.58 5 210 C 3208 60.59 2 211 C 3209 250.65 25 212 EM 842 209.37 12 213 EM 844 1527.87 12 214 EM 845 290.37 12 215 EM 846 3584 14 216 D 531.21 34 217 EM 843 1527.87 12 218 EM 847 1527.87 12 219 EM 848 209.37 12 220 EM 849 1000 12 221 EM 850 9000 12 222 C 3210 720 27 223 C 3211 69.37 2 224 C 3212 1.81 11 225 C 3213 176.55 25 226 C 3214 10.46 25 227 C 3215 18.28 5 228 3216 64.28 5 229 C 3217 547.32 17 230 C 3218 136.48 17 231 C 3219 48.60 10 232 C 3220 170 23 233 C 3221 10 8 234 C 3224 227.40 17 235 C 3225 36 5 236 C 3222 450 27 237 C 3223 10.64 5 238 C 3226 93.71 4 239 C 3227 74.13 2 240 C 3230 31 26 241 EM 851 4000 36 242 C 3229 2774.75 23 243 C 3228 102.08 4 244 C 3231 35 18 245 D 4888.40 34 246 D 3435.99 34 247 EM 852 1527.87 12 248 C 3232 125 23 249 C 3233 3654.15 23 250 C 3235 37 33 251 C 3236 42.50 33 252 C 3237 2282.26 6 253 C 3238 138.17 33 254 C 3239 95.64 2 255 C 3240 3.70 5 256 C 3241 4.33 5 257 C 3242 535.39 18 258 EM 854 48.65 12 259 EM 853 540 15 260 D 3148 34 261 D 296.31 34 262 D 1403.43 34 263 D 174 34 264 D 2600 30 265 C 323 298.80 25 266 C 3243 28.20 3 267 C 3244 341.40 10 268 C 3245 500 25 269 C 3246 328.44 10 270 C 3247 784.13 25 271 C 3248 125.30 11 272 C 3249 5.76 23 273 C 3250 50 24 274 C 3252 1760 27 275 C 3251 100 2 276 C 3253 43 1 277 C 3254 290.77 4 278 C 3255 100 2 279 C 3258 42.50 33 280 C 3259 4.60 23 281 C 32600 820.84 25 282 C 3261 732.30 8 283 C 3263 50 22 284 C 3264 296.31 23 285 C 3265 168.01 25 286 D 435.99 34 0 16 20 1 14 38 276 2 210 223 239 254 275 278 3 10 12 75 123 136 146 266 4 2 5 19 21 26 37 61 71 95 116 133 145 168 193 238 243 277 5 24 42 87 100 101 102 126 138 141 173 195 196 206 209 227 235 237 255 256 6 33 39 46 74 208 252 7 6 190 207 8 11 13 58 132 233 282 9 48 57 63 72 10 3 64 69 88 91 117 118 119 120 121 125 143 170 231 267 269 11 1 113 124 178 224 271 12 35 36 45 47 77 78 79 85 86 137 154 157 158 159 160 212 213 214 217 218 219 220 221 247 258 14 34 81 83 98 153 156 167 215 15 27 28 29 80 82 96 97 151 152 259 17 43 94 142 144 176 180 229 230 234 18 54 92 166 244 257 20 41 59 89 21 7 23 66 202 22 60 65 103 104 105 115 122 179 189 283 23 56 99 177 181 191 192 197 199 200 201 232 242 248 249 272 280 284 24 25 147 273 25 22 40 44 55 67 70 93 130 131 134 135 171 174 175 205 211 225 226 265 268 270 281 285 26 4 8 9 15 62 112 114 155 172 240 27 18 73 76 84 90 140 182 194 198 204 222 236 274 32 17 33 68 127 128 129 139 169 203 250 251 253 279 36 241 1 14 38 276 SEARCH KEY 1 14 C 3062 31 1 38 C 3067 62 1 276 C 3253 43 1 AMOUNT = 1.360E+02 2 210 223 239 254 275 278 SEARCH KEY 2 210 C 3208 60.59 2 223 C 3211 69.37 2 239 C 3227 74.13 2 254 C 3239 95.64 2 275 C 3251 100 2 278 C 3255 100 2 AMOUNT = 4.997E+02 3 10 12 75 123 136 146 266 SEARCH KEY 3 10 C 3058 385 3 12 C 3060 6.95 3 75 C 3110 25 3 123 C 3145 46.50 3 136 C 3198 28.30 3 146 C 3168 83.85 3 266 C 3243 28.20 3 AMOUNT = 6.038E+02 ô 4 2 5 19 21 26 37 61 71 95 116 133 145 168 193 238 243 277 SEARCH KEY 4 2 C 3041 3.57 4 5 C 3053 256.07 4 19 C 3069 96 4 21 C 3072 129.64 4 26 C 3078 22.50 4 37 C 3081 35 4 61 C 3094 120.70 4 71 C 3106 119.98 4 95 C 3123 12.24 4 116 C 3138 185.26 4 133 C 3155 160.43 4 145 C 3166 465 4 168 C 3170 120.97 4 193 C 3188 290.64 4 238 C 3226 93.71 4 243 C 3228 102.08 4 277 C 3254 290.77 4 AMOUNT = 2.504E+03 5 24 42 87 100 101 102 126 138 141 173 195 196 206 209 227 235 237 255 256 SEARCH KEY 5 24 C 3075 23 5 42 C 3085 50.99 5 87 C 3113 79.95 5 100 C 3129 128.35 5 101 C 3130 25.98 5 102 C 3132 15.90 5 126 C 3148 25.98 5 138 C 3158 21.92 5 141 C 3167 15 5 173 C 3175 204 5 195 C 3190 3.28 5 196 C 3191 18 5 206 C 3204 55.20 5 209 C 3207 7.58 5 227 C 3215 18.28 5 1980DP[ ÒŽŽ 8,347.06 140.00 1,468.38 871.98 13,056.00 5,324.00 12,436.99 435.99 435.99 906.32 3,000.00 435.99 1,628.00 11,481.06 1,834.55 435.99 802.29 905.00 594.00 435.99 520.00 13,331.89 1,527.87 129.24 4,546.80 11,943.74 715.00 3,229.35 531.21 3,435.99 4,888.40 1,403.43 296.31 174.00 2,600.00 3,148.00 117,396.31 1980CHECKSì °ŽŽ C 3040 704.45 C 3066 250 27 C 3069 96 4 C 3075 23 5 C 3076 100 24 C 3077 10.77 6 C 3078 22.50 4 EM 810 17 15 EM 811 604.28 15 EM 812 643.69 15 D 140 34 D 8347.06 34 D 2086.75 C 813 980.89 14 C 817 205.18 12 C 3081 35 4 C 3067 62 1 C 3083 34 6 C 3071 330 20 C 3085 50.99 5 C 816 1581.88 12 C 819 1581 12 D 1468.38 34 D 871.98 34 D 13056 34 D 12436.99 34 D 435.99 34 C 3068 10 18 C 3086 138.02 25 C 3088 1040 23 C 3090 5324 9 C 3091 250 8 C 3092 206.59 20 C 3093 15.40 22 C 3094 120.70 4 C 3095 20 26 C 3096 775 9 C 3097 32.88 10 C 3098 74.05 22 C 3099 4000 32 C 3101 1557.44 25 C 3104 40 33 C 3103 42.50 10 C 3105 504.39 25 C 3106 119.98 4 C 3107 793.50 9 C 3108 1537.50 27 C 3109 3394.50 6 C 3110 25 3 EM 818 140 27 EM 820 1581 12 EM 833 948.57 12 EM 834 912.14 12 EM 835 17 15 EM 836 181.73 14 EM 837 482.61 15 EM 838 2742.40 14 EM 840 622.50 27 EM 821 195.18 12 EM 822 1415.95 12 C 3113 79.95 5 C 3114 69.95 10 C 3115 200 20 C 3116 225 27 C 3117 4.65 10 C 3119 48 18 C 3120 1940.43 25 C 3121 269.78 17 C 3123 12.24 4 C 3124 93.27 15 C 3125 181.78 15 C 3126 243.77 14 C 3127 68.45 23 C 3129 128.35 5 C 3130 25.98 5 C 3132 15.90 5 C 3133 125.81 22 C 3134 20.47 22 C 3135 85.15 22 D 435.99 34 D 906.32 34 D 435.99 34 D 1628 34 D 3000 34 D 11481.06 34 C 3112 25 26 C 3118 1.30 11 C 3122 100 26 C 3128 7.86 22 C 3138 185.26 4 C 3139 19.37 10 C 3140 6.17 10 C 3141 6.46 10 C 3142 3.96 10 C 3143 3.62 10 C 3144 42.08 22 C 3145 46.50 3 C 3146 36.70 11 C 3147 27.73 10 C 3148 25.95 5 C 3149 6 33 C 3150 95 33 C 3151 78.50 33 C 3152 1000 25 C 3153 227.40 25 C 3154 100 8 C 3155 160.43 4 C 3156 835.38 25 C 3157 781.68 25 C 3198 28.30 3 EM 823 1000 12 C 3158 21.92 5 C 3159 12 33 C 3165 638.45 27 C 3167 15 5 C 3160 155.47 17 C 3161 34 10 C 3163 594 17 C 3166 465 4 C 3168 83.85 3 C 3169 200 24 D 1834.55 34 D 435.99 34 D 802.29 34 EM 824 333.14 15 EM 825 378.68 15 EM 826 2590.51 14 EM 827 425.95 12 EM 828 82.50 26 EM 829 138.70 14 EM 841 1425.95 12 EM 830 1425.95 12 EM 831 205.18 12 EM 832 209.37 12 D 905 34 D 594 34 D 520 34 D 435.99 34 DM 18.88 C 3162 39.95 18 C 3164 130.46 14 C 3170 120.97 4 C 3171 18 33 C 3172 36.70 10 C 3173 947.50 25 C 3174 80 26 C 3175 204 5 C 3177 496.56 25 C 3178 136.20 25 C 3179 729 17 C 3180 170 23 C 3182 121.30 11 C 3183 25.91 22 C 3184 127 17 C 3186 10.08 23 C 3200 1020 27 D 13331.89 34 D 11943.74 34 D 4546.81 34 D 129.24 34 D 3229.35 34 D 715 34 C 3176 50 22 C 3181 950 7 C 3185 125 23 C 3187 174.75 23 C 3188 290.64 4 C 3189 1372 27 C 3190 3.28 5 C 3191 18 5 C 3192 5.68 23 C 3203 100 27 C 3193 37.25 23 C 3194 147.08 23 C 3195 17 23 C 3196 50 21 C 3199 26 33 C 3201 2764.81 27 C 3202 948.17 25 C 3204 55.20 5 C 3205 14.25 7 C 3206 10 6 C 3207 7.58 5 C 3208 60.59 2 C 3209 250.65 25 EM 842 209.37 12 EM 844 1527.87 12 EM 845 290.37 12 EM 846 3584 14 D 531.21 34 EM 843 1527.87 12 EM 847 1527.87 12 EM 848 209.37 12 EM 849 1000 12 EM 850 9000 12 C 3210 720 27 C 3211 69.37 2 C 3212 1.81 11 C 3213 176.55 25 C 3214 10.46 25 C 3215 18.28 5 3216 64.28 5 C 3217 547.32 17 C 3218 136.48 17 C 3219 48.60 10 C 3220 170 23 C 3221 10 8 C 3224 227.40 17 C 3225 36 5 C 3222 450 27 C 3223 10.64 5 C 3226 93.71 4 C 3227 74.13 2 C 3230 31 26 EM 851 4000 36 C 3229 2774.75 23 C 3228 102.08 4 C 3231 35 18 D 4888.40 34 D 3435.99 34 EM 852 1527.87 12 C 3232 125 23 C 3233 3654.15 23 C 3235 37 33 C 3236 42.50 33 C 3237 2282.26 6 C 3238 138.17 33 C 3239 95.64 2 C 3240 3.70 5 C 3241 4.33 5 C 3242 35.39 18 EM 854 48.65 12 EM 853 540 15 D 3148 34 D 296.31 34 D 1403.43 34 D 174 34 D 2600 30 C 3243 28.20 3 C 3244 341.40 10 C 3245 500 25 C 3246 328.44 10 C 3247 784.13 25 C 3248 125.30 11 C 3249 5.76 23 C 3250 50 24 C 3252 1760 27 C 3251 100 2 C 3253 43 1 C 3254 290.77 4 C 3255 100 2 C 3258 42.50 33 C 3259 4.60 23 C 3260 820.84 25 C 3261 732.30 8 C 3263 50 22 C 3264 296.31 23 C 3265 168.01 25 D 435.99 34 C 3082 1350.12 25 C 3136 16.00 1 C 3216 64.28 5 C 3234 298.80 25 C 3262 88.41 14 C 3268 14.00 26 C 3276 146.75 11 C 3277 60 1 C 3278 19.01 11 C 3279 72.18 5 CC 3064 CC 3070 CC 814 CC 3087 CC 3137 CC 839 CC 3131 CC 3084 CC 3089 CC 3100 CC 3102 CC 3111 REALFIELDBU¸–ŽŽ FUNCTION REALFIELD(STR : BIGSTR; FIELDNUMBER : INTEGER) : REAL ; VAR I,J,LEN : INTEGER; BEGIN LEN := LENGTH(STR); I := 1; J := 1; WHILE ( (I FIELDNUMBER) ) DO BEGIN {LEADING BLANKS AND TABS} WHILE ( (IŽJº M Yõ S T@U](I¶P7#B#B#B#B#B#B  ,f(Jµ ,  ,07(:µ "‚š$R  Q(IµP7]n!• !• ,07ò:. Q0B…B03 BB CB 45 9‚ …@9(LÕ » , …€ W 1B 45  \\ (0B"A~$N P"([� *$R­Iv *)03­PJ 45!p)m ¹ ,!n ºªZ!f)fIdAd!d ¹ ,03!_B!ZB 45î  ,… V Q )03 45 @ù! Y$R Y! Yóø OPEN ERR- NOT DUMPED \ ((9ª ) W )!0 ºI20B"(\� !,)$0<  (S!" ¹ ,í(Jµ Â(Kø*ª * ª ù…B ) ªP!‚P  ,äggÁÂZ ,1–" Y  Φ´ÂÐÞMT OP ERR 1 MT OP ERR 2 MT OP ERR 3 MT OP ERR 4 MT STATUS ERR DISK TO TAPE DUMP DUMP TAPEREAD-LOCKED FILE- NOT DUMPED. -$R�g gƒ…MT0:0SYS.DRMAP.DRÚG-Âé-ÆÃ-ÌFDMTIOGPSUB\ x:Z(š¾+J 8�  5‚ �  0:(š¾;(œ¿­ ú(¡¦B: šž#(}§B8›"ž!8Cý y!ü8Sÿ ~ùª]! ô2÷Â82ÿB(~ y*…ªP‚@ªP‚@J*È̘l ÈÌ ll"l2pÉÍ™m NNWoNN§²§§NNWo �B…BB"B* ¦B –…) »¹"‚š ‡ …Ž †Ž Ÿ*� 8ü y�ø"B"B "*�  GŽ &Fðå\ x*8š¾+ œ� ƒ" *�"¥ …F"‚ ƒ:* ½+ª *íK…Bƒ*ªš Ž Ž ž*� ¹ †Ž ‰ …Ž �*� ° †Ž Š …Ž —©\ x"‚  …B" ºª[!Z� Jþ y*"� ƒ* JB ‘B" Ê ¹�J"*BJJ" ŽJƒ †æ ˆ …ã ˜ € ‡ …Ü †ÚÛ ‚Ž…Bƒ " ºªZ)"B¦B*"JB &*ªSS‚í­ J*Ž©¨JI\ x ’B"B" * JÊ ¹Œ y!ÿ�  û"…B‚ B ��  ƒ �� !í� Ž*Ä…B � ‰*ªP  ˆ  �‹…‹ ˜ € ‚Žª Ũ"B"B*ª  "*� �&F÷ƒ\ x*ªP •!:Ž" • :Z"C"C " 3ÿ2B J " S3ÿ2B J#C3ÿ ‘B)" JÊ ¹�" ºªZƒ!� ƒ!W� Jþ y ¢   Å\ x “ß\ x ”B" ­JÊ ¹ " º!     y1„MOUNT NEXT REEL, STRIKE KEY WHEN READY. TAPE WRITE PROTECTED, INSERT RING AND STRIKE ANY KEY. ý\ x ’B"B)¯J" Ê ¹ " º„\ x ïªZ„:#*�  æƒ!   €ò2,TAPE HAS WRONG REEL NO. \ x *"­  …A 0"2 *?Á y!• 3ÿò!• Œ3ÿ! ‚ æY ") •!  Þ  y3%\ x2 ¡(z¥ ÓúQ … { y\ x1 zú\ x2 ?Œ3ÿ å"­ Œ í y\ x"‚ ü y —*"BJ – yXXX NOT READY- MAKE IT READY! 9!X" º²S*"Ž"2 &? Â3J‚Z" ¹ ì’ÊÒZó)Â3Bó²€BOVEOVEOFEDSY 8CKS1ÞX3ÿ81þÝ0X#+3\ ëA!)"¦A0¥! ‚  §!)� ÷! §! ¦‚  §! ƒ ¦ § ¤ 8 ¥Cý ×. Q ’�"‚ ‚À)§1ÿQÿÒ�*‚  A ! �! ŽJ1ôÓ‚ÀA!îöÿ\ ¦AI! ÜA! Ù)�   ¦ô 8ü ž!  ›ú­� (¤� \ ‚Cü3ü"ÿC²# ´8‚  º8÷ «… ´8ü «\ ¨A!1!)!µ U £ ž! ‘‚ (¤�  –÷…Q ‘ «!.A U ï\ ¨5Qó55‡‡\ ¨(¯1 · ®#ý ¦8‚ «  ¬ý÷\ ¨7üQ ü’º"CÓûû «\ ¨#ý€ 1`)`Í S «!´)Ô¥1X)Xµ q@°‚U‚P@µÂ)O¥‚‚‚ ² ´ §µõÂ(±¦(³� 3áPµ8#ý1`–"0µ@µ µ ¦‚  §µú%…@µ ·@¶ µ ¦‚ (£� §µ¶÷ ¶‚  ´ §¶ý8#ý‚ž‚ !g §(³ÌüQ «\ ¨ ¤ §8! ®1Q «6´6´ÿÿ\ ¨ ­‚ «)úª  ­Iö   ¬  ¬#ý  ¬«(°�  ×Ò#ý‚ž™‚ —øV7777* *P *D *L \ ¨!a1a*9fyª›ƒ9dYa­  ¬!W  ¬![)S  ¬!X@¯!U8Cý)L�  ©„ê)� 3ÿ!4)� )J!% © Þ)Jú ¸@¯! ª  !• ø  ¬ «€I9$929@) � !) � Á! ¾8Š8’997ü8$LPTFCOM.CM$TTO$TTO1MT0:0MT1:0INVALID COMMAND STRING! \ ¨/üIü7üü!¥A+ÿ…ªP‚@ýKÿ)¦ §8!) Œ «¥AIî0\ ¨5#…A"#ü*ª  �!¥I*IÓÓò)¥’ Ç:! )" ©! ª! ª3ÿ  Ù SYS ERR RETN- OFFSET: NNNNNN IN XXXXXX:9î: û\ ½üû\ ½Y`¿’ /  J 8¼S+!ŽK`¿`¾ \ ½`¿8¼3*ª îK…B îíg?þ¡`¿Y ’ J9úK`"‚ ª ûY9;ø #• û#†P‚C÷‚�‚€‚€CK[ 911#MÚü\ `1aÍ `)a9yú  8¼#§ A‚JQýYo9Vò:ã#§ ûø FQc0¼Ý "X¼Ò  B%E)E§  b�B `�B "B &B 68¼%7)7§  # b#`#@"#@&#@3Ð  +:!Y�ç� 94S(¼ 50¼8 S úÀú”ýP*ª�I "*`¿\ :2`)²ÕPÿÿ””þ€\ ½*ÓÓ@SK+® Kò8 úÀú”ýP`¿\ 1çIû)§YqQø2Ð :¿œù9ï1ï*KZcYb9Óè;Ý ý¸*KYÿYW8¼CKS0S4 Ò@SÒ€Lû\ ½)^�Ä Ào5FÐ X:]BJ 8¼+ª@J)J­J J )ܧ #§B#B¬Q  1"Ê ±¿“J9ý-#K]!¾ü\ 0¼ ¶: þ.  0¼-JU…@¼A–-¨ ¿)‘ª ¿)Úà ”” ú@ê J Z) "§B-öJUô¿\ ½C ¿ÿ18¼S¿"1ŠÏYß1ã2Ð Û: í û9×1ì11  OBOOTSV  ^kI9€ - - -…     Xh„8hCþ(eH d0`Å@d�KPªPHa ``² hPV(a eŽ0_Ò�N0b8cÍíNŽdKf?ìG�d5 ^‚ Õ‘0_8hý(e…BÓ©¨X<ÿþh Œ ˆ Š × < w g f Ý ! W X # % ¼ ¾ M    + �ƒˆ”(2ÿÿ@@ ,FP\øc¥ÌŠ]r {ÑØæc 48À*!'s‚—¤³ÆÓåöÿ ZA90$Ù ./:, (ž -ÿÿžÿÿÿÿÿÿ  Y 8 CKS!žX #ó8 !ý�X #+3\ ¦(“\ ¦3òò"§ ò§ BOOT REV 6.20 COPYRIGHT(C)DGC,1972,1973,1974,1975,1977 ALL RIGHTS RESERVED FILENAME? SYS.SV1¾ì INSUFFICIENT MEMORY 1¾ OVERLAY FILE MUST BE CONTIGUOUS 1½4 FILE NOT FOUND: 1½N FILE NOT EXECUTABLE: 1½l LINK DEPTH EXCEEDED AT LINK 1½’ NOT A PARTITION: 1½¬ UNKNOWN DEVICE SPECIFIER - 1½Ð DEVICE NOT A TOP LOADER: 1½ò DEVICE OFF LINE: 1¿ HARDWARE FAILURE 1¾( INVALID DISK ID BLOCK x £€  - xf?ÿ\ ¦ x8 !C ÐC0›Ú€#(ÎÓ‚À§ y8 ÷ã ÐC Ú yï \ ¦²�(Î"‚ ‚À§Có§\ ¦²�(Î:‚ úÀ¿ÂžžÀZ§\ ¦šÁ§²+JûÓƒû§\ ¦(×� (Ó� (Ô¥(Õ�(Ö¥ò§\ ¦ò0ØS/� §ªûò§\ ¦…CC0›SÒ�(ÌKBÓýÕPÍ`K+óó ¨ Ë +ª ø+ ©óñ Ò ÉCô(Ü� (Û� (Ú¥  œC…C ÐCÞ(Ù� ‚ #‚ Ö…Cô#‚ ò§\ ¦0¥S8 gˆÿaˆ(Χ¥  ‘ y8 + ©0ÞÅ ï…« © Ò« © y§ “î Ñ yá3 ¥• ú+ ¨Š!1 • wÒ! y¢ yÍ_'ÿÿ \ ¦/ò ¨­bI«g‰þIð7òòÓ x§\ ¦ n§\ ¦!:C ±§")4§ / ÄÂ)10Í ª²*ª !(Æ(š0Ì ª « °DR ± Â"ÿ)ÿ§À* …(Ë@H„Dj1" ‚ ! –Â(š0Ì ªÍSõò§  `\ ¦0š l§8 Sõò§\ ¦Ê hòò§P 9bX !a@„@£…@Ÿ@^@@  Ë@@¡0 e•" ,}� P (€@€¥(f8gòIÿ*ŽKÓûùú8 $t@�$u@‚,vªH¤…Dv„Dj ¢€ …P‚ a?@¢ª € . · ¸Ð ® ¥@¤ ¤ ¯%@¤0ÜÍ  « °DR ¶ ²  ¬ Åï0ÛÍ (¤ ¨(Ô¥ ^ ™‚  °SV â… Þ!ÿ ¯ É ¶ ² Â")ö� Ã"ÿ)ÿ§À* @�Hž ¢€ ­ š0Ì(’ ª °OL…­ ± ")Ý� Á"ÿ)ÿ§À* 0 B J ŸB  B ¡B �@ ž@„Dj0 !Ç�€ ³ýüƒ@d(^ª  … ³ à Ã"@_‚  dšÀ å À)8 # +‚ª Â"@b"@c…P ³ à Ã"( 8eù¾� À0ÏÆÀÇ@d �0ŽÍ ª)\ ¦'òò@™§\ ¦")� §ò"ÿ)ÿ§À* @ H¡@H0Ë�‚Í­PHŸÔTj‚ª§ š(‘0� ª§ BÿC PARTITION IN USE - TYPE C TO CONTINUE ONTINUE SYS.DR\ ¦ ´!Ü ¯ É  ± ÂS  µ3")Ò§ § w gˆÿaˆ y(Χ)È�  w 8§\ ¦  (¡08@HP X¡„Dj§\ ¦ š) 0Ì ª§\ ¦!(š0Ì ª§à\ ¦ ´ �A ‚A ! ¯ Æ « Æ µ§ ê\ ¦(”1"€ §¥ !n–ùS2S –‚ §(•32Ð §"€ ¥ Óú3!Y–SñS3"3*22UO1U ¼nŠ'1KÇÀ‚�‚€‚€ »‚�‚� »‚�‚À/0Ï·14Æ/3:2 CKP“Â0 )/¶;+ ¼é3"@�'@‚„Dj#Ds#Dr…P) º€…)DiLk4pÐ 1„Dp…) ¹Tpò§ x  ÿÁÿ2{DKŒ DP‘DZ–€ DS› ÿÿ ¢0ÿÿ¤­;ÿÿ¶»7ÿÿ¶»6ÿÿ0ÿÿ1ÿÿ00F11F22F33Fÿÿ44F55F66F77Fÿÿ0123ÿÿ4567ÿÿ\ ¦Š…1C »Æ1@ »Æ1= »Æ1: »@Æ17 »Æ14‚ ÆC#õC3òò2"‚ §)"§ *K+§ #–"ÓGû +§  ) § "+ô¦"GÓÓÝ€ @\ ¦Dq…PDm!Có!Cô§\ ¦!6C#ó 2‚› ûC w\+ . w ¦ "0 *ªÊ…(e©:æÓ«ü‚ Ê8 0 *Kõ »@#ô(ϧ Ç"‚ÊDm#óDq"Có"Cô§Å / \ ¦Õ‘Í!ùƒÍ[ü yÒ�Ò�Ò”ø§\ ¦!‚ §…­0 ¹§ü?üüxüü\ ¦ü­PüI¥üfü!øübÀü…üCü!öüCü1óüaüÇüüüüüüúür€ü Èübü üdü#óü)ãü¦üf@üg€üÿüaüb€üCóü…üA†ü§x€@`€@`„px<„Üÿÿ ÿüüüü€üü üüüüüüüüüü‚!ü‚üg@üÿüA÷üI÷üQóüYöü9³üYöü9âüú ü9áüYëü9YüYïøtü j€æ€j@€ä€jÀ9©¾Yã áz@€„g€„ÿ€y9á„`€x1ßx VxAáx1Ýx Rx1Ùx·xÍx®PxÎxA×xIIx!Ðx1œp¦ÆpvbpbÀnÀx)ÌxyxúŠx x¿xüªPpxj€x!Íx):p¦Æxbx!Äx‚À‚P`x)Ãxª`xª`xª`xª`x¦pÆ‚`xf@xg€xÿxyx­�xj€!Àp)´p¦pbÀpap‚Jpþp„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„ü!µü)µü1±øú‹úKü³ü³üÄüY­ü1�ü ü)ªü„0)DP( DISK ERROR, STATUS = /Õ‘Í!ýƒÍ[ü Ò�Ò�Ò”ø!è ‚À f?AÚnbIgIÿÿd…@Dÿ3ûYÚ€#9úÓ‚Àç ‡øY öPôÿð…Yý9ýªP‚@ŠŪ@ûû8 óÿÿ‡Yë9ûø è1õÞY÷;þõ QõóòÓÞ=ïå ú9ì;í ö9éô9å#+΃υ­P1Ü ß)ÚÕ�µR"Åü)Ò ÖQÒ)Ð"‚Šf?�‚ f?©P¶ý#BûÓ«û)Àµ˜1\ §f? ü"ÿ)ÿ§À* @H„A]…­ \f?f?!S@!R@T–…1Aö\ 8 S ):K­"ÓŽü10 ðÅC+!+¦C( <ù³"ÿ‚ õC) � 1"Ńë3!–"‚ üS# C !C"/ � ïÓ ù3Ý=H»Pÿÿ(AóIóQóYóŠ1F ¦Að!ö� &Ió¨Ië­IëIë (‚ª00Q4 ¸9àAß!ßIÞŠ!*–QØ!Ú‚"ÿ’÷PæÅ=в÷PîÍÊäÆ)Æ1!É‚ ª`¶‚ "ÿ*‚ª¸1µ ‘!²)²1²8 ±„A·ùÿÿ/ÿ…­ ±f?…PŠÀ ¬f?Ö­f?Ê0«JÒ ” € f?ª  !åžX «J#@# @ #@# @ #@BOOTSV BOOT.SV NOT FOUND DIRECTORY ERROR "AU8¥ú�"C"C…C ~@ ­Q­H£ª e¿!E@ ¸ ® ¥ ¯ûª ù « Æ(£ª  w gˆÿaˆ(Î� y wü!.� !,� ñ…(�Lt(‚LuDv!$D|!#D{z!Du �Dt$pA„Dp0…­ o0~­P o!Dp!(£ª ã Ñ yf?¸âYN8 BOOTSTRAP DEVICE SPECIFIER ? INSTALL BOOTSTRAP (Y OR N) ? SYS2LPDqÐff ÿ PATCH DIALOG FILE DATE LAST PATCHED: 11/22/80 12:13:53 SAVE FILE PATCH INSTALLED AT LOCATION 57500 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AŸT LOCATION 422 * SAVE FILE PATCH INSTALLED AT LOCATION 61 * OVERLAY FILE PATCH INSTALLED AT LOCATION 14436 * SAVE FILE PATCH INSTALLED AT LOCATION 53330 * SAVE FILE PATCH INSTALLED AT LOCATION 64 * SAVE FILE PATCH INSTALLED AT LOCATION 65 * SAVE FILE PATCH INSTALLED AT LOCATION 66 * SAVE FILE PATCH INSTALLED AT LOCATION 67 * SAVE FILE PATCH INSTALLED AT LOCATION 401 * OVERLAY FILE PATCH INSTALLED AT LOCATION 377 * SAVE FILE PATCH INSTALLED AT LOCATION 56727 * SAVE FILE PATCH INSTALLED AT LOCATION 61034 * SAVE FILE PATCH INSTALLED AT LOCATION 61037 15 APPLICABLE PATCH(ES) 14 PATCH(ES) NEEDED TO BE INSTALLED CLIS0‹ŽŽ SYS5.LBPLCNAK.T28.POSTFIX.PXSEQ.01CBOOK.1978EMP.08WRITESTRIN.PICONSOLE.MCALMSPD.RBINTERPOK.PXT38.PRETTY.PACBOOK.PATEST.011978EMP.09CROSSREF.PXP4XAP.T17.BITS.TEDIT.SVTEST.021978.011978EMP.R1TEST8.GETFIELD.PIT27.1978.02CONSOLE.CM1978.151978EMP.R2COM.CMSYS24K.BYTE.T37.T17RL.CROSSREF.BUTEST3.PX1978.03TOTAL.AS.RBCLOSE.PI1978EMP.R3DATA.BTINTERPOK.TEST7.T16.SEDIT.SVREALPRINT.PAT3.MCC.MC1978.041878.05TOTAL.PAPL.MC1978.05T26.CROSSREF.TEST.MCPL5.PX1980.D2BTREE.PXINPUT.T36.T.EDIT.SV1978.06DATA.1980.D3IO.T15.1978.07FDUMP.SVTEST6.FOBAR.OPEN.BUGETREAL.BUCBOOK.02PL.CM1980.D4284.R.PXG.1978.08TEST.CMTEST.PO1978.DONSB801215.OPEN.T35.TEST1.PXGETI.1978.091978.R01978.DP1978CHECKS.PL5.PINFO.PXALLINK.T14.R.BU1978.DQ1978.R1TEST5.MANUAL2.10BREAK.SVDEAR.1979CHECKS.ALLOC.T24.36.TKOM.01F.REALPRINT.02CBOOK.MCCONSOLE.PXASM.SVMANUAL2.11GETCOLUMN.BU$PLT.R.T34.REALPRINT.PIDELETE.PICRAND.PIPASCALO.PXT13.P4ERRORS.POSTFIX.PATEST4.READLINE.PIWRS.BUCONSOLE.BUREAD.MEMANUAL2.01INTERPOK.PAT23.GLOBA.GETINTEGER.PIRDS.BUCBOOK.CMCTLA.T33.NODES.CROSSREF.PAT11.PX1980DEPS.TOTAL.MCCONSOLE.GLOBAL.T12.TEST3.T.PAPL.PXPX.SVT22.D.PRETTYINST.TEST.PXTEST3.PAWRL.PICATEGORIES.GETFILEDRE.BU1979.D21978.D3$TTI.PASCAL.ERT1.T32.T10.PXP.BEDIT.SV1979.D3RDL.PIDATA.TOT2.T11.BTREE.BYTE.01TTT.PXTEST2.$TTI1.TEST.BUPL5.PA1979.D4FLOAD.SVSYS.LBBTREE.PAT3.T21.SEQ.BYTE.02PRETTYPRIN.PXTEST2.PAGCHAR.PIPL.T4.T31.TEST.CDC6000.PX$PTP.T5.OUTPUT.T41.1978.NODES.01CROSSREF.02TEST1.R.PA1978EMP.DATA.01TST.SYS.DRT6.T20.PRETTY.PXCBOOK.PXREALPRINT.PTTEST1.PA$PTR.$TTO.T30.T7.TEST.LS$TTP.RLDR.SVGETFIELDIN.BUT8.T39A.T40.CBOOK.BUGETREAL.011978EMP.10$TTO1.CONSOLE.PATEDIT.TSS.MAP.DRT9.BTREE.011978EMP.11$TTP1.GPOS.PI$TTR.RLDR.OLPASCFLS.T.MCREALPRINT.PXGETREAL.PITOTAL.PXWRITELINE.01OPEN.PI1979DEPS.DATA.TXSPOS.PIPASCAL.PXPASOPSYS.MC$TTR1.OPENFILES.PI1980.02T11.PA1978EMP.01TL.MCREALPRINT.BUGCHN.PICRAND.BUDELETE.BUPCHAR.PIPL.PAPA.SVTEST.PA1978EMP.03CONSOLE.01GETINTEGER.BUBTREE.MCDATA.R1T19.TKOM.FIXFL.T10.PA1978EMP.04TEST.22$LPT.T29.KOMPAR.T100.TTT.PAR.MC1978EMP.05WRS.PITEST.23TEST10.PASINTERP.SVADDRESS.T39.CDC6000.1980.DOPRETTYPRIN.PATOTAL.LS1978.101978EMP.061978EMP.MCRDS.PIWRL.BUTEST11.PASINTERP.ERI.PXT18.INTGET.PETTYPRIN.01CDC6000.PA1978EMP.07AS.XREF.SVRDL.BUTEST12.TSST.1980.DP1980CHECKS.REALFIELD.BUTEMP.€978EMP.01TL.MCREALPRINT.BUGCHN.PICRAND.BUDELETE.BUPCHAR.PIPL.PAPA.SVTEST.PA1978EMP.03CONSOLE.01GETINTEGER.BUBTREE.MCDATA.R1T19.TKOM.FIXFL.T10.PA1978EMP.04TEST.22$LPT.T29.KOMPAR.T100.TTT.PAR.MC1978EMP.05WRS.PITEST.23TEST10.PASINTERP.SVADDRESS.T39.CDC6000.1980.DOPRETTYPRIN.PATOTAL.LS1978.101978EMP.061978EMP.MCRDS.PIWRL.BUTEST11.PASINTERP.ERI.PXT18.INTGET.PETTYPRIN.01CDC6000.PA1978EMP.07AS.XREF.SVRDL.BUTEST12.TSST.1980.DP1980CHECKS.REALFIELD.CLISV ==.Ý Õ ø ÿ+ûÀÿÿûÿÿÿÿÿÿ*%Tÿÿÿ ¿Ò ÕPQ[!H "!C "!C "!@ "!= "…A@E‡!)ƒ ( Y "% ª�¦0 *¦‚  8!æP ") ÷1Ö1 Ó1Ñ ( gú‚&,öOÖ7OÞ+ OæCò8S*²!8* îPJ ( «¢)/ ( Ÿ‹"8 ;úƒZ ( «J "%"†`�!Ž" ( Ÿƒ­ ( Ÿ*îPJ*ªP¢ B"²� ? "! *:60lFCLI.TFCLI.CFCLI.S:CLI.ER:CLI.OLFCLI.CMR ^D^Z:^D^Z:^D^Z BREAK INT STACK OVERFLOW. LOG FILE ERROR. COPYRIGHT(C)DGC,1972,73,74,75,76,77,ALL RIGHTS RESERVED00 "‚ !YEY!YEY)îQ K)îQK­0K K K KKKK )îQ0KKK1="C # 19 (æ 1"Ó€ ¥ Óúš Î;¬/& ¬,»[à]è"·ÿÿÚ+ªk (Œ­ (¬)g# €C Ò (§#‚  ! (˜U3šÿ„ã}âßÎ[ (§ 3Ò ¹­ (¬KS³3Ò%&Õ0S> (§ø3Ò 4K (§ð3Ò ,!3 (˜(3Ò 3Ò KK (Œ­ (¬+ (¬K‚ #‚ ²­!• KSKK 1S (¬ 1 ( g *^Z@], Ò³Œ (§5#‚  (Œ­ (¬KS# 1$ (æ 1æ!äµ¥µ…­‚€ª€Óý3 — –S 3 · ¶S ‚ײ! •! Å# –S Íš‘ 0Úª@K#1) ( “ (¬ƒÓú# ‚  # ( “ (¬ƒª ú#1 ( “ (¬ƒÓú îS S +K+ª�ÿü"*��€ ( “ª û *û" ­P¤1½ (æªû3ú"þ¥ û *" ‚ û *"‚Šù ( Ÿ * (æ#¬K)'KÔ/ªÓ/¨  ( ßó„Â7€  +#ÒJ ) *1 ! ­  óû öà À®!ûÕPÕÕP!öÆS  ) ##+�  +¨ #)M ( ù)G ( ß#)C3 ( œÂ  3ú! Bû *  ( Y *³#).3 ( œÂ+¨¨5)9)ß  . %8;ú  0 29I÷ { *Õ #v * Õ  (Ø * (Øh Ú Þ.d\ ( dK "%‚ +!"1· 1Æ1· ‚€‚`C# ( KCC1Ó*Óª  ( ß ø17@$8Öæ5ÎÒ ( ( dC…�1ð· ƒŠ#­P ( KC· ( K)´3 ( œÂ Š0 2!1Ò ƒ . * *11 ( g *ÀN¨ ¨ªZ 9õ 9õ 1ª’Ó29õ 1 K83ú!Bû *¸lÐÄ  Ô!‚P­  ** :…Rj…ª 6…Ž Y *…• 0…�°Á¬b ê Ä ð Á pz h} |‘ ¶ºíÒ 5 ü‰„¤Š² ŸÚšø õ¦' N` Tc \f ˆ ‘Ž Ž –4 ¼ À6×– À þ À À ÀV Àd À\ À À À’ À @ À b ÀÈôÐÈ0 ÀP À ( Hä" ‚6 ž? ¤P ªe °Y Âk Èw Î�BnIuH{<q(µ´ Àº ÆÀ Í v Fs  À v À Àÿÿ„çSQUASHDELETERLDR.DISKBUILDFPRINTMKSAVECHAINDEBEXFGBATCHUNLINKSPEBLSPKILLSPDISLISTCREATECRANDMOVECCONTCDIRBOOTENDLOGREPLACEGDIRMDIRLDIRGSYSCPARTCLEARGMEMSMEMXFERFBREAK.SV.MCFCLI.CMCHATRCHLATFCOM.CMASMMACMASMOVLDRAPPENDRENAMEEQUIVFILCOMLOADDUMPTYPEPRINTBPUNCHMKABSALGOLFORTRANFORTEXECUTE ERROR ON CHAIN INITRELEASELFECLGSDAYSTODGTODREVPOPTUONTUOFFTPRINTMESSAGEFGND ­0K !j­  b# 1e (æ 1"Ó€ ¥ Óú�@ § •;• s%¼"Îÿÿ‘1I (Üß1E (Ü ({ (k"BÏ# 18 ( À"C Í12"‚ * (ø# 1* (áò# 1% (ní# (Ÿê)îQK¢+ 1 (7K 1 ( �ª © (Üú# ) 1 ("Ò ( gÈ �š2" (KB ( Ÿ *2 (K ( “;úKÿ *:­0KKKK *2ªÀ (ܪÀ (Ü *2 (æªÀKƒ (æ#¦3úBÿ *2 (÷* (÷"B *2"¬P¦ (J¬P¦B (3úJþ *C2# ( “" (K ( ŸBª *ó2CK# (K ( “# ( Ÿªõ# Cþ2S2)JÅ¥3*¦3úBþ *Æ3*ª!*ªSª�J" "! ²­ ! ?3"‚�*2ª�ªÀ  ?3#þ)§B­JŠÀª�"‚�2  ?#þ3Áþ) Í ú;ú;# ( YÈGû2SK)îQK#C3 ?1)&3µ  5Ò  \d# ( “1"Ó€ ¥ ÓúÄ^ç Õ Õ¤ùÿÿÑ3 (Üã)ñ3 (Ü *9)õ #¦)& ( Ÿ)åƒ ( Ÿ#Ä# ( “!Û1ÜÍ � µª³¢)Ñ3 (ÜŠÃ3 (Ü3úû * ( gÈO­QOK­�KC)îQ KK)îQOK # ( “1+Í E# ( Ÿª  +ª +19µí+ Œê#+ªK 3 ? Òœ *5Ò  \d *1€K^OÕSK1µÀKCÇ+�39 Ý * ?;úû *;úS *# ( “1S7Ð ¬Í ù3ú&ûû sI¡PMQVW3OD$HY0F*BXZUTCEÿÿ ,  –*# ( > ­# ( Ÿû!–*# ( :+C’µSÆP1 )�¶ŠÀ! �"²+ ( »¢C�€ÿ "–*3ú&ûû–2# ( ‹Ú–*3ú&ûû–2# ( �Ï–*# ( BÉ­Q­K û# ( “#‘¥&C +K �K # ( “# ( ŸÓ ö1+ ¶*3 # ( ŸÓû#+ ¥+¦°  0 –"+ ( ¥–S "­ ( �# 3Ń¥²’+; #Žû# ( “3#Å�±Ú#)Ö ( ŸƒÓü ¼FATAL OUTPUT ERROR ( �ª ý)¦ ( “9VBþí * ( dÒ�3ú‚ïû *‚ ‚ ( �ª ý‚ Bÿ *Õ ( �²À ( �;ú¶SÿÕöS *²À ( a¢))Ϧ ( “¨9÷ÀÐϨ ( Ÿ *ÿþš�!+‚ ªÀ�Jÿ *þ1 Ïš’ÒÀ#ǪÀŽK *ÿCK ( “# ( Ÿª #öBÿ *CK2ÑÒš‚›ªš º�Ê ’�"CÓû«ûâP8 ( “# ( Ÿ#Ó÷#3úÛCK‚# ( “²‚ # ( “ª ‚ Í ð‚ *3úû *² ( “µ ª  ƒù3úû‚ Bþ *3úû² îBÿ *CK²�­9#JÓû$ý) ( ‚ K�31Ͳ#+ ( »Õ# ( “ª ¶óùÒÀ;!ž�S *.ÿú C!8C!:C!+C²­0K'­«•þ–‚�#Ž  !.¦ ( “# ( Ÿ‚ ê3Ò #) ( Ÿƒ­ ( Ÿ3úBþ *0 o t'èd  z€@0123456789ABCDEFK)NK)_K)5CK!1æC*KÕ0#+ ( ‚JCKÓ÷ÒM !]Æ ( “# ( Ÿ32Òšå‚) # ( Ÿ­# ( Ÿ3úBþ *0 Ê Û;šÊõᘖ€B@† 'èd  ð@ €@0123456789ABCDEF’º#+:2Íäå8;úKÿCþ *ÕS ( “ª ƒK1·)µ +1Ï3ÒR ÒSÒR¶ê;úSÿû *;ú1S *Íø0ÕCS ( “! � ª !¥ !1̤�3ÂS‚R–ÒR ¶#æ;úSÿû *90 Í-1þ;úS *2 ( œC)^ (  ­K )î "  ŠÊ# ( «#)î "  # )G�3úû *1Ê3úJ *„ … …PC"þCK*K ( «#+ª  )# ( ùŠ# ( «#‚ *+ª    )×î " Í# ) �Å1ÍÇ+ª Äò.€T0BþJÿZûû;Zü+ÿJý98"ùžÞXî!/�!- 'I(*ýö*ýKùSúª@Jýª€"þ*ÿüT0BþJÿZû<Þ8!å)¤�  I ;úX#ý‚€#þ+ÿ3û€1:ÇCK52Ð $• ).1.ÅŽQŠP… ' !'ŠæP  …+ª  '  #  �Œ3úJÿ *!!3ú*ÿ ( «¢*þ ( >Bÿ *} ÿäîúòC*!ù9÷ï9ðí * ( ÿÿ **!í9êï9ãí * ( ÿÿ *^E: ^C ^E UNKNOWN ERROR CODE K "2CK)¶S "*SKC+! ( ! (  (  *DJ^D^Z/^D^Z/^D^Z ^D^Z:^D^Z:^D^Z ( g * *| ÈÝ5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚GHMASV 'ee I(g,ÿÿgÿÿÿÿÿÿ%ÿÿÿÿJÿÿ ’  I5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚SYS1NSV v ff &PQOQQ* „ÿÿ f NOVA RDOS REV 6.32 `„`DS 8u‘ Iÿÿu‘ÿÿÿÿÿÿ*%dÿÿÿ8)TV d¢«»ÆÕàù*WX~Œ—£½ÈÑåçì )&1&9&"CÓû«û @5 >!r "i?!¨   @)­�Õ  P >!­  O V^ÿÖ*( Qð,-.?!.@0 Q? *ú0.)$µ¶) µí -(,‚ªè "å Q,-.?!@0 Q0? ú .(-0, "î-Dl:/\ K!$@+0(Æ@/…@,@-@. 4  O DL// ?1Í  00Í  09Í  H1 Q@1? L+ìü L (5¨  >0)9!FÍ )3!CÍA? QÔ?  O!8  O 9!3  O > 6@)­�ÕP3  O!#)!ÏÀ9E÷9õ9õ!P’ C08 ãtrx ~–„'Œÿÿ‰’jnÂ1 O\ K029æ+ûû¨ ôÍ ú#ÿ@*­PH<)U  O 4­P H ?ªû1 A§ÿ¹þýüû úôùïøtÿÿç 0‚�@- +‚U!%  O!" + O…AAA@1 =…�@+ 0‚ L G NI1·01· G NI!m Iº¢1 OÈ G NIóª 4 I©¤’ 4)"• @ I©¤(-ªh(4� ­!G "c`(7! H@1[0Y =§ Qœ?-Q: G NH. G OH/ 4(. H’� -‚@¢• @,"ÓŽ,ü1m /� O +‚T,01!)§9¯¿9ª¿Ò” % ""!Ò”  "# )�Ò” ! "$  F N 4(.  O�)µ O P-ù G N¨ #2 G NH. 4 I(2ª�‚H, .¥ 41Å M� QÂ4.N,?2 = *—1!² Oª•íîÅ\ K7üüP3 ? O LY  ! @8(08…Cû”ý®\ Ký’�*!‚ªÀ�Kþ L\ K! �ÿÚ“ªÀ3Ò‚ÀǦC Lÿ\ K"€ ¥ÓÓúSÿ L\ K!@¢)_4Ò LÅ«Æý3ÿÿ @õñ€@\ K7üü 9Å A#‚ 1!P¢)?4Ò LÅ«Æý÷3ÿ @SÿòY 8¢)+‚Z)*3ÿ @ÿ‚Z‰Š#'èd \ KÕQ(Q( ?1µÓÓI Ò ?9 1 ͽ 1 Q÷ +-08Cýý)! ‚©Kþ L\ÚPúPöP¶8‚‚ \ K7üü‚ 1 ‚Zü L 1‚šü L€\8(ÞCÒS­Ò� *? ?CþSÿ L\ K7üP3ü J L¢À JŠŽKþü L\ K’¡ L J O @ƒü L\ K’… J Oƒ @ªûCþ L\ K<! ?Kþü L ;A (: H<ó 7• Oª LùY 8CKS1ÞX3ÿ81Ý0X#+3\ KAQ ?²! ?µ Lª!õü L+þH3A8I8Q8Y8A3I3Q3Y3\ K¬­I*9-#ý)%¥#þA))§¥ 3A#0(–"A1") A:#ëPI­°9ž#A Q&?  L    (N[j w ˆ™¦·ÄÓä÷& ?;@EÅÈ-ÿOÿÿ] ILLEGAL FILE NAME ^T NOT A SAVE FILE: FILE ^T  END OF FILE: FILE ^T FILE ALREADY EXISTS: FILE ^T FILE DOES NOT EXIST: FILE ^T  PARITY ERROR: FILE ^T € NOT ENOUGH MEMORY AVAILABLE^A  OUT OF SPACE: FILE ^T  FILE READ ERROR: FILE ^T UNIT INPROPERLY SELECTED: ^T ILLEGAL STARTING ADDRESS: FILE ^T DEVICE NOT IN SYSTEM: DEVICE ^T INSUFFICENT CONTIGUOUS BLOCKS: FILE ^T  CHECKSUM ERROR: FILE ^T ILLEGAL BLOCK TYPE: ^O € SYS.DR ERROR^A € SYS.DR ERROR^A UNKNOWN DEVICE CODE ^O € UNKNOWN ERROR CODE ^O LOAD CT0, STRIKE ANY KEY ILLEGAL DATE ^D/^D/^D DATE (M/D/Y) ? ILLEGAL TIME ^D:^D:^D TIME (H:M:S) ? ILLEGAL CHARACTER ^A CLI.SVRESTART.SVMT0CT0CT0:0MT0:1$PTRMCAR:00MCA1R:00$TTRERROR BLOCK - OUTPUT FILE VACANT YOU LOADED ^T TAPE# ^D I WANT ^T TAPE# ^D..... TRY AGAIN \ K1T'üüQ* ?ª01 Í 1= ? A1 @ó^  Cî  Bë õ A¢)}Í ?ª @ù!Ü ªÀ @ªÀã\87ü*ü1ù­ @!ü ?’¢ L 89(8å øÂôWD!A(W7T*O%ÿÿ OÈH$TTI€€(€M f5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ (ª ‚ E5M5 )4¦An%11 1f?ÿ1/ - püÒ ))µ )'µ ô ‚ 1"  `ùÒ )µ Ð òÔU1 ­n­Q¬H `¿1 ( f`i`jÿóScW¤SFPS/1TzSVSHY.Q,1+ ô…A+ 5û!*•  !(• !&• !$• ïQ & 0)¥ è!Ç)Ü¥ ãA!—À!)ÅÍÛÒÀ)¶QQ�DKDSDZDP 07Y Õ )ø� ÒÀ–2úgˆÿaˆ)í§bIgIÿ)ç� )jIgIÿ e¿H !@E@X'€==ø 1; B B B15ýC"Óû‚ û@ @ 8)+K1*)*µ'‚  /©€ øBý’"ý«úò¬Jý5!¥S)Î1 32ýÐ ÷1 f?ÿtjtÙs†SÀuKtÒÿýÿõjGSqW¤3*¨ ìU?9ñ+ª 1;Ð 19 òf?ÿU6š+Jú+Jûƒƒ)ãÎ1- -='5)#+BJ2üBJ2 U -!ª ‚ %)¦)1 )9![ÿ¾ƒý!† CÿÕ"BÓÒKütÊ_9S‹tËj*TzQ’ttÛÿø9!1!+ª ¨ J ²„B !ÆB!ÆB!*ª Bûì¬J 8! �;ƒþKupr¢"Z©!&9&C9%„C…E"E")"¨ 9 ¾)K)9í¨#€ †¥Cû«ù1"B@"(BB1 f?ÿs†sStÌtÎ t…€tÉt†S¡W¤9a)a…òBôBõBúBöBû¾ZÿS÷üZÿ9TÞ!SÔ‘•R*µ üõ×9K;!…)BbIgÉ«ý…�ªC9×;'ø  ;!;)3bigé«ý…�ªC`H!1bIg‰ÿ)%gÈ«ý9(+!ŽK9¸;'ø `h!bi)«ÿ)gè«ý+! ŽK4!@ d Øðu�`ß`ßSÖ FULL(F) OR PARTIAL(P OR )? WITH OVERLAYS ("1") OR WITHOUT ("0" OR ) ? INITIALIZING WHAT DISK? BOOTING TO WHAT DISK? OVERLAY FILE NOT FOUND MASTER DEVICE DRIVER NOT LOADED - SYSGEN ERROR. NO SPARE DCB AVAILABLE - SYSGEN ERROR. INSUFFICIENT MEMORY FOR OPERATING SYSTEM - SYSGEN ERROR. pæ\·pºiÞnÿÿiÔlWr_r¢ÿÿtËffhdhÿ5÷…B!õB ôK²!ò*ú� ŽJú î îy|3)ë…:æÓ«ü8‚o3!á*�r=Ö;"C "C *K"C"C ‚\"C)t�S o5l:#+9Æîƒ8CK"û)f§:+®[H:# Bô…)\BJ «K² ª ª583"*2΃3•-• 3µ(3")C‚‹�")@�)>¦5>Æ`¿-<�E8`#=*;ZS)0Κ3 ¶„B3 +1 1 111 11 ffhhdUåUÔj*W¤VUøVVU¬tËg4gVhÛhÜs†@5ñ9ýS #B!úB:+#1| |‚«!z¦(1ãÐ ª 'EtEu…Etª !¨ 4 9ß#+9bîƒB J-Ê ] ¼²S » ¹ª­3"‚ ƒ€ i")R¥e ¹ P!a€ bL`¿…@ d?=Tø `_ 5P P`(5¥:#8C9­Ò@«Ò€#+ 7‚4 9¤#+9'îƒB J8CK-Œ  -.CC'(¨ >ƒƒƒ€ .‚'!C'/ ú3 V-g‚jp@V~VR`j`i_½ÿøÿùW¤U¼fe`"Tbt×tØ^|UWg4Th1õ ó!ïC#+«ƒ î—É \ú!áC)á4 ã“VGOBJ ÚÛ’!E E B4  ÐÑ’!; ; 8ä3 3V-\ 1¾S4 BJ ¼½CC!(C­K'O/‚ ª #3‚  ¯  4 â ž—É ­Oáèg*j:ÿ€\ 1   € W¤U” WARNING: MASTER DEVICE MAP.DR IS ERRONEOUS. INCOMPATIBLE DISK FORMAT !! NOT ENOUGH SPACE FOR OVERLAYS IN BOOTSYS.OL. MASTER DEVICE NOT A TOP LOADER NOT ENOUGH ROOM IN BAD BLOCK TABLE DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE nsCYã] ÿÿÿÿaæ9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `Y°tØ^|\ !*E*!Z)Z¦AaAa`¿1\ W "Ô)#¥1 € 1Ð õP9I +¨ ïû¥ ûûø+M;Y `¿ `XcWY Q¨ 1\ gRÿ\ 1, (gˆÿaˆ!))-¦PA*  W\ -Ik1\ 5Ð Qc1 !‚`AmƒAgˆÿaˆ W u�WxtÆt�W¤YY/Y?YNÿòYsÿ1ü ô\ !ö)ŽPI÷ŠPIL¬!ð %¬P #) !!0ÆA1 Ç• 1 Úf?ÿY‰eÿ\  )û§ ¦Iød?@ Ó \ 90ÞY9 ÞY9ÞYÿ bl@g€\ !±‚`A `1ù`¿ ü`E¨ jßþÿ\ !6C`¿ 1ù)2ŽI1™).ŽI1“ÒPQìÕ)'ŽI)%ŽIÿ)ŽI`ÒC `¿Ô)ŽI1) ŽI) ŽIÿÎ vtr@q€g@1 Nf?ÿYcV¾ \ ©9¶ª ú�²3ÒÒÀ9L÷š�#‚ÂÁÆCú@ã«9£5çôë �è WVžWV…WVŠWV˜VÂVå'VÂVåÿÿg+hdhtË\ Jþ­JýJú=ù+Jû+Jü ñ ñ ñ  € €Y ! ÚQò�*ûªÀ�gIÿjI÷ÿ YOU LOADED TAPE# ; I WANT - TRY AGAIN WÈWÏWÓWØY¯hW´¯|W¾\ ’�"‚ ‚À)§Cô \ CK# ð²# ìª µ ö µ ò \ )¦ÀA1 – 0XW\W¤\ ­P û уª û )2 ô57Ð Á ð53QÀ! î')&ª’I¸Í )· Ä;)±ª•81¨ Ü1° Ú1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ `V€ÿùøX¾)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9Úõ â9Øõ ž9@õ ê8#)>� @9J(%A�zR %;¥ z\ %8�%6�!7ŽI`¿ 50ÐÇ@ d?`!-�0ÎH \ 5…`¿B B ")§B*¨ ` þüûv�±|YWkDW~W{W„W‡W�ÿûVäm€W\)þ þ)åK)âK#1è•ÌÍKʲ�S ïŽKÒ  +’�"ŽÓüK1Ò#•  +ª ã+#¥ \ 5) «I;ñÒPS W�Xn1 09õf? –XÄVTY™W¤ LOAD $PTR, STRIKE ANY KEY. LOAD $TTR, STRIKE ANY KEY. LOAD CT0, STRIKE ANY KEY. TYPE ("0") FOR $TTR ("1") FOR $PTR ? FATAL MAGNETIC TAPE ERROR. $PTR DRIVER NOT LOADED - SYSGEN ERROR. FATAL MCA TRANSMITTER ERROR CHECKSUM ERROR IN SYSTEM OVERLAY FILE. '`%+),�A)­PI#9+X +ª[;ø ú)ª  ­Q) I !€ å ã! AÞ,hEtÔÿÿÿÿrJrHrF…ArEtÎr¢Z€Zrª þ!ñ‚ Ò)nª q)lª ô3 P !ð8 � Š!J¦1I)T I0 Qä!D)B¶)M B0 :#ÿ@8 C`¿8 )C%E¦Í#‚ ÊEÀ$ ‚�#&@+#5A!?— #'b#(`#"3!Ò�Q43$;%`0-1J: #@!+§ # b#`*:ªCª�Jº%›-›5› Y š"CÓû«ûÿøÿÿqŸ[Ctj3Ð *ª )ï½ p`¿!ê)ê½ ‚ Yç`Yï¿ÿ!å§ c!á§ â5Ò ]!ö�KYYÚ1%Ý %Y")"¶t}!–g~ÿ`½g~ÿt}g~ÿi¾g~ÿJ1öÆdýg~ÿ`ýg~ÿtý*g~ÿj>)Yò['ª’%%Ô‚ *ªŠù3 Ð & Z#"C SP)OK8+#C0J1rªK²P t8#+39jk#€ 5­ÅCY½5Ý Ê2Ð Ý û:…`¿B²`Z:]…BY¹Yã3 ªPKµªŠá ß#‚ <1ÇÄC!C38S91-Z©ÿý^Y €9)+ª[¨  ûú® K® â8 CH €8 tk-ª + H3P 3 P j_½]ÎZRs¹Yÿ8ø ü3 * H ø 0-…8 @ C „B )"KZ #B- ‚�-JPâ5™*ª  :ø  + ¥ :ú€) ¿¼PZ2*ª î1[€ÿýtÏtÎY°]]x[u)U[x­P0J29DÒ�9EK * >‡Ö?„…@0<+J2ÒJL"0Ò ‚Šd‚Jc!'+�À 8#ºÀæ8 ;�X8K3S"_\ 02 -µ …0E ! Ž!1   j*Yäÿ`"tÎ^)]átÏ)[Ç ã ÷‡€)02 9"çäÿûB8„C ] r 18+ªœ 51 8+ªœ5 Ð  *KÒÔccuruq^9‚þ V T R P N º#‚J×"8S^^ B ´ƒ—ú ±ƒ— ®ƒ€ôZ½)9‚83<#‚ ‚P¦’ƒ8 +�Ù ""‚JÓ <+ì)$‚ ê83 "‚ŠÄ8#2:ž+¨ !8KÂ+K4*KÄÒZ“*ªš]^ ÿ„€@83ÒZ„*!ú� "¬…@ í02 Â)O¶QKÓQJÓQF<+ª «K`¿E’%<�'‚&+ýY9Y954"žíY2Q22ÒJý÷1-<!*�KÒ "ZCª ’"¥B"† B þ KŽM5Ò  Z„C] `5]Sè]öq']át`Â8 ; 5m)mÏ r�S p�S(K‚�F5S)QÍ ooPBš…B #B8 Z #B4")^º�½ *1ZÇÀ1mÅ <0 2 9i÷ïÍJ8 3Ú¶*®Pª�ª€î8KKS)6¥812–*32Ð 2ýX 8KKÂBÒ�²S1!#8 `¿+ª …C ­�‚ ª�K]°^ðY°<9ÿ½1ú¶*¨  ÕPÙtjtÔr¢^Š3^)1þ1ý…@ (?ÿ]x 6€ 4€ 8 ’…B # ‚ š# ‚ ýS ÒS Ð"ÿP " š%È)Æ�Ç# B â* H \Ë38S 8 ú k;õ8 …ú C c38ø S tkt~ê þ€‚ Y9 ø€‚`¿10Ð  :`Y+-º*8(`‚  ä€ ù †º\  âSõ „¬�`¿ ÷X`¿9 Z`Q ø „� 8n)i!i=YÿI=Pú „)¶)”§Q2Ð :¿œù91*KZçÿû94Ò 8#‚Z="¬�§B02 "ª�§B08 ú „C ¹8 …C3*® J…E @ 1" ‚ 2" ‚  "[8`¿9°ZQ®°8 èsS]PZZ8ú ß# 4Ò ÔBÁJ;+$ª]«©¨Tª€K$»Y°’’ 2ÒJ1e2 Ð *¥ û S8#†€C"* ¤ 6ê# T8 ú å°1,‚ î8;+$ª ªJ2 $å*% ‚ %½‚  0"1‚œó"‚ ð!2  2 "1 �¥ ÷*ª ô…0C$à€r×tÐZ8 P ú C#BÚZ» û:„B…@ ¸[ Y :ú  `¿=U`ZYãr¢]²ÛóÛóÛóÛóÛu\ \ ÛÄ\ ÛÄÛ„Û…ÛÄÛóÛÛÛâÜ`Ûó\\\\[ÿÜ(ÜÜ+Ü.Ü.Ü.ÛóÛóÿÿÿÿÜR\\ÿÿ[ÿÿÿÿÿÿÿÿÿ�’‚‘€ƒh[u˜�Œ��Ô™„ác@cA™ ��†È‡˜€„†™€„„ƒ"ƒ;„ˆ„ß�>�ˆŒ…ÿÿÿÿ�–€–�„‚„€ƒ€ç��ÿÿÿÿÿÿÿÿƒgƒeƒfƒuƒi�;�‘'’q‹,‹x‹y€é�‡�€€ê‚iŽ ]ÏÿÿŽSŽdŽeƒjƒk‘‘�7�5]σƒ€è„à�‘�Ž�‡ƒZÿÿÿÿ’�Ž �?‚ÿÿÿÿŽ›––Öƒÿÿÿÿƒbÿÿÿÿšq‰&�Qÿÿ��_N_i€_9_9_~_™€_i_i_®_É€_™_™\ #öf\ 'òò\ #öÕS +òKþ)(Kò0 A" :ÿÿÒ i2 K+þ;ñ+òÍý!9¥ú1 ÅÀŽKþ!Cò0 2;ñ+òÍQ!)¥NðsÄ`™`†\ 'òò+ò4 Æ@Í@ª�1h ÅÀŽKþ)ïKò#ó+ô3õ‚‚ !å)§†À‚@‚Ptk€ÿ\ #öÕP \ 'òÕPg4\ 'òòÕS AÊ âÿÿ0 Ò  2 ò+òÍ@ª�15 ÅÀŽ!½+ò!»KþCò­0 J H 8+ !¯1¯—Å`‚ÀK S) 1ŽÓSK1–S 2)¨ ÒK ³ÿÿB#–P#ó+ô3õ ;ñXÿsÄi!i=ÿÿÒ�%SƒBôEPõ@ ”ÿÿ`¿„)ïñ î3 Ò1”—ÅÀà ­ ; X…0 B 0 @ Ò 2 Ž#þª ìCò  ­Pí…‘…3 ­PJ5'*K*K1#ö ; K²þ Zö Š!¾‚ !¸ ¹ªJ  + H  õ  € €hdtÌhfftË\ 'òò‚S)—�À!˜1–¦ÓS1‘¶*ª[ CS ¾a¢ a_b—a`�ÁöP `ëÿÿÿÿbäaCÿÿkba_b£l ´@ aOÿÿàß‚ …‘…P*9,ï =*ú )9)1)9(ï #9&1&+ª *2ªJC:)¿ )¾ú@ú�ZÕPU„á!)¥ƒ…1B tÐqätÏsStÎs†ZR Qþ:;ø ;úŠ2a a)a§*ª›­J«�  )X� Aä!U U!á TÕ2 RÒѪSJ MÌ)L9L��%•)I� H)>� F*5Eµ )C� ­)Ay?� ø 9ø )±Oÿÿÿ1yÒKw1¶:ø 2!.\Y®A¬*9­¿-9'� …�‚ B#9� ­PJ‘=+¨ � ûúkblk®k®j™k®bObWaGbŠ%C CC C=C+9Bï :2U=9ã%7å I ä5%255)6�  !4 Ü-!25- Ø)$),� )+� 5#…:Cƒ=$C! Ç22")§¤B22")�� JÿÿaŽa‰ažk®qäk®aŸ\ a ÿýk·Äâ "‚K¶!öA!  )�š“ªÀ#§‚À5ã‚ �Þôb‹ ÿÿ††M†€†ƒÿÿÿÿÿÿÿÿÿÿ††ÿÿ††M†††Ôÿÿÿÿÿÿÿÿÿÿ††ÿÿk·Ç béck¹@Å’@ b»ÿÿÿÿÅòbðb¯_††<ÿÿÿÿÿÿ‡S‡uÿÿ†††ÿÿ€`߀b¯€aC ‚!‚\ C"9ùŸ a8#B!8Côª ò K…pC ")V¶S)]� *:;Â@ú@‚€8C1I‚JÒ� G3ÒJ‚PC¢ B C3–S1:–S 3ÒZ 7!1–S #)3Bÿ…BJú;#Bû#Büò8")'§ ¦+ ª‹B"ô)$�##�€*Ž# ‚ ª Y"ö¥W¥ #*÷ª Y ÿjof?]” d€]ld…�C"ø*¦C"ÿ90çƒ8C #�€Ž0"ö¥.3 #Bþ# Bý!*úŽJú#B   # ‚@‚ C 83ÒK 3 !Å•@Ò� # ‚Kò ÿ€hdhg+gR] d¬"ö�#¥ *÷ª  �€¬"�£…C)ëŽÀ8K 8+ ª@ª K ‚ Í"ô) � ³ Ü >'3ÒC…1/‚ G  O 3‚ ª !, !*–S 5èj:ÿg+ÿ3 t3 "*ª�† C&+ªK….‚ ª BýJþ "ÿ)¦BÿícØcáâ8+ª�Õ P+3 JK +Jâ8 3 +Í 3 =3 :?KK1¿ÎK 3ÒZ ’¬ª *"ö¥Jö)&J÷ Ñ3'ÒK…/‚ ª  Šd3ÒK3BÿO3 š3ÒKG  O 3 �‘ ¿ßdegRff_Á3 ü3 *2ª�Õ�ScÝ\ "*‚ ª  + Cô- &Šd BJ:ú B J !²Sô ;õ­K K# + ;;ú@9 ÞK‚ Cÿ "ú) §Búò j:ÿ_Áfeffÿg+ÿ÷ò)øŽKº+" € " J :#‚K 8;" +ÿ J " J :#‚K 8;"+ÿ J jŠ­ü\ "‚ S" ‚ P*¨1 e~ “`"‚ A" ‚ >² PC t3õ sŠdPCK �H²Sô)®¶*# ÖJ;õ;#8‚K*ÿ# ÌJÿ3ô­Jô .3õ*"…­B J #+dÇ Kô#  Ae~ò \ dʲ  7e~3õ"B "B " B"BdÃÿÿg*gRrŸrŸ+ $—É# ú e~ \ " ‚ " ‚ "B "B" B" B„B B dà €iWijg4_Á\ )w¶*ô!v§ "*ö� :ÿ) ¿À*øŽûâ8s lÿ÷!a� y:+8ÒPª@Ò€S*!SÒJ’‘’ P3ÒJ‚`C¢ h 3–C S Çeý Æeý3"ÿ*3ÒK…ª D‚ B2ÒJ eýí3 µŠd%3J;úJBÿ8ÿÿiz3 (3K )²Bý# Bþ!Kó ò"ú)´�Jú;õ#‚J  3  �eý 3 I Šeý j:ÿjog*g4g+]lfeff3 ú3CK "C"C1ðö ó Cóò "\ *¥¨ ª S2* ‚ �*K+39ªKº ƒ ² õ:+8K„ñKóò _ÆgRÒaÒPÒ�\ …@C G …CC1<2ÿÒJ?#‚;õ#*þ� #*ý�  #*ü� #8*û� M8*õªå"ú)"� á)� Þ)� *ôª‚Š W‚ŠÔ#‚%T¥+¥ÌSCÉ€u�g4]lj’tk3Ò 3"ú‚‹ :³#õ+ªSôªN K ð 5 .Só 0 ò  á3õ")á ßB Ü Ù "ú)Ó� !)1õ§ "ö‚J#õBö%Bôß Ê­P„`¿ hdtÓfntÌhi!rŸ ú\ +ô`¿"ú§ Ê! ó÷` \ :öúJ[šZö#Bü#Bý#Bþ#Bû!•Búõ×%ÕBô …BöBûBúö‚‚ \:úú€ú`Zú‚ \õ:úúK !$ "`¿"ú‚@‚�Bú`=ú  …P =ú  …P  8\ýZôà\ýZýZþZúZôÙtÓi=ÿÿ‚ \8CKS" BB*J J„B…0B B B‚ BBB BB")§BjÀ‚!‚\8CKSº+J+J+ J ×\ :û;úJ¨ "A2­JûÚ#BÓûû ú83õ:+…BýJþ &.ù\   ò8; ;úPž+JJ+ÿJ J’  feg4‚!‚\ 16…0C‚€C2ÿ8ÒJ&#‚K#ô*û� ö"õ‚ "ú)#� ‚Š #‚ êõ  Ù"ú‚Šô:öúJÞ"õ‚ ÛBûBôØ#‚ #‚ ò u�hdû!û\ !9‚„C`¿"ú)õ�  `)1�  )ò !'CÊ &î`¿"ú)â� éÂ2û2 * ’� ï+#ª“ì…BúBýBþò *÷2û2 J ¨ ` A]li”i! ûY1º2ÿÒJ"õ‚ û"ú)³� ÷‚‹õ 9 û+¨ ªZûH s¹\ :û#+« 83Ò@Õ0Ò@8S1V΃CK3õ"ú)L� )J§  *þ"ý:ùøîƒ"‚�C"C#‚ :+'Œ.û *þ"ý83Å•#3´ 8„3õB÷!žBù"ú)§)¦BúÂ2û`¿2 : ø 3÷Ð ÚüC÷B `  €ÿõ €+'¥�òøÏ+'Œê+÷l,l,lVÿÿ\ …C"ú);§ 8€)8§ …Q"C"ý*þCóKô2û2!.ÆÐ € $’ÓÓ"‚J÷+ó¤*;ôíƒ8‚ ò#¥ï¢…PCª  3õ2û2"*3΃CóKô#3õBó  û\8S0 J B`Z B …E @  (8 K C …E@ [8Y½Y°\8CKS‚@‚�5*ªƒ: �lªPJ2Ð ôjZRYã‚!‚\ ‚ 3ò2ò`¿` Ê„ »ø÷‚!‚\ ‚ 3ò2ò`¿„B Ç` ‚!‚\ ‚ 3ò2ò`¿`ò `  )2XT2û:îN)2ø)1ö)-ô))ò)(ð)î)ì)ê)è)æ)ä)â)à)Þ)Ü)Ú)Øb€bÀdÀd@b@fdfÀba€ecae€f@`@`€c€�Õ�€€c€€€€d€€ �Ô�Ö�Ó�×X8; úJ XCóKôSõ8#ó+ô3õ;ñXò €\8CKS‚ŠªŠÒ‹AIŠÑ ) ) Óù8#+3‚�ª�Ò�'Xº�)#‚ ‚À§ê@8ÿX8QA1ûǺ’ÒÀ+Ï‚À¦Cê@81!\8CKSšÁϲ+JÓûƒûÇ\8CKS�À­JÓƒýº\8CKSšÁ²A²"+� Óûù§8¤‚!‚X8KS02 ,µ ª0ª +3…XÅ 9 ªP‚@ŠŪ@ûûúú 8ÿð…0X9ýªƒ‚�Æ�ûüª°\ºŸPŽí8‚‚ X¸çä8­­PJZP*ªŠ 9wï 2* : í:½ "* J J :  1,Çú’ÒÀ+Ï‚ÀŽK0*ª‹ *"‚ "2B c b8*9\¿  : Z *9FîJ* : ½ ×*ª@ª JìÿZ")7� -" * �  )ôš“ªÀ#§‚À*97¿ ª‹Õ: * ½*¾* ½Ì*ª‹ÉD* '$Ä* J J *J*ª@ª Jð" *Ž" � Ñ* ¥  ")û¨§B" B Â" B B ï„!„Yº"C#‚€‚PC:ø? #€ šüKºCJø Yÿº#‚‚û)§`C­Kê9 Þâ;ø  ½ û+šKéÿýll @ €9QZ ù:ø +ªœ+¨ :+ª .+º�+9A‚ úÀï‚ÀŽ:#š�K:+ªCª�K" -š#)œ� )&� ¦: * ½BZJ ú)Ä� :+ª€ª`Kâ®J š;ZZ:ÓZ¿Z:íqäi=ÿ T9ûZ:ø #‚ ")F� #)îš“ªÀ#§‚À ?"ƒÿ I& 7å+!Þ� !,� Âò )’:ª€ª`K"®J Í! Ë:;ZÌ€�K" B * �JÂ:#‚C‚�Câ ´! ²sCsBgR)))) ) ))))) X:î8N`@`€g@a€a@aÀb@df@elWlelsl�l�l�l«l¹lÇlÕlãlñlÿm mm)ìWm8mFmTmbmpm~mŒmšm¨m¶mÄmÒmàmîmün í8ns†n)n9nInYninyn‰n™€�p4n¦€oéouÿÿn™4DP0DP0nÊnùnÙ€nµnÙnµÿÿn¦éÈoéou@@n™eŒd»e… ˜DP1DP1oo=o€nùonùÿÿn¦éÈoéou@@n™eŒd»e… ˜DP2DP2oRo�oa€o=oao=ÿÿn¦éÈoéou@@n™eŒd»e… ˜\ ’"ú)d§ ¦Bú"ü‚�C­pªPKª"ú)W�  …� T T83ó‚K;õC8 M2û2 S JC3õ"C 2 EK+ ªP+ŽªPK•+ <#�K3ó"ú)7§ )5§  #)(�¢*ó�¢B*�J…P�)%§+®P®P¦À+¦+ªÀª�ª�¦ÀBø+)# ‚ZªP#¸�ç®P¦Bó iži°hÞjpjoj€ €\ 2 2 :û;úP9"ú úP"ú)ê§9"óæ "ø  *ú!§À:û;úJ‚P*ó¦ "ø Â9Û*úï "ÿ‚J†   iŒiªi i¦*øý�ªSú�ú�ªRú�ú�Ÿ i"ú) � Ö¨§Bú,"ú) Bú!ãÈ@j’`¿9m\ 2 Ð ! h Ø‚ŠN‚KÙ"ú)£�)_�Jú \%\‚ …P*õª U8;õ"÷C € 83õ 3õ K )ˆ§ =:ÿúÀûÀZÿ:û;úJúK­.>ª ú íJýZþ*ú!0�JúÂ2ûÙ*ª â"þ*¦ýBþ"ÿªÀ¦Bÿì)¨  )� *ùª�A )� ½ù�"ú) ”‚¤qäi²ÿöi=tÓl ÿïi”9ø !@f?`¿1k? €]U161Ð 1 5ak €ÿÿtÛq-q,Dÿÿ1K9Ý ò9ÞY9ÞY9 ûü €qq`€g€ø0tYGQEÕ0Q?g¿C;s?9*õ ?Q&9Ùõ È9$Þ3ÿÐ Ó932ú 8]9Æ8; úJ®XCK!!C! C C ‚@C C — t†r(( K 9"€�ŒH lr-`LAøIø‚€Aù!E€ `_9îú  9@3Ò *ªPª�Já2ÒJõSò -Ú ­0KK K;ø ã1#‚*:«ø ½ ýZÓÓõJª 4!Á‚@!»)»1»9»`- ª „PAÿÿsSqÓrF[8-ª ÷#!Aô%­‚ ( 5µ %‚‚`‚`E €  ‚P‚ÀE ZZtÔZTZS%þ‚•ª ‚ MùEù9,ú 1Ó"‚ *JQ!„-êª Á( …�µ 1ª 2Ð ë9ø )ܪ ¨-Ö=î¤ -ª@‚@E9%Y :! ŸZ9 ZYÅÿÿq/q.q)q%?ÿ`¿8!B÷#ñ@+ l?H 5<)±Î -5í-ª¶ )­0I© , ªœ?0 2 B#B#B+Jý#B#BÒJ!-!!!�  b�B `�B "B &B8 +ªUª K# @#Š�H#+3;`ZRY¯tj`¿ª ¶-*ª 1(-(í1' œ­0 B&-ð!ð� b�B'`�B()¶¹ ÿÿrQ`¿8#ú�("b�� #‹tÐsSs^s†€!`¿A7…ƒÿe¿I3Q3Y3#A2 -+*  ü f?!ƒ ýÿÿÿû Y!þ ‚À gIÿbIYÕ‘Í! ƒÍ[ü õÒ�Ò�Ò”ø! ï/ r—\8s¹ÿÿZ©n€€ÿÿ€sSÿZõÿÿ‹s†€s†YçÿÿÿÿÿÿÿÿYçÖÿÿÿÿlWm8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€BREAK.SVFBREAK.SVÿÿp«ÿÿsSs†s¹t…tÊtËtÒu�tÕÿÿÿÿBOOTSYSSVSYSDRèR FG INT MAPDRèl FG TERM è€è†èŒè’$TTI$TTO$TTI1$TTO1COPYRIGHT(C)DGC,1972,1973,1974,1975,1977ALL RIGHTS RESERVEDY9ø  A I Q 5 !)181Ð 3ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`ßb¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿn™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaCÿÿÿÿrNY®ÿÿÿÿÿÿÿÿÿÿnµÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ_9ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿr¢ÿÿÿÿÿÿÿÿÿÿcÿÿÿÿÿÿÿÿÿÿcÿÿÿÿÿÿÿÿÿÿr×s ÿÿÿÿc/ÿÿÿÿÿÿÿÿÿÿÿÿsCÿÿÿÿASMSV Ö š ó „ "C¦~Ssi‚K‚ ‚ �[  "06Zÿ00ÿþÿøÿðÿàÿF ˜   %  [ ê R Ulv » ³ Lj2uå˜ Ü Ø Ö Õ ÙB !?lÊ HÉ OO a ƒ ŠÂ’ÿÿcŒž˜ #y¤ … 4ÿÿ�Š< êãbêãb ~Š”¢óy&ÿÿÿÿÿÿÿÿ%ÿÿ0 ÿÿC0 2 *ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`ý( –Yÿ8ú `¿8 ; CKS1ó(KK*KÓÓ@S+® K0Òœâ‡H`‚ò@Å‚ @Ê@¸ ê@è ë@é Î ó | ð |(Ê ñª ò |…@ç ……@§@S@R@Q@Õ@Ó@Ô@g@ª@¾@¿@À Ê@É(™H ƒ 6@Æ­PH½H¥H¨ É‚ (5 ‡ è ˆ é(>¦ ˆ… ˆ ƒ ”…@«@°@©@Ë@È@Ã@Ö@»@´(‰HÄ««H­0;P¬0D „¬ý07 „(1H¬ Æ@Ç0Õ­HÕÒ Ÿ(¿ª“H«He4 e‚ ª‚ ’…P@ª(ã0<· (¨05µ  šÒf?(§K#ÿ(O§(¨¦0<ÆCÿ «‚ Y‹‘ ‹G!û@Ä(§ ÷0¨ I!ö@Ä(â Y ˜ ‰ <8°ú ‰Ó 0î93ß | æ(ä� …(e §ƒ@‚�ª@§ª â(ɪD(i¦@ig g(;¤ ƒ Â…@À  �à ł €(ï1 · €‚J € † ƒê …¡ï@PROGRAM IS ABSOLUTE RELOCATABLE XÞ0FªBÓHß „XÞª@Hß 3@à(ߪ@ª@ª@Hߪ@0F 5�¶ „àôÞXÝHáÊ0Ä –Ä(áÝ ˜!fA]Yü!B H Í‚1!/(ܪ A…@å@æç ÄAî!K@Ä ç(8 ÛQI ÛÒÀ9Fö8KöQB ÛQ? ÛÒÀ9<ö8Kö!?A:A:A:Q4 è  é(D Û !* !Ë@ÄÈL0æ(3µ ä•Pá! áý! Ä|€} --- 'Y æ0ÅÒC(ì82¿  }Ôý! §�¨° 0013 .MAIN ^ XÝ‚Ý(81 8G¤JÆæ9(H¤ å’�-/(ת € …8ÐXâX#@ã(C§(=Œ(AŒ‚š ‰@Ä$ #$(D - 07 „,  ˜1(ã <� „0: „ ‰ ¬ æ(ä� …8â01(ÏÞÍí Ó!™ Ÿ€RXXV) PU PT ± T ¯ U ­V(XÝÕ 8N‚@Ò@µ µ‚@ûûÝ0ã(5·)¶2„GU '"-=$XXÑ…(NÕBWÓ«ý„@±(3H¹­PHã¹ ‹F¹ Œ ¢‚e02(¹µ(¶J[(²Ja ¦(:�í…@Þ@â e‚ a0BÚŸÝ  0@• 4@ã(<§„…05—P!g–*29dX (ß0àªÒÒQnªBùHßPà<05÷Pá"[­J[òPÒ@Ò@Ò@Ò@(;·­PѪ`Óþ0á2aúÀú[Ò”6°—Þ§0;÷Ñ‚PªPÓýH£0á(¹¶(2µúPúRÐúRúRDúC8Õúº(£0â·‚Þ0âˆÏ¦@â®ÒK¬ ‹FýXÕýPXã¥f£[Q`a a)þ� Ñ â(;§(6� Ñ È‚ Ñ ‹QÑ Þ‚ ‹O f‚U ‹R _(`Žã ‹FÑ0á2a8@Ý84XãÂ8â)4¿82Ý Ò� Pãš(I§ÆúJø¨ ï ¯ ‹A¼8PÒ”Ÿ §ýP0¨(5µ 00Ý ò8§0Jåš åÒëÒ”80ðÒ”åŸ ã(2HãÜ  H`” `@ ‘ AP` ð��P�‚P‚ ƒ‚ƒðð ð@ðAðBð ð!Xµ…@¶@²@³@·@¢@Ì…@£@¤@Â@Y@Z@W@X)I)H(4I Ž"6¢!019ÅûÅ‚X  Ž«ñXSVX¤@(L%ú4 ‘M÷î E(¦� Ö Ž…@Ö(¦H£ :� Ž ‹Xû¢ÕPY…AÞAÞ@U@VËAp w­Im)r� q)k¤ )Í1Í8U(W0X8VH£P¤XT9^� ä 99Zä M)RªTúƒ |(;0£ú¤T¤ƒÒPýP£Ë(¤ªT(¤0£8ÌøÑ©¨XÌP¤H£!2@Õ ŽTü T‚ ‹N¢ ÕÕP‚¼¥)I­I Hú (¦1µ ú1´ õT1Ò�) ¥!�ÃËœxDA.+Y ŽóHZ Æ¢£U(Z 8WXVï ¦ËY¢7ÅK / 9 O/ {9O‚OY…AÏ@W Õ W9Ëí §@£0¨85Ý 00¤ ¤@âe0�(: –ÂXZ V*¦)E¥@VPX…2(£ ‘(¤ ‘@W¢4X(£ ‘(¤ ‘8Wîƒ0X@¤H£Z),HV1(8H‚J�1#�‚@U # ×Uý ’8PïÀçÀø÷ÀÎH¤(VïÀ¦RT(Ì«HÌ‚€@£  A™™›@¿ÂðH@XZ ¤(£‚ªù9õç ŪP‚@úTýVø÷XÝ8Nªƒ‚�Æ�ûüª°ÝX¼Xß(¦ Ë‚ ~H¦!6@ ž Ö‚ ž8©úó…@Ë Ö‚¼ß T F1$ÍJ�J�ß!*0HµK�J G�)ßß8DíµK�J¼H¦õ…P@_8¼Ï©Ù…@©Ö…P@`÷%:"  Ï;#@. ¿‚#0ÅŠSÒ°ûª�¬¬0­­Y IÒ’‚À:çºúÀžZq4Òµ û4(ZªPªPªPªPªPHZ ´‚oHT…@Z šPU W(CÏ8Bì ûì ûì )  X)  0U+gkoW)þ)û8Xúó(THZ œ Å‚ ׂ Ð�\ØØ ç†P†P†P(å¦DØØÚ (Ù ×@Ø  �Ù D@ÚPU8BÝ £ÒP± ‹Uß(6½  ‹M0U8CÝ ÕP8<ß ¢¢8ÌúP²ÕP¢ ‹Z f‚@‚ @f…@Õ~8²úõ85÷(Ì9¾(£ ¶4Þ0üûó öªJ©!ªÒJÑ0‚@@ßÒ”f0³Òf0·Òf ÷�V ô€�ŒQýQüÒ’úPÒ“0³öP³Ò“0·öP·úJ�Ž©=Xà Ò… ‘8ßú‚©àXà’ É ¿8ßú‚�àÒ”f · ôÒf@· ³ ïÒf@³ ¶ ê@¶8³ú 8·ú Ò’šQšÒ’X³Ò’X· Ò”f0· ÎH·(£0³ ÊH³(£ ¶’ ÅH¶!(@(¦ ž ‚U ž ‹€B�H‚,ª0I·Å ú0IªÀÏ £¦@£$ 0 @€À@€ Àt= 4:      ¨, >¨+›-™&œ"Æ*“/•!—„P 0 1„……P@Ì} ¢‚ý Ž§ËË8fú8²úµ0·8³úÒ 2Ú 0ÒÔÞƒÞf…@¶…P@²µ ‹X�¬­HÝXÞ!MˆIJŠPŽ0ж8ÏõK(Y:þíí  :ÿ(O¿(Zí í  )4ª ¸æå).§¨� ÷Ú"(C2ÿ·@£Þ 1–Ý ¿‚ 1  ‹€SýHϺ„+úKýžÝ ü YBþ(ZJÿ…BÚÕ…Ýÿï ­¬ ª‚ łȬPÊH´ ƒ   ‹G ™@ ƒ—(¿ªö ´‚Ë Œ…@È  î´ )(ZZ ‡ (: ‡)!ú´ý(9Hg§ Y‚Ú(ŪÏ ˆ Z ˆ… ˆ´ ƒ�…@´ ¡Ê â †f?« ƒ— Ê ƒ ƒ…@§05P¨)H´à Àÿý„P‚`…‘…P@´ ƒ    „Q„@´ ƒ(1 ‡  ¢… ª(¿ª‚øË Œ…@ÈÊ ´ƒƒƒV ›í ´ƒ€ 38¯3ÿ(CÏ0ÅÒ "0¥(P‚KÏÙ¥S(@(<#ÿŽKÿ0ÅÒ ‚K0@µ È 1ÿÍ 0=Ì ´ ¾ ¦(:� ½ ´ƒƒ•— Å‚(8¯#ÿ@ã(<0C� «Ç © Y ˆ Z(28´û ¦ ˆ$¯ †à ƒ(1 ‡Ü  ˜ Y‚“ ‹ Y@è Z@éË�8´ø Ë8¯#ÿ(C§ ƒCÿÄ › ‹€C—(¿ª"(¨05µ õ8¯#ÿ0ÅÒ(C�0§S(¨(6°Ç¦Cÿ 05Ç0¨Å §,¯� ‹P…@ÈP › ‹€E—(¿ªù Hù â8¯(»ª(ã0<·ð04µí0ÅÒ+ÿ0C·06ÐÏÌKÿ(ãC#ÿ0OǦCÿ 3• 0ã#ÿ85窕 ‹P«—   ‹€D— 8@Æ ú(¿ 㪂”õ â(8‚œ¥ð@Ç«—Ë °AY Ÿ8Õ0°! • e(±‚ªÒú > ( ê) ‚'8âúJ$«X§@¨ ƒ—   Ý ¿‚ ã8â‚”(§¾ ¨ì Ê8R 0 Ê8Q 2X§@¨ ƒ�Xâ   ‹€L— ¿‚ù ¨@ã ‚ §BQâ ƒ(; ‡… ˆâ„…A  (¾ª ¥ ƒ â1 2Q¿¾«—…Q„Pì   ‹€K—(¾ª“ùH¾H¿�   ‹€G—¸�!* !) !(!'!&!%!$@» S ‹€T—Ë 0 Kø Å‚ *�…@e@¢ ü Ç@Æ…@Õ È‚Ñ®99Y , ¡ (¿ 㪂”v8â]«—ÔÓ ² "Ü— Y‚"Xà œúX¯(Bµ ·µ 8»ú <•8´ú8à(eª (Ȫ¢ Ñ@®ÈXàËýPXÖ Ž0:µýPÖààà ƒ ª‚ ’ “ • ã ‹Q Ë Ÿ ‚ú â(eª«ª…�­PHã(ɪ gi­ — } ](4 ‡ †f? ƒøà ƒ ¾� ‹Q—…!l„…PAg ± ‹X—ÖË Ž ¦(D07�•ú(:�òA …@e@â ‚Ó –e ‚Ó –!@ÕÂÄ Ö(:0� –êY;Ö Ž1øµ Ž0:µýPÖ0eÒë0ÔÒeç…@Ö0:µë1'µ Œ(²ª• ‹X(¶ I�!‚Š€�Œý�²‘Ò€ÒJöÒüªÂîª@‚Jª±ª€ªÀ Ó1À€<Ë Ÿ e‚  — ‹Q—……PA0Y. Ð@@$,0C·8BÝ  9$ú 8@ôÜ 8=õ 4DLT (1¦(Ï�ä (1¦@Ï  � Ï¥  � X](ɪ.(g©!HgX]0i¶ÑPi©01ÎH\ªP9ãP0ÅÒƒ 3ÒÀSû\û8¿ú  �(ɪ$8] §@h@i…@g!@fi (™¤0l g• i j kPl!ð(�Î'‚SÿG• 0@g…P@i@j@k…@l@h)ÞHº(™H0¨ 5• 00 § f?]Hg­HhHl­PHi0ã(5·,ºªPªPªPÎLºªRºÔÕ(l�«HlhD )Ò�{¬Q¬­(3 É‚XbHaª(2ªK ‡­PH£8ÐX²X#@d;Xc(C0a§ (@� (£Ò½CXdü�Xc£+(¸ªÓ :(¥ P§6¥8²K#(@¦C.(B§(<Ûû � &8²#(O§(<¦ƒC„�CÒKÒ•� �5Ò$ ˆ(O$§0aÒšÕPÒ01Æ ˆ c0d ˆ a‚­8²01(ÏÞÍí § ƒ0ï9 a‚Jb(6‚’÷b” ƒ(aª(2 ‡å ãÕ(2� Óª”ü‚ 5 ׂ   �!*< å   �­ ) � ç@ê!(4  � Ѓ(Ï�`‚P  �…DØ ×(Ù  �­�!  �cÐ1;DJ0ï)~Ï   �(Ø ' �(J· )ðH×HØ!ë< å   � ) �!Û…@Ü!24 Å­Iù  �!+(2  � ï9'ŸÜ �€ �  � ‚ ä �€  J€0ï—PïÕÕ�!§@Í9ÔÞÀûÀYÑ ( �Hئ)Ü@Y*3( � ! H(2  �ú� �ÒJ ) )? � ? �Ö ) ? �÷(е  � Ø@ fX  �X  �1Ö   ÎYJ½$ À‚ 8å å(ת (8 ÛUH ÛÒÀ-E¶(K¶UA �@Á 0½¶P½¦Ô–�*‚ªÀ0IÏ*0ÁÒ�*‚ªÀÁ0IÏ8½¾X½8ŠÝ �  �ýXÀ(½ªê � À0ÅÒÂ9¦0íß ¾ìë! | ö½ ½(Á¦à ÄEND OF FILE WITHOUT ".END", ASSEMBLY TERMINATED FCOM.CMFXREF.STFXREF.XRXREF.SV LICENSED MATERIAL - PROPERTY OF DATA GENERAL CORPORATION .END .IOCI= .SCALL 73 ; IOCS MAGTAPE INIT DEF SYSTEM NAME BER COPYRIGHT (C) DGC,1972,1973,1975 ALL RIGHTS RESERVEDFý„Fý Fþ†HއN£‚SS h/ ß"éoéoÿéƒ8¸ éƒ} éƒ~x 郌里 é‡�x é�Cß"é�”˜ é¥qŸ"!é°F wé°G¸ îé°–‚é°™8�鱃ù)é±– ¡é³c"é´G™2é´™ é¹�™1éº>?-éºL¿éºR?#麗Øz麙{麙ø ùéÑyß"%éóGØ%éõ[éõ]"*éõb"éõ€ÿ"éö;"éöbŸ"éú�Ÿ"éþ~¸jéÿB"1éÿMÿ"&ꀹ(겿".ê:Ùê~ß"ê-™Ÿ"3ê-™¿"4êEv"êFM"êHK ×êHU êêHn ëêHx ÖêPbßêP—":êQC";êQD?%êQD_/êQD¹$êTw"ê½{¸ FêÃz¿"êÉA ˜êãƒß"7êæbŸ")êçsêçuêöHy&êö€Y*ëMØ ³ë6b¿"ë7>ß"ëBNëHq9 ëH€YëH�_"/ë][ë®< ë®Cÿ"ë®n뮀_"뮌뮑뮕?"5뮪 më¯y믒ÿ ë¶’ÿ빃ùë½—" ë¾x ë¿Cß"ëÕ9Ù"ëÖ;"ë×C"2ëßMÿ"'ëâG" ëâL" ëâkß" ë‹'ëæ:ß" ëæt"ëæ~ß"ëë“"ëë”ß ëýD?"$ëý�ÿ""ëý�"#ì˜Øwì ƒù*ì"8ì€"9ì– ªì—ø ®ì˜ «ì˜ø 3ì™ 1ì™8 ­ì.z¿"+ì2Gy.ìWMÿ"6ìu["ì„< ì„Cÿ"ì„LŸ"-ì„nì„€_"ì„…Ÿ",섌ì„‘ìªz8 ìüMØ ¸CLIERŽ=. @Xj‚ž®ÐÜð.>Xfz’ ÈÖê(8Rfˆ ÈÞö(@RlŒ®ÎÜô"<Nbn|Ž¢¶Üö$<N`€’°¾ÌÜô 0@`tލ¾â  " 4 ^ ~ � ¨ Ô   & : V j ~ ” ª ¼ Î ä ø  " 0 D ^ j ~ – ° Ì Þ ð $ J r ¦ Ô ð  . D(®Ûÿÿ®ÿÿÿÿÿÿ  ÿÿILLEGAL CHANNEL NUMBERILLEGAL FILE NAMEILLEGAL SYSTEM COMMANDILLEGAL COMMAND FOR DEVICENOT A SAVE FILEATTEMPT TO WRITE AN EXISTENT FILEEND OF FILEFILE READ PROTECTEDFILE WRITE PROTECTEDFILE ALREADY EXISTSFILE DOES NOT EXISTPERMANENT FILEFILE ATTRIBUTE PROTECTEDFILE NOT OPENFATAL UTILITY ERRORCHANNEL ALREADY IN USELINE TOO LONGATTEMPT TO RESTORE A NON-EXISTENT IMAGEPARITY ERRORPUSH DEPTH EXCEEDEDINSUFFICIENT MEMORY TO EXECUTE PROGRAMFILE SPACE EXHAUSTEDFILE DATA ERRORUNIT IMPROPERLY SELECTEDNO STARTING ADDRESSATTEMPT TO READ INTO SYSTEM SPACEDIRECT I/O ACCESS ONLYFILES MUST EXIST IN THE SAME DIRECTORYDEVICE NOT IN SYSTEMILLEGAL OVERLAY NUMBERNO DIRECT I/OINVALID TIME OR DATEOUT OF TCB'SSIGNAL TO BUSY ADDRESSSQUASH FILE ERRORDEVICE ALREADY IN SYSTEMINSUFFICIENT CONTIGUOUS BLOCKSDUPLICATE READ OR DUPLICATE WRITEERROR IN USER TASK QUEUE TABLENO MORE DCB'SILLEGAL DIRECTORY NAMENO SUCH DIRECTORYDIRECTORY SIZE INSUFFICIENTDIRECTORY DEPTH EXCEEDEDDIRECTORY IN USELINK DEPTH EXCEEDEDFILE IN USETASK ID ERRORCOMMON SIZE ERRORCOMMON USAGE ERRORFILE POSITION ERRORINSUFFICIENT ROOM IN DATA CHANNEL MAPDIRECTORY NOT INITIALIZEDNO DEFAULT DEVICEFOREGROUND ALREADY RUNNINGILLEGAL PARTITION VALUEDIRECTORY SHAREDNO ROOM FOR UFTSADDRESS ERROR IN .SYST ARGUMENTNOT A LINK ENTRYCANNOT CHECKPOINT CURRENT BGSYS.DR ERRORMAP.DR ERRORDEVICE TIMEOUTLINK ACCESS NOT ALLOWEDMCA REQUEST OUTSTANDINGTRANSMISSION TERMINATED BY RECEIVERSYSTEM DEADLOCKCHANNEL CLOSED BY ANOTHER TASKSPOOL FILES ACTIVETASK NOT FOUND FOR ABORTDEVICE PREVIOUSLY OPENEDSYSTEM STACK OVERFLOWNO MCA RECEIVE REQUEST OUTSTANDINGATTEMPT TO RELEASE AN OPEN DEVICEA ZERO .XMT OR .IXMT MESSAGEYOU CAN'T DO THATTOVLD NOT LOADED FOR QUEUED OVERLAY TASKSOPERATOR MESSAGES NOT SYSGENEDDISK FORMAT ERRORINVALID BAD BLOCK TABLEINSUFFICIENT SPACE IN BAD BLOCK POOL (CORE)ATTEMPT TO CREATE A ZERO LENGTH CONTIGUOUS FILEPROGRAM NOT SWAPPABLEBLANK TAPEALM LINE NOT READYCONSOLE INTERRUPT RECEIVEDREAD OVERRUN ERRORREAD FRAMING ERRORTOO MANY SOFT ERRORSNOT ENOUGH ARGUMENTSILLEGAL ATTRIBUTENO DEBUG ADDRESSCOMMAND LINE TOO LONGNO STARTING ADDRESSCHECKSUM ERRORNO SOURCE FILE SPECIFIEDNOT A COMMANDILLEGAL BLOCK TYPENO FILES MATCH SPECIFIERPHASE ERRORTOO MANY ARGUMENTSTOO MANY ACTIVE DEVICESILLEGAL NUMERIC ARGUMENTFATAL SYSTEM UTILITY ERRORILLEGAL ARGUMENTYOU CAN'T DO THATTOO MANY LEVELS OF INDIRECTSYNTAX ERROR INSIDE []SYNTAX ERROR: UNMATCHED OR NESTED []SYNTAX ERROR: UNMATCHED OR NESTED ( )SYNTAX ERROR: "<" WITHOUT ">" OR ">" WITHOUT "<"SYNTAX ERROR: ILLEGAL NESTING OF < > AND ( )ILLEGAL INDIRECT FILE NAMESYNTAX ERROR: ILLEGAL NESTING OF () AND []ILLEGAL VARIABLEILLEGAL TEXT ARGUMENTTEXT ARGUMENT TOO LONGGAMESDRfee BIORYTHMNRB àp . . $ýÿ³ãêbÿÿ ÿßÿÿ ÿß üÿ ¸3S} ÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@sãêbÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ§oÆe ÿPf ÿ–fCFÿ€gCªÿ®g ÿñÿ7­`iCnÿÍ“ÿP¸¹ÿbéñÿËé#qÿñÿþîÍéÃ9ÿÜécLÿÜéÃNÿÝ郜ÿáécŽÿñÿbþêÿ¾ê ÿ¾êÿßëc†ÿæëC€ÿþÿD¼ ÿÿ ôßþÿHû· ûÿDÄë3S}ñÿ’D’$’$o    ñÿ’DœÈäD&ˆ<  ûÿ”D”µ<pÿÿ@Ü¿#ýÿÂ/3S}ÿÿ@ÿ¿óÿ’D’$€$úpÿÿòÿñÿdG’$”$Ì#  ‰‰G‹/PÕµÕÔÒ3ñÿE’$’D¯1L‹'P­¥�CP…ŽCLŽ#ƒŽC�+ñÿâD’D¢$Q?�ú ‰'�/މO;‰'ñÿœD%’DþYMŠ/¦‰G  €ˆ�# ‰�­¬‹'ñÿY’$’$ßÊ[ ‡�K�­Ï@Ž ÄÕÔ�+·Òñÿ’Hd;’$ßin‰/PÕΉO  ‹NEET Rñÿ’D’$"9ýÊwUOPTTUF LI EANEM: †Šôÿ”D%$á… Œ�S(91!)ñÿ”X’(’$˜� ÿÿ‰ €…”#P­�¬ªñÿK’$’$L(ž± **U*ANLB EOTO EP NUOPTTUñÿ’D9’$Q ¬F LI*E** ‹HWTAI SOYñÿ’D$'”$#UºRUN MA?E †Š Œñÿ"G’$’$DÙÈ †NEET RIBTR HADET( ñÿ’D’$’$Ó²Ö.E.G5 2,,79154:) ñÿ’D"'’$°.ä—# „�Õ·@–Œ­¬ñÿ”DœÈ’DPòªú ƒ¦—C †NEETñÿ’D’$’$q RTSRA TADET( .E.G1 ,1,19147ñÿ’D’$œ$ø:) š# ñÿ’H’$"+Œê„�Õ·@–Œ­¬ª+ ƒ¦ñÿ"G’$’$m*šC †OH WAMYNM NOHT SOWñÿ’D’$’$D8LU DOY UILEK ?—#š+ñÿ’D$%’$·8F¥Z‚\‚ÉOc•#˜+¥Z‚ñÿ”D’H”$úT\‚ÉZc–#™+¥�Z‚Éñÿ"Kä$’$ä›bc ‚œCš+—3Í ��Õ—@¶ Œ…ñÿ’DdE’$º(p„‚w< $!ñÿY’$’$­ë~ $"¡#¢+¥š+—3Í¡CñÿäD’Ä’$ÜŒ¢K¢# € ¡#ŽœK—#š3•ÕÔÒñÿ¢D”D’$ºìšŸá—#�CÏ�#ƒ�Cš+�Õñÿ’D¢Ä’ÈX¨·@–�÷ !ˆ¡# ‰�­¬ñÿ”D’$’ÈK¶ª¾œ#P­¦œCœ# ‰�Õ·@–ñÿ’D%+•²ÄŒ­¬ªÍ<£ !ñÿäH’$’(–Òˆ¡# ‰�­¬ªáœ#P­¥ñÿ"G’$’$·dàœC †HSLA L IRPNI THT Eñÿ’D’$’$·ãîABKCRGUODNM TAREAI L0(N=,O=1ñÿ’D’$’$²ÏüEY)S ?�#P­�¬ªñÿE’È’$–p g ‰ T EH' B Iñÿ’D’$’$RY O R H Y T H'MT EHRO YTSTASEñÿ’D’$œ$f*&T AH TUHAM NILEV SOMEV ñÿ’H’$’$T�4‰NIP ERIDTCBAELU DNLUTAñÿ’D’$’$ÄßBOISNI VNLOIVGNT RHEES PERATAñÿ’D"'’$ûkP EYCLCSE: ‰ ( )AP ñÿ’D’$ä$×è^YHISAC L 32D YAS ‰ñÿ’D’$’$el ( )BE OMITNOLA 82ñÿ’D’È’$CËzD YAS ‰ ( )CI TNLEñÿ’D’$"'«ˆELTCAU L 33D YA S ‰ñÿ’D’$’$Ÿ®–HTRE ERA EHTER EAMOJ RRAAEñÿ’D’$’$?…¤ SOTT IH SHCRA TOTB EBOESVRñÿ’D’È’$²DE : ‰ M NISU- Z ñÿ’Dœ$’D(|ÀRE O -LPSU  ‰**Z ñÿ’D9’$¹üÎRE O** ‰HT EAD YHTñÿ’D’$’$�âÜTAT EHC CYELS IWCTEH SRFMOP ñÿ’D’$’$:êUL SOTM NISUO RIMUN SOTñÿY’$’$ ´ø ‰LPSUI S ARCTICILAD ñÿ’D’$’$¶YA .I TSID FENIDEA SRCTICIñÿ’D’$’È5ÊLAB CEUAESY UO ‰RAñÿ’D’$’$�ß" EENTIEH RPUN ROD WO,NB TUI ñÿ’D’$ä$õÇ0 N ATSTA EFOL MIOB . ‰ñÿ’D’$’$ i>A( )FIP YHISAC LYCLC EHTñÿ’D’$’$ZèLNEP OELP EETDNT OEBA CCDINEñÿ’D"'’$ïcZ TRPNO.E ‰B( )FIE ñÿ’D’$’$‡hOMITNOLAC CYELT EH NOPSSBIELñÿ’D’$ä$ÝzvE OMITNOLAO TUUBSRST. ‰ñÿ’D’$’$œh„C( )FII TNLEELTCAU LYCLCñÿ’D’$’$9×’ ETII NST'A SMIOPTRNA,TB Yñÿ’Dä$’$èn TIESFL ,SA ‰ HTñÿ’D’$’$6¤® ETOEH RWT OYCLCSE .I TODSEñÿ’D’$’$²Ü¼C IOCNDI EIWHTT EHO HTRET OWñÿäD’$’$tÊ ‰ NA DAH S AOCñÿ’D’$ä$íÂØTNIRUBOTYRE FFCE.T  ‰ñÿ’D’$’Ènyæ**P UL S** ‰A(ñÿ’D’$’$é;ô )UDIRGNT EH1 1/1 2LPSUD YAñÿ’D’$’$¢ STII S AOGDOT MI EOF RNIETñÿ’D’È’$�fSNVIE ‰ RTIAINGNñÿ’D’$’$`I NTALHTECI SROF ROA YNA TCñÿ’D’$’$ØÐ,VITI YERUQRINI GHPSYCILAñÿY’$ä$³Ð: ‰ TSMANI.A ‰ñÿ’D’$’$õ´HB( )UDIRGNT EH1 4LPSUD ñÿ’D’$’$͇VYA,SB TO HEM NNA DOWEM NRA Eñÿ’D"'’$äTdRPNO EOT ‰ HCEEñÿ’D’$’$¹rFRLUENSS ,OCPORETAOI,NA DNA ñÿ’D’$’$Lê€P SOTIVI EUOLTOO KNOL FI.Eñÿ"G’$’$daŽ ‰C( )UDIRGNT EH1 6ñÿ’D’$’$<Ùœ/1 2LPSUD YA SFOT IH SYCLC,Eñÿ’D’$"'-þªA P REOS NIFDN STI ‰ñÿ’D’$’$`¸ AEISRET OTSDU,YW IRETñÿ’D’$’$±£ÆC ERTAVILE,YU DNRETSNA DAMHTñÿ’Dä$’$£UÔMETACI SRO ‰ UPñÿ’D’$’$w”âSREUA YNI TNLEELTCAU LFEOFTRñÿ’D’È’$G!ð.S  ‰**M NISU* *ñÿ"G’$’$öeþ ‰A( )UDIRGNT EH1 1ñÿ’D’$’$ɳ /1 2IMUN SADSYC PACATIEI SRAñÿ’D’$"'Èü EELSSNEDE .T EHES ‰Nñÿ’D’$’$*( RA EADSYB TEET RPSNE Tñÿ’D’$œ$~6NIR VEEI WROP ARTCCI.E ñÿ’H’$’$µÑD‰B( )UDIRGNT EH1 4IMUNñÿ’D’$’$>¥R SADSYP REOSSNA ERC NOEVSR Eñÿ’Dä$’$ôV`OTT EHP ULS ‰ ADñÿ’D’$’$Ç“nSY .B TO HEM NNA DOWEM NRA Eñÿ’D’$’$>ß|OCDNCUVI EOTM OOIDENSSA DNñÿ"G’$’$ðSŠ ‰ ENAGITIVMS.ñÿY’$’$@˜ ‰C( )UDIRGNT EH1 6/1ñÿ’D’$’$Pu¦ 2IMUN SADSY ,EPSRNO SRA EWAñÿ’D’$9jM´RA EFOA R DECUDE ‰ñÿ’D’$’$ü IVATILYTA DNE DNRUNAEC .ñÿ’D’$’$ÁÙÐI NHSRO,TY UOW LI LITERE SAñÿ’D9’$¡2ÞLI YNO ‰ HTSE Eñÿ’D’È9³ìADSY. ‰  ‰ñÿ’D"'’$±,ú N O T E: ‰1 .TIT ñÿ’D’$’$ŸKASE5 +8Y AESRT OYCLC EABKCñÿ’D’$ä$›ÇT OOYRUB RIHTD TA.E  ‰ñÿ’D’$’$U$2 .RTEUT IRLP ERCTICILAñÿ’D’$’$„¸2P IOTN SCOUC RNOYLE EVYR2 9ñÿ’D9’$13@EYRA.S ‰ LA LRTñÿ’D’$’$SžNEUA DNN AE RRTPIELP IOTN SIWñÿ’D’$"'ºþ\LLB EHSWO NYB' '#. ‰ñÿ’DÉ¢$^^j  ‰u•"(ñÿ’D’$’$“‘xA THT ETSRA TFOT IH SHCRA Tñÿ’D’$’$©ç†OY UIWLLB "E6I "ADSYO DL".!)ñÿ$G”$%Âá” ‰ž Œº/(//ñÿ’D’$’$¿¢ "HTSIC AHTRP ERAPER DSEEPICñÿ’D’$"9­9°LAYLF RO" 1S/9//!) ‰¾ñÿE’$’$¬F¾×"(" 2T"3IMUN"S3T"7EZORT"ñÿ’D’$’$’…Ì25P"UL"S9/6X(0-")"!)P…�Cñÿ’HœÈ’$AÚï�#ƒ�C ��ù !ñÿäHb%ä(–‡èê  é¡GÛ !ˆ¡# ‰ñÿ’Db%dEdƒö�­¬ª !‡ ñÿG¢(âÈ Ç¡G !~ * ¡G !ñÿbEdË,Û¦ê}!{ŽzñÿlY”8,ÇÃy x !z!vñÿlYdËâØCÕ.Žzx !ñÿbEdË,ÛŒê<u!sŽzñÿlY’8%BÄJx  !WP ñÿâH”$9I>XV¡G !bE a¡G ñÿ’Dä(’$,f! mI l¡Gž#Ÿ+�­ñÿ’D’$¬$¡ßt¬Ÿ3 #¡KÅ…„¡+§‚Œ ñÿ’Dä(”8§²‚!‰# ˆ¡G !„ñÿäD’D’$­Æ�¡#�C ‰¡ñÿ’D’D’$Y‘ž¯"(" 2I/"I""2"/2I6,ñÿœD’$"G)1¬A0)1! !·  ¶¡Gñÿ’X%GÞ’º !  Á¡G ñÿ”D9¢$§³È! Í  Ì¡G !~ñÿäH’$â$´ÔÖØ* סGœ#P­¦œC™3¶™S ñÿ’H’$’$#Zä!™#¡/�Õ·@–�­¬ªñÿ¢H’$ä$˜,òõ<P…™C˜+PÕΘK›#Å›C ‰ñÿ’D%9å�­¬ª d˜# Š�Õ·ñÿ’D¢$’DÆ>@–�­¬ª<P…˜Cš+PÕñÿâDdE”8ΕΚK !‡ z¡G !ˆñÿ"G’$¢XÖP*¡# ‰�­¬ª< !ñÿ"K9’$J8‡ ¡Gœ# ‰�Õ·@–Œ­¬ªñÿ¬D’$’$æFb **U*ANLB EOTH NALD Eñÿ’D’$’$ÏuTGASEB YENO D237,76D YA*S**òÿdE¢D�$ü,b ‰ho1(,X ")"!ñÿœX’$’$5o ÿÿ B!BBBñÿ’D’$’$Ó_}mYÿÿld  úÿ’D OÉ‹ <dAí‡ÿÿ@o·�÷ÿ€Hµ«_ x‘u±ÁNp8êÿÿÿÿ û_€GHMASV (ee I(g,ÿÿgÿÿÿÿÿÿ%ÿÿÿÿJÿÿ ’  I5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚BIORYTHMNFR i m . "C ***BIORYTHMN CHARTING PROGRAM*** C C 8/2/74 C B.J. C PARAMETER TWOPI = 6.2831853 C C DEFINE A BLANK LINE ARRAY C DIMENSION LINE(60) C C DEFINE ARRAYS FOR FILENAME AND VICTIM C INTEGER FILENAME(10),VICTIM(10) C C DEFINE DAYS PER MONTH ARRAY C COMMON /CBIO/ IDPM(12) DATA IDPM /31,28,31,30,31,30,31,31,30,31,30,31/ C C USE LITTLE KNOWN FEATURE OF DGC FORTRAN C TO DEFINE A FUNCTION IN THE MAIN PROGRAM C FUNCTION IDAYS(ID,IM,IY) IDAYS = 0 IF (IM .EQ. 1) GO TO 1002 J = IM - 1 DO 1001 I = 1, J 1001 IDAYS = IDAYS + IDPM(I) 1002 IDAYS = IDAYS + ID IF ((MOD(IY,4) .EQ. 0) .AND. (IM .GT. 2)) IDAYS = IDAYS + 1 RETURN END C C GET THE NAME OF THE OUTPUT FILE AND OPEN IT C TYPE "ENTER OUTPUT FILE NAME:" READ(11,100) FILENAME(1) 100 FORMAT(S19) CALL OPEN(0,FILENAME,3,IERR) IF (IERR .NE. 1) STOP ***UNABLE TO OPEN OUTPUT FILE*** C C FIND OUT THE GOODIES C TYPE "WHAT IS YOUR NAME?" READ(11,100) VICTIM(1) 1 ACCEPT "ENTER BIRTH DATE (E.G. 5,27,1945): ",IBM,IBD,IBY C C YEAR MAY ALSO BE GIVEN AS JUST C THE LAST TWO DIGITS, IN WHICH CASE C TWENTIETH CENTURY IS ASSUMED C IF (IBY .LT. 100) IBY = IBY + 1900 ACCEPT "ENTER START DATE (E.G. 11,1,1974): ",ISM,ISD,ISY IF (ISY .LT. 100) ISY = ISY + 1900 ACCEPT "HOW MANY MONTHS WOULD YOU LIKE? ",NMONS C C MAKE SURE THE TURKEY ISN'T C TRYING TO CHART HIS MOTHER'S C PREGNANCY OR WORSE... C IF (IBY - ISY) 4,2,1 2 IF (IBM - ISM) 4,3,1 3 IF (IBD - ISD) 4,4,1 C C COMPUTE HOW MAY DAYS OLD AT START OF CHART C 4 IDAGE = -1 IF ((ISY - IBY) .GT. 89) GO TO 10 IDAGE = IDAYS(ISD,ISM,ISY) - IDAYS(IBD,IBM,IBY) + 365*(ISY - IBY) IF (IBY .EQ. ISY) GO TO 6 DO 5 I = IBY, ISY IF (MOD(I,4) .EQ. 0) IDAGE = IDAGE + 1 IF (IDAGE .LT. 0) GO TO 10 5 CONTINUE IF (MOD(ISY,4) .EQ. 0) IDAGE = IDAGE - 1 6 CONTINUE C C PRINT THE BACKGROUND MATERIAL C IF REQUESTED C ACCEPT "SHALL I PRINT THE BACKGROUND MATERIAL (0=NO,1=YES)? ",I IF (I .NE. 1) GO TO 7 WRITE (0) " THE 'B I O R H Y T H M' THEORY STATES THAT HUMAN LIVES MOVE" WRITE (0) "IN PREDICTABLE UNDULATIONS INVOLVING THREE SEPARATE CYCLES:" WRITE (0) " (A) PHYSICAL 23 DAYS" WRITE (0) " (B) EMOTIONAL 28 DAYS" WRITE (0) " (C) INTELLECTUAL 33 DAYS<15>" WRITE (0) "THERE ARE THREE MAJOR AREAS TO THIS CHART TO BE OBSERVED:<15>" WRITE (0) " MINUS - ZERO - PLUS<15><15>" WRITE (0) "** ZERO **" WRITE (0) "THE DAY THAT THE CYCLE SWITCHES FROM PLUS TO MINUS OR MINUS TO" WRITE (0) "PLUS IS A CRITICAL DAY. IT IS DEFINED AS CRITICAL BECAUSE YOU" WRITE (0) "ARE NEITHER UP NOR DOWN, BUT IN A STATE OF LIMBO.<15>" WRITE (0) "(A) IF PHYSICAL CYCLE THEN PEOPLE TEND TO BE ACCIDENT PRONE." WRITE (0) "(B) IF EMOTIONAL CYCLE THEN POSSIBLE EMOTIONAL OUTBURSTS." WRITE (0) "(C) IF INTELLECTUAL CYCLE IT ISN'T AS IMPORTANT, BY ITSELF, AS" WRITE (0) " THE OTHER TWO CYCLES. IT DOES COINCIDE WITH THE OTHER TWO" WRITE (0) " AND HAS A CONTRIBUTORY EFFECT.<15><15>" WRITE (0) "** PLUS **" WRITE (0) "(A) DURING THE 11 1/2 PLUS DAYS IT IS A GOOD TIME FOR INTENSIVE" WRITE (0) " TRAINING IN ATHLETICS OR FOR ANY ACTIVITY REQUIRING PHYSICAL" WRITE (0) " STAMINA." WRITE (0) "(B) DURING THE 14 PLUS DAYS, BOTH MEN AND WOMEN ARE PRONE TO" WRITE (0) " CHEERFULNESS, COOPERATION, AND A POSITIVE OUTLOOK ON LIFE." WRITE (0) "(C) DURING THE 16 1/2 PLUS DAYS OF THIS CYCLE, A PERSON FINDS IT" WRITE (0) " EASIER TO STUDY, WRITE CREATIVELY, UNDERSTAND MATHEMATICS OR" WRITE (0) " PURSUE ANY INTELLECTUAL EFFORTS.<15><15>" WRITE (0) "** MINUS **" WRITE (0) "(A) DURING THE 11 1/2 MINUS DAYS CAPACITIES ARE LESSENED. THESE" WRITE (0) " ARE DAYS BETTER SPENT IN REVIEW OR PRACTICE." WRITE (0) "(B) DURING THE 14 MINUS DAYS PERSONS ARE CONVERSE TO THE PLUS" WRITE (0) " DAYS. BOTH MEN AND WOMEN ARE CONDUCIVE TO MOODINESS AND" WRITE (0) " NEGATIVISM." WRITE (0) "(C) DURING THE 16 1/2 MINUS DAYS, PERSONS ARE AWARE OF A REDUCED" WRITE (0) " VITALITY AND ENDURANCE. IN SHORT, YOU WILL TIRE EASILY ON" WRITE (0) " THESE DAYS." WRITE (0) "<14>" WRITE (0) "N O T E :" WRITE (0) " 1. IT TAKES 58+ YEARS TO CYCLE BACK TO YOUR BIRTH DATE.<15>" WRITE (0) " 2. TRUE TRIPLE CRITICAL POINTS OCCUR ONLY EVERY 29 YEARS." WRITE (0) " ALL TRUE AND NEAR TRIPLE POINTS WILL BE SHOWN BY '#'." 7 WRITE (0) "<15><15><15>" C C PRINT AGE IN DAYS AT START OF CHART C WRITE (0,200) IDAGE v 200 FORMAT(" AT THE START OF THIS CHART YOU WILL BE"I6" DAYS OLD.") WRITE (0,300) VICTIM(1) 300 FORMAT(///" THIS CHART PREPARED ESPECIALLY FOR "S19///) C C PRINT THE CHART HEADER C AND INITIALIZE THE LINE ARRAY C WRITE(0,400) 400 FORMAT(" "T23"MINUS"T37"ZERO"T52"PLUS"/9X60("-")) DO 8 I = 1, 60 8 LINE(I) = " " C C IF THIS IS A LEAP YEAR THEN C ALTER THE DAYS PER MONTH C IF (MOD(ISY,4) .EQ. 0) IDPM(2) = 29 LINE(30) = "*" C C START OF MAIN LOOP: C C LOCATE THE CURVES C 9 IP = SIN(MOD(IDAGE,23)/22.*TWOPI)*28 + 30. IE = SIN(MOD(IDAGE,28)/27.*TWOPI)*28 + 30. II = SIN(MOD(IDAGE,33)/32.*TWOPI)*28 + 30. C C PRINT A LINE OF THE CHART C LINE(IP) = "P" LINE(IE) = "E" LINE(II) = "I" IF ((IP .EQ. IE) .AND. (IE .EQ. II)) LINE(IP) = "#" I = MOD(ISY,100) WRITE(0,500) ISM,ISD,I,LINE 500 FORMAT(" "I2"/"I2"/"I2,60A1) C C RESTORE LINE C LINE(IP) = " " LINE(IE) = " " LINE(II) = " " LINE(30) = "*" C C UPDATE CALENDAR C IDAGE = IDAGE + 1 ISD = ISD + 1 IF (ISD .LE. IDPM(ISM)) GO TO 10 ISD = 1 ISM = ISM + 1 NMONS = NMONS - 1 IF (NMONS .EQ. 0) GO TO 1046 IF (ISM .LE. 12) GO TO 10 ISM = 1 ISY = ISY + 1 IDPM(2) = 28 IF (MOD(ISY,4) .EQ. 0) IDPM(2) = 29 10 IF (IDAGE .LT. 0) STOP ***UNABLE TO HANDLE AGES BEYOND 32,767 DAYS*** GO TO 9 C C EXIT HERE AND CLOSE FILES C 1046 WRITE (0,1047) 1047 FORMAT(1X,"<014>") CALL RESET END GHMAT+e }  .TITL GHMA .NREL STRT: .SYSTM .MEM JMP .+1 MOV 0,2 .SYSTM .ERTN .END STRT BIORYTHMNSV Œ . . &1 r v i m � w †–¨ý;`�'&r—ä1>B“‹(7GªÄÍá l‡”°½¸ÍìvuÕó)EGIKM¸ºÏÍëç  Got‹­¹±9•Ÿ¨²ÀÙâãùø�PÿÿPÿÿÿÿÿÿÿÿÿÿ²ÿÿ/    < D3 D7 D;<› ~ h ´G‰/‹ÕPµÕÔÒ^w'‹­P¥C�…PCŽw#ŽƒCŽ+��ú F,'‰/�ŽO‰f'‰/ЦG‰ H€ ³#� i ´�­¬'‹ j ²K�­�ÏŽ@Ä ÕÔ+�·Ò™/‰ÕPÎO‰ s s ) ¶ENTER OUTPUT FILE NAME: ( ±µ ·»(S19)! pd ´€ °#”­P�¬ªÜ n***UNABLE TO OPEN OUTPUT FILE*** ) ¶WHAT IS YOUR NAME? ( ±µ · ( ±ENTER BIRTH DATE (E.G. 5,27,1945): #— i ¯Õ�·–@Œ­¬ª% i ®¦C— ( ±ENTER START DATE (E.G. 11,1,1974): #š i ¯Õ�·–@Œ­¬ªV i ®¦Cš ( ±HOW MANY MONTHS WOULD YOU LIKE? #—+š¥‚Z‚\ôzŽ#•+˜¥‚Z‚\ô…Ž#–+™¥�‚ZôŽ h ­Cœ+š3—Í h ¬Õ�—¶@Œ …„‚¢ g pO! pO"#¡+¢¥+š3—ÍC¡K¢#¢ i « I#¡ŽKœ#—3š•ÕÔÒÊ #—C�ú#�ƒC�+šÕ�·–@�÷ H! ³#¡ i ´�­¬ªé#œ­P¦Cœ#œ i ´Õ�·–@Œ­¬ªø gÎ H! ³#¡ i ´�­¬ª #œ­P¥Cœ ( ±SHALL I PRINT THE BACKGROUND MATERIAL (0=NO,1=YES)? #�­P�¬ª9’ ) ´ THE 'B I O R H Y T H M' THEORY STATES THAT HUMAN LIVES MOVE ) ´IN PREDICTABLE UNDULATIONS INVOLVING THREE SEPARATE CYCLES: ) ´ (A) PHYSICAL 23 DAYS ) ´ (B) EMOTIONAL 28 DAYS ) ´ (C) INTELLECTUAL 33 DAYS  ) ´THERE ARE THREE MAJOR AREAS TO THIS CHART TO BE OBSERVED:  ) ´ MINUS - ZERO - PLUS  ) ´** ZERO ** ) ´THE DAY THAT THE CYCLE SWITCHES FROM PLUS TO MINUS OR MINUS TO ) ´PLUS IS A CRITICAL DAY. IT IS DEFINED AS CRITICAL BECAUSE YOU ) ´ARE NEITHER UP NOR DOWN, BUT IN A STATE OF LIMBO.  ) ´(A) IF PHYSICAL CYCLE THEN PEOPLE TEND TO BE ACCIDENT PRONE. ) ´(B) IF EMOTIONAL CYCLE THEN POSSIBLE EMOTIONAL OUTBURSTS. ) ´(C) IF INTELLECTUAL CYCLE IT ISN'T AS IMPORTANT, BY ITSELF, AS ) ´ THE OTHER TWO CYCLES. IT DOES COINCIDE WITH THE OTHER TWO ) ´ AND HAS A CONTRIBUTORY EFFECT.  ) ´** PLUS ** ) ´(A) DURING THE 11 1/2 PLUS DAYS IT IS A GOOD TIME FOR INTENSIVE ) ´ TRAINING IN ATHLETICS OR FOR ANY ACTIVITY REQUIRING PHYSICAL ) ´ STAMINA. ) ´(B) DURING THE 14 PLUS DAYS, BOTH MEN AND WOMEN ARE PRONE TO ) ´ CHEERFULNESS, COOPERATION, AND A POSITIVE OUTLOOK ON LIFE. ) ´(C) DURING THE 16 1/2 PLUS DAYS OF THIS CYCLE, A PERSON FINDS IT ) ´ EASIER TO STUDY, WRITE CREATIVELY, UNDERSTAND MATHEMATICS OR ) ´ PURSUE ANY INTELLECTUAL EFFORTS.  ) ´** MINUS ** ) ´(A) DURING THE 11 1/2 MINUS DAYS CAPACITIES ARE LESSENED. THESE ) ´ ARE DAYS BETTER SPENT IN REVIEW OR PRACTICE. ) ´(B) DURING THE 14 MINUS DAYS PERSONS ARE CONVERSE TO THE PLUS ) ´ DAYS. BOTH MEN AND WOMEN ARE CONDUCIVE TO MOODINESS AND ) ´ NEGATIVISM. ) ´(C) DURING THE 16 1/2 MINUS DAYS, PERSONS ARE AWARE OF A REDUCED ) ´ VITALITY AND ENDURANCE. IN SHORT, YOU WILL TIRE EASILY ON ) ´ THESE DAYS. ) ´  ) ´N O T E : ) ´ 1. IT TAKES 58+ YEARS TO CYCLE BACK TO YOUR BIRTH DATE.  ) ´ 2. TRUE TRIPLE CRITICAL POINTS OCCUR ONLY EVERY 29 YEARS. ) ´ ALL TRUE AND NEAR TRIPLE POINTS WILL BE SHOWN BY '#'. ) ´  ) ´ À(" AT THE START OF THIS CHART YOU WILL BE"I6" DAYS OLD.")! ) ´É ·å(///" THIS CHART PREPARED ESPECIALLY FOR "S19///)! ) ´é(" "T23"MINUS"T37"ZERO"T52"PLUS"/9X60("-"))!…PC�#�ƒC� i ¸�ù F! hG¡ H! ³#¡ i ´�­¬ª0 F,! ² h ªG¡ F! ©8* h7G¡ H! ¨ Y! S ¦ X S ¹ W L Y ¥ W S £ U Z H! ¥ Y! S ¡ X S ¹ W L Y ¥ W S £ U Z H!   Y! S ž X S ¹ W L Y ¥ W S £ U Z F!‚P h�G¡ F!�E hŒG¡ F! ˜I h—G¡#ž+Ÿ�­¬3Ÿ# K¡Å…„+¡§‚· F!´# h³G¡ H! ¯#¡C� ) ´ÌÚ(" "I2"/"I2"/"I2,60A1)! F!â háG¡ F!í hìG¡ F! ø h÷G¡ F! © * h G¡#œ­P¦Cœ3™¶S™ F,!#™/¡Õ�·–@�­¬ª  g…PC™+˜ÕPÎK˜#›ÅC› i ´�­¬ª 4 �#˜ i µÕ�·–@�­¬ª C g…PC˜+šÕPÎKš F,! ² h ¥G¡ H! ³#¡ i ´�­¬ª g F,! ² h ªG¡#œ i ´Õ�·–@Œ­¬ª � n***UNABLE TO HANDLE AGES BEYOND 32,767 DAYS***; ) ´ “ š(1X," ")! p sB !BBBmYÿÿld  À#• -!‰+™� !�� !„� ­#• |•#�‚�#žC© /’1H ?•î ê ¾ » 9#”C• 7ÿ•GŸ1…+—ª ÒJ#˜�+ŽÒ‹¥ 23¡"ÿ–"ÿ)'¦'Bÿ3¡"þ)§ €Ù u…GŸ+Ÿª`ÂP2ÿÑÐ` f3¡"‚ "ý‚…�*þªÀŽ'Ÿ¦GŸ+Ÿ#žŽKŸÄÿ€,àÿ´3¡*ÿKÇ1üö…BÓÇý)ôJÿ .‚ Ì\…8…3¡#©–žD…"ÿ+³‚«¦BÿÑÐùø…õ8…4…\…)83¡;©ù"‚€BÓûû«õ8¨îíÿüª #“C’3– A" § ³#‰3–‚ #“C’ Aa#‰‚ ^#’’ -­ |?#’ -)s |‹#“3– @C’L## < 3Œ+›ª «J#�B3ÄÒœCÀSÁK¿Ä3ŒÒ "C� = Ä#Ä‚œ#Å‚   3›#‰‚  >…PC› >ù3™#‰‚  ? ð ?’êÀ™ u Þ!þC� ñ#›CŽÞ+’#“3œ´–ÒJð#•­ |3œÓƒC•#”+ŸªP fY 3œ#Ÿ‚P >PµSÇ#’) ,C’I3›#‰‚  >±SÇ#’) ,C’« #•)þ |3œÒ�1¾Å+ŸªP1º f,3œ)¶µÒJSÇ#’)ë ,C’)­²¶#Ÿ‚P >­#• |•#” {ƒ1Í ü1Í 1 Í „…GŸ€¹ uû õFT 3Â#—‚ 3œÑ÷#’ÐSÇ)¹ , -)ð?Ÿú )î |ƒC’è'�C��3� RCŸ…PC +�h < 7�")� !O•SÇ R’*3‹J+�JR3ÇÓCÇ PGÇ ½ `3‹…Bô3‹"‚ 3� RCÇ!)3�– P/ÇŽOÇ„P3�• P/Ç¥3‹"C�Û3� RC¥×3� RC¦Ó� = Î) 3�ÎK� R’;‹+Jó3� RCÇ“ RCŸ3Ç R’ EC ")�K�1´¶"Cž1¶"CÂ3 #�)æ¥J ¥­ÒPS   ¾  Þ#�‚P+‰ª )CÃÕS ?C#Ã�€ {1ïµSÇÒ#’ -)è |’#à {ª ƒü3Ç‚�C�Ò 3–#“+’ @4C’ ½ xÕP¦ð#�ò GKŸ…PC 3�"ÆC�Ó P’¤š3�#�Bˆ#—‚ º#š‚ ##Æ‚ #‰‚  #’ -)­ |‹#“3– @…CACüs#¥)µ #¦‚ 3�Bˆô€é u UÅ#¿C›#ÀC�#ÁCÄ›%C™ C *LA Ë ÷S#Æ‚ O#—‚  #™)ó� D)ñ� ñ)ò� í#�+žK©+’K¤‚�O3¡…Bý#žBÿÊP–…Bÿ#Ÿ‚`3žÑÐ` f3¡'Ÿ‚Ný)&§ÀBþ"Cà 6C¢#¨C£#—‚ #™)� )� 9+£3ŽÍK£) � [) � €™ uV EF &DG+ž3 … Š‚¬#Ÿ’¶SŸÕPS ‚PªP3– B# »'Ÿ 9+œ3—Ò +ÂKœ’ :#¤+œ¦C’+Ÿ õ#Ž+£ŽK£+œ#˜Œ²BCÃ#¢3£ :+ë3£ÒKÕ ;#™)Æ� ã1 )#’SÇ ,C’Ü *3œ)þô#Ž•S£+œ#˜�!ô�ªJô3Ž#¢ :+˜«3ŽÒKÕ ;#’ -)› |’#”C•#Â#£ 9)Û’ :²#ÂCœ#�)‚š)K˜Ú3£ÒJÒ#˜ÅÏ+œ1ÈÍ«\……8…CÒ3¡#©Bÿ)`†P¦Bþ…)ZBÓ«ýCËBýCÌCÎ#”CÑ#Ñ {Ѫ 61Rµ ù1Jµ 1Hµ Ë#Ñ {Ѫ '1Cµ );1;µ .19µ +17µ $15µ &13µ #!+3�–¤´�#Ì‚ ΢3�SÏ 0‚ 4Ø€Ù u3¡#ËBý#Î 2#Ò…4…Ì…�CÒÉÑ 7ÿÑ+ΦCÎÒìÿû@0+-.ED ÿª\…8+¡3©SɶSÈ3ÏÈ/È ŠOÈÉû4…\…8#¡CÈ#©CÉ3ÏÉ…/È ŒÉ4…OÈÈø\……83�‚J‚J$CÊ…PCÐ#Ê‚› …SÏ 0‚ 43ÏÐ#ÊЂ•6CÊÊ… Š‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 33�…PCÐ#Ê‚› SÏ 1 33ÏÐ#ÊЂ•CÊÊ… Š‚²ì…CÐ#Ê‚PCÊéÊç­ 5…4…8\……83¡"ª‚(:ÿ\…ÞX‡‚‡$‡L‡Š…û"þ)&¥Bþ"­î9!çÞïÀ‡$‡‚ÀŸîåL‡Š9…ö"þ)¥BþÍ:ÿ\…P‡<‡‡úÓ…ûZþÂÿ\……83¡P‡*ÿL…9øŸ ‚Á‡,‡¿ÀæD‡9ï¢Àç…÷"þƒƒBþ¥,‡D‡‡¢…û"þ)ݦBþš\…… 33¡"‚9ç9"ÿD…Æ@‡ªP‡$‡‚@D‡…ûûôþ‚ùÿü@ð\……8…CÎ3¡*ÿK©"þ)ó¥Bþ+ÎŽKÎ�­ 23¡"þ‚÷#�#�1æ• )ä3©Ò�Ò”){)Ý3©Ò�Ò”)vK¢CÍ¢­KÍ+”KÑ+—ª #™)d� )`�  +˜#ަ +ÎÒJú#˜¥÷#Î+˜¦+ަ‚Z…+¢�ŠK£3�SÏ/¡ª $…+¡3©SɶSÈ3ÏÈ/È ŠÉü‚  0Î…�C´…CµC¶C·#£‚  +£þ .…uÎ… 0)-Ž#Ñ |ÑÍ¢÷#Ñ+ͪ  Ñ#Ñ {1ÍÍùKÎ |#Í3¡+ÎJþ…4…FG1ÿ´™\…8!úæùƒ­é0……P+û\……8CÇ…CÉCÈîKÊ'ÊÊ {#Ç1:µ ‚ø)é¦ õ3ÈÒ  …P1*µ 1(„µ !%1%µ¦1+Ǫ 3�+É Š‚ªZ KÉÚCÈØ#É+È«�Ê…4…#Ç‚ À™ u¬‘€Y uñ +-ÿÐ9 \……8­KÉK§‚[§‰Š3�… ŒD……ɪù#ÉCÇ#”… -,…1XÎ |ƒÇø­ |#É…4…\……8ª BÒ ÒJ,Å0CÈ•SÉ…CÊ3§#É–#È–Í*ªKÇ#’)/ ,C’#§‚ #’ -)(’ |3È >3ÉÒSÇ#’) ,C’CÊ…CȃCÉ×SÈÅCÊÕSÉÑ#’’ -) |Ù#Ê…4… -*0\……8©¨ÑSÉÍ­�!KÈ…CÊ#’’ -)" |)3ÉÒSÇ#’) ,C’3È >)3ÊÒ SÇ#’) ,C’CÈ�KÊà…4…0.r! }'‰‚  =€ € s"€)ŽJ€–!–W‰…Bòÿˆr! }7‰"G‰'ŠWŠBsr)r)K‹!5 O3�ˆ2‡SŽ…CŒ'‰‰ {ª !‹UŒK� ( |Š+�3ŽÍ ñs`!� !� Œ3ŽÒ   |ŠŽà3�#ŒB†s3�ˆ‰ú‰Œöõ 0&Š’’2!úÅ Àù u0&Šr CŠ!QC‹…C� r CŠKŒ…P O#Œ)C?‰ú­ |!?C‹…C�#Š3Œ•  /‰ª  {1/µ n1-µ iŠ3�ˆ*‡K�0�ªP¶S�*ªK1&$ ‚ 1$#�*¥ ª OÓÓù" pd €‘;3�*1 ·#Š‹01 ü?éå B H9< ? E K N QTW ?ª�ü©¤ {­ |s‚0 ? ƒûs3‘Ó!ÐÅ Â!Ε;�S‡ˆs)Ã) |‹”r 1 S‹CŠKŽ! C�‹r 1÷/4÷ú+Ž ?ãs+Ž ?Þs$PLT$TTP$CDR$TTO1$TTO$TTI1$TTI$LPT$PTR$PTP$TTR„P …P„…C�…C� ~3�Ò 2S�'‰‚PŸ0�–SŽ"‚J1h= : "*7#Š‚P+�ªZAªš4?‹û 8;‹+;)M½ ­ú› ú” ? ú” )? ?Ê3ŽJ+�J55/‰¶B…P� )0µ Ë)+Í .!+ÆGŒs­?‹û 8;‹+ ?íߪ›­ ?ØG‹s)Í ­!Æù/‹ *?ßËÿ� ÷ú ? áÿŠ!õæP ".¢�+ŠªPKž)ëîKŠªPKŸ)çK�#ž {8ª 1áµ  #Ÿ |8Ÿž�ò1Ú±#Ÿ­ |8{ˆ  0�"ÿ�¬ýJZÓÓƒûsr!ÿ }.ˆˆ3�"€ŽJ€ÆÎ1Æ0„ÍÀ u3ŠB+‰J;�;ˆ+ÿJsÿ‰rš+3¾) ÏÀ3 ‹8;�K†S…sÿ\…0…!_–P…ZüZø(Jû#)X¥Bÿ*û3 €8…Sþ2SýSù3ü2 €*8…3ý"�ÿ7ýÒ�Ò•Ž©¨3ý'ý–!S•Kú3ü2+û €*8…3ý#ú:í2 Š8…ýýüÿî3ý"ªK�23ù"‚À‚‚ª@‚‚ª@‚ƒª@3þ2ÒJ2Î3ø2Ò –J€!3ü�X…8 \…8…)ü¾X…CüCø2�Sûòš›3÷!ñ�X…88…)ë½X…Á™ wr!ÿ O/Š'‹ JG‰s\…’R�ªJ©0’…0 ŠªK‚ ‚ ©4…8€Y w­ú\……’… ÒKƒÑÒJªK€©ªJD……0 Œ‚  4…ÒŠ©ÒJ�…4…8…€I w……­õr­Pr­`0‰"ªT…CŠ…C‹B!)K‰ e X N+‰Ž�K‰‚ƒ! e V \+‰«ª‚‹ ‰ e ‰‹ e W!‹! M‹ W0‰+‰ª�#Š‚ƒ«ªƒshBGX@ÉÚ¢=%²_[>£/Hä@«»�@ÉÚ—>ã]›?@ë™2@NôâØ@ÿÿÿtA\……8(‰K…’C†*ÿK„ e#… e W! +†¦C† e U„ö#… b…4…\…… ‰ e Z Y V#……4…\…8C…!æC††3�&ˆˆ)Î’2! ÇU¶‚û†W†…ñ4…ÿÿ€ÿ‰\…… R’"…4…\…8+�<…(! Ž2! ÇU¶‚ ûÂò8ÿ€ÿf\…3 ý"*8‰1Þ0ƒÝEX‰‚PÕpS‚�1=—ÅÀC!:§�ÀKÆÀC…CC \…3 x8‰S!ú�X‰#+‚À‚@ª€‚€+ 1¶+9¿íÀŽ!ÇæÀ8‰; KC4…8+«ð9 ª€Ò€ûý‚ÀƒÀè€ÿüÿÿe‰\……8‰#3û• ÊCCûÑ!H‚ �!IÅ…­\…#+9?ÜŠ…õÑ 6Óþ<…CK8‰#+úŽ€#ü+ý3;‚  îÓ8‰Æ 8‰ûCüKýBíÄÅ8‰‚ ø©€�3SúòÁ¹ w(! Ž2!±ÇU¶‚ úÿ€23\……8‰+3ý… Š8‰C¢+3ü Š8‰Kþ+3ü Š8‰3΃CüKý#+ûŽ!�Kû#+úŽ€…pCú!Ø�X‰ …4…8ÿ€@\…8‰#+Ž«…+1Ç  8‰úCK#)ì� <…<ð8‰…CCCCö‚J€‰ w0‰ î€y wï!B„BB\……3 Ž"8‰1–Þ0ƒÝX‰’PÕpSÒŠ�C!.C…CCC ¶…4…8e\…3 "8‰S!�X‰#1¦­• 1•+ÖPѪ�Óþ#‚Š©; Kà€Y w¬�8‰öDf\…8‰1üÝX‰#+ Ž«……P+ªŠ„4…8‰ò8@‚�‚�ª€‚�ª€‚�ª€‚�ª€ªP‚@ªP‚@ªP‚@ªP‚@!è!ç!æ!å…P\……D…… V8‰!Â�X‰ÕP#+ Ž«…#‚ŠÒPÒP…$……Ç‚ 4…8‚Mò …€I w…8‰DÎ\……8‰#û+¥)¶¦Cû#ú+Ž€­pKú#ü+ý3”Ò àû ¨ Œ8‰3CKü… Š8‰3Å©€�ÕÕP;œ ”ÒaÒP8‰S3 Œ8‰3…Òƒ ‘8‰Ò‹©€�3üÆCüKý™))\…0‰š"CÓû«û80‰!Æ@‰4…ÿüÿú))\…0‰9õ8ƒõ P‰š#BûÓ«û84…Á¹ uûÿüÿúr‚ r‚2‡S�C‰KŠ…pC‹#‰ {#ŠKŒ |Љ#‹‚ �õs3�+Œµ ðs'/7G\ˆ8‡‡OûWù­)#r­!r­P!K‰ x.ˆ"ˆ¨ ‚P x¦�ƒBˆ! x‰ s \0x0~0†0ŒSTOP PAUSE EXIT Tˆ0Zˆˆ;û \ú[Þ;€Zƒû UB…J†ª@J„ª€;ÿû ƒê9LÞ"€žK€î „�'S�X)Cî0Hˆ*†"…ƒTˆ0Zˆ<ˆßTˆ0Zˆ3ÿ93ß;ûû0Ô8;�X!*æ@ˆ#„‚€#…+†3‡ˆ8ù"ˆ)Ú3ˆµ3�û ÙÊÚ3�Ð ýXÕS€1öPˆ p¤JˆÀ vÂI v ÿÿ‡r"ˆ 0"ˆ† "…*†2‡rCŠ2ˆ"þ9v+ªM�Eûú!kæPC‰2þ)hÏ€ª€ª€ª€#‰ pH!?ÒPÒR!; x#‰ x!D x#‰+Šª@ª� pz#‰ x!@ x#‰3ŠÒJ 1J;�+ˆ;�µø û1B(…KŠ,…´¨ …û3ŠP…¨ ì pz#‰ x!, x‚ s X †‚€‚`@†‚Bs8·2$2*FATAL RUNTIME ERROR 2< AT LOC. 2H, CALLED FROM LOC. 2^ ÿ‹?ð Ù5€y€‰�‰r­J† {“¢s yÂ3�†ør²C‰…C‹!&CŠ'Š­«•þ–‚�…pCŒ#‹Ž  !Ž#‰S� |3�‹‰ŠŒê3‹Ò #‰) |ƒ­ |3�B…s0s'èd r²P)K‰)ª@)KŠ)ÒPª@ŠýS‹ |3‹ƒ‰ô­ |3�B…srÿÿ ) � t! ùrÿÿ B…ò X‡’�*‚ ªÀ!�Â@8‡X‡1 Ïš’ÒÀ#ǪÀŽKâ@8‡ÿr)ÎK‰2�*ˆKŠŽJˆ‚sC‹3�*�7Š €8W‰‰Š‹÷sÿ‰r)ýÎK‰2�&ˆˆå(!ÒZŃ�¶•֠Ŷ2€2ÒJþÿ‰…0X‡9 ªƒ‚�Æ�ûüª°8‡ÿðX‡Å 9üªP‚@ŠŪ@ûûý!ý8‡10 2 *ªZ*:X8úœ!`‚":ú�Y :2` ‚•`‚ÕYÿ8ú `¿8 ; CKS1ó(KK*KÓÓ@S+® K0Òœâ`‚òGHMARBr.ee ýÿÁ['m7ÿÿ ÿßÿÿ ÿßÿÿ ÿßùÿ’D$TÜ ’ ÿÿ@ù¿ÿÿ@û¿³CLIOLS0Ž=.  ¿­­PKû)ZîK ( KTC ( KsCC#+ " z#)J§ t)H§ q+ª #CC­0K)<� K­0K # ( “ª 6!4� ­0K !-�  #­0K²­0K!YC!a ( “ª ?µ ƒø'€ #+ ª +€�ŒKÒ+€�KÍV @-+#+ª #+¥ #¬ #+ª  +  #ˆ1 ( g !# ( ž1 # ( Yë3úû  *À ]ÿÿ€ @ Î*RSPWN&?0ÚILLEGAL ATTRIBUTE: ^F ­ªû ( K *‚; ø ô ( Yñ)‚ûC ( d!§C# ( K *C ( K@C ( E#‚ ;ú  ! "<#ç ( Yüu‚ × " ÷ôû "%l0 "†`�1e  baû ( K *C ( KŠ# ¢ó1 N9Ý ¢ ( Y÷DÀ Dû)îQK ( K * 3­ / ( K­ #C#)  úK)Í +  #ã  *€Ê ²Ê ² ( Y *3úû * ( g *úû!>)Aî " ï­0KKKKK å³À+!-æC  #‚‘!$C')‚‚«öñá)¹µ ! »! ( ¨ÿðòúMAP.DRLEFT: ^P USED: ^P û! (  *SQUASH NOT NEEDED IN REV 5.00 OR LATER ( d1 Ϭ ( K- C *¬K ( K" S)îQK¢ ")0 ( ß !,), ( «Š# ( «+¨ *3ú"þ ( K²á ( Kü )îQK¢ "! ) ( «Š# ( « **x„­ ­PK­0KKK1&öS1 ( K ( EêOÓ÷ #+39õ9ö " *#+3 "= *ÿý°l0­PûK "÷CK)¶S "ïSKC+! (  *D Ž^D^Z/^D^Z/^D^Z ^D^Z:^D^Z:^D^Z á ( g *¬­ ­P ( Kò ( K *ª ª� " ö " ò " î ( KÚ0 *1ª "( *Ð* C0 2)lÒ«K)îQK ( K ( d1W· ïC#C+!] ( F¢# ­0  Ú!HE$# ( d!>— ’%ÆE15· # ( K * ( d1-Ï ù­ ( 1*�µ²))ªP ( » *d# " *# ( “ª !� ø#C!CC (> *# ( “ª *3úû *.-* "C"C"C"C# ( “²­#‚ # ( “µ  Ò ì!Ü•  !Ú•  !Ø• ª *ïª *3ú#Bû *# ( “!Æ� ª ô (>ª ð‚ *# ( “ª *óû1YS1Xö ( E>JÓ)§ ( ù5ƒó+!H�!G¥-CŠ“ª€1BÒpS1@+ªµ"1)…*¨ +¦Óø3ÍÆC#‚ ƒ1(Š“ª‚ÓÑ+¶Sõ3ú+Jÿ *;úû#þ1 ( Y * *Óÿÿÿý°D þ’!’CK!N0 2Ò 1O¨ · 1L1KƒCUI  ; 8…CC !5æPC# ( K„C #1-*¨ ,Ó ( ßÓø2S3Ó*ÿ¨ ý ( K!Ó*Ó¨  (Gúð2*¨ Ê (GçÓÓÓõ"‚%Z1,"p"j4*¨ ø„C3S 3 * ¨  Ê # (G7 ) ò 3 S# ( a¢)v r7  Ð s# *ÿ¦Ê@C ª�# ( KS (GûC ³Ó!_C"‚ # ( aK­P� #‚KÊ€ “3"ÿ²C "‚ @­P� ;’# ( “Kª !+ ®K99í  8®\Ê3 ( ¢1Ê83 ( p* Ê3 ( œÊ3 ( Ÿ!m)k ( F…C ¡1Î# (G¬¶¬## ) ( ù¿$"d÷.#€ 3# 3*Ó¨  (Gú ( K@C ô2 ( aK*¨ ÊÓÓÓ (G÷Ê2ÿ )ê²ñ*3¨  ( p!!) ( FA# Ø3"ÿ7 Ó*¨ ý)ÀK+K äÊ ( «ç# ( YCè"ž ##‚ $#)33 ( œÂ+¨¨=1ß  . Õ9%¿  % * #! *d\# ( Y ñ1 ( gø1 û3úûó$.Ç"vÆ3ú!ùBû *;úS)Kû *³K²*2Î ( d;#�#— *83úû *"q"x"€"ˆ"$�"*š"0¥"6¥"а"DÈ">·ÿÿÿÿÿÿ¾ùÿÿfÿÿÿÿ¾%ÿÿfÿÿÿÿ¾0ÿÿfÿÿÿÿ¾;Fÿÿkÿÿÿÿ¾;Q\ÿÿ‚€õÿÿÿÿ¾ù�ºÿÿÄ€õÿÿÿÿ¾ù�ºÿÿÆÿÿÿÿ¾ËÖÿÿÈÿÿ"”áìÿÿö‘4"d‘4"dÿÿÿÿ@ ÿÿÿÿ"š"Ž"Ž"dÿÿÿÿ‘4"dÿÿÿÿ"Ž"dÿÿ"H@@"d"d"z"X"d"d@@"d"d"z@@"d"d"~@ÿÿÿÿ""`@ÿÿÿÿ""` ÿÿÿÿ"d"d@ "v ÿÿÿÿ"v@"\ÿÿÿÿ"d"d"vÿÿÿÿ"d"d ±ÿÿ"Tˆ ˆˆ ˆˆ@ˆ  ÿÿ"z­ÿÿ"z ( )K2S! ) ( F *<"d"ž!6^0^W^F* K2S!õ)ò ( Fì *C2ôû *;úS ( Y *@ ÿÿÿÿ"Tÿÿ"Lÿÿ"Pÿÿÿÿ¾;FÿÿÏ€êï ˆ ˆ@ˆˆˆ  ÿÿ"P!ûBÿ *!ûi€") ( |) ( |­PJ *@")ý ( | *ASMMACMASMRLDROVLDRALGOLFORTFORTRANBATCHCLG.JB.AL.FR.SR.LS.OR.PS"j$TTO$TTO1.SV.RB.OBFCOM.CMLFE$LPT$CDR.L1^C^0^F1) (ï ( dÕ!� 1!§…!–!§„!Ê’;ú#þ ( ë *3ú! Bþ! B!Bû *Ý€ À¤ûCK2S¬KK­0KK ( K2 ( d²R"ÒR%)) ( )% ( )k·ëë)g·è1g (()g ( |­0K)Y)X ( |Ù (e_Kø (eZKó-*+# ‚­KŽ9)îQ K)îQK ¢); (¦># (¾"#*§ù#€ ЧôÂP+ (†ï")‘§ " +¥ç+¥ä# (ß1 ((Ü9õ  ) 1 (Ü­ (Ü *€¤Éj!þ ( Y;úû  *CK­0K" ( K+ (ôúK ( d1Ï S)â ( |ð+#‚ª *3úû *û’�…BBÿƒÀ¦Bþ²! ? *jSYS.DR;úûS *û’�"‚  Ã*ÿÿ2þ  ?ð‘ЃBò&‚‚ ! *¦B‚ é3úJ *2*K­JÒPŠ! ( FÒ�#B *à^C.^WCK!%ŽKCC ( *# ( “ª !� ø#C!CC ( *# ( “ª *3úû *.-* "C"C"C"C# ( “²­#‚ # ( “µ  Ò ì!Ü•  !Ú•  !Ø• ª *ïª *3ú#Bû *# ( “!Æ� ª ô (ª ð‚ *# ( “ª *óû1YS1Xö ( E>JÓ)§ ( ù5ƒó+!H�!G¥-CŠ“ª€1BÒpS1@+ªµ"1)…*¨ +¦Óø3ÍÆC#‚ ƒ1(Š“ª‚ÓÑ+¶Sõ3ú+Jÿ *;úû#þ1 ( Y * *³ÿÿÿý°D þ’!û1 "%‚ 1 (  *¨FOREGROUND PROGRAM RUNNING ÆNO FOREGROUND PROGRAM RUNNING û ( K !5Ò  \d’! ( Âì! ( 3ú"þ ( d! � *! (   * ( g * @ D HSTRIKE ANY KEY TO CONTINUE Šû ( dC!§€C!§@C!§C!§€C!§ C!§C!§C !Ç@C !Ç! 1 Ï 1 ! ­ ?Õ ì$LPT8C16öS!4B# ( K2C)1 +)î K­0K%KK«K)îQXK&K$)îQXK))îQK+ª�#& "’�…B! ( & ( „*s""r+ª +ª …+ª !,Õ+ª 1'ÆC¬KK­0K# ( K ( dªR ªR 1Ï õ­0Kò (3K (3 K) ( |åz (<­0K«# t+ªÅ÷1"Ó€ ¥ Óú„ÿîþŠýoüÚûßú¤ùœøìÿÿç:"*"< !æP)ý JÏ1 v„C'#))ó @ª�©¤)æ ( œ 6+ª ¹+ª #&+) "+ª ®!Ô+ª !Ò (J+ ( $)¢)ʵ  + ª  (Vã+ ª ”‹)¸!æP Œ51#Ès#)® û3Ð ô ô3#) ï+ª’Kµ +$ ( ßÒ•! (  Û)# Öq"„ê8K#$C')g ( £ü+$�  ( «+ª O3ÊP ( #*§GÂP+ (B")N§ )J§ " +¥7+¥4+ª #&);î "  3 (Ñ, (X*(²+ ª +ª ô+ ª ;")� # * �� # * �8#& (VÎ8¬K'1 Œ :x+'ª  �!3æP)4 2!.æP -#)+ (3Ò#’�¢• C"ÓŽü#�  +ª #)+ (Ø* 8 #$1+ª ú ( YÅqsê8K­0K+'ª L#C+ª  (‘* #'€ +ª  (—!6+ª !4 (J+ ( $ Œ Ø (<­0K'!æP)Ï ’�")§ )� )Ã!æP 2#$ +ª ³02s"H"f¡ CK­0K" ( K+ (XúK ( d1Ï S) ( |ð+#‚ª *3úû *Ú3) …CBÓ«ý€C' *ÿò*%! ƒ *ª�ª’üþþùÿý)î " º+9¿  "+û * û8;úS *)0K#1.8# ( Y;úû  #& 3Ò� * ? *9ê8K#& ( Yå #&  (<qÀ 6¬K'#$G#%‚`‚PC%#‚`C+ª +ª #&­ #$) ( ¢) ( œC$#‚PC+ª 9 õ 8%ê#‚`C‹%.q: 6 (<#%‚.#$�€­ ( Ÿ'C$+ª�K+%ª’ ª�K%#Š�K‚+ª !1S (J+ ( $ ( Yx* zq"vÆ ^C^T8 ^C^TL ^C ^C^I ^C^T^D^Z/^D^Z/^D^Z ^C^I^I^I ^W^C.DR TAPE SEQUENCE ERROR: MOUNT TAPE# ^D^Z CK!%ŽKCC (‚ *# ( “ª !� ø#C!CC (‚ *# ( “ª *3úû *.-* "C"C"C"C# ( “²­#‚ # ( “µ  Ò ì!Ü•  !Ú•  !Ø• ª *ïª *3ú#Bû *# ( “!Æ� ª ô (‚ª ð‚ *# ( “ª *ó:ú'ûûû+þJ+ÿJžZ#BZ * (É;3ÒPÒ S3#Å¥ ¶S¢+¦C83# ( » *ò8¦B�K+¦C¢*2 ( »3*J2 )+Õ;úSû *;ú3Jû *2"B*2 ?­ñ8;úS *þ:+¢�K+3Í © ’"‚ Ó«û­8 #‚�+³SS39àö  ?×­ò+K1…ªP‚@Óý3 '?É83úÿ÷ (É­JJJJ)ÎPJJ*!"� !B!B!µB#* ª+3 ? *+3 *? *!B!B!œé" ;úûS * (É­0 (ɬK*ª[,"‚/*!,� *"� ©¨9±…ª`‚@ûý2 '?Ù!­P ?Ô+ª  3"3 ?Ë3"3 +?Å3 ?Á *2 )¼3Î%žûC2") K/¨ § ú/Kâ ì÷ÿÿ ( "#< * 8 * ( "$1 * !- * ( ""& * " * ( "  * ( " *Ú2* ªû)ÎK)ħ *«Kÿ#Cþ *;úSû * û1YS1Yö ( E>JÓ)N ( ù5ƒó+!I�!H¥-CŠ“ª€1CÒpS1A+ªµ"1)…*¨ +¦Óø3ÍÆC#‚ ƒ1)Š“ª‚ÓÑ+¶Sõ3ú+Jÿ *;úû#þ1 ( Y * *�ÿÿÿý-°D þ’!"6ÕÓ)úÚ“ú‚«¦ú¥)ð¶8;úS ­PK )Ý¥ )Ð’Ò€1 Ò�)Ô ÒB«¥û¦C *­@û¬PK­�K¬�KC ( dS!?)?Ï …CC# ( KcC ( dS1yÏ  (  #�{Kî3)nÏ  ( pKå)d·  3· µS ( cKØ1möP+«Kª ­ ( ¢_ [È@ªCS)Z ( pR N);#� ¸);#�`… 'B!5æPC)3 ;#‚ ƒÀ))ŽP… '2#)% -›#‚B+#�`… '"+#� (p3úû   * * 111;ú#þ1 ü# ( YåâÚÀËÍ.SVûC«KÕS3…C!wÅ�¦KŠP!|ÆæP  ÎΩ K (»f (ý1jµÊPãP  ]#3ÒÀ)X¶Ó‚ÀÅC#C+®/ Ó!V• K3ΪÝ…P‚ÀC3ú"‚ÀC€C)EãP  9‘û!4¦ *�ƒ*K:½ *Óƒû83ú„Bÿ­PJ! ÆPB*®/ *")  *;í *B! *� *ì;úS!•ûS *ÿ ( g *3úû *"šÀZúÀ)ïîü*¦ªÀJ*¦ªÀJÓûú83ú�‚ÀB *#û ( d)$·)#Ò ­K ( K­ C ( K1öPS) ( ¢ ÐÙÊÿ¾@ؼ)îQK)îQK)îQ K!­0K­0K#K #!)ì Ý3 Òù#!)äƒ Ô+ ªÀK K"ªK01϶*#3+ (¥+ÍX#K� …+KªP 'Â# (¥# (¥#)½ · +"ª :Â+#ª ïñ [#Õª”# (¥# (¥3"Ò 0&)ž (’�"‚ÀB;ú+"ŽK" *1‡­K#)Œ +µ ö•1" 3úû   *11 ( gôñ#! ì # ( Yçä.SVÀÅÊû ( K *’ ( KCŠÂ "#ò ( Y *3úû *1 ( g *ùÀûC ( K *C ( KñC# ( d!&� #+ "æ *! (  ò BMOUNT ^C ON UNIT ^C, STRIKE ANY KEY û ( K * "¸úû! æPC "¯! (  * š^C û!úæPC ")žïû!ñæPC ".•’�…Bãû!CÞ„û "&�’! ( ÿÿ *û ( K€ ( E¢ "' *û! BG: ^D FG: ^D †û ( d1P·S1N·S ( KG­ VC ( K?C+ª F ( d9;ß =19·  C­ ?!0æP3Ò ),  2ú88#) î " * (R# !$á $C¦‚‹­ ( Ÿ# ò+€@@   Ç­ Æ#‚ # ( Y;8C!QÅ ª ­PK#Ê ( Y²Ô!I• (3+Ρ€)@ ( Ÿƒ­ ( Ÿ‚Šǃ ( Ÿê #¦­ ( Ÿ‚Šƒ ( Ÿ# Ê1$ ( g3úû   *C!Å ¶ª‹²#¦­ ( ŸÊ# «è\À0²" *2ÒP9ªƒ‚�Æ�ûüª°Õ9 ‚�ª‚ÓûüÒ «83úJÿ *ÿðÿ÷.)2.)ߪP.)/K)#K.))K) Kû)îQK)K ( K *’!+ ( F¢S (�#í#6À#<#B$LPT#J$PTP#RXFER^0^F^C^0^F^C^0^Fÿû)GîK)EîPK)CîPK)AK­KKK «`K ( K) ( d1/· G õ# +3 # &+ª�,! (  ( „$­’ ( Ÿ )LKà ß1 ( g %²À’£¦­3 Ò ^3 ÒJ )0# :K ‚�CÒŠ ª )%# 0K ‚�C²�S 3 µ ª Ò Dª <µÕS ­K '/�   öʨC K+!v (  í…‘…PK )=µ Q3 –S ‚ƒ##+ ª‹  ¦­0 ( Ÿ+ ¥0ƒ‚ ¸¬Ê1$S 3!Z1 S 3!`Cª�K S+7 (  õ#)º3 ?’�#ç!ý•  ª #²ó¦­ ( ŸËí# )ï¥ ‚K## ( Y3úû  +!Œ� *  *%n^Q^B/ ^O^Z ^O^Z %†^Q^B/ ^O^Z --- %œ^Q^B/ --- ^O^Z FILCOM ^C ^C^T8û "9 *û "8 *«(û ( dC!§C!Ç! 1 Ï 1 ! ­ ?Õ Î$LPT8C+ª )îQK# ( K3) ( p  ¢ ".²�­Jôªb­ ú) ( ù­ ( Ÿ!+ (  ( „1 "Ó€ + ( ùf¯.)îQK¢)* (1*S#)% ! (¸ K'+ (  !+ ( 7Ð å# C # C +ª ª ˆª #C)îQK…C)6 '5!3+ ( !1+ (  ( „1+"Ó€ + ( ù#)"  (¸ K (¸ K!+ (  䊪Œ³° 3Ò� * ? *# ( Yó;úûð.TU^T SYSTEM TUNING REPORT FOR ^C^T2 ^T OVERLAY TUNING REPORT FOR ^C^T2OVERLAY # ^O^B^T^P^B ^T^P^B ^T*^D^B %^T5^D^B % ^TNUMBER OF^TNUMBER OF^T)PERCENTAGE^T6PERCENTAGE OF ^TREQUESTS^TFAULTS^T)FAULTED^T6TOTAL FAULTS STACKS^T^D^B^T^P^B ^T&^P^B ^T7^D^B % CELLS^T^D^B^T^P^B ^T&^P^B ^T7^D^B % BUFFERS^T^D^B^T^P^B ^T&^P^B ^T7^D^B % OVERLAYS^T^D^B^T^P^B ^T&^P^B ^T7^D^B % ^TNUMBER IN^TTOTAL^T+NUMBER OF^T7PERCENTAGE ^TSYSTEM^TREQUESTS^T+FAULTS^T7FAULTED Nx¢Îÿÿú*ˆÿÿæˆÿÿ&ûû–"*CK3ú&ûû–"*CK3Ò3Ò-3Å/Å 3Í*!+C… C+3Ò@Sª@‚@83;å ä Íäå83Ò@Sì1+… (ªRƒ3úBÿ *…üÍ íé!÷ d9 2ªƒ‚�Æ�ûüª°83úBþJÿ *ÿðCûC ( d!§€C !§ C!§C# ( KAC­’ ( ¢{ x# ( K4 ( d1/Ï ù1- (ï…+ ª !~+ª )zŽÔ# (ˆb1"C­0KK)îQ K K# (æ¢Å‚Z=!c¥  # ( Ÿð¤a#‚õ# (æªû)O# ( Ÿ#C+K!F�×+# $!?  ­# ( Ÿ#+ ¦ ( «K# �K­0K½+ª©¨# !! # ( Y3úû  *#  *1 ;ú#þð  *À.,Fà^ ­­PKû)îQK)îQK ( dC!§ C!Ç! 1 Ï 1 ! ­ ?Õ 4$LPT8C1 (ï+ª ­1)Ô# (ˆA1 "C#+1 (:C¤#+ª +ª  3+ª é’!5+ª !9+ ( ß "+#ð’!6 ( #­P þ ( “!�!ªƒ ( ªÆÂÓ3úû3) µ * ? * ( Y·ó &DELETED ^C UNLINKED ^C  ^C: * 2 (93úBþ"ÿ ( “!� û *€û1YS1Yö ( E>JÓ)N ( ù5ƒó+!I�!H¥-CŠ“ª€1CÒpS1A+ªµ"1)…*¨ +¦Óø3ÍÆC#‚ ƒ1)Š“ª‚ÓÑ+¶Sõ3ú+Jÿ *;úû#þ1 ( Y * *rÿÿÿý-°D þ’!ûCK2S¬K­0KK ( K- ( d²RÒR )$ ( ò) ( í)m·ë1n (()n ( |)a)` ( |Þ ($hKø ($cKó-*+ª 8)îQ K)îQK¢)H (FK# (^!#*§ù#€ ЧôÂP (&ð")1§ " +¥è+¥å# (1& ((Ý9"õ $ )1 (Ü­ (Ü# ( K * ( dÒ�Ò’ù1 ( Yõ€¤É ª!þ ( Y;úû  *C­0KK" ( K+ (”ú ( d1Ï )â ( |ð+#‚ª *3úû *û’�…BBÿƒÀ¦Bþ²! ? * ªSYS.DR;úûS *û’�"‚  Ã*ÿÿ2þ  ?ð‘ЃBò&‚‚ ! *¦B‚ é3úJ *2*K­JÒPŠ! ( FÒ�#B *! ^C.^WCK!%ŽKCC (¾ *# ( “ª !� ø#C!CC (¾ *# ( “ª *3úû *.-* "C"C"C"C# ( “²­#‚ # ( “µ  Ò ì!Ü•  !Ú•  !Ø• ª *ïª *3ú#Bû *# ( “!Æ� ª ô (¾ª ð‚ *# ( “ª *óû ( dC!§€C!§ C# ( K%C1 (ï…+ª !1ÆÕ+ª 1ÆŠÔ# ( þ3ú!Bþ!B!Bû * Àݤ #1 ( Y;úû *ÀûCK2S¬KK­0KK ( KH ( dSªR0ªR39:ï ô (Ü"16 (()3 ( |­0K)) ( |+9$¿ á)$ (Ü ( K# (Ü (() ( |Ð3)· Ë1r (¨rKò (¨mKí  ¤Ï®+# ‚­KŽ9)îQ K)îQK ¢)F (éJ# ("#*§ù#€ ЧôÂP+ (»ï").§ " +¥ç+¥ä# ("1È ((Ü9õ " )1¼ (Ü­ (Ü# ( K * ( dÒ�Ò’ù1 ( Yõ€ÉðÀ1ÿ!ü ( Y;úû  *CK­0K" ( K+ (7úK ( d1Ï S) ( |ð+#‚ª *3úû *) (  *) ( û *-*û’�…BBÿƒÀ¦Bþ²! ? *ðSYS.DR;úûS *û’�"‚  Ã*ÿÿ2þ  ?ð‘ЃBò&‚‚ ! *¦B‚ é3úJ *2*K­JÒPŠ! ( FÒ�#B *f^C.^WCK!%ŽKCC (a *# ( “ª !� ø#C!CC (a *# ( “ª *3úû *.-* "C"C"C"C# ( “²­#‚ # ( “µ  Ò ì!Ü•  !Ú•  !Ø• ª *ïª *3ú#Bû *# ( “!Æ� ª ô (aª ð‚ *# ( “ª *óû1YS1Xö ( E>JÓ)§ ( ù5ƒó+!H�!G¥-CŠ“ª€1BÒpS1@+ªµ"1)…*¨ +¦Óø3ÍÆC#‚ ƒ1(Š“ª‚ÓÑ+¶Sõ3ú+Jÿ *;úû#þ1 ( Y * *öÿÿÿý°D þ’!âûC ( d!Ç@C!1·ÂC! C'€ � ù Ø@�6… ‰ ÿÿ� Œ­0KK%¬K'C'C#C# ( K*C ( d!—  !§ !æ�  ð‚‚ # ( ‚K‚K#C) ( |߯ÿøvf1øöS!öB# ( KaCÊ " ò­ (JÆí#ÕP‚ ­’ ( Ÿã à1ÛS )îQK )îQFK)îQ&K ­0K K …+ª !ÈC+ª +K�-ª ²# ),µªP (ÙÆ'øÎªP (ÙÆ +!­§C!«�K3#)�K+" ( «#‚ " ( «ü 11ÊfÀZ#C" ( «ü" ( «3 )ðÒ�# ‚’¶©S…BÓ«ý#)ã¦+¥‚PªP (ÙÆ+  ª 3 Ò�)ÒK"*¥  Óú# ‚ Ë !C+ ( Å­0K !:• ½%«•7K+!µ¥C+Ž!¯¥C3+" ( «" ( «ý#C +K3!œ¥C+" ( «" ( «ý#‚ " ( «ý" ( « †l#+ ‚P1s ( »#+ ( !cC# ( “1YÏ1â9UÍí)Q ( œô­ ( œ!M+ (  %1IS3 Ò�#‚PC# ( “JÓù#+ (  !"#$+%ª +1¶ S+Í# ( Y3úû3 Ò� ?  * ( Yò.z€mÿð"*8~x`VøFLVøxfnø^O^B ^O^Z ^O^Z ^I^I ---- ^H^B ^H^Z^I ----^D^B ^O^Z^I ---- ^O^B ^C *** $LPT:ú'ûûû+þJ+ÿJžZ#BZ * (Ê3"¥ KB"ŽJ3+ ( » *�C+"¦C"2 ( »32 )+ã) µ +#�;úKÿ8;úSû *2"B­J*2 ?;ú3Jû *91õ ª8ö8;úS *:+¢�K­K+3µ3Ò‚Ò`S39ö  ?å;ú3"¥* ‚ *Jû *1Ùþ (Ê­JJJ)$ÎPJJ*!"� !B!íB#* ª+3 ? *+3 *? *! B!×ì;úûS *" }û ( dCB!§€C!§C!§ C!Ç@C!Ç! 1 Ï 1 ! ­ ?Õ Ì$LPT8C)îQK)îQ)KA#B ( KC­ + ( «¢) ( œC(1"CB1 öSD! B1öSC!BEa:Ú¤  à°8#B+A1ö (ðøCB¢+C " ó²)ï ( ¢­ ( œ+( ( «")á§ ä+ª )Ú� Þ+ª )Ö§ Ø#+D " +ª Z;D")É� Ë#� È" + ��Â" + �¾8# L3C ((H*1¯Ï!+D " @ (�a<#A (�E7 (Ea63C;D"C"C (Åa! (ÅE+ª #A3C*1†Ï  "+ +ª I!I3(+ ( B81<##A)9µ  ( Y ( Y‚  ;úû83Ò� * ? *‚  # ‚#‚ç ã)µ ÛÕS #‚ Ü ÒØ % ý Ú^C 2 (93úBþ"ÿ ( “!� û *€:ú'ûûû+þJ+ÿJžZ#BZ *2"B­J*2 ?;ú3Jû *9<õ ª 8ö2"B*2 ?­ë8;úS *:+¢�K­K+3µ3Ò‚Ò`S39ö  ?å;ú3"¥* ‚ *Jû *1Ùþ:+¢�K+3Í © ’"‚ Ó«û­8©#‚�+³SS39àö  ?³­›+K1…ªP‚@Óý3 '?¥83ú#ÿ÷ (þ­JJJJ)ÎPJJ*!$� !B!B!µB#* ª+3 ? *+3 *? *!B!B!œé #2Z ;úûS * (þ*ª[)"‚+*!.� *"� ©¨9¶…ª`‚@ûý2 '?à!­P ?Û3"3 ?Õ3"3 +?Ï3 ?Ë *2 )Ç3Òü&ûÆCû&ûÆCûû3"3B"‚P‚ B3S2 ) 3*3JS2 )ó)µ *;úSû *ûC2") K/¨ § ú/K9E‹’juÿÿ€)îQK"‚¢Ê9ö (²²) ( ¢)X ( œŠ¢9 ö (²+# "F * . (š "#< * 8 * (š "$1 * !- * (š ""& * " * (š "  * (š " *Ú2* ªû)ÎK)Ÿ§ *«Kÿ#Cþ *;úSû * :2*K­JÒPŠ! ( FÒ�#B *!†^C.^W‹ûC)îQ)K%)îQ?KG)îQ†K)îQ K )YK ( d!§ C!S§C!QÇS'!R0 2ÒƒC 3' @ „C!=§ Ô—ÕP!7§‚ Ò@!4§‚ Ò@!-§‚ ÒDÖ !e§ –Ò  S !`§ ­!" )n­PK># Š� "º­0K8!+>ª� (  ( „ mœ€ !"!!�ÖJ!LÒJ!K)E!I)CK )BîPKL ( « ' € Òƒ!2 ( «¢+ ( Ÿ? î8K ‹ '  é  ' å¢) ( Ÿƒ­ ( ŸK1"C@¤ÿÿ!F!  !d!¤ !v!¦!~!¨ÿÿú^T !M!(!,!6†Š3ÖZ 1â#+ (9C¢# (<# ()ëî " 0²CJ"+¨@)t�á+ª  + ª *#L+> ( JÕ#J+ ( ßЭ!ËæC (iÂ+ (6Á›¡ ÿ œ)þµ ·ü!ù• ôòSK®KT*!B§ " *2ÒP9 ªƒ‚�Æ�ûüª°8C2K1ÿð#%C&3K2!2C(!!C''''(€  — ú#( ( “#& ( Ÿ&ò­0#& ( Ÿ)· f3K2Ò7) ( Ÿ&Þ€@ @ ÿÿIRASPWDCLTYN&?/3K!ï*§ @+ ªK(ªƒK'" ),î (×" )��¥ÀK7C6+'ªƒK'" )"î (×+'ªƒ" C<"9çÀ8C;ªƒ")<§C=+>#L ( J21%4356798:;<=*+ª &3K*ª ! ÆQ!CH* ª  !–#G (­J#JCI! + ®[!+> ( JHI!„ÿ. ˆ!˜# ( Y3úû#€ ‚  # )3>µ *  **2 †­# (OÝ!ùæC 1ôöS)R!ñæC1W1G)’R1ìöSS+JÿJþ3S3JÿJþ#¬ª�‚CþK<3µS:²•K:#1 (ݶ­#)C' (ݰ#,+4Ò 3’ #1 (ŽÊ#) (Ž¡Â (!C(K'"/'G'JÓ'(ù3+ÿ33ÿ:ã+<©¨•­PÈ#'7'S' (ŽK (ŽH:¢Ê (òC(¢+ (WŠ3'&2Ä3'B… C=#(22Ê3(2ÿ (WŠ#'C( (q =²+ (¢ ì# ‚ ê3'*&¤BÂ+=ª  (Ý 7'*¨ º+: (Ý*±)&Í$#K) K3'*2"þ‚ ‚ "ÿ‚  (b7'Ò2ò# ‚PC 3Á€PC‚� (i)�Jü”@›FTML.TM$LPT^C^C^I^I^I^C^T ^P^B ^C^D^Z/^D^Z/^D^Z ^D^Z:^D^Z^D^Z/^D^Z/^D^Z[^Q^Z]^D^B^C^T^C:^C ^C^T8^C^I^I ^I^I^I^I^IKÕÓ)Ú“ú‚«¦ú¥)¶8;S­PK)¥ )Ð’Ò€1Ò�) ÒB«¥û¦C *þ’D­@2*K­JÒPŠ! ( FÒ�#B *""^C.^Wÿúû’�"‚  Ã*ÿÿ2þ  ?g‘ЃBò&� "ý*¦B‚ ê3úJ *û²* (W!oŽJý **ÿÿà (bC­JƒB)]Jý *û’*ª î *’º)»"CÓû«û *û1ò  ?# *’­Jÿ!éBþÃÙû’*ª '*ª ;ú7'S'„Ž:C (¬.J)!1!;úûS *û’*ª  *« (¬ò.J")©) "¦B3úB *ö*û’"� *JS:+þª +ÿª Šâ (bË*:#� "šÕSÿ1�  ?¾3ƒB *¢B­Kþ*ð;"ZCþãóûšªK ±+µ¶Í#ÑÐ+²¬9¹«õþö (¬“š#ƒ/ÌŒKÑ)ª¦ÓþC *’!¢CK"/¥ *¥ Ó÷ *3úû *2 (93úBþ"ÿ ( “!� û *€óû ( dC!§€C!§ C!Ç C!Ç! 1 Ï 1 ! ­ ?Õ Ä$LPT8C1;öS!;B17öS!5B# ( KCC+ " ,²¬J ­ (ó7$1"C)î K ­0K)îQÓK+ª�# "’�…B! (  ( „ ¤7æzV+ª #)| ( ù‚ 3"‚ ,!ñC ÊP'  € % ( ßù­PK (g)îQÓKK#1Ö+ (°C¢) ( ¢­ ( œC) ( £ú1ÄW¾: #+² " ó"+ª )ï� Ò+ª )ê§ Ì)è§  )§ #­ (óÚ3*!� *«K!‚! (õ7!½€6  Y2.*ú*!ø§ ÷"‚!õ (õ7"ó!ñ (õ7&'(ë*!à� Ý)îQSK#)U (—W8Kª f²•S ’�"ŽÓ üK !D (õ7 È+# (Æ7Â+ª ÝÛ /» ()7¶#)² ( ù“à ( “« ( Ÿ!�  )à ( ŸÂ ( “« ( Ÿ# ™­# (ó7“ ‘®:06<)9ûõ ¨8# ( Y!õ­P (Æ7! (. (.í)K +ª !ÔP+ª�ª“ƒÓü‚P+ (  K"'ú¦@F )îQSK!õæP3'­K' ( C !ñ (õ7 êS'1çö# (n ( !ä (õ7ÜÄþ ÿÿ$TTP$TTP1$PTP$PTP1ÿ^W^W^C^0ÿ^W^I^C^0û^W^W^Wù^Wþ^W^Wýüú^C^0^C^0 ^W^C ^C^T82 (93úBþ"ÿ ( “!� û *€1S )µ  3*1Ï1"€  Ó� û3 # ( Y (.K Ý0;76ÿÿ8# ( Y3úû  3Ò� * ? *8# ( Y3úû  é ( “ª * ( ( œøü¢æ0�4ý­2)"ÿŽJÿ *€ë8K „C! (õ7  )K F bø^W^W^C^0#G  #‚`‚PC#­  ( ¢) ( œC 9 õ 8ò ¤ K:æ%C!-­P (Æ7)#‚#�€­ ( Ÿ ' C+ª’ ª�K+ ( «)  (.7í ( Yÿ* >K>æ:ú'ûûû+þJ+ÿJžZ#BZ * (ˆ3"¥ KB"ŽJ3+ ( » *�C+"¦C"2 ( »32 )+ã) µ +#�;úKÿ8;úSû * (ˆ;3ÒPÒ S3#Å¥ ¶S¢+¦C83# ( » *ò8¦B�K+¦C¢*2 ( »3*J2 )Î+ÕJ (ˆC)îQ KK # ( “1Í # ( Ÿª ôŠ# �CK# ‚·3úû * ûCK­0K â^# ( “1­# ( ŸûÀÆP1ý–*# ( :ú–"+ ( «Kó) �¶ŠÀ!�"²+ ( »óÿ^IïWÝOÎDÝCáÏ0ÌFâÿÿ2"B­J*2 ?;ú3Jû *9<õ ª 8ö2"B*2 ?­ë8;úS *:+¢�K­K+3µ3Ò‚Ò`S39ö  ?å;ú3"¥* ‚ *Jû *1Ùþ:+¢�K+3Í © ’"‚ Ó«û­8z#‚�+³SS39ßö  ?²­ò+K1…ªP‚@Óý3 '?¤83ú†ÿ÷ (ˆ­JJJJ)ÎPJJ*!$� !B!B!´B#* ¨ +3 ? *+3 *? *!B!B!›ép†•½ ;úûS * (ˆ­0 (ˆ¬K*ª[,"‚/*!,� *"� ©¨9¯…ª`‚@ûý2 '?Ù!­P ?Ô+ª  3"3 ?Ë3"3 +?Å3 ?Á *2 )¼3Î$Ø2*K­JÒPŠ! (Ò�#B *$þ^C.^W^0.2S)îQKKC)lK)#3 (æ1"Ó€ ¥ Óú Ú@ $;$$% íÿÿ æ# ( Ÿá<)îQK¢+3 (7K# ( “ª Ð# ( Ÿõ%­# ( Ÿ#ƒ "3# (æ!Î� "B+ () (œý  *# ( Ÿ­# ( Ÿ#1 ( YÈ×@ CK2S)îQKK!#C)#3 (æ1"Ó€ ¥ ÓúR%d °;°°ÿÿ\# ( ŸãR # ( Ÿ­# ( Ÿ#1 *Ó¨ G ( ßÓøyÀ(Å0Ê@Ï ÔHáPê8øXÙÿÿ%GDIR%%MDIR%%GCIN%%GCOUT%%FGND%%LDIR%%DATE%%TIME%%GSYS%# ( Ÿ­# ( Ÿ1# ( YÈÙ# "B# "=# "8!<+ ( «3# ").# ".’�…B& "CK)&¶!% "SK’Ð!'+ ( F0 2Ò 1ÊÀ# ( ŸªÀ# ( Ÿ3ú+Jÿ *F„D^D^Z-^D^Z-^D^Z0^D^Z:^D^Z:^D^Z,CK2S)îQKK!5C)#3 (æ1"Ó€ ¥ Óú="N e;eeÿÿG# ( Ÿã&# ( Ÿ­# ( Ÿ#3 ( �ª  (ÜúJ3ú#Bþ *# ( Ÿ­# ( Ÿ1 # ( Y1 ( gÈÚÛ 2S 13S (ï­0K3 "C­0KKK KKKK 3 # (æ1"Ó€ ¥ Óúœ"à<±>¾(Ç)Õ[ä]ï ý;ýÿÿޤ+ ª Û3#+�C�SÑ+ ª Î#€ 0È+ ª Å+ ª ++ª *+Kº+ ª · #+¥ ±12(+ ¨K «+ ª ¨+ª + ª   + ª � š111 1 +ª ú+ ª ù+ª ð ( gÈÕØÔÓÖ#‚ #3 + K S :Z (-3 !‘• ó’ (ï+ª *3úû *ƒKC2S²"CC­0KKK) >) <­0Kø#‚C) 0+K+ 3 (Ü-) ') %) ##Cï¸ÀÆÌÎØ)))3 S 3 S #+ +K+3 (Üâ *ÚÜÞâ8C K ¬K3# (æK ; 1!#Ç¥ Å ûú#8C ‚RK‚RK+‚RK‚RK+¨ 3 (Ü+ !�À1¶ÿ¨|ts_acl9;BPRTVª(¡ ¡,‚;‚ <…"�ÿƒ)‘ ‘, <…"�ÿ„(\,\ >…"�ÿ >ÿ ; ,>†<„()…"�ÿ<�ÿƒ)�ÿƒ"�ÿƒ>�ÿC2S (æ!X� "B+ (1N (ï1J"C­0KKKK1B# (æ1"Ó€ ¥ Óú"%;K K()).,?ÿÿ#‚ƒ#‚ 3 (Ü‚ Ú1 (ÜÖ#€Cî (iëÍ (iæ#‚ 1 (Ü­0KK¿š¤ (iÕ#‚ Ò#‚ Ú)Å×1ñ"B3 (Ü1ì (Ü#‚  ­0K# (æ3 (Ü1Ý÷3)Ú (Ü *"‚ û *C1+ (æ!+� "B+ () (œý 1 "�€ (æ!� Š (Ü) (Ü1"B *š� C0 2!9Òƒ 0#1: (æ!5� "B+ ()+ (œý 1& "�€ (æ!� Š (Ü) (Ü1"B1"3úBþ * ( Y#ú#¸FCLI.CM �š)%:)<� *17"C)îQKK)2# ( Ÿ# ( Ÿ)*# ( Ÿ!&C#1 (æ!!�  !� # ( Ÿð)# ( Ÿ#  #‚ Ï *dš\=>E ;CLICM&||!ÿPRINT ADAK.04 POP Š (Ü) (Ü1"B1"3úBþ * ( Y#ú#¸FCLI.CM �š)%:)<� *17"C)îQKK)2# ( Ÿ# ( Ÿ)*# ( Ÿ!&C#1 (æ!!�  !� # ( Ÿð)# ( Ÿ#  #‚ Ï *dš\=>E ;SYS1NOL7;ff Š…C Q«1OÇ 1MÅ  1KÅ 1I#• ð#ó+3õ BdòKôò  =‚!‚…°C18ªP‚@Óý3õ2# 23õJ!‚PB"#ó‚P),;úJ $dò  cûª 3õ*1·ò­²�Ž… !Ų’Ó åj  „_ö]lÿújp€j_j@j:‚!‚CKò*ªJ®±®€J0 2!UÇ …CC +ª 3õ*ªK *"!�0)DJ ; B9ŠPC""ŽK *#ªP� #¥¢ ‚  *ªK>*:!íí  :"* íí�¢…0)J 88’# + Â3õ+ŽK+�K*"ŽJ"3 ò#+ô�Kô e©iègR !­J"3Jô3 ›*9ï îJ*:!ì íZ:"* žìZ 8’#+ Â3 Äg4ièg+[yòC"‚@‚ B…C…C 3õ"*!¥ #C"*!�  ""* �!3 Jò0B 3 C#Cô ! ô!ôòø „ e©j +ªP""Ž úC"""*#ªPŒ!…B" #)î§)é� )é� + )Û‚ � Ì)Ø� É#)Õ�Ê3õ# ‚ ²3 ¥jg4gRC??0 *K²!2 ,#ó )ƒ¬"ü€ /S4"C‚ 1"ÎÕP ƒùC!•  ¢)3Î1 Š#ÕP ƒù!3B3+ Š ò `"j:j*]^ : *]l­Q­�­K4"ª "C0 2)í¦•:0 *K3Ò $#ó ܃¬¢+ªJ' Ö—€ 2š+9+¿ !&9&¿ƒ2ÒZƒ�83BÂ8+1Ä ò 3õÒJ Â1¼ ·’2¢ß °—� Ú ¯ ­j*ÿ SC 7,ò!3–#Bÿ;#Bü#B#Bû<+!$§T��Bþ!��ª�!!ŽJú…B  ò#*�"ø8C ;KC! •  „¬�`¿ Îðÿi! ]x hdh] "02 2…8 ; )vï©:úJfƒÓ«ú 8 ,K…D8; +2ª@ª�K2V]l ÿ8òÒZc*ªšb*9S¿ N8 ;3)O�ÀµE®P¾4*¨ +1GÏ  +1@Í ÏÀ1;Ç� ò<+!4§8SC*!/§À+¤$"9*ç:©ž«þê8KŠ"3 3)"�#‚ÀŽJ*!�J 4B8ò    c@ÿÿÿ€3)ûJò   0ò’€4*1ý1ûƒ4*1~1|ƒ1xƒÕ‚!‚S K­pK +ó� 24")sî1r r d‚€0 2S!i g#óÊ3 bƒ­¢S *ü¨  š+8ª M02 2 S 2*’J…BB B # B#B #B #B  %=CC-<1< 7%8‚À¦CË3 # 4‚€9S²")c� C "3 ^7 *ª@*1(ÏÇ�  U +# �mKë M C ’2"3BÕò `ÊjorLrJrH<`"j:j*S 1 C K3 2"3*� Q")å� #+ 4 …B B  P9G¾CCÚ²# + C3J *‚ÀŽJ5#€  rŸg�g4]lj_!ÀB3 + “ð4 B J3J *‚ÀŽJ+©¨J)J + ªZ+ 4  ²! ¨…BúBô 4 ó Š"Êÿ`g*ffg‚e­Q­K 0 *K dƒ¬¢*ü¨  š+8ª K02 2 S U‚� SK²")O�   "3 I# 3 D—� š;)B¿ (8Ú  'C)9� .*ª )4� +3 +‘Ó3…B)*"§À* 3 $ $4 B J+ S$!! ! ! 0" CKS!3 ’ [`"gR ÿg*gÈg� 0=]m E#)h� /" ‚ "‚ : ` KK"*:;Ò@ú@Ò€ Ú—É/#)R� )PÒJ)OK …ÒK'/Ž� Æ—É ô3 Â3Ó3*¨K ")½§À* 3 ´—É «ƒ ú ³ò 3 ª 0 *K £ƒ¬ ¡ƒÝ"‚K S4"+ —ƒ¬ •ƒÝ .3)Î#1 ò  +eÿ]lÿõj*¬­K ¬KóKô2 *ôK3õ2*‚Pª@‚€C­3!xC"ŽÓü3Í#ÿK;õ4 #B# B ê h+#ŽK4 avIC–*"ÿ3ÒK…3‚ eª c# +ó‚ ¨ 6 [C S4 KŠd1CóKô+ Cv+–+ôJ+ó;úJJÿ’ A4 J+ôJ 7²…Bú!< 3# ; 9C 2#3õ*þ¤hBþ!- !{#ºC $ $] [e1!;ñ;úJÒ� 3õ;ñ;úJ‚`8Cõ¢ Cóò ”ÿú_ög�`"f?ffj:jog4g*gÈt"ÿrŸrŸ ø4 BJ DÕC‹7!>ÄÅ >3óÐ  3# € éC "ý2þSôCó7Ò S²2Ò 1ÓÎú#1 !ø39Þ+ È1´»# ‚€ Cõ  Kô+Kõò# € ‚  ¼ þfejG]l?!ÿ0B ð‚!‚0*1 ª�1 ª ÓŠ"1 qtiè- 02„PÒ�„��ŒMcqz")0� ­Q­ -9ç ¶")$�  8ò))§;ó)'ï¸çŽJ  ! 8ò<)û§ ! "C2"‚J…"C @ÒJYý:#ú[Ù ác]l4%B8; +J4a?^<GPc…‘…02 *2ü�ïŽJ2 tÐ-'1'… '<CK%"C8ò <#+39Ü9¼œªPºPêPªPªPªPíŽ`¿MU`å ¿!rHCõ#‚ -3)�  +ª &+ª #)ÎKSä ;+3´Þ Û!©*ü¨ !¨’]^.: j:j ¡ Ïj j18; )#§C ÿû]_\ ò) 4 ¶Ó*� ª ûò Ù: \ )� )1ŒÙ• )1 ¥Ä)¥Có) 1¥•Ê zaZA90$ 3 }3 {+ô¨  A € €g²j_Ê4 j+ô¨  øí eëCC'/4 ;ôø  :;úJŠ…8BJ OÓC 0*1M–ª T%K-Iª %JC*K *"€ "‚ "©¨¥ŠK * !/�p!6K¹Žûþ8#¥+ ¤FC8+ª ,-!ª )0 " 9ç)™¦ûþ=*�½Lê’9#K 1 # –ÿg‚fegV�òtÐs^tÑtÍ%sSs†j*±98#ô€ *‚Š*¨ ª `8%ë+8ª ‚  %æ*¤%á+ ¤Â)R1R à Œ# )¦)1×Î1 Ö# 1EÅ-ͦ3 Œ`!;>!?<"E¿*=»ú =¹¼ñ1,:�í:½êM¯1$9$í #3:û;úJªP¶"*úJŠ…8S4 BJ ”•1•+ Î1 ™’ �²–!jo À™j;)O)L)H)G­K J�Õ1F–!C D02 S3õ#ó i—�.S2*3óS"97ç�  9.½ž¾½ � 9Wž;ÿ!U� (ú@ú�Z#8+ô¨§B#;Z"+;å J8H8;;í;+®@ª�ª K  j:`Êÿ8;+®@ª�ª K E#_02 "CC0 " 1íÇC7ÒKÖC Ò�Ò�+;ö _ñò `"_öt†ÿÿ…PCS²8S3#‚J+22–2Ð S!!ÒKÂ3Ò@Ò�+ôš… ò ]l3*®@ª�ª�J ! 0B 3*®@ª�ª J _½ò jGtÐt"gÈg*-üª $02 *ªœ0 * µƒ¬S¢ ±‚� S²"1å—  !æ1â â…Q…²BB3 ßò Ü  ¿ ½8]lhÛhÜ­­PÒ@®€KÒ�Sõ+ô9ïîƒB J zŽF :#+9åîƒ8CK"û)ܧ:+®Z Ô:# Bô*!e�J#8€ 7…)ÊBJ YGC ’"*2΃3•53µ23 ")·‚‹�,)´�))²¦5²Æ`¿-°�#E¬`# ;õ;ZS)¤Îš3 -¶„B3 ~3õ+ªK'#ó‚@ª€‚€+ô — CK!`!0B 3 g3õ �€*! �ŒJ ˜K `"RSj*feÿ!T ù‚�êÂ3õº+ Jÿ+Jþ’ C3õ"€ !A å‚�2Â3õ2üº+ Jÿ+Jþ+ JJ+92ïÀJ J’ *3õ2"3õ+ªPª�‚€‚‚K#+;2 Ò@ú@Ò€ ¿…½ ò8; #­�‚Šª�"¦B ! °‚�¡º œg*g4t"t/MAPDR@ rLrJrHjo<2ü*þIî*ÿIí:" *‚ÀIé;æAí%îAåAå-í1î ì%é‚À¦Aß4 õ)ÎÎ3õ vŠò4 õ ‚!‚KC …pCÒ@Ò�S9k)h¿PúÀ-j%hîƒ4 B J-d d d C’S+õ#‚ ªK%"+8 3Bº;#B!J¬¦B!DB 8#B # ‚À*ŽJ3"ÆP8 +Õ 2ƒù3®  .Š3!+–S"‚ !*10¶2ÿ!&• óÒKñ3*#¦P0 *Õ ƒù¢+3;ú  áÞ ÇÚò3  `"€@•ÿÿ`i`jtËg‚fe_öt†gR#ó ð‚� ;ô#º+�  03ô;ó"C"C…CC C …PCê@ª 83õ ÔŠò j_ ÿ Ú Ê‚�;ô#º+¥ +ª …C ò g*"9 � ¨!�J#8TPÑ*#2 k…BB!&9$ï | L‡ x*#2 ]!`¿:Ÿ`Z!� ~)$ ŽP : +õªP 6 ) ŽP 2  /†²n ¬¯ÿý…*#2B ‘2ò!`¿*�`J 2…B B ) `¿"§B* `8ëkD_öÿû€þ€`"\ 0"1SÐ ‚œ1NSõ22< õ :‚. î‡*«ùX!ä`¿:ç‚ 8;!ßú�!Þ:‚ ž`Z8`ç ü 0!� !9¿ !Š… ȇ «üò< õ8ò ]lþpÿœj LOAD , STRIKE ANY KEY. `ßÿÿ‚ R‚ OO©K­Kò \ ­­PK8 ;)¿ `¿ `Cóò `¿ `+óªÀ¦Có "*  æi!jß\ )`¿:ï½`Z Ô1 ÇCó3õ`¿"¦`B ÿý)ÿ`¿"§`B â4Bò x­PK"#C2)`¿"�`J#óC ¬X+ª'C) §+9\¿  oK m+#ó� êÿï9N¿ )L9L¥�9Iå Y\Ú VÙ S Ö+ 7+ª++9$¿  8+ªÐ¹øï4ý® " =  :  7+#ó�!�´1 Â0B #ó+�Kô „1 ô¤òó81íj az \ "#2) 9 Ÿ¸`¿"§æ`B ÿý úú \ /òò� ‚0‚ ò `¿*ª ! \=!Z‚• -Xª ‚…*!S� „* O#ó8 ;)K¿ ä I`#ó GŠ€$!²…�`B")?� =… :BK…B#ó*3ÒPÎ /3 .!. ..`ò  * · &E 3õ –¼ #ó®©ðKC2+  Eú?jštЀi!]^_Áüd»ejg*sCi=sBj_j \ ŒC"#C28+ ö)s§!)q�29o� b 9j•¥*9g½ X@9b½  à…B Z…Bò+#ó�Kô Y AŠÐ™øç4ý®€¢À9À)C� )A�ªœу éã!: ²à &@Ú…)4 «Ù«ýÓ ÚÔ Î!*  ÎÊ  ! ÍÇ:)ï ú™ €© ¼! ¥\ #ö/òò� ò  az„P]l ÿð  O’…C0" Oi 0*1Cª�1@Ð  ?‹39=ø 0*ª€3Ð Ò  Ö  !1`¿ 0!. /`:Ê@ûð5JQJ2 Ð ‚* ¥ ‚ 9A*K 9<²2Ð ñ152*ª æ‚ Q/õ9,*K ìÿÿb¯`"ÿÿXÿÿÿÿ] "…C8+# ªJ­0 8+¨ " ªK" €  è’8#  �` J“ HöYãYa8+ª 5÷*ª“:ø  ; �  9Nõ 9Lõ )HªPJ2*ª ì5á 2*ª š+ ª <9;( µ  :ø ú+ ¥ 0‚‚ : ø èQÇ‚  + � %YÂ1À;ø ÷Ü\+ ¨ ö* ½ +1³J1°1* Z K Ä+J ói1cÿÿrר^|2 Sôõò "ƒB¬Jö*2 Ð Sô93¿ tõªJ/‚ $ !$ " j w …C ‹wK 3 3õõ ò3 sò _ö`"j:ÿÿÿj_ÿÿ@ ü Qò2ö UC’ ó#ô+ ì‹vå3ôõ ë  62ö OOÚ2#‚JÐ #õ#+ Ž Ð % !  � õ�8òÐ 03õ2)`¿"�`J  ]l1ö ’;õÙÿÿÿÿßÿ ®çÑX:ö;!Ÿ 8\  Kóº")š¾CC ff€gV„…CÒ@Ò�:!=Ÿ 0 ô²Rö+õJ 3C)/� (‚Š ,#;õ`¿+Cª@€ ª‘ª `K€ úC 8#)�  » ¹  Òò 3õ`¿*® ¢ Ê ¥ £L#€ ٠› ÿÿÿÿ ) �À! �!Œ ÿ]l 0ÿ\  Kóº")¾CC ÿffi!…P…„C„BB…C"‚ Ü" Ó"1ëÇŲPÒP¶P ËÎ8K3õ…�B!ÑB#!Þ–J: +ªK ÷)Öî8K ÂB ’`¿…P­ Ê v {+©J){� r)y� m¬K‚‹ë2ö)f� ô)h§ *!bŽJ: +!a82 § }+ª  #€ O P3…G L'€ û�#€ #KªK Z� Eú#€  P > P M§  K 7 I§J C� 0ø#€  : ) : '2ö2 *!�!ŽJò#�K 3õ2 ,3õ„GB")!¦B Ûÿÿÿ€ÿÿ@  � Yý8 +8!ø� ÷ 4  @ÿÿÿÿÿÿÿÿgV ü é ü  ù I]l0Z1 ÎÕPÍ ‚ü« ]ltÊÿõ :.TUièj j`"j_g*`j`itËg‚ÿÿÿÿ!þ€ ä%l€ i$ )ãŽP%ó1áÆ` Î!à ç«!Ù‚P È!Ü4 ÆP1Ø Û$ )ѦP)ä©1Ö Ø�”­ Õ K0 "5Ô Í‚�¢ÅC "þC "ýC º#8Cº#+ ½1½ÇÀCK3Ò 9^)^¿PúÀ-³%³îƒ4 B J-® ® M C’"ú)G§Bú#+BýJþ4 B J-� �#‚  9 C’"€  5SÖ&t„3# + BJ# BR '1†Ð 3Ò 4  ;C  3B!)§+¦EÜò 32 3  ÿïfeg4g+g4š €ŠK2S`¿"1$Ç Æ3B`3 ?†�‚J‚ K1<• ;#ó¥ 83 0†�‚Kü") ¨§B…Cô ]lò3õ2#!Ç +#ó¤�Cô1• 3õ2#!— ) #óŽñ!  «ÃIH`"@ ÿjK)"�¥ 1 ·ÍÒÀÒPÎ@®P1< öP΂Å«‚Sþ‚ )îP! ²“‚À*�ªÀ¢8+Ôÿ†z 12345679\\\\\8`:#@'="\\\\\0/STUVWXZ\\\\ Y\\,%_>?\\\\\-JKLMNOPR\\\Q\]$*);^\\}~stuvwxz\\\\\\\y\\\\\\\\\\\\\\\&ABCDEFGI\ \H\[.<(+!\\\ {abcdefgi\\\\\\\h\\\\\\\\\\\\\\|jklmnopr\\\\\\\q\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\……PC ¢@‚�CS ªK’%JB B -I1J H%E‚À¦3B Â3 B‚€ { F S B …PC +# 4 B J+ 4 7!’C)-¶*'�B3!(C)!Ó¶"‚ û €#Ê1 3 L ò #€  #Có rLrJrHjo<`"gÈj*þg‚j_]lferŸ2 2üSÊ`¿"ý‚!* "ùø„Bý`"B 7)%‚ ‚�!)`¿ "*: %) � ) …Bý m² otÕi!E tËg*g48+ ïÓô"3 õ3"*þ�…B* � Ë*: ¦ûZB °äC"ŠÀKô*þ¥*ÿª‘) @S ; =S…B B-3 33B B /…PB l8ò²ªP#ó $ '32 3;"CC" C C…CC83õ#B#B~1|") § !B !t H ZõjtËg�]xg*i!ò„¬�`¿ ûüPÞ3 33 1  sA1Y…B!B Y½iWijsB)O`¿5ýÒ á­­P`K ôsA%C%C‚å…Eî…CC3*ª "C‚ö ásA…PàtÖe] i=:2#*� '#*�R#8‚JQ+ª chK;#8‚ ªP"Ž Z3`¿ W:`Û`3 P0sCtÕ")FŒÛ8S3Ò E3­#‚  Ã?K*‚ * :‚ : â 1—É4#B;;‚ ¾Þ83:  ª3 ¨# §3š#‚K83Ò ÷…CB8# ‚ õ3"C"CJJÀüd»`"j jšg4gR €!*C))�K…C)"7Ð  ÒW Ò�"§#‚BSñ#E…E 1 ! B…B!B Y½sCtÕtÖŠát†tÄ xŽ' ")[�W ?sA`¿* ="):�J� 38"‚*Cã"C…BB`83:  s oK"* L—É 3…BûBúBõ3"* ‚ ïª í3 \3 Z` sAò k¹ijiWÿýkDi=V­Q­K )Ž' ") � ‚@‚¡‚�Bò  <’2ö §ÀC3+õ 7R …B)1Î10# ‹3# )%�­Q¬JªJ Ê!(– !­JJ3õ"ü3Bü#+ ‹… Sõµ:1 1 11 •)*%ÿõg‚DRÿ.Š8 ;1DÆ’ƒ�!@‚P­­PIŠ8 ;18Æ’ƒ�02 "  %010Æ`1, .…Î ,ò  )<#8 + $ƒ¬"ü€ ¢ ‚�º# 1Ç1–2ÿÒ^Ð Ö Sõá  G t tËÿõièj]l`"g4ÿt†0 2<+¦•02 J#B' î2 ì3­­PK8+9 ª�93+ª ó¶<#Ž;!åé¾õæ<#38š¢ê 8ò sSs†j*…B!6B 5K²!3*ú� ŽJú / /#")-ý"žÓ«üú 83!#*� ;õ;"C "C *K"C"C ‚"C8ò  83 ‹QffhdhÿgV¬­K­J J JJ J" *BJ"ô:+8CK t²…Bú!q q q+1p p¢3õ p ’ l)j3 gC Š1c; úJÒ� `3 ÒJ‚`C¢3õ \ C+#‚ ­P V“UC K3;ö8; úJBÿJ83 A4 B J+õ x 8K²!6 63õ#+ª ¦# AyBþ"Ax* 2"ªÀ¦Ay%^AqAq-]1] #%Y‚À¦Ak4 ![Æ+«1V L3…Bú #‚ ># +«ƒ4 BJ3õ B ffj:g*ÿjoê«g4f?`"ò& 5 KK)ñ# ‚Jª�K# ‚J?3 è3õï'‚ 4 "G ܲ…Bú!Ö Ö Öå3 Ñ3õ*" ò j*gÈrLrJrH—€$’")8� *ª ")1� !4"+ -ƒ¬#•  (Š#ó $ƒ¬¢ !‚�º­K! !!! ! 0B  ò 0 .DR`" gÈg*²")wªÀ�K)s§À* 0 2B J+õ o!o ì‚� S²"‚ r#ó)a� dÂ0 *K 1{ Z3 Y²" B ")Q§ÀBÂ4 +õ O’…B!B"!gB#…�B"!*�G eI!C’"‚ 3CÓS"‚ *"C)N� !")*ªÀ§+� Â)(1E G)D D’")§À* ?,B J+õ +# ’‚` 53))¶Ñ3 3 ¿ÿj*gRg�t"3 üò    µ!0B 3 ï K C „¬�`¿ # + Ê.t/jGe©]x] i!j_8+„Pª�„�5,—U*5*—U(`¿!*ªœ!'1%­PJ)ÎI­I!2Ð  *� *9K):½­9K 1 Q 2í ü…] Z[qz`ߌ�…9ú)üª C0: CC C C2!óÅ …Q…+2§C2+C%'¥E%+ª …C19 Y*ÿªJ =2ú  =� ½¼! BÿÓ í`  qÒÿÿt†q'ÿs^ÿÀ49ù")� ‚  ž3ÿÒJ)íKÿ8ò ` ]l?ÿtÐ`…Q…C­K5A‚ 4"0 * {ƒ¬"ü€ tS º!2Câ q‚�„ iC3 *K"û‚!#C 2"1AÆKC>  0 2*K !�À2! Å!ªœ ªšêëDZDKDPDS0SVtËj_F!óÅ$!û !ñÅ$!÷!ëÅ$ 1îÍÍ!íª@1ൠ1Ü´ÄÍÀ 02 "-u‚œª d1jüZ5hÒ  ‚�Z5e ‹32Ò û šqMgR ]l`"5W-½µ *ªJ®J*ü¨ :+8K Q Cí12ýÐ é5¥ <í*!7-:ª 0B Ü„á’"€ ø)010"ú� ‚‹ + +2ÿÒKõ#)+§)‡¥  "›€ •€02 Q 02  G :3!9C sCtÕsStÖ_ötÒtÐ]mu�hdhg*t"`_½tOL!ú ™‚� º#‚  ð3õ �…¼ ò ª 'K K2 2üSÊ`¿"ý‚! ùø„Bý`  S +J…CC²*J B&²„¬�`¿ ì T]li!]xrŸÓ )+3ª L G32":þ�…Bª ‚ @*: ¦ûZB 4>C"*þ¥*ÿª‘).3K J3"­ª…Ò� ÿ# C"ö'&S 3# BJ*�J:+J*83 "‚g4fei=g*&)ÿÂ83ª`S328+ ÷¦BÉ#‚"3 ç;3+J": ¦ûZBªÀ8;#Ž ×áCKô# C3*K "*3–"°3 Éò+ô1* *3õ2 2ü: 2΃æ81!�Í€�32ÒR«ƒü3CóKô;õ; ;ü# C­â  ’ýZý Ÿ²’  j€ ] ]mrŸ0…B0 *2µË!?�1? =Kô‚T«‚ ô!8Có!33õ 5 97ö"* BJ . ’"* *3õ9*ö:;úKŠúK…BJ  8; ’#B#B#B#B#B#B#B# B ò jocAfeg4g*c"‚ R" I"9YçŲPÒP¶P AÎ83õ8#‚šÖ ‚�; #2‚€‚`C29G¾!B¥6¥ ª «û® JZ#‚ ,`¿SBBB$BB!„B BB!ŪKÆ9ÄÞ ÆP9¾Þ`)½ÎPJJ)ºÎ`JJBBZZG)�À! �! Œ ‚@Ö < 0ÿ0 @]lÿÿ:`¿#Åd-"Ê2 -²"$‚K …�Bƒ` /"Ê2 ²:­KÊ1ä"€  ‚Óú8;ú‹† ‚Jø8; #2ÔPÇC2²`8ò ‚ "† B!Bi!F!P­!L­PKCš`¿* ¾…C"8Cš# € 6• "C  š#€ -• û"C8…B S;+µ …C#)&¦A8;# €  m83Ð : !C#¬�§C: #§C…PE `8ò ]mÿÿÿÿF`€ZR]^ÿÕQÕS3õ2 Ò 93õ‚�Bª’«JŽ„B#‚ 8 #¥+"),�'8;Z "#­‚Š+!Ü�À¢¦PŽPªPJ8# B …D8 2S`¿* ¨ ²*¨ ý#õB` 1·1¶C#õB 8ò Y.83" B`­J)*îK+ª 2"3 83: ##‚Z!B#" 83 8#‚ 3õ*©"#‚[¢„3 iŒi¦i  @@ F@@IÀ L@AOÀ R@ UÀ XÀ[@^À a@ dÀ!g@BjÀ)m@CpÀ)s@*vÀ+yÀ/|@.À-BOOTSYS.OL$TTI$TTO$TTR$TTP$PTR$PTP$LPT$CDR$PLT$DPI$DPO$TTI1$TTO1$TTR1$TTP1$PTR1$PTP1$LPT1$CDR1$PLT1#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED j `":iè j0BÓf?sÄ8e¿# 06-7MÿÿÿÿÐò8*¨ � *� )5¶÷16–­Q15–Q12–Qÿ#‚ ³# @#@!Î+ª #‚À†P‚PAC# `ê81 –Q1–QÿÝj@g€qjkjÀnl@g@n@+®P®PK1ô–QÒJû1ï–Q1ì–Q1-· ú+1*Î1ã–Q1Ü–QÒJû+1Ö–Q)1×–Q1Ò–Qü1+Î1Ç–Q1À–QÒJû¶€€C’*ªK)0* K5))Tµ SS*¨ .¥ '2 ‚Ð  *¥ ‚ S2ø* #¥ #÷‚  ;*K 0;`8ò Yã;*K ô32Ñ#:+ ¥ 8#Ó*ª�!�ŒPJ \32Ð ß*#¥ Û#* ¥ Öi1] ÿýq']^sC3­2 Ò Å Ê2 úª " ºC ì¿" ;C û;­`¿3Ò  Ò@Ò�Å Ê2Ð ù` ÚHת *º#‚J"€  ‚Kš"Cþ ²Z”„C*02" ¥B ú@ú�Z ôš"3–Sì"C€ ê02ð*¨  ªJ "²*ŽJSÛ­KK K Ö"²Ö BõÒJ:;!ç :#ü€ I:#4"*òPÅC 3õB"J!8ò  9 jp ÒJû:+8ò!ù� *"K*!2#ÒP…09ªƒ‚�Æ�ûüª°83΃<CK ÿð:…C")§B! Ê„`¿  "‚ ò sCi=i!ÿ]ld þ4)[� H)Y� I ö!8"17ÒÀ•83õ!1C)3"‚À§9,å:¿)'½’PÒPÆPæ)"�#ŠÀªPªPªPªP83õJ:;)½­¦B 8;ž+© S…B 8ò �ÿÿÿÿ0 ¶ ´0)¨ ú)¨ ö) ¦A)§Àò<C &eÿÿÿÿ2Ð ›<#‚ —#‚ ”8;õ3#‚Jõ#+ Ž 'ˆ ' #  ! õ � �;õ„C…C!C";#€  ‚  ¯ � �ª 4]lÿÿÿÿÿÿÿÿ`"ÿÿ  Ïj_C‚@‚�9/îƒ:üC K # (.:#+ D:;ú€ú‚) “8CóKô!+ªJ!C  …™ò  rŸrŸ_ö_½Ž�Ž€ ]l`"@jpÿøg+gRj:g*gÈffg�eÿü2üS" *9ïîƒú@ýpå8BJ#ó+ô1å â3‚ ©¨!ÞJþ«KK‚�‚�‚�‚�‚PBÿ Ù²­Jú!Ú Ñ)ÖJ)ÈJ;õ+ôJ Ç Ç…C3õ"‚ 22"C"*Õ9ÁíÅÄ1³ °K C…C 3" *BJ3 ­²­Jú!« ¢# + �#+ K…C ” ”è3+õ ” ” ²+!‚Ž…  ˆ ˆò \ ©K ‚�‚�‚�‚�–)‚�K+ó!§€­‘ª�ƒþ"¦Bô ª“ú­�Óõ ­­PK*ü¨ ò#ó:;’J JJZ ­KSõ 1‚� S²")'� +#õ $�m CõK"* )¦CÂ3ó;+þ;ýZJÊ1 3 3õ*ü¨Ì3ó+ª Jò j’`"j*g4gVS1j#ô*þ� #ó*ý� ;#*ü�  #*û�õ X   è82ÿÒKæ3õ2 2üSÊ`¿"ý‚ !V Nùø„Bý`#ó+ô: 2Íûå1@΃1D >3JC"¦B" ‚ ƒB 4 C+1+ +3¶Š…�©‚�«þ*� €§Bò3 3…Bý ! )"§ ¥B!  u�h@!ÿ0B èjo i!jpfeg*i=ÿÿ€­K4"0 * bƒ¬ `ƒÝtSõ*ªJm"ü€ E8+ª”­�K ª�K­�Kª�%G‚­K 8"€ \8; # • %>C 8")7§ H+¨§B+ §7B"),§¤B!% (‚� º $3õ …¼ !–! 3õ"úBõ"ûBöò ®J:+8K  í_½j:ÿõ_öt"tÐ?ÿÿ`"tËg*]ltÒj^8; ú  ø: ö ô8 ò.*ü¨  í6 ë…CC5è8;õ"Ý ‚J"ü+ü� 3"+ª€  "+¥ -е  Ç‚(2ý"üÐ € â83õ+ª 8; *ï îJ8+ª -µµ  ¬' "‚ «�€ ò  ¡'‚ Ú ¨:ÕÓ8; #‚œ¨%“‚Š£ “’€ 8 02 *4#2Æ¥4BC8ò  ]l’+: K8ü;ú@ú�Z8+8; ª\9+! �K8+ôª‹"*BJ sS,ò4*8K A„á0: …C2"‚�ñ…B,#+94îƒ4 B J5)¬ („02 ")§B0 2 T - †k02 ­�J­MMM L: +„�‚ �K  € ÿtÐZZtË`"t5tÏ3 3 ’8; …C ]_gV­ „† `"8ò  @ÿÿÿÿÿÿÐ 1øÐ 1;—  1ò‚À‚‚1ð‚P‚À–‚�1-Ò�‚šÓÒ@Ò@†PÒ€!à–ÒK!A\ 1Ó 1Ï 1Î  Ð â  š\ Ð  ‚�‚� þg*g+hdhtËg‚fe]lTUt„ ü 5üÐ 1„Eø)øµS2 Ý32 Ú3¬JJJ*K*K*K ΀ #+4 BJ -× × × ’;Þ#‚ Õ#)Ð� Ñ#‚  Áò ­ ª]­ª%X:3Ò I`¿:ú  :úKþ Zò` ]m:ú ;Q~:úKCú M8+ô9818—ÞÅÄ ;ú j32¨·S#dÿÿbÒ`qÿ‚” #C1kÇ@1hÏÀ¦€CCeÿU‚ŒS1`ϪPªÀ1#CÇŽKC3Ò "$‚K C G ` D'` AWÿÿÿ8ÿÿùÿÿÿ :;C1@ß 11:#1óß ì<02 SÕ0ST1%Ò AZU)BBJ!*ªK(:"�û:"�  Z#‚K)�À9ξ+ª î …E `8ò ]lÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?þ`¿ õ ôé`ú:#)¿ ã!B í߀ZBJ"" € Ù `¿ ß Þ € ý`ø Ø€ ýB ÔÈ4"0 * Rƒ¬¢ O—� 2S’* K)H"�ÀK4"0 * ?ƒ¬¢ <—� š#‚ 4# )5;¿ÀÊ4 BZ /0 2ýZ! + CC'€ 0 2! ! 3*3;Îû’ZýJþ­Jú8+Jû  éãò3  `"g‚e©g*hdgV]^#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED j `":iè j0BÓf?sÄ8e¿# ;ÿÿÿÿÖò8*¨ � *� )¶÷+ª“­�1;–Q16–Q1+ªJÒ@+ª�Ϊ�ª€ª€K1"Î1)–Q)1 –Q1–Q)Ïú1–Q1–­Q1–QüxqjjÀkll@nn@g@#‚ ¬# @#@!�+ª SYS1MSV {–ee PW|WFWW „ÿÿ f NOVA RDOS REV 6.32 `„`DY:8yÉ IÿÿyÉÿÿÿÿÿÿ*%dÿÿÿ8)TV d¢«»ÆÕàù*WX~Œ—£½ÈÑåçì )&1&9&"CÓû«û @5 >!r "i?!¨   @)­�Õ  P >!­  O V^ÿÖ*( Qð,-.?!.@0 Q? *ú0.)$µ¶) µí -(,‚ªè "å Q,-.?!@0 Q0? ú .(-0, "î-Dl:/\ K!$@+0(Æ@/…@,@-@. 4  O DL// ?1Í  00Í  09Í  H1 Q@1? L+ìü L (5¨  >0)9!FÍ )3!CÍA? QÔ?  O!8  O 9!3  O > 6@)­�ÕP3  O!#)!ÏÀ9E÷9õ9õ!P’ C08 ãtrx ~–„'Œÿÿ‰’jnÂ1 O\ K029æ+ûû¨ ôÍ ú#ÿ@*­PH<)U  O 4­P H ?ªû1 A§ÿ¹þýüû úôùïøtÿÿç 0‚�@- +‚U!%  O!" + O…AAA@1 =…�@+ 0‚ L G NI1·01· G NI!m Iº¢1 OÈ G NIóª 4 I©¤’ 4)"• @ I©¤(-ªh(4� ­!G "c`(7! H@1[0Y =§ Qœ?-Q: G NH. G OH/ 4(. H’� -‚@¢• @,"ÓŽ,ü1m /� O +‚T,01!)§9¯¿9ª¿Ò” % ""!Ò”  "# )�Ò” ! "$  F N 4(.  O�)µ O P-ù G N¨ #2 G NH. 4 I(2ª�‚H, .¥ 41Å M� QÂ4.N,?2 = *—1!² Oª•íîÅ\ K7üüP3 ? O LY  ! @8(08…Cû”ý®\ Ký’�*!‚ªÀ�Kþ L\ K! �ÿÚ“ªÀ3Ò‚ÀǦC Lÿ\ K"€ ¥ÓÓúSÿ L\ K!@¢)_4Ò LÅ«Æý3ÿÿ @õñ€@\ K7üü 9Å A#‚ 1!P¢)?4Ò LÅ«Æý÷3ÿ @SÿòY 8¢)+‚Z)*3ÿ @ÿ‚Z‰Š#'èd \ KÕQ(Q( ?1µÓÓI Ò ?9 1 ͽ 1 Q÷ +-08Cýý)! ‚©Kþ L\ÚPúPöP¶8‚‚ \ K7üü‚ 1 ‚Zü L 1‚šü L€\8(ÞCÒS­Ò� *? ?CþSÿ L\ K7üP3ü J L¢À JŠŽKþü L\ K’¡ L J O @ƒü L\ K’… J Oƒ @ªûCþ L\ K<! ?Kþü L ;A (: H<ó 7• Oª LùY 8CKS1ÞX3ÿ81Ý0X#+3\ KAQ ?²! ?µ Lª!õü L+þH3A8I8Q8Y8A3I3Q3Y3\ K¬­I*9-#ý)%¥#þA))§¥ 3A#0(–"A1") A:#ëPI­°9ž#A Q&?  L    (N[j w ˆ™¦·ÄÓä÷& ?;@EÅÈ-ÿOÿÿ] ILLEGAL FILE NAME ^T NOT A SAVE FILE: FILE ^T  END OF FILE: FILE ^T FILE ALREADY EXISTS: FILE ^T FILE DOES NOT EXIST: FILE ^T  PARITY ERROR: FILE ^T € NOT ENOUGH MEMORY AVAILABLE^A  OUT OF SPACE: FILE ^T  FILE READ ERROR: FILE ^T UNIT INPROPERLY SELECTED: ^T ILLEGAL STARTING ADDRESS: FILE ^T DEVICE NOT IN SYSTEM: DEVICE ^T INSUFFICENT CONTIGUOUS BLOCKS: FILE ^T  CHECKSUM ERROR: FILE ^T ILLEGAL BLOCK TYPE: ^O € SYS.DR ERROR^A € SYS.DR ERROR^A UNKNOWN DEVICE CODE ^O € UNKNOWN ERROR CODE ^O LOAD CT0, STRIKE ANY KEY ILLEGAL DATE ^D/^D/^D DATE (M/D/Y) ? ILLEGAL TIME ^D:^D:^D TIME (H:M:S) ? ILLEGAL CHARACTER ^A CLI.SVRESTART.SVMT0CT0CT0:0MT0:1$PTRMCAR:00MCA1R:00$TTRERROR BLOCK - OUTPUT FILE VACANT YOU LOADED ^T TAPE# ^D I WANT ^T TAPE# ^D..... TRY AGAIN \ K1T'üüQ* ?ª01 Í 1= ? A1 @ó^  Cî  Bë õ A¢)}Í ?ª @ù!Ü ªÀ @ªÀã\87ü*ü1ù­ @!ü ?’¢ L 89(8å øÂôWD!A(W7T*O%ÿÿ OÈH$TTI€€(€M f5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ (ª ‚ E5M5 )4¦An%11 1f?ÿ1/ - püÒ ))µ )'µ ô ‚ 1"  `ùÒ )µ Ð òÔU1 ­n­Q¬H `¿1 ( ffffgÿóY�]ÑYKFPY\1Z§YƒYuY.Q,1+ ô…A+ 5û!*•  !(• !&• !$• ïQ & 0)¥ è!Ç)Ü¥ ãA!—À!)ÅÍÛÒÀ)¶QW½DKDSDZDP 07Y Õ )ø� ÒÀ–2úgˆÿaˆ)í§bIgIÿ)ç� )jIgIÿ e¿H !@E@X'€==ø 1; B B B15ýC"Óû‚ û@ @ 8)+K1*)*µ'‚  /©€ øBý’"ý«úò¬Jý5!¥S)Î1 32ýÐ ÷1 f?ÿx¢yw¾Yíyƒy ÿýÿõpDYž]Ñ3*¨ ìU?9ñ+ª 1;Ð 19 òf?ÿU6š+Jú+Jûƒƒ)ãÎ1- -='5)#+BJ2üBJ2 U -!ª ‚ %)¦)1 )9![ÿ¾ƒý!† CÿÕ"BÓÒKüyefY¸yp'Z§W¿xTyÿø9!1!+ª ¨ J ²„B !ÆB!ÆB!*ª Bûì¬J 8! �;ƒþKy¨vÚ"`Ö!&9&C9%„C…E"E")"¨ 9 ¾)K)9í¨#€ †¥Cû«ù1"B@"(BB1 f?ÿw¾w‹yy x½€yx¾YÎ]Ñ9a)a…òBôBõBúBöBû¾ZÿS÷üZÿ9TÞ!SÔ‘•R*µ üõ×9K;!…)BbIgÉ«ý…�ªC9×;'ø  ;!;)3bigé«ý…�ªC`H!1bIg‰ÿ)%gÈ«ý9(+!ŽK9¸;'ø `h!bi)«ÿ)gè«ý+! ŽK4!@ d Øðy¹fÜfÜZ FULL(F) OR PARTIAL(P OR )? WITH OVERLAYS ("1") OR WITHOUT ("0" OR ) ? INITIALIZING WHAT DISK? BOOTING TO WHAT DISK? OVERLAY FILE NOT FOUND MASTER DEVICE DRIVER NOT LOADED - SYSGEN ERROR. NO SPARE DCB AVAILABLE - SYSGEN ERROR. INSUFFICIENT MEMORY FOR OPERATING SYSTEM - SYSGEN ERROR. ubätòoÛs)ÿÿoÑrHv—vÚÿÿylcnanÿ5÷…B!õB ôK²!ò*ú� ŽJú î îy|3)ë…:æÓ«ü8‚o3!á*�r=Ö;"C "C *K"C"C ‚\"C)t�S o5l:#+9Æîƒ8CK"û)f§:+®[H:# Bô…)\BJ «K² ª ª583"*2΃3•-• 3µ(3")C‚‹�")@�)>¦5>Æ`¿-<�E8`#=*;ZS)0Κ3 ¶„B3 +1 1 111 11 lcnna\\p']Ñ\F\%\;\0[Ùym1mSnØnÙw¾@5ñ9ýS #B!úB:+#1| |‚«!z¦(1ãÐ ª 'EtEu…Etª !¨ 4 9ß#+9bîƒB J-Ê ] ¼²S » ¹ª­3"‚ ƒ€ i")R¥e ¹ P!a€ bL`¿…@ d?=Tø `_ 5P P`(5¥:#8C9­Ò@«Ò€#+ 7‚4 9¤#+9'îƒB J8CK-Œ  -.CC'(¨ >ƒƒƒ€ .‚'!C'/ ú3 \Zmpm@\«\fgffeºÿøÿù]Ñ[élbfZ�yyd©[„m1Z•1õ ó!ïC#+«ƒ î—É \ú!áC)á4 ã“VGOBJ ÚÛ’!E E B4  ÐÑ’!; ; 8ä3 3\Z\ 1¾S4 BJ ¼½CC!(C­K'O/‚ ª #3‚  ¯  4 â ž—É ­Oáèm'p7ÿ€\ 1   € ]Ñ[Á WARNING: MASTER DEVICE MAP.DR IS ERRONEOUS. INCOMPATIBLE DISK FORMAT !! NOT ENOUGH SPACE FOR OVERLAYS IN BOOTSYS.OL. MASTER DEVICE NOT A TOP LOADER NOT ENOUGH ROOM IN BAD BLOCK TABLE DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE s)w{`cÍÿÿÿÿgã9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `_Ýyd©\ !*E*!Z)Z¦AaAa`¿1\ W "Ô)#¥1 € 1Ð õP9I +¨ ïû¥ ûûø+M;Y `¿ `^�]2_:WÕ 1\ gRÿ\ 1, (gˆÿaˆ!))-¦PA*  ]D\ -Ik1\ 5Ð Qc1 !‚`AmƒAgˆÿaˆ W y¹]¥xþxÇ]Ñ_L_\_l_{ÿò_ ÿ1ü ô\ !ö)ŽPI÷ŠPIL¬!ð %¬P #) !!0ÆA1 Ç• 1 Úf?ÿ_¶eÿ\  )û§ ¦Iød?@ Ó \ 90ÞY9 ÞY9ÞYÿ bl@g€\ !±‚`A `1ù`¿ ü`E¨ pÜþÿ\ !6C`¿ 1ù)2ŽI1™).ŽI1“ÒPQìÕ)'ŽI)%ŽIÿ)ŽI`ÒC `¿Ô)ŽI1) ŽI) ŽIÿÎ vtr@q€g@1 Nf?ÿ_�\ë \ ©9¶ª ú�²3ÒÒÀ9L÷š�#‚ÂÁÆCú@ã«9£5çôë �è ]4\Ë]D\²]D\·]4\Å\ï]'\ï]ÿÿm(nany\ Jþ­JýJú=ù+Jû+Jü ñ ñ ñ  € €Y ! ÚQò�*ûªÀ�gIÿjI÷ÿ YOU LOADED TAPE# ; I WANT - TRY AGAIN ]õ]ü^^_=»Â]á»Ö]ë\ ’�"‚ ‚À)§Cô \ CK# ð²# ìª µ ö µ ò \ )¦ÀA1 – 0^?]‰]Ñ\ ­P û уª û )2 ô57Ð Á ð53QÀ! î')&ª’I¸Í )· Ä;)±ª•81¨ Ü1° Ú1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ `\­ÿùø^ë)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9Úõ â9Øõ ž9@õ ê8#)>� @9J(%A�zR %;¥ z\ %8�%6�!7ŽI`¿ 50ÐÇ@ d?`!-�0ÎH \ 5…`¿B B ")§B*¨ ` þüûzǽÖ_/]3qA]«]¨]±]´]®ÿû]m€]‰)þ þ)åK)âK#1è•ÌÍKʲ�S ïŽKÒ  +’�"ŽÓüK1Ò#•  +ª ã+#¥ \ 5) «I;ñÒPS ]¼^›1 09õf? –^ñ\�_Æ]Ñ LOAD $PTR, STRIKE ANY KEY. LOAD $TTR, STRIKE ANY KEY. LOAD CT0, STRIKE ANY KEY. TYPE ("0") FOR $TTR ("1") FOR $PTR ? FATAL MAGNETIC TAPE ERROR. $PTR DRIVER NOT LOADED - SYSGEN ERROR. FATAL MCA TRANSMITTER ERROR CHECKSUM ERROR IN SYSTEM OVERLAY FILE. '`%+),�A)­PI#9+X +ª[;ø ú)ª  ­Q) I !€ å ã! AÞ,nBy ÿÿÿÿv‚v€v~…ArEtÎvÚ`­`Ÿª þ!ñ‚ Ò)nª q)lª ô3 P !ð8 � Š!J¦1I)T I0 Qä!D)B¶)M B0 :#ÿ@8 C`¿8 )C%E¦Í#‚ ÊEÀ$ ‚�#&@+#5A!?— #'b#(`#"3!Ò�Q43$;%`0-1J: #@!+§ # b#`*:ªCª�Jº%›-›5› Y š"CÓû«ûÿøÿÿu×apx¢3Ð *ª )ï½ p`¿!ê)ê½ ‚ Yç``¿ÿ!å§ c!á§ â5Ò ]!ö�KY`1%Ý %Y")"¶t}!–g~ÿ`½g~ÿt}g~ÿi¾g~ÿJ1öÆdýg~ÿ`ýg~ÿtý*g~ÿj>)`aTª’%%Ô‚ *ªŠù3 Ð & Z#"C SP)OK8+#C0J1rªK²P t8#+39jk#€ 5­ÅC_ê5Ý Ê2Ð Ý û:…`¿B²`Z:]…B_æ`3 ªPKµªŠá ß#‚ <1ÇÄC!C38S91-`Öÿýd/Y €9)+ª[¨  ûú® K® â8 CH €8 x£-ª + H3P 3 P oýeºcû`wñYÿ8ø ü3 * H ø 0-…8 @ C „B )"KZ #B- ‚�-JPâ5™*ª  :ø  + ¥ :ú€) ¿¼PZ2*ª î1a­ÿýyy_Ýc.c¥a¢)Ua¥­P0J29DÒ�9EK * >‡Ö?„…@0<+J2ÒJL"0Ò ‚Šd‚Jc!'+�À 8#ºÀæ8 ;�X8K3S"_\ 02 -µ …0E ! Ž!1   p'`ÿfydVdy)aô ã ÷‡€)02 9"çäÿûB8„C c6 r 18+ªœ 51 8+ªœ5 Ð  *KÒÔi iyªy©df‚þ V T R P N º#‚J×"8SdJdK B ´ƒ—ú ±ƒ— ®ƒ€ô`ê)9‚83<#‚ ‚P¦’ƒ8 +�Ù ""‚JÓ <+ì)$‚ ê83 "‚ŠÄ8#2:ž+¨ !8KÂ+K4*KÄÒZ“*ªšc‹ ÿ„€@83ÒZ„*!ú� "¬…@ í02 Â)O¶QKÓQJÓQF<+ª «K`¿E’%<�'‚&+ýY9Y954"žíY2Q22ÒJý÷1-<!*�KÒ "ZCª ’"¥B"† B þ KŽM5Ò  Z„C] `5]Sè]öu_dt`Â8 ; 5m)mÏ r�S p�S(K‚�F5S)QÍ ooPBš…B #B8 Z #B4")^º�½ *1ZÇÀ1mÅ <0 2 9i÷ïÍJ8 3Ú¶*®Pª�ª€î8KKS)6¥812–*32Ð 2ýX 8KKÂBÒ�²S1!#8 `¿+ª …C ­�‚ ª�KcÝe_Ý<9ÿ½1ú¶*¨  ÕPÙx¢y vÚd·3dV1þ1ý…@ (?ÿc¥ 6€ 4€ 8 ’…B # ‚ š# ‚ ýS ÒS Ð"ÿP " š%È)Æ�Ç# B â* H bø38S 8 ú k;õ8 …ú C c38ø S x£x¶ê þ€‚ Y9 ø€‚`¿10Ð  :`Y+-º*8(`‚  ä€ ù †º\  âSõ „¬�`¿ ÷X`¿9 Z`Q ø „� 8s9oo:YÿI=Pú „)¶)”§Q2Ð :¿œù91*KZçÿû94Ò 8#‚Z="¬�§B02 "ª�§B08 ú „C ¹8 …C3*® J…E @ 1" ‚ 2" ‚  "ae`¿9°ZQ®°8 èw‹c}`‡8ú ß# 4Ò ÔBÁJ;+$ª]«©¨Tª€K$»_Ý’’ 2ÒJ1e2 Ð *¥ û S8#†€C"* ¤ 6ê# T8 ú å°1,‚ î8;+$ª ªJ2 $å*% ‚ %½‚  0"1‚œó"‚ ð!2  2 "1 �¥ ÷*ª ô…0C$à€wyZ8 P ú C#BÚ`è û:„B…@ ¸a:Y :ú  `¿=U`Z`vÚcßâ â â â á¢b8b8áñb8áñá±á²áñâ âââ�â b>b>b>b>b,âUâBâXâ[â[â[â â ÿÿÿÿâb>b>ÿÿb,ÿÿÿÿÿÿÿÿ�’‚‘€ƒha¢˜�Œ��Ô™„ái=i>™ ��†È‡˜€„†™€„„ƒ"ƒ;„ˆ„ß�>�ˆŒ…ÿÿÿÿ�–€–�„‚„€ƒ€ç��ÿÿÿÿÿÿÿÿƒgƒeƒfƒuƒi�;�‘'’q‹,‹x‹y€é�‡�€€ê‚iŽ cüÿÿŽSŽdŽeƒjƒk‘‘�7�5cüƒƒ€è„à�‘�Ž�‡ƒZÿÿÿÿ’�Ž �?‚ÿÿÿÿŽ›––Öƒÿÿÿÿƒbÿÿÿÿšq‰&�Qÿÿ��e{e–€efefe«eÆ€e–e–\ #öf\ 'òò\ #öÕS +òKþ)(Kò0 A" :ÿÿÒ i2 K+þ;ñ+òÍý!9¥ú1 ÅÀŽKþ!Cò0 2;ñ+òÍQ!)¥Nðwüf–fƒ\ 'òò+ò4 Æ@Í@ª�1h ÅÀŽKþ)ïKò#ó+ô3õ‚‚ !å)§†À‚@‚Px£€ÿ\ #öÕP \ 'òÕPm1\ 'òòÕS AÊ âÿÿ0 Ò  2 ò+òÍ@ª�15 ÅÀŽ!½+ò!»KþCò­0 J H 8+ !¯1¯—Å`‚ÀK S) 1ŽÓSK1–S 2)¨ ÒK ³ÿÿB#–P#ó+ô3õ ;ñXÿwüoo:ÿÿÒ�%SƒBôEPõ@ ”ÿÿ`¿„)ïñ î3 Ò1”—ÅÀà ­ ; X…0 B 0 @ Ò 2 Ž#þª ìCò  ­Pí…‘…3 ­PJ5'*K*K1#ö ; K²þ Zö Š!¾‚ !¸ ¹ªJ  + H  õ  € €naynlcy\ 'òò‚S)—�À!˜1–¦ÓS1‘¶*ª[ CS ¾gŸ g\h”g]�ÍðP fèÿÿÿÿhág@ÿÿq_g\h r ή@ gLÿÿæÜ‚ …‘…P*9,ï =*ú )9)1)9(ï #9&1&+ª *2ªJC:)¿ )¾ú@ú�ZÕPU„á!)¥ƒ…1B yvyw‹yw¾` Qþ:;ø ;úŠ2a a)a§*ª›­J«�  )X� Aä!U U!á TÕ2 RÒѪSJ MÌ)L9L��%•)I� H)>� F*5Eµ )C� ­)Ay?� ø 9ø )±Oÿÿÿ1yÒKw1¶:ø 2!.\Y®A¬*9­¿-9'� …�‚ B#9� ­PJ‘=+¨ � ûúq_r q«q«p–q«hLhTgDh‡%C CC C=C+9Bï :2U=9ã%7å I ä5%255)6�  !4 Ü-!25- Ø)$),� )+� 5#…:Cƒ=$C! Ç22")§¤B22")�� Jÿÿg‹g†g›q«vq«gœ\ g�ÿýq´ÐÜ "‚K¶!öA!  )�š“ªÀ#§‚À5ã‚ �Þôhˆ ÿÿ††M†€†ƒÿÿÿÿÿÿÿÿÿÿ††ÿÿ††M†††Ôÿÿÿÿÿÿÿÿÿÿ††ÿÿq´Ç hæiq¶@ÑŒ@ h¸ÿÿÿÿÑìhíh¬_††<ÿÿÿÿÿÿ‡S‡uÿÿ†††ÿÿ€fÜ€h¬€g@ ‚!‚\ C"9ùŸ a8#B!8Côª ò K…pC ")V¶S)]� *:;Â@ú@‚€8C1I‚JÒ� G3ÒJ‚PC¢ B C3–S1:–S 3ÒZ 7!1–S #)3Bÿ…BJú;#Bû#Büò8")'§ ¦+ ª‹B"ô)$�##�€*Ž# ‚ ª Y"ö¥W¥ #*÷ª Y ÿpll'3ÒC…1/‚ G  O 3‚ ª !, !*–S 5èp7ÿm(ÿ3 t3 "*ª�† C&+ªK….‚ ª BýJþ "ÿ)¦BÿíiÕiÞâ8+ª�Õ P+3 JK +Jâ8 3 +Í 3 =3 :?KK1¿ÎK 3ÒZ ’¬ª *"ö¥Jö)&J÷ Ñ3'ÒK…/‚ ª  Šd3ÒK3BÿO3 š3ÒKG  O 3 �‘ ¿ßjkmOlce¾3 ü3 *2ª�Õ�SiÚ\ "*‚ ª  + Cô- &Šd BJ:ú B J !²Sô ;õ­K K# + ;;ú@9 ÞK‚ Cÿ "ú) §Búò p7ÿe¾lblcÿm(ÿ÷ò)øŽKº+" € " J :#‚K 8;" +ÿ J " J :#‚K 8;"+ÿ J p‡­ü\ "‚ S" ‚ P*¨1 k{ “`"‚ A" ‚ >² PC t3õ sŠdPCK �H²Sô)®¶*# ÖJ;õ;#8‚K*ÿ# ÌJÿ3ô­Jô .3õ*"…­B J #+jÄ Kô#  Ak{ò \ jDz  7k{3õ"B "B " B"BjÀÿÿm'mOv×v×+ $—É# ú k{ \ " ‚ " ‚ "B "B" B" B„B B jÀ €oTogm1e¾\ )w¶*ô!v§ "*ö� :ÿ) ¿À*øŽûâ8s lÿ÷!a� y:+8ÒPª@Ò€S*!SÒJ’‘’ P3ÒJ‚`C¢ h 3–C S Çkú Ækú3"ÿ*3ÒK…ª D‚ B2ÒJ kúí3 µŠd%3J;úJBÿ8ÿÿow3 (3K )²Bý# Bþ!Kó ò"ú)´�Jú;õ#‚J  3  �kú 3 I Škú p7ÿplm'm1m(c™lblc3 ú3CK "C"C1ðö ó Cóò "\ *¥¨ ª S2* ‚ �*K+39ªKº ƒ ² õ:+8K„ñKóò eÃmOÒaÒPÒ�\ …@C G …CC1<2ÿÒJ?#‚;õ#*þ� #*ý�  #*ü� #8*û� M8*õªå"ú)"� á)� Þ)� *ôª‚Š W‚ŠÔ#‚%T¥+¥ÌSCÉ€y¹m1c™p�x£3Ò 3"ú‚‹ :³#õ+ªSôªN K ð 5 .Só 0 ò  á3õ")á ßB Ü Ù "ú)Ó� !)1õ§ "ö‚J#õBö%Bôß Ê­P„`¿ nay lkynov× ú\ +ô`¿"ú§ Ê! ó÷` \ :öúJ[šZö#Bü#Bý#Bþ#Bû!•Búõ×%ÕBô …BöBûBúö‚‚ \:úú€ú`Zú‚ \õ:úúK !$ "`¿"ú‚@‚�Bú`=ú  …P =ú  …P  8\ýZôà\ýZýZþZúZôÙy o:ÿÿ‚ \8CKS" BB*J J„B…0B B B‚ BBB BB")§BoýÀ‚!‚\8CKSº+J+J+ J ×\ :û;úJ¨ "A2­JûÚ#BÓûû ú83õ:+…BýJþ &.ù\   ò8; ;úPž+JJ+ÿJ J’  lbm1‚!‚\ 16…0C‚€C2ÿ8ÒJ&#‚K#ô*û� ö"õ‚ "ú)#� ‚Š #‚ êõ  Ù"ú‚Šô:öúJÞ"õ‚ ÛBûBôØ#‚ #‚ ò y¹naû!û\ !9‚„C`¿"ú)õ�  `)1�  )ò !'CÊ &î`¿"ú)â� éÂ2û2 * ’� ï+#ª“ì…BúBýBþò *÷2û2 J ¨ ` Ac™o‘o ûY1º2ÿÒJ"õ‚ û"ú)³� ÷‚‹õ 9 û+¨ ªZûH wñ\ :û#+« 83Ò@Õ0Ò@8S1V΃CK3õ"ú)L� )J§  *þ"ý:ùøîƒ"‚�C"C#‚ :+'Œ.û *þ"ý83Å•#3´ 8„3õB÷!žBù"ú)§)¦BúÂ2û`¿2 : ø 3÷Ð ÚüC÷B `  €ÿõ €+'¥�òøÏ+'Œê+÷r)r)rGÿÿ\ …C"ú);§ 8€)8§ …Q"C"ý*þCóKô2û2!.ÆÐ € $’ÓÓ"‚J÷+ó¤*;ôíƒ8‚ ò#¥ï¢…PCª  3õ2û2"*3΃CóKô#3õBó  û\8S0 J B`Z B …E @  (8 K C …E@ ae_ê_Ý\8CKS‚@‚�5*ªƒ: �lªPJ2Ð ôoý``‚!‚\ ‚ 3ò2ò`¿` Ê„ »ø÷‚!‚\ ‚ 3ò2ò`¿„B Ç` ‚!‚\ ‚ 3ò2ò`¿`ò `  )2XT2û:îN)2ø)1ö)-ô))ò)(ð)î)ì)ê)è)æ)ä)â)à)Þ)Ü)Ú)Øb€bÀdÀd@b@fdfÀba€ecae€f@`@`€c€�Õ�€€c€€€€d€€ �Ô�Ö�Ó�×X8; úJ XCóKôSõ8#ó+ô3õ;ñXò €\8CKS‚ŠªŠÒ‹AIŠÑ ) ) Óù8#+3‚�ª�Ò�'Xº�)#‚ ‚À§ê@8ÿX8QA1ûǺ’ÒÀ+Ï‚À¦Cê@81!\8CKSšÁϲ+JÓûƒûÇ\8CKS�À­JÓƒýº\8CKSšÁ²A²"+� Óûù§8¤‚!‚X8KS02 ,µ ª0ª +3…XÅ 9 ªP‚@ŠŪ@ûûúú 8ÿð…0X9ýªƒ‚�Æ�ûüª°\ºŸPŽí8‚‚ X¸çä8­­PJZP*ªŠ 9wï 2* : í:½ "* J J :  1,Çú’ÒÀ+Ï‚ÀŽK0*ª‹ *"‚ "2B c b8*9\¿  : Z *9FîJ* : ½ ×*ª@ª JìÿZ")7� -" * �  )ôš“ªÀ#§‚À*97¿ ª‹Õ: * ½*¾* ½Ì*ª‹ÉD* '$Ä* J J *J*ª@ª Jð" *Ž" � Ñ* ¥  ")û¨§B" B Â" B B ï„!„Yº"C#‚€‚PC:ø? #€ šüKºCJø Yÿº#‚‚û)§`C­Kê9 Þâ;ø  ½ û+šKéÿýr r@ €9QZ ù:ø +ªœ+¨ :+ª .+º�+9A‚ úÀï‚ÀŽ:#š�K:+ªCª�K" -š#)œ� )&� ¦: * ½BZJ ú)Ä� :+ª€ª`Kâ®J š;ZZ:ÓZ¿Z:ívo:ÿ T9ûZ:ø #‚ ")F� #)îš“ªÀ#§‚À ?"ƒÿ I& 7å+!Þ� !,� Âò )’:ª€ª`K"®J Í! Ë:;ZÌ€�K" B * �JÂ:#‚C‚�Câ ´! ²w{wzmO)))) ) ))))) X:î8N`@`€g@a€a@aÀb@df@erHrVrdrrr€rŽrœrªr¸rÆrÔrârðrþs sòHs)w¾s9sIsY€�tlsf€t!s­ÿÿsY4DP0DP0sŠs¹s™€sus™suÿÿsfïÅt!s­@@sYk‰j¸k… ˜\ ’"ú)d§ ¦Bú"ü‚�C­pªPKª"ú)W�  …� T T83ó‚K;õC8 M2û2 S JC3õ"C 2 EK+ ªP+ŽªPK•+ <#�K3ó"ú)7§ )5§  #)(�¢*ó�¢B*�J…P�)%§+®P®P¦À+¦+ªÀª�ª�¦ÀBø+)# ‚ZªP#¸�ç®P¦Bó o›o­nÛpmplp} €\ 2 2 :û;úP9"ú úP"ú)ê§9"óæ "ø  *ú!§À:û;úJ‚P*ó¦ "ø Â9Û*úï "ÿ‚J†   o‰o§o�o£*øý�ªSú�ú�ªRú�ú�Ÿ i"ú) � Ö¨§Bú,"ú) Bú!ãÈ@p�`¿9m\ 2 Ð ! h Ø‚ŠN‚KÙ"ú)£�)_�Jú \%\‚ …P*õª U8;õ"÷C € 83õ 3õ K )ˆ§ =:ÿúÀûÀZÿ:û;úJúK­.>ª ú íJýZþ*ú!0�JúÂ2ûÙ*ª â"þ*¦ýBþ"ÿªÀ¦Bÿì)¨  )� *ùª�A )� ½ù�"ú) ”‚¤vo¯ÿöo:y rÿïo‘9ø !@f?`¿1k? €]U161Ð 1 5ak €ÿÿyueudDÿÿ1K9Ý ò9ÞY9ÞY9 ûü €u©`€g€ø0xFYGQEÕ0Q?g¿C;s?9*õ ?Q&9Ùõ È9$Þ3ÿÐ Ó932ú 8]9Æ8; úJ®XCK!!C! C C ‚@C C — x¾v`( K 9"€�ŒH lve`LAøIø‚€Aù!E€ `_9îú  9@3Ò *ªPª�Já2ÒJõSò -Ú ­0KK K;ø ã1#‚*:«ø ½ ýZÓÓõJª 4!Á‚@!»)»1»9»`- ª „PAÿÿw‹v v~ae-ª ÷#!Aô%­‚ ( 5µ %‚‚`‚`E €  ‚P‚ÀE `‡y `�`€%þ‚•ª ‚ MùEù9,ú 1Ó"‚ *JQ!„-êª Á( …�µ 1ª 2Ð ë9ø )ܪ ¨-Ö=î¤ -ª@‚@E9%Y :! ŸZ9 ZYÅÿÿugufuau]?ÿ`¿8!B÷#ñ@+ l?H 5<)±Î -5í-ª¶ )­0I© , ªœ?0 2 B#B#B+J#B#BÒJ!-!!!�  b�B `�B "B &B8 +ªUª K# @#Š�H#+3;``_Üx¢`¿ª ¶-*ª 1(-(í1' œ­0 B&-ð!ð� b�B'`�B()¶¹ ÿÿv‰`¿8#ú�("b�� #‹yw‹w–w¾€!`¿A7…ƒÿe¿I3Q3Y3#A2 -+*  ü f?!ƒ ýÿÿÿû Y!þ ‚À gIÿbIYÕ‘Í! ƒÍ[ü õÒ�Ò�Ò”ø! ï/ vÏ\8wñÿÿ`Ös)€€ÿÿ€w‹ÿa"ÿÿ‹w¾€w¾`ÿÿÿÿÿÿÿÿ`ÖÿÿÿÿrHÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€BREAK.SVFBREAK.SVÿÿtãÿÿw‹w¾wñx½yyy y¹y ÿÿÿÿBOOTSYSSVSYSDRð FG INT MAPDRðÜ FG TERM ðððöðüñ$TTI$TTO$TTI1$TTO1COPYRIGHT(C)DGC,1972,1973,1974,1975,1977ALL RIGHTS RESERVEDY9ø  A I Q 5 !)181Ð 3ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfÜh¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿsYÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿg@ÿÿÿÿv†_ÛÿÿÿÿÿÿÿÿÿÿsuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿefÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvÚÿÿÿÿÿÿÿÿÿÿi ÿÿÿÿÿÿÿÿÿÿiÿÿÿÿÿÿÿÿÿÿwwDÿÿÿÿi,ÿÿÿÿÿÿÿÿÿÿÿÿw{ÿÿÿÿSYS2MSV wull PR�RYRj „ÿÿ f NOVA RDOS REV 6.32 `„`DTM8w­ Iÿÿw­ÿÿÿÿÿÿ*%dÿÿÿ8)TV d¢«»ÆÕàù*WX~Œ—£½ÈÑåçì )&1&9&"CÓû«û @5 >!r "i?!¨   @)­�Õ  P >!­  O V^ÿÖ*( Qð,-.?!.@0 Q? *ú0.)$µ¶) µí -(,‚ªè "å Q,-.?!@0 Q0? ú .(-0, "î-Dl:/\ K!$@+0(Æ@/…@,@-@. 4  O DL// ?1Í  00Í  09Í  H1 Q@1? L+ìü L (5¨  >0)9!FÍ )3!CÍA? QÔ?  O!8  O 9!3  O > 6@)­�ÕP3  O!#)!ÏÀ9E÷9õ9õ!P’ C08 ãtrx ~–„'Œÿÿ‰’jnÂ1 O\ K029æ+ûû¨ ôÍ ú#ÿ@*­PH<)U  O 4­P H ?ªû1 A§ÿ¹þýüû úôùïøtÿÿç 0‚�@- +‚U!%  O!" + O…AAA@1 =…�@+ 0‚ L G NI1·01· G NI!m Iº¢1 OÈ G NIóª 4 I©¤’ 4)"• @ I©¤(-ªh(4� ­!G "c`(7! H@1[0Y =§ Qœ?-Q: G NH. G OH/ 4(. H’� -‚@¢• @,"ÓŽ,ü1m /� O +‚T,01!)§9¯¿9ª¿Ò” % ""!Ò”  "# )�Ò” ! "$  F N 4(.  O�)µ O P-ù G N¨ #2 G NH. 4 I(2ª�‚H, .¥ 41Å M� QÂ4.N,?2 = *—1!² Oª•íîÅ\ K7üüP3 ? O LY  ! @8(08…Cû”ý®\ Ký’�*!‚ªÀ�Kþ L\ K! �ÿÚ“ªÀ3Ò‚ÀǦC Lÿ\ K"€ ¥ÓÓúSÿ L\ K!@¢)_4Ò LÅ«Æý3ÿÿ @õñ€@\ K7üü 9Å A#‚ 1!P¢)?4Ò LÅ«Æý÷3ÿ @SÿòY 8¢)+‚Z)*3ÿ @ÿ‚Z‰Š#'èd \ KÕQ(Q( ?1µÓÓI Ò ?9 1 ͽ 1 Q÷ +-08Cýý)! ‚©Kþ L\ÚPúPöP¶8‚‚ \ K7üü‚ 1 ‚Zü L 1‚šü L€\8(ÞCÒS­Ò� *? ?CþSÿ L\ K7üP3ü J L¢À JŠŽKþü L\ K’¡ L J O @ƒü L\ K’… J Oƒ @ªûCþ L\ K<! ?Kþü L ;A (: H<ó 7• Oª LùY 8CKS1ÞX3ÿ81Ý0X#+3\ KAQ ?²! ?µ Lª!õü L+þH3A8I8Q8Y8A3I3Q3Y3\ K¬­I*9-#ý)%¥#þA))§¥ 3A#0(–"A1") A:#ëPI­°9ž#A Q&?  L    (N[j w ˆ™¦·ÄÓä÷& ?;@EÅÈ-ÿOÿÿ] ILLEGAL FILE NAME ^T NOT A SAVE FILE: FILE ^T  END OF FILE: FILE ^T FILE ALREADY EXISTS: FILE ^T FILE DOES NOT EXIST: FILE ^T  PARITY ERROR: FILE ^T € NOT ENOUGH MEMORY AVAILABLE^A  OUT OF SPACE: FILE ^T  FILE READ ERROR: FILE ^T UNIT INPROPERLY SELECTED: ^T ILLEGAL STARTING ADDRESS: FILE ^T DEVICE NOT IN SYSTEM: DEVICE ^T INSUFFICENT CONTIGUOUS BLOCKS: FILE ^T  CHECKSUM ERROR: FILE ^T ILLEGAL BLOCK TYPE: ^O € SYS.DR ERROR^A € SYS.DR ERROR^A UNKNOWN DEVICE CODE ^O € UNKNOWN ERROR CODE ^O LOAD CT0, STRIKE ANY KEY ILLEGAL DATE ^D/^D/^D DATE (M/D/Y) ? ILLEGAL TIME ^D:^D:^D TIME (H:M:S) ? ILLEGAL CHARACTER ^A CLI.SVRESTART.SVMT0CT0CT0:0MT0:1$PTRMCAR:00MCA1R:00$TTRERROR BLOCK - OUTPUT FILE VACANT YOU LOADED ^T TAPE# ^D I WANT ^T TAPE# ^D..... TRY AGAIN \ K1T'üüQ* ?ª01 Í 1= ? A1 @ó^  Cî  Bë õ A¢)}Í ?ª @ù!Ü ªÀ @ªÀã\87ü*ü1ù­ @!ü ?’¢ L 89(8å øÂôWD!A(W7T*O%ÿÿ OÈH$TTI€€(€M f5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ (ª ‚ E5M5 )4¦An%11 1f?ÿ1/ - püÒ ))µ )'µ ô ‚ 1"  `ùÒ )µ Ð òÔU1 ­n­Q¬H `¿1 ( fa©aªÿóT£XäT^FPTo1UºT–TˆY.Q,1+ ô…A+ 5û!*•  !(• !&• !$• ïQ & 0)¥ è!Ç)Ü¥ ãA!—À!)ÅÍÛÒÀ)¶QRÐDKDSDZDP 07Y Õ )ø� ÒÀ–2úgˆÿaˆ)í§bIgIÿ)ç� )jIgIÿ e¿H !@E@X'€==ø 1; B B B15ýC"Óû‚ û@ @ 8)+K1*)*µ'‚  /©€ øBý’"ý«úò¬Jý5!¥S)Î1 32ýÐ ÷1 f?ÿv†võu¢Uwgvîÿýÿõk‡T±Xä3*¨ ìU?9ñ+ª 1;Ð 19 òf?ÿU6š+Jú+Jûƒƒ)ãÎ1- -='5)#+BJ2üBJ2 U -!ª ‚ %)¦)1 )9![ÿ¾ƒý!† CÿÕ"BÓÒKüvæ`yTËvçkjUºRÒv8v÷ÿø9!1!+ª ¨ J ²„B !ÆB!ÆB!*ª Bûì¬J 8! �;ƒþKwŒt¾"[é!&9&C9%„C…E"E")"¨ 9 ¾)K)9í¨#€ †¥Cû«ù1"B@"(BB1 f?ÿu¢uovèvê v¡€våv¢TáXä9a)a…òBôBõBúBöBû¾ZÿS÷üZÿ9TÞ!SÔ‘•R*µ üõ×9K;!…)BbIgÉ«ý…�ªC9×;'ø  ;!;)3bigé«ý…�ªC`H!1bIg‰ÿ)%gÈ«ý9(+!ŽK9¸;'ø `h!bi)«ÿ)gè«ý+! ŽK4!@ d Øðw�bbU FULL(F) OR PARTIAL(P OR )? WITH OVERLAYS ("1") OR WITHOUT ("0" OR ) ? INITIALIZING WHAT DISK? BOOTING TO WHAT DISK? OVERLAY FILE NOT FOUND MASTER DEVICE DRIVER NOT LOADED - SYSGEN ERROR. NO SPARE DCB AVAILABLE - SYSGEN ERROR. INSUFFICIENT MEMORY FOR OPERATING SYSTEM - SYSGEN ERROR. s]÷rÖkoÕÿÿknt{t¾ÿÿvçg¦i¤iEÿ5÷…B!õB ôK²!ò*ú� ŽJú î îy|3)ë…:æÓ«ü8‚o3!á*�r=Ö;"C "C *K"C"C ‚\"C)t�S o5l:#+9Æîƒ8CK"û)f§:+®[H:# Bô…)\BJ «K² ª ª583"*2΃3•-• 3µ(3")C‚‹�")@�)>¦5>Æ`¿-<�E8`#=*;ZS)0Κ3 ¶„B3 +1 1 111 11 g¦iEi¤W%WkjXäWYW8WNWCVìvçhth–jju¢@5ñ9ýS #B!úB:+#1| |‚«!z¦(1ãÐ ª 'EtEu…Etª !¨ 4 9ß#+9bîƒB J-Ê ] ¼²S » ¹ª­3"‚ ƒ€ i")R¥e ¹ P!a€ bL`¿…@ d?=Tø `_ 5P P`(5¥:#8C9­Ò@«Ò€#+ 7‚4 9¤#+9'îƒB J8CK-Œ  -.CC'(¨ >ƒƒƒ€ .‚'!C'/ ú3 WmhÂk°@W¾W’aªa©`ýÿøÿùXäVüg¥abU¢vóvô_¼V—htU¨1õ ó!ïC#+«ƒ î—É \ú!áC)á4 ã“VGOBJ ÚÛ’!E E B4  ÐÑ’!; ; 8ä3 3Wm\ 1¾S4 BJ ¼½CC!(C­K'O/‚ ª #3‚  ¯  4 â ž—É ­Oáèhjkzÿ€\ 1   € XäVÔ WARNING: MASTER DEVICE MAP.DR IS ERRONEOUS. INCOMPATIBLE DISK FORMAT !! NOT ENOUGH SPACE FOR OVERLAYS IN BOOTSYS.OL. MASTER DEVICE NOT A TOP LOADER NOT ENOUGH ROOM IN BAD BLOCK TABLE DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE oÕu_[#^àÿÿÿÿc&9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `Zðvô_¼\ !*E*!Z)Z¦AaAa`¿1\ W "Ô)#¥1 € 1Ð õP9I +¨ ïû¥ ûûø+M;Y `¿ `Y£XEZMRè 1\ gRÿ\ 1, (gˆÿaˆ!))-¦PA*  XW\ -Ik1\ 5Ð Qc1 !‚`AmƒAgˆÿaˆ W w�X¸vâv«XäZ_ZoZZŽÿòZ³ÿ1ü ô\ !ö)ŽPI÷ŠPIL¬!ð %¬P #) !!0ÆA1 Ç• 1 Úf?ÿZÉeÿ\  )û§ ¦Iød?@ Ó \ 90ÞY9 ÞY9ÞYÿ bl@g€\ !±‚`A `1ù`¿ ü`E¨ l›þÿ\ !6C`¿ 1ù)2ŽI1™).ŽI1“ÒPQìÕ)'ŽI)%ŽIÿ)ŽI`ÒC `¿Ô)ŽI1) ŽI) ŽIÿÎ vtr@q€g@1 Nf?ÿZ£Wþ \ ©9¶ª ú�²3ÒÒÀ9L÷š�#‚ÂÁÆCú@ã«9£5çôë �è XGWÞXWWÅXWWÊXGWØXX%'XX%ÿÿhki¤iEvç\ Jþ­JýJú=ù+Jû+Jü ñ ñ ñ  € €Y ! ÚQò�*ûªÀ�gIÿjI÷ÿ YOU LOADED TAPE# ; I WANT - TRY AGAIN YYYYZP±èXô±üXþ\ ’�"‚ ‚À)§Cô \ CK# ð²# ìª µ ö µ ò \ )¦ÀA1 – 0YRXœXä\ ­P û уª û )2 ô57Ð Á ð53QÀ! î')&ª’I¸Í )· Ä;)±ª•81¨ Ü1° Ú1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ `WÀÿùøYþ)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9Úõ â9Øõ ž9@õ ê8#)>� @9J(%A�zR %;¥ z\ %8�%6�!7ŽI`¿ 50ÐÇ@ d?`!-�0ÎH \ 5…`¿B B ")§B*¨ ` þüûx«³üZBXFmX¾X»XÄXÇXÁÿûX$m€Xœ)þ þ)åK)âK#1è•ÌÍKʲ�S ïŽKÒ  +’�"ŽÓüK1Ò#•  +ª ã+#¥ \ 5) «I;ñÒPS XÏY®1 09õf? –ZW”ZÙXä LOAD $PTR, STRIKE ANY KEY. LOAD $TTR, STRIKE ANY KEY. LOAD CT0, STRIKE ANY KEY. TYPE ("0") FOR $TTR ("1") FOR $PTR ? FATAL MAGNETIC TAPE ERROR. $PTR DRIVER NOT LOADED - SYSGEN ERROR. FATAL MCA TRANSMITTER ERROR CHECKSUM ERROR IN SYSTEM OVERLAY FILE. '`%+),�A)­PI#9+X +ª[;ø ú)ª  ­Q) I !€ å ã! AÞ,i…vðÿÿÿÿtftdtb…ArEtÎt¾[À[²ª þ!ñ‚ Ò)nª q)lª ô3 P !ð8 � Š!J¦1I)T I0 Qä!D)B¶)M B0 :#ÿ@8 C`¿8 )C%E¦Í#‚ ÊEÀ$ ‚�#&@+#5A!?— #'b#(`#"3!Ò�Q43$;%`0-1J: #@!+§ # b#`*:ªCª�Jº%›-›5› Y š"CÓû«ûÿøÿÿs»\ƒv†3Ð *ª )ï½ p`¿!ê)ê½ ‚ Yç`[/¿ÿ!å§ c!á§ â5Ò ]!ö�KY[1%Ý %Y")"¶t}!–g~ÿ`½g~ÿt}g~ÿi¾g~ÿJ1öÆdýg~ÿ`ýg~ÿtý*g~ÿj>)[2\gª’%%Ô‚ *ªŠù3 Ð & Z#"C SP)OK8+#C0J1rªK²P t8#+39jk#€ 5­ÅCZý5Ý Ê2Ð Ý û:…`¿B²`Z:]…BZù[#3 ªPKµªŠá ß#‚ <1ÇÄC!C38S91-[éÿý_BY €9)+ª[¨  ûú® K® â8 CH €8 v‡-ª + H3P 3 P k@`ý_[’uÕYÿ8ø ü3 * H ø 0-…8 @ C „B )"KZ #B- ‚�-JPâ5™*ª  :ø  + ¥ :ú€) ¿¼PZ2*ª î1\ÀÿývëvêZð^A^¸\µ)U\¸­P0J29DÒ�9EK * >‡Ö?„…@0<+J2ÒJL"0Ò ‚Šd‚Jc!'+�À 8#ºÀæ8 ;�X8K3S"_\ 02 -µ …0E ! Ž!1   kj[$ÿabvê_i_!vë)] ã ÷‡€)02 9"çäÿûB8„C ^I r 18+ªœ 51 8+ªœ5 Ð  *KÒÔdOd_wŽw�_y‚þ V T R P N º#‚J×"8S_]_^ B ´ƒ—ú ±ƒ— ®ƒ€ô[ý)9‚83<#‚ ‚P¦’ƒ8 +�Ù ""‚JÓ <+ì)$‚ ê83 "‚ŠÄ8#2:ž+¨ !8KÂ+K4*KÄÒZ“*ªš^ž ÿ„€@83ÒZ„*!ú� "¬…@ í02 Â)O¶QKÓQJÓQF<+ª «K`¿E’%<�'‚&+ýY9Y954"žíY2Q22ÒJý÷1-<!*�KÒ "ZCª ’"¥B"† B þ KŽM5Ò  Z„C] `5]Sè]ösC_!t`Â8 ; 5m)mÏ r�S p�S(K‚�F5S)QÍ ooPBš…B #B8 Z #B4")^º�½ *1ZÇÀ1mÅ <0 2 9i÷ïÍJ8 3Ú¶*®Pª�ª€î8KKS)6¥812–*32Ð 2ýX 8KKÂBÒ�²S1!#8 `¿+ª …C ­�‚ ª�K^ð`0Zð<9ÿ½1ú¶*¨  ÕPÙv†vðt¾_Ê3_i1þ1ý…@ (?ÿ^¸ 6€ 4€ 8 ’…B # ‚ š# ‚ ýS ÒS Ð"ÿP " š%È)Æ�Ç# B â* H ^ 38S 8 ú k;õ8 …ú C c38ø S v‡všê þ€‚ Y9 ø€‚`¿10Ð  :`Y+-º*8(`‚  ä€ ù †º\  âSõ „¬�`¿ ÷X`¿9 Z`Q ø „� 8oåjaj} YÿI=Pú „)¶)”§Q2Ð :¿œù91*KZçÿû94Ò 8#‚Z="¬�§B02 "ª�§B08 ú „C ¹8 …C3*® J…E @ 1" ‚ 2" ‚  "\x`¿9°ZQ®°8 èuo^�[š8ú ß# 4Ò ÔBÁJ;+$ª]«©¨Tª€K$»Zð’’ 2ÒJ1e2 Ð *¥ û S8#†€C"* ¤ 6ê# T8 ú å°1,‚ î8;+$ª ªJ2 $å*% ‚ %½‚  0"1‚œó"‚ ð!2  2 "1 �¥ ÷*ª ô…0C$à€tóvìZ8 P ú C#BÚ[û û:„B…@ ¸\MY :ú  `¿=U`Z[#t¾^òÝ3Ý3Ý3Ý3ܵ]K]KÝ]KÝÜÄÜÅÝÝ3ÝÝ"Ý Ý3]Q]Q]Q]Q]?ÝhÝUÝkÝnÝnÝnÝ3Ý3ÿÿÿÿÝ’]Q]Qÿÿ]?ÿÿÿÿÿÿÿÿ�’‚‘€ƒh\µ˜�Œ��Ô™„ád€d�™ ��†È‡˜€„†™€„„ƒ"ƒ;„ˆ„ß�>�ˆŒ…ÿÿÿÿ�–€–�„‚„€ƒ€ç��ÿÿÿÿÿÿÿÿƒgƒeƒfƒuƒi�;�‘'’q‹,‹x‹y€é�‡�€€ê‚iŽ _ÿÿŽSŽdŽeƒjƒk‘‘�7�5_ƒƒ€è„à�‘�Ž�‡ƒZÿÿÿÿ’�Ž �?‚ÿÿÿÿŽ›––Öƒÿÿÿÿƒbÿÿÿÿšq‰&�Qÿÿ��`Ž`©€`y`y`¾`Ù€`©`©`îa €`Ù`Ù\ #öf\ 'òò\ #öÕS +òKþ)(Kò0 A" :ÿÿÒ i2 K+þ;ñ+òÍý!9¥ú1 ÅÀŽKþ!Cò0 2;ñ+òÍQ!)¥NðuàaÙaÆ\ 'òò+ò4 Æ@Í@ª�1h ÅÀŽKþ)ïKò#ó+ô3õ‚‚ !å)§†À‚@‚Pv‡€ÿ\ #öÕP \ 'òÕPht\ 'òòÕS AÊ âÿÿ0 Ò  2 ò+òÍ@ª�15 ÅÀŽ!½+ò!»KþCò­0 J H 8+ !¯1¯—Å`‚ÀK S) 1ŽÓSK1–S 2)¨ ÒK ³ÿÿB#–P#ó+ô3õ ;ñXÿuàjaj}ÿÿÒ�%SƒBôEPõ@ ”ÿÿ`¿„)ïñ î3 Ò1”—ÅÀà ­ ; X…0 B 0 @ Ò 2 Ž#þª ìCò  ­Pí…‘…3 ­PJ5'*K*K1#ö ; K²þ Zö Š!¾‚ !¸ ¹ªJ  + H  õ  € €i¤vèiEg¦vç\ 'òò‚S)—�À!˜1–¦ÓS1‘¶*ª[ CS ¾bâ bŸc×b �ÄvP b+ÿÿÿÿd$bƒÿÿmbŸcãmÍ Å4@ b�ÿÿâ‚ …‘…P*9,ï =*ú )9)1)9(ï #9&1&+ª *2ªJC:)¿ )¾ú@ú�ZÕPU„á!)¥ƒ…1B vìtvëuovêu¢[’ Qþ:;ø ;úŠ2a a)a§*ª›­J«�  )X� Aä!U U!á TÕ2 RÒѪSJ MÌ)L9L��%•)I� H)>� F*5Eµ )C� ­)Ay?� ø 9ø )±Oÿÿÿ1yÒKw1¶:ø 2!.\Y®A¬*9­¿-9'� …�‚ B#9� ­PJ‘=+¨ � ûúmmËmjmjlUmjc�c—b‡cÊ%C CC C=C+9Bï :2U=9ã%7å I ä5%255)6�  !4 Ü-!25- Ø)$),� )+� 5#…:Cƒ=$C! Ç22")§¤B22")�� JÿÿbÎbÉbÞmjtmjbß\ bàÿýmsÇb "‚K¶!öA!  )�š“ªÀ#§‚À5ã‚ �ÞôcË ÿÿ††M†€†ƒÿÿÿÿÿÿÿÿÿÿ††ÿÿ††M†††Ôÿÿÿÿÿÿÿÿÿÿ††ÿÿmsÇ d)dCmu@È@ cûÿÿÿÿÈrd0cï_††<ÿÿÿÿÿÿ‡S‡uÿÿ†††ÿÿ€b€cï€bƒ ‚!‚\ C"9ùŸ a8#B!8Côª ò K…pC ")V¶S)]� *:;Â@ú@‚€8C1I‚JÒ� G3ÒJ‚PC¢ B C3–S1:–S 3ÒZ 7!1–S #)3Bÿ…BJú;#Bû#Büò8")'§ ¦+ ª‹B"ô)$�##�€*Ž# ‚ ª Y"ö¥W¥ #*÷ª Y ÿk¯g^Ô eÀ^¬e[…�C"ø*¦C"ÿ90çƒ8C #�€Ž0"ö¥.3 #Bþ# Bý!*úŽJú#B   # ‚@‚ C 83ÒK 3 !Å•@Ò� # ‚Kò ÿ€i¤iEhkh’^àe¿¬"ö�#¥ *÷ª  �€¬"�£…C)ëŽÀ8K 8+ ª@ª K ‚ Í"ô) � ³ Ü >'3ÒC…1/‚ G  O 3‚ ª !, !*–S 5èkzÿhkÿ3 t3 "*ª�† C&+ªK….‚ ª BýJþ "ÿ)¦Bÿíee!â8+ª�Õ P+3 JK +Jâ8 3 +Í 3 =3 :?KK1¿ÎK 3ÒZ ’¬ª *"ö¥Jö)&J÷ Ñ3'ÒK…/‚ ª  Šd3ÒK3BÿO3 š3ÒKG  O 3 �‘ ¿ßeCf[h’g¦a3 ü3 *2ª�Õ�Se\ "*‚ ª  + Cô- &Šd BJ:ú B J !²Sô ;õ­K K# + ;;ú@9 ÞK‚ Cÿ "ú) §Búò kzÿag¥g¦ÿhkÿ÷ò)øŽKº+" € " J :#‚K 8;" +ÿ J " J :#‚K 8;"+ÿ J kÊ­ü\ "‚ S" ‚ P*¨1 f¾ “`"‚ A" ‚ >² PC t3õ sŠdPCK �H²Sô)®¶*# ÖJ;õ;#8‚K*ÿ# ÌJÿ3ô­Jô .3õ*"…­B J #+f Kô#  Af¾ò \ f ²  7f¾3õ"B "B " B"Bfÿÿhjh’t»t»+ $—É# ú f¾ \ " ‚ " ‚ "B "B" B" B„B B f €j—jªhta\ )w¶*ô!v§ "*ö� :ÿ) ¿À*øŽûâ8s lÿ÷!a� y:+8ÒPª@Ò€S*!SÒJ’‘’ P3ÒJ‚`C¢ h 3–C S Çg= Æg=3"ÿ*3ÒK…ª D‚ B2ÒJ g=í3 µŠd%3J;úJBÿ8ÿÿjº3 (3K )²Bý# Bþ!Kó ò"ú)´�Jú;õ#‚J  3  �g= 3 I Šg= kzÿk¯hjhthk^¬g¥g¦3 ú3CK "C"C1ðö ó Cóò "\ *¥¨ ª S2* ‚ �*K+39ªKº ƒ ² õ:+8K„ñKóò ah’ÒaÒPÒ�\ …@C G …CC1<2ÿÒJ?#‚;õ#*þ� #*ý�  #*ü� #8*û� M8*õªå"ú)"� á)� Þ)� *ôª‚Š W‚ŠÔ#‚%T¥+¥ÌSCÉ€w�ht^¬kÒv‡3Ò 3"ú‚‹ :³#õ+ªSôªN K ð 5 .Só 0 ò  á3õ")á ßB Ü Ù "ú)Ó� !)1õ§ "ö‚J#õBö%Bôß Ê­P„`¿ i¤vïg®vèiEjat» ú\ +ô`¿"ú§ Ê! ó÷` \ :öúJ[šZö#Bü#Bý#Bþ#Bû!•Búõ×%ÕBô …BöBûBúö‚‚ \:úú€ú`Zú‚ \õ:úúK !$ "`¿"ú‚@‚�Bú`=ú  …P =ú  …P  8\ýZôà\ýZýZþZúZôÙvïj}ÿÿ‚ \8CKS" BB*J J„B…0B B B‚ BBB BB")§Bk@À‚!‚\8CKSº+J+J+ J ×\ :û;úJ¨ "A2­JûÚ#BÓûû ú83õ:+…BýJþ &.ù\   ò8; ;úPž+JJ+ÿJ J’  g¥ht‚!‚\ 16…0C‚€C2ÿ8ÒJ&#‚K#ô*û� ö"õ‚ "ú)#� ‚Š #‚ êõ  Ù"ú‚Šô:öúJÞ"õ‚ ÛBûBôØ#‚ #‚ ò w�i¤û!û\ !9‚„C`¿"ú)õ�  `)1�  )ò !'CÊ &î`¿"ú)â� éÂ2û2 * ’� ï+#ª“ì…BúBýBþò *÷2û2 J ¨ ` A^¬jÔja ûY1º2ÿÒJ"õ‚ û"ú)³� ÷‚‹õ 9 û+¨ ªZûH uÕ\ :û#+« 83Ò@Õ0Ò@8S1V΃CK3õ"ú)L� )J§  *þ"ý:ùøîƒ"‚�C"C#‚ :+'Œ.û *þ"ý83Å•#3´ 8„3õB÷!žBù"ú)§)¦BúÂ2û`¿2 : ø 3÷Ð ÚüC÷B `  €ÿõ €+'¥�òøÏ+'Œê+÷mèmènÿÿ\ …C"ú);§ 8€)8§ …Q"C"ý*þCóKô2û2!.ÆÐ € $’ÓÓ"‚J÷+ó¤*;ôíƒ8‚ ò#¥ï¢…PCª  3õ2û2"*3΃CóKô#3õBó  û\8S0 J B`Z B …E @  (8 K C …E@ \xZýZð\8CKS‚@‚�5*ªƒ: �lªPJ2Ð ôk@[’[#‚!‚\ ‚ 3ò2ò`¿` Ê„ »ø÷‚!‚\ ‚ 3ò2ò`¿„B Ç` ‚!‚\ ‚ 3ò2ò`¿`ò `  )2XT2û:îN)2ø)1ö)-ô))ò)(ð)î)ì)ê)è)æ)ä)â)à)Þ)Ü)Ú)Øb€bÀdÀd@b@fdfÀba€ecae€f@`@`€c€�Õ�€€c€€€€d€€ �Ô�Ö�Ó�×X8; úJ XCóKôSõ8#ó+ô3õ;ñXò €\8CKS‚ŠªŠÒ‹AIŠÑ ) ) Óù8#+3‚�ª�Ò�'Xº�)#‚ ‚À§ê@8ÿX8QA1ûǺ’ÒÀ+Ï‚À¦Cê@81!\8CKSšÁϲ+JÓûƒûÇ\8CKS�À­JÓƒýº\8CKSšÁ²A²"+� Óûù§8¤‚!‚X8KS02 ,µ ª0ª +3…XÅ 9 ªP‚@ŠŪ@ûûúú 8ÿð…0X9ýªƒ‚�Æ�ûüª°\ºŸPŽí8‚‚ X¸çä8ms¶l6lImu†×æ@ kåÿÿÿó€kÙ† †<ÿÿÿÿÿÿ‡S‡uÿÿ† † † ÿÿ­­PJZP*ªŠ 9wï 2* : í:½ "* J J :  1,Çú’ÒÀ+Ï‚ÀŽK0*ª‹ *"‚ "2B c b8*9\¿  : Z *9FîJ* : ½ ×*ª@ª JìÿZ")7� -" * �  )ôš“ªÀ#§‚À*97¿ ª‹Õ: * ½*¾* ½Ì*ª‹ÉD* '$Ä* J J *J*ª@ª Jð" *Ž" � Ñ* ¥  ")û¨§B" B Â" B B ï„!„Yº"C#‚€‚PC:ø? #€ šüKºCJø Yÿº#‚‚û)§`C­Kê9 Þâ;ø  ½ û+šKéÿýmËmÇ@ €9QZ ù:ø +ªœ+¨ :+ª .+º�+9A‚ úÀï‚ÀŽ:#š�K:+ªCª�K" -š#)œ� )&� ¦: * ½BZJ ú)Ä� :+ª€ª`Kâ®J š;ZZ:ÓZ¿Z:ítj}ÿ T9ûZ:ø #‚ ")F� #)îš“ªÀ#§‚À ?"ƒÿ I& 7å+!Þ� !,� Âò )’:ª€ª`K"®J Í! Ë:;ZÌ€�K" B * �JÂ:#‚C‚�Câ ´! ²u_u^h’)))) ) ))))) X:î8N`@`€g@a€a@aÀb@df@enn!n/n=nKnYngnunƒn‘nŸn­n»nÉn×nåînôoooo,o:oHoVodoro€oŽoœoªo¸oÆîôoÕu¢oåoõppp%p5pEpUpepup…p•p¥pµ€�rPp€rq‘ÿÿpµ4DP0DP0pæqpõ€pÑpõpÑÿÿpÂërq‘@@pµfÌeûf[… ˜DP1DP1q*qYq9€qq9qÿÿpÂërq‘@@pµfÌeûf[… ˜DP2DP2qnq�q}€qYq}qYÿÿpÂërq‘@@pµfÌeûf[… ˜\ ’"ú)d§ ¦Bú"ü‚�C­pªPKª"ú)W�  …� T T83ó‚K;õC8 M2û2 S JC3õ"C 2 EK+ ªP+ŽªPK•+ <#�K3ó"ú)7§ )5§  #)(�¢*ó�¢B*�J…P�)%§+®P®P¦À+¦+ªÀª�ª�¦ÀBø+)# ‚ZªP#¸�ç®P¦Bó jÞjðjk°k¯kÀ €\ 2 2 :û;úP9"ú úP"ú)ê§9"óæ "ø  *ú!§À:û;úJ‚P*ó¦ "ø Â9Û*úï "ÿ‚J†   jÌjêjàjæ*øý�ªSú�ú�ªRú�ú�Ÿ i"ú) � Ö¨§Bú,"ú) Bú!ãÈ@kÒ`¿9m\ 2 Ð ! h Ø‚ŠN‚KÙ"ú)£�)_�Jú \%\‚ …P*õª U8;õ"÷C € 83õ 3õ K )ˆ§ =:ÿúÀûÀZÿ:û;úJúK­.>ª ú íJýZþ*ú!0�JúÂ2ûÙ*ª â"þ*¦ýBþ"ÿªÀ¦Bÿì)¨  )� *ùª�A )� ½ù�"ú) ”‚¤tjòÿöj}vïmÇÿïjÔ9ø !@f?`¿1k? €]U161Ð 1 5ak €ÿÿv÷sIsHDÿÿ1K9Ý ò9ÞY9ÞY9 ûü €s�`€g€ø0v*YGQEÕ0Q?g¿C;s?9*õ ?Q&9Ùõ È9$Þ3ÿÐ Ó932ú 8]9Æ8; úJ®XCK!!C! C C ‚@C C — v¢tD( K 9"€�ŒH ltI`LAøIø‚€Aù!E€ `_9îú  9@3Ò *ªPª�Já2ÒJõSò -Ú ­0KK K;ø ã1#‚*:«ø ½ ýZÓÓõJª 4!Á‚@!»)»1»9»`- ª „PAÿÿuosïtb\x-ª ÷#!Aô%­‚ ( 5µ %‚‚`‚`E €  ‚P‚ÀE [švð[”[“%þ‚•ª ‚ MùEù9,ú 1Ó"‚ *JQ!„-êª Á( …�µ 1ª 2Ð ë9ø )ܪ ¨-Ö=î¤ -ª@‚@E9%Y :! ŸZ9 ZYÅÿÿsKsJsEsA?ÿ`¿8!B÷#ñ@+ l?H 5<)±Î -5í-ª¶ )­0I© , ªœ?0 2 B#B#B+J#B#BÒJ!-!!!�  b�B `�B "B &B8 +ªUª K# @#Š�H#+3;`[’Zïv†`¿ª ¶-*ª 1(-(í1' œ­0 B&-ð!ð� b�B'`�B()¶¹ ÿÿtm`¿8#ú�("b�� #‹vìuouzu¢€!`¿A7…ƒÿe¿I3Q3Y3#A2 -+*  ü f?!ƒ ýÿÿÿû Y!þ ‚À gIÿbIYÕ‘Í! ƒÍ[ü õÒ�Ò�Ò”ø! ï/ t³\8uÕÿÿ[éoÕ€€ÿÿ€uoÿ\5ÿÿ‹u¢€u¢['ÿÿÿÿÿÿÿÿ['ÖÿÿÿÿAnnôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€BREAK.SVFBREAK.SVÿÿrÇÿÿuou¢uÕv¡vævçvîw�vñÿÿÿÿBOOTSYSSVSYSDRìŠ FG INT MAPDRì¤ FG TERM ì¸ì¾ìÄìÊ$TTI$TTO$TTI1$TTO1COPYRIGHT(C)DGC,1972,1973,1974,1975,1977ALL RIGHTS RESERVEDY9ø  A I Q 5 !)181Ð 3ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿbcïÿÿÿÿÿÿÿÿÿÿkÙÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿpµÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿbƒÿÿÿÿtjZîÿÿÿÿÿÿÿÿÿÿpÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ`yÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿt¾ÿÿÿÿÿÿÿÿl9dOÿÿÿÿÿÿÿÿÿÿd_ÿÿÿÿÿÿÿÿÿÿtóu(ÿÿÿÿdoÿÿÿÿÿÿÿÿÿÿÿÿu_ÿÿÿÿSYS1MOL7Çee Š…C Q«1OÇ 1MÅ  1KÅ 1I#• ð#ó+3õ BdòKôò  =‚!‚…°C18ªP‚@Óý3õ2# 23õJ!‚PB"#ó‚P),;úJ $dò  cûª 3õ*1·ò­²�Ž… !Ų’Ó åp „eóc™ÿúpm€p\p@p7‚!‚CKò*ªJ®±®€J0 2!UÇ …CC +ª 3õ*ªK *"!�0)DJ ; B9ŠPC""ŽK *#ªP� #¥¢ ‚  *ªK>*:!íí  :"* íí�¢…0)J 88’# + Â3õ+ŽK+�K*"ŽJ"3 ò#+ô�Kô k¦oåmO !­J"3Jô3 ›*9ï îJ*:!ì íZ:"* žìZ 8’#+ Â3 Äm1oåm(a¦òC"‚@‚ B…C…C 3õ"*!¥ #C"*!�  ""* �!3 Jò0B 3 C#Cô ! ô!ôòø „ k¦p+ªP""Ž úC"""*#ªPŒ!…B" #)î§)é� )é� + )Û‚ � Ì)Ø� É#)Õ�Ê3õ# ‚ ²3 ¥pm1mOC??0 *K²!2 ,#ó )ƒ¬"ü€ /S4"C‚ 1"ÎÕP ƒùC!•  ¢)3Î1 Š#ÕP ƒù!3B3+ Š ò fp7p'c‹ : *c™­Q­�­K4"ª "C0 2)í¦•:0 *K3Ò $#ó ܃¬¢+ªJ' Ö—€ 2š+9+¿ !&9&¿ƒ2ÒZƒ�83BÂ8+1Ä ò 3õÒJ Â1¼ ·’2¢ß °—� Ú ¯ ­p'ÿ SC 7,ò!3–#Bÿ;#Bü#B#Bû<+!$§T��Bþ!��ª�!!ŽJú…B  ò#*�"ø8C ;KC! •  „¬�`¿ Îðÿo c¥ nancÍ"02 2…8 ; )vï©:úJfƒÓ«ú 8 ,K…D8; +2ª@ª�K2Vc™ ÿ8òÒZc*ªšb*9S¿ N8 ;3)O�ÀµE®P¾4*¨ +1GÏ  +1@Í ÏÀ1;Ç� ò<+!4§8SC*!/§À+¤$"9*ç:©ž«þê8KŠ"3 3)"�#‚ÀŽJ*!�J 4B8ò    i=ÿÿÿ€3)ûJò   0ò’€4*1ý1ûƒ4*1~1|ƒ1xƒÕ‚!‚S K­pK +ó� 24")sî1r r d‚€0 2S!i g#óÊ3 bƒ­¢S *ü¨  š+8ª M02 2 S 2*’J…BB B # B#B #B #B  %=CC-<1< 7%8‚À¦CË3 # 4‚€9S²")c� C "3 ^7 *ª@*1(ÏÇ�  U +# �mKë M C ’2"3BÕò fÇplv„v‚v€ÄÅ >3óÐ  3# € éC "ý2þSôCó7Ò S²2Ò 1ÓÎú#1 !ø39Þ+ È1´»# ‚€ Cõ  Kô+Kõò# € ‚  ¼ þlbpDc™?!ÿ0B ð‚!‚0*1 ª�1 ª ÓŠ"1 qxtxvoå- 02„PÒ�„��ŒMcu²")0� ­Q­ -9ç ¶")$�  8ò))§;ó)'ï¸çŽJ  ! 8ò<)û§ ! "C2"‚J…"C @ÒJYý:#úb ácc™4%B8; +J4a?^<GPc…‘…02 *2ü�ïŽJ2 y-'1'… '<CK%"C8ò <#+39Ü9¼œªPºPêPªPªPªPíŽ`¿MU`å ¿!v€Cõ#‚ -3)�  +ª &+ª #)ÎKSä ;+3´Þ Û!©*ü¨ !¨’c‹.: p7p¡ Ïpp18; )#§C ÿûcŒ\ ò) 4 ¶Ó*� ª ûò Ù: \ )� )1ŒÙ• )1 ¥Ä)¥Có) 1¥•Ê zaZA90$ 3 }3 {+ô¨  A € €m¯p\Ê4 j+ô¨  øí eëCC'/4 ;ôø  :;úJŠ…8BJ OÓC 0*1M–ª T%K-Iª %JC*K *"€ "‚ "©¨¥ŠK * !/�p!6K¹Žûþ8#¥+ ¤FC8+ª ,-!ª )0 " 9ç)™¦ûþ=*�½Lê’9#K 1 # –ÿmlbmS�òyw–y y%w‹w¾p'±98#ô€ *‚Š*¨ ª `8%ë+8ª ‚  %æ*¤%á+ ¤Â)R1R à Œ# )¦)1×Î1 Ö# 1EÅ-ͦ3 Œf!;>!?<"E¿*=»ú =¹¼ñ1,:�í:½êM¯1$9$í #3:û;úJªP¶"*úJŠ…8S4 BJ ”•1•+ Î1 ™’ �²–!pl À™j;)O)L)H)G­K J�Õ1F–!C D02 S3õ#ó i—�.S2*3óS"97ç�  9.½ž¾½ � 9Wž;ÿ!U� (ú@ú�Z#8+ô¨§B#;Z"+;å J8H8;;í;+®@ª�ª K  p7fÇÿ8;+®@ª�ª K E#_02 "CC0 " 1íÇC7ÒKÖC Ò�Ò�+;ö _ñò feóx¾ÿÿ…PCS²8S3#‚J+22–2Ð S!!ÒKÂ3Ò@Ò�+ôš… ò c™3*®@ª�ª�J ! 0B 3*®@ª�ª J eºò pDyxZmÅm'-üª $02 *ªœ0 * µƒ¬S¢ ±‚� S²"1å—  !æ1â â…Q…²BB3 ßò Ü  ¿ ½8c™nØnÙ­­PÒ@®€KÒ�Sõ+ô9ïîƒB J zŽF :#+9åîƒ8CK"û)ܧ:+®Z Ô:# Bô*!e�J#8€ 7…)ÊBJ YGC ’"*2΃3•53µ23 ")·‚‹�,)´�))²¦5²Æ`¿-°�#E¬`# ;õ;ZS)¤Îš3 -¶„B3 ~3õ+ªK'#ó‚@ª€‚€+ô — CK!`!0B 3 g3õ �€*! �ŒJ ˜K fRSp'lbÿ!T ù‚�êÂ3õº+ Jÿ+Jþ’ C3õ"€ !A å‚�2Â3õ2üº+ Jÿ+Jþ+ JJ+92ïÀJ J’ *3õ2"3õ+ªPª�‚€‚‚K#+;2 Ò@ú@Ò€ ¿…½ ò8; #­�‚Šª�"¦B ! °‚�¡º œm'm1xZxgMAPDR@ v„v‚v€pl<2ü*þIî*ÿIí:" *‚ÀIé;æAí%îAåAå-í1î ì%é‚À¦Aß4 õ)ÎÎ3õ vŠò4 õ ‚!‚KC …pCÒ@Ò�S9k)h¿PúÀ-j%hîƒ4 B J-d d d C’S+õ#‚ ªK%"+8 3Bº;#B!J¬¦B!DB 8#B # ‚À*ŽJ3"ÆP8 +Õ 2ƒù3®  .Š3!+–S"‚ !*10¶2ÿ!&• óÒKñ3*#¦P0 *Õ ƒù¢+3;ú  áÞ ÇÚò3  f€@•ÿÿfffgymlbeóx¾mO#ó ð‚� ;ô#º+�  03ô;ó"C"C…CC C …PCê@ª 83õ ÔŠò p\ ÿ Ú Ê‚�;ô#º+¥ +ª …C ò m'"9 � ¨!�J#8TPÑ*#2 k…BB!&9$ï | L‡ x*#2 ]!`¿:Ÿ`Z!� ~)$ ŽP : +õªP 6 ) ŽP 2  /†²n ¬¯ÿý…*#2B ‘2ò!`¿*�`J 2…B B ) `¿"§B* `8ëqAeóÿû€þ€f\ 0"1SÐ ‚œ1NSõ22< õ :‚. î‡*«ùX!ä`¿:ç‚ 8;!ßú�!Þ:‚ ž`Z8`ç ü 0!� !9¿ !Š… ȇ «üò< õ8ò c™þpÿœpLOAD , STRIKE ANY KEY. fÜÿÿ‚ R‚ OO©K­Kò \ ­­PK8 ;)¿ `¿ `Cóò `¿ `+óªÀ¦Có "*  æopÜ\ )`¿:ï½`Z Ô1 ÇCó3õ`¿"¦`B ÿý)ÿ`¿"§`B â4Bò x­PK"#C2)`¿"�`J#óC ¬X+ª'C) §+9\¿  oK m+#ó� êÿï9N¿ )L9L¥�9Iå Y\Ú VÙ S Ö+ 7+ª++9$¿  8+ªÐ¹øï4ý® " =  :  7+#ó�!�´1 Â0B #ó+�Kô „1 ô¤òó81íp az \ "#2) 9 Ÿ¸`¿"§æ`B ÿý úú \ /òò� ‚0‚ ò `¿*ª ! \=!Z‚• -Xª ‚…*!S� „* O#ó8 ;)K¿ ä I`#ó GŠ€$!²…�`B")?� =… :BK…B#ó*3ÒPÎ /3 .!. ..`ò  * · &E 3õ –¼ #ó®©ðKC2+  Eú?p—y€oc‹e¾üj¸kpm'w{o:wzp\p\ ŒC"#C28+ ö)s§!)q�29o� b 9j•¥*9g½ X@9b½  à…B Z…Bò+#ó�Kô Y AŠÐ™øç4ý®€¢À9À)C� )A�ªœу éã!: ²à &@Ú…)4 «Ù«ýÓ ÚÔ Î!*  ÎÊ  ! ÍÇ:)ï ú™ €© ¼! ¥\ #ö/òò� ò  az„Pc™ ÿð  O’…C0" Oi 0*1Cª�1@Ð  ?‹39=ø 0*ª€3Ð Ò  Ö  !1`¿ 0!. /`:Ê@ûð5JQJ2 Ð ‚* ¥ ‚ 9A*K 9<²2Ð ñ152*ª æ‚ Q/õ9,*K ìÿÿh¬fÿÿXÿÿÿÿcÍ"…C8+# ªJ­0 8+¨ " ªK" €  è’8#  �f J“ Hö`Ya8+ª 5÷*ª“:ø  ; �  9Nõ 9Lõ )HªPJ2*ª ì5á 2*ª š+ ª <9;( µ  :ø ú+ ¥ 0‚‚ : ø èQÇ‚  + � %YÂ1À;ø ÷Ü\+ ¨ ö* ½ +1³J1°1* Z K Ä+J óo.i ÿÿwØd©2 Sôõò "ƒB¬Jö*2 Ð Sô93¿ tõªJ/‚ $ !$ " j w …C ‹wK 3 3õõ ò3 sò eófp7ÿÿÿp\ÿÿ@ ü Qò2ö UC’ ó#ô+ ì‹vå3ôõ ë  62ö OOÚ2#‚JÐ #õ#+ Ž Ð % !  � õ�8òÐ 03õ2)`¿"�`J  c™1ö ’;õÙÿÿÿÿßÿ ®çÑX:ö;!Ÿ 8\  Kóº")š¾CC lc€mS„…CÒ@Ò�:!=Ÿ 0 ô²Rö+õJ 3C)/� (‚Š ,#;õ`¿+Cª@€ ª‘ª `K€ úC 8#)�  » ¹  Òò 3õ`¿*® ¢ Ê ¥ £L#€ ٠› ÿÿÿÿ ) �À! �!Œ ÿc™ 0ÿ\  Kóº")¾CC ÿlco…P…„C„BB…C"‚ Ü" Ó"1ëÇŲPÒP¶P ËÎ8K3õ…�B!ÑB#!Þ–J: +ªK ÷)Öî8K ÂB ’`¿…P­ Ê v {+©J){� r)y� m¬K‚‹ë2ö)f� ô)h§ *!bŽJ: +!a82 § }+ª  #€ O P3…G L'€ û�#€ #KªK Z� Eú#€  P > P M§  K 7 I§J C� 0ø#€  : ) : '2ö2 *!�!ŽJò#�K 3õ2 ,3õ„GB")!¦B Ûÿÿÿ€ÿÿ@  � Yý8 +8!ø� ÷ 4  @ÿÿÿÿÿÿÿÿmS ü é ü  ù Ic™0Z1 ÎÕPÍ ‚ü« c™xTÊÿõ :.TUoåppfp\m'fgffymÿÿÿÿ!þ€ ä%l€ i$ )ãŽP%ó1áÆ` Î!à ç«!Ù‚P È!Ü4 ÆP1Ø Û$ )ѦP)ä©1Ö Ø�”­ Õ K0 "5Ô Í‚�¢ÅC "þC "ýC º#8Cº#+ ½1½ÇÀCK3Ò 9^)^¿PúÀ-³%³îƒ4 B J-® ® M C’"ú)G§Bú#+BýJþ4 B J-� �#‚  9 C’"€  5SÖ&x¼3# + BJ# BR '1†Ð 3Ò 4  ;C  3B!)§+¦EÜò 32 3  ÿïlbm1m(m1š €ŠK2S`¿"1$Ç Æ3B`3 ?†�‚J‚ K1<• ;#ó¥ 83 0†�‚Kü") ¨§B…Cô c™ò3õ2#!Ç +#ó¤�Cô1• 3õ2#!— ) #óŽñ!  «ÃIHf@ ÿpK)"�¥ 1 ·ÍÒÀÒPÎ@®P1< öP΂Å«‚Sþ‚ )îP! ²“‚À*�ªÀ¢8+Ôÿ†z 12345679\\\\\8`:#@'="\\\\\0/STUVWXZ\\\\ Y\\,%_>?\\\\\-JKLMNOPR\\\Q\]$*);^\\}~stuvwxz\\\\\\\y\\\\\\\\\\\\\\\&ABCDEFGI\ \H\[.<(+!\\\ {abcdefgi\\\\\\\h\\\\\\\\\\\\\\|jklmnopr\\\\\\\q\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\……PC ¢@‚�CS ªK’%JB B -I1J H%E‚À¦3B Â3 B‚€ { F S B …PC +# 4 B J+ 4 7!’C)-¶*'�B3!(C)!Ó¶"‚ û €#Ê1 3 L ò #€  #Có v„v‚v€pl @S ; =S…B B-3 33B B /…PB l8ò²ªP#ó $ '32 3;"CC" C C…CC83õ#B#B~1|") § !B !t H a"pym~c¥m'oò„¬�`¿ ûüPÞ3 33 1  wy1Y…B!B _êoTogwz)O`¿5ýÒ á­­P`K ôwy%C%C‚å…Eî…CC3*ª "C‚ö áwy…PàykcÍo::2#*� '#*�R#8‚JQ+ª chK;#8‚ ªP"Ž Z3`¿ W:`Û`3 P0w{y ")FŒÛ8S3Ò E3­#‚  Ã?K*‚ * :‚ : â 1—É4#B;;‚ ¾Þ83:  ª3 ¨# §3š#‚K83Ò ÷…CB8# ‚ õ3"C"CJJÀüj¸fpp—m1mO €!*C))�K…C)"7Ð  ÒW Ò�"§#‚BSñ#E…E 1 ! B…B!B _êw{y yŠáx¾xü xŽ' ")[�W ?wy`¿* ="):�J� 38"‚*Cã"C…BB`83:  s oK"* L—É 3…BûBúBõ3"* ‚ ïª í3 \3 Z` wyò q¶ogoTÿýqAo:V­Q­K )Ž' ") � ‚@‚¡‚�Bò  <’2ö §ÀC3+õ 7R …B)1Î10# ‹3# )%�­Q¬JªJ Ê!(– !­JJ3õ"ü3Bü#+ ‹… Sõµ:1 1 11 •)*%ÿõmDRÿ.Š8 ;1DÆ’ƒ�!@‚P­­PIŠ8 ;18Æ’ƒ�02 "  %010Æ`1, .…Î ,ò  )<#8 + $ƒ¬"ü€ ¢ ‚�º# 1Ç1–2ÿÒ^Ð Ö Sõá  G xT yÿõoåpc™fm1ÿx¾0 2<+¦•02 J#B' î2 ì3­­PK8+9 ª�93+ª ó¶<#Ž;!åé¾õæ<#38š¢ê 8ò w‹w¾p'…B!6B 5K²!3*ú� ŽJú / /#")-ý"žÓ«üú 83!#*� ;õ;"C "C *K"C"C ‚"C8ò  83 ‹QlcnanÿmS¬­K­J J JJ J" *BJ"ô:+8CK t²…Bú!q q q+1p p¢3õ p ’ l)j3 gC Š1c; úJÒ� `3 ÒJ‚`C¢3õ \ C+#‚ ­P V“UC K3;ö8; úJBÿJ83 A4 B J+õ x 8K²!6 63õ#+ª ¦# AyBþ"Ax* 2"ªÀ¦Ay%^AqAq-]1] #%Y‚À¦Ak4 ![Æ+«1V L3…Bú #‚ ># +«ƒ4 BJ3õ B lcp7m'ÿplê«m1l—€$’")8� *ª ")1� !4"+ -ƒ¬#•  (Š#ó $ƒ¬¢ !‚�º­K! !!! ! 0B  ò 0 .DRf mÅm'²")wªÀ�K)s§À* 0 2B J+õ o!o ì‚� S²"‚ r#ó)a� dÂ0 *K 1{ Z3 Y²" B ")Q§ÀBÂ4 +õ O’…B!B"!gB#…�B"!*�G eI!C’"‚ 3CÓS"‚ *"C)N� !")*ªÀ§+� Â)(1E G)D D’")§À* ?,B J+õ +# ’‚` 53))¶Ñ3 3 ¿ÿp'mOm~xZ3 üò    µ!0B 3 ï K C „¬�`¿ # + Ê.xgpDk¦c¥cÍop\8+„Pª�„�5,—U*5*—U(`¿!*ªœ!'1%­PJ)ÎI­I!2Ð  *� *9K):½­9K 1 Q 2í ü…cÍ`ˆu²fÜŒ�…9ú)üª C0: CC C C2!óÅ …Q…+2§C2+C%'¥E%+ª …C19 Y*ÿªJ =2ú  =� ½¼! BÿÓ í`  v ÿÿx¾u_ÿw–ÿÀ49ù")� ‚  ž3ÿÒJ)íKÿ8ò ` c™?ÿyf…Q…C­K5A‚ 4"0 * {ƒ¬"ü€ tS º!2Câ q‚�„ iC3 *K"û‚!#C 2"1AÆKC>  0 2*K !�À2! Å!ªœ ªšêëDZDKDPDS0SVyp\F!óÅ$!û !ñÅ$!÷!ëÅ$ 1îÍÍ!íª@1ൠ1Ü´ÄÍÀ 02 "-u‚œª d1jüZ5hÒ  ‚�Z5e ‹32Ò û šqMmO c™f5W-½µ *ªJ®J*ü¨ :+8K Q Cí12ýÐ é5¥ <í*!7-:ª 0B Ü„á’"€ ø)010"ú� ‚‹ + +2ÿÒKõ#)+§)‡¥  "›€ •€02 Q 02  G :3!9C w{y w‹yeóy ycšy¹nanm'xZfeºxTOL!ú ™‚� º#‚  ð3õ �…¼ ò ª 'K K2 2üSÊ`¿"ý‚! ùø„Bý`  S +J…CC²*J B&²„¬�`¿ ì Tc™oc¥v×Ó )+3ª L G32":þ�…Bª ‚ @*: ¦ûZB 4>C"*þ¥*ÿª‘).3K J3"­ª…Ò� ÿ# C"ö'&S 3# BJ*�J:+J*83 "‚m1lbo:m'&)ÿÂ83ª`S328+ ÷¦BÉ#‚"3 ç;3+J": ¦ûZBªÀ8;#Ž ×áCKô# C3*K "*3–"°3 Éò+ô1* *3õ2 2ü: 2΃æ81!�Í€�32ÒR«ƒü3CóKô;õ; ;ü# C­â  ’ýZý Ÿ²’  p} cÍcšv×0…B0 *2µË!?�1? =Kô‚T«‚ ô!8Có!33õ 5 97ö"* BJ . ’"* *3õ9*ö:;úKŠúK…BJ  8; ’#B#B#B#B#B#B#B# B ò pli>lbm1m'c"‚ R" I"9YçŲPÒP¶P AÎ83õ8#‚šÖ ‚�; #2‚€‚`C29G¾!B¥6¥ ª «û® JZ#‚ ,`¿SBBB$BB!„B BB!ŪKÆ9ÄÞ ÆP9¾Þ`)½ÎPJJ)ºÎ`JJBBZZG)�À! �! Œ ‚@Ö < 0ÿ0 @c™ÿÿ:`¿#Åd-"Ê2 -²"$‚K …�Bƒ` /"Ê2 ²:­KÊ1ä"€  ‚Óú8;ú‹† ‚Jø8; #2ÔPÇC2²`8ò ‚ "† B!BoF!P­!L­PKCš`¿* ¾…C"8Cš# € 6• "C  š#€ -• û"C8…B S;+µ …C#)&¦A8;# €  m83Ð : !C#¬�§C: #§C…PE `8ò cšÿÿÿÿF`€`c‹ÿÕQÕS3õ2 Ò 93õ‚�Bª’«JŽ„B#‚ 8 #¥+"),�'8;Z "#­‚Š+!Ü�À¢¦PŽPªPJ8# B …D8 2S`¿* ¨ ²*¨ ý#õB` 1·1¶C#õB 8ò Y.83" B`­J)*îK+ª 2"3 83: ##‚Z!B#" 83 8#‚ 3õ*©"#‚[¢„3 o‰o£o� @@ F@@IÀ L@AOÀ R@ UÀ XÀ[@^À a@ dÀ!g@BjÀ)m@CpÀ)s@*vÀ+yÀ/|@.À-BOOTSYS.OL$TTI$TTO$TTR$TTP$PTR$PTP$LPT$CDR$PLT$DPI$DPO$TTI1$TTO1$TTR1$TTP1$PTR1$PTP1$LPT1$CDR1$PLT1#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED pf:oå p0BÓf?wü8e¿# 06-7MÿÿÿÿÐò8*¨ � *� )5¶÷16–­Q15–Q12–Qÿ#‚ ³# @#@!Î+ª #‚À†P‚PAC# `ê81 –Q1–QÿÝj@g€qjkjÀnl@g@n@+®P®PK1ô–QÒJû1ï–Q1ì–Q1-· ú+1*Î1ã–Q1Ü–QÒJû+1Ö–Q)1×–Q1Ò–Qü1+Î1Ç–Q1À–QÒJû¶€€C’*ªK)0* K5))Tµ SS*¨ .¥ '2 ‚Ð  *¥ ‚ S2ø* #¥ #÷‚  ;*K 0;`8ò `;*K ô32Ñ#:+ ¥ 8#Ó*ª�!�ŒPJ \32Ð ß*#¥ Û#* ¥ Öo.cÍÿýu_c‹w{3­2 Ò Å Ê2 úª " ºC ì¿" ;C û;­`¿3Ò  Ò@Ò�Å Ê2Ð ù` ÚHת *º#‚J"€  ‚Kš"Cþ ²Z”„C*02" ¥B ú@ú�Z ôš"3–Sì"C€ ê02ð*¨  ªJ "²*ŽJSÛ­KK K Ö"²Ö BõÒJ:;!ç :#ü€ I:#4"*òPÅC 3õB"J!8ò  9 pm ÒJû:+8ò!ù� *"K*!2#ÒP…09ªƒ‚�Æ�ûüª°83΃<CK ÿð:…C")§B! Ê„`¿  "‚ ò w{o:oÿc™d þ4)[� H)Y� I ö!8"17ÒÀ•83õ!1C)3"‚À§9,å:¿)'½’PÒPÆPæ)"�#ŠÀªPªPªPªP83õJ:;)½­¦B 8;ž+© S…B 8ò �ÿÿÿÿ0 ¶ ´0)¨ ú)¨ ö) ¦A)§Àò<C &eÿÿÿÿ2Ð ›<#‚ —#‚ ”8;õ3#‚Jõ#+ Ž 'ˆ ' #  ! õ � �;õ„C…C!C";#€  ‚  ¯ � �ª 4c™ÿÿÿÿÿÿÿÿfÿÿ  Ïp\C‚@‚�9/îƒ:üC K # (.:#+ D:;ú€ú‚) “8CóKô!+ªJ!C  …™ò  v×v×eóeºŽ�Ž€ c™f@pmÿøm(mOp7m'mÅlcm~kÿü2üS" *9ïîƒú@ýpå8BJ#ó+ô1å â3‚ ©¨!ÞJþ«KK‚�‚�‚�‚�‚PBÿ Ù²­Jú!Ú Ñ)ÖJ)ÈJ;õ+ôJ Ç Ç…C3õ"‚ 22"C"*Õ9ÁíÅÄ1³ °K C…C 3" *BJ3 ­²­Jú!« ¢# + �#+ K…C ” ”è3+õ ” ” ²+!‚Ž…  ˆ ˆò \ ©K ‚�‚�‚�‚�–)‚�K+ó!§€­‘ª�ƒþ"¦Bô ª“ú­�Óõ ­­PK*ü¨ ò#ó:;’J JJZ ­KSõ 1‚� S²")'� +#õ $�m CõK"* )¦CÂ3ó;+þ;ýZJÊ1 3 3õ*ü¨Ì3ó+ª Jò p�fp'm1mSS1j#ô*þ� #ó*ý� ;#*ü�  #*û�õ X   è82ÿÒKæ3õ2 2üSÊ`¿"ý‚ !V Nùø„Bý`#ó+ô: 2Íûå1@΃1D >3JC"¦B" ‚ ƒB 4 C+1+ +3¶Š…�©‚�«þ*� €§Bò3 3…Bý ! )"§ ¥B!  y¹n@!ÿ0B èpl opmlbm'o:ÿÿ€­K4"0 * bƒ¬ `ƒÝtSõ*ªJm"ü€ E8+ª”­�K ª�K­�Kª�%G‚­K 8"€ \8; # • %>C 8")7§ H+¨§B+ §7B"),§¤B!% (‚� º $3õ …¼ !–! 3õ"úBõ"ûBöò ®J:+8K  íeºp7ÿõeóxZy?ÿÿfym'c™y p[8; ú  ø: ö ô8 ò.*ü¨  í6 ë…CC5è8;õ"Ý ‚J"ü+ü� 3"+ª€  "+¥ -е  Ç‚(2ý"üÐ € â83õ+ª 8; *ï îJ8+ª -µµ  ¬' "‚ «�€ ò  ¡'‚ Ú ¨:ÕÓ8; #‚œ¨%“‚Š£ “’€ 8 02 *4#2Æ¥4BC8ò  c™’+: K8;ú@ú�Z8+8; ª\9+! �K8+ôª‹"*BJ w‹,ò4*8K A„á0: …C2"‚�ñ…B,#+94îƒ4 B J5)¬ („02 ")§B0 2 T - †k02 ­�J­MMM L: +„�‚ �K  € ÿy`‡yfxmy3 3 ’8; …C cŒmS­ „† f8ò @ÿÿÿÿÿÿÐ 1øÐ 1;—  1ò‚À‚‚1ð‚P‚À–‚�1-Ò�‚šÓÒ@Ò@†PÒ€!à–ÒK!A\ 1Ó 1Ï 1Î  Ð â  š\ Ð  ‚�‚� þm'm(nanymlbc™TUx¼ ü 5üÐ 1„Eø)øµS2 Ý32 Ú3¬JJJ*K*K*K ΀ #+4 BJ -× × × ’;Þ#‚ Õ#)Ð� Ñ#‚  Áò ­ ª]­ª%X:3Ò I`¿:ú  :úKþ Zò` cš:ú ;Q~:úKCú M8+ô9818—ÞÅÄ ;ú j32¨·S#dÿÿbÒ`qÿ‚” #C1kÇ@1hÏÀ¦€CCeÿU‚ŒS1`ϪPªÀ1#CÇŽKC3Ò "$‚K C G ` D'` AWÿÿÿ8ÿÿùÿÿÿ :;C1@ß 11:#1óß ì<02 SÕ0ST1%Ò AZU)BBJ!*ªK(:"�û:"�  Z#‚K)�À9ξ+ª î …E `8ò c™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?[þ`¿ õ ôé`ú:#)¿ ã!B í߀ZBJ"" € Ù `¿ ß Þ € ý`ø Ø€ ýB ÔÈ4"0 * Rƒ¬¢ O—� 2S’* K)H"�ÀK4"0 * ?ƒ¬¢ <—� š#‚ 4# )5;¿ÀÊ4 BZ /0 2ýZ! + CC'€ 0 2! ! 3*3;Îû’ZýJþ­Jú8+Jû  éãò3  fmk¦m'namSc‹#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED pf:oå p0BÓf?wü8e¿# ;ÿÿÿÿÖò8*¨ � *� )¶÷+ª“­�1;–Q16–Q1+ªJÒ@+ª�Ϊ�ª€ª€K1"Î1)–Q)1 –Q1–Q)Ïú1–Q1–­Q1–QüxqjjÀkll@nn@g@#‚ ¬# @#@!�+ª SYS2MOL7pll!Š…C Q«1OÇ 1MÅ  1KÅ 1I#• ð#ó+3õ BdòKôò  =‚!‚…°C18ªP‚@Óý3õ2# 23õJ!‚PB"#ó‚P),;úJ $dò  cûª 3õ*1·ò­²�Ž… !Ų’Ó åkK „a6^¬ÿúk°€kŸkV@kz‚!‚CKò*ªJ®±®€J0 2!UÇ …CC +ª 3õ*ªK *"!�0)DJ ; B9ŠPC""ŽK *#ªP� #¥¢ ‚  *ªK>*:!íí  :"* íí�¢…0)J 88’# + Â3õ+ŽK+�K*"ŽJ"3 ò#+ô�Kô fék(h’ !­J"3Jô3 ›*9ï îJ*:!ì íZ:"* žìZ 8’#+ Â3 Ähtk(hk\¹òC"‚@‚ B…C…C 3õ"*!¥ #C"*!�  ""* �!3 Jò0B 3 C#Cô ! ô!ôòø „ fékK+ªP""Ž úC"""*#ªPŒ!…B" #)î§)é� )é� + )Û‚ � Ì)Ø� É#)Õ�Ê3õ# ‚ ²3 ¥kVhth’C??0 *K²!2 ,#ó )ƒ¬"ü€ /S4"C‚ 1"ÎÕP ƒùC!•  ¢)3Î1 Š#ÕP ƒù!3B3+ Š ò abkzkj^ž : *^¬­Q­�­K4"ª "C0 2)í¦•:0 *K3Ò $#ó ܃¬¢+ªJ' Ö—€ 2š+9+¿ !&9&¿ƒ2ÒZƒ�83BÂ8+1Ä ò 3õÒJ Â1¼ ·’2¢ß °—� Ú ¯ ­kjÿ SC 7,ò!3–#Bÿ;#Bü#B#Bû<+!$§T��Bþ!��ª�!!ŽJú…B  ò#*�"ø8C ;KC! •  „¬�`¿ Îðÿja ^¸ i¤iD^à"02 2…8 ; )vï©:úJfƒÓ«ú 8 ,K…D8; +2ª@ª�K2V^¬ ÿ8òÒZc*ªšb*9S¿ N8 ;3)O�ÀµE®P¾4*¨ +1GÏ  +1@Í ÏÀ1;Ç� ò<+!4§8SC*!/§À+¤$"9*ç:©ž«þê8KŠ"3 3)"�#‚ÀŽJ*!�J 4B8ò    d€ÿÿÿ€3)ûJò   0ò’€4*1ý1ûƒ4*1~1|ƒ1xƒÕ‚!‚S K­pK +ó� 24")sî1r r d‚€0 2S!i g#óÊ3 bƒ­¢S *ü¨  š+8ª M02 2 S 2*’J…BB B # B#B #B #B  %=CC-<1< 7%8‚À¦CË3 # 4‚€9S²")c� C "3 ^7 *ª@*1(ÏÇ�  U +# �mKë M C ’2"3BÕò b k¯thtftdÿt»t» ø4 BJ DÕC‹7!>ÄÅ >3óÐ  3# € éC "ý2þSôCó7Ò S²2Ò 1ÓÎú#1 !ø39Þ+ È1´»# ‚€ Cõ  Kô+Kõò# € ‚  ¼ þg¥k‡^¬?!ÿ0B ð‚!‚0*1 ª�1 ª ÓŠ"1 qvXvZk(- 02„PÒ�„��ŒMcs–")0� ­Q­ -9ç ¶")$�  8ò))§;ó)'ï¸çŽJ  ! 8ò<)û§ ! "C2"‚J…"C @ÒJYý:#ú] ác^¬4%B8; +J4a?^<GPc…‘…02 *2ü�ïŽJ2 vì-'1'… '<CK%"C8ò <#+39Ü9¼œªPºPêPªPªPªPíŽ`¿MU`å ¿!tdCõ#‚ -3)�  +ª &+ª #)ÎKSä ;+3´Þ Û!©*ü¨ !¨’^ž.: kzkK¡ ÏkKkV18; )#§C ÿû^Ÿ\ ò) 4 ¶Ó*� ª ûò Ù: \ )� )1ŒÙ• )1 ¥Ä)¥Có) 1¥•Ê zaZA90$ 3 }3 {+ô¨  A € €hòkŸÊ4 j+ô¨  øí eëCC'/4 ;ôø  :;úJŠ…8BJ OÓC 0*1M–ª T%K-Iª %JC*K *"€ "‚ "©¨¥ŠK * !/�p!6K¹Žûþ8#¥+ ¤FC8+ª ,-!ª )0 " 9ç)™¦ûþ=*�½Lê’9#K 1 # –ÿhÂg¥h–�òvìuzvívé%uou¢kj±98#ô€ *‚Š*¨ ª `8%ë+8ª ‚  %æ*¤%á+ ¤Â)R1R à Œ# )¦)1×Î1 Ö# 1EÅ-ͦ3 Œa\!;>!?<"E¿*=»ú =¹¼ñ1,:�í:½êM¯1$9$í #3:û;úJªP¶"*úJŠ…8S4 BJ ”•1•+ Î1 ™’ �²–!k¯ À™j;)O)L)H)G­K J�Õ1F–!C D02 S3õ#ó i—�.S2*3óS"97ç�  9.½ž¾½ � 9Wž;ÿ!U� (ú@ú�Z#8+ô¨§B#;Z"+;å J8H8;;í;+®@ª�ª K  kzb ÿ8;+®@ª�ª K E#_02 "CC0 " 1íÇC7ÒKÖC Ò�Ò�+;ö _ñò aba6v¢ÿÿ…PCS²8S3#‚J+22–2Ð S!!ÒKÂ3Ò@Ò�+ôš… ò ^¬3*®@ª�ª�J ! 0B 3*®@ª�ª J `ýò k‡vìv>ihj-üª $02 *ªœ0 * µƒ¬S¢ ±‚� S²"1å—  !æ1â â…Q…²BB3 ßò Ü  ¿ ½8^¬jj­­PÒ@®€KÒ�Sõ+ô9ïîƒB J zŽF :#+9åîƒ8CK"û)ܧ:+®Z Ô:# Bô*!e�J#8€ 7…)ÊBJ YGC ’"*2΃3•53µ23 ")·‚‹�,)´�))²¦5²Æ`¿-°�#E¬`# ;õ;ZS)¤Îš3 -¶„B3 ~3õ+ªK'#ó‚@ª€‚€+ô — CK!`!0B 3 g3õ �€*! �ŒJ ˜K abRSkjg¥ÿ!T ù‚�êÂ3õº+ Jÿ+Jþ’ C3õ"€ !A å‚�2Â3õ2üº+ Jÿ+Jþ+ JJ+92ïÀJ J’ *3õ2"3õ+ªPª�‚€‚‚K#+;2 Ò@ú@Ò€ ¿…½ ò8; #­�‚Šª�"¦B ! °‚�¡º œhjhtv>vKMAPDR@ thtftdk¯<2ü*þIî*ÿIí:" *‚ÀIé;æAí%îAåAå-í1î ì%é‚À¦Aß4 õ)ÎÎ3õ vŠò4 õ ‚!‚KC …pCÒ@Ò�S9k)h¿PúÀ-j%hîƒ4 B J-d d d C’S+õ#‚ ªK%"+8 3Bº;#B!J¬¦B!DB 8#B # ‚À*ŽJ3"ÆP8 +Õ 2ƒù3®  .Š3!+–S"‚ !*10¶2ÿ!&• óÒKñ3*#¦P0 *Õ ƒù¢+3;ú  áÞ ÇÚò3  ab€@•ÿÿa©aªvçhÂg¥a6v¢h’#ó ð‚� ;ô#º+�  03ô;ó"C"C…CC C …PCê@ª 83õ ÔŠò kŸ ÿ Ú Ê‚�;ô#º+¥ +ª …C ò hj"9 � ¨!�J#8TPÑ*#2 k…BB!&9$ï | L‡ x*#2 ]!`¿:Ÿ`Z!� ~)$ ŽP : +õªP 6 ) ŽP 2  /†²n ¬¯ÿý…*#2B ‘2ò!`¿*�`J 2…B B ) `¿"§B* `8ëma6ÿû€þ€ab\ 0"1SÐ ‚œ1NSõ22< õ :‚. î‡*«ùX!ä`¿:ç‚ 8;!ßú�!Þ:‚ ž`Z8`ç ü 0!� !9¿ !Š… ȇ «üò< õ8ò ^¬þpÿœkKLOAD , STRIKE ANY KEY. bÿÿ‚ R‚ OO©K­Kò \ ­­PK8 ;)¿ `¿ `Cóò `¿ `+óªÀ¦Có "*  æjal›\ )`¿:ï½`Z Ô1 ÇCó3õ`¿"¦`B ÿý)ÿ`¿"§`B â4Bò x­PK"#C2)`¿"�`J#óC ¬X+ª'C) §+9\¿  oK m+#ó� êÿï9N¿ )L9L¥�9Iå Y\Ú VÙ S Ö+ 7+ª++9$¿  8+ªÐ¹øï4ý® " =  :  7+#ó�!�´1 Â0B #ó+�Kô „1 ô¤òó81íkV az \ "#2) 9 Ÿ¸`¿"§æ`B ÿý úú \ /òò� ‚0‚ ò `¿*ª ! \=!Z‚• -Xª ‚…*!S� „* O#ó8 ;)K¿ ä I`#ó GŠ€$!²…�`B")?� =… :BK…B#ó*3ÒPÎ /3 .!. ..`ò  * · &E 3õ –¼ #ó®©ðKC2+  Eú?lVvì€ja^žaüeûf[kVhju_j}u^kŸkK\ ŒC"#C28+ ö)s§!)q�29o� b 9j•¥*9g½ X@9b½  à…B Z…Bò+#ó�Kô Y AŠÐ™øç4ý®€¢À9À)C� )A�ªœу éã!: ²à &@Ú…)4 «Ù«ýÓ ÚÔ Î!*  ÎÊ  ! ÍÇ:)ï ú™ €© ¼! ¥\ #ö/òò� ò  az„P^¬ ÿð  O’…C0" Oi 0*1Cª�1@Ð  ?‹39=ø 0*ª€3Ð Ò  Ö  !1`¿ 0!. /`:Ê@ûð5JQJ2 Ð ‚* ¥ ‚ 9A*K 9<²2Ð ñ152*ª æ‚ Q/õ9,*K ìÿÿcïabÿÿXÿÿÿÿ^à"…C8+# ªJ­0 8+¨ " ªK" €  è’8#  �a\ J“ Hö[#Ya8+ª 5÷*ª“:ø  ; �  9Nõ 9Lõ )HªPJ2*ª ì5á 2*ª š+ ª <9;( µ  :ø ú+ ¥ 0‚‚ : ø èQÇ‚  + � %YÂ1À;ø ÷Ü\+ ¨ ö* ½ +1³J1°1* Z K Ä+J ójqdOÿÿtóØ_¼2 Sôõò "ƒB¬Jö*2 Ð Sô93¿ tõªJ/‚ $ !$ " j w …C ‹wK 3 3õõ ò3 sò a6abkzÿÿÿkŸÿÿ@ ü Qò2ö UC’ ó#ô+ ì‹vå3ôõ ë  62ö OOÚ2#‚JÐ #õ#+ Ž Ð % !  � õ�8òÐ 03õ2)`¿"�`J  ^¬1ö ’;õÙÿÿÿÿßÿ ®çÑX:ö;!Ÿ 8\  Kóº")š¾CC g¦€h–„…CÒ@Ò�:!=Ÿ 0 ô²Rö+õJ 3C)/� (‚Š ,#;õ`¿+Cª@€ ª‘ª `K€ úC 8#)�  » ¹  Òò 3õ`¿*® ¢ Ê ¥ £L#€ ٠› ÿÿÿÿ ) �À! �!Œ ÿ^¬ 0ÿ\  Kóº")¾CC ÿg¦ja…P…„C„BB…C"‚ Ü" Ó"1ëÇŲPÒP¶P ËÎ8K3õ…�B!ÑB#!Þ–J: +ªK ÷)Öî8K ÂB ’`¿…P­ Ê v {+©J){� r)y� m¬K‚‹ë2ö)f� ô)h§ *!bŽJ: +!a82 § }+ª  #€ O P3…G L'€ û�#€ #KªK Z� Eú#€  P > P M§  K 7 I§J C� 0ø#€  : ) : '2ö2 *!�!ŽJò#�K 3õ2 ,3õ„GB")!¦B Ûÿÿÿ€ÿÿ@  � Yý8 +8!ø� ÷ 4  @ÿÿÿÿÿÿÿÿh– ü é ü  ù I^¬0Z1 ÎÕPÍ ‚ü« ^¬v8Êÿõ :.TUk(kKkVabkŸhjaªa©vçhÂÿÿÿÿ!þ€ ä%l€ i$ )ãŽP%ó1áÆ` Î!à ç«!Ù‚P È!Ü4 ÆP1Ø Û$ )ѦP)ä©1Ö Ø�”­ Õ K0 "5Ô Í‚�¢ÅC "þC "ýC º#8Cº#+ ½1½ÇÀCK3Ò 9^)^¿PúÀ-³%³îƒ4 B J-® ® M C’"ú)G§Bú#+BýJþ4 B J-� �#‚  9 C’"€  5SÖ&v 3# + BJ# BR '1†Ð 3Ò 4  ;C  3B!)§+¦EÜò 32 3  ÿïg¥hthkhtš €ŠK2S`¿"1$Ç Æ3B`3 ?†�‚J‚ K1<• ;#ó¥ 83 0†�‚Kü") ¨§B…Cô ^¬ò3õ2#!Ç +#ó¤�Cô1• 3õ2#!— ) #óŽñ!  «ÃIHab@ ÿkVK)"�¥ 1 ·ÍÒÀÒPÎ@®P1< öP΂Å«‚Sþ‚ )îP! ²“‚À*�ªÀ¢8+Ôÿ†z 12345679\\\\\8`:#@'="\\\\\0/STUVWXZ\\\\ Y\\,%_>?\\\\\-JKLMNOPR\\\Q\]$*);^\\}~stuvwxz\\\\\\\y\\\\\\\\\\\\\\\&ABCDEFGI\ \H\[.<(+!\\\ {abcdefgi\\\\\\\h\\\\\\\\\\\\\\|jklmnopr\\\\\\\q\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\……PC ¢@‚�CS ªK’%JB B -I1J H%E‚À¦3B Â3 B‚€ { F S B …PC +# 4 B J+ 4 7!’C)-¶*'�B3!(C)!Ó¶"‚ û €#Ê1 3 L ò #€  #Có thtftdk¯ @S ; =S…B B-3 33B B /…PB l8ò²ªP#ó $ '32 3;"CC" C C…CC83õ#B#B~1|") § !B !t H \5kVvçhÁ^¸hjjaò„¬�`¿ ûüPÞ3 33 1  u]1Y…B!B Zýj—jªu^)O`¿5ýÒ á­­P`K ôu]%C%C‚å…Eî…CC3*ª "C‚ö áu]…Pàvòf[^àj}:2#*� '#*�R#8‚JQ+ª chK;#8‚ ªP"Ž Z3`¿ W:`Û`3 P0u_vñ")FŒÛ8S3Ò E3­#‚  Ã?K*‚ * :‚ : â 1—É4#B;;‚ ¾Þ83:  ª3 ¨# §3š#‚K83Ò ÷…CB8# ‚ õ3"C"CJJÀüeûabkKlVhth’ €!*C))�K…C)"7Ð  ÒW Ò�"§#‚BSñ#E…E 1 ! B…B!B Zýu_vñvòŠáv¢và xŽ' ")[�W ?u]`¿* ="):�J� 38"‚*Cã"C…BB`83:  s oK"* L—É 3…BûBúBõ3"* ‚ ïª í3 \3 Z` u]ò mujªj—ÿýmj}V­Q­K )Ž' ") � ‚@‚¡‚�Bò  <’2ö §ÀC3+õ 7R …B)1Î10# ‹3# )%�­Q¬JªJ Ê!(– !­JJ3õ"ü3Bü#+ ‹… Sõµ:1 1 11 •)*%ÿõhÂDRÿ.Š8 ;1DÆ’ƒ�!@‚P­­PIŠ8 ;18Æ’ƒ�02 "  %010Æ`1, .…Î ,ò  )<#8 + $ƒ¬"ü€ ¢ ‚�º# 1Ç1–2ÿÒ^Ð Ö Sõá  G v8 vçÿõk(kV^¬abhtÿv¢0 2<+¦•02 J#B' î2 ì3­­PK8+9 ª�93+ª ó¶<#Ž;!åé¾õæ<#38š¢ê 8ò uou¢kj…B!6B 5K²!3*ú� ŽJú / /#")-ý"žÓ«üú 83!#*� ;õ;"C "C *K"C"C ‚"C8ò  83 ‹Qg¦i¤iEÿh–¬­K­J J JJ J" *BJ"ô:+8CK t²…Bú!q q q+1p p¢3õ p ’ l)j3 gC Š1c; úJÒ� `3 ÒJ‚`C¢3õ \ C+#‚ ­P V“UC K3;ö8; úJBÿJ83 A4 B J+õ x 8K²!6 63õ#+ª ¦# AyBþ"Ax* 2"ªÀ¦Ay%^AqAq-]1] #%Y‚À¦Ak4 ![Æ+«1V L3…Bú #‚ ># +«ƒ4 BJ3õ B g¦kzhjÿk¯ê«htgabò& 5 KK)ñ# ‚Jª�K# ‚J?3 è3õï'‚ 4 "G ܲ…Bú!Ö Ö Öå3 Ñ3õ*" ò kjithtftd—€$’")8� *ª ")1� !4"+ -ƒ¬#•  (Š#ó $ƒ¬¢ !‚�º­K! !!! ! 0B  ò 0 .DRab ihj²")wªÀ�K)s§À* 0 2B J+õ o!o ì‚� S²"‚ r#ó)a� dÂ0 *K 1{ Z3 Y²" B ")Q§ÀBÂ4 +õ O’…B!B"!gB#…�B"!*�G eI!C’"‚ 3CÓS"‚ *"C)N� !")*ªÀ§+� Â)(1E G)D D’")§À* ?,B J+õ +# ’‚` 53))¶Ñ3 3 ¿ÿkjh’hÁv>3 üò    µ!0B 3 ï K C „¬�`¿ # + Ê.vKk‡fé^¸^àjakŸ8+„Pª�„�5,—U*5*—U(`¿!*ªœ!'1%­PJ)ÎI­I!2Ð  *� *9K):½­9K 1 Q 2í ü…^à[›s–bŒ�…9ú)üª C0: CC C C2!óÅ …Q…+2§C2+C%'¥E%+ª …C19 Y*ÿªJ =2ú  =� ½¼! BÿÓ í`  sîÿÿv¢sCÿuzÿÀ49ù")� ‚  ž3ÿÒJ)íKÿ8ò ` ^¬?ÿvìa\…Q…C­K5A‚ 4"0 * {ƒ¬"ü€ tS º!2Câ q‚�„ iC3 *K"û‚!#C 2"1AÆKC>  0 2*K !�À2! Å!ªœ ªšêëDZDKDPDS0SVvçkŸF!óÅ$!û !ñÅ$!÷!ëÅ$ 1îÍÍ!íª@1ൠ1Ü´ÄÍÀ 02 "-u‚œª d1jüZ5hÒ  ‚�Z5e ‹32Ò û šqMh’ ^¬ab5W-½µ *ªJ®J*ü¨ :+8K Q Cí12ýÐ é5¥ <í*!7-:ª 0B Ü„á’"€ ø)010"ú� ‚‹ + +2ÿÒKõ#)+§)‡¥  "›€ •€02 Q 02  G :3!9C u_vñuovòa6vîvì^­w�i¤iEhjv>a\`ýv8OL!ú ™‚� º#‚  ð3õ �…¼ ò ª 'K K2 2üSÊ`¿"ý‚! ùø„Bý`  S +J…CC²*J B&²„¬�`¿ ì T^¬ja^¸t»Ó )+3ª L G32":þ�…Bª ‚ @*: ¦ûZB 4>C"*þ¥*ÿª‘).3K J3"­ª…Ò� ÿ# C"ö'&S 3# BJ*�J:+J*83 "‚htg¥j}hj&)ÿÂ83ª`S328+ ÷¦BÉ#‚"3 ç;3+J": ¦ûZBªÀ8;#Ž ×áCKô# C3*K "*3–"°3 Éò+ô1* *3õ2 2ü: 2΃æ81!�Í€�32ÒR«ƒü3CóKô;õ; ;ü# C­â  ’ýZý Ÿ²’  kÀ ^à^­t»0…B0 *2µË!?�1? =Kô‚T«‚ ô!8Có!33õ 5 97ö"* BJ . ’"* *3õ9*ö:;úKŠúK…BJ  8; ’#B#B#B#B#B#B#B# B ò k¯d�g¥hthjc"‚ R" I"9YçŲPÒP¶P AÎ83õ8#‚šÖ ‚�; #2‚€‚`C29G¾!B¥6¥ ª «û® JZ#‚ ,`¿SBBB$BB!„B BB!ŪKÆ9ÄÞ ÆP9¾Þ`)½ÎPJJ)ºÎ`JJBBZZG)�À! �! Œ ‚@Ö < 0ÿ0 @^¬ÿÿ:`¿#Åd-"Ê2 -²"$‚K …�Bƒ` /"Ê2 ²:­KÊ1ä"€  ‚Óú8;ú‹† ‚Jø8; #2ÔPÇC2²`8ò ‚ "† B!BjaF!P­!L­PKCš`¿* ¾…C"8Cš# € 6• "C  š#€ -• û"C8…B S;+µ …C#)&¦A8;# €  m83Ð : !C#¬�§C: #§C…PE `8ò ^­ÿÿÿÿF`€[’^žÿÕQÕS3õ2 Ò 93õ‚�Bª’«JŽ„B#‚ 8 #¥+"),�'8;Z "#­‚Š+!Ü�À¢¦PŽPªPJ8# B …D8 2S`¿* ¨ ²*¨ ý#õB` 1·1¶C#õB 8ò Y.83" B`­J)*îK+ª 2"3 83: ##‚Z!B#" 83 8#‚ 3õ*©"#‚[¢„3 jÌjæjà @@ F@@IÀ L@AOÀ R@ UÀ XÀ[@^À a@ dÀ!g@BjÀ)m@CpÀ)s@*vÀ+yÀ/|@.À-BOOTSYS.OL$TTI$TTO$TTR$TTP$PTR$PTP$LPT$CDR$PLT$DPI$DPO$TTI1$TTO1$TTR1$TTP1$PTR1$PTP1$LPT1$CDR1$PLT1#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED kKab:k( kV0BÓf?uà8e¿# 06-7MÿÿÿÿÐò8*¨ � *� )5¶÷16–­Q15–Q12–Qÿ#‚ ³# @#@!Î+ª #‚À†P‚PAC# `ê81 –Q1–QÿÝj@g€qjkjÀnl@g@n@+®P®PK1ô–QÒJû1ï–Q1ì–Q1-· ú+1*Î1ã–Q1Ü–QÒJû+1Ö–Q)1×–Q1Ò–Qü1+Î1Ç–Q1À–QÒJû¶€€C’*ªK)0* K5))Tµ SS*¨ .¥ '2 ‚Ð  *¥ ‚ S2ø* #¥ #÷‚  ;*K 0;`8ò [#;*K ô32Ñ#:+ ¥ 8#Ó*ª�!�ŒPJ \32Ð ß*#¥ Û#* ¥ Öjq^àÿýsC^žu_3­2 Ò Å Ê2 úª " ºC ì¿" ;C û;­`¿3Ò  Ò@Ò�Å Ê2Ð ù` ÚHת *º#‚J"€  ‚Kš"Cþ ²Z”„C*02" ¥B ú@ú�Z ôš"3–Sì"C€ ê02ð*¨  ªJ "²*ŽJSÛ­KK K Ö"²Ö BõÒJ:;!ç :#ü€ I:#4"*òPÅC 3õB"J!8ò  9 k° ÒJû:+8ò!ù� *"K*!2#ÒP…09ªƒ‚�Æ�ûüª°83΃<CK ÿð:…C")§B! Ê„`¿  "‚ ò u_j}jaÿ^¬d þ4)[� H)Y� I ö!8"17ÒÀ•83õ!1C)3"‚À§9,å:¿)'½’PÒPÆPæ)"�#ŠÀªPªPªPªP83õJ:;)½­¦B 8;ž+© S…B 8ò �ÿÿÿÿ0 ¶ ´0)¨ ú)¨ ö) ¦A)§Àò<C &eÿÿÿÿ2Ð ›<#‚ —#‚ ”8;õ3#‚Jõ#+ Ž 'ˆ ' #  ! õ � �;õ„C…C!C";#€  ‚  ¯ � �ª 4^¬ÿÿÿÿÿÿÿÿabÿÿ  ÏkŸC‚@‚�9/îƒ:üC K # (.:#+ D:;ú€ú‚) “8CóKô!+ªJ!C  …™ò  t»t»a6`ýŽ�Ž€ ^¬ab@k°ÿøhkh’kzhjig¦hÁf[ÿü2üS" *9ïîƒú@ýpå8BJ#ó+ô1å â3‚ ©¨!ÞJþ«KK‚�‚�‚�‚�‚PBÿ Ù²­Jú!Ú Ñ)ÖJ)ÈJ;õ+ôJ Ç Ç…C3õ"‚ 22"C"*Õ9ÁíÅÄ1³ °K C…C 3" *BJ3 ­²­Jú!« ¢# + �#+ K…C ” ”è3+õ ” ” ²+!‚Ž…  ˆ ˆò \ ©K ‚�‚�‚�‚�–)‚�K+ó!§€­‘ª�ƒþ"¦Bô ª“ú­�Óõ ­­PK*ü¨ ò#ó:;’J JJZ ­KSõ 1‚� S²")'� +#õ $�m CõK"* )¦CÂ3ó;+þ;ýZJÊ1 3 3õ*ü¨Ì3ó+ª Jò kÒabkjhth–S1j#ô*þ� #ó*ý� ;#*ü�  #*û�õ X   è82ÿÒKæ3õ2 2üSÊ`¿"ý‚ !V Nùø„Bý`#ó+ô: 2Íûå1@΃1D >3JC"¦B" ‚ ƒB 4 C+1+ +3¶Š…�©‚�«þ*� €§Bò3 3…Bý ! )"§ ¥B!  w�iE@!ÿ0B èk¯ jak°g¥hjj}ÿÿ€­K4"0 * bƒ¬ `ƒÝtSõ*ªJm"ü€ E8+ª”­�K ª�K­�Kª�%G‚­K 8"€ \8; # • %>C 8")7§ H+¨§B+ §7B"),§¤B!% (‚� º $3õ …¼ !–! 3õ"úBõ"ûBöò ®J:+8K  í`ýkzÿõa6v>vì?ÿÿabvçhj^¬vîkž8; ú  ø: ö ô8 ò.*ü¨  í6 ë…CC5è8;õ"Ý ‚J"ü+ü� 3"+ª€  "+¥ -е  Ç‚(2ý"üÐ € â83õ+ª 8; *ï îJ8+ª -µµ  ¬' "‚ «�€ ò  ¡'‚ Ú ¨:ÕÓ8; #‚œ¨%“‚Š£ “’€ 8 02 *4#2Æ¥4BC8ò  ^¬’+: K8;ú@ú�Z8+8; ª\9+! �K8+ôª‹"*BJ uo,ò4*8K A„á0: …C2"‚�ñ…B,#+94îƒ4 B J5)¬ („02 ")§B0 2 T - †k02 ­�J­MMM L: +„�‚ �K  € ÿvì[švçabvQvë3 3 ’8; …C ^Ÿh–­ „† ab8ò @ÿÿÿÿÿÿÐ 1øÐ 1;—  1ò‚À‚‚1ð‚P‚À–‚�1-Ò�‚šÓÒ@Ò@†PÒ€!à–ÒK!A\ 1Ó 1Ï 1Î  Ð â  š\ Ð  ‚�‚� þhjhki¤iEvçhÂg¥^¬TUv  ü 5üÐ 1„Eø)øµS2 Ý32 Ú3¬JJJ*K*K*K ΀ #+4 BJ -× × × ’;Þ#‚ Õ#)Ð� Ñ#‚  Áò ­ ª]­ª%X:3Ò I`¿:ú  :úKþ Zò` ^­:ú ;Q~:úKCú M8+ô9818—ÞÅÄ ;ú j32¨·S#dÿÿbÒ`qÿ‚” #C1kÇ@1hÏÀ¦€CCeÿU‚ŒS1`ϪPªÀ1#CÇŽKC3Ò "$‚K C G ` D'` AWÿÿÿ8ÿÿùÿÿÿ :;C1@ß 11:#1óß ì<02 SÕ0ST1%Ò AZU)BBJ!*ªK(:"�û:"�  Z#‚Ku)�À9ξ+ª î …E `8ò ^¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?þ`¿ õ ôé`ú:#)¿ ã!B í߀ZBJ"" € Ù `¿ ß Þ € ý`ø Ø€ ýB ÔÈ4"0 * Rƒ¬¢ O—� 2S’* K)H"�ÀK4"0 * ?ƒ¬¢ <—� š#‚ 4# )5;¿ÀÊ4 BZ /0 2ýZ! + CC'€ 0 2! ! 3*3;Îû’ZýJþ­Jú8+Jû  éãò3  abhÂféhji¤h–^ž#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED kKab:k( kV0BÓf?uà8e¿# ;ÿÿÿÿÖò8*¨ � *� )¶÷+ª“­�1;–Q16–Q1+ªJÒ@+ª�Ϊ�ª€ª€K1"Î1)–Q)1 –Q1–Q)Ïú1–Q1–­Q1–QüxqjjÀkll@nn@g@#‚ ¬# @#@!�+ª SYS2LSV zâff PUTåTö „ÿÿ f NOVA RDOS REV 6.32 `„`DVÙ8yÉ IÿÿyÉÿÿÿÿÿÿ*%dÿÿÿ8)TV d¢«»ÆÕàù*WX~Œ—£½ÈÑåçì )&1&9&"CÓû«û @5 >!r "i?!¨   @)­�Õ  P >!­  O V^ÿÖ*( Qð,-.?!.@0 Q? *ú0.)$µ¶) µí -(,‚ªè "å Q,-.?!@0 Q0? ú .(-0, "î-Dl:/\ K!$@+0(Æ@/…@,@-@. 4  O DL// ?1Í  00Í  09Í  H1 Q@1? L+ìü L (5¨  >0)9!FÍ )3!CÍA? QÔ?  O!8  O 9!3  O > 6@)­�ÕP3  O!#)!ÏÀ9E÷9õ9õ!P’ C08 ãtrx ~–„'Œÿÿ‰’jnÂ1 O\ K029æ+ûû¨ ôÍ ú#ÿ@*­PH<)U  O 4­P H ?ªû1 A§ÿ¹þýüû úôùïøtÿÿç 0‚�@- +‚U!%  O!" + O…AAA@1 =…�@+ 0‚ L G NI1·01· G NI!m Iº¢1 OÈ G NIóª 4 I©¤’ 4)"• @ I©¤(-ªh(4� ­!G "c`(7! H@1[0Y =§ Qœ?-Q: G NH. G OH/ 4(. H’� -‚@¢• @,"ÓŽ,ü1m /� O +‚T,01!)§9¯¿9ª¿Ò” % ""!Ò”  "# )�Ò” ! "$  F N 4(.  O�)µ O P-ù G N¨ #2 G NH. 4 I(2ª�‚H, .¥ 41Å M� QÂ4.N,?2 = *—1!² Oª•íîÅ\ K7üüP3 ? O LY  ! @8(08…Cû”ý®\ Ký’�*!‚ªÀ�Kþ L\ K! �ÿÚ“ªÀ3Ò‚ÀǦC Lÿ\ K"€ ¥ÓÓúSÿ L\ K!@¢)_4Ò LÅ«Æý3ÿÿ @õñ€@\ K7üü 9Å A#‚ 1!P¢)?4Ò LÅ«Æý÷3ÿ @SÿòY 8¢)+‚Z)*3ÿ @ÿ‚Z‰Š#'èd \ KÕQ(Q( ?1µÓÓI Ò ?9 1 ͽ 1 Q÷ +-08Cýý)! ‚©Kþ L\ÚPúPöP¶8‚‚ \ K7üü‚ 1 ‚Zü L 1‚šü L€\8(ÞCÒS­Ò� *? ?CþSÿ L\ K7üP3ü J L¢À JŠŽKþü L\ K’¡ L J O @ƒü L\ K’… J Oƒ @ªûCþ L\ K<! ?Kþü L ;A (: H<ó 7• Oª LùY 8CKS1ÞX3ÿ81Ý0X#+3\ KAQ ?²! ?µ Lª!õü L+þH3A8I8Q8Y8A3I3Q3Y3\ K¬­I*9-#ý)%¥#þA))§¥ 3A#0(–"A1") A:#ëPI­°9ž#A Q&?  L    (N[j w ˆ™¦·ÄÓä÷& ?;@EÅÈ-ÿOÿÿ] ILLEGAL FILE NAME ^T NOT A SAVE FILE: FILE ^T  END OF FILE: FILE ^T FILE ALREADY EXISTS: FILE ^T FILE DOES NOT EXIST: FILE ^T  PARITY ERROR: FILE ^T € NOT ENOUGH MEMORY AVAILABLE^A  OUT OF SPACE: FILE ^T  FILE READ ERROR: FILE ^T UNIT INPROPERLY SELECTED: ^T ILLEGAL STARTING ADDRESS: FILE ^T DEVICE NOT IN SYSTEM: DEVICE ^T INSUFFICENT CONTIGUOUS BLOCKS: FILE ^T  CHECKSUM ERROR: FILE ^T ILLEGAL BLOCK TYPE: ^O € SYS.DR ERROR^A € SYS.DR ERROR^A UNKNOWN DEVICE CODE ^O € UNKNOWN ERROR CODE ^O LOAD CT0, STRIKE ANY KEY ILLEGAL DATE ^D/^D/^D DATE (M/D/Y) ? ILLEGAL TIME ^D:^D:^D TIME (H:M:S) ? ILLEGAL CHARACTER ^A CLI.SVRESTART.SVMT0CT0CT0:0MT0:1$PTRMCAR:00MCA1R:00$TTRERROR BLOCK - OUTPUT FILE VACANT YOU LOADED ^T TAPE# ^D I WANT ^T TAPE# ^D..... TRY AGAIN \ K1T'üüQ* ?ª01 Í 1= ? A1 @ó^  Cî  Bë õ A¢)}Í ?ª @ù!Ü ªÀ @ªÀã\87ü*ü1ù­ @!ü ?’¢ L 89(8å øÂôWD!A(W7T*O%ÿÿ OÈH$TTI€€(€M f5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚ (ª ‚ E5M5 )4¦An%11 1f?ÿ1/ - püÒ ))µ )'µ ô ‚ 1"  `ùÒ )µ Ð òÔU1 ­n­Q¬H `¿1 ( fd5d6ÿóW/[pVêFPVû1XFW"WY.Q,1+ ô…A+ 5û!*•  !(• !&• !$• ïQ & 0)¥ è!Ç)Ü¥ ãA!—À!)ÅÍÛÒÀ)¶QU\DKDSDZDP 07Y Õ )ø� ÒÀ–2úgˆÿaˆ)í§bIgIÿ)ç� )jIgIÿ e¿H !@E@X'€==ø 1; B B B15ýC"Óû‚ û@ @ 8)+K1*)*µ'‚  /©€ øBý’"ý«úò¬Jý5!¥S)Î1 32ýÐ ÷1 f?ÿx¢yw¾WŒyƒy ÿýÿõnW=[p3*¨ ìU?9ñ+ª 1;Ð 19 òf?ÿU6š+Jú+Jûƒƒ)ãÎ1- -='5)#+BJ2üBJ2 U -!ª ‚ %)¦)1 )9![ÿ¾ƒý!† CÿÕ"BÓÒKüycWWymöXFU^xTyÿø9!1!+ª ¨ J ²„B !ÆB!ÆB!*ª Bûì¬J 8! �;ƒþKy¨vÚ"^u!&9&C9%„C…E"E")"¨ 9 ¾)K)9í¨#€ †¥Cû«ù1"B@"(BB1 f?ÿw¾w‹yy x½€yx¾Wm[p9a)a…òBôBõBúBöBû¾ZÿS÷üZÿ9TÞ!SÔ‘•R*µ üõ×9K;!…)BbIgÉ«ý…�ªC9×;'ø  ;!;)3bigé«ý…�ªC`H!1bIg‰ÿ)%gÈ«ý9(+!ŽK9¸;'ø `h!bi)«ÿ)gè«ý+! ŽK4!@ d Øðy¹d«d«W¢ FULL(F) OR PARTIAL(P OR )? WITH OVERLAYS ("1") OR WITHOUT ("0" OR ) ? INITIALIZING WHAT DISK? BOOTING TO WHAT DISK? OVERLAY FILE NOT FOUND MASTER DEVICE DRIVER NOT LOADED - SYSGEN ERROR. NO SPARE DCB AVAILABLE - SYSGEN ERROR. INSUFFICIENT MEMORY FOR OPERATING SYSTEM - SYSGEN ERROR. u`ƒtòmªraÿÿm pŸv—vÚÿÿyj2l0kÑÿ5÷…B!õB ôK²!ò*ú� ŽJú î îy|3)ë…:æÓ«ü8‚o3!á*�r=Ö;"C "C *K"C"C ‚\"C)t�S o5l:#+9Æîƒ8CK"û)f§:+®[H:# Bô…)\BJ «K² ª ª583"*2΃3•-• 3µ(3")C‚‹�")@�)>¦5>Æ`¿-<�E8`#=*;ZS)0Κ3 ¶„B3 +1 1 111 11 j2kÑl0Y±Y mö[pYåYÄYÚYÏYxykk"l§l¨w¾@5ñ9ýS #B!úB:+#1| |‚«!z¦(1ãÐ ª 'EtEu…Etª !¨ 4 9ß#+9bîƒB J-Ê ] ¼²S » ¹ª­3"‚ ƒ€ i")R¥e ¹ P!a€ bL`¿…@ d?=Tø `_ 5P P`(5¥:#8C9­Ò@«Ò€#+ 7‚4 9¤#+9'îƒB J8CK-Œ  -.CC'(¨ >ƒƒƒ€ .‚'!C'/ ú3 YùkNn<@ZJZd6d5c‰ÿøÿù[pYˆj1cîX.yybHY#kX41õ ó!ïC#+«ƒ î—É \ú!áC)á4 ã“VGOBJ ÚÛ’!E E B4  ÐÑ’!; ; 8ä3 3Yù\ 1¾S4 BJ ¼½CC!(C­K'O/‚ ª #3‚  ¯  4 â ž—É ­Oáèjönÿ€\ 1   € [pY` WARNING: MASTER DEVICE MAP.DR IS ERRONEOUS. INCOMPATIBLE DISK FORMAT !! NOT ENOUGH SPACE FOR OVERLAYS IN BOOTSYS.OL. MASTER DEVICE NOT A TOP LOADER NOT ENOUGH ROOM IN BAD BLOCK TABLE DISK UNIT NOT READY DISK FORMAT ERROR DISK STATUS ERROR ILLEGAL MASTER DEVICE raw{]¯alÿÿÿÿe²9ü; C1ú9÷+ª J+JUñ#Eñ…d1ç é`¿1åUå8 …CC5 Ð …B `]|ybH\ !*E*!Z)Z¦AaAa`¿1\ W "Ô)#¥1 € 1Ð õP9I +¨ ïû¥ ûûø+M;Y `¿ `\/ZÑ\ÙUt 1\ gRÿ\ 1, (gˆÿaˆ!))-¦PA*  Zã\ -Ik1\ 5Ð Qc1 !‚`AmƒAgˆÿaˆ W y¹[DxþxÇ[p\ë\û] ]ÿò]?ÿ1ü ô\ !ö)ŽPI÷ŠPIL¬!ð %¬P #) !!0ÆA1 Ç• 1 Úf?ÿ]Ueÿ\  )û§ ¦Iød?@ Ó \ 90ÞY9 ÞY9ÞYÿ bl@g€\ !±‚`A `1ù`¿ ü`E¨ o'þÿ\ !6C`¿ 1ù)2ŽI1™).ŽI1“ÒPQìÕ)'ŽI)%ŽIÿ)ŽI`ÒC `¿Ô)ŽI1) ŽI) ŽIÿÎ vtr@q€g@1 Nf?ÿ]/ZŠ \ ©9¶ª ú�²3ÒÒÀ9L÷š�#‚ÂÁÆCú@ã«9£5çôë �è ZÓZjZãZQZãZVZÓZdZŽZ±'ZŽZ±ÿÿj÷l0kÑy\ Jþ­JýJú=ù+Jû+Jü ñ ñ ñ  € €Y ! ÚQò�*ûªÀ�gIÿjI÷ÿ YOU LOADED TAPE# ; I WANT - TRY AGAIN [”[›[Ÿ[¤\Ü·[€·[Š\ ’�"‚ ‚À)§Cô \ CK# ð²# ìª µ ö µ ò \ )¦ÀA1 – 0[Þ[([p\ ­P û уª û )2 ô57Ð Á ð53QÀ! î')&ª’I¸Í )· Ä;)±ª•81¨ Ü1° Ú1¥ Ø!¨ É1¢ Ô1¦ Ò1� Ð!Ÿ Á1› Ì d= `¿ `ZLÿùø\Š)ú º!Œ º)ô)ñ ³ !a‚PA`C)_¦A^…C…PAã!Z­P g1MÒÀ9Nõ c9ßõ á9Jõ ã9Úõ â9Øõ ž9@õ ê8#)>� @9J(%A�zR %;¥ z\ %8�%6�!7ŽI`¿ 50ÐÇ@ d?`!-�0ÎH \ 5…`¿B B ")§B*¨ ` þüûzǹ\ÎZÒoŒ[J[G[P[S[MÿûZ°m€[()þ þ)åK)âK#1è•ÌÍKʲ�S ïŽKÒ  +’�"ŽÓüK1Ò#•  +ª ã+#¥ \ 5) «I;ñÒPS [[\:1 09õf? –\�Z ]e[p LOAD $PTR, STRIKE ANY KEY. LOAD $TTR, STRIKE ANY KEY. LOAD CT0, STRIKE ANY KEY. TYPE ("0") FOR $TTR ("1") FOR $PTR ? FATAL MAGNETIC TAPE ERROR. $PTR DRIVER NOT LOADED - SYSGEN ERROR. FATAL MCA TRANSMITTER ERROR CHECKSUM ERROR IN SYSTEM OVERLAY FILE. '`%+),�A)­PI#9+X +ª[;ø ú)ª  ­Q) I !€ å ã! AÞ,ly ÿÿÿÿv‚v€v~…ArEtÎvÚ^L^>ª þ!ñ‚ Ò)nª q)lª ô3 P !ð8 � Š!J¦1I)T I0 Qä!D)B¶)M B0 :#ÿ@8 C`¿8 )C%E¦Í#‚ ÊEÀ$ ‚�#&@+#5A!?— #'b#(`#"3!Ò�Q43$;%`0-1J: #@!+§ # b#`*:ªCª�Jº%›-›5› Y š"CÓû«ûÿøÿÿu×_x¢3Ð *ª )ï½ p`¿!ê)ê½ ‚ Yç`]»¿ÿ!å§ c!á§ â5Ò ]!ö�KY]¦1%Ý %Y")"¶t}!–g~ÿ`½g~ÿt}g~ÿi¾g~ÿJ1öÆdýg~ÿ`ýg~ÿtý*g~ÿj>)]¾^óª’%%Ô‚ *ªŠù3 Ð & Z#"C SP)OK8+#C0J1rªK²P t8#+39jk#€ 5­ÅC]‰5Ý Ê2Ð Ý û:…`¿B²`Z:]…B]…]¯3 ªPKµªŠá ß#‚ <1ÇÄC!C38S91-^uÿýaÎY €9)+ª[¨  ûú® K® â8 CH €8 x£-ª + H3P 3 P mÌc‰aš^wñYÿ8ø ü3 * H ø 0-…8 @ C „B )"KZ #B- ‚�-JPâ5™*ª  :ø  + ¥ :ú€) ¿¼PZ2*ª î1_Lÿýyy]|`ÍaD_A)U_D­P0J29DÒ�9EK * >‡Ö?„…@0<+J2ÒJL"0Ò ‚Šd‚Jc!'+�À 8#ºÀæ8 ;�X8K3S"_\ 02 -µ …0E ! Ž!1   mö]°ÿcîyaõa­y)_“ ã ÷‡€)02 9"çäÿûB8„C `Õ r 18+ªœ 51 8+ªœ5 Ð  *KÒÔfÛfëyªy©b‚þ V T R P N º#‚J×"8Saéaê B ´ƒ—ú ±ƒ— ®ƒ€ô^‰)9‚83<#‚ ‚P¦’ƒ8 +�Ù ""‚JÓ <+ì)$‚ ê83 "‚ŠÄ8#2:ž+¨ !8KÂ+K4*KÄÒZ“*ªša* ÿ„€@83ÒZ„*!ú� "¬…@ í02 Â)O¶QKÓQJÓQF<+ª «K`¿E’%<�'‚&+ýY9Y954"žíY2Q22ÒJý÷1-<!*�KÒ "ZCª ’"¥B"† B þ KŽM5Ò  Z„C] `5]Sè]öu_a­t`Â8 ; 5m)mÏ r�S p�S(K‚�F5S)QÍ ooPBš…B #B8 Z #B4")^º�½ *1ZÇÀ1mÅ <0 2 9i÷ïÍJ8 3Ú¶*®Pª�ª€î8KKS)6¥812–*32Ð 2ýX 8KKÂBÒ�²S1!#8 `¿+ª …C ­�‚ ª�Ka|b¼]|<9ÿ½1ú¶*¨  ÕPÙx¢y vÚbV3aõ1þ1ý…@ (?ÿaD 6€ 4€ 8 ’…B # ‚ š# ‚ ýS ÒS Ð"ÿP " š%È)Æ�Ç# B â* H `—38S 8 ú k;õ8 …ú C c38ø S x£x¶ê þ€‚ Y9 ø€‚`¿10Ð  :`Y+-º*8(`‚  ä€ ù †º\  âSõ „¬�`¿ ÷X`¿9 Z`Q ø „� 8rqlím YÿI=Pú „)¶)”§Q2Ð :¿œù91*KZçÿû94Ò 8#‚Z="¬�§B02 "ª�§B08 ú „C ¹8 …C3*® J…E @ 1" ‚ 2" ‚  "_`¿9°ZQ®°8 èw‹a^&8ú ß# 4Ò ÔBÁJ;+$ª]«©¨Tª€K$»]|’’ 2ÒJ1e2 Ð *¥ û S8#†€C"* ¤ 6ê# T8 ú å°1,‚ î8;+$ª ªJ2 $å*% ‚ %½‚  0"1‚œó"‚ ð!2  2 "1 �¥ ÷*ª ô…0C$à€wyZ8 P ú C#BÚ^‡ û:„B…@ ¸^ÙY :ú  `¿=U`Z]¯vÚa~߿߿߿߿ßA_×_×ß�_×ß�ßPßQß�߿ߧ߮à,ß¿_Ý_Ý_Ý_Ý_Ëßôßáß÷ßúßúßú߿߿ÿÿÿÿà_Ý_Ýÿÿ_Ëÿÿÿÿÿÿÿÿ�’‚‘€ƒh_A˜�Œ��Ô™„ág g ™ ��†È‡˜€„†™€„„ƒ"ƒ;„ˆ„ß�>�ˆŒ…ÿÿÿÿ�–€–�„‚„€ƒ€ç��ÿÿÿÿÿÿÿÿƒgƒeƒfƒuƒi�;�‘'’q‹,‹x‹y€é�‡�€€ê‚iŽ a›ÿÿŽSŽdŽeƒjƒk‘‘�7�5a›ƒƒ€è„à�‘�Ž�‡ƒZÿÿÿÿ’�Ž �?‚ÿÿÿÿŽ›––Öƒÿÿÿÿƒbÿÿÿÿšq‰&�Qÿÿ��cc5€cccJce€c5c5czc•€cece\ #öf\ 'òò\ #öÕS +òKþ)(Kò0 A" :ÿÿÒ i2 K+þ;ñ+òÍý!9¥ú1 ÅÀŽKþ!Cò0 2;ñ+òÍQ!)¥NðwüdedR\ 'òò+ò4 Æ@Í@ª�1h ÅÀŽKþ)ïKò#ó+ô3õ‚‚ !å)§†À‚@‚Px£€ÿ\ #öÕP \ 'òÕPk\ 'òòÕS AÊ âÿÿ0 Ò  2 ò+òÍ@ª�15 ÅÀŽ!½+ò!»KþCò­0 J H 8+ !¯1¯—Å`‚ÀK S) 1ŽÓSK1–S 2)¨ ÒK ³ÿÿB#–P#ó+ô3õ ;ñXÿwülím ÿÿÒ�%SƒBôEPõ@ ”ÿÿ`¿„)ïñ î3 Ò1”—ÅÀà ­ ; X…0 B 0 @ Ò 2 Ž#þª ìCò  ­Pí…‘…3 ­PJ5'*K*K1#ö ; K²þ Zö Š!¾‚ !¸ ¹ªJ  + H  õ  € €l0ykÑj2y\ 'òò‚S)—�À!˜1–¦ÓS1‘¶*ª[ CS ¾en e+fce,�ÉŽP d·ÿÿÿÿf°eÿÿoªe+fopY ÊL@ eÿÿä«‚ …‘…P*9,ï =*ú )9)1)9(ï #9&1&+ª *2ªJC:)¿ )¾ú@ú�ZÕPU„á!)¥ƒ…1B yvyw‹yw¾^ Qþ:;ø ;úŠ2a a)a§*ª›­J«�  )X� Aä!U U!á TÕ2 RÒѪSJ MÌ)L9L��%•)I� H)>� F*5Eµ )C� ­)Ay?� ø 9ø )±Oÿÿÿ1yÒKw1¶:ø 2!.\Y®A¬*9­¿-9'� …�‚ B#9� ­PJ‘=+¨ � ûúoªpWoöoönáoöff#efV%C CC C=C+9Bï :2U=9ã%7å I ä5%255)6�  !4 Ü-!25- Ø)$),� )+� 5#…:Cƒ=$C! Ç22")§¤B22")�� JÿÿeZeUejoövoöek\ elÿýoÿÌz "‚K¶!öA!  )�š“ªÀ#§‚À5ã‚ �ÞôfW ÿÿ††M†€†ƒÿÿÿÿÿÿÿÿÿÿ††ÿÿ††M†††Ôÿÿÿÿÿÿÿÿÿÿ††ÿÿoÿÇ fµfÏp@Í*@ f‡ÿÿÿÿÍŠf¼f{_††<ÿÿÿÿÿÿ‡S‡uÿÿ†††ÿÿ€d«€f{€e ‚!‚\ C"9ùŸ a8#B!8Côª ò K…pC ")V¶S)]� *:;Â@ú@‚€8C1I‚JÒ� G3ÒJ‚PC¢ B C3–S1:–S 3ÒZ 7!1–S #)3Bÿ…BJú;#Bû#Büò8")'§ ¦+ ª‹B"ô)$�##�€*Ž# ‚ ª Y"ö¥W¥ #*÷ª Y ÿn;j a` hLa8gç…�C"ø*¦C"ÿ90çƒ8C #�€Ž0"ö¥.3 #Bþ# Bý!*úŽJú#B   # ‚@‚ C 83ÒK 3 !Å•@Ò� # ‚Kò ÿ€l0kÑj÷kalhK¬"ö�#¥ *÷ª  �€¬"�£…C)ëŽÀ8K 8+ ª@ª K ‚ Í"ô) � ³ Ü >'3ÒC…1/‚ G  O 3‚ ª !, !*–S 5ènÿj÷ÿ3 t3 "*ª�† C&+ªK….‚ ª BýJþ "ÿ)¦Bÿíg¤g­â8+ª�Õ P+3 JK +Jâ8 3 +Í 3 =3 :?KK1¿ÎK 3ÒZ ’¬ª *"ö¥Jö)&J÷ Ñ3'ÒK…/‚ ª  Šd3ÒK3BÿO3 š3ÒKG  O 3 �‘ ¿ßgÏhçkj2c�3 ü3 *2ª�Õ�Sg©\ "*‚ ª  + Cô- &Šd BJ:ú B J !²Sô ;õ­K K# + ;;ú@9 ÞK‚ Cÿ "ú) §Búò nÿc�j1j2ÿj÷ÿ÷ò)øŽKº+" € " J :#‚K 8;" +ÿ J " J :#‚K 8;"+ÿ J nV­ü\ "‚ S" ‚ P*¨1 iJ “`"‚ A" ‚ >² PC t3õ sŠdPCK �H²Sô)®¶*# ÖJ;õ;#8‚K*ÿ# ÌJÿ3ô­Jô .3õ*"…­B J #+h“ Kô#  AiJò \ h–²  7iJ3õ"B "B " B"Bh�ÿÿjökv×v×+ $—É# ú iJ \ " ‚ " ‚ "B "B" B" B„B B h� €m#m6kc�\ )w¶*ô!v§ "*ö� :ÿ) ¿À*øŽûâ8s lÿ÷!a� y:+8ÒPª@Ò€S*!SÒJ’‘’ P3ÒJ‚`C¢ h 3–C S ÇiÉ ÆiÉ3"ÿ*3ÒK…ª D‚ B2ÒJ iÉí3 µŠd%3J;úJBÿ8ÿÿmF3 (3K )²Bý# Bþ!Kó ò"ú)´�Jú;õ#‚J  3  �iÉ 3 I ŠiÉ nÿn;jökj÷a8j1j23 ú3CK "C"C1ðö ó Cóò "\ *¥¨ ª S2* ‚ �*K+39ªKº ƒ ² õ:+8K„ñKóò c’kÒaÒPÒ�\ …@C G …CC1<2ÿÒJ?#‚;õ#*þ� #*ý�  #*ü� #8*û� M8*õªå"ú)"� á)� Þ)� *ôª‚Š W‚ŠÔ#‚%T¥+¥ÌSCÉ€y¹ka8n^x£3Ò 3"ú‚‹ :³#õ+ªSôªN K ð 5 .Só 0 ò  á3õ")á ßB Ü Ù "ú)Ó� !)1õ§ "ö‚J#õBö%Bôß Ê­P„`¿ l0y j:ykÑlív× ú\ +ô`¿"ú§ Ê! ó÷` \ :öúJ[šZö#Bü#Bý#Bþ#Bû!•Búõ×%ÕBô …BöBûBúö‚‚ \:úú€ú`Zú‚ \õ:úúK !$ "`¿"ú‚@‚�Bú`=ú  …P =ú  …P  8\ýZôà\ýZýZþZúZôÙy m ÿÿ‚ \8CKS" BB*J J„B…0B B B‚ BBB BB")§BmÌÀ‚!‚\8CKSº+J+J+ J ×\ :û;úJ¨ "A2­JûÚ#BÓûû ú83õ:+…BýJþ &.ù\   ò8; ;úPž+JJ+ÿJ J’  j1k‚!‚\ 16…0C‚€C2ÿ8ÒJ&#‚K#ô*û� ö"õ‚ "ú)#� ‚Š #‚ êõ  Ù"ú‚Šô:öúJÞ"õ‚ ÛBûBôØ#‚ #‚ ò y¹l0û!û\ !9‚„C`¿"ú)õ�  `)1�  )ò !'CÊ &î`¿"ú)â� éÂ2û2 * ’� ï+#ª“ì…BúBýBþò *÷2û2 J ¨ ` Aa8m`lí ûY1º2ÿÒJ"õ‚ û"ú)³� ÷‚‹õ 9 û+¨ ªZûH wñ\ :û#+« 83Ò@Õ0Ò@8S1V΃CK3õ"ú)L� )J§  *þ"ý:ùøîƒ"‚�C"C#‚ :+'Œ.û *þ"ý83Å•#3´ 8„3õB÷!žBù"ú)§)¦BúÂ2û`¿2 : ø 3÷Ð ÚüC÷B `  €ÿõ €+'¥�òøÏ+'Œê+÷ptptpžÿÿ\ …C"ú);§ 8€)8§ …Q"C"ý*þCóKô2û2!.ÆÐ € $’ÓÓ"‚J÷+ó¤*;ôíƒ8‚ ò#¥ï¢…PCª  3õ2û2"*3΃CóKô#3õBó  û\8S0 J B`Z B …E @  (8 K C …E@ _]‰]|\8CKS‚@‚�5*ªƒ: �lªPJ2Ð ômÌ^]¯‚!‚\ ‚ 3ò2ò`¿` Ê„ »ø÷‚!‚\ ‚ 3ò2ò`¿„B Ç` ‚!‚\ ‚ 3ò2ò`¿`ò `  )2XT2û:îN)2ø)1ö)-ô))ò)(ð)î)ì)ê)è)æ)ä)â)à)Þ)Ü)Ú)Øb€bÀdÀd@b@fdfÀba€ecae€f@`@`€c€�Õ�€€c€€€€d€€ �Ô�Ö�Ó�×X8; úJ XCóKôSõ8#ó+ô3õ;ñXò €\8CKS‚ŠªŠÒ‹AIŠÑ ) ) Óù8#+3‚�ª�Ò�'Xº�)#‚ ‚À§ê@8ÿX8QA1ûǺ’ÒÀ+Ï‚À¦Cê@81!\8CKSšÁϲ+JÓûƒûÇ\8CKS�À­JÓƒýº\8CKSšÁ²A²"+� Óûù§8¤‚!‚X8KS02 ,µ ª0ª +3…XÅ 9 ªP‚@ŠŪ@ûûúú 8ÿð…0X9ýªƒ‚�Æ�ûüª°\ºŸPŽí8‚‚ X¸çä8oÿ¶nÂnÕp†Üþ@ nqÿÿÿó€ne† †<ÿÿÿÿÿÿ‡S‡uÿÿ† † † ÿÿ­­PJZP*ªŠ 9wï 2* : í:½ "* J J :  1,Çú’ÒÀ+Ï‚ÀŽK0*ª‹ *"‚ "2B c b8*9\¿  : Z *9FîJ* : ½ ×*ª@ª JìÿZ")7� -" * �  )ôš“ªÀ#§‚À*97¿ ª‹Õ: * ½*¾* ½Ì*ª‹ÉD* '$Ä* J J *J*ª@ª Jð" *Ž" � Ñ* ¥  ")û¨§B" B Â" B B ï„!„Yº"C#‚€‚PC:ø? #€ šüKºCJø Yÿº#‚‚û)§`C­Kê9 Þâ;ø  ½ û+šKéÿýpWpS@ €9QZ ù:ø +ªœ+¨ :+ª .+º�+9A‚ úÀï‚ÀŽ:#š�K:+ªCª�K" -š#)œ� )&� ¦: * ½BZJ ú)Ä� :+ª€ª`Kâ®J š;ZZ:ÓZ¿Z:ívm ÿ T9ûZ:ø #‚ ")F� #)îš“ªÀ#§‚À ?"ƒÿ I& 7å+!Þ� !,� Âò )’:ª€ª`K"®J Í! Ë:;ZÌ€�K" B * �JÂ:#‚C‚�Câ ´! ²w{wzk)))) ) ))))) X:î8N`@`€g@a€a@aÀb@df@epŸp­p»pÉp×påpóqqqq+q9qGqUqcqqðŸq€qŽqœqªq¸qÆqÔqâqðqþr rr(r6rDrRñ€raw¾rqr�r‘r¡r±rÁrÑ€�tlrÞ€t!s­ÿÿrÑ4DP0DP0ss1s€rísríÿÿrÞí”t!s­@@rÑiXh‡hç… ˜DP1DP1sFsusU€s1sUs1ÿÿrÞí”t!s­@@rÑiXh‡hç… ˜DP2DP2sŠs¹s™€sus™suÿÿrÞí”t!s­@@rÑiXh‡hç… ˜\ ’"ú)d§ ¦Bú"ü‚�C­pªPKª"ú)W�  …� T T83ó‚K;õC8 M2û2 S JC3õ"C 2 EK+ ªP+ŽªPK•+ <#�K3ó"ú)7§ )5§  #)(�¢*ó�¢B*�J…P�)%§+®P®P¦À+¦+ªÀª�ª�¦ÀBø+)# ‚ZªP#¸�ç®P¦Bó mjm|lªnª ú íJýZþ*ú!0�JúÂ2ûÙ*ª â"þ*¦ýBþ"ÿªÀ¦Bÿì)¨  )� *ùª�A )� ½ù�"ú) ”‚¤vm~ÿöm y pSÿïm`9ø !@f?`¿1k? €]U161Ð 1 5ak €ÿÿyueudDÿÿ1K9Ý ò9ÞY9ÞY9 ûü €u©`€g€ø0xFYGQEÕ0Q?g¿C;s?9*õ ?Q&9Ùõ È9$Þ3ÿÐ Ó932ú 8]9Æ8; úJ®XCK!!C! C C ‚@C C — x¾v`( K 9"€�ŒH lve`L—AøIø‚€Aù!E€ `_9îú  9@3Ò *ªPª�Já2ÒJõSò -Ú ­0KK K;ø ã1#‚*:«ø ½ ýZÓÓõJª 4!Á‚@!»)»1»9»`- ª „PAÿÿw‹v v~_-ª ÷#!Aô%­‚ ( 5µ %‚‚`‚`E €  ‚P‚ÀE ^&y ^ ^%þ‚•ª ‚ MùEù9,ú 1Ó"‚ *JQ!„-êª Á( …�µ 1ª 2Ð ë9ø )ܪ ¨-Ö=î¤ -ª@‚@E9%Y :! ŸZ9 ZYÅÿÿugufuau]?ÿ`¿8!B÷#ñ@+ l?H 5<)±Î -5í-ª¶ )­0I© , ªœ?0 2 B#B#B+J#B#BÒJ!-!!!�  b�B `�B "B &B8 +ªUª K# @#Š�H#+3;`^]{x¢`¿ª ¶-*ª 1(-(í1' œ­0 B&-ð!ð� b�B'`�B()¶¹ ÿÿv‰`¿8#ú�("b�� #‹yw‹w–w¾€!`¿A7…ƒÿe¿I3Q3Y3#A2 -+*  ü f?!ƒ ýÿÿÿû Y!þ ‚À gIÿbIYÕ‘Í! ƒÍ[ü õÒ�Ò�Ò”ø! ï/ vÏ\8wñÿÿ^ura€€ÿÿ€w‹ÿ^Áÿÿ‹w¾€w¾]³ÿÿÿÿÿÿÿÿ]³ÖÿÿÿÿpŸq€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€BREAK.SVFBREAK.SVÿÿtãÿÿw‹w¾wñx½yyy y¹y ÿÿÿÿBOOTSYSSVSYSDRð FG INT MAPDRðÜ FG TERM ðððöðüñ$TTI$TTO$TTI1$TTO1COPYRIGHT(C)DGC,1972,1973,1974,1975,1977ALL RIGHTS RESERVEDY9ø  A I Q 5 !)181Ð 3ûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿd«f{ÿÿÿÿÿÿÿÿÿÿneÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrÑÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿeÿÿÿÿv†]zÿÿÿÿÿÿÿÿÿÿríÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿcÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvÚÿÿÿÿÿÿÿÿnÅfÛÿÿÿÿÿÿÿÿÿÿfëÿÿÿÿÿÿÿÿÿÿwwDÿÿÿÿfûÿÿÿÿÿÿÿÿÿÿÿÿw{ÿÿÿÿBEDITSV   )TT - XþG l, v ;ÿÿ vÿÿÿÿÿÿ%ÿÿÿÿ²ÿÿCOPYRIGHT (C) DGC,1972,1973,1974 ALL RIGHTS RESERVEDEDIT REV 01.00 \8) ¥)�)¥az h  ü8 3S9ùÞX0 )‚  ø  ê1q¥ ç  ä9lå á8©¨KìKëë…CšCÊCïGìC±C§CêCèC»CîCðCÕCC„Cå­!G4 Ò !E  ÂãPC÷CôCé)BKóÓÂPCÆÃP  ´):  ° …¦Cõ  ¨!4 " ¤)-Õ ? ŸSÜ " ›Ó)$ ? –ÓSÛÓSÚÓQ!"0 B 3õÑ2Ð! *3õõ *O°±FCOM.CMUY Êë (€…Cðò#õ+Æ¥)t¥ 1#õ‚PC™ ‘ k#é)e¦€‚PCõCÆ!] +!=Gë!ç0 B „C› 5)Y� E)X¥ 13õ *õ3õ+ëªPµ +›1I• µ ì  F!Å0 B D0Zÿ"õ›�"Æ‚�2ëåùøÑÐ+Jø8ÒPSõÿ!Gë (n#ÆCõ) Õ ‘)¥ õ+Æ3õͱÑÐ ))¥ ºõõ ¥#ÆÅ¤#› +3õÑÐ )¬*+  k#õC™…C¤CãC¥ Z)c� ¥ U)ì� )^� )\1X¥KÅK¥+¤²PÒP;¥ú9ÝåK!ÊQÎPŽ8K¤ :ëãý+¤ã©K¤‚ &)Ë�  ,)Ç� õÇ 5)K££/£ª (–3™ (#ð‚ …Cð‘£7£� ì î¬ë#ð‚õí#òð#óCõ¡ò8Sä3õ )õ1•ûä": -0I^@ >ÿà~~ÿÿA VB…CyD]E)F (G8H0IœJxKTLMêN÷PªQöRSòT°U5WEX=Y RZ‹:+=7.> •# !- - -ò8ò8  â "Cù3õ )õ ž1 *¥ ÓÓª ú "ùKYŠEHDµRÁN‚S›C˜Zö?`H®#±‚  (”1$ö` (#ê‚  (b3¦ (#è‚  ("1ö` (ùË (ó (ôù¬ Xÿ§ÿ±­Kà+êª  (ùÎ+èª  (Üù!ðæ` G+ઠæ /Æ=3Û­ ? xª  …C± ($ù#ùCýRCæ))§ ¦ p!næ`)kî` ()" k  ¤‚+ઠ…C¤ ùù÷ó8Sýÿ) Í î ($…�Cà[  R€à.SC0*õò8SþC£K¢):Kã)9KäKáCâ3¢¢ ))/‚ ¥ ))� ))¥ ä¬Käï3£ *£ãêø)Kä+᪠­Káó¢3¢‚ Sõ…3£ *#âþ) Käç ($Ò9.ÿý:ÿìÿõÿ±ÿ§�•ò8SþCäCáªPKã3ä ))í‚ ¥ äù!èCâ3ã )3ä *äãâù…3ä *#áþ‘…Cà+èª û+êª  F+ߪ ? @3Ú Î…Cè3Û ÊCê#±‚ %!Âæ`­3Û )? µ#æ ¼3Û »!·æ`+ઠª] « ' )­î`!¬æ`  ù…C±C§C»CêCè (41�ö` (ò!—æ` õåFâ)ª…PCà¿„­!æ`)îaä ÿ) Š!æ`  ÚÊ)ÿ±ÿ»³.BU %#õCä u3õ… *#ä 3 #õCä i…3õ *õ +õKã a3õ… *#ä+ã  3õ! *ù»ò8Sý#õ+¦ 1#õ)-î` ,ý+¦)&î`Kà (P3à (£9ã#õCä 53õ… *5øÓ#ä ? ñ ? î)ð�¥ ? è ? åÇÿ§ó8SþC£K¢!YCá3££ )1ÙÅ …Câ3¢¢ )1ÒÅ …+â� þ‚ áíþþò8Sþõ3õ ))¿¥ ûþâ8Cý3õ )õ /Cà)+� ;))� 2+±ª  (ž>)¥ !)� 8#è‚3Ú ?#ê‚  3Û#±‚ #æ 03Û 4…CêC±C§C»Cè OCRWIÿõ+èª -3Ú "­Kè(+èª% (Ü +êª3Û …C»Cê!æ`ý "ý 9\ ?û4\ ?õ4ÿ»âÿ§!ÿæ` ü+ઃ#Cá 3Ú)7 )?. ?ÞKç)4§  á (dÒ„®)'Í  (')"Í Ë ($!CáC¦3Û) )? ?¾)§   (F³„Cê¯) Í ä (8  €3á ( â8Cþ+¤#ô¦+÷¥ +é¤Cô’ )þþKô…ü\Ò�"))‚‚À§8ò8Sü3¤ÑÒK­PÑÓ¬SÅK¤3ô )+¤ªK Ð u‚ ) �úÅø­PK¤ Å jüü ÿò8Sü3é   üü k Ë ò8Sü+é3÷Íóò8Sü3ô ô«ìò8Sü3õ ))*¥ %#š‚ +ì#÷ƒ�Œ`1…̓ý+¤ª �Kš+šª 1 ( 1ûüü…Cšò (ÔüõíP?öê Ëâ8Cû#÷Cô#¤�€C¤ † ûûã8D#÷CôãD8#éúDâ8Cý#ë‚P+™¥)X¤L (¦#邊ƒCÆ )M¥C (Ê#ÆC£!C¢ )¥ ÷) ¥ )l¢¥  3£ *£ò  Õ k…3£ *#Æ à)(5& ?Û ?1Ç (dÒ#™5 ?¦3ëÓPÅø5 ? 3ÆÒ�…Býƒ ³ù 9ã1„…ò8SþCû#ôCä#õCã3ã )) � CÇ3ä )ä‚)3ǵ •ôëãíþ#ãCõ#äCôþ#÷Côûþ (ªþâ8Cø'øSä‚ Cä‚ —…øCã3ä )‚ø +3ä )ä+ã1ê• µ óø8Sâ äþ+â„C¥  Ë Ûpü\Ò�:) ‚úÀ¿žÁžZ8ÿã8Cû#ôCã  ê ã8Cû#ôCã  á#ã3ôĊ²SôSéCä3ä )ä3é *‚éøûêâ8Cú#õCÑ vú#õ+Ñ�K¤  ¿…C¤õ  ºõ3õ ))�õúú]ò8#¤‚õò8Sþ#é‚�ƒC£+õ3ïÒ +ñ3ðÒ+ò1éÍ K¢¢+¢�9ªP3é¶Sé3ôKÏÎKäÊ��£'£¢G¢«û)Ñ#¤1/Ç� 3ô *ô3õ )õ)Ã� 3ô *ôÏöÇõ#ôCã3ä )ä3ã *‚ãø#ãCéþþ (.#ï+ð3õ‚ ª øS™öòó…Q…ê8CÐKú#¤‚ú#÷+é� …C¤ ðúú#Ђ úõ úòâ8Cû#¤‚Jû‚…PCÈ…�C¤ û…C¤ ûÈ÷ûû R©â8Cú#é+÷�…C¤ õ„�C¤ Üü#ß‚úúâ8Cþ#ð‚@3¤ÒZþÒÕPSí3õ ))P�)L� /+îª/)E¥ 5#õCò#óCõðþþKîõ#õ+ë3ì«K£S¢Cóµe –Só‚��Kä£'£¢G¢äû#óî‘ Ð…SëëGëëõþ (º#ìCëë…CîCðþ3óS£õ )£ +3£+ìÃ�ƒŒøþþ?DM\8#é+õ3ðÒ+ò1Í¥ŸÕÔâ "ÕPâ8CýÓ  …CÊ3õ ) C)A¥ õÊÕ#è‚Ò (ô0#¤ŠPªJ,+ô‚]+÷KäCÉÒ53ä )‚ #ä3Ú ?#ŽKää3ä )ä‚)� Éì3Ú .?#Ê‚ #š‚ …C¤ 4ý "ý WIŽKä!Å O (‚Î3ä )‚ì +3ä )ä)ì� Éõãâ8Cý#÷Cä­KãSâ#ä3â+ã•ý3ä )ä1וãõò8#¤‚JSþ+誊UªP¦P3ç)Ï  )�¢CË… Ëýþþ »! 3Ú ? ø (ôþž è9ò8#÷ò8#éSü+šª K¤­KÊ+êª8CéCô…Cß 2 (Nßü3é §KÎ#é3Û ?)ŽKéé3é )‚õ3šÒ )IŒ éΤ è (Nß #ô+éÊ�#ß‚ü…3é *üœ (üŽKéé!$Å é!!Å ç!"ßÅ  (‚!3é *éÖ!3é *éß (š+Ϋ  Ê!Å ’ (�Ï k \ÔÕâ8CýSá14#¥‚ 19S£…Câ£7£Ò !0̓ýÎ1*Å âKã +ãï3âÒ ú!ø3âÒ ý+᪠õ! ýê8Kþ+᪠ +þ3õ *õþ 'èd 0 @+  ·ùâ8ƒCù3õ )õ1 *¥ ÓÓª úùù (_ 5+ 8- ;O P! >? #¤C ù ù ù#¤+ ¥ ù õ3õ ))¥ ù)m¥ óõù!-#õCñ!æ`Cõ+  3õ!^ *!æ`Cõ„Cï…C¤ ù¬…Cï#ñCõù Êÿœœ!1ò8SÿCÒ)I§)D�!?)'� &):� () K¡¡7¡SÍ¡/¡KÌ¡/¡¡7¡ª÷«  ¥K•Jö#Íö *#Ò+̦ö %+Ò!¤ ÖÿÛ !­Köô+åª !ø#ö) ¥ÿCö! öýÿ $  \­¬\šÔößýý�úÂæ8CÓ! æP3ÜÓª 3Ú­P ? ~ÿÓ9ò8Sþ­P3Ü!2æP ? ö#Ô)Ù1Ô§• ô1í•� !ÍCÔ1"• � +#Ô3ÕÒ)1¥• 1¾Æ)3åÐ� þSå×!¶ ·Ô% +Õ¨! KÕ +ÍÿÔ@Z<ç  f?f?TEXT BUFFER FULL DURING INSERT TEXT BUFFER FULL WHILE READING COMMAND BUFFER FULL;EXECUTING COMMAND ??PARITY,LINE # STR NOT FOUND MACRO UNDEFINED OR ERROR IN MACROOUTPUT FILE IN USE NO OUTPUT FILENO INPUT FILEFILE NAME IN USE-ILLEGAL FILE NAME-NO SUCH FILE-FILE CAN'T BE USED FOR INPUTFILE CAN'T BE USED FOR OUTPUTLINE TOO LONGDISK FILE READ ERRORSAVE COMMAND BUFFER?(1-YES, 0-NO) ENTER FILENAME ILLEGAL ARGUMENT IN COMMAND LINE SYSTEM ERROR # : INPUT IN USE!-OUTPUT IN FILE -RENAMING ERROR,OUTPUT IN -FILE IS IN USE!-INPUT FILE- UNKNOWN ERROR EXECUTION ABORTED EDITING FILE OPENED BY UY OR UN - USE UE,US OR UC TO CLOSE! ILLEGAL WINDOW WIDTH PAGE MODE LINES WIDE WINDOW MODE  K !ú )8#›)/¥ õ+Æ3õÍïÑÐ )!%¥ èõõõ3õ#ÆÅá#› +ö¢©¨‚¢Cö3õÑÐ )ÒYÿ83ÜÓ)ú ? w÷ ò8SÿCÒ)û§ !¿ ë#Òÿò8)ï� )W� 3ÆSä…PCãCö#õ3äÅ$ä ) ë +ã¦Cã­ Köï#ããö#öê­ KöKãæò8+媅P#ö)*¥ÿ�#› É!()ª3ÜÓ ? %#ã‚!)� ß‚ Cãö3ÜÓ!)’ ? ãü#Òÿ bChDn A9 X5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚SYS2LOL7¸ff Š…C Q«1OÇ 1MÅ  1KÅ 1I#• ð#ó+3õ BdòKôò  =‚!‚…°C18ªP‚@Óý3õ2# 23õJ!‚PB"#ó‚P),;úJ $dò  cûª 3õ*1·ò­²�Ž… !Ų’Ó åm× „cÂa8ÿún<€n+mâ@n‚!‚CKò*ªJ®±®€J0 2!UÇ …CC +ª 3õ*ªK *"!�0)DJ ; B9ŠPC""ŽK *#ªP� #¥¢ ‚  *ªK>*:!íí  :"* íí�¢…0)J 88’# + Â3õ+ŽK+�K*"ŽJ"3 ò#+ô�Kô ium´k !­J"3Jô3 ›*9ï îJ*:!ì íZ:"* žìZ 8’#+ Â3 Äkm´j÷_EòC"‚@‚ B…C…C 3õ"*!¥ #C"*!�  ""* �!3 Jò0B 3 C#Cô ! ô!ôòø „ ium×+ªP""Ž úC"""*#ªPŒ!…B" #)î§)é� )é� + )Û‚ � Ì)Ø� É#)Õ�Ê3õ# ‚ ²3 ¥mâkkC??0 *K²!2 ,#ó )ƒ¬"ü€ /S4"C‚ 1"ÎÕP ƒùC!•  ¢)3Î1 Š#ÕP ƒù!3B3+ Š ò cînmöa* : *a8­Q­�­K4"ª "C0 2)í¦•:0 *K3Ò $#ó ܃¬¢+ªJ' Ö—€ 2š+9+¿ !&9&¿ƒ2ÒZƒ�83BÂ8+1Ä ò 3õÒJ Â1¼ ·’2¢ß °—� Ú ¯ ­möÿ SC 7,ò!3–#Bÿ;#Bü#B#Bû<+!$§T��Bþ!��ª�!!ŽJú…B  ò#*�"ø8C ;KC! •  „¬�`¿ Îðÿlí aD l0kÐal"02 2…8 ; )vï©:úJfƒÓ«ú 8 ,K…D8; +2ª@ª�K2Va8 ÿ8òÒZc*ªšb*9S¿ N8 ;3)O�ÀµE®P¾4*¨ +1GÏ  +1@Í ÏÀ1;Ç� ò<+!4§8SC*!/§À+¤$"9*ç:©ž«þê8KŠ"3 3)"�#‚ÀŽJ*!�J 4B8ò    g ÿÿÿ€3)ûJò   0ò’€4*1ý1ûƒ4*1~1|ƒ1xƒÕ‚!‚S K­pK +ó� 24")sî1r r d‚€0 2S!i g#óÊ3 bƒ­¢S *ü¨  š+8ª M02 2 S 2*’J…BB B # B#B #B #B  %=CC-<1< 7%8‚À¦CË3 # 4‚€9S²")c� C "3 ^7 *ª@*1(ÏÇ�  U +# �mKë M C ’2"3BÕò d–n;v„v‚v€ÄÅ >3óÐ  3# € éC "ý2þSôCó7Ò S²2Ò 1ÓÎú#1 !ø39Þ+ È1´»# ‚€ Cõ  Kô+Kõò# € ‚  ¼ þj1na8?!ÿ0B ð‚!‚0*1 ª�1 ª ÓŠ"1 qxtxvm´- 02„PÒ�„��ŒMcu²")0� ­Q­ -9ç ¶")$�  8ò))§;ó)'ï¸çŽJ  ! 8ò<)û§ ! "C2"‚J…"C @ÒJYý:#ú_¥ áca84%B8; +J4a?^<GPc…‘…02 *2ü�ïŽJ2 y-'1'… '<CK%"C8ò <#+39Ü9¼œªPºPêPªPªPªPíŽ`¿MU`å ¿!v€Cõ#‚ -3)�  +ª &+ª #)ÎKSä ;+3´Þ Û!©*ü¨ !¨’a*.: nmס Ïm×mâ18; )#§C ÿûa+\ ò) 4 ¶Ó*� ª ûò Ù: \ )� )1ŒÙ• )1 ¥Ä)¥Có) 1¥•Ê zaZA90$ 3 }3 {+ô¨  A € €k~n+Ê4 j+ô¨  øí eëCC'/4 ;ôø  :;úJŠ…8BJ OÓC 0*1M–ª T%K-Iª %JC*K *"€ "‚ "©¨¥ŠK * !/�p!6K¹Žûþ8#¥+ ¤FC8+ª ,-!ª )0 " 9ç)™¦ûþ=*�½Lê’9#K 1 # –ÿkNj1k"�òyw–y y%w‹w¾mö±98#ô€ *‚Š*¨ ª `8%ë+8ª ‚  %æ*¤%á+ ¤Â)R1R à Œ# )¦)1×Î1 Ö# 1EÅ-ͦ3 Œcè!;>!?<"E¿*=»ú =¹¼ñ1,:�í:½êM¯1$9$í #3:û;úJªP¶"*úJŠ…8S4 BJ ”•1•+ Î1 ™’ �²–!n; À™j;)O)L)H)G­K J�Õ1F–!C D02 S3õ#ó i—�.S2*3óS"97ç�  9.½ž¾½ � 9Wž;ÿ!U� (ú@ú�Z#8+ô¨§B#;Z"+;å J8H8;;í;+®@ª�ª K  nd–ÿ8;+®@ª�ª K E#_02 "CC0 " 1íÇC7ÒKÖC Ò�Ò�+;ö _ñò cîcÂx¾ÿÿ…PCS²8S3#‚J+22–2Ð S!!ÒKÂ3Ò@Ò�+ôš… ò a83*®@ª�ª�J ! 0B 3*®@ª�ª J c‰ò nyxZk”jö-üª $02 *ªœ0 * µƒ¬S¢ ±‚� S²"1å—  !æ1â â…Q…²BB3 ßò Ü  ¿ ½8a8l§l¨­­PÒ@®€KÒ�Sõ+ô9ïîƒB J zŽF :#+9åîƒ8CK"û)ܧ:+®Z Ô:# Bô*!e�J#8€ 7…)ÊBJ YGC ’"*2΃3•53µ23 ")·‚‹�,)´�))²¦5²Æ`¿-°�#E¬`# ;õ;ZS)¤Îš3 -¶„B3 ~3õ+ªK'#ó‚@ª€‚€+ô — CK!`!0B 3 g3õ �€*! �ŒJ ˜K cîRSmöj1ÿ!T ù‚�êÂ3õº+ Jÿ+Jþ’ C3õ"€ !A å‚�2Â3õ2üº+ Jÿ+Jþ+ JJ+92ïÀJ J’ *3õ2"3õ+ªPª�‚€‚‚K#+;2 Ò@ú@Ò€ ¿…½ ò8; #­�‚Šª�"¦B ! °‚�¡º œjökxZxgMAPDR@ v„v‚v€n;<2ü*þIî*ÿIí:" *‚ÀIé;æAí%îAåAå-í1î ì%é‚À¦Aß4 õ)ÎÎ3õ vŠò4 õ ‚!‚KC …pCÒ@Ò�S9k)h¿PúÀ-j%hîƒ4 B J-d d d C’S+õ#‚ ªK%"+8 3Bº;#B!J¬¦B!DB 8#B # ‚À*ŽJ3"ÆP8 +Õ 2ƒù3®  .Š3!+–S"‚ !*10¶2ÿ!&• óÒKñ3*#¦P0 *Õ ƒù¢+3;ú  áÞ ÇÚò3  cî€@•ÿÿd5d6ykNj1cÂx¾k#ó ð‚� ;ô#º+�  03ô;ó"C"C…CC C …PCê@ª 83õ ÔŠò n+ ÿ Ú Ê‚�;ô#º+¥ +ª …C ò jö"9 � ¨!�J#8TPÑ*#2 k…BB!&9$ï | L‡ x*#2 ]!`¿:Ÿ`Z!� ~)$ ŽP : +õªP 6 ) ŽP 2  /†²n ¬¯ÿý…*#2B ‘2ò!`¿*�`J 2…B B ) `¿"§B* `8ëoŒcÂÿû€þ€cî\ 0"1SÐ ‚œ1NSõ22< õ :‚. î‡*«ùX!ä`¿:ç‚ 8;!ßú�!Þ:‚ ž`Z8`ç ü 0!� !9¿ !Š… ȇ «üò< õ8ò a8þpÿœm×LOAD , STRIKE ANY KEY. d«ÿÿ‚ R‚ OO©K­Kò \ ­­PK8 ;)¿ `¿ `Cóò `¿ `+óªÀ¦Có "*  ælío'\ )`¿:ï½`Z Ô1 ÇCó3õ`¿"¦`B ÿý)ÿ`¿"§`B â4Bò x­PK"#C2)`¿"�`J#óC ¬X+ª'C) §+9\¿  oK m+#ó� êÿï9N¿ )L9L¥�9Iå Y\Ú VÙ S Ö+ 7+ª++9$¿  8+ªÐ¹øï4ý® " =  :  7+#ó�!�´1 Â0B #ó+�Kô „1 ô¤òó81ímâ az \ "#2) 9 Ÿ¸`¿"§æ`B ÿý úú \ /òò� ‚0‚ ò `¿*ª ! \=!Z‚• -Xª ‚…*!S� „* O#ó8 ;)K¿ ä I`#ó GŠ€$!²…�`B")?� =… :BK…B#ó*3ÒPÎ /3 .!. ..`ò  * · &E 3õ –¼ #ó®©ðKC2+  Eú?nây€lía*c�üh‡hçmâjöw{m wzn+m×\ ŒC"#C28+ ö)s§!)q�29o� b 9j•¥*9g½ X@9b½  à…B Z…Bò+#ó�Kô Y AŠÐ™øç4ý®€¢À9À)C� )A�ªœу éã!: ²à &@Ú…)4 «Ù«ýÓ ÚÔ Î!*  ÎÊ  ! ÍÇ:)ï ú™ €© ¼! ¥\ #ö/òò� ò  az„Pa8 ÿð  O’…C0" Oi 0*1Cª�1@Ð  ?‹39=ø 0*ª€3Ð Ò  Ö  !1`¿ 0!. /`:Ê@ûð5JQJ2 Ð ‚* ¥ ‚ 9A*K 9<²2Ð ñ152*ª æ‚ Q/õ9,*K ìÿÿf{cîÿÿXÿÿÿÿal"…C8+# ªJ­0 8+¨ " ªK" €  è’8#  �cè J“ Hö]¯Ya8+ª 5÷*ª“:ø  ; �  9Nõ 9Lõ )HªPJ2*ª ì5á 2*ª š+ ª <9;( µ  :ø ú+ ¥ 0‚‚ : ø èQÇ‚  + � %YÂ1À;ø ÷Ü\+ ¨ ö* ½ +1³J1°1* Z K Ä+J ólýfÛÿÿwØbH2 Sôõò "ƒB¬Jö*2 Ð Sô93¿ tõªJ/‚ $ !$ " j w …C ‹wK 3 3õõ ò3 sò cÂcînÿÿÿn+ÿÿ@ ü Qò2ö UC’ ó#ô+ ì‹vå3ôõ ë  62ö OOÚ2#‚JÐ #õ#+ Ž Ð % !  � õ�8òÐ 03õ2)`¿"�`J  a81ö ’;õÙÿÿÿÿßÿ ®çÑX:ö;!Ÿ 8\  Kóº")š¾CC j2€k"„…CÒ@Ò�:!=Ÿ 0 ô²Rö+õJ 3C)/� (‚Š ,#;õ`¿+Cª@€ ª‘ª `K€ úC 8#)�  » ¹  Òò 3õ`¿*® ¢ Ê ¥ £L#€ ٠› ÿÿÿÿ ) �À! �!Œ ÿa8 0ÿ\  Kóº")¾CC ÿj2lí…P…„C„BB…C"‚ Ü" Ó"1ëÇŲPÒP¶P ËÎ8K3õ…�B!ÑB#!Þ–J: +ªK ÷)Öî8K ÂB ’`¿…P­ Ê v {+©J){� r)y� m¬K‚‹ë2ö)f� ô)h§ *!bŽJ: +!a82 § }+ª  #€ O P3…G L'€ û�#€ #KªK Z� Eú#€  P > P M§  K 7 I§J C� 0ø#€  : ) : '2ö2 *!�!ŽJò#�K 3õ2 ,3õ„GB")!¦B Ûÿÿÿ€ÿÿ@  � Yý8 +8!ø� ÷ 4  @ÿÿÿÿÿÿÿÿk" ü é ü  ù Ia80Z1 ÎÕPÍ ‚ü« a8xTÊÿõ :.TUm´m×mâcîn+jöd6d5ykNÿÿÿÿ!þ€ ä%l€ i$ )ãŽP%ó1áÆ` Î!à ç«!Ù‚P È!Ü4 ÆP1Ø Û$ )ѦP)ä©1Ö Ø�”­ Õ K0 "5Ô Í‚�¢ÅC "þC "ýC º#8Cº#+ ½1½ÇÀCK3Ò 9^)^¿PúÀ-³%³îƒ4 B J-® ® M C’"ú)G§Bú#+BýJþ4 B J-� �#‚  9 C’"€  5SÖ&x¼3# + BJ# BR '1†Ð 3Ò 4  ;C  3B!)§+¦EÜò 32 3  ÿïj1kj÷kš €ŠK2S`¿"1$Ç Æ3B`3 ?†�‚J‚ K1<• ;#ó¥ 83 0†�‚Kü") ¨§B…Cô a8ò3õ2#!Ç +#ó¤�Cô1• 3õ2#!— ) #óŽñ!  «ÃIHcî@ ÿmâK)"�¥ 1 ·ÍÒÀÒPÎ@®P1< öP΂Å«‚Sþ‚ )îP! ²“‚À*�ªÀ¢8+Ôÿ†z 12345679\\\\\8`:#@'="\\\\\0/STUVWXZ\\\\ Y\\,%_>?\\\\\-JKLMNOPR\\\Q\]$*);^\\}~stuvwxz\\\\\\\y\\\\\\\\\\\\\\\&ABCDEFGI\ \H\[.<(+!\\\ {abcdefgi\\\\\\\h\\\\\\\\\\\\\\|jklmnopr\\\\\\\q\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\……PC ¢@‚�CS ªK’%JB B -I1J H%E‚À¦3B Â3 B‚€ { F S B …PC +# 4 B J+ 4 7!’C)-¶*'�B3!(C)!Ó¶"‚ û €#Ê1 3 L ò #€  #Có v„v‚v€n; @S ; =S…B B-3 33B B /…PB l8ò²ªP#ó $ '32 3;"CC" C C…CC83õ#B#B~1|") § !B !t H ^ÁmâykMaDjölíò„¬�`¿ ûüPÞ3 33 1  wy1Y…B!B ]‰m#m6wz)O`¿5ýÒ á­­P`K ôwy%C%C‚å…Eî…CC3*ª "C‚ö áwy…Pàyhçalm :2#*� '#*�R#8‚JQ+ª chK;#8‚ ªP"Ž Z3`¿ W:`Û`3 P0w{y ")FŒÛ8S3Ò E3­#‚  Ã?K*‚ * :‚ : â 1—É4#B;;‚ ¾Þ83:  ª3 ¨# §3š#‚K83Ò ÷…CB8# ‚ õ3"C"CJJÀüh‡cîm×nâkk €!*C))�K…C)"7Ð  ÒW Ò�"§#‚BSñ#E…E 1 ! B…B!B ]‰w{y yŠáx¾xü xŽ' ")[�W ?wy`¿* ="):�J� 38"‚*Cã"C…BB`83:  s oK"* L—É 3…BûBúBõ3"* ‚ ïª í3 \3 Z` wyò pm6m#ÿýoŒm V­Q­K )Ž' ") � ‚@‚¡‚�Bò  <’2ö §ÀC3+õ 7R …B)1Î10# ‹3# )%�­Q¬JªJ Ê!(– !­JJ3õ"ü3Bü#+ ‹… Sõµ:1 1 11 •)*%ÿõkNDRÿ.Š8 ;1DÆ’ƒ�!@‚P­­PIŠ8 ;18Æ’ƒ�02 "  %010Æ`1, .…Î ,ò  )<#8 + $ƒ¬"ü€ ¢ ‚�º# 1Ç1–2ÿÒ^Ð Ö Sõá  G xT yÿõm´mâa8cîkÿx¾0 2<+¦•02 J#B' î2 ì3­­PK8+9 ª�93+ª ó¶<#Ž;!åé¾õæ<#38š¢ê 8ò w‹w¾mö…B!6B 5K²!3*ú� ŽJú / /#")-ý"žÓ«üú 83!#*� ;õ;"C "C *K"C"C ‚"C8ò  83 ‹Qj2l0kÑÿk"¬­K­J J JJ J" *BJ"ô:+8CK t²…Bú!q q q+1p p¢3õ p ’ l)j3 gC Š1c; úJÒ� `3 ÒJ‚`C¢3õ \ C+#‚ ­P V“UC K3;ö8; úJBÿJ83 A4 B J+õ x 8K²!6 63õ#+ª ¦# AyBþ"Ax* 2"ªÀ¦Ay%^AqAq-]1] #%Y‚À¦Ak4 ![Æ+«1V L3…Bú #‚ ># +«ƒ4 BJ3õ B j2njöÿn;ê«kj cîò& 5 KK)ñ# ‚Jª�K# ‚J?3 è3õï'‚ 4 "G ܲ…Bú!Ö Ö Öå3 Ñ3õ*" ò mök”v„v‚v€—€$’")8� *ª ")1� !4"+ -ƒ¬#•  (Š#ó $ƒ¬¢ !‚�º­K! !!! ! 0B  ò 0 .DRcî k”jö²")wªÀ�K)s§À* 0 2B J+õ o!o ì‚� S²"‚ r#ó)a� dÂ0 *K 1{ Z3 Y²" B ")Q§ÀBÂ4 +õ O’…B!B"!gB#…�B"!*�G eI!C’"‚ 3CÓS"‚ *"C)N� !")*ªÀ§+� Â)(1E G)D D’")§À* ?,B J+õ +# ’‚` 53))¶Ñ3 3 ¿ÿmökkMxZ3 üò    µ!0B 3 ï K C „¬�`¿ # + Ê.xgniuaDallín+8+„Pª�„�5,—U*5*—U(`¿!*ªœ!'1%­PJ)ÎI­I!2Ð  *� *9K):½­9K 1 Q 2í ü…al^'u²d«Œ�…9ú)üª C0: CC C C2!óÅ …Q…+2§C2+C%'¥E%+ª …C19 Y*ÿªJ =2ú  =� ½¼! BÿÓ í`  v ÿÿx¾u_ÿw–ÿÀ49ù")� ‚  ž3ÿÒJ)íKÿ8ò ` a8?ÿycè…Q…C­K5A‚ 4"0 * {ƒ¬"ü€ tS º!2Câ q‚�„ iC3 *K"û‚!#C 2"1AÆKC>  0 2*K !�À2! Å!ªœ ªšêëDZDKDPDS0SVyn+F!óÅ$!û !ñÅ$!÷!ëÅ$ 1îÍÍ!íª@1ൠ1Ü´ÄÍÀ 02 "-u‚œª d1jüZ5hÒ  ‚�Z5e ‹32Ò û šqMk a8cî5W-½µ *ªJ®J*ü¨ :+8K Q Cí12ýÐ é5¥ <í*!7-:ª 0B Ü„á’"€ ø)010"ú� ‚‹ + +2ÿÒKõ#)+§)‡¥  "›€ •€02 Q 02  G :3!9C w{y w‹ycÂy ya9y¹l0kÑjöxZcèc‰xTOL!ú ™‚� º#‚  ð3õ �…¼ ò ª 'K K2 2üSÊ`¿"ý‚! ùø„Bý`  S +J…CC²*J B&²„¬�`¿ ì Ta8líaDv×Ó )+3ª L G32":þ�…Bª ‚ @*: ¦ûZB 4>C"*þ¥*ÿª‘).3K J3"­ª…Ò� ÿ# C"ö'&S 3# BJ*�J:+J*83 "‚kj1m jö&)ÿÂ83ª`S328+ ÷¦BÉ#‚"3 ç;3+J": ¦ûZBªÀ8;#Ž ×áCKô# C3*K "*3–"°3 Éò+ô1* *3õ2 2ü: 2΃æ81!�Í€�32ÒR«ƒü3CóKô;õ; ;ü# C­â  ’ýZý Ÿ²’  nL ala9v×0…B0 *2µË!?�1? =Kô‚T«‚ ô!8Có!33õ 5 97ö"* BJ . ’"* *3õ9*ö:;úKŠúK…BJ  8; ’#B#B#B#B#B#B#B# B ò n;g j1kjöc"‚ R" I"9YçŲPÒP¶P AÎ83õ8#‚šÖ ‚�; #2‚€‚`C29G¾!B¥6¥ ª «û® JZ#‚ ,`¿SBBB$BB!„B BB!ŪKÆ9ÄÞ ÆP9¾Þ`)½ÎPJJ)ºÎ`JJBBZZG)�À! �! Œ ‚@Ö < 0ÿ0 @a8ÿÿ:`¿#Åd-"Ê2 -²"$‚K …�Bƒ` /"Ê2 ²:­KÊ1ä"€  ‚Óú8;ú‹† ‚Jø8; #2ÔPÇC2²`8ò ‚ "† B!BlíF!P­!L­PKCš`¿* ¾…C"8Cš# € 6• "C  š#€ -• û"C8…B S;+µ …C#)&¦A8;# €  m83Ð : !C#¬�§C: #§C…PE `8ò a9ÿÿÿÿF`€^a*ÿÕQÕS3õ2 Ò 93õ‚�Bª’«JŽ„B#‚ 8 #¥+"),�'8;Z "#­‚Š+!Ü�À¢¦PŽPªPJ8# B …D8 2S`¿* ¨ ²*¨ ý#õB` 1·1¶C#õB 8ò Y.83" B`­J)*îK+ª 2"3 83: ##‚Z!B#" 83 8#‚ 3õ*©"#‚[¢„3 mXmrml @@ F@@IÀ L@AOÀ R@ UÀ XÀ[@^À a@ dÀ!g@BjÀ)m@CpÀ)s@*vÀ+yÀ/|@.À-BOOTSYS.OL$TTI$TTO$TTR$TTP$PTR$PTP$LPT$CDR$PLT$DPI$DPO$TTI1$TTO1$TTR1$TTP1$PTR1$PTP1$LPT1$CDR1$PLT1#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED m×cî:m´ mâ0BÓf?wü8e¿# 06-7MÿÿÿÿÐò8*¨ � *� )5¶÷16–­Q15–Q12–Qÿ#‚ ³# @#@!Î+ª #‚À†P‚PAC# `ê81 –Q1–QÿÝj@g€qjkjÀnl@g@n@+®P®PK1ô–QÒJû1ï–Q1ì–Q1-· ú+1*Î1ã–Q1Ü–QÒJû+1Ö–Q)1×–Q1Ò–Qü1+Î1Ç–Q1À–QÒJû¶€€C’*ªK)0* K5))Tµ SS*¨ .¥ '2 ‚Ð  *¥ ‚ S2ø* #¥ #÷‚  ;*K 0;`8ò ]¯;*K ô32Ñ#:+ ¥ 8#Ó*ª�!�ŒPJ \32Ð ß*#¥ Û#* ¥ Ölýalÿýu_a*w{3­2 Ò Å Ê2 úª " ºC ì¿" ;C û;­`¿3Ò  Ò@Ò�Å Ê2Ð ù` ÚHת *º#‚J"€  ‚Kš"Cþ ²Z”„C*02" ¥B ú@ú�Z ôš"3–Sì"C€ ê02ð*¨  ªJ "²*ŽJSÛ­KK K Ö"²Ö BõÒJ:;!ç :#ü€ I:#4"*òPÅC 3õB"J!8ò  9 n< ÒJû:+8ò!ù� *"K*!2#ÒP…09ªƒ‚�Æ�ûüª°83΃<CK ÿð:…C")§B! Ê„`¿  "‚ ò w{m líÿa8d þ4)[� H)Y� I ö!8"17ÒÀ•83õ!1C)3"‚À§9,å:¿)'½’PÒPÆPæ)"�#ŠÀªPªPªPªP83õJ:;)½­¦B 8;ž+© S…B 8ò �ÿÿÿÿ0 ¶ ´0)¨ ú)¨ ö) ¦A)§Àò<C &eÿÿÿÿ2Ð ›<#‚ —#‚ ”8;õ3#‚Jõ#+ Ž 'ˆ ' #  ! õ � �;õ„C…C!C";#€  ‚  ¯ � �ª 4a8ÿÿÿÿÿÿÿÿcîÿÿ  Ïn+C‚@‚�9/îƒ:üC K # (.:#+ D:;ú€ú‚) “8CóKô!+ªJ!C  …™ò  v×v×cÂc‰Ž�Ž€ a8cî@n<ÿøj÷knjök”j2kMhçÿü2üS" *9ïîƒú@ýpå8BJ#ó+ô1å â3‚ ©¨!ÞJþ«KK‚�‚�‚�‚�‚PBÿ Ù²­Jú!Ú Ñ)ÖJ)ÈJ;õ+ôJ Ç Ç…C3õ"‚ 22"C"*Õ9ÁíÅÄ1³ °K C…C 3" *BJ3 ­²­Jú!« ¢# + �#+ K…C ” ”è3+õ ” ” ²+!‚Ž…  ˆ ˆò \ ©K ‚�‚�‚�‚�–)‚�K+ó!§€­‘ª�ƒþ"¦Bô ª“ú­�Óõ ­­PK*ü¨ ò#ó:;’J JJZ ­KSõ 1‚� S²")'� +#õ $�m CõK"* )¦CÂ3ó;+þ;ýZJÊ1 3 3õ*ü¨Ì3ó+ª Jò n^cîmökk"S1j#ô*þ� #ó*ý� ;#*ü�  #*û�õ X   è82ÿÒKæ3õ2 2üSÊ`¿"ý‚ !V Nùø„Bý`#ó+ô: 2Íûå1@΃1D >3JC"¦B" ‚ ƒB 4 C+1+ +3¶Š…�©‚�«þ*� €§Bò3 3…Bý ! )"§ ¥B!  y¹kÑ@!ÿ0B èn; línC 8")7§ H+¨§B+ §7B"),§¤B!% (‚� º $3õ …¼ !–! 3õ"úBõ"ûBöò ®J:+8K  íc‰nÿõcÂxZy?ÿÿcîyjöa8y n*8; ú  ø: ö ô8 ò.*ü¨  í6 ë…CC5è8;õ"Ý ‚J"ü+ü� 3"+ª€  "+¥ -е  Ç‚(2ý"üÐ € â83õ+ª 8; *ï îJ8+ª -µµ  ¬' "‚ «�€ ò  ¡'‚ Ú ¨:ÕÓ8; #‚œ¨%“‚Š£ “’€ 8 02 *4#2Æ¥4BC8ò  a8’+: K8;ú@ú�Z8+8; ª\9+! �K8+ôª‹"*BJ w‹,ò4*8K A„á0: …C2"‚�ñ…B,#+94îƒ4 B J5)¬ („02 ")§B0 2 T - †k02 ­�J­MMM L: +„�‚ �K  € ÿy^&ycîxmy3 3 ’8; …C a+k"­ „† cî8ò @ÿÿÿÿÿÿÐ 1øÐ 1;—  1ò‚À‚‚1ð‚P‚À–‚�1-Ò�‚šÓÒ@Ò@†PÙÒ€!à–ÒK!A\ 1Ó 1Ï 1Î  Ð â  š\ Ð  ‚�‚� þjöj÷l0kÑykNj1a8TUx¼ ü 5üÐ 1„Eø)øµS2 Ý32 Ú3¬JJJ*K*K*K ΀ #+4 BJ -× × × ’;Þ#‚ Õ#)Ð� Ñ#‚  Áò ­ ª]­ª%X:3Ò I`¿:ú  :úKþ Zò` a9:ú ;Q~:úKCú M8+ô9818—ÞÅÄ ;ú j32¨·S#dÿÿbÒ`qÿ‚” #C1kÇ@1hÏÀ¦€CCeÿU‚ŒS1`ϪPªÀ1#CÇŽKC3Ò "$‚K C G ` D'` AWÿÿÿ8ÿÿùÿÿÿ :;C1@ß 11:#1óß ì<02 SÕ0ST1%Ò AZU)BBJ!*ªK(:"�û:"�  Z#‚K)�À9ξ+ª î …E `8ò a8ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?þ`¿ õ ôé`ú:#)¿ ã!B í߀ZBJ"" € Ù `¿ ß Þ € ý`ø Ø€ ýB ÔÈ4"0 * Rƒ¬¢ O—� 2S’* K)H"�ÀK4"0 * ?ƒ¬¢ <—� š#‚ 4# )5;¿ÀÊ4 BZ /0 2ýZ! + CC'€ 0 2! ! 3*3;Îû’ZýJþ­Jú8+Jû  éãò3  cîkNiujöl0k"a*#‚ 4"C Š…C 5« 3ƒÚû11• ø)6ªPI4# 3 *Î!) )`¿)(< îP «‚ &bIgIÿù!@!@!ÕP MASTER DEVICE RELEASED m×cî:m´ mâ0BÓf?wü8e¿# ;ÿÿÿÿÖò8*¨ � *� )¶÷+ª“­�1;–Q16–Q1+ªJÒ@+ª�Ϊ�ª€ª€K1"Î1)–Q)1 –Q1–Q)Ïú1–Q1–­Q1–QüxqjjÀkll@nn@g@#‚ ¬# @#@!�+ª SYSSVSYS2MSVFLOADSV Wjj 9'Ý13JU:.džŒõ¤ +­ûÙ6l"1*+(4ÒÊ(D $«66  %COPYRIGHT (C) DGC 1977ALL RIGHTS RESERVED:Uÿ€üBQ·¶ø2222^cgmP`�p°¿?�@ õ 0H: 3LJU�õ}/5ž c{g[ÊÂÐ(Ï$N " Õâ"ãÐ)?åç¼ÿÿçÿÿÿÿ%GÿÿŽÿÿ6ÿÿ8;X0C ,@- < =…@> ? " + A(B… Á + eB DE 9 -(/�   0C FB GB DE"‚R÷$G‚ 4 >,MŒ …@P$N­  +$M@> P‚ …@P O >,M� $N  + O>âá0G"(Q� …B R A$N*« "  S :PÁ…€ :  g• +ö(W�  …B R A$N "ò T :è R X$Y A"(Z� K0R%‚  %‚ 1(R).(\(f(g%ü‚ % U@V!õA8!7 4‚  52Vù 6 5!ìA, U@V!) 4‚  5$Vù 7 5!ß 4 5!Ý 4 5… 5(R­$N " . : O8 g• +! =$N =! =õ 8¨ÎÊ\ (…@]@^A0G"([� $N*«1 "$ g• +0C!è =$N =!â =A-(\� $N1û "#ë$N1õ ""å­H* * +0G"‚ " ‚ !ä‚ "  +" + +  +… : O )0C _B$HB DE"‚S!¨ =$N =!£ =$J‚ $I(]� !º‚ ]ä )ý <à ]ƒ,I¥ ó!¬‚ Ö @0G" ‚  cB …B"(b�  ]‚  !8*ªP‚Cþ ' +  %¬\ ($K(\�  dC _C'‚ û ^ )ü )\ ( (_ 0 ¿ +]@* _(`@`H_ )\ ( *‚ )…@* 2 À )€ FILE ALREADY EXISTS- NOT LOADED. FILE READ ERROR- IMPROPERLY LOADED. 0 ÀHa0G"‚ * "(b�  a(^0d  +^ 2Š ¿ +è*ªP a‚P  +ó\ (… :0C FB GB DE0G"‚ . >,M� O>úùŒH>…@P P‚  OùÂP X$Y A"(Q�  S@P ×(W�  Tù(Z� …  OË .ü…€ : >‚ ) O>þ )\ (C -(/� )# : )‚Z +1–" =  uô,MT OP ERR 1 MT OP ERR 2 MT OP ERR 3 MT OP ERR 4 MT STATUS ERR TAPE TO DISK RESTORE. êð" "åçMT0:0DUMP TAPE.ÿG 6FRGPSUBMTIO\ ~:Z( ¾+J 8�  5‚ �  0:( ¾;(¢¿­ ú(§¦B:  ž#(ƒ§B8¡"ž!8Cý !ü8Sÿ „ùª]! ô2÷Â82ÿB(„ *…ªP‚@ªP‚@J*È̘l ÈÌ ll"l2pÉÍ™m ››¤¼››ôÿôô››¤¼ “B…BB"B* ¦B œ…) Á¹"‚š � ‹” Œ” ¥*� 8ü ÝE"B"B "*�  G” &Fðå\ ~*8 ¾+ ¢� ‰" *�"¥ …F"‚ ‰:* ½+ª *íK…B‰*ªš ” ” ¤*� ¹ Œ” � ‹” £*� ° Œ” � ‹” �©\ ~"‚  …B" Àª[!Z� Jþ *"� ‰* JB —B" Ê ¿•J"*BJJ" ŽJ‰ Œæ Ž ‹ã ž † � ‹Ü ŒÚÛ ˆ”…B‰ " ÀªZ)"B¦B*"JB &*ªSS‚í­ J*Ž©¨JI\ ~ ˜B"B" * JÊ ¿’ !ÿ�  û"…B‚ B –�  ‰ –� !í� ”*Ä…B ‡ �*ªP  Ž  “‘…‘ ž † ˆ”ªi Ũ"B"B*ª  "*� �&F÷‰\ ~*ªP ›!:Ž" › :Z"C"C " …3ÿ2B J " …S3ÿ2B J#C3ÿ —B)" JÊ ¿•" ÀªZ‰!� ‰!W� Jþ  ¨ ¦ Åc\ ~ ™ß\ ~ šB" ­JÊ ¿ …" À! ¦  … 0MOUNT NEXT REEL, STRIKE KEY WHEN READY. TAPE WRITE PROTECTED, INSERT RING AND STRIKE ANY KEY. J\ ~ ˜B"B)¯J" Ê ¿ …" ÀŠ\ ~ ïªZŠ:#*�  æ‰! ¦ †ò0ÆTAPE HAS WRONG REEL NO. \ ~ *"­  …A 0"2 *?ä !• 3ÿò!• ’3ÿ! ‚ æY ") ›! ¦Þ  1š%\ ~2 ¡(€¥ ÓúQ … � \ ~1 €ú\ ~2 ?’3ÿ å"­ ’ í \ ~"‚ ü  �*"BJ œ XXX NOT READY- MAKE IT READY! 9!X" À²S*"Ž"2 &? Â3J‚Z" ¿ …ì’ÊÒZó)Â3Bóÿ€BOVEOVEOFEDSY 8CKS1ÞX3ÿ81þÝ0X#+3\ ëA!)"¦A0«! ‚  ­!)� ÷! ­! ¬‚  ­! ƒ ¬ ­ ª 8 «Cý ×. Q ’�"‚ ‚À)§1ÿQÿÒ�*‚  A ! �! ŽJ1ôÓ‚ÀA!îöÿ\ ¦AI! ÜA! Ù)�   ¦ô 8ü ž!  ›ú­� (ª� \ ‚Cü3ü"ÿC²# ´8‚  º8÷ ±… ´8ü ±\ ®A!1!)!µ U © ž! ‘‚ (ª�  –÷…Q ‘ ±!.A U ï\ ®5Qó3°3°ÔÔ\ ®(µ1 · ´#ý ¬8‚ ±  ²ý÷\ ®7üQ ü’º"CÓûû ±\ ®#ý€ 1`)`Í S ±!´)Ô¥1X)Xµ q@¶‚U‚P@»Â)O¥‚‚‚ ¸ º ­»õÂ(·¦(¹� 3áP»8#ý1`–"0»@» » ¬‚  ­»ú%…@» ½@¼ » ¬‚ (©� ­»¼÷ ¼‚  º ­¼ý8#ý‚ž‚ !g ­(¹ÌüQ ±\ ® ª ­8! ´1Q ±5N5Nÿÿ\ ® ³‚ ±)úª  ­Iö   ²  ²#ý  ²±(¶�  ×#ý‚ž™‚ —ø£5¢5¨5®5´* *P *D *L \ ®!a1a*9fª›ƒ9dYa­  ²!W  ²![)S  ²!X@µ!U8Cý)L�  ¯„ê)� 3ÿ!4)� )J!% ¯ Þ)Jú ¾@µ! °  !• ø  ² ±€–7¾7Ì7Ú) � !) � Á! ¾7$7,7²7¸6–6œ$LPTFCOM.CM$TTO$TTO1MT0:0MT1:0INVALID COMMAND STRING! \ ®/üIü7üü!¥A+ÿ…ªP‚@ýKÿ)¦ ­8!) Œ ±¥AIî0\ ®5#ð…A"#ü*ª  �!¥I*IÓÓò)¥’ Ç8 ! )" ¯! °! °3ÿ  þ SYS ERR RETN- OFFSET: NNNNNN IN XXXXXX8ª8ˆ8¸ û\ Ãüû\ ÃY`¿’ /  J 8ÂS+!ŽK`Å`Ä \ Ã`¿8Â3*ª îK…B îíg?þ¡`¿Y ’ J9úK`"‚ ª ûY9;ø #• û#†P‚C÷‚�‚€‚€CK[ 911#M'ü\ `1aÍ `)a9yú  8Â#§ A‚JQýYo9Vò:ã#§ ûø FQc0ÂÝ "XÂÒ  B%E)E§  b�B `�B "B &B 68Â%7)7§  # b#`#@"#@&#@3Ð  +:!Y�ç� 94S( 50Â8 S úÀú”ýP*ª�I "*`¿\ :2`)²ÕPÿÿááþ€\ Ã*ÓÓ@SK+® Kò8 úÀú”ýP`¿\ 1çIû)§YqQø2Ð :¿œù9ï1ï*KZcYb9Óè;Ý ý¸*KYÿYW8ÂCKS0S4 Ò@SÒ€Lû\ Ã)^�Ä Æo5FÐ X:]BJ 8Â+ª@J)J­J J )ܧ #§B#B¬Q  1"Ê ±Åà—9ý-#K]!Äü\ 0 ¶: þ.  0Â-JU…@ÂA–-¨ Å)‘ª Å)Ú- áá ú@ê J Z) "§B-öJUôÅ\ ÃC Åÿ18ÂSÅ"1ŠÏYß1ã2Ð Û: í û9×1ì11  OSYSLB' qm=* ÷ÿýÿ.GšM4kîÿ$I@™â�M qh‹M D~¡M q¡M ”œM qœM ”ñÿ’D’$’$úD@úZk @úZg @úZc  ‚�‚ñÿ’D’$’$úŽ@úZ]  ‚ ‚¬*J*Q9ï¦B"ñÿ’D’$’$vWN)¥S* ¨ •ºPëJP®¥J*6 ñÿ’D’$’$¡“*UúFB)1 �úAZ>9 Z6)Î J…ñÿ’D’$’$È88 BB Bº/)PîKK "ŽK�«Kñÿ’D’$’$e)Fõ­K"*:1÷ ?"0")ñÿ’D’$’$6GTÀ§: *Jþ JKþJ) Zýûñÿ’D’$")Ç–b¥þ¦ÿÿ?3œÿGñÿ’D’$’(°Ôp…ø1¬8 ¨KSõz ñÿ’D’$’$}«~@úZ:Júî)ê " B JY :új!ñÿ’D’$’$VRŒÆj ú;"J† :€ú#a) ‚À‚§ :ñÿ’D’$’$´[š*K®J®  :;K® :ƒúÀ‚+CÀ!ñÿ’D’$’$)ᨠ‚À‚�#ŽK :*K® J® ñÿ’D’$’$XI¶*Kª Á9û+ ¥ ªû :#Cñÿ’D’$’$ðTÄ :#+Œ+JªA)Y * ª=)ñÿ’D’$’$VÎÒ> 9!Ƭ" 0"K‚* "�J ñÿ’D’$’$Bà " ‚¦" :K‚(!C* "�J#ñÿ’D’$’$Íî+¥#B‚ ÿÿÿ &@‚�‚ñÿ’D’$’$püB8;�úûÿ0"@"*2ñÿ’D’$’$êÞ ÿÿ €¶* ª ²* ªñÿ’D’$’$ŸùJª²úB’*J…*KªB0ñÿ’D’$’$»G&¶Ê2ÂJ*Jª­2J0:ñÿ’D’$’$ÖÉ4 úÖ!Æ¿ ¨- øP# *:W1÷ñÿ’D’$’$òBJþ Kú ? ?X 0 Kúñÿ’D’$’$6jP ? ?M 0 *:¦C±)ñÿ’D’$’$Ua^È ®)° ”!Ƭ” 0Íÿ@úZ2 "ñÿ’D’$’$+Ál €!K†…Bš!Ƭ& 0 :+Bªñÿ’D’$’$¸æz +;½  Z�)¥ Œ)� ˆ!Ƭ ñÿ’D’$’$tdˆ0ƒ!ÆP­ 0"¬J1— ?ñÿ¤D’D’$а–?sÿùÿBJR BP…÷ÿ’D�$8m¤@ ‚0 2B"èÿ$II†Ü ì; }±¡’ ¥a¡’×´A÷_Ú!š›_Ú–ø‰ÁpgSÁ¡“fÿÿ û_€ýÿ&DÂzAýÿ€Qê ƒ þÿ„üÿýÿ€¼¡|¡ƒÿÿ û_€ýÿ«ß] ôúÿHfС| ƒðl FýÿÀ.ýU<ÿñÿ’D’$’$à[91(!•ý"J‚X+ ¥ùþ"+ ¥õñÿ”D%¢D�!PæÿST,T,UQ,ElIK,LKRPñÿE¢D”(Gz,I`US,SQDR,YUUR,NkED,Qâñÿ’D’$’$ ë*ýÿL  9 å)*-1– !( ! ñÿ’D¶%’$B 8!¬ ,17ÿÿÿÿÿñÿ’D’$’,}òFÿÿ - ø !êJ' ó ñÿ’D–$’(´ÒTú# ð ö!ßÿNÿÂ0 Hñÿ’D’$’$X9b c9½]¢( ðäQ­­ IN ¨ñÿ’D²$’$ìÑpRMAu1 Ò !Ãzÿÿ øùm9ñÿ’D’$’$sV~ö: ½úPl!g1* ªf9öƒúñÿ’D’$’$áŒ4!¬1Q8\)©# BûÓ«û&1ñÿ’D’$’$1±š8+J+J+ J!×$¬JP­Jñÿ’D’$’$ca¨Ð 0" ¨9 ¿ç¦ 1B ñÿ’D²$’,•%¶˜1…B!Òÿj<ÿ!Êñÿ’L’$’$ÁƒÄ^ÿÿH KF PªPªP²PÒPÒPÒµSñÿ’D’$’$¹ŸÒ= 3¶S+ ¶¬K4 ª¬K0 ñÿ’D%’$PàKÇ–  ÑYÿÿ ñÿ’D’$’$Õtî ûÿÿøAø!ø9ž÷Yñ9žðYË9ñÿ’D’$’$óü¿áðAÅ9Àïé9ÕSKè1Þƒúñÿ’X’$’$ª7 83ÛQÿY¬ ¨°¬9TSTAñÿ’D’$’$K =P,IR = ONQ EUEUA ERAKOñÿ’D’$’$$Å&IT DON TCAITEVNIUP TREORñÿ’D’$’$³§4RLIOLIGAC LUQUEERPGON TOF üÿ�D—BUODNÓÿ$I$I$IÉ^¨�A½ì ì;ò¥a¡’ñiÁ!�CN¡~A{l!޼+l!Žx¦®¡“Á[Á�IF[Á¡HD[ÁAIz[Á¡IE¿‘P[c]¡™è&ÀÁ?]÷ÿI¤dG±!“B–|Á”G ºAÿÿ û_€ýÿº¿î¿T€ýÿ€Ô> ì I þÿ„üÿýÿ€yudÁ!Iÿÿ û_€ýÿä¾ÄÀT€ýÿ€Ïøì � þÿ„üÿýÿ€t/iÁ!�ÿÿ û_€ýÿaÌg 4“åÿ$I I,G± “OdÁ ICiÁ �¿‘P” ºAäN ~ +l Žè{l Žé&ÀÀ?'ýÿÀ.ýU<ÿñÿ’Dâ$’$™ÿûÿÿ ¨ + 8)ÿ"Y9ñÿ’D’$’$ÿpP¿Pú1Àö 9�¿�ú�ú{1ö y9¿ñÿ’D’$’$bîv1ö 1 0À8 YIAñÿ’D’$’$ÿŠ* )’šÀª#§ÀÒÆC)!ƒÿñÿ’D’$¤$ÀÈ8ÿY�š3ù9 úÀÒ÷ƒ÷ûñÿ’D’$’$ÓÑFH1 ÒL +!ŽKÿ.! "8Žñÿ’D’$)ìþT,I?1() µ*(  (óûDEÿÿñÿ”D’$’$¼$b*ë9 ïa)�J©:YQÍ ·A!ñÿ’D’$¦$p· A³!«ùÿ 1*Ö!�JÿM(ñÿ”D’$’$¾!~,*è ! !¬ Æ ñÿE’d’$cÑŒ®ºÿ0Y5 ÐöQ*ñÿ’D’$'ÕÇšM)J…B B B B =Z U81ûÿ–H µ¨e"ž ûÿD¼¬fÆÀ8 ûÿD¼­fÆÀ8 ÿÿ@(¿×ñÿ’D’$’$ý]×NIUP TREORRIT DON TOFNUDª!ñÿ¢D’$’$h”å ‚® |­P­6I3Y: 79 Ý+­.I29ñÿ’D’$’$Zó Ý'-9 Ý'(9 ú—9%)´܆õñÿ’D’$’$—�)SºRúûîRªøÎI ç9ß„)ñÿ’D’$’$_ ½ï‚)Ï 1RÒêSÒRÒçï¬�€õÿ’D”$@úN9,ø ':ßÿ$I”H@eùžzáº{žzÁºu ì;_Eb¡’¨}±¡’ç¥a¡’^y�”`Óë�AÿfÆÁ8ÿl F‘ÕºA– ÿÿ û_€ýÿ Ðˆ¿Ôoýÿ€7å ìÀ¢ þÿ„üÿýÿ€ÜaÁÁ¢ÿÿ û_€ýÿÌ\¡ÔMýÿ€ØúHëà� þÿ„üÿýÿ€õO(¢á�ÿÿ û_€ýÿÓüU¡Ôaýÿ€XHë`k þÿ„üÿýÿ€ur(¢akÿÿ û_€ýÿ™´O¡ªýÿ€x9Hë@O þÿ„üÿýÿ€•Ž(¢AOÿÿ û_€ýÿΈ¿trôÿ IN"(¢@O†(¢`k€(¢à�{aÁÀ¢ýÿÀ.ýU<ÿñÿ’D'’$¸#‘úûÿÿU *8; ø F9 ½ À¿ñÿ’D’$’$°E �*9 ï.ÿ;9 ï,ÀŠ«Jñÿ’D’Ä’(�£* 9îJ83S1ÿ(€? ¡úñÿ"E¢$’$ a*�úJÒ †7  †4  †$ 9Zñÿ’D'’ı8*î9íJ * 83ÿ0"¡† Bñÿ’D”$œd¸×F* !ŽJ*J)J1ÿÿ 0ñÿ’D’$’$¾*T"û)À§¦ Yö9ÀŸ 02*ìAPþûÿ’D Ÿböî9çÿÿ@˜¿gñÿ’D’$’$pégYê) 0 2: � : ¿ÿ:0½Zúÿ’D ÷uÿ2 Ðóÿÿ@„¿{ñÿ"E"E¤$ì½{û+, Nû|}  ÿû�‚ñÿG’(’$Y+‰ 83@ÒSYÉ *¾9À¿ å »9öÿ’D’$~— ï �ï¶ É ÿÿ@^¿¡üÿEðˆ¡1@åÿ$I H(³žzáºužzÁºqÕº!–% ì;ˆEb¡’¢}±¡’Ž¥a¡’‡Óë�Aÿ‰Áp…ÿÿ û_€ýÿ[é�­iýÿ€Êô–ë “ þÿ„üÿýÿ€·=¦®¡“ÿÿ û_€ýÿrÖ[´“ýÿ€Õð‹é ™ þÿ„üÿýÿ€úˆc]¡™ÿÿ û_€ýÿrÖ¿´:÷ÿI(Šc] ™ë¦® “¦® CdýÿÀ.ýU<ÿñÿ’D’$’$G²ûÿÿ3" ‚R" €$*V9åñÿ’D’$’$Ï1 åR9íG9æBG9¼@*F!À�ñÿ’D’$’$4øCQÿ <1 ! ‚ÿ )ñÿ’X’$%ø*8ÿ4!B3!Bè1ÿ1ú2"ñÿ’D’$’$I:8'Y#9 ø…!A"+¥  ¥"+ñÿ’D’$’$"'F¥Y; øó9 ú+SJm ñÿ’D’(’$nIT9QZû13(ÿÿÿÿÿñÿ’D¢$’$§¿bÿÿÿýAýIýMõ9 ø' Žî)…3µñÿ’D’$%�pC’S; øøê!ê)ã9 øi3Åñÿ’H’(’DÍä~{ •3Í~ÚY75 Ѓ*3M­ Jñÿ’D’$’$¤Œ J#/)§B#B #B#B+PªJñÿ’D’D’$Äïš#Å)À�!Q­1 J»)¢ 1ñÿ’D’$’$ÍG¨* J?)J²9# €#ªA…C ùÿ’D$Æi¶1Ê". ¼ ûÿD ¼¼fÆÀ8ñÿ’D”$’$d�½ÿÿÿý9ú-Kø]‡+–1#Ž´ñÿ’D’$’$ËÍüK3‹Qòì á €ñÿâD)’D SÙ 8 ;�ú!CÅÿÿ ñÿ´D)’$òèçÿ®8ûÞß º*K…BñÿâD’D’$A�õÊ8SâY19 Q2 Ð "Àçõÿ’D) È‹ ¥ù)2UÿÙÿ$I$I€Hõ‹aÁÁ¢ã‰ÁpäÕºA–,¿¡zèÀA½À}­Á{¿Ö�¡’cy�”ž ì;íEb¡’Y}±¡’ù¥a¡’ìfÆÁ8ÿÿÿ û_€ýÿ GHÔpýÿ€3) éÀa þÿ„üÿýÿ€ Ó�JÁaÿÿ û_€ýÿA"gIT”ýÿ€Kìé ž þÿ„üÿýÿ€¸–¥J¡žÿÿ û_€ýÿº.I¯ýÿ€Œ@é`J þÿ„üÿýÿ€ùê¤JaJÿÿ û_€ýÿãE½Ô9÷ÿISŒ¤J`J ¥J ž�JÀañÿ’D’H’H� ÿÿD9 ?9àŠ:9Њ7Yñÿ’D’$¢$Å`91Ú2 Ðÿ"À‚Œù21Ç �Ìñÿ’D’$’$†d'Yÿ%1%9Jú‚äB2 Ð"ñÿ’D’D’$6X*Àç�÷ÿÀçB!BQ2 Ð"ôÿ’D’$$Á¹8À‚�õ9#S -9KEëÿÿ@º¿Eýÿ€D´úEÿ¿‰ ûÿD†¼GfÆÀ8 ûÿD~¼HfÆÀ8 ýÿ€D9ì I þÿ„üÿýÿ€u[Á¡Iÿÿ û_€ýÿbµ†¾Œýÿ€}>ì€I þÿ„üÿýÿ€"u[Á�Iÿÿ û_€ýÿb؆¾iýÿ€]?ì H þÿ„üÿýÿ€v[Á¡Hÿÿ û_€ýÿb¿†¾‚ýÿ€½>ì@I þÿ„üÿýÿ€bu[ÁAIÿÿ û_€ýÿb†¾Añÿ$I,z[Á@IW[Á H@[Á€I9[Á I*–|À”ýÿÀ.ýU<ÿñÿ’D’Ä’$ÏÄÿÿÿ8S…*9 ï 9 ïñÿ’D’$’ÄÞe9ƒ ïƒ91 ïÆ8Cÿ!üñÿ’D’$’$Ë ! 9 ï†2JÒƒôþ N�ñÿ"E’D”$?k*û ‚ÿ9"çäBÿñÿ¤D’$Iv68ÿ¿û+,‚ñ1ÿû:;.ú)óÿE%%ØFJ0" )§B6 -JU7 ûÿDt¼RfÆÀ8 òÿ’D")�D6¿Sÿ1ÿ‰ûABCãG ‚ÿßÿ$I$E@f²žzáºLžzÁº\ ì;YEb¡’?}±¡’Q¥a¡’XfÆÁ8ÿpÀ¡pUd¨A__y�”Z‰anSÿÿ û_€ýÿõXó¦ýÿ€”)lë_ þÿ„üÿýÿ€™xd¨_ÿÿ û_€ýÿ<ᬿ_úÿHø¨d¨@_d¨_ñÿ’D’$’$d;ÿÿò ):¿Àª§žZ ‚ÿ Êúÿ’D c ÿÿÿÿîÿ$I@wžzẠ¿¡zpÀ¡p ì;}±¡’¥a¡’ÿÿ û_€ýÿ«`ý[TCýÿ€Ô÷Œé ’ þÿ„üÿýÿ€ù�d]¡’ÿÿ û_€ýÿkZ=bTCýÿ€¬÷´é ’ þÿ„üÿýÿ€¹‰¤c¡’ÿÿ û_€ýÿ«üý¿TCúÿH·Ñd] ’¤c ’÷ÿ’D�DßÿYÿÿÿôÿ I*Óë�A ì;}±¡’¥a¡’ÿÿ û_€ýÿo)¹FÔ�ýÿ€| 退 þÿ„üÿýÿ€é´”J�€ÿÿ û_€ýÿ¤¬D½–ýÿ@ìô”J€€ýÿÀ.ýU<ÿñÿ’D’$’$f?ûÿÿÿ(ÿ"K‚-) �'ŽJñÿ’X’$+>`8S3S#1ÿ0"!‚‚0ZÿñÿE’$’$;éZ’)J*!�Jÿ -Jñÿ’D”$) *Uÿ 1ÿ*!�J&1-ÿüÿ�DÂ:81Hÿ ûÿD‹¼;fÆÀ8 þÿDĺ<Üÿ$)$IH£QfÆÁ8ÿžzáº2žzÁºÕº!–‰an7pÀ¡p:Óë�Ay�” ì;Eb¡’4}±¡’+¥a¡’ÿÿ û_€ýÿ³Ã5º‚ýÿ€Ùóçë@” þÿ„üÿýÿ€–0'»A”ÿÿ û_€ýÿ‰ÆŸ¿Ôyýÿ@™p'»@”÷ÿ’D�$Ú±ÿÿ+!ŽKÿ@÷ÿI‹W}±¡’ ì;¥a¡’ÿÿ û_€ýÿ¹ÀoÀÔ~ôÿ�„¸,ßë “ +ì@O 2ì@O%ì@Oþÿˆx÷ÿ’D�$ˆª0 "¨§¤ @?dÿÿ û_€ýÿ °(À´�÷ÿI9\hb »Uhb`ºhb@½ýÿÀ.ýU<ÿñÿG’$’$ßUOY0 2/Ö@ ÝJQH)F1 úñÿ’D’$’$‘ÊÓû"C«û=);1<9Óû#Bñÿ’D’$’$Q¥«û41239TÊ Ý,/Q/! ú~gÿñÿ’D’$’$·÷*}|~gÿ½`ž~gÿ}|~gÿ¾iK*~gñÿ’D’$’$a¢8ÿ>jÆ~gÿýd~gÿý`~gÿýt !öÿ’D’$éÂF¿A !)�»IA¹M9ÿÿ@¯¿Pñÿ’D’$’$V PÿÿúY0… :/þøA;\úöAþÿD±µ^ñúÿHnxhb�½Qhb¡¼Pÿÿ û_€ýÿØïP¸ÔWýÿ€Ûë z þÿ„üÿýÿ€ÂJ»!zÿÿ û_€ýÿÚÒ®”t˜ýÿ€I÷êÀq þÿ„üÿýÿ€–x§•Áqÿÿ û_€ýÿR³ö¸´“úÿH\{§•Àq» zôÿ’D)D ºÿÿP…Eÿ…Eÿôÿ I9 ý¸!• ì;}±¡’ ¥a¡’ÿÿ û_€ýÿ“ÙU½iýÿ€eôûë “ þÿ„üÿýÿ€ +SÁ¡“ÿÿ û_€ýÿš N†nýÿ€¥›êÀp þÿ„üÿýÿ€"†‰Ápÿÿ û_€ýÿÚ@N†Ô8ýÿ€›ê`o þÿ„üÿýÿ€‚‡‰aoÿÿ û_€ýÿ4Ì”½4vÓÿ(I$I$Mžë :Y}­À{€Ö� ’eý¸ •�ýU<¿ z‚pÀ p•Õº@–rÕº –nç´ ™P#¿ª‰`n¸‰`o ‰ÀpÜSÁ “¬ëÿÈ„„3íy€” žzàº`žzÀº¿` ì; Eb ’}± ’¥a ’ \þÿ(…×lþÿ(úÖúÿ$…@8 ñÿ’H’$&Hlü \`a1 Í` a)y9 ú 8# §ñÿ’D’$’$>‰AJ‚QýoYV9ò:ã# §û øFñÿF’„’$ÖÊcQ0 Ý"X Ò BE%E) § �bñÿ’D˜$’$]j* B�`B" B& B6 87%7) §  #ñÿ’D’$’$hú8b#`#"@#&@#@3 Ð +:ñÿ’DÂ$’„�~FY!�ç �49S(5 0 8 SÀú”úñÿ’D’$’$¨STPý*�ª I"*¿` \:2`)øÿ’D€$.b²PÕÿÿÿÿþ ûÿDd¼ifÆÀ8 ûÿDW¼jfÆÀ8ñÿÂD’$’$wNk€ \ *Ó@ÓSK+ ®Kò 8Àúñÿ’D’$’$Áy”úPý¿` \ç1ûI)§qYñÿ’D’$’$PE‡øQ2 Ð:¿œùï9ï1*KZcñÿ’D’$Â$‹Ô•bYÓ9è; Ýý¸*KYÿWY8Cñÿ’D’$&é±£KSÿS 4@ÒS€ÒLû \ ^)Ä�ñÿ’P’$’„ÚŽ± oF5 ÐX:B] J8+@ªJ)ñÿ’D’$’$vš¿J­ J JÜ) §#§B#B¬Q ñÿ’D”0˜$–¥Í 1"ʱ ÿÜý9#-K!]ñÿ˜D’$’0 ƒÛü \0¶ :.þ  0-JUñÿF˜0¢$ ›é…@–A- ¨‘) ª)Úr üÿ�D}º÷ÿÿ ûÿDË»úfÆÀ8 ûÿDË»ûfÆÀ8 ûÿDÑ»üfÆÀ8ñÿ’D’$&Óxý@ú ê JZ )"§Bö-JôU \ ñÿF˜„’$v  Cÿ18S"Š1ÏßYóÿ’D’$€$tžã12 ÐÛ : íû×91ì1ëÿ$IDÍ—hb¡»øhbA½gö¿A½ùÀA½ÔÓëaA¥¦®¡CffÆÁ8ÿÿÿ û_€ýÿ½È+¿xýÿ@Ôˆ+¿xþÿ(Ó×þÿ(úÖñÿ’H’$’$èå5*Zª"*:X8œú:2ñÿ’D’$’$/  !H¯‚`:�úY:2`Õ ûÿD«¼fÆÀ8 ñÿ’D’$’$`�ÿY8 ú¿` úø=CKSòÿZñÿ’D’$’$•§+ò9(J+Jû@ûZ* ®J8œúüÿ�Do9ÂH‡‚`úÿ(^+fÆÁ8ÿÓë�A)ÿÿ û_€ýÿÕ#“š”Aôÿ�$µvÓë€A8Óë`A0Óë@A(Óë A ÿÿ û_€ýÿääY4�ýÿ@ùÈäY �ÿÿ€÷ñÿE’$’$cåâ 8Q)# ¥3CSÿ*Hó!ñÿ’D’$’h6 æòE 3"�‚E!B2Ž¿`:¿`ñÿ’D’$’$¤8¿`6¿`4¿`2¿`0¿`.¿`,¿`ñÿ’D’$’$**HAHIHQHY°ýBY 8+`1 µcI­K1ñÿ’D’$’$G´8 Ð"@‚ ‚B`)DI[!AAA9PÔñÿ’D’$’$ÎdF#GûBÖü¾þ+UI6 ý5ÿ ñÿE’$’$l­T öö+1  ô(9^-Y' ­ñÿ’D’$’$A¹b(I& &);9¾+# !) P„Ž« ñÿ’D’$”$¹ópó Y !Æ  þñÿ¢D¤DIúÈ~ /B^é< ‡W—ñÿE"%¢${vŒÿ€` §õøÿñÿE1’$66š rà!‚ú„ñÿ’D’$’$¢’¨ðÛAä! úá%àEJ‚é × Þ%ðAÑ1Òãñÿ’D’$’$Ôk¶×%úP…Ì9öÿBæ%GAÛ1ÑQÝ1/KWñÿ’D’$’$HÄÓûÊúÚ)È1¹9ÅÅŸÒ1öœú*ñÿ’D’$’$ßÒÁ @Ž0!¿9ñ Ç Ÿ怪.I¹1Æ&A»1ñÿ’D’$’$¢4àÂ)PÙŸ»—>]ÅpýºYA°9³1±!ñÿ’D’$’$�î8)ZÓž«ü1 Ð 8š!C"P‚ñÿ’D’$’$wþü�‚B"%@‚!%!-!5!=�œ›šñÿ’H¢$’$ Ž RY =ú   ´ 9*Cªñÿ’D¤($I£uú �² !^¢qrstuõñÿ$E)’$;Ò&øÿ_ÁÐéüÿú=ú1ô!ñÿ’D’$’$QÞ41úö!= Ÿë öá Q*MW P…ñÿ”D”$")€ÅBAéEXá *Kéÿrñÿ’H)’$Ä·Pv úÓ ú= q<ö5Î)úÓ!JÒÈ ñÿ’D’$’$C§^*Ž�ÒÅ ë9I#æ) •/ �àYûøñÿ’D’$’$$ƒlÂÛ9SP…C$Ý! A 1×9Þ+Ò! �ñÿ’D’$’$’kzÖ øÍ91¥)¨!‚ ¶Ÿ Þñÿ’D’$’$X_ˆ3Á! •𠢬ŸAº!Cû«ýñÿ’H’$¢HF–2Y !1‚1 X2Æ…ñÿ’D’$’$‚L¤ú]AY)ð ,…úWAS)2 &…úQAñÿ’D’$’$/$²M)  YI 9�ªÞ ) !’ªÀ‚  ñÿ$E’D’DS—Àºº^_01×Y< þù Ó3)@ªñÿ’D¢$’$ƮΑª0)…ú0Aô X1…ú)A%! ñÿ’D’$’$¡.Üø1ù¿Y!�ÿ§ÀÏ.A ,) µñÿ’D”$$IeCê¸QG¶1)µŠÖ—Çßyxµñÿ’HI¢$JøˆQ…„eÜÛõùÿ‚ ñÿI’$")1+WÜ! Y À‚  IH_ñÿ¤D’$’$�#‹çã=�Õâ-P„ª¬ŽÞ ß1ñÿ’D’$¢$® "ÞÙ]ÛY9×5P… •Õ @Ö@ÒÐ=õíP„ñÿ’D’$’$…´0äAý ýÌ!Î)Ü5ÚÌ1Ø]ªBÆYÌ ñÿ’D’$’D”¬>Å1ËÓ!Ž…ÐAºI¾ þ½!Á Ë!C‚ñÿ’D’$’$ƒÞL„ „´AÁE¯1²Q"¬A€‚ÀAC‚• …½Eñÿ’D’$’$|KZ­E~A~A~A…~A~A…}A}A}A£A}AÇEñÿ’D¢D’$w­h|E|EW e 'kr1Žr%‚¶ Òñÿ’D’$’$l²v?Š1z9íδj)j9©`_1Þf!”ñÿ’D’$’$t£„æ…ÿ;æ«þ�Ê�ªX9ö¾+¦Cñÿ’D%’$ô!’G!G) ŽÕR ~ FAb ?QÍL)‚ñÿ’D’$’$h– K):1¶2H!Q* …1A5A-½ñÿ’D’$’$àF®2!* �ø¦-A¶+!R‚> S‚R‚; ©ñÿ’D’D’$wê¼1I¤"AMY 1*)*1¬¥ •(!ñÿ’D’$’$ÓàÊ•1 9A3*Jª�Óúñÿ’H’$¤$�YØÿöÿ{|ñÿE’H’$Ãæ%tŠVa}$ !ñÿ’D”(’H.@ô1Õ! ý<U?_kÿUQã!‚ñÿ’D’$’$´–ó Ý!à-è9 ¾¾ì ªÏ)Í1 ¶ñÿE’$’$#EÙ ~ ÍAÐ- 1µT ÃQÇ!Ã9úØ ñÿ’D’$’(Ó@ç41*KªÐ Ò. û÷ ³)³1ñÿ’D’$’$ŸÓ,JÒ�Ò¦­AÍEL)!1­µ§!H1£)¶ñÿ’D’$’$®¨:2Ÿ9ö2ʶ ú’ªP‚ý•–)úñÿ’D’$”$½HØ$Ÿ ’YŽ�I°M‚æ1ü‰ñÿ’D’$¢$õ¼VÀØ Ý�  øK‚ˆ$¿— Ç-êÜ-ñÿ’D’$’$ç¼d¥ˆŠ ¿� PýõPÕB‚ÓB‚B‚ñÿ’D’$¤$ãCrÓC‚ýÓÓ )§Ó ¥Ó'mñÿ’H’(’$ÖЀ8ªû0ÿ…sE„…qAqYp=ñÿ’D’$’$ÅAŽooY�ýnYn9nYnIe%e-l1 µ8d1ÿ"ñÿ’D’$’$ל“‚�‚�‚q­]1þ"_ƒYû ª;Uñÿ’D’$’$ Ëªý*Kª­QóU9Š‚M‚‚0‚‚LYK)Чñÿ’D’$’$/“¸+€‚‚‚ C9þ*D!¥åDQåmj µ $) þ­ % !) 9îIñÿ’D’(’$ÞðxM¤ì Xú=YPýY…ôÿ$I”DH¥†Zì‚õ ÿ_ÿÿ@lº“ñÿ’D’$’$xÓ“5ùÒ 5 )´ï 9ÿ"çäÿBê ñÿ$E’(’$Šã¡Üþí~ ïÿ€…þE÷¿` 8­K ñÿ”D’D’$¨=¯Ì— CEMWLQABDñÿ’D’$’$•h½FNYRVJSKP=:_;'ñÿ”D$I$IÙË&?ÿÿq€—€�…Œ…Ž€/4W ¡�ñÿ$I$I$IöÙ⃤ª~…W“³êêêêêêêñÿ’D’$$)³bçÿÿKKKKñÿ$I’$¢$ŒõKKKK?f?f?f?f?f?f?f?fñÿ’D’D$%¼è    þ P…`‚•šU“ó‰|ñÿ’D’$’$—`R5Ò'T5Ò$M9 å! À‚QE ñÿ’D’$’$�Y N5–LUH @) ¥D  Ò?UY …ñÿ’D’$’$Q�-> 95) ¥ ‚ ‚…õ.5ñÿ’D’$’$º6;Ò,1 Å *5 Ò# …"E%(E$ $ ñÿ”H’$’$�vI'# p!ZŽE%R‚ S‚R‚  5ñÿ’D¢$"%l¨WPÒÆ¤Ej€Ò Uýá{"ñÿI$)’D]Ceõãí.ÁÐÿà…úE%ñÿ¤D’D’$�œs XÿYÀ‚ À‚ Y5—ñÿ’D’$’$�-Ì)´  AÊ! !ñÿ’D"%’Hþ|� !m`_W<>„ñÿ¢D’$’$ÂM� „Nú8 4!U U  f R /!O ñÿ’D’$¤$k„«O  O1_ K K!H H  H1R 2 ñÿ’D’$’$+,¹HYH1~gÿ}tCBYB1~gÿýt=xYó ñÿ’D’$’$÷,Ç51~gÿ½`~gÿ}tñ nnY~gÿ¾a(1ñÿ’D’$’$ ÕBhFTg% ‚Ü ú!  Ù , Ôñÿ’D’$’$ÒH㔂 Ó ò!  Ü 1" Ê ‚S”‚Qóÿ’D”$E\¬ñÇ !  Û 1 ¾_^Sýÿÿ@þ¸ýÿEý¬ÿÿ@ø¸ñÿ’D’$’$¤m;Y3!/AP­1I5Y-!)A5!+APÒ0Q ñÿ’D’$’$ˆg%A�‚�‚�‚�‚)§*1–"Ú !)§ñÿ’D’$’$=Å##1–"Ó 1ÓéÏ ! Aäñÿ’D’$’$§ž1)�Ò" ‚À‚§ñÿ"I¢$’$³U?XÿõÿG012345ñÿ’D’$$)ÖEM6789ABCDEF‚’’‰ñÿ$I$I$Ig³[�‰’’’’’…’’’�’’ñÿ$I$I$I–ºi’’’’¬®³·¼ÀùÑÍñÿ$I$%’H\ wýöîêjj—ž ZOCñÿ’D’$’$Ñg…LRSÿÿSCPÿÿBDÿÿZNÿÿñÿ’D’$’$g“#ÿÿ@ÿÿ 0@€Àÿÿ@€Àñÿ’D’$’$ôÞ¡ÿÿ€ÿÿ@ÿÿÿÿÿÿÿÿ‡ñÿ’D’$’$£ó¯`ÿ`ÿgñÿ’D’$’$žƒ½?g?g??ñÿ’D’$’$�;ËoU{”\âZ®�(ñÿ’D’$’$c¡Ù CÀ) IÀ ½³ IÀCÀñÿ’D’$’$O‚çüºíº¹ ¹ñÿ’D’$’$1íõ¢¸¼·8·‡ŽH†ñÿ’D’$’$àþF…$º„ýFƒ�z‚È“ñÿ’D’$’$Hž€?U�i˜g¢¸fu[?f–ñÿ’D’$’$Ó*Nr¿eÀ”Äze…Z?d}]”dt[?cñÿ’D’$’$Ð%-7žzc„Zbs[?a Ic±aƒZñÿ’D’$’$ö;`™¿` Ižz`Nžz@û¹ ñÿ’D’$’$eÔI»‹,\l{¤�²€ñÿ’D’$’$KØW`Ldéàoé`y¯ësçê`L<éñÿ’D’$’$oWeà’¶ëŒƒé LºéÀbPê xñÿ’D’$’$*Ðs¾ë à’¯ë ™´é:dé`[õéñÿ’D’$’$Ä]�`[]ë`oé`uçê!€Ué# Rºéñÿ’D’$’$×,�- >ºéàƒ¹ë*@€öê@€HëÀ:ñÿ’D’$’$vC�ZéÀ:ê <®ë <„ìàƒéñÿ’D’$’$b«NBë €^é‘®ën®ëŒ®ëñÿ’D’$’$JÔ¹‘„ìn„쌄ì qHë&`Hñÿ’D’$’$+Çöê' €âë( €ê)àƒ±é+`oZé,ñÿ’D’$’$‹LÕÀ”Zé.`G2ì"€�úé"ÀC�é"ÀC¿ëñÿ’D’$’$cRã"À~ê"À~æë"`;Öë"`;öé"Mñÿ’D’$’$s°ñFê"wTê "Àkâë "`Gâë "`Lâë "ñÿ’D’$’$Örÿ€:bé"€bVé" zÃê"c³é"€böéñÿ’D’$’$=# "`“ëë"`[uì"vEê"àC„ì"àCñÿ’D’$’$çæ ®ë" b6ë"À>7ë"À>é" b~é"ñÿ’D’$’$öð) @€®ë"@€„ì"`tæë"bõé"à€õéñÿ’D’$’$RS7 "À:æë!"€q¥é%"ÀyÑé&"àMÿé'"àMñÿ’D’$’$?mE ßë("À€9é)"€bæê*"]õé+" z.ì,"ñÿ’D’$’$q�S €…„ì-"€L„ì." ²ê/"@�Hë0" —éñÿ’D’$’$ÇÅa 1"`Bÿé2"`C×ë3"€™-ê4" ™-ê5" •ñÿ’D’$’$*Ro ®ë6"àMWì7"Àƒãê8"ì9"€ì:"ñÿ’D’$’$Ø)} `—PêAIQY 8+ 32�ÒÌ!ñÿ’D’$’$AL‹ Ä 3  %Š+ IC!)19ñÿE¢$’$n™ ÿ—  OCYPIRHG(T)Cñÿ’D’$’$Ít§ GD,C91271,79,391471,79,59177õÿ’D’$ ¤¬µ LA LIRHGSTR SEREEVDúÿH ç´¡™™ ý¸!•³ÿÿ û_€ýÿ,o\twÙÿ”$$EIOç´ ™ÿÿý¸ •ÿÿhb€½hb ¼ÿÿhb »hb@½¨�@½À@½ö¿@½¦® Cl FaÁ`¡aÁÀ¢øÿ’D€$‘E1 Oÿÿ û_€ öÿSYSOLSYS2MOLSYS1NLM(�sff  SYS1N.SV LOADED BY RLDR REV 07.10 AT 12:03:26 11/22/80 SYS00 000452 UINIT 000452 UCLIB 000452 TMIN 004510 NSAC3 004604 UCLIE 004604 URTC1 050431 UINI1 050431 UINI2 051715 UINI3 053122 USCHE 054657 UPSPA 055564 USYMO 055565 USYST 056267 UPXXD 057455 UOVLA 057675 UTTYD 060337 URWBL 061477 UBLKI 062273 UFILI 063145 UGSUB 064724 UIOBU 065231 BADSP 066054 USTAC 066126 UCELL 067031 UDP0D 067231 UDKPD 067565 UINTD 070257 UPANI 071137 UDDPM 071237 UTABL 071242 URESO 072621 000000 000,000 UDFRW 000000 000361 000,001 UDFLR 000000 000366 000,002 UUTIL 000000 000314 000,003 UCREA 000000 000375 000,004 UDELE 000000 000355 000,005 UFLSY 000000 000353 000,006 USOV1 000000 000335 000,007 USOV2 000000 000377 000,010 USOV3 000000 000376 000,011 USOV4 000000 000347 000,012 UDVIN 000000 000357 000,013 UCRSF 000000 000366 000,014 URNG1 000000 000273 000,015 URNG2 000000 000347 000,016 URNG3 000000 000375 000,017 USOV5 000000 000332 000,020 UMTIO 000000 000361 000,021 UMTUC 000000 000370 000,022 UTUON 000000 000327 000,023 UCDRO 000000 000372 000,024 UWDBL 000000 000377 000,025 USPLR 000000 000374 000,026 UCODR 000000 000365 000,027 USOV6 000000 000366 000,030 USOV7 000000 000371 000,031 USOV8 000000 000312 000,032 USOV9 000000 000351 000,033 USV10 000000 000373 000,034 USV11 000000 000315 000,035 UJEHO 000000 000357 000,036 USV12 000000 000263 000,037 USV13 000000 000370 000,040 USV14 000000 000344 000,041 USV15 000000 000360 000,042 USV16 000000 000102 000,043 UFLS2 000000 000370 000,044 USV17 000000 000223 000,045 USV18 000000 000375 000,046 UWDCB 000000 000354 000,047 USV19 000000 000370 000,050 USV20 000000 000001 000,051 USV21 000000 000326 000,052 USFTA 000000 000202 000,053 USV22 000000 000345 000,054 USV23 000000 000311 000,055 USV24 000000 000372 000,056 USV25 000000 000332 000,057 UFSTA 000000 000307 000,060 UDVRL 000000 000330 000,061 USV26 000000 000023 000,062 USV27 000000 000166 000,063 USV28 000000 000011 000,064 UTUNO 000000 000246 000,065 UQTYO 000000 000320 000,066 USV29 000000 000136 000,067 USV30 000000 000260 072621 XN SYMB 053053 XN SYMP 053052 NMAX 072621 ZMAX 000064 CSZE 000000 EST 000000 SST 000000 BOOT 000000 TSCNT 000001 URDOS 000001 RTCI 000001 MNSTK 000002 IPCEL 000002 NDP0D 000003 NP00D 000003 NCEL 000010 NUBUF 000012 SCNT 000012 BCEC 000012 TUBUF 000014 RTCDV 000014 TUPBU 000016 TUSC 000026 TUPSC 000030  .VBF0 000032 .VBF1 000033 .TCRS 000034 .TUFP 000035 .TUF1 000036 .TUFD 000037 EMEM 000040 NSEG 000100 USTAD 000400 CLIBT 000452 CLIBU 004326 TMIN 004511 LCLID 004604 .SAC0 020016 .SAC1 024016 .SAC2 030016 .SAC3 034016 SSINI 050431 SSINT 050452 SSINS 050517 RDCH 050650 TYCH 050655 SIZIT 051726 PTPSW 052172 OVIN 053122 DADR 053176 MSG 053644 SMON 054657 SMON1 054660 SMNXT 054675 SACHN 054743 STSAV 054744 PENTR 054747 URSEX 055100 UPQUE 055122 PTPRV 055123 PTSWP 055124 PRISW 055132 FPUSV 055133 CFPU 055245 TACT 055251 TINA3 055273 NOTSK 055275 TWINK 055365 TSKPU 055415 INTSK 055470 PATCH 055564 BRKP1 055565 BRKP2 055600 BLKCA 055604 BLKCB 055605 QCHK1 055704 FOPE 055731 TTYG 055733 TTYP 055742 FILDQ 055763 CLCHK 055777 SDNCK 056013 SDNKA 056016 SOPNC 056021 RDCK1 056025 RDCK0 056050 RDCK2 056053 WRCK 056056 DTER 056114 MTCHK 056122 TIMEQ 056140 SYST 056267 SQ1 056401 SQ2 056411 CMER 056462 SYSER 056536 SYSE2 056537 RETER 056554 RETE2 056555 IGCEL 056563 GCELL 056570 GETCE 056624 CREL 056640 CFREE 056655 CELCN 056660 CLINK 056662 TRTN 056716 GTRTN 056717 TRTN3 056741 SPRTN 057002 INXTB 057035 INXTA 057036 INFND 057051 INDSK 057071 SENQ 057174 P00DL 057455 P00DB 057471 P01DL 057535 P01DB 057551 P02DL 057615 P02DB 057631 OVLY1 057675 FLAK1 057701 FLAKE 057706 OICAL 057766 OVCH1 060027 OVCHN 060034 OVLAY 060042 RTCNS 060114 USGDN 060127 LDRTN 060134 OVBA1 060151 OVBAS 060152 PREOV 060312 TTIDC 060337 TTRDC 060503 TTIEX 060537 CHAR 060636 TTDCT 060640 TTIS 060642 DEBAD 060746 INLIN 060752 RTCST 061114 LABEL 061114 NOPPR 061140 TTIDT 061227 TTRDT 061243 TTODC 061257 TTOEX 061351 TTODT 061403 TTIQ 061417 TTOQ 061437 TTRQ 061457 RDB 061500 WRB 061501 RDCBK 062273 RDNBK 062433 RDLBK 062614 RDBLK 062651 RDBNO 063077 BLKIN 063145 ASBUF 063146 RLMPB 063452 RELMB 063452 SETMO 063453 RELPB 063464 RELB 063464 RELZT 063522 RELDB 063526 IDCB 063540 FIDCB 063601 FNDCB 063602 BMOVE 063620 PSHRD 063662 BFLUS 063707 FLUSH 063710 WAITF 064004 WAIT 064005 MODOU 064105 QUENT 064144 STCON 064332 ENCON 064333 STLIN 064334 BLIST 064335 GBLKN 064336 PEND 064441 PENDR 064461 UNPEN 064475 GPATJ 064526 GPATH 064527 FPATJ 064551 FPATH 064552 CPATJ 064571 CPATH 064572 XDOA 064614 XNOC 064624 XDIBC 064626 XNOS 064630 XDICC 064632 XDOCS 064634 XDOB 064636 XDOC 064640 XOAS 064642 XDOAP 064644 XDOBS 064646 XDOBP 064650 XDOCP 064652 XIAC 064654 XDIC 064656 XDIB 064660 XDIA 064662 XDOAC 064664 DSKDT 064710 SAVEM 064724 RETN 064736 MVBYT 064750 MFMVB 064750 MTMVB 064750 SRTN 065000 LDBT 065013 MLDBT 065013 LDCHR 065013 STCHR 065026 STBT 065026 MSTBT 065026 MVWD 065052 MFMVW 065052 MTMVW 065052 MBMVW 065052 MCLR 065072 CLEAR 065072 CMPWD 065107 TSTNE 065136 TSTEQ 065137 DIVI 065157 DIVD 065160 MPY 065200 MPYAD 065201 ROX 065212 RSTFL 065221 SETFL 065222 XIBUF 065231 IBUF 065232 OBUF 065337 ENQUE 065452 DEQUE 065504 CISER 065542 FINQ 065653 FINP 065656 DEQRQ 065660 COSER 065667 STOUT 065671 XNIOC 066013 XDIAC 066017 XNIOS 066021 XDIAP 066023 DDOB 066025 DDOCS 066027 DDIC 066031 XSKPB 066033 STCOT 066054 STLIK 066126 STK00 066127 STK01 066470 FCELL 067031 CEL01 067051 CEL02 067071 CEL03 067111 CEL04 067131 CEL05 067151 CEL06 067171 CEL07 067211 DKPDC 067231 DKPEX 067246 D00DL 067251 DP0DB 067265 DP0DC 067331 D01DL 067355 DP1DB 067371 DP1DC 067435 D02DL 067461 DP2DB 067475 DP2DC 067541 DKPDS 067565 DKPST 067751 DKPIT 070064 DKPER 070253 PFL 070257 USTKO 070272 INTS 070346 LINT 070431 DTOTL 070447 TIA0 070452 TIA1 070453 TIA2 070454 TIA3 070455 TCRY 070456 INTLV 070457 PFRET 070557 TSECI 070572 RESCH 070637 IHDN 070703 UTOTL 070722 IWKUP 070723 DISMI 070744 DISI3 070751 USSV 071050 TODI 071106 TODS 071110 TODH 071112 TODD 071114 STKDC 071116 PNIC 071137 REG 071227 DMPLO 071237 DMPUN 071237 DLOCK 071237 DGRAB 071237 DVLOC 071237 DVUNL 071237 DUNLO 071237 SYSQ 071242 DSQ1 071327 DSQ2 071414 SPPTH 071501 SPOLF 071502 SPOLQ 071503 PT1 071523 SFGNP 071536 PT2 071606 PS1 071671 OVTAB 071704 BRSV 072004 FBRSV 072011 SYSTB 072016 OSNAM 072034 SYSNM 072042 FIMSG 072050 MAPNM 072057 FTMSG 072065 BIN 072074 FIN 072076 ENVIR 072152 TUNE 072153 ITUNE 072176 TUSW 072204 IVFWA 072205 ITBL 072206 TTITB 072215 PTRTB 072217 DPTBL 072240 LNKDR 072243 IVTTB 072244 PFLTB 072304 TTRTB 072306 IVLWA 072311 PPDCB 072312 MDCB 072313 SYSTM 072314 SYSTR 072315 SYSFL 072316 FSYSF 072317 SYSFG 072320 SFGZP 072321 DIRR 072322 BUFNT 072323 SYSIN 072324 SPOOL 072325 STDCC 072326 .IPIN 072327 .IPBQ 072330 ALMIN 072331 SS 072333 ADTDB 072513 SQ 072560 NTI1Q 072561 NTO1Q 072562 BQ 072601 BQ2 073217 BQ3 073635 BQ4 074253 BQ5 074671 BQ6 075307 BQ7 075725 BQ8 076343 BQ9 076761 BQ10 077377 DFWL 100000 TUSTK 100002 TUPST 100004 TUCEL 100007 TUPCE 100011 BQ11 100015 DFRR 100037 DFWR 100040 DFRS 100143 DFWS 100144 DFRL 100200 CHNST 100347 USRST 100350 USRLS 100351 LINK 100352 MTDIO 100400 BQ12 100433 OVLDC 100476 GCHN 100477 INTAD 100521 CONNT 100601 CONNS 100605 TCCON 100607 CCONT 100610 CCONS 100614 TCRND 100616 CRAND 100617 TCRET 100621 CREAT 100622 MAKE1 100623 MAKE 100624 UNLNK 101000 DELFI 101001 BQ13 101051 TRDEL 101140 EQUIV 101151 SRUFE 101200 SRUFD 101201 GCIN 101400 GCOUT 101401 SECI 101422 CHLAT 101435 CHAT 101442 BQ14 101467 GTAT 101473 FGND 101532 RDSW  101542 UCLI 101545 UCLR 101546 RTCF 101547 MEM 101550 STIME 101551 ODIS 101552 OEBL 101553 GTIME 101565 OPNCK 101600 DNCK 101627 CFNAM 101654 CSFNA 101655 TFTX 101732 SDIRR 101735 NAMCK 101771 RDCI 102020 BQ15 102105 TOPN 102200 EOPN 102202 OPNA 102204 ROPN 102206 OPEN 102210 CLS 102337 ECLR 102340 RSET 102341 DKINI 102413 DPINI 102414 BQ16 102523 CRMPE 102631 RPIPH 102674 CRSFS 102675 TOO 103000 OPNO 103014 OPNI 103032 CLSO 103074 TTIC 103104 CLSI 103115 BQ17 103141 WRCDV 103145 WRMSO 103153 TIRS 103200 TIRL 103203 RDS 103206 RCHR 103217 DRCHR 103220 GCHR 103262 GCH 103310 RDL 103324 ACHR 103400 PCH 103400 WRS 103523 BQ18 103557 WRL 103565 QWAIT 103600 BRKWT 103726 MTRCB 104000 MTRLB 104005 MTRNB 104006 WRITI 104040 MTRLS 104136 MTINT 104137 MTCLS 104140 BQ19 104175 MTOPD 104237 MTOPN 104241 MTOPA 104242 TUON 104446 CDRRL 104600 BQ20 104613 CRINL 105000 CRINI 105001 FCRET 105042 WDBLK 105144 STSPL 105200 BQ21 105231 SPLPS 105341 SPLST 105400 SPKIL 105454 SSPKL 105463 DCODE 105566 NCODE 105567 SPDIS 105570 SPEBL 105571 WRCI 105605 BQ22 105647 RDCI3 106005 RDCI4 106021 RDCI2 106025 CMNF 106205 CMN 106215 BQ23 106265 GDAY 106400 SDAY 106473 LNKRS 106555 RMVBA 106600 BQ24 106703 INIT 106724 GSYS 107000 GMDIR 107013 GDIRS 107014 SRDCT 107047 SZDSK 107106 ICMN 107123 WRCMN 107144 RDCMN 107145 CSYPA 107200 CSYSD 107201 BQ25 107321 BRK 107407 DSKC 107600 DSKCI 107600 UPDAT 107635 DFEO 107723 DSKA 107724 DSKO 107725 DFRO 107726 DFTO 107727 BQ26 107737 DDIR 110000 WROPR 110065 WROPI 110066 RDOPR 110067 CDIR 110200 CPART 110207 BQ27 110355 DDIS 110400 DEBL 110401 IDEF 110447 RNAM 110600 DELPP 110723 BQ28 110773 SCLUP 111000 IRMV 111161 MDRLS 111200 HBOOT 111201 WDCBK 111400 BQ29 111411 WBRKF 111600 QTCLS 111724 QTOPN 111725 BQ30 112027 MCRCL 112200 MCCLS 112203 MCWRS 112326 MCRDS 112327 SFTAB 112400 RLBOT 112600 ABORT 113000 SFCP 113200 GFCP 113235 SPLDL 113274 GMCA 113326 MCROP 113336 MCOPN 113340 FINIT 113400 CRMAP 113504 CSTAT 113600 STATU 113601 DEBLK 113711 DVRLS 114000 RLSE 114000 RLSER 114113 MEMI 114200 CCMN 114400 RETFA 114436 RETUR 114437 ERTN 114440 RETCE 114447 RDCER 114552 OVOPN 114600 TOON 115040 TUOFF 115161 QTRDL 115200 QTRDS 115202 QTWRL 115205 QTWRS 115207 OVRP 115400 RLBXT 115600 MODEM 177777 MODIN 177777 MODSE 177777 INFOS 177777 JNFOS 177777 MSV2 177777 MTAQ 177777 MCRQ 177777 MCTQ 177777 NM00D 177777 NM10D 177777 CLSTB 177777 ALM00 177777 ALM01 177777 ALM02 177777 ALM03 177777 ALM04 177777 ALM05 177777 ALM06 177777 ALM07 177777 ALM08 177777 ALM09 177777 ALM10 177777 ALM11 177777 ALM12 177777 ALM13 177777  ALM14 177777 ALM15 177777 ALM16 177777 ALM17 177777 ALM18 177777 ALM19 177777 ALM20 177777 ALM21 177777 ALM22 177777 ALM23 177777 ALM24 177777 ALM25 177777 ALM26 177777 ALM27 177777 ALM28 177777 ALM29 177777 ALM30 177777 ALM31 177777 ALM32 177777 ALM33 177777 ALM34 177777 ALM35 177777 ALM36 177777 ALM37 177777 ALM38 177777 ALM39 177777 ALM40 177777 ALM41 177777 ALM42 177777 ALM43 177777 ALM44 177777 ALM45 177777 ALM46 177777 ALM47 177777 ALM48 177777 ALM49 177777 ALM50 177777 ALM51 177777 ALM52 177777 ALM53 177777 ALM54 177777 ALM55 177777 ALM56 177777 ALM57 177777 ALM58 177777 ALM59 177777 ALM60 177777 ALM61 177777 ALM62 177777 ALM63 177777 DLMUX 177777 PL001 177777 PL002 177777 PL003 177777 PL004 177777 PL005 177777 PL006 177777 PL007 177777 PL010 177777 PL011 177777 PL012 177777 PL013 177777 PL014 177777 PL015 177777 PL016 177777 PL017 177777 PL020 177777 PL021 177777 PL022 177777 PL023 177777 PL024 177777 PL025 177777 PL026 177777 PL027 177777 PL030 177777 PL031 177777 PL032 177777 PL033 177777 PL034 177777 PL035 177777 PL036 177777 PL037 177777 PL040 177777 PL041 177777 PL042 177777 PL043 177777 PL044 177777 PL045 177777 PL046 177777 PL047 177777 PL050 177777 PL051 177777 PL052 177777 PL053 177777 PL054 177777 PL055 177777 PL056 177777 PL057 177777 PL060 177777 PL061 177777 PL062 177777 PL063 177777 PL064 177777 PL065 177777 PL066 177777 PL067 177777 PL070 177777 PL071 177777 PL072 177777 PL073 177777 PL074 177777 PL075 177777 PL076 177777 PL077 177777 PL100 177777 PL101 177777 PL102 177777 PL103 177777 PL104 177777 PL105 177777 PL106 177777 PL107 177777 PL110 177777 PL111 177777 PL112 177777 PL113 177777 PL114 177777 PL115 177777 PL116 177777 PL117 177777 PL120 177777 PL121 177777 PL122 177777 PL123 177777 ALINI 177777 LPTQ 177777 PLT1Q 177777 PLTDC 177777 PLT1D 177777 ALMDC 177777 ALM1D 177777 DLALM 177777 PL000 177777 QKICK 177777 DKP1D 177777 DK0DB 177777 DK1DB 177777 ZRDOS 177777 DZPER 177777 DZPDC 177777 DZP1D 177777 DZ0DB 177777 DZ4DB 177777 IUD 177777 HISTI 177777 IPBQ 177777 PWRFL 177777 SFFIL 177777 SFRCD 177777 PFLDC 177777 IVTIN 177777 OVUSG 177777 TUNIN 177777 TUVSW 177777 REWND 177777 CEL08 177777 WTEOF 177777 RDRCD 177777 WTRCD 177777 QTYTB 177777 QTRZA 177777 QTYWZ 177777 TGET 177777 QTYNO 177777 QTWZA 177777 STK03 177777 STK04 177777 STK05 177777 STK06 177777 STK07 177777 STK08 177777 STK09 177777 TTI1Q 177777 TTR1Q 177777 TTO1Q 177777 PTR1Q 177777 PTP1Q 177777 MTA1Q 177777 CTA1Q 177777 CDR1Q 177777 DPIQ 177777 DPOQ 177777 TTI1D 177777 TTR1D 177777 TTO1D 177777 PTRDC 177777 PTR1D 177777 PTPDC 177777 PTP1D 177777 MTADC 177777 MTA1D 177777 CTADC 177777 CTA1D 177777 CDRDC 177777 CDR1D 1777377 QTY1D 177777 QTYDC 177777 RTCDC 177777 NDS0D 177777 NDS4D 177777 NDP0F 177777 NDP4D 177777 NDP4F 177777 NDZ0D 177777 NDZ4D 177777 QTDCB 177777 PDUMP 177777 OTHER 177777 RTC1D 177777 STK02 177777 MCRBL 177777 MCTBL 177777 GSTAT 177777 TSEND 177777 WSEND 177777 DSKER 177777 DSPER 177777 CTAQ 177777 CDRQ 177777 MCR1Q 177777 MCT1Q 177777 DSKDC 177777 DSK1D 177777 DSPDC 177777 DSP1D 177777 MCRDC 177777 MCR1D 177777 MCTDC 177777 MCT1D 177777 DS0DB 177777 DS4DB 177777 NC00D 177777 NC10D 177777 MCRDB 177777 MCR1B 177777 SYMP 177777 SYMB 177777 TRESP 177777 TRPRT 177777 SBRCD 177777 SBFIL 177777 RGET 177777 MRDOS 177777 NRDOS 177777 BRDOS 177777 ARDOS 177777 ERCCT 177777 ALM? 177777 SQT64 177777 QTYQ 177777 M10DB 177777 C10DB 177777 IPINI 177777 PTRQ 177777 PTPQ 177777 LPT1Q 177777 PLTQ 177777 LPTDC 177777 LPT1D 177777 DPIDC 177777 DPODC 177777 DP0FD 177777 DP4DB 177777 DP4FD 177777 M00DB 177777 C00DB 177777 IPBDC 177777 OPPRO 177777 UPWRF 177777 P03DL 177777 D03DL 177777 USERSDR æddATCSALCM õex,HOME.AL,WINDOW.AL,VIEWPORT.AL,INPPI.AL,INPP.AL,RPOINT.AL,APOINT.AL,RDRAW.AL,ADRAW.AL,RMOVE.AL,^ AMOVE.AL,S2PTR.AL,P2STR.AL,P2STT.AL,CLIPL.AL,INPSI.AL,INPS.AL,PTREL.AL,PTABS.AL,DRREL.AL,DRABS.AL,^ MVREL.AL,MVABS.AL,XFRM.AL,TINIT.AL,ANMODE.AL,ERASE.AL,INSTR.AL,OUTST.ALERASE€ ÷du8C C ERASE THE T4014 SCREEN AND PROVIDE A .5 SEC DELAY C SUBROUTINE ERASE TYPE "<33><14>" CALL WAIT (1,500,IER) RETURN END DRABSALt e3%PROCEDURE DRABS(x,y); VALUE x,y; INTEGER x,y; COMMENT: -------------------------------------------------- D R A B S This routine draws a vector to the absolute screen coordinates X,Y. External variables: TMODE - Current mode of terminal BEAMX - Current X position of beam BEAMY - Current Y position of beam HIX - Last high X character output LOX - Last low X character output HIY - Last high Y character output LOY - Last low Y character output External procedures: PUTC - Output a character MVABS - Move to an absolute screen coordinate XFRM - Transform an X,Y coordinate pair to TEK coordinate characters --------------------------------------------------; BEGIN LITERAL graphmode(1); EXTERNAL INTEGER TMODE,BEAMX,BEAMY; EXTERNAL INTEGER HIX,LOX,HIY,LOY; EXTERNAL PROCEDURE PUTC,MVABS,XFRM; INTEGER hx,lx,hy,ly; IF TMODE <> graphmode THEN MVABS(x,y) ELSE BEGIN XFRM(x,y,hx,lx,hy,ly); IF HIY <> hy THEN PUTC(HIY:=hy); IF LOY <> ly OR HIX <> hx THEN PUTC(LOY:=ly); IF HIX <> hx THEN PUTC(HIX:=hx); PUTC(LOX:=lx); BEAMX := x; BEAMY := y END END; €SIAL$ e2 PROCEDURE SI(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE WO,WI,EO,EI,DRAW; IF I > 1 THEN BEGIN WO(I-1); WI(I-1); SI(I-1); EI(I-1); EO(I-1) END ELSE BEGIN Y := Y - H; DRAW; X := X - H; DRAW; Y := Y - H; DRAW; X := X + H; DRAW; Y := Y - H; DRAW END END; OUTSTAL¿ e4ËPROCEDURE OUTST(STR); STRING STR; COMMENT: --------------------------------------------------- O U T S T THIS PROCEDURE OUTPUTS A STRING TO THE TERMINAL. THE TERMINAL SHOULD BE IN ALPHA MODE. EXTERNAL PROCEDURES: PUTC - OUTPUT A CHARACTER TO THE TERMINAL ---------------------------------------------------; BEGIN EXTERNAL PROCEDURE PUTC; INTEGER I; FOR I := 1 STEP 1 UNTIL LENGTH(STR) DO PUTC(ASCII(STR,I)) END; TEDITSVDP0TEDITSVPLOTBU d   .TITLE PLOTB .EXTN VECTOR .EXTD .FRET,.CPYL .ENT PLOTB .NREL X=-167 Y=-166 FS=2 FS PLOTB: JSR @.CPYL STA 3,SAV3 LDA 1,@X,3 STA 1,XCOORD LDA 2,@Y,3 STA 2,YCOORD JSR @.VECT MODE0 XCOORD YCOORD LDA 0,C38 ADD 0,1 STA 1,XCOORD JSR @.VECT MODE1 XCOORD YCOORD ADD 0,2 STA 2,YCOORD JSR @.VECT MODE1 XCOORD YCOORD SUB 0,1 STA 1,XCOORD JSR @.VECT MODE1 XCOORD YCOORD SUB 0,2 STA 2,YCOORD JSR @.VECT MODE1 XCOORD YCOORD LDA 3,SAV3 JSR @.FRET SAV3: 0 .VECT: VECTOR XCOORD: 0 YCOORD: 0 MODE0: 0 MODE1: 1 C38: 38. .END PTABSAL] e3 PROCEDURE PTABS(x,y); VALUE x,y; INTEGER x,y; COMMENT: ---------------------------------------------------- P T A B S This routine plots a single point at the absolute screen coordinates X,Y. External variables: TMODE - Current mode of terminal LOX - Lastlow X character output External procedures: MVABS - Move to absolute screen coordinate PUTC - Output a character ----------------------------------------------------; BEGIN LITERAL pointmode(3); EXTERNAL INTEGER TMODE,LOX; EXTERNAL PROCEDURE MVABS,PUTC; MVABS(x,y); PUTC(LOX); TMODE := pointmode END; COMCMCvee ÿPAGEATCS.CMATCSAL.CMATCSSR.CMBUILDATCS.CLÿ----------------------------------------- P T A B S This routine plots a single point at the absolute screen coordinates X,Y. External variables: TMODE - Current mode of terminal LOX - Lastlow X character output External procedures: MVABS - Move to absolute screen coordinate PUTC - Output a character ----------------------------------------------------; BEGIN LITERAL pointmode(3); EXTERNAL INTEGER TMODE,LP2STTALª e4íPROCEDURE P2STT(X,Y,SX,SY,VIS); VALUE X,Y; REAL X,Y; INTEGER SX,SY; BOOLEAN VIS; COMMENT: --------------------------------------------------- P 2 S T T THIS ROUTINE CONDITIONALLY TRANSLATES A PAGE COORDINATE TO A SCREEN COORDINATE. A VISIBILITY INDICATOR IS RETURNED TO INDICATE WHETHER OR NOT THE POINT IS VISIBLE. IF IT IS NOT, THE POINT IS NOT TRANSLATED. EXTERNAL VARIABLES: SXL,SYL - LOWER X,Y BOUNDARIES OF SCREEN VIEWPORT PXL,PYL - LOWER X,Y BOUNDARIES OF PAGE WINDOW PXH,PYH - UPPER X,Y BOUNDARIES OF PAGE WINDOW XPS,YPS - PAGE TO SCREEN COORDINATE CONVERSION FACTOR --------------------------------------------------; BEGIN EXTERNAL INTEGER SXL,SYL; EXTERNAL REAL PXL,PXH,PYL,PYH,XPS,YPS; IF X >= PXL AND X <= PXH AND Y >= PYL AND Y <= PYH THEN BEGIN VIS := TRUE; SX := (X-PXL) * XPS; SX := SX + SXL; SY := (Y-PYL) * YPS; SY := SY + SYL END ELSE VIS := FALSE END; ADRAWALÌ e9IPROCEDURE ADRAW(X,Y); VALUE X,Y; REAL X,Y; COMMENT: ----------------------------------------------------- A D R A W THIS PROCEDURE DRAWS A VECTOR TO THE ABSOLUTE PAGE COORDINATE X,Y FROM THE CURRENT VIRTUAL "BEAM" POSITION. THE VECTOR IS CLIPPED TO THE CURRENT WINDOW BOUNDARIES. EXTERNAL VARIABLES: TMODE - CURRENT MODE OF TERMINAL PX - CURRENT X POSITION OF VIRTUAL "BEAM" PY - CURRENT Y POSITION OF VIRTUAL "BEAM" EXTERNAL PROCEDURES: AMOVE - MOVE TO A PAGE COORDINATE MVABS - MOVE TO AN ABSOLUTE SCREEN COORDINATE DRABS - DRAW TO AN ABSOLUTE SCREEN COORDINATE CLIPL - CLIP A LINE TO WINDOW BOUNDARIES P2STR - TRANSLATE PAGE TO SCREEN COORDINATES ------------------------------------------------------; BEGIN LITERAL GRAPHMODE(1); EXTERNAL REAL PX,PY; EXTERNAL INTEGER TMODE; EXTERNAL PROCEDURE AMOVE,MVABS,DRABS,CLIPL,P2STR; BOOLEAN VISIBLE; INTEGER SX,SY; REAL X0,Y0,X1,Y1; IF TMODE <> GRAPHMODE THEN AMOVE(X,Y) ELSE BEGIN X0 := PX; Y0 := PY; X1 := X; Y1 := Y; CLIPL(X0,Y0,X1,Y1,VISIBLE); IF VISIBLE THEN BEGIN P2STR(X0,Y0,SX,SY); MVABS(SX,SY); P2STR(X1,Y1,SX,SY); DRABS(SX,SY) END; PX := X; PY := Y END END; EIAL$ e2PROCEDURE EI(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE SO,SI,NO,NI,DRAW; IF I > 1 THEN BEGIN SO(I-1); SI(I-1); EI(I-1); NI(I-1); NO(I-1) END ELSE BEGIN X := X + H; DRAW; Y := Y - H; DRAW; X := X + H; DRAW; Y := Y + H; DRAW; X := X + H; DRAW END END; INPUT¦ d .TITLE INPUT .COMM TASK,2*400+1 .COMM GARF,7 .ENT INPUT .EXTN .UCEX .TASK .EXTD .FRET,.CPYL .NREL MOVE1=0 TURN1=MOVE1+1 MOVE2=TURN1+1 TURN2=MOVE2+1 FIRE1=TURN2+1 FIRE2=FIRE1+1 FLAG=FIRE2+1 FS.=0 FS. INPUT: JSR @.CPYL SUBZL 0,0 LDA 1,.LOOP LDA 0,PRIOR .TASK JMP .+1 JSR @.FRET .LOOP: LOOP LOOP: .SYSTM .GCHAR JMP .+1 CHECK: LDA 1,DELAY .SYSTM .DELAY JMP .+1 LDA 3,TEM3 LDA 1,FLAG,3 MOV 1,1,SZR JMP CHECK LDA 1,C12 STA 1,LPC LDA 2,.TEXT LDA 3,TEM3 LP: LDA 1,0,2 ;CHAR(I)->AC1 INC 2,2 ;INCREMENT TO NEXT CHAR ADDR SUB# 0,1,SNR JMP GOTIT ;CHAR MATCHES! DSZ LPC JMP LP JMP LOOP ;NONE MATCH GET NEXT INPUT CHAR GOTIT: LDA 1,.TEXT INC 1,1 ;INCREMENT TO GET CORRECT INDEX SUB 2,1 NEG 1,1 ;INDEX INTO ARRAYS LDA 2,.VAL ;ADDR OF VALUE ARRAY ADD 1,2 ;INDEX INTO VALUE LDA 0,0,2 ;GET VALUE ELEMENT LDA 2,.STACK ADD 1,2 ;COMPUT INDEX INTO STACK LDA 1,0,?2 ;GET STACK ELEMENT LDA 3,TEM3 ADD 1,3 ;ADD TO REAL STACK FRAM ADDR STA 0,0,3 ;STORE IN APPROPRIATE PASSED VAR LDA 3,TEM3 LDA 1,C1 STA 1,FLAG,3 ;SET FLAG JMP LOOP ;GET NEXT INPUT CHAR .CLK: .+1 ADC 1,1 .UCEX .TEXT: TEXT TEXT: .TXT "A" .TXT "S" .TXT "D" .TXT "Z" .TXT "X" .TXT "C" .TXT "K" .TXT "L" .TXT ";" .TXT "," .TXT "." .TXT "/" .VAL: VALUE VALUE: 1 1 2 3 1 2 1 1 2 3 1 2 .STACK: STACK STACK: 4 0 0 1 1 1 5 2 2 3 3 3 TEM3: .GADD GARF,0 PRIOR: 2 C1: 1 C12: 12. LPC: 0 DELAY: 1 .END SOALá e2PROCEDURE SO(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE SI,DRAW; IF I > 1 THEN BEGIN SO(I-1); SI(I-1); SO(I-1) END ELSE BEGIN X := X + H; DRAW; Y := Y - H; DRAW; X := X - H; DRAW END END; CLIPLAL¨ #e4ÊPROCEDURE CLIPL(X1,Y1,X2,Y2,VIS); REAL X1,Y1,X2,Y2; BOOLEAN VIS; COMMENT: ----------------------------------------------------- C L I P L THIS ROUTINE CLIPS THE VECTOR X1,Y1...X2,Y2 TO THE CURRENT WINDOW BOUNDARIES. A VISIBILITY FLAG IS RETURNED TO INDICATE WHETHER THE VECTOR IS VISIBLE. IF ANY PORTION OF THE VECTOR WAS CLIPPED, THE NEW ENDPOINTS ARE RETURNED IN X1,Y1,,X2,Y2. EXTERNAL VARIABLES: PXL,PXH - X BOUNDARIES OF CURRENT PAGE WINDOW PYL,PYH - Y BOUNDARIES OF CURRENT PAGE WINDOW -----------------------------------------------------; BEGIN EXTERNAL REAL PXL,PXH,PYL,PYH; LABEL TRIV; PROCEDURE TRIM(A1,A2,B1,B2,LO,HI,EXIT); VALUE LO,HI; REAL A1,A2,B1,B2,LO,HI; LABEL EXIT; IF A1 < LO THEN BEGIN IF B1 < LO THEN GOTO EXIT; A2 := A2 + (LO-A1)*(B2-A2)/(B1-A1); A1 := LO END ELSE IF A1 > HI THEN BEGIN IF B1 > HI THEN GOTO EXIT; A2 := A2 + (HI-A1)*(B2-A2)/(B1-A1); A1 := HI END; TRIM(X1,Y1,X2,Y2,PXL,PXH,TRIV); TRIM(Y1,X1,Y2,X2,PYL,PYH,TRIV); TRIM(X2,Y2,X1,Y1,PXL,PXH,TRIV); TRIM(Y2,X2,Y1,X1,PYL,PYH,TRIV); VIS := TRUE; GOTO ENDITALL; TRIV: VIS := FALSE; ENDITALL: END; TANKSV 'dd 0LOCSSR5 Le2 .TITL LOCS .ENT X,Y,H .ZREL X: 0 Y: 0 H: 0 .END RMOVEAL| Oe9KPROCEDURE RMOVE(DX,DY); VALUE DX,DY; REAL DX,DY; COMMENT: ----------------------------------------------------- R M O V E THIS ROUTINE MOVES THE VIRTUAL "BEAM" RELATIVE TO ITS CURRENT POSITION. DX AND DY ARE SIGNED REAL NUMBERS SPECIFYING THE RELATIVE MOTION IN PAGE UNITS. EXTERNAL VARIABLES: PX - CURRENT X POSITION OF VIRTUAL "BEAM" PY - CURRENT Y POSITION OF VIRTUAL "BEAM" TMODE - CURRENT MODE OF TERMINAL -----------------------------------------------------; BEGIN LITERAL GRAPHMODE(1); EXTERNAL REAL PX,PY; EXTERNAL INTEGER TMODE; PX := PX + DX; PY := PY + DY; TMODE := GRAPHMODE END; ŸS2PTRALD Re4ïPROCEDURE S2PTR(SX,SY,X,Y); VALUE SX,SY; INTEGER SX,SY; REAL X,Y; COMMENT: ------------------------------------------------- S 2 P T R THIS ROUTINE TRANSLATES A SCREEN COORDINATE TO A PAGE COORDINATE. EXTERNAL VARIABLES: SXL,SYL - LOWER X,Y BOUNDARIES OF SCREEN VIEWPORT PXL,PYL - LOWER X,Y BOUNDARIES OF PAGE WINDOW XPS,YPS - PAGE TO SCREEN COORDINATE CONVERSION FACTOR -------------------------------------------------; BEGIN EXTERNAL INTEGER SXL,SYL; EXTERNAL REAL PXL,PYL,XPS,YPS; X := (SX-SXL) / XPS + PXL; Y := (SY-SYL) / YPS + PYL END; P2STRAL¥ Ue4êPROCEDURE P2STR(X,Y,SX,SY); VALUE X,Y; REAL X,Y; INTEGER SX,SY; COMMENT: ----------------------------------------------------- P 2 S T R THIS ROUTINE TRANSLATE A COORDINATE IN PAGE COORDINATES INTO SCREEN COORDINATES. IT IS ASSUMED THAT THE POINT IS VISIBLE - NO TEST IS MADE. EXTERNAL VARIABLES: SXL,SYL - LOWER X,Y BOUNDARIES OF SCREEN VIEWPORT PXL,PYL - LOWER X,Y BOUNDARIES OF PAGE WINDOW XPS,YPS - X,Y PAGE TO SCREEN CONVERSION FACTORS -----------------------------------------------------; BEGIN EXTERNAL INTEGER SXL,SYL; EXTERNAL REAL PXL,PYL,XPS,YPS; SX := (X-PXL) * XPS; SX := SX + SXL; SY := (Y-PYL) * YPS; SY := SY + SYL END; DRRELALt Xe3$PROCEDURE DRREL(Dx,Dy); VALUE Dx,Dy; INTEGER Dx,Dy; COMMENT: ----------------------------------------------------- D R R E L This routine draws a vector relative to the beam's current screen position. Dy and Dx are signed integers specifying the relative position of the endpoint. External variables: BEAMX - Current Y position of beam BEAMY - Current Y position of beam External procedures: DRABS - Draw to an absolute screen coordinate -----------------------------------------------------; BEGIN EXTERNAL INTEGER BEAMX,BEAMY; EXTERNAL PROCEDURE DRABS; DRABS(BEAMX+Dx,BEAMY+Dy) END; PUTCSRî [e4Å .TITLE PUTC .EXTU .NREL ;-------------------------------------------- ; ; P U T C ; ; This routine outputs a character to the ; terminal. The system call .PCHAR is used, ; so no file I/O is performed. ; ; ; Example call: ; ; PUTC(ichar); ; ; Input variable: ; ; ichar - an integer containing the binary ; equivalent or the character to ; output. ; ;------------------------------------------- S= -167 SP= 1B0-S ICHAR= S CSIZE= ICHAR+1-S INTVAL= 4B7+1B11+1 .ENT PUTC PUTC: JSR @SAVE ; ENTER CSIZE ; STACK BLOCK SIZE 1 ; 1 ARGUMENT SP+ICHAìR ; IT'S HERE ON THE STACK INTVAL ; IT'S AN INTEGER VALUE LDA 0,ICHAR,3 ; GET THE CHARACTER .SYSTM .PCHAR ; OUTPUT IT JMP .+1 ; NO ERRORS JSR @RETURN ; THAT'S ALL THERE IS TO IT .END SCORE‚ ^d$/ SUBROUTINE SCORE(X,Y,IX,IY,SCOREX,K) COMMON /SEED/ SEED INTEGER IX,IY,SCOREX,K REAL X,Y CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C MODULE SCORE IS INVOKED WHEN A TANK HAS BEEN HIT BY C THE OTHER TANK'S BOMB. THE CURRENT NUMBER OF HITS FOR C THAT TANK IS INCREMENTED & A SPLOT IS GENERATED AT THE C LOCATION OF THE HIT. C IF A TANK HAS BEEN HIT TWENTY TIMES THEN EXECUTION IS C DISCONTINUED, ELSE THE TANK IS MOVED TO A RANDOM POSITION C IN THE GAME DISPLAY & CONTROL IS RETURNED TO C THE INVOKING MODULE. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC NP1=950 NP2=0 NS=(SCOREX)*38 IF(K.EQ.2) GOTO 100 SCOREX=SCOREX +1 CALL SPLOT(NP2,NS,IX,IY) IF(SCOREX.EQ.20) STOP GOTO 200 100 SCOREX=SCOREX+1 CALL SPLOT(NP1,NS,IX,IY) IF(SCOREX.EQ.20) STOP 200 I=23*RAND(SEED)+2 J=17*RAND(SEED)+2 IX=38*I IY=38*J X=IX Y=IY END CURVESV  a99 §Òß5y¾gË2™ª¿ú2Q�ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ’ I â Q ð  ' N � ¨    ü  ' ~ P w ‹ µ ã ñ*J]€‰óÚü:\n‚Ô)>Ù,Õ�gލ´ÁÔÜé÷%@kzrÜÛç©2÷ÿÿ2ÿÿÿÿÿÿ%ÿÿÿÿ!(ÿÿ � ™ ‘€ƒ Ž_€ƒ •€ƒ)‚…p‚ C ”,‚€ƒH ”/‚€ƒ Ž.2€ƒ ŽP2€ƒ ”3‚€ƒ ŽP2€ƒ Z€ƒ€#�CŒ ŽP2€ƒ Z€ƒ€#�CŽ Žu2#Ž8(+�¤@…@8‚‚ ‡KŽ#Œ+ޤ@…@‚ �KŒ Ž8(+�3€8‚… ¦8(#�ŽH3ÖP4#€‚P@58‚…PC�#Œ�€+�¥f ¶…P8‚+�ŽK�¥Øë8‚K�(58(3‘… ˜H5 3©ŽK�(58(3‘… ˜#�¥@3(405¶S�(58(3‘… ˜#�¦@4�#ŒCŒ#Œ+Ž�f é…P8‚+ŒŽKŒÚ"ë8‚K�(58(3‘… ˜H5 3©ŽK�(58(3‘… ˜#�¥@3(405¶S�(58(3‘… ˜#�¦@4 ŽE ޶€ Žú€ Ž?€ Žr€� Ž š �€rx€ˆ$TTOCOM.CMFCOM.CM1 � ™ Ž•34 š � � ™ Ž,34 š � �€ƒ#‰ "8!3‰Ò�*ªƒC‹ � �€ ™#‰­P¤@…@‚ �#‰�€CŠ Žr€#‰�€CŠ Ž„€#‰�€CŠ Žr€³ 3(5©ŽH3 ŽR 4(5ŽH4 ŽR 3(5ŽH3 ŽR š � �€ ™#‰­P¤@…@‚ á#‰�€CР޶€#‰�€CŠ Žè€#‰�€CР޶€÷ 4(5ŽH4 ŽR 3(5ŽH3 ŽR 4(5©ŽH4 ŽR š � �€ ™#‰­P¤@…@‚ %#‰�€CŠ Žú€#‰�€CŠ ŽL€#‰�€CŠ Žú€< 3(5ŽH3 ŽR 4(5©ŽH4 ŽR 3(5©ŽH3 ŽR š � �€ ™#‰­P¤@…@‚ j#‰�€CŠ Ž?€#‰�€CР޳€#‰�€CŠ Ž?€� 4(5©ŽH4 ŽR 3(5©ŽH3 ŽR 4(5ŽH4 ŽR š � �€ ™#‰­P¤@…@‚ Á#‰�€CР޶€#‰�€CŠ Žè€#‰�€CŠ Ž„€#‰�€CР޳€#‰�€CŠ Ž?€å 4(5ŽH4 ŽR 3(5ŽH3 ŽR 4(5ŽH4 ŽR 3(5©ŽH3 ŽR 4(5ŽH4 ŽR š � �€ ™#‰­P¤@…@‚ %#‰�€CŠ Žú€#‰�€CŠ ŽL€#‰�€CŠ Žè€#‰�€CŠ Ž„€#‰�€CŠ Žr€I 3(5ŽH3 ŽR 4(5©ŽH4 ŽR 3(5ŽH3 ŽR 4(5ŽH4 ŽR 3(5ŽH3 ŽR š � �€ ™#‰­P¤@…@‚ ‰#‰�€CŠ Ž?€#‰�€CР޳€#‰�€CŠ ŽL€#‰�€CŠ Žè€#‰�€CР޶€° 4(5©ŽH4 ŽR 3(5©ŽH3 ŽR 4(5©ŽH4 ŽR 3(5ŽH3 ŽR 4(5©ŽH4 ŽR š � �€ ™#‰­P¤@…@‚ ð#‰�€CŠ Žr€#‰�€CŠ Ž„€#‰�€CР޳€#‰�€CŠ ŽL€#‰�€CŠ Žú€ 3(5©ŽH3 ŽR 4(5ŽH4 ŽR 3(5©ŽH3 ŽR 4(5©ŽH4 ŽR 3(5©ŽH3 ŽR š � � ™ Ž•*+ Ž š �ö �€€ ™ D­P�­Pª E Ž•€€’ ŽA€€€€€€ A+��­Pª c#�@A ŽA B+Ž�­P0?#‹Å…PªŠª x#Ž@B ŽB ?+‹�­Pª ‡#‹@? Ž?#Œ@@ Ž@#‰@=+ŠH> š � �€€ ™ D­P�­Pª Ý ŽA€€€€€€ Ž@#�@A ŽA#Ž@B ŽB#‹@? Ž?#Œ@@ Ž@…P@D+‰H=3ŠP>= =+‰�­P0>#ŠÅ…PªŠª = ŽA€€€€€€ Ž@ A+��­Pª #�@A ŽA B+Ž�­P0?#‹Å…PªŠª ##Ž@B ŽB ?+‹�­Pª 2#‹@? Ž?#Œ@@ Ž@#‰@=+ŠH> š � �€€€€€€ ™ —€~€#�89+ƒ§3€Æ8‚C�#Š�89#‚Ž8‚KŽ —€~€#�89+ƒ§Æ8‚C‹#‰�89#�Ž8‚KŒ š � @` �€ ™„@>@=+‰8:3�¶Ê3‚… ˜HC ŽÓ ]`h:#ƒ@I@E+…HG3‡PK€…@O@M8:+ŠHN3‹PP ]h:#Œ@S@Q#Ž@W@U€ š �ÿÿC?ðC0Àÿ AÁ � ™ ŽÑ8;#�@D8‚ š � � ™ Ž Ž8<#‚@D8‚…PC‰#‰(C�f ö…P8‚+‰ŽK‰çÿë8‚KŠ ŽŠ š �  �€#‰  �$ �€€ƒ€ A…P �€€ƒ€ A…C• ‘€ƒ ”€ƒ€ƒ+�«K� ’€ƒ€€ ”‚€ƒ3‰#�­ •) ? � ? �#”‚ #� 3‰­ ? �#”‚;�#ˆ ¤ŸH �€  �€3‰8YÊP¾…C ? � £ßHpðÿü rR019Œ 3�"ˆC�… C� ¡‚PC‰C‹/� Ÿ²�'�‚J2*KŠ*ªJm‚‹*1dÏ«K‘�/� Ÿ²�'�‚J2SŒ)Ì�  ¥ßˆ)È�1Ȫ�ÓþK�9Æ1õ ò1Á8S�)»�KŽ r)%� ý m9=+�  û¨ û)²1³ÄŒ aò)ª1¨� �  X)¥1¥ÄŒ� )�¥C� K)—� !‘C�… E Ž €€€€€#�ƒ;�Cˆ�ÿÿDÿ‡ª@ª�‚Š9ùïÀ>©¼ê8KŠ*©\Š83ŠÒ�"1è‚‚ÀÇŠ‘‡ý\Š83‹Ò�*1ÛªªÀÏŽ3‹Ò“ªÀJ‹‡$2+-Ee.ÿÿðp€@ÿ � ¡‚PC‹3�2ˆÓS‰"ÿCŠ‚ �/‰ Ÿ‰Š �²'‰‚J22S�‰/‰ Ÿ‰²'‰‚J2)Ø�!Ø�  £ß˜'‰CŽ‚‹"C’Ó"C“Ó"C”S�ÿöÿð"C’Ó"†Ð)¿§€C“"§C”S�‰Š… C�C‘#/‰ Ÿ‰²2S�'‰)¦�!§� _‰Š… C‘/‰ªK Ÿ²*K‘‰'‰)‘�!’�  £ß˜#‹3� ?*©¨¢À¦CŒ3ŽÒ‹@O�3‹Ò�2)C·µ > ”€‚€ ƒ#‹)®3� ? £ßH#�‚ �#‹’�S‹"3�)�KŠ!œ•  £ßH �€­P‚S­ JÓŠú)‹KŠ‹'‹¬‚S­ JÓŠú �… C�‰¥'�1ǦG�½ �€ÿ �€€€€€0‰)µP‰#�B#Š3‰ [09"‹ž*Œ2� 4ÿÿ = ? =ÿÿÿÿ = =ÿÿ b � a � @0+-.E \†8†)I¾X†CþSú0‰… CýBCüCû*®P9êîJ*©BÓ«ý \‚H1ä• û1Ý• 1Û• ý \‚;1ו !Ð1Е "1Ε 1Ì• 1Ê• )Ã3ú¶•Œ  £ÀØ¥+üªû3ú ^ŠÞÕ |Ûü×þ0‰)GµP‰…PB#þ1¡ [ u8†+û¦Cû0‰)9¶P‰0‰#ýB+ûª.ªJ©0Kû­pKý­Õ y0‰:ö­ J8†… 3ú+ýª _Õ y8†ûö0‰*®P1ÇÍ q0†)ÁµP†28 ^ÕŠ |ëÕ yò\†8†3þÒ�"1‚‚ÀÇ4†þÿ\††8‰+L†¾)ùî8†K/ ¦8†Oú8†4†\††8‰)üî#8†CK… / ¨8†OúŠ®P®P… ¨®P®PªÀ†4†\††)ú8‰½X‰)÷ÍÊ’K©"CÓû«û8‰#)ë�À1èÎK­‚J¬K­Õ }­Õ }†84†\†8†!-žX†KÿSþ ‰ {­Õ |­Õ |8‰#‚!+Ž!ŽÀ#ŽK0†*þ2ÿ©#BÓû«û8‰) ¾X‰8†)½X†84†€ÿþ\††L††Ê r8‰+ªJ+Õ¨ f†4†8‰+©#BûÓ«û8‰) ¾X‰8†4†+Õ ~ê\††8‰#3•‚­1)ö¾‚ÆÑ­žKûƒÓü8‰CC#+�‚©Õ3Ô#8†††SK†P�­ |8†3ÿþû††8‰#3•  eÔ­t | x80‰!–P‰†4†††Ð õ ‰)·Ž ð f0‰… B e…tå8‰Ô f xã\††8‰#€C¤\††8‰#)�½ D†#‚ƒ+#¦C#ùø†÷8†4†\††8‰!Çž+¾©Õ#Ò€�ÓCùø«÷†84† Û é â øab`ÿÿ L ``þ Ô Ø ª ¼ Ç § ¤ ˜ Î � ’Œ)åI1)äI0)åHm)åHn Œ)ÜI&)ÛI%)ÛHm)ÛHn0‰Ph3�*ˆK‰Rˆ'‰CŠ‚J' k)Ò�U )²– j#‹Ò Љíðhp)ý�À 1¼¶2ñ)õ�À u1µ¶2×)®� ‚\ä ö )£�Å!K�)áKŽ)Û� g jKŒ1——S�¢ €#Š i¢ €3�;Žö20‰*3�J„+Œ3� ‰Ò  2)¾��1½µ  1»µ  ;K�)¹KŽÚ i¢ € u+Š1¯ÏÀ /3�¶B… )F�Àª�ª� &3�¶"…0‰)µP‰ v#Š j l0‰… B ‰   ˆ8#‰ƒ3�Bˆ �8#‰ ¤À8\ŠªPª@ª@8‡\Šª�ª�ª�8‡›)�Àª�ª� º)!ú’ŽúŽŽ8K†œ›)�Àð`  ›1"—8S‹)�ÅÒÀÒK!ÆÁÂÀ3‰ª•3�*‡‚ *ˆ‚ +‰ŽK‹#Š)�œ7‹S‹ÒKœüÿ\†† lL††0ƒ8n­Õ y†,† ‰ † ,4†8\††D††¢0ƒš+Í S €†,†0ƒ8m†4†¾ÍÕ Sû«ý0ƒÝí›!§�º­ Kûƒýœ h@‰8  o3�…pB„÷\†† t†4†\††0‰"€B­ Õ y†4†… 0‰Bò8\††8#Š)#§)!¤@ƒ#‰ ¤€h†4†\†83�)#‹� Â'‹Bˆ4†ê83�"ˆG‹² p Ô? H I Jggggg M K Lgdcg M K Lgÿÿÿÿgÿÿÿÿÿÿÿÿÿÿÿÿ Oÿÿÿÿÿÿ Nÿÿgg Pÿÿÿÿÿÿÿÿÿÿÿÿ Oÿÿÿÿÿÿ Nÿÿgg P\††1!Ð 1 0‰"‚"–*!�J0‰"�*ªÓƒû…Q… 0‰) ¶P‰†4†‚€dÿÿÿð\††8‰#�+ªûƒû8‰#‚…P†4†8\††0‰"†P«�L††­L††­Õ |8†ª ÿþù†,††ª 0‰*¶ÑÐü­Õ y†4†8‰\††L†† t†,†8‰#�€1ôÌ¥K†uD†#†D††­Õ |8†þû#ÿ8‰‚C††8†4†Õ ~ú@\†† t8‰+¾­KÕ y†4†\††8‰+!ꥅ)è�¨¦€��L†)ã1㤔†C­Õ |8†ÿû†8‰#)Ò� ƒCž­K†84†#)Ã�­PK­KKKò)»Õ ~î\††0‰*9„�í 9…í "«9‚�ûþú‚J„�*ª�†84†ÿüED\††8‰­PK)úK¬‚J�­KC­Õ y†4†\††Õ­ y0‰"‚J)§ £€ˆ¨Jª¬"�JÓƒý†84† £€x­Jïÿ€\††Ô­ y0‰)ø¶Û\†8†!NžX†Kÿ!GÇ0‰–Sþ*©"‚ Ó«û3þ):J+ÿªBB*#þ•Sü–š"C… BûÓ«ù8†#ü†P3þ*�J#þ)¦Cý!/ý�‚ #þ+ÿ‚0‰•Ô }8†Kÿò z8†! �X†38ð@\††)–:ï ¾Z‚  ÑЭP:Å ÷8‰õÔ |†4†8\††ªKùš3–í€\††8†!C!Ç0‰–S¢€"D†"‚€BÓ†û3ª€ô8†4†\††8†!C!Ç0‰–S¢@"–D†"‚@BÑІú3ªpò8†4†\†† £€X!ŒŠ8‰!ÇžK®P!ŽK#�+ª€¬€Kûƒü8†4†@\††’º")¦D†"CÓû†û†4†8\††(‰1ÍH‰êÿÿ‡pð 0€@ ›81üö#€–/ƒƒ!÷ŽJ€Z�PP‚!èÆ@ŠÎ …� £ßX… D†'ƒ*€8о¬PîK­ KÿKþ)Ò�ÀJ‚)W§‚7:�0†B#ƒB#ˆB'ƒ/ˆ9Jçï� 3. �J. ŸJ.ªJ4.ªJ.!­§9­� A9«� h9©� e!£§9¥� j9£� ]9Û8$†‚B. �J.9¿ù­ Nûý8ð &BÑ&BËÿ;�3ƒ/ƒ!û�PΫ0Jˆ#„‚@#…+†3‡8ˆ&F&FÉ… B!æ�J>ç�J‚B‚&Fû… ±FûŒˆ¥JD†ª©ú.ªK Ÿº+Nœ&F9·ï&ç� ‚›&‚P‚�)#�¢‚À.ªJ† .9½êŽN&ŠP†Ð9™ç€ï�FN �ƒ.NƒûàOCYPIRHG TC( )GD,C91371,79,49157LA LIRHGSTR SEREEVD ¥ßH ü@…HŠ¥ ö0ŠP†),¶),¨ )(¶P‰!#–PŠBù–­ JÿH‡8Š!žXX‚… C�…P "18 Ð 38!Cˆ  Í  f?y (€ "ÿÿÂÿ‡ ÿTŠ0B…J†…pB„Zˆ;ÿ)÷¿;ûZƒ81ïö#€–/ƒƒ!êŽJ€Z�P9ãÞXŠ¾Î …� £ßX¬PîK­ KþKÿ83�"„‚€"…*†ƒ8;�XX‚!Èæ@Š#„‚€#…+†3‡ˆTŠ0P‚ûZˆ;ÿúKÞ1Þ0ZƒÚ3‡ƒÿ‰ÿ‡ðp@€80†… B;�'ƒ)U§+ƒJ;ˆZ+�¢B‚0+ �²*0†Jé. Ÿº&‚J;Z. �º&‚J;Z9ÏŸ 9ÍŸ)̽  9ÆŸ)Ƚ )ƽ A!Ü8;�ú ¥ßxXX‚2Ò-3ˆ*ªPΫKˆ!§æ@Š#„‚@#…+†3‡ˆÿ­ J9ýçB.ï¥BªJªÔ&Fû… ÉFûÐ ÓSˆ×&F&.9Úçï� ‚›&‚P‚�)#�¢‚À.ªJ† .9½êŽN£&ŠP†Ð9½ç€ï�FN™�€B&Fû�›83‡Sˆ0†#€B8Šž#BZ8/ƒ �Jƒ/ƒJ!:�!9� 0ƒ/ƒƒJ:ûZ;ú#� Z;ù “8*C€8ŠžK83ˆS‡œ*ª“‚À+úP^F:… úŠFN8"*FK€é&‚ σƒœð€›83‡Sˆ0†/ƒƒ!ö�J­ JJ/ƒƒ �'ƒƒº‚J+J9èŸ1çõ l0†B:+ªJI9Û‚‹ïÀJ8/ƒƒ �º#*¦�K…PB8*ªŠ /ƒƒ �º+:îªJ­:½êJ�«J8/ƒƒ �º"‚Š"*‚À¦† C"C*©K­PJ¬ è"C"† C"C83ˆS‡œ‚‹+;ú@ú�ùøîJZZ.J®9„òÀ¿ÀÏ0†ùøîJZZ.J 0†8/ƒ �ƒº#*ª8/ƒƒ �²*Š0†2ÒP™ô�­£8/ƒƒ �ºSCC½Z *9R¿!Q� (!L� P"‚PF"‚’"‚À†�F:‚Àƒ‚�‚�ƒž …� ¥ßX Š�æ8 "†�F­ N:ê"8…*ª’ŠÀ®�NªÀ«ª�‚�ƒ½ãPX…F*!޽ ¥ßX8" Š®�N… Fæ€ÿÿ".‚PFB J*ª’D&)ó§*¥¢B &‚K )ë‚@‚�§À.�ŒJ"* ‚À¦F:"ƒ‚�‚�ƒž …� ¥ßX(нZ: ú:ú�#9Ç‚‚Àç: ú�+9ÀªªÀïŽ: ú“ªÀK  ê" &‚C‚�.�ŒJ&*¥¢B FNÛ83‡Sˆ/ƒƒ �²/ƒƒªJ2:!rªƒç"*úJ  0†JB8/ƒƒ �²/ƒƒªJ28†SK"C:!XªƒçÁâ*úJ ¢0†J*�¢B:*�Œ#‚J#�«#1@Ǧ0†2Ò‚CK>"�î8†#‚*#3•Ò�"Ò‚À1%)&Ǧ3Ò“‚ÀBï3Ò�"1‚‚ÀÇ3Ò�*1ªªÀÏŽ3Ò“ªÀJê83ˆS‡œÿÿ ›8†…›8†…PC83‡Sˆ/ƒƒ �²/ƒƒªJ2:!Dªƒç"*úJ  0†JB8/ƒƒ �²/ƒƒªJ2:!0ªƒç"*úJ  8†K+� ‚3Ò�*1ªªÀÏ3Ò�"1‚‚ÀÇ�  í#8C„3ˆS‡œøŒ……Põÿÿ›83‡Sˆ/ƒ �²ƒ'ƒ‚J2"ƒ/ƒ �²ƒ/ƒƒ �º*ªªJ ©‚�«þC83ˆS‡œ‚P«þø›8ªJ©0ÒJÑ0Sˆ8þ€[† ¨ª  8;†úB©08K†3ˆS‡œ‚ö ¥ßØ›83€(ŠÎ³€€J­ Jœ›83€(ж2Ò ¥ßèµS€œTŠ0B…J†ZƒXˆ…pB„;ÿ1ß;û0"„‚€"…2‡8#„‚€#…+†3‡ƒÿXž8ŠªBª�8žª�î««8ž\Š8;�ªBª�8‡ª�î9îúÿ‰\†8†K)*"‚§À‚@‚�CÓÓ) "‚§C 3ÓÓ"‚§+¥3 ÑÌ¥Š#�«K /#�Œ# 4†…ýÿ0†Z8C„#€)ŽK€(Ц)Ž8…½ ¥ßX8Bš#ºC8"€\†8†KS3ÓÓ")‚§/ŽK3)"‚§À/‚@‚��ŒK) ÓÓ"‚§+4†ÿ?ðô£ÁTT†0†BJZ ˆT†0†BJZ8#ƒT†0†BJZB&)ã��ª€ª€ª€9ßíí9ݪ"9×í "9Ô’  #ÿ¥¾#÷!ÉõÿÿANALLL@NCAAALLNLKRKLLNLKKLLMALOCBOOOKLRERÿÿLPOGGGIMNHN…0X‹9 ªƒ‚�Æ�ûüª°8‹ÿðX‹Å 9üªP‚@ŠŪ@ûûý!ý8‹5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚BOMB• zd3 PARAMETER L=72 SUBROUTINE BOMB COMMON /B/BOMB11,BOMB21,BOMB12,BOMB22,BOMB13,BOMB23,BOMB14,BOMB24 COMMON THETA1,THETA2,NTHETA,TANCOS,TANSIN,BOMCOS,BOMSIN,XP1,XP2,XP3,YP1,YP2, +YP3,BXY,X1,Y1,X2,Y2,ICOUNT,IX1,IY1,IX2,IY2,BUNKER, +RANGE1,RANGE2,SCORE1,SCORE2 COMMON /GARF/MOVE1,TURN1,MOVE2,TURN2,FIRE1,FIRE2,FLAG INTEGER THETA1,THETA2,NTHETA,XP1(L),XP2(L),XP3(L),YP1(L),YP2(L),YP3(L),BXY(20), +BUNKER(26,20),MOVE1,TURN1,MOVE2,TURN2,SCORE1,SCORE2,FIRE1,FIRE2,FLAG REAL TANCOS(L),TANSIN(L),BOMCOS(L),BOMSIN(L),X1,Y1,X2,Y2,RANGE1,RANGE2 INTEGER BOMB11(5),BOMB12(5),BOMB13(5),BOMB14(5),BOMB21(5),BOMB22(5),BOMB23(5),BOMB24(5),BX,BY DATA BOMB11/5*0/BOMB21/5*0/ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C MODULE BOMB MANIPULATES THE TABLES WHICH HOLD THE CURRENT C POSITION, DIRECTION CHANGE, AND NUMBER OF BOMBS C IN USE BY BOTH TANKS. C C CONTROL IS RETURNED TO THE INVOKING MODULE.C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ICOUNT=0 DO 300 I=1,5 IF (BOMB11(I) .EQ. 0) GOTO 20 C C UPDATE TANK 1'S BOMB(I) C BX=BOMB11(I)+BOMB13(I) BY=BOMB12(I)+BOMB14(I) IF(BUNKER(BX/38+1,BY/38+1).EQ.1) GOTO 11 IF(SQRT((FLOAT(IX2-BX))**2+(FLOAT(IY2-BY))**2).LT.RANGE2)GOTO 10 BOMB11(I) =BX BOMB12(I)=BY ICOUNT=ICOUNT+1 BXY(ICOUNT)=BX ICOUNT=ICOUNT+1 BXY(ICOUNT)=BY GOTO 50 C C TANK 1'S BOMB HIT TANK 2 - NOTIFY PLAYERS C 10 NNN=1 CALL SCORE(X2,Y2,IX2,IY2,SCORE1,NNN) C C DELETE BOMB ( HIT BUNKER OR TANK 2 ) C 11 BOMB11(I)=0 GOTO 50 20 IF(FIRE1.EQ.0) GOTO 50 BOMB11(I) = IX1 BOMB12(I)=IY1 BOMB13(I)=IFIX(BOMCOS(THETA1)) BOMB14(I)=IFIX(BOMSIN(THETA1)) FIRE1=0 50 IF(BOMB21(I).EQ.0) GOTO 200 C C UPDATE TANK 2'S BOMB(I) C BX=BOMB21(I)+BOMB23(I) BY=BOMB22(I)+BOMB24(I) IF(BUNKER(BX/38+1,BY/38+1).EQ.1) GOTO 111 IF(SQRT((FLOAT(IX1-BX))**2+(FLOAT(IY1-BY))**2).LT.RANGE1)GOTO 110 BOMB21(I)=BX BOMB22(I)=BY ICOUNT=ICOUNT+1 BXY(ICOUNT)=BX ICOUNT=ICOUNT+1 BXY(ICOUNT)=BY GOTO 300 C C TANK 2'S BOMB HIT TANK 1 - NOTIFY PLAYERS C 110 NNN=2 CALL SCORE(X1,Y1,IX1,IY1,SCORE2,NNN) C C DELETE BOMB ( HIT BUNKER OR TANK 1) C 111 BOMB21(I)=0 GOTO 300 200 IF(FIRE2.EQ.0) GOTO 300 BOMB21(I)=IX2 BOMB22(I)=IY2 BOMB23(I)=IFIX(BOMCOS(THETA2)) BOMB24(I)=IFIX(BOMSIN(THETA2)) FIRE2=0 300 CONTINUE C C TURN OFF TANK 1'S & 2'S NEW BOMB INDICATOR. C FIRE1=0 FIRE2=0 RETURN END EOALá €e2PROCEDURE EO(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE EI,DRAW; IF I > 1 THEN BEGIN EO(I-1); EI(I-1); EO(I-1) END ELSE BEGIN Y := Y + H; DRAW; X := X + H; DRAW; Y := Y - H; DRAW END END; OASMSVASMSVBOMB1 ‚d !ÿ PARAMETER L=72 SUBROUTINE BOMB COMMON /B/BOMB11,BOMB21,BOMB12,BOMB22,BOMB13,BOMB23,BOMB14,BOMB24 COMMON THETA1,THETA2,NTHETA,TANCOS,TANSIN,BOMCOS,BOMSIN,XP1,XP2,XP3,YP1,YP2, +YP3,BXY,X1,Y1,X2,Y2,ICOUNT,IX1,IY1,IX2,IY2,BUNKER, +RANGE1,RANGE2,SCORE1,SCORE2 COMMON /GARF/MOVE1,TURN1,MOVE2,TURN2,FIRE1,FIRE2,FLAG INTEGER THETA1,THETA2,NTHETA,XP1(L),XP2(L),XP3(L),YP1(L),YP2(L),YP3(L),BXY(20), +BUNKER(26,20),MOVE1,TURN1,MOVE2,TURN2,SCORE1,SCORE2,FIRE1,FIRE2,FLAG REAL TANCOS(L),TANSIN(L),BOMCOS(L),BOMSIN(L),X1,Y1,X2,Y2,RANGE1,RANGE2 INTEGER BOMB11(5),BOMB12(5),BOMB13(5),BOMB14(5),BOMB21(5),BOMB22(5),BOMB23(5),BOMB24(5),BX,BY DATA BOMB11/5*0/BOMB21/5*0/ ICOUNT=0 DO 300 I=1,5 IF (BOMB11(I) .EQ. 0) GOTO 20 BX=BOMB11(I)+BOMB13(I) BY=BOMB12(I)+BOMB14(I) IF(BUNKER(BX/38+1,BY/38+1).EQ.1) GOTO 11 IF(SQRT((FLOAT(IX2-BX))**2+(FLOAT(IY2-BY))**2).LT.RANGE2)GOTO 10 BOMB11(I) =BX BOMB12(I)=BY ICOUNT=ICOUNT+1 BXY(ICOUNT)=BX ICOUNT=ICOUNT+1 BXY(ICOUNT)=BY GOTO 50 10 NNN=1 CALL SCORE(X2,Y2,IX2,IY2,SCORE1,NNN) 11 BOMB11(I)=0 GOTO 50 20 IF(FIRE1.EQ.0) GOTO 50 BOMB11(I) = IX1 BOMB12(I)=IY1 BOMB13(I)=IFIX(BOMCOS(THETA1)) BOMB14(I)=IFIX(BOMSIN(THETA1)) FIRE1=0 50 IF(BOMB21(I).EQ.0) GOTO 200 BX=BOMB21(I)+BOMB23(I) BY=BOMB22(I)+BOMB24(I) IF(BUNKER(BX/38+1,BY/38+1).EQ.1) GOTO 111 IF(SQRT((FLOAT(IX1-BX))**2+(FLOAT(IY1-BY))**2).LT.RANGE1)GOTO 110 BOMB21(I)=BX BOMB22(I)=BY ICOUNT=ICOUNT+1 BXY(ICOUNT)=BX ICOUNT=ICOUNT+1 BXY(ICOUNT)=BY GOTO 300 110 NNN=2 CALL SCORE(X1,Y1,IX1,IY1,SCORE2,NNN) 111 BOMB21(I)=0 GOTO 300 200 IF(FIRE2.EQ.0) GOTO 300 BOMB21(I)=IX2 BOMB22(I)=IY2 BOMB23(I)=IFIX(BOMCOS(THETA2)) BOMB24(I)=IFIX(BOMSIN(THETA2)) FIRE2=0 300 CONTINUE RETURN END BOMB14(I) IF(BUNKER(BX/38+1,BY/38+1).EQ.1) GOTO 11 IF(SQRT((FLOAT(IX2-BX))**2+(FLOAT(IY2-BY))**2).LT.RANGE2)GOTO 10 BOMB11(I) =BX BOMB12(I)=BY ICOUNT=ICOUNT+1 BXY(ICOUNT)=BX ICOUNT=ICOUNT+1 BXY(ICOUNT)=BY GOTO 50 10 NNN=PTRELAL# †e4øPROCEDURE PTREL(DX,DY); VALUE DX,DY; INTEGER DX,DY; COMMENT: ---------------------------------------------------- P T R E L THIS ROUTINE PLOTS A SINGLE POINT RELATIVE TO THE CURRENT BEAM POSITION. EXTERNAL VARIABLES: BEAMX - CURRENT X POSITION OF BEAM BEAMY - CURRENT Y POSITION OF BEAM EXTERNAL PROCEDURES: PTABS - PLOT A POINT AT AN ABSOLUTE SCREEN LOCATION ---------------------------------------------------; BEGIN EXTERNAL INTEGER BEAMX,BEAMY; EXTERNAL PROCEDURE PTABS; PTABS(BEAMX+DX,BEAMY+DY) END; GCOUTSR ‰e9 "ÿ .TITL GCOUT .ENT GCOUT .EXTU .NREL S= -167 SP= 1B0-S STR= S CSIZE= 3 STRLOC= 10B11+3 GCOUT: JSR @SAVE CSIZE 1 SP+STR STRLOC LDA 0,STR,3 .SYSTM .GCOUT JMP .+1 LDA 3 .FP LDA 0 C4 LDA 2 STR,3 MOVZR 2,2 LDA 1 2,2 MOV 1,1,SZR INC 0,0 STA 0 STR+2,3 JSR @RETURN C4: 4 .END PTABS(BEAMX+DX,BEAMY+DY) END; ƒMVABSAL@ Œe3#PROCEDURE MVABS(x,y); VALUE x,y; INTEGER x,y; COMMENT: -------------------------------------------------- M V A B S This routine moves the beam (dark vector) to the absolute screen coordinates X,Y. External variables: TMODE - Current mode of terminal BEAMX - Current X coordinate of beam BEAMY - Current Y coordinate of beam HIX - Last high X character output LOX - Last low X character output HIY - Last high Y character output LOY - Last low Y character output External procedures: XFRM - Transform X,Y coordinates to TEK coordinate chatracters PUTC - Output a character --------------------------------------------------; BEGIN INTEGER hx,lx,hy,ly; LITERAL graphmode(1), gs(29); EXTERNAL PROCEDURE PUTC,XFRM; EXTERNAL INTEGER TMODE; EXTERNAL INTEGER BEAMX,BEAMY,HIX,LOX,HIY,LOY; IF TMODE <> graphmode THEN BEGIN XFRM(x,y,hx,lx,hy,ly); PUTC(gs); PUTC(HIY:=hy); PUTC(LOY:=ly); PUTC(HIX:=hx); PUTC(LOX:=lx); TMODE := graphmode; BEAMX := x; BEAMY := y END ELSE IF BEAMX <> x OR BEAMY <> y THEN BEGIN XFRM(x,y,hx,lx,hy,ly); PUTC(gs); IF HIY <> hy THEN PUTC(HIY:=hy); IF LOY <> ly OR HIX <> hx THEN PUTC(LOY:=ly); IF HIX <> hx THEN PUTC(HIX:=hx); PUTC(LOX:=lx); BEAMX := x; BEAMY := y END END; ATCSLB �xx0 ÷ÿýÿi@tKÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@�tKÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿþÿˆpw�ñÿœX¢ÄGmj   ÿ ÿûÿ[è‰  öÿÿ@í¿úÿH,—HÁ~ Ë”¡?ÿÿ û_€ýÿxåPÑ4Iÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@�¥PÑ Iÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿe…NNÿ…NÔÿâ§ÿæ§ÿ ¨ÿñÿ�¨ÿv±ƒžÿ·Kÿ¢ºÿ¦ºÿôÿÎÒʺÿκÿ­ØÿíÞÿþÿˆ'wÙñÿ’X’$',R €"€"€"€" ÿ`ñÿ’D”$[÷Ä�#‰+�€p… ‚ H@€ñÿIÇ’$žW$`�#@‰+H€`�#‹+�€ñÿ’DbK)û§*p… ‚5$H@€</`�#ñÿâX”Ø;f8@‹+H€ (©Ž5` (©ŽñÿâD”Ø’ØÁFà°€° P€ ( 0Ѷ@( �¦àÈúÿGÀþ�T€ˆH€  ÿÿ@¦¿Yúÿ(Rò0fÿpfÁ˜Nÿÿ û_€ýÿ¡ŒËT¨ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@¹LË@¨ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿe…NNÿ…NÔÿâ§ÿæ§ÿ ¨ÿñÿ�¨ÿv±ƒžÿ·Kÿ¢ºÿ¦ºÿôÿÎÒʺÿκÿ­ØÿíÞÿþÿˆ5wËñÿ’X’$'gã €€€€ ‹#‰+ñÿ’D+â(ëu@¤@… ‚ H‹# @‹# @‰+ñÿ’X”$Ç Â HŒ#Š+@¤@… ‚* HŒ# @.ñÿG’Ø;Ûï*Œ# @Š+ H (©Žÿ` (©ŽñÿâD”Ø’Ø,Á8à°€° P€ ( 0Ѷ2( �¦àÈúÿGÀ �F€ˆH€  ÿÿ@´¿Kúÿ(`ò0fÿpfÁ˜@ÿÿ û_€ýÿîšzt„ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@Ášz`„ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿþÿˆdwœñÿ’Xì$’$Š´ €"€"  ÿ€€ñÿG’$ì$âÆ ÿ€€€"€"  ÿÿ@ã¿ÿÿ@ã¿÷ÿ)múpfÁ˜ÿšza“ Òµ�™ÿÿ û_€ýÿNšz‚ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@fÚz‚ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿþÿˆ`w ñÿ’X’$’Øpþ €ƒ€"€"  ÿ€ñÿ’D’8’$9Mƒ€€ ÿ€€€"ûÿìDÏ €"  ÿÿ@ß¿ ÷ÿ)ÇüpfÁ˜ÿšz‘ Òµ�™ÿÿ û_€ýÿ¿ê)³bÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@ת)³bÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿaï…NNÿ…NÔÿSnÿЧÿø§ÿúÿð­v±ƒžÿ·Kÿþÿˆdwœñÿ’Xâ$œ8? €"€" ÿ` ‰+Ž0ñÿ’D’8ì$ïÀ‹#Æ�C�K€ ÿ€"€"  ÿÿ@ã¿ÿÿ@ã¿úÿHÊ éHbpfÁ˜ÿÿ û_€ýÿÿTéHbÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@éHbÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿaï…NNÿ…NÔÿSnÿЧÿø§ÿôÿÿºv±ƒžÿ·Kÿ1¿ãGÿâëÿþÿˆPw°ñÿ’Xì$’$z¬ €"€"  ÿ€"€ñÿ’D’$b%2µ"€€€1�# ‚# ÿñÿ’DB%’Øá€€'8€#@ 8ÿ`‰#øÿâX€ØÜ‚*@‹+H€  ÿÿ@ο1÷ÿIÖ“pfÁ˜'£Á™ ;§¡?ÿÿ û_€ýÿ|L±4;ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@”ÓL± ;ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿaï…NNÿ…NÔÿSnÿЧÿø§ÿúÿð­v±ƒžÿ·Kÿþÿˆdwœñÿ’Xâ$œ8? €"€" ÿ` ‰+Ž0ñÿ’D’8ì$ïÀ‹#Æ�C�K€ ÿ€"€"  ÿÿ@ã¿ÿÿ@ã¿úÿH‡6 G!;pfÁ˜ÿÿ û_€ýÿ¼} G4;ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@Ô= G ;ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿaï…NNÿ…NÔÿSnÿЧÿø§ÿ÷ÿà&v±ƒžÿ·Kÿ1¿ãGÿþÿˆwãñÿ’Xì$’$â… €"€"  P­�P­ ªñÿbE’$œ(£Ò ÿ€"€"aÿ` ñÿGœ$’$¾�C(’K‰3”S‹#–C€ ÿ€" €ñÿ’D’$b%°¸*" €" €"€1�# ‚Z ÿñÿ’D’$’Ä€Å8€" €"€€ ÿ€ñÿäD’$œ$ÔØF€ 7 €" €"€€ ñÿ’D%Ç’‹Tÿ€€`‰#@‹+H€ ýÿ€X›b ÿÿ@›¿dñÿ$IÁ‚qHá¡ÃTÁ„%ë[¡?TpfÁ˜ZË”¡?Býÿ@ƒ£�™Iÿÿ û_€ýÿW«±²ô¡ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@ok±²à¡ÿÿ ÿßÿÿ ÿßñÿy`…NNÿ…NÔÿЧÿø§ÿv±ƒžÿúÿÕö·Kÿ1¿ãGÿþÿˆiw—ñÿ’Xâ$œ8' €"€" ÿ` ‰+ŽHõÿœXl' É ‹3–P€P…@  ÿÿ@ç¿ýÿ@ÅÀpfÁ˜ÿÿ û_€ýÿ—qHô¡ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@¯ÕqHà¡ÿÿ ÿßÿÿ ÿßñÿy`…NNÿ…NÔÿЧÿø§ÿv±ƒžÿúÿÕö·Kÿ1¿ãGÿþÿˆmw“ñÿ’Xâ$' ƒ €"€" ÿ`‰#@‹+HùÿìDÄ­™€P…@  ÿÿ@ë¿ýÿ@ÅÀpfÁ˜ÿÿ û_€ýÿ–°Òµ”™ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@®pÒµ€™ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿM`…NNÿ…NÔÿæ§ÿ¨ÿv±ƒžÿñÿÛP·Kÿ¦ºÿκÿ­ØÿíÞÿþÿˆYw§ñÿ’X’$'¾ê €€€"€" ‰#(ñÿ’Dâ8â$÷©Žÿà ` (€ 0Æ‹C€Š+0ÑôÿE’8Ø/Á¶àÀ (€ (¦�C€  ÿÿ@Ø¿'úÿ(ƒò0fÿpfÁ˜ÿÿ û_€ýÿSã”™ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@kƒ£€™ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿM`…NNÿ…NÔÿæ§ÿ¨ÿv±ƒžÿñÿÛP·Kÿ¦ºÿκÿ­ØÿíÞÿþÿˆWw©ñÿ’X’$'SV €"€"€€ ÿ`ñÿG’Ä¢Ä\#‰#(©Ž 0@ÈР€�C(Ž�K ‹+òÿœXœ$`'Ö �¦ (@ Ð€€ŽC0–ŽS  ÿÿ@Ö¿)úÿDÕpfÁ˜˜gÿÿÿ û_€ýÿãԙÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@+ƒ£À™ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿe…NNÿ…NÔÿâ§ÿæ§ÿ ¨ÿñÿq¨ÿv±ƒžÿ·Kÿ¦ºÿκÿ÷ÿƒÜ­ØÿíÞÿâëÿþÿˆ.wÒñÿ’X’$œ$�¶ €"€"€€€1 ñÿâD¬$”$™úÿ` ‰+�€@…0µ€@­§ñÿ’Xb%’$� ‹+�€@­§ ¥€@­§ ‚ñÿBEÅ'?"*L8€# 8�C"‰#(©Ž @ˆÐ¨ñÿâDâ(’88€�K 0¶�S0‹+ �¦ (@ Ðˆ€ñÿG*;ê FŽK ¦ŽCP8�# 8�C  ÿÿ@«¿Tÿÿ@«¿TúÿDûÔpfÁ˜=˜gÿÿÿ û_€ýÿe&ÃTÔ„ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@}æÃTÀ„ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿ˼FÃNÿ…NNÿ…NÔÿSnÿâ§ÿñÿõ5æ§ÿ ¨ÿ¨ÿv±ƒžÿ·Kÿýÿ”âëÿþÿˆ´vLñÿ’X’$œ$eº €"€"€"€"€1 ñÿbE’$’$BÕ| €"€"€"€"€ñÿ’D’$’$þ" €" €Aÿ`‘#‰+�€p… ‚ñÿ"E’$+#‡*O!�3•€p… ‚7 €,ñÿ’D’$’$“§8`‘#‰+©Ž�3‹#�Æ@ˆ�#‰3Ñ–ñÿ’D”$’D†óF€È‹3΋K‘3‰S€{7`‰#“+�ñÿ’D)’$"QT€p… ‚{O�3Í€p… ‚ñÿK’$’$/Òbe €Z`“#‰+©Ž�3‹#�Æ@ˆñÿ’D’$d'0|p�#‰3Ñ–€È‹3΋K“3‰S€  ñÿ’D’$ǧ»~€"€"€"€"""Æñÿ"G’$â$Ò4Œ@  €"€"€"€""ñÿ¢X’È’$ñ€š"Æ@  €"€"€"€ñÿGä(’$ó,¨"""Æ@  €"€"ñÿ’DÇâ0¼¶€"€"""Æ@ 8€# 8‘CõÿBEbÇ ­ÝÄÊ8�# 8‘C ÿÿ@1¿Î÷ÿ€(& 0fÿpfÁ˜e˜gÿÿÿ û_€ýÿîñšzt“ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@²šz`“ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿ÷ÿ{ƒ· ÿ¿½coÿâëÿþÿˆêvñÿ’Xì$%“§ €€  ÿ– ñÿ¢H’Ĩ$43 — ­�­« ª 8ñÿGÂÄÂÄß̆#8! �CŠ8‡38 …ÿ8ˆ3ñÿG’$â(ò* … �KP…ŽCŽ#�+f�  >P…8Ž+ñÿ”Dâ(¢Èbj8ŽŽK/Gë8�K ›ñÿ"G"GGý|F� B– H˜ ÿñÿ˜D'’DÉ…T€‹#8ƒ+�8‹K R€Œ#ñÿœP&’(јb8ƒ+�8ŒK‹+8Š38 …'Œ#މKñÿY&"Ç͆p ]€‹#8ƒ+�8‹K qñÿ˜D'‡qž~€Œ#8ƒ+�8ŒK‹+8Š38 …lñÿœDœD’įŒŒ#ŽŠK |€  øÿ’D€$àd ÿÿ@^¿¡ôÿ Hr7¶lA�ó“‹Ë”¡?ÿv§AMÿÿ û_€ýÿNôšz‘ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@f´šz‘ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿúÿ 1¿ãGÿâëÿþÿˆwéñÿ’X’$”Ø,~ €ƒ€€  ÿiñÿ"GG'¦ j ÿ€ ÿñÿ’D’Èœ0R倃€ €Ž#8‚+�8ñÿ"GÂ$˜8h†*ŽK !€�#8‚+�8�KŽ+8ñÿGä$˜$®8„38 …ÿ�#ŽŒK ,€Ž#8ñÿâD’Èœ0-©F‚+�8ŽK @€�#8‚+�8ñÿÂDÅ9_“T�KŽ+8„38 …;�#Ž�K K€óÿFÛ€$ßÍb8ƒ#@8   ÿÿ@‘¿nôÿ IÆ«TŒ¶lA_ó“Zv§Aÿÿ û_€ýÿÜ L§ÔMÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@ôÊL§ÀMÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿúÿð­v±ƒžÿ·Kÿþÿˆgw™ñÿ’Xì$'3G €€  ‰+Ž0Š#ÆôÿâD’$Ø;‹‹CŒK ÿ€€  ÿÿ@æ¿ýÿ@Ù;§¡?ÿÿ û_€ýÿ ;§´?ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@%Ù;§ ?ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿ©a…NNÿ…NÔÿSnÿŠ�ÿv±ƒžÿ÷ÿôŠ·Kÿ1¿ãGÿâëÿþÿˆfwšñÿ’Xì$’$¸¬ €€  ÿ€€òÿGÆÛÿ– ÿ8€#@8  ÿÿ@ä¿úÿHûË”¡? v§Aÿÿ û_€ýÿ,Vü[ÔMÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@Dü[ÀMÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿúÿð­v±ƒžÿ·Kÿþÿˆgw™ñÿ’Xì$'3G €€  ‰+Ž0Š#ÆôÿâD’$Ø;‹‹CŒK ÿ€€  ÿÿ@æ¿ýÿ@a$ë[¡?ÿÿ û_€ýÿ]dë[´?ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@u$ë[ ?ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿñÿÁ-šsÿ›sÿŠ�ÿ‹�ÿv±ƒžÿúÿÕö·Kÿ1¿ãGÿþÿˆwèñÿ’Xì$’$† €€ P­�P­ ªñÿbE’$+DD ÿ€€f ÿñÿ’D’$â$ €€€€ �+ñÿ’Dì('ók*�P­ ª7�#@ ÿ ñÿœD’$¢$Nf8Ž+�P­0‹#ÅP…ªŠ ªLŽ#ñÿ"[Ç”$R1F @ 3  ‹+�P­ ª[ñÿdGœ8âÈ×ÌT‹#@ HŒ#@ WøÿG€Øäðb‰#@Š+H ÿÿ@–¿i÷ÿI{¯Ë”¡?v§A^×sÿÿ û_€ýÿLÜ”ÔMÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@dÝÜ”ÀMÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿúÿð­v±ƒžÿ·Kÿþÿˆgw™ñÿ’Xì$'3G €€  ‰+Ž0Š#ÆôÿâD’$Ø;‹‹CŒK ÿ€€  ÿÿ@æ¿ýÿ@�ëË”¡?ÿÿ û_€ýÿ}+Ë”´?ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@•ëË” ?ÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿñÿÁ-šsÿ›sÿŠ�ÿ‹�ÿv±ƒžÿúÿÕö·Kÿ1¿ãGÿþÿˆÖv*ñÿ’Xì$’$† €€ P­�P­ ªñÿbE’$’$×[H ÿ€€€€€ñÿœD%Ù~@€ ÿ«�#@ ñÿìDGÙ±*Ž# @ ' ‹#@ .ñÿìDGÇPv8Œ#@ 5P… @‰+HŠ3PñÿbE'’$FbF¨ ‰+�P­0Š#ÅP…ªŠ ªñÿdE’$’$ÛT¨ €€€€€ñÿœDE’$E�b€ <« �+�P­ ªñÿEâÈœÄpy�#@ f Ž+�P­0ñÿ’D”$";²˜~‹#ÅP…ªŠ ªŽŽ# @ uñÿâX’$dGÜŽŒ  ‹+�P­ ª�‹#@ ŠñÿGÙ'¯fšŒ#@ ™‰#@Š+Hûÿ[Œ¨ ÿÿ@S¿¬úÿHv„v§A ×sWÿÿ û_€ýÿ̵×sÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@äu×sÿÿ ÿßñÿF¢…NNÿ…NÔÿv±ƒžÿ·Kÿ#¸ÃSÿýÿ”âëÿþÿˆGw¹ñÿ’X’$’$âB €€€€€€ñÿbG˜(œ$dí  €=€�#8ƒ+§€3Æ8ñÿ˜D'%Ø�CŠ#�8‚#Ž8ŽK €=€�#ñÿ’P˜Ä'ìK*8ƒ+§Æ8‹C‰#�8�#Ž8ŒK ùÿ’X$Tv8 @`ÿÿ@Á¿>ÿÿ û_€ýÿ˜Þ�¾Ôbÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@°ž�¾Àbÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿõcMCwÿcMcwÿ…NNÿ…NÔÿSnÿñÿg8Чÿâ§ÿæ§ÿø§ÿ ¨ÿñÿÀs¨ÿv±ƒžÿ·Kÿƒ· ÿ¢ºÿñÿ÷I¦ºÿʺÿκÿ¿½coÿ­Øÿýÿ¡íÞÿþÿˆMw³ñÿ’Xì8’0̇ € „@@‰+8�3¶ÊñÿìD’Äb‡<¿‚3 … H ÿÿ`hƒ# @@…+ñÿâXB;(Ç¡¼H‡3 P€…@@8Š+H‹3PhñÿbGìØ’$|Û*Œ#@@Ž# @@€ ÿÿôÿ’D’$$38?Cð0CÀÿ AÁÿÿ@¼¿CúÿH‰Ã+bá’pfÁ˜(ÿÿ û_€ýÿ‘8—HÔ~ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@©ø—HÀ~ÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿúÿ 1¿ãGÿâëÿþÿˆqw�ñÿœX¢Äl‡ªÖ   ÿ8�#@8 üÿ�X?› ÿÿ@î¿ýÿ@‚×v§Aÿÿ û_€ýÿÝ +bô’ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@õÊ+bà’ÿÿ ÿßÿÿ ÿßñÿí…NNÿ…NÔÿSnÿv±ƒžÿ·Kÿ÷ÿí_¿½coÿ1¿ãGÿâëÿþÿˆRw®ñÿœX¢Ä¢È™h   ÿ. /ñÿìPâ$%0$8‚#@8P…‰C‰#(f�  #P…8ñÿ’DE9 ³‰+މK,ë8ŠK 2öÿìD’$–v*Š   ÿÿ@Ì¿3ýÿ@`×v§A'ÿÿ û_€ýÿËë�z”™ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@ã«�z€™ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ ÿßñÿ«Æ…NNÿ…NÔÿSnÿȓÔÿv±ƒžÿñÿ9·#qÿ·KÿÜ·ãLÿ$ºÃ”ÿâëÿþÿˆ:wÆñÿ’Xœ8’$�¶ €ƒ …ŒC ÿ€Ž#ñÿF’8¢X �C8€+�P­ 8 ª  8ñÿâH'â$C=ë 8Œ#ƒŒC €ƒ€€ €ñÿœD’$’8·x*ƒ ŽK ÿ €ƒ€ €ƒ€ñÿG’8ì$ÿ8ƒ €ƒŽ ÿ€ƒ€  üÿ�D»F ÿÿ@¶¿I÷ÿI%,TŒ.¶lA ¶·áD>ÿÿ û_€ýÿòÉ6¡Ô”ÿÿ ÿßÿÿ ÿßÿÿ ÿßýÿ@ Š6¡À”ÿÿ ÿßÿÿ ÿßñÿįUIcaÿ…NNÿ…NÔÿSnÿð‹ÃXÿ÷ÿBv±ƒžÿ·KÿâëÿþÿˆUw«ñÿ’Xœ8’$8ˆ €ƒ P…ŒC €ƒ€Œ#�+ñÿ”D’8¢(f�  P…8Œ+ŽŒK)ëñÿ’Xâ$œ$d €ƒ€€ŽK ÿ€Ž ýÿ€XP›* ÿÿ@Ó¿,ýÿ@c×v§A$ÿÿ û_€ýÿÍTŒÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ýÿ@åßTŒ÷ÿDv±ƒžÿ·KÿÚéÿñÿ’X’$’$α €ƒ€‰3Š+Sª€©2´ñÿ’D’$'‡ÑŒ#)�Ò:§ÁªÁ¿¿ÁžžZ8Š#B‚úÿœX p¥ P…‹C ÿÿÿ@Þ¿!ÿÿ û_€ýÿ2R¶lAÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ýÿ@J¶lAúÿð­v±ƒžÿ·Kÿñÿ’X’$â$Ç; €X )§‰C ÿÿ@ñ¿ÿÿ@ñ¿ÿÿ û_€ýÿrv§Aÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ýÿ@Š×v§Aúÿð­v±ƒžÿ·Kÿõÿ’X’$À6æ €‰#  ÿÿ@õ¿ ÿÿ û_€ýÿ¿TÉmt=ÿÿ ÿßÿÿ ÿßÿÿ ÿßÿÿ€ÿñÿH’•ocM@wcM`wšsŠ�›súÿ�[Û‹�1¿àGÿÿ€ÿñÿH’æ§â§ ¨ ¨¦º÷ÿ’–=¢ºκʺÿÿ€ÿñÿH’á8­ØíÞЧø§¿½`oñÿ’„’$’$^2ÿÿÿÿÿÿ­ÿÿÿÿÿÿÿÿñÿ’„’$’$I2ÿÿ€ãÿÿ€ãÿÿ û_€ öÿDRAFTSYSBSÿ ®eu 0010 REM GENERAL PURPOSE DRAFTING SYSTEM 0020 REM 0030 REM WRITEN BY: MARCUS BUNZ 0040 REM 0050 REM UMR COMPUTER SCIENCE DEPT. 0060 REM 0070 REM PLEASE ADDRESS ALL COMMENTS OR SUGGESTIONS TO: 0080 REM 0090 REM DR. HARDY J. POTTINGER 0100 REM UMR COMPUTER CENTER 0102 REM UNIVERSITY OF MO - ROLLA 0104 REM ROLLA MO. 65401 0106 REM (314) 341-4841 0120 REM 0130 REM 0140 REM 0150 REM COMMAND DESCRIPTIONS: 0160 REM 0170 REM FIGURE: TO DEFINE A USER SYMBOL 0180 REM SUBCOMMANDS: 0190 REM M - MOVE 0200 REM D - DRAW 0210 REM X - REMOVE LAST LINE 0220 REM E - END FIGURE MODE 0230 REM DESIGN: TO DESIGN A PAGE 0240 REM SUBCOMMANDS: LISTED ON SCREEN 0250 REM FILE: TO CHANGE FILES 0260 REM CHART: TO LIST A PAGE. 0270 REM PAGE: TO CHANGE PAGES 0280 REM PAGE#: PRINTS CURRENT PAGE NUMBER 0290 REM FILENAME: PRINTS THE CURRENT FILENAMES 0300 REM END: LEAVE SYSTEM AND CLOSE FILES 0310 REM 0320 REM 0330 REM 0335 CLOSE 0340 DIM C$[20],D$[13],F$[13] 0350 DIM L$[33],M$[20],N$[20] 0360 DIM Z$[10] 0370 DIM T$[1],S$[99],X$[1] 0380 GOSUB 0530 0390 REM GET A COMMAND 0400 CALL 1,2,0,100 0410 PRINT "COMMAND"; 0420 INPUT C$ 0430 IF C$="END" THEN GOTO 2790 0440 IF C$="FILE" THEN GOSUB 1860 0450 IF C$="CHART" THEN GOSUB 0810 0460 IF C$="FIGURE" THEN GOSUB 2250 0470 IF C$="DESIGN" THEN GOSUB 1340 0480 IF C$="END" THEN GOSUB 2790 0490 IF C$="PAGE" THEN GOSUB 3050 0500 IF C$="PAGE#" THEN GOSUB 3290 0510 IF C$="FILENAME" THEN GOSUB 3370 0520 GOTO 0400 0530 REM 0540 REM 0550 REM INIT 0560 REM 0570 REM 0580 CALL 2 0590 LET L$="ABCDEFGHIJKLMNOPQRSTUVWXYZ01234-" 0600 OPEN FILE[1,0],"TEMPCHART.CH" 0610 OPEN FILE[2,0],"TEMPCHART.FI" 0620 OPEN FILE[3,0],"TEMPCHART.CS" 0630 REM FORMAT THE SCREEN 0640 WRITE FILE[1,1],"-",0,1 0650 WRITE FILE[2,1],0,0,1 0660 WRITE FILE[3,1],1,"STRING" 0670 FOR I=100 TO 2000 STEP 100 0680 WRITE FILE[1,I+1],"-",0,1 0690 WRITE FILE[2,I],0,0,0 0700 NEXT I 0710 LET R=0 0720 LET S=2 0730 LET X=0 0740 LET Y=0 0750 LET X1=0 0760 LET Y1=0 0770 LET P=100 0780 LET D$="TEMPCHART.CH" 0790 LET F$="TEMPCHART.FI" 0800 RETURN 0810 REM 0820 REM 0830 REM CHART 0840 REM 0850 REM 0860 READ FILE[1,P+1],X$,X,N 0870 FOR I5=2 TO N 0880 READ FILE[1,P+I5],T$,X,Y 0890 IF T$="Z" THEN RETURN 0900 GOSUB 0940 0910 NEXT I5 0920 RETURN 0930 REM 0940 REM INT & DISP 0950 REM 0960 FOR I3=1 TO 32 0970 IF T$[1,1]=L$[I3,I3] THEN GOTO 1000 0980 NEXT I3 0990 RETURN 1000 IF I3>20 THEN GOTO 1050 1010 REM VALID FIGURE 1020 CALL 1,0,X,Y 1030 GOSUB 3450 1040 RETURN 1050 ON I3-20 THEN GOSUB 1120, 1080, 1150, 1120, 1120, 1120, 1200, 1230, 1260, 1290, 1320, 1120 1060 RETURN 1070 REM CV 1080 READ FILE[1,P+I5-1],T$,X1,Y1 1090 CALL 1,0,X1,Y1 1100 CALL 1,1,X,Y 1110 RETURN 1120 REM CNO 1130 RETURN 1140 REM CW 1150 READ FILE[3,Y],Y,S$ 1155 PRINT 1160 CALL 1,2,X,Y 1170 PRINT S$ 1180 RETURN 1190 REM C0 1200 LET R=0 1210 RETURN 1220 REM C1 1230 LET R=1 1240 RETURN 1250 REM C2 1260 LET R=2 1270 RETURN 1280 REM C3 1290 LET R=3 1300 RETURN 1310 REM C4 1320 LET S=X 1330 RETURN 1340 REM 1350 REM 1360 REM DESIGN 1370 REM 1380 READ FILE[1,P+1],X$,A,I5 1390 GOSUB 3710 1400 GOSUB 0810 1410 LET I5=I5+1 1420 CALL 3,0,T$,X,Y 1430 IF T$<>"4" THEN GOTO 1500 1440 CALL 1,2,10,10 1450 PRINT "SCALE FACTOR"; 1460 INPUT X 1470 WRITE FILE[1,P+I5],T$,X,Y 1480 LET S=X 1490 GOTO 1410 1500 IF T$<>"X" THEN GOTO 1700 1510 LET I9=2 1520 READ FILE[1,P+I9],S$,X1,Y1 1530 IF INT(X1/6)=INT(X/6) THEN IF INT(Y1/6)=INT(Y/6) THEN GOTO 1580 1540 IF INT(X1/6)=INT(X/6) THEN IF S$="W" THEN GOTO 1670 1550 LET I9=I9+1 1560 IF I9<=I5 THEN GOTO 1520 1570 GOTO 1420 1580 IF S$>="X" THEN GOTO 1520 1590 IF S$="U" THEN WRITE FILE[1,P+I9+1],"-",X1,Y1 1600 IF I9<3 THEN GOTO 1620 1610 IF S$="V" THEN WRITE FILE[1,P+I9-1],"-",X1,Y1 1620 WRITE FILE[1,P+I9],"-",X1,Y1 1630 WRITE FILE[1,P+1],"-",X,I5 1640 GOSUB 3710 1650 GOSUB 0810 1660 GOTO 1420 1670 READ FILE[3,Y1],N,S$ 1680 IF INT(Y/6)=INT(N/6) THEN GOTO 1620 1690 GOTO 1550 1700 IF T$<>"W" THEN GOTO 1790 1710 CALL 1,2,X,Y 1720 INPUT "",S$ 1730 READ FILE[3,1],N,X$ 1740 LET N=N+1 1750 WRITE FILE[1,P+I5],T$,X,N 1760 WRITE FILE[3,N],Y,S$ 1770 WRITE FILE[3,1],N,"STRING" 1780 GOTO 1410 1790 IF T$="Y" THEN GOTO 1630 1800 WRITE FILE[1,P+I5],T$,X,Y 1810 IF T$<>"Z" THEN GOTO 1840 1820 WRITE FILE[1,P+1],T$,X,I5-1 1830 RETURN 1840 GOSUB 0940 1850 GOTO 1410 1860 REM 1870 REM 1880 REM FILE 1890 REM 1900 REM 1910 CALL 2 1920 PRINT "NAME"; 1930 INPUT N$ 1940 PRINT "TYPE"; 1950 INPUT Z$ 1960 IF Z$[1,2]="FI" THEN GOTO 2000 1970 IF Z$[1,2]="CH" THEN GOTO 2040 1980 PRINT "ILLEAGLE TYPE; ENTER FI OR CH"; 1990 GOTO 1950 2000 LET N=2 2010 LET M$=N$,".FI" 2020 LET F$=M$ 2030 GOTO 2100 2040 LET M$=N$,".CS" 2050 CLOSE FILE[3] 2060 OPEN FILE[3,0],M$ 2070 LET N=1 2080 LET M$=N$,".CH" 2090 LET D$=M$ 2100 CLOSE FILE[N] 2110 OPEN FILE[N,0],M$ 2120 PRINT "NEW:OLD"; 2130 INPUT N$ 2140 IF "OLD"=N$ THEN RETURN 2150 WRITE FILE[N,1],"-",X,1 2160 IF N<>2 THEN GOTO 2210 2170 FOR I=100 TO 2000 STEP 100 2180 WRITE FILE[2,I],0,0,0 2190 NEXT I 2200 RETURN 2210 FOR M5=101 TO 2001 STEP 100 2220 WRITE FILE[1,M5],"-",X,1 2230 NEXT M5 2240 RETURN 2250 REM 2260 REM 2270 REM FIGURE 2280 REM 2290 REM 2300 GOSUB 3710 2310 CALL 1,2,0,70 2320 PRINT "SYMBOL TO BE DEFINED (A-T) "; 2330 INPUT T$ 2340 FOR I=1 TO 20 2350 IF T$=L$[I,I] THEN GOTO 2390 2360 NEXT I 2370 PRINT "ILLEGAL SYMBOL, TRY AGAIN (A-T) "; 2380 GOTO 2330 2390 CALL 1,0,250,250 2400 CALL 1,1,450,250 2410 CALL 1,1,450,450 2420 CALL 1,1,250,450 2430 CALL 1,1,250,250 2440 CALL 1,0,350,450 2450 CALL 1,0,340,350 2455 CALL 1,1,360,350 2460 CALL 1,0,350,340 2465 CALL 1,1,350,360 2480 LET X=350 2490 LET Y=350 2500 LET I2=I*100 2510 LET I2=I2+1 2520 CALL 3,0,T$,X1,Y1 2530 IF T$="M" THEN GOTO 2580 2540 IF T$="D" THEN GOTO 2680 2550 IF T$="X" THEN GOTO 2740 2560 IF T$="E" THEN GOTO 2720 2570 GOTO 2520 2580 REM MOVE 2590 LET M=0 2600 LET X2=(X1-X)/3 2610 LET Y2=(Y1-Y)/3 2620 LET X=X1 2630 LET Y=Y1 2640 WRITE FILE[2,I2],X2,Y2,M 2650 IF I2>=I*100+99 THEN GOTO 2720 2660 GOTO 2510 2670 REM DRAW 2680 LET M=1 2690 CALL 1,0,X,Y 2700 CALL 1,1,X1,Y1 2710 GOTO 2600 2720 WRITE FILE[2,I*100],X,Y,I2-1 2730 RETURN 2740 LET I2=I2-1 2750 READ FILE[2,I2],X3,Y3,M 2760 LET X=X-3*X3 2770 LET Y=Y-3*Y3 2780 GOTO 2520 2790 REM 2800 REM 2810 REM END 2820 REM 2830 REM 2840 CALL 2 2850 CLOSE 2860 IF D$<>"TEMPCHART.CH" THEN GOTO 2960 2870 PRINT "DISPLAY FILE NOT SAVED; SAVE OR DELETE"; 2880 INPUT Z$ 2890 IF Z$<>"SAVE" THEN GOTO 2960 2900 PRINT "SAVEFILE NAME"; 2910 INPUT N$ 2920 LET M$=N$,".CH" 2930 RENAME D$,M$ 2940 LET M$=N$,".CS" 2950 RENAME "TEMPCHART.CS",M$ 2960 IF F$<>"TEMPCHART.FI" THEN GOTO 3040 2970 PRINT "FIGURE FILE NOT SAVED; SAVE OR DELETE"; 2980 INPUT Z$ 2990 IF Z$<>"SAVE" THEN GOTO 3040 3000 PRINT "SAVEFILE NAME"; 3010 INPUT N$ 3020 LET N$=N$,".FI" 3030 RENAME F$,N$ 3040 STOP 3050 REM 3060 REM 3070 REM PAGE 3080 REM 3090 REM 3100 CALL 2 3110 PRINT "PAGE DESIRED"; 3120 INPUT P1 3130 IF P1=INT(P1) THEN IF P1>0 THEN IF P1<21 THEN GOTO 3160 3140 PRINT "ILLEAGLE PAGE, REENTER"; 3150 GOTO 3120 3160 LET F1=1 3170 PRINT "NEW:OLD"; 3180 INPUT C$ 3190 IF C$="OLD" THEN GOTO 3270 3200 READ FILE[1,P1*100+1],X$,X,P2 3210 IF P2=1 THEN GOTO 3270 3220 IF F1=0 THEN GOTO 3260 3230 LET F1=0 3240 PRINT "PAGE IN USE" 3250 GOTO 3170 3260 WRITE FILE[1,P1*100+1],"-",X,1 3270 LET P=P1*100 3280 RETURN 3290 REM 3300 REM 3310 REM PAGE# 3320 REM 3330 REM 3340 CALL 1,2,350,70 3350 PRINT "PAGE#=";P/100 3360 RETURN 3370 REM 3380 REM 3390 REM FILE NAME 3400 REM 3410 REM 3420 CALL 1,2,350,0 3430 PRINT F$;"/";D$ 3440 RETURN 3450 REM 3460 REM 3470 REM OUT FIG 3480 REM 3490 REM 3500 LET ÂJ1=I3*100 3510 READ FILE[2,J1],X$,D0,N 3520 IF N=0 THEN RETURN 3530 LET J1=J1+1 3540 IF J1>N THEN RETURN 3550 READ FILE[2,J1],X9,Y9,M 3560 ON R+1 THEN GOSUB 3590, 3620, 3650, 3680 3570 CALL 1,M,X,Y 3580 GOTO 3530 3590 LET X=X+X9*S 3600 LET Y=Y+Y9*S 3610 RETURN 3620 LET X=X-Y9*S 3630 LET Y=Y+X9*S 3640 RETURN 3650 LET X=X-X9*S 3660 LET Y=Y-Y9*S 3670 RETURN 3680 LET X=X+Y9*S 3690 LET Y=Y-X9*S 3700 RETURN 3710 REM FORMAT SCREEN 3720 CALL 2 3730 LET R=0 3740 LET S=1 3750 CALL 1,0,700,780 3760 CALL 1,1,700,0 3770 CALL 1,1,1023,0 3780 CALL 1,1,1023,780 3790 CALL 1,1,0,780 3800 CALL 1,1,0,0 3810 CALL 1,1,700,0 3820 CALL 1,0,0,90 3830 CALL 1,1,700,90 3840 LET S=1 3850 LET I3=0 3860 LET P1=710 3870 LET P3=760 3880 FOR J=1 TO 2 3890 LET P2=710 3900 LET P4=750 3910 FOR I=1 TO 10 3920 LET I3=I3+1 3930 CALL 1,2,P1,P2 3940 PRINT L$[I3,I3] 3950 LET X=P3 3960 LET Y=P4 3970 CALL 1,0,P3,P4 3980 GOSUB 3450 3990 LET P2=P2-70 4000 LET P4=P4-70 4010 NEXT I 4020 LET P1=P1+100 4030 LET P3=P3+100 4040 NEXT J 4050 CALL 1,2,P1,710 4060 PRINT "U START" 4070 CALL 1,2,P1,680 4080 PRINT " VECTOR" 4090 CALL 1,2,P1,640 4100 PRINT "V END" 4110 CALL 1,2,P1,610 4120 PRINT " VECTOR" 4130 CALL 1,2,P1,570 4140 PRINT "W ALPHA" 4150 CALL 1,2,P1,500 4160 PRINT "X REMOVE" 4170 CALL 1,2,P1,430 4180 PRINT "Y REDRAW" 4190 CALL 1,2,P1,360 4200 PRINT "Z END" 4210 CALL 1,2,P1,330 4220 PRINT " CHART" 4230 CALL 1,2,P1,290 4240 PRINT "0 0DEG" 4250 CALL 1,2,P1,220 4260 PRINT "1 90DEG" 4270 CALL 1,2,P1,150 4280 PRINT "2 180DEG" 4290 CALL 1,2,P1,80 4300 PRINT "3 270DEG" 4310 CALL 1,2,P1,10 4320 PRINT "4 SCALE" 4330 RETURN 4340 END PLOT Âd  .TITLE PLOT .ENT PLOT,OUTPUT,LOOP2,LOOP1,OVER,LOOP3,FIN .EXTN .TASK,PUTC,VECTOR .EXTD .FCAL,.CPYL,.FRET .NREL THET1=-167 THET2=-166 XP1=-165 YP1=-164 XP2=-163 YP2=-162 XP3=-161 YP3=-160 BXY=-157 X1=-156 Y1=-155 X2=-154 Y2=-153 ICOUNT=-152 FS=15. FS PLOT: JSR @.CPYL STA 3,SAV3 OUTPUT: LDA 3,SAV3 LDA 1,@THET1,3 STA 1,THETA LDA 1,@X1,3 STA 1,X LDA 1,@Y1,3 STA 1,Y LDA 1,TWO STA 1,LPCT2 LOOP1: LDA 1,G ADD 1,3 LDA 2,0,3 LDA 1,THETA LDA 0,ONE SUB 0,1 ADD 1,2 LDA 2,0,2 LDA 0,X ADD 0,2 STA 2,XCOORD INC 3,3 LDA 2,0,3 ADD 1,2 LDA 2,0,2 LDA 0,Y ADD 0,2 STA 2,YCOORD JSR @.VECT MODE0 XCOORD YCOORD LDA 3,SAV3 LDA 1,C ADD 1,3 STA 3,TEM3 LDA 1,THREE STA 1,LPCNT LDA 0,ESC JSR @.PUTC LDA 0,P JSR @.PUTC LDA 3,TEM3 LOOP2: LDA 2,0,3 LDA 1,THETA LDA 0,ONE SUB 0,1 ADD 1,2 LDA 2,0,2 LDA 0,X ADD 0,2 STA 2,XCOORD INC 3,3 LDA 2,0,3 ADD 1,2 LDA 2,0,2 LDA 0,Y ADD 0,2 STA 2,YCOORD STA 3,TEM3 JSR @.VECT MODE1 XCOORD YCOORD LDA 3,TEM3 INC 3,3 DSZ LPCNT JMP LOOP2 LDA 3,SAV3 LDA 1,@THET2,3 STA 1,THETA LDA 1,@X2,3 STA 1,X LDA 1,@Y2,3 STA 1,Y DSZ LPCT2 JMP LOOP1 JMP OVER G: -161 C: -165 SAV3: 0 .OUTPUT: OUTPUT US: 37 THETA: 0 X: 0 Y: 0 MODE0: 0 MODE1: 1 TWO: 2 LPCT2: 0 XCOORD: 0 YCOORD: 0 ONE: 1 TEM3: 0 THREE: 3 LPCNT: 0 ESC: 33 A: .TXT "a" P: .TXT "p" .PUTC: PUTC .VECT: VECTOR OVER: LDA 3,SAV3 LDA 2,BXY,3 LDA 1,@ICOUNT,3 MOVR 1,1,SNR JMP FIN STA 1,LPCNT LOOP3: LDA 1,0,2 STA 1,XCOORD INC 2,2 LDA 1,0,2 STA 1,YCOORD INC 2,2 JSR @.VECT MODE0 XCOORD YCOORD JSR @.VECT MODE1 XCOORD YCOORD INC 1,1 STA 1,YCOORD JSR @.VECT MODE1 XCOORD YCOORD DSZ LPCNT JMP LOOP3 FIN: LDA 0,ESC JSR @.PUTC LDA 0,A JSR @.PUTC LDA 3,SAV3 JSR @.FRET .END NIAL$ Çe2PROCEDURE NI(I); INTEGER I; BEGIN EXTERNAL INTEGüER X,Y,H; EXTERNAL PROCEDURE EO,EI,WO,WI,DRAW; IF I > 1 THEN BEGIN EO(I-1); EI(I-1); NI(I-1); WI(I-1); WO(I-1) END ELSE BEGIN Y := Y + H; DRAW; X := X + H; DRAW; Y := Y + H; DRAW; X := X - H; DRAW; Y := Y + H; DRAW END END; TFORTSVFORT4TFORTSVATCSCMÏ Êe9 HOME,WINDOW,VIEWPORT,INPPI,INPP,RPOINT,APOINT,RDRAW,ADRAW,RMOVE,^ AMOVE,S2PTR,P2STR,P2STT,CLIPL,INPSI,INPS,PTREL,PTABS,DRREL,DRABS,^ MVREL,MVABS,XFRM,TINIT,ANMODE,ERASE,INSTR,OUTST,CHAR,GETC,PUTC,^ GLOBALS^ INPPIALF Íe4éPROCEDURE INPPI(X,Y); REAL X,Y; COMMENT: ---------------------------------------------------- I N P P I THIS ROUTINE INPUTS THE POSITION OF THE CROSSHAIRS CURSOR IN PAGE COORDINATES. THE PROGRAM DOES NOT WAIT FOR A KEY TO BE PRESSED: THE POSITION IS READ IMMEDIATELY. EXTERNAL PROCEDURES: INPSI - INPUT CURRENT CROSSHAIRS POSITION IN SCREEN COORDINATES S2PTR - TRANSLATE SCREEN TO PAGE COORDINATES ----------------------------------------------------; BEGIN EXTERNAL PROCEDURE INPSI,S2PTR; INTEGER SX,SY; INPSI(SX,SY); S2PTR(SX,SY,X,Y) END; MOONBS � Ðex0010 REM******************************************* 0020 REM* * 0030 REM* MOON * 0040 REM* * 0050 REM* MOON SIMULATES A LUNAR LANDER ON A * 0060 REM* DGC NOVA WITH EXTENDED BASIC AND A * 0070 REM* TEKTRONIX T-401X GRAPHICS DISPLAY * 0080 REM* IT REQUIRES THE GRAPHIC PRIMITIVES * 0090 REM* SUPPLIED BY 'TEKPACK'. * 0100 REM* USER CONTROL OF THE LANDER IS VIA THE * 0110 REM* T-401X THUMBWHEELS. CONTROL IS IN 2-D * 0120 REM* WITH USER CONTROL OVER THRUST AND ROTA- * 0130 REM* TION. LUNAR GRAVITY IS SIMULATED AND * 0140 REM* THE DISPLAY OCCURS IN 2 MAGNIFICATIONS * 0150 REM* THE SIMULATION STARTS IN HIGH ALTITUDE * 0160 REM* MODE AND SWITCHES LATER TO A LOW * 0170 REM* ALTITUDE, HIGH MAGNIFICATION MODE. * 0171 REM* FUEL CONSUMPTION IS ALSO SIMULATED WITH * 0172 REM* TOTAL FUEL REMAINING DISPLAYED, SO * 0173 REM* DON'T WASTE TOO MUCH TIME OR YOU'LL * 0174 REM* RUN OUT OF FUEL! * 0180 REM******************************************* 0190 DIM D$[1] 0200 LET A2=0 0210 LET W=0 0220 LET S=1 0230 GOSUB 0250 0240 GOTO 0480 0250 CALL 2 0260 CALL 1,2,700,740 0270 IF W=0 THEN PRINT "HIGH ALTITUDE DISPLAY" 0280 IF W=1 THEN PRINT "LOW ALTITUDE DISPLAY" 0290 CALL 1,0,0,0 0300 FOR O=4 TO 1020 STEP 4 0305 LET R9=RND(0)*7 0310 CALL 1,1,O,R9 0320 NEXT O 0330 CALL 1,1,1023,0 0340 IF S=0 THEN RETURN 0350 CALL 1,0,5,100 0360 CALL 1,1,15,100 0370 CALL 1,0,10,100 0380 CALL 1,1,10,300 0390 CALL 1,0,5,300 0400 CALL 1,1,15,300 0410 CALL 1,2,20,297 0420 PRINT "FULL" 0430 CALL 1,2,20,97 0440 PRINT "EMPTY" 0450 CALL 1,2,25,197 0460 PRINT "FUEL LEVEL" 0470 RETURN 0480 LET W=0 0490 LET A=135*.017533 0500 LET T=800 0510 LET M=4000 0520 LET F=2200 0530 LET X=10 0540 LET Y=700 0550 LET V1=15 0560 LET V2=-8 0570 REM 0580 LET Z1=T/M 0590 LET Z62=COS(A) 0600 LET Z3=SIN(A) 0610 LET V1=V1+Z1*Z2 0620 LET V2=V2+Z1*Z3-.3048 0630 LET X=X+V1 0640 LET Y=Y+V2 0650 IF F>15 THEN GOTO 0700 0660 LET M=1800 0670 LET S=0 0680 LET T=0 0690 GOTO 0790 0700 LET Z1=.005*T 0710 IF Z11015 THEN GOTO 1470 0800 IF X<0 THEN GOTO 1470 0810 IF Y>750 THEN GOTO 1470 0820 LET Z8=T/2000 0830 LET Z6=20*Z2 0840 LET Z7=20*Z3 0850 LET Z4=5*Z3 0860 LET Z5=5*Z2 0870 IF Y-Z5<0 THEN GOTO 1660 0880 IF Y+Z5<0 THEN GOTO 1660 0890 IF Y+Z7<0 THEN GOTO 1660 0900 IF Y<100 THEN IF V2>-20 THEN IF S<>0 THEN GOTO 1010 0910 IF Y<150 THEN IF W=1 THEN GOTO 1010 0920 IF W=0 THEN GOTO 1190 0930 LET W=0 0940 GOSUB 0250 0950 IF S=0 THEN GOTO 1190 0960 FOR J=INT(U) TO 300 0970 CALL 1,0,5,J 0980 CALL 1,1,15,J 0990 NEXT J 1000 GOTO 1190 1010 IF W=1 THEN GOTO 1150 1020 LET W=1 1030 LET B1=X-96 1040 LET B2=X+96 1050 GOSUB 0250 1060 IF S=0 THEN GOTO 1150 1070 FOR J=INT(U) TO 300 1080 CALL 1,0,5,J 1090 CALL 1,1,15,J 1100 NEXT J 1110 IF S<3 THEN GOTO 1150 1120 LET S=1 1130 LET T=RND(0)*10000 1140 GOTO 0570 1150 IF XB2 THEN GOTO 1030 1170 LET X=(X-B1-4)*5 1180 LET Y=Y*5 1190 CALL 1,0,X,Y 1200 CALL 1,1,X+Z4,Y-Z5 1210 CALL 1,1,X+Z6,Y+Z7 1220 CALL 1,1,X-Z4,Y+Z5 1230 CALL 1,1,X+.5*Z4,Y-.5*Z5 1240 IF Y-Z7*Z8>0 THEN GOTO 1320 1250 CALL 1,1,X+4,2 1260 CALL 1,1,X+8,2 1270 CALL 1,1,X+25,10 1280 CALL 1,1,X-25,10 1290 CALL 1,1,X-8,2 1300 CALL 1,1,X-4,2 1310 GOTO 1330 1320 CALL 1,1,X-Z6*Z8,Y-Z7*Z8 1330 CALL 1,1,X-.5*Z4,Y+.5*Z5 1340 CALL 1,2,0,740 1350 IF W=0 THEN GOTO 1380 1360 LET X=X/5+B1+4 1370 LET Y=Y/5 1380 REM 1390 IF S=0 THEN GOTO 0570 1400 CALL 3,1,D$,A2,T 1410 LET T=T*5 1420 LET A=A-((A2-512)*1.7533E-04) 1430 IF T<0 THEN LET T=0 1440 IF S<3 THEN GOTO 0570 1450 IF T=0 THEN GOTO 1400 1460 GOTO 1020 1470 IF Y>0 THEN GOTO 1550 1480 IF W=1 THEN LET X=(X-B1-4)*5 1490 FOR Q=1 TO 30 1500 CALL 1,0,X,0 1510 LET Q2=RND(0) 1515 LET R9=COS(Q2*3.14)*Q*10 1520 CALL 1,1,R9,Q 1530 NEXT Q 1540 GOTO 1560 1550 CALL 2 1560 FOR I=1 TO 50 1570 PRINT "<7>"; 1580 FOR J=1 TO 10 1590 PRINT "<0>"; 1600 NEXT J 1610 NEXT I 1620 CALL 1,2,0,750 1630 PRINT "YOU CRASHED" 1640 GOTO 1990 1650 CALL 2 1660 IF ABS(V1)<2 THEN IF ABS(V2)<3 THEN GOTO 1680 1670 GOTO 1470 1680 CALL 2 1690 IF W=1 THEN LET X=(X-B1-4)*5 1700 CALL 1,0,0,0 1710 CALL 1,1,1023,0 1720 CALL 1,0,X,Y+5 1730 CALL 1,1,X+5,Y+5 1740 CALL 1,1,X,Y+25 1750 CALL 1,1,X-5,Y+5 1760 CALL 1,1,X+2,Y+5 1770 CALL 1,1,X+2,Y+3 1780 CALL 1,1,X+4,0 1790 CALL 1,1,X-4,0 1800 CALL 1,1,X-2,Y+3 1810 CALL 1,1,X-2,Y+5 1820 CALL 1,0,X+20,0 1830 CALL 1,1,X+20,15 1840 CALL 1,1,X+30,15 1850 CALL 1,1,X+30,10 1860 CALL 1,1,X+20,10 1870 CALL 1,0,X+20,13 1880 CALL 1,1,X+23,13 1890 CALL 1,2,500,300 1900 PRINT "--- GOOD LANDING ---" 1910 CALL 1,2,0,750 1920 LET F=F+500 1930 LET U=F/11+100 1940 LET M=M+500 1950 LET V1=0 1960 LET V2=0 1970 LET Y=10 1980 LET S=3 1990 PRINT "HIT RETURN TO PLAY AGAIN"; 2000 INPUT D$ 2010 GOTO 0200 CURVEAL Ûe9 CURVE:BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE MOOVE,DRAW,TINIT,HOME,GCOUT; EXTERNAL PROCEDURE NO,EO,SO,WO; LITERAL H0(128),XOFFSET(256),YOFFSET(128); STRING STR; INTEGER I,J,N; GCOUT(STR); IF STR = "$TTO" THEN STR := "COM.CM" ELSE STR := "FCOM.CM"; OPEN(0,STR); COMARG(0,STR); STR := "1"; COMARG(0,STR); I := STR; COMARG(0,STR); N := STR; CLOSE(0); IF N > 8 THEN N := 8; IF I > N THEN I := N; TINIT(0); X := 3*H0 + XOFFSET; Y := H0 + YOFFSET; H := 2 * H0; FOR J := 1 STEP 1 UNTIL I-1 DO BEGIN H := H/2; X := X - H - H/2; Y := Y + H + H/2 END; FOR I := I STEP 1 UNTIL N DO BEGIN H := H/2; X := X - H - H/2; Y := Y + H + H/2; MOOVE; EO(I); SO(I); WO(I); NO(I) END; HOME END; JTINITAL ße4ÅPROCEDURE TINIT(baud); INTEGER baud; COMMENT: ---------------------------------------------- T I N I T This routine initializes the ATCS globals (external variables) and erases the screen. External variables: BEAMX,BEAMY - Current coordinate of beam TDELAY - Number of nulls for erase delay PX,PY - page coordinate virtual "beam" position XPS,YPS - Page to screen coordinate conversion factors PXL,PXH - X boundaries of page window PYL,PYH - Y boundaries of page window SXL,SXH - X boundaries of screen viewport SYL,SYH - Y boundaries of screen viewport External procedures: ERASE - Erase the screen and provide delay Input variable: baud - The baud rate of this terminal. (E.G. 9600 means 960 characters a second.) The number of delay nulls needed is computed to provide 1/2 second delay. -------------------------------------------------; BEGIN EXTERNAL INTEGER BEAMX,BEAMY,TDELAY; EXTERNAL REAL PX,PY,XPS,YPS, PXL,PXH,PYL,PYH; EXTERNAL INTEGER SXL,SXH,SYL,SYH; EXTERNAL PROCEDURE ERASE; BEAMX := BEAMY := -1; TDELAY := (baud+19)/20; ERASE; PXL := PYL := 0.0; PXH := 1023.0; PYH := 780.0; SXL := SYL := 0; SXH := 1023; SYH := 780; XPS := YPS := 1.0; PX := PY := -1.0 END; ERASEAL€ ãe6¹PROCEDURE ERASE; COMMENT: ------------------------------------------------- E R A S E This routine erases the screen and provides a 1/2 second delay by outputting the appropriate number of nulls. External variables: TMODE - Current mode of terminal TDELAY - Number of delay nulls required External procedures: PUTC - Output a character --------------------------------------------------; BEGIN LITERAL esc(27), ff(12), alphmode(2); EXTERNAL INTEGER TMODE,TDELAY; EXTERNAL PROCEDURE PUTC; INTEGER i; PUTC(esc); PUTC(ff); TMODE := alphmode; FOR i := 1 STEP 1 UNTIL TDELAY DO PUTC(0) END; VECTOR{ æd  .TITLE VECTOR .NREL .EXTN PUTC .ENT VECTOR,XEXTN,YEXTN,MODE VECTOR: STA 0,SAVE0 STA 1,SAVE1 STA 2,SAVE2 STA 3,SAVE3 LDA 0,@0,3 STA 0,MODE LDA 1,ONE SUB# 0,1,SNR JMP NO.GS LDA 0,GS JSR @.PUTC ;SEND Y HIGH BITS NO.GS: LDA 3,SAVE3 LDA 0,@2,3 STA 0,YEXTN MOV 0,2 ADDZL 0,0 MOVZL 0,0 MOVZS 0,0 LDA 1,MASKL AND 1,0 LDA 1,YXHCTL ADD 1,0 JSR @.PUTC ;SEND Y LOW BITS MOV 2,0 LDA 1,MASKL AND 1,0 LDA 1,YLCTL ADD 1,0 JSR @.PUTC ;SEND X HIGH BITS LDA 3,SAVE3 LDA 0,@1,3 ;XCOORD STA 0,XEXTN MOV 0,2 ADDZL 0,0 MOVZL 0,0 MOVZS 0,0 LDA 1,MASKL AND 1,0 LDA 1,YXHCTL ADD 1,0 JSR @.PUTC ;SEND X LOW BITS MOV 2,0 LDA 1,MASKL AND 1,0 LDA 1,XLCTL ADD 1,0 JSR @.PUTC ;NEED TO CHANGE CRT STATUE?? LDA 3,SAVE3 MOV 3,2 LDA 0,@0,3 LDA 1,TWO SUB# 0,1,SZR JMP EXIT LDA 0,US JSR @.PUTC EXIT: LDA 0,SAVE0 LDA 1,SAVE1 LDA 2,SAVE2 LDA 3,SAVE3 JSR 3,3 SAVE0: 0 SAVE1: 0 SAVE2: 0 SAVE3: 0 XEXTN: 0 YEXTN: 0 MODE: 0 .PUTC: PUTC MASKL: 37 YXHCTL: 40 YLCTL: 140 XLCTL: 100 ONE: 1 TWO: 2 C: 0 CONS: 100. ESC: 33 FF: 14 GS: 35 US: 37 .RDX 10 XL: 0 YU: 767 .RDX 8 .END „INIT ª êdu2 PARAMETER L=72 SUBROUTINE INIT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C GLOBALS ARE AS DESCRIBED IN THE MAINLINE EXCEPT FOR C SEED - A RANDOM NUMBER GENERATOR STARTER. C THE VARIABLES INITIALIZED MAY BE USER INPUT OR DEFAULT VALUES. C CCCCCC C INIT IS INVOKED TO INITIALIZE VARIABLES AND OUTPUT THE C BATTLEGROUND ON THE SCREEN. C C THE FOLLOWING VARIABLES ARE INITIALIZED: C C THETA1,THETA2,NTHETA,TANCOS,TANSIN,BOMCOS,BOMSIN C XP1,XP2,XP3,YP1,YP2,YP3,X1,X2,Y1,Y2,IX1,IX2,IY1,IY2 C BUNKER,ICOUNT,RANGE1,RANGE2,MOVE1,MOVE2,TURN1,TURN2 C FIRE1,FIRE2,SCORE1,SCORE2. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC COMMON THETA1,THETA2,NTHETA,TANCOS,TANSIN,BOMCOS,BOMSIN,XP1,XP2,XP3,YP1,YP2, +YP3,BXY,X1,Y1,X2,Y2,ICOUNT,IX1,IY1,IX2,IY2,BUNKER, +RANGE1,RANGE2,SCORE1,SCORE2 COMMON /SEED/ SEED COMMON /GARF/ MOVE1,TURN1,MOVE2,TURN2,FIRE1,FIRE2,FLAG INTEGER THETA1,THETA2,NTHETA,XP1(L),XP2(L),XP3(L),YP1(L),YP2(L),YP3(L),BXY(20), +BUNKER(26,20),MOVE1,TURN1,MOVE2,TURN2,SCORE1,SCORE2,FIRE1,FIRE2,FLAG REAL TANCOS(L),TANSIN(L),BOMCOS(L),BOMSIN(L),X1,Y1,X2,Y2,RANGE1,RANGE2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C SET BUNKER GRID TO ZERO C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DO 1 I=1 , 26 DO 1 J=1,20 BUNKER(I,J)=0 1 CONTINUE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C SET ALL EDGE GRID BUNKERS TO 1 TO INSURE A BORDER C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DO 10 I=1,26 BUNKER(I,1)=1 BUNKER(I,20)=1 10 CONTINUE DO 20 I=1,20 BXY(I)=0 BUNKER(1,I)=1 BUNKER(26,I)=1 20 CONTINUE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C INIT THE RANDOM NUMBER GENERATOR FROM THE TIME OD DAY CLOCK C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SEED=0 R=RAND(SEED) CALL FGTIM(IHR,IMIN,ISEC) SEED=(IMIN*ISEC+1)/5124.6278 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C ESTABLISH THE DEFAULT VALUES FOR VARIOUS VARIABLES C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC NTHETA=72 ICOUNT=0 XT1=30.0 XT2=-20 XT3=-20 YT1=0.0 YT2=10.0 YT3=-10.0 CT=8.0 CB=30.0 RANGE1=25.0 RANGE2=25.0 MOVE1=1 MOVE2=1 TURN1=1 TURN2=1 SCORE1=0 SCORE2=0 FIRE1=0 FIRE2=0 FLAG=0 NOBUNK=20 TYPE 'DO YOU WISH TO CHANGE PARAMETERS? (1 OR 0)' ACCEPT N IF(N.EQ.0)GOTO 35 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C INPUT INITIAL VALUES FROM THE KEYBOARD C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC TYPE 'ENTER NUMBER OF ANGULAR DIVISIONS (<=72)' ACCEPT NTHETA TYPE 'ENTER TANK SPEED, BOMB SPEED' ACCEPT CT,CB TYPE 'ENTER RELATIVE TANK VERTICES (X1,Y1,X2,Y2,X3,Y3)' ACCEPT XT1,YT1,XT2,YT2,XT3,YT3 TYPE 'ENTER TANK1 HIT DIAMETER, TANK2 HIT DIAMETER' ACCEPT RANGE1, RANGE2 TYPE 'ENTER NO OF BUNKERS' ACCEPT NOBUNK CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C RANDOMLY DISTRIBUTE NOBUNK NUMBER OF BUNKERS INTO THE BATTLEGROUND C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC˜CC 35 DO 40 I=1,NOBUNK IX=24*RAND(SEED)+1 IY=18*RAND(SEED)+1 BUNKER(IX,IY)=1 40 CONTINUE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C RANDOMLY DITRIBUTE AND ORIENT THE TWO TANK IMAGES & ZERO THE CORRESPONDING C C GRID LOCATIONS TO INSURE THAT THE TANKS ARE NOT WITHIN A BUNKER. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC I=11*RAND(SEED)+2 J=17*RAND(SEED)+2 IX1=38*I-19 X1=IX1 IY1=38*J-19 Y1=IY1 BUNKER(I,J)=0 THETA1=(NTHETA-1)*RAND(SEED)+1 I=11*RAND(SEED)+14 J=17*RAND(SEED)+2 IX2=38*I-19 X2=IX2 IY2=38*J-19 Y2=IY2 BUNKER(I,J)=0 THETA2=(NTHETA-1)*RAND(SEED)+1 TINCR=3.14159*2.0/NTHETA THET=0.0 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C INIT TANCOS,TANSIN,BOMCOS,BOMSIN,XP1,XP2,XP3,YP1,YP2,YP3 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DO 100 I=1,NTHETA A=COS(THET) B=SIN(THET) TANCOS(I)=CT*A TANSIN(I)=CT*B BOMCOS(I)=CB*A BOMSIN(I)=CB*B XP1(I)=XT1*A-YT1*B XP2(I)=XT2*A-YT2*B XP3(I)=XT3*A-YT3*B YP1(I)=XT1*B+YT1*A YP2(I)=XT2*B+YT2*A YP3(I)=XT3*B+YT3*A THET=THET+TINCR 100 CONTINUE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C OUTPUT THE BATTLEGROUND BY PLOTTING THE SQUARES THAT EQUAL 1 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL ERASE DO 150 I=1,26 DO 150 J=1,20 IF(BUNKER(I,J).EQ.1)CALL PLOTB((I-1)*38,(J-1)*38) 150 CONTINUE RETURN END VIEWPORTALº ÷e4ÈPROCEDURE VIEWPORT(X1,Y1,X2,Y2); VALUE X1,Y1,X2,Y2; INTEGER X1,Y1,X2,Y2; COMMENT: ------------------------------------------------------- V I E W P O R T THIS ROUTINE SETS THE VIEWPORT BOUNDARES OF THE CURRENT PAGE VIEWPORT. POINTS X1,Y1 AND X2,Y2 MUST SPECIFY OPPOSING CORNERS OF THE VIEWPORT. EXTERNAL VARIABLES: PXL,PXH - X BOUNDARIES OF PAGE WINDOW PYL,PYH - Y BOUNDARIES OF PAGE WINDOW SXL,SXH - X BOUNDARIES OF SCREEN WINDOW SYL,SYH - Y BOUNDARIES OF SCREEN WINDOW XPS,YPS - PAGE TO SCREEN CONVERSION FACTORS -------------------------------------------------------; BEGIN EXTERNAL REAL PXL,PXH,PYL,PYH,XPS,YPS; EXTERNAL INTEGER SXL,SXH,SYL,SYH; IF X1 < X2 THEN BEGIN SXL := X1; SXH := X2 END ELSE BEGIN SXL := X2; SXH := X1 END; IF Y1 < Y2 THEN BEGIN SYL := Y1; SYH := Y2 END ELSE BEGIN SYL := Y2; SYH := Y1 END; XPS := (SXH-SXL) / (PXH-PXL); YPS := (SYH-SYL) / (PYH-PYL) END; RPOINTAL} úe6RPROCEDURE RPOINT(DX,DY); VALUE DX,DY; REAL DX,DY; COMMENT: ----------------------------------------------------- R P O I N T THIS ROUTINE PLOTS A SINGLE POINT RELATIVE TO THE CURRENT PAGE COORDINATE. DX AND DY ARE SIGNED REAL NUMBERS SPECIFYING THE RELATIVE POSITION OF THE ENDPOINT. EXTERNAL VARIABLES: PX - CURRENT X POSITION OF VIRTUAL "BEAM" PY - CURRENT Y POSITION OF VIRTUAL "BEAM" EXTERNAL PROCEDURES: APOINT - PLOT A POINT AT ABSOLUTE PAGE COORDINATE -----------------------------------------------------; BEGIN EXTERNAL REAL PX,PY; EXTERNAL PROCEDURE APOINT; APOINT(PX+DX,PY+DY) END; INPSIAL— ýe9 ;PROCEDURE INPSI(X,Y); INTEGER X,Y; COMMENT: -------------------------------------------------Ò I N P S I THIS ROUTINE INPUTS THE CURRENT POSITION OF THE CROSSHAIRS CURSOR. THE PROGRAM DOES NOT WAIT FOR A KEY TO BE PRESSED: THE POSITION IS READ IMMEDIATELY. EXTERNAL VARIABLES: TMODE - CURRENT MODE OF TERMINAL BEAMX - CURRENT X COORDINATE OF BEAM TDELAY - NUMBER NULLS NEEDED FOR 1/2 SEC DELAY EXTERNAL PROCEDURES: PUTC - OUTPUT A CHARACTER TO THE TERMINAL GETC - GET A CHATACTER FROM THE TERMINAL MVABS - MOVE TO AN ABSOLUTE SCREEN COORDINATE ------------------------------------------------; BEGIN LITERAL ESC(27),SUB(26),ENQ(5), MASK(11111R2),GINMODE(4); EXTERNAL INTEGER TMODE,BEAMX,TDELAY; EXTERNAL PROCEDURE GETC,PUTC,MVABS; INTEGER HI,LO,D,I; PUTC(ESC); PUTC(SUB); COMMENT: PROVIDE DELAY; D := IF TDELAY = 0 THEN 480 ELSE TDELAY; D := D * 3 / 100; FOR I := 1 STEP 1 UNTIL D DO PUTC(0); PUTC(ESC); PUTC(ENQ); GETC(HI); HI := HI AND MASK; GETC(LO); LO := LO AND MASK; X := HI*32 + LO; GETC(HI); HI := HI AND MASK; GETC(LO); LO := LO AND MASK; Y := HI*32 + LO; GETC(LO) END; MOVEAL[ e2PROCEDURE MOOVE; BEGIN EXTERNAL INTEGER X,Y; EXTERNAL PROCEDURE MVABS; MVABS(X,Y) END; DRAWALZ e2PROCEDURE DRAW; BEGIN EXTERNAL INTEGER X,Y; EXTERNAL PROCEDURE DRABS; DRABS(X,Y) END; SYSLBSYSLBGETCSR e4Î .TITL GETC ;-------------------------------------------- ; ; G E T C ; ; THIS ROUTINE INPUTS A CHARACTER FROM THE ; TERMINAL AND RETURNS ITS BINARY VALUE ; AS AN INTEGER. ; ; EXAMPLE CALL: ; ; GETC(ICHAR); ; ; RETURN VARIABLE: ; ; ICHAR - AN INTEGER CONTAINING THE BINARY ; EQUIVALENT OF THE CHARACTER INPUT ; ;-------------------------------------------- .EXTU .NREL S= -167 SP= 1B0-S ICHAR= S CSIZE= ICHAR+1-S INTPAR= 2B7+1B11+1 .ENT GETC GETC: JSR @SAVE ; ENTER CSIZE ; STACK SIZE 1 ; 1 ARGUMENT SP+ICHAR ; LOCATION ON STACK INTPAR ; INTEGER PARAMETER STA 3,USP ; SAVE: RESTORED BY RDOS .SYSTM .GCHAR ; GET THE CHARACTER JMP .+1 ; NO ERRORS LDA 1 C177 ; MASK AND 1,0 ; MASK TO 7 BITS STA 0,ICHAR,3; RETURN THE VALUE JSR @RETURN ; BYE C177: 177 .END SPLOT% d .TITLE SPLOT .EXTN VECTOR,PUTC .EXTD .FRET,.CPYL .ENT LOOP SPLOT .NREL XSCORE= -167 YSCORE= -166 XEXPL=-165 YEXPL=-164 FS= 4 SPLOT: JSR @.CPYL STA 3,SAV3 LDA 1,C50 STA 1,LPC LDA 1,@XEXPL,3 STA 1,XCENT LDA 2,C128 ADD 2,1 STA 1,XCENM LDA 1,@YEXPL,3 STA 1,YCENT ADD 2,1 STA 1,YCENM JSR @.VECT MODE0 XCENT YCENT LDA 0,ESC JSR @.PUTC LDA 0,P JSR @.PUTC LDA 2,.SPLOT LOOP: LDA 0,MAS2K LDA 1,0,2 AND 0,1 LDA 3,XCENM ADD 3,1 STA 1,XCOORD INC 2,2 LDA 1,0,2 AND 0,1 LDA 3,YCENM ADD 3,1 STA 1,YCOORD JSR @.VECT MODE1 YCOORD XCOORD JSR @.VECT MODE1 XCENT YCENT LDA 0,BELL JSR @.PUTC DSZ LPC JMP LOOP LDA 0,ESC JSR @.PUTC LDA 0,G JSR @.PUTC LDA 3,SAV3 LDA 1,@XSCORE,3 LDA 2,@YSCORE,3 STA 1,XCOORD STA 2,YCOORD JSR @.VECT MODE0 XCOORD YCOORD LDA 0,C38 ADD 0,1 ADD 0,2 STA 1,XCOORD STA 2,YCOORD JSR @.VECT MODE1 XCOORD YCOORD SUB 0,1 STA 1,XCOORD JSR @.VECT MODE0 XCOORD YCOORD ADD 0,1 SUB 0,2 STA 1,XCOORD STA 2,YCOORD JSR @.VECT MODE1 XCOORD YCOORD LDA 3,SAV3 JSR @.FRET .SPLOT: SPLOT .VECT: VECTOR .PUTC: PUTC SAV3: 0 C50: 65. LPC: 0 XCENT: 0 YCENT: 0 XCOORD: 0 YCOORD: 0 MODE1: 1 MODE0: 0 ESC: 33 P: 160 G: 147 MASK: 377 BELL: 7 C128: -128. XCENM: 0 YCENM: 0 C38: 38. .END NOALá e2PROCEDURE NO(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE NI,DRAW; IF I > 1 THEN BEGIN NO(I-1); NI(I-1); NO(I-1) END ELSE BEGIN X := X - H; DRAW; Y := Y + H; DRAW; X := X + H; DRAW END END; ANMODEALÈ e4ÅPROCEDURE ANMODE; COMMENT: ------------------------------------------------ A N M O D E This routine returns the terminal to alphanumeric mode. External variables: TMODE - Current mode of terminal External procedures: PUTC - Output a character -------------------------------------------------; BEGIN LITERAL us(31), alphmode(2); EXTERNAL INTEGER TMODE; EXTERNAL PROCEDURE PUTC; PUTC(us); TMODE := alphmode END; INSTRAL  e9_PROCEDURE INSTR(STR); STRING STR; COMMENT: ---------------------------------------------- I N S T R THIS ROUTINE INPUTS A CHARACTER STRING FROM THE TERMINAL. CHARACTERS ARE INPUT UP TO A CARRIAGE RETURN. THE CARRIAGE RETURN IS NOT RETURNED AS PART OF THE STRING. EXTERNAL PROCEDURES: GETC - GET A CHARACTER FROM THE TERMINAL CHAR - CONVERT AN INTEGER TO A CHARACTER ----------------------------------------------; BEGIN LITERAL CR(13); EXTERNAL PROCEDURE GETC,PUTC,CHAR; INTEGER P,ICHAR; P := 0; LAB: P := P + 1; GETC(ICHAR); PUTC(ICHAR); CHAR(SUBSTR(STR,P),ICHAR); IF ICHAR <> CR THEN GOTO LAB; SETCURRENT(STR,P) END; RAND� e  REAL FUNCTION RAND(SEED) IF (SEED.EQ.0.0)GOTO 100 A=5*EXP(SEED*3.14159) SEED=A-IFIX(A) RAND=SEED RETURN 100 RAND=.1 RETURN END INPPAL| e4âPROCEDURE INPP(STR,X,Y); STRING STR; REAL X,Y; COMMENT: ---------------------------------------------------- I N P P THIS ROUTINE INPUTS A POINT FROM THE TERMINAL IN PAGE COORDINATES. THE CROSSHAIRS CURSOR IS TUR’NED ON AND THE PROGRAM WAITS FOR A KEY TO BE PRESSED. THE VALUE OF THE KEY AND THE POSITION OF THE CROSSHAIRS ARE RETURNED. EXTERNAL PROCEDURES: INPS - INPUT A POINT IN SCREEN COORDINATES S2PTR - TRANSLATE FROM SCREEN TO PAGE COORDINATES ----------------------------------------------------; BEGIN EXTERNAL PROCEDURE INPS,S2PTR; INTEGER SX,SY; INPS(STR,SX,SY); S2PTR(SX,SY,X,Y) END; AMOVEAL e9IPROCEDURE AMOVE(X,Y); VALUE X,Y; REAL X,Y; COMMENT: -------------------------------------------------------- A M O V E THIS ROUTINE MOVES THE VIRTUAL "BEAM" TO THE ABSOLUTE PAGE COORDINATES X,Y. EXTERNAL VARIABLES: TMODE - CURRENT MODE OF TERMINAL PX - CURRENT X POSITION OF VIRTUAL BEAM PY - CURRENT Y POSITION OF VIRTUAL BEAM --------------------------------------------------------; BEGIN LITERAL GRAPHMODE(1); EXTERNAL INTEGER TMODE; EXTERNAL REAL PX,PY; PX := X; PY := Y; TMODE := GRAPHMODE END; MVRELALh e3"PROCEDURE MVREL(Dx,Dy); VALUE Dx,Dy; INTEGER Dx,Dy; COMMENT: ----------------------------------------------- M V R E L This routine moves the beam (dark vector) relative to its current screen position. Dx and Dy are signed integers specifying the relative motion in raster units. External variables: BEAMX - Current X position of beam BEAMY - Current Y position of beam External procedures: MVABS - Move to absolute screen position -----------------------------------------------; BEGIN EXTERNAL INTEGER BEAMX,BEAMY; EXTERNAL PROCEDURE MVABS; MVABS(BEAMX+Dx,BEAMY+Dy) END; MASTER d- CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C MAINLINE FOR PROJECT TANK. C C C C WRITTEN BY KEVIN DARBY C C ROBIN STEGE C C C C FINAL PROJECT CSC 313 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C TANK SIMULATES THE MOVEMENT AND FIRE OF TWO USER CONTROLLED TANK- C C LIKE IMAGES. INPUT IS FROM THE KEYBOARD OF A TEKTRONIX 4014-1 C C DVST WITH THE FOLLOWING EFFECT: C C C C KEY EFFECT C C TANK1 (LEFT) TANK2 (RIGHT) C C D ; MOVE CORRESPONDING TANK FORWARD C C S L STOP FORWARD MOTION C C Z , START CORRES@PONDING TANK TURNING COUNTER CLOCKWISE C C / START CORRESPONDING TANK TURNING CLOCKWISE C X . STOP TURNING CORRESPONDING TANK C C A K FIRE BOMB FROM CORRESPONDING TANK C C C C OUTPUT IS THE SAME 4014 UNIT IN 2 MODES: 1) THE INITIAL BATTLEGROUND IS  C C DRAWN IN NORMAL GRAPHICS MODE. THIS CONSISTS OF A RECTANGULAR BORDER WITH C C A RANDOM DISTRIBUTION OF A NUMBER OF SQUARE "BUNKERS". AFTER INITIALIZATION C C OUTPUT OF THE TANK, BOMB, AND EXPLOSION IMAGES ARE DONE IN WRITE-THRU MODE C C REFRESHED AS OFTEN AS THE SPEED OF THE COMPUTER PERMITS TO SIMULATE MOTION. C C C C THE INPUT ROUTINE IS A SEPARATE TASK AND RUNS IN C C PARALLEL. THUS THE USERS HAVE DIRECT, CONTINUOUS, INTERACTIVE CONTROL OF C C HIS TANK. C C C C WHEN ONE USER'S BOMB IMAGE PASSES SUFFICIENTLY CLOSE TO THE CENTER OF THE C C OTHER USER'S TANK, AN EXPLOSION EFFECT ENSUES, THE SECOND TANK IS RAND- C C OMLY RELOCATED AND SCORE IS REGISTERED FOR THE FIRST USER. CONTROL RETURNS C C TO THE OPERATING SYSTEM IF EITHER USER SCORES TWENTY TIMES. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C GLOBAL VARIABLES C C INTEGER: C C C C THETA1,THETA2 INDEX (1 TO NTHETA) CORRESPONDING TO THE ANGULAR C C POSITION OF TANK1 AND TANK2. C C C C NTHETA :NUMBER OF ANGULAR POSITIONS EACH TANK MAY HAVE. C C MUST BE < OR = 72. C C C C XP1,YP1 C C XP2,YP2 C C XP3,YP3 :DIMENSIONED (1:72). THESE ARRAYS ARE INDEXED BY C C THETA1 AND THETA2 TO GIVE THE X,Y COORDINATES OF C C EACH OF THE 3 VERTICES OF THE TANK IMAGE. THE COORD- C C INATES ARE TEKPOINT TYPE VALUES TO AVOID LATER SCAL- C C ING. THE INDICES (THETA1 AND THETA2 WILL SELECT A C C MASTER IMAGE OF A TANK FROM THESE ARRAYS WHICH IS C C ROTATED BY THE PROPER ANGLE (THIS SAVES LATER ROTA- C C TION CALCULATION). C C C C IX1,IY1 C C IX2,IY2 :CURRENT X,Y COORDINATE OF TANK1 AND TANK2. CORRE- C C SPONDS TO THE REAL VALUES X1,Y1,X2,Y2. THE REAL C C VALUES ARE TRUNCATED AND ASSIGNED TO THESE INTEGER C C VARIABLES FOR PLOTTING. C C C C MOVE1,MOVE2 :MOVEMENT STATUS OF TANK1 & TANK2. 1: STOPPED,2: MOVING C C C C TURN1,TURN2 :TURNING STATUS OF TANK1 & TANK2. 1: NOT TURNING C C 2: TURNING CLOCKWISE, 3: TURNING COUNTERCLOCKWISE C C C C FIRE1,FIRE2 :FIRE STATUS OF TANK1 & TANK2. 1: FIRE, 2: NO FIRE C C C C SCORE1,SCORE2 :SCORE OF TANK1 & TANK2. C C C C FLAG :SET BY INPUT ROUTINE WHEN A COMMAND CHARACTER IS C C INPUT. CLEARED BY MAIN TASK TO INDICATE PREVIOUSLY C C CHARACTER HAS BEEN PROCESSED. C C C C BUNKER :DIMENSIONED(26,20). MATRIX CORRESPONDS TO THE GRID C C OF BUNKERS ON THE BATTLEGROUND. A 1 MEANS A BUNKER C C EXISTS IN THAT SQUARE, 0 MEANS SQURE C C EMPTY. A FRACTION OF THE TANK'S OR BOMB'S CURRENT C C X,Y COORDINATE IS USED AS AN INDEX INTO THIS ARRAY C C TO DETERMINE IF THE TANK OR BOMB IMAGE IS ENTERING A C C BUNKER SQUARE. C C C C BXY :DIMENSIONED(20). THIS ARRAY CONTAINS CONSECUTIVE X,Y C C COORDINATES OF ALL CURRENTLY ACTIVE BOMB IMAGES. C C C C ICOUNT :THE CURRENT SIZE OF BXY. C C C C C C C C REAL: C C C C TANCOS,TANSIN :DIMENSIONED(1:72). THIS ARRAY CONTAINS TEKPOINT TYPE C C VALUES. IT IS INDEX BY THETA1 & THETA2 TO PRODUCE C C X & Y DISPLACEMENTS WHICH WHEN ADDED TO TANK1 & TANK2 C C CENTERS WILL INCREMENT THEM IN THE DIRECTION INDICATED C C BY THETA1 & THETA2. C C C C BOMCOS,BOMSIN :DIMENSIONED(1:72). THESE ARRAYS ARE USED SIMILARLY C C TO ABOVE ARRAYS. USED TO INCREMENT THE BOMB IMAGES C C IN THE APPROPRIATE DIRECTIONS. C C C C X1,Y1,X2,Y2 :REAL X,Y VALUES OF THE CENTERS OF TANK1 & C C TANK2. THESE VALUES ARE CHANGED TO AFFECT TANK MOVE- C C MENT. AFTER EACH MOVEMENT CALCULATION THESE VALUES C C ARE TRUNCATED AND PUT IN IX1,IY1,IX2,IY2 FOR PLOTTING. C C C C RANGE1,RANGE2 :DISTANCE IN TEKPOINTS THAT A BOMB NEED GET C C TO THE OTHER USER'S TANK TO EXPLODE IT. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC PARAMETER L=72 COMMON THETA1,THETA2,NTHETA,TANCOS,TANSIN,BOMCOS,BOMSIN,XP1,XP2,XP3,YP1,YP2, +YP3,BXY,X1,Y1,X2,Y2,ICOUNT,IX1,IY1,IX2,IY2,BUNKER, +RANGE1,RANGE2,SCORE1,SCORE2 COMMON /GARF/ MOVE1,TURN1,MOVE2,TURN2,FIRE1,FIRE2,FLAG INTEGER THETA1,THETA2,NTHETA,XP1(L),XP2(L),XP3(L),YP1(L),YP2(L),YP3(L),BXY(20), +BUNKER(26,20),MOVE1,TURN1,MOVE2,TURN2,SCORE1,SCORE2,FIRE1,FIRE2,FLAG REAL TANCOS(L),TANSIN(L),BOMCOS(L),BOMSIN(L),X1,Y1,X2,Y2,RANGE1,RANGE2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C INIT IS CALLED TO INITIALIZE IMPORTANT VARIBLES. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL INIT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C INPUT IS CALLED TO SUBTASK AN INPUT ROUTINE TO RUN IN PARRALLEL WITH THE C C MAINLINE. IT CONTINUALLY WAITS FOR KEYBOARD INPUT AND AFFECTS C C THE FOLLOWING GLOBALS: C C C C MOVE1,MOVE2,TURN1,TURN2,FIRE1,FIRE2,FLAG C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL INPUT CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C PRI IS CALLED TO MAKE THE PRIORITY OF THE MAINLINE EQUAL TO THAT OF THE C C SUBTASKED INPUT ROUTINE. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL PRI(2) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C TANKP IS CALLED TOCALCULATE THE NEW POSITIONS OF TANK1 AND TANK2 C C TANKP REFERENCES THE FOLLOWING GLOBALS: C C C C TURN1,TURN2,TANSIN,TANCOS,BUNKER,XP1,YP1 C C C C AND AFFECTS THE FOLLOWING: C C C C C MOVE1,MOVE2,X1,Y1,X2,Y2 C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 CALL TANKP CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C BOMB IS CALLED TO CREATE, UPDATE, OR ELIMINATE THE BOMB IMAGES. C BOMB PREPARES THE ARRAY BXY CONTAINING X,Y COORDINATES OF ALL C C CURRENTLY ACTIVE BOMBS, TO BE OUTPUT LATER. C C C C BOMB REFERENCES THE FOLLOWING GLOBALS: C C C THETA1,THETA2,BOMCOS,BOMSIN,BUNKER,XP1,YP1,RANGE1,RANGE2 C C C C AND MAY AFFECT THE FOLLOWING GLOBALS: C C C C BXY,X1,Y1,X2,Y2,IX1,IY1,IX2,IY2,FIRE1,FIRE2,SCORE1,SCORE2, C C ICOUNT C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL BOMB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C THE CURRENT X,Y POSITION OF BOTH THANKS ARE ASSIGNED TO THESE INTEGER C C VALUES IN PREPARATION FOR PLOTTING. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IX1=X1 IX2=X2 IY1=Y1 IY2=Y2 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C PLOT IS CALLED TO PLOT THE TANK AND BOMB IMAGES. IT REFERENCES ONLY THE C C PASSED VARIABLES AND AFFECTS NONE. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CALL PLOT(THETA1,THETA2,XP1,YP1,XP2,YP2,XP3,YP3,BXY,IX1,IY1,IX2,IY2,ICOUNT) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C THE FLAG IS CLEARED TO ALLOW THE INPUT ROUTINE TO INPUT ANOTHER CHARACTER C C FROM THE KEYBOARD. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC FLAG=0 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C LOOPá BACK TO CONTINUALLY CALCULATE AND OUTPUT. C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC GOTO 10 END FORTSVFORT4FORTSVHOMEALÏ 4e4ÊPROCEDURE HOME; COMMENT: --------------------------------------------------- H O M E THIS ROUTINE PLACES THE ALPHA CURSOR AT THE UPPER LEFT CORNER OF THE SCREEN AND RETURNS THE TERMINAL TO ALPHANUMERIC MODE. EXTERNAL PROCEDURES: MVABS - MOVE TO AN ABSOLUTE SCREEN COORDINATE ANMODE - PLACE TERMINAL IN ALPHA MODE ---------------------------------------------------; BEGIN EXTERNAL PROCEDURE MVABS,ANMODE; MVABS(0,758); ANMODE END; ATCSSRCM, 6ex.GCOUT.SR,CHAR.SR,GETC.SR,PUTC.SR,GLOBALS.SRWIAL$ 8e2,PROCEDURE WI(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE NO,NI,SO,SI,DRAW; IF I > 1 THEN BEGIN NO(I-1); NI(I-1); WI(I-1); SI(I-1); SO(I-1) END ELSE BEGIN X := X - H; DRAW; Y := Y + H; DRAW; X := X - H; DRAW; Y := Y - H; DRAW; X := X - H; DRAW END END; RLDRSVRLDRSVINPSALæ :e9 /PROCEDURE INPS(STR,X,Y); STRING STR; INTEGER X,Y; COMMENT: -------------------------------------------------- I N P S THIS ROUTINE INPUTS A POINT FROM THE TERMINAL. THE CROSSHAIRS CURSOR IS TURNED ON AND THE PROGRAM WAITS FOR A KEY TO BE PRESSED. THE KEY VALUE AND THE POSITION OF THE CROSSHAIRS IS RETURNED. EXTERNAL PROCEDURES: GETC - GET A CHARACTER FROM THE TERMINAL PUTC - OUTPUT A CHARACTER TO THE TERMINAL CHAR - TRANSLATE AN INTEGER TO A CHARACTER EXTERNAL VARIABLES: TMODE - CURRENT MODE OF TERMINAL --------------------------------------------------; BEGIN LITERAL ESC(27),SUB(26),MASK(11111R2),ALPHMODE(2); EXTERNAL INTEGER TMODE; EXTERNAL PROCEDURE PUTC,GETC,CHAR; INTEGER HI,LO; PUTC(ESC); PUTC(SUB); GETC(HI); CHAR(STR,HI); GETC(HI); HI := HI AND MASK; GETC(LO); LO := LO AND MASK; X := HI*32 + LO; GETC(HI); HI := HI AND MASK; GETC(LO); LO := LO AND MASK; Y := HI*32 + LO; GETC(LO); TMODE := ALPHMODE END; RLDROLRLDROLRDRAWAL\ >e6NPROCEDURE RDRAW(DX,DY); VALUE DX,DY; REAL DX,DY; COMMENT: ---------------------------------------------------- R D R A W THIS PROCEDURE DRAWS A VECTOR RELATIVE TO THE VIRTUAL "BEAM'S" CURRENT POSITION. DX AND DY ARE SIGNED REAL NUMBERS SPECIFYING THE RELATIVE POSITION OF THE ENDPOINT. EXTERNAL VARIABLES: PX - CURRENT X POSITION OF BEAM PY - CURRENT Y POSITION OF BEAM EXTERNAL PROCEDURES: ADRAW - DRAW ABSOLUTE PAGE COORDINATE ----------------------------------------------------; BEGIN EXTERNAL REAL PX,PY; EXTERNAL PROCEDURE ADRAW; ADRAW(PX+DX,PY+DY) END; gPUTCo Bu : .TITLE PUTC .ENT PUTC .NREL PUTC: STA 3,SAV3 .SYSTM .PCHAR JMP .+1 LDA 3,SAV3 JMP 0,3 SAV3: 0 .END TEKPACKSR$ Eej &;*************************************** ;* * ;* TEKPACK * ;* MULTI-USER T4010,T4014 PLOTTING * ;* PACKAGE FOR NOVA EXTENDED BASIC * ;* * ;****************************************** ; ; UMR COMPUTER CENTER ; REV 03 FEBRUARY 1975 ; REV 04 NOVEMBER 1975 ; REV 05 JUN 1976 ; REV 06 DEC 1977 (REV 4.3 BASIC) ; CALL 1,M,X,Y ; USED TO PUT TERMINAL (T4010) INTO VECTOR MODE AND ; VECTOR (VISIBLE OR INVISIBLE) TO THE POINT X,Y ; M=0 (INVISIBLE) ; USED TO MOVE THE CURSOR TO A DESIRED SPOT ; LEAVES THE TERMINAL IN VECTOR MODE ; ; M=1 (VISIBLE) ; USED TO PLOT A LINE FROM PREVIOUS CURSOR POSITION ; TO NEW X,Y. THIS IS NOT SCALE. ; M=1 MUST BE PRECEDED WITH AN INVISIBLE MODE CALL. ; ; M=2 (INVISIBLE) ; SAME AS 0 BUT RETURNS 4010 TO ALPHA MODE ; CALL 2 ; USED TO ERASE THE SCREEN AND PROVIDE A 1 SECOND DELAY ; TIME AFTER ERASE. ERASE ROUTINE ASSUMES A T4010 TERMINAL. ; CALL 3,M,C$,X,Y ; ; M=0 ; ; OPERATOR MUST STRIKE ANY KEY TO INPUT GRAPHIC ; CURSOR COORDINATES. X AND Y WILL BE THE COORDINATES IN ; ABSOLUTE TEK COORDINATES. C$ IS A STRING ; VARIABLE TO RECEIVE THE KEY CODE. ; M=1 ; ; CURSOR POSITION IS READ IMMEDIATELY ; X AND Y ARE COORDINATES, C$ IS UNCHANGED, BUT MUST ; BE INCLUDED IN CALLING SEQUENCE. ; TABLET (TEK. 4954) DATA ENTRY ROUTINE ; ; CALL 5,M,C$,Y,X ; ; M=0 ; SINGLE POINT PRESENCE MODE, LOCAL DISPLAY OFF. ; NOTE REVERSAL OF Y AND X COORDINATES ; INPUTS POINTS WHENEVER PEN IS PRESSED AND SUBR 5 IS CALLED. ; HEADER CHAR IS GS OR US (DARK VECTOR) OR SUB (LIGHT VECTOR) ; OR STATUS BYTE (PEN HAS LEFT PRESENCE) ; ; M=1 ; SINGLE POINT PRESENCE MODE, LOCAL DISPLAY ON. ; SAME AS ABOVE EXCEPT LOCAL DISPLAY IS ENABLED ; RESULTING IN INKING PERFORMED BY HARDWARE. ; .TITL TEKPK .ENT SBRTB ; FOR BASIC .EXTD U.S1 ; STATUS WORD #2 .EXTD U.TCC U.TBS U.TBC U.TBN U.TPW U.TTS U.TOS .EXTD TR0 TR1 TR2 TR3 TR4 TR5 TR6 C2 C10 D132 .EXTD .PITE .SPBC .PITI .PICE .PIBE .IIBC .ACIB .EXTD .LINE .FIX .ERSY .FLOT .TXTM 1 .NOMAC 1 .NREL ; DEFINE MACROS .MACRO SAVE .EXTD .SVE .STOR .REST STA 3 .SVE JSR @.STOR ^1+1 % .MACRO RESTR JMP @.REST % .MACRO PUSH .EXTD .SVE .PSH .POPB STA 3 .SVE JSR @.PSH % .MACRO POP JMP @.POPB % ; DEFINE TEMPORARY STORAGE USER=16 SBRTB: 1 ; SUBROUTINE TABLE PLOT1 3 2B1+2B3+2B5 ; ALLOW ANY NUMERIC EXPRESSION 2 ERASE 0 0 3 ; GRAPHICS INPUT ROUTINE GIN 4 2B1+1B3+3B5+3B7 ; NEXP, STR V, NV, NV 5 ; SUBR 5, TABLET ENTRY TBLT 4 2B1+1B3+3B5+3B7 -1 PLOT1:;+++ JSR INBUF ; INIT LINE BUFFER STA 2 TR0 ; SAVE PARM POINTER JSR GT1 ; GET MODE STA 1 TR1 ; SAVE IT ISZ TR0 ; BUMP PARM LIST POINTER MOV 1 1 SNR ; SKIP IF GS NEEDED (MODE=0) JMP PL.GS ; OUTPUT A GS LDA 0 C2 SUB# 0 1 SZR ; SKIP IF MODE 2 JMP .+3 PL.GS: JSR APUTC ; OUTPUT A GS GS JSR GT1 ; X ISZ TR0 ; BUMP ARG PNTR STA 1 TR2 ; SAVE X COORD JSR GT1 ISZ TR0 STA 1 TR3 ; SAVE Y COORD LDA 0 TR3 ; GET Y COORD JSR XHIGH ; EXTRACT HIGH Y PART JSR PUTC ; AND OUTPUT IT LDA 0 TR3 ; GET Y AGAIN LDA 1 US ; 5 BIT MASK AND 1 0 ; EXTRACT LOW Y LDA 1 LOWYT ; LOW Y TAG BITS ADD 1 0 ; FORM LOW Y CHAR JSR PUTC ; AND OUTPUT IT. LDA 0 TR2 ; GET X COORD JSR XHIGH ; EXTRACT HIGH X JSR PUTC ; AND OUTPUT IT. LDA 0 TR2 ; LOW X LDA 1 US AND 1 0 LDA 1 LOWXT ADD 1 0 JSR PUTC ; OUTPUT LOW X LDA 0 TR1 ; GET MODE MOVZR 0 0 SNR ; SKIP IF > 1 JMP PLTDN ; LEAVE 41010 IN VECTOR MODE JSR APUTC ; RETURN TO ALPHA MODE US PLTDN:;+++ JSR OUT JMP @.LINE ; EXIT ; DISPLAY BUFFER AND EXIT ;OUT: PUSH ; SAVE RETURN ; SUB 0 0 ; JSR PUTC ; NUL TERMINATOR ; JSR @.PITD ; DISPLAY BUFFER ; LDA 3 USER ; LDA 0 D132 ; STA 0 U.TCC 3 ; RESET LINE COUNT ; POP ; RETURN GS: 35 US: 37 LOWXT: 2B10 LOWYT: 3B10 ; INIT LINE BUFFER ;INBUF: PUSH ; SAVE RETURN ; STA 2 TR0 ; LDA 3 USER ; LDA 2 U.TBS 3 ; STA 2 U.TBC 3 ; INIT BUFFER POINTER ; LDA 2 D132 ; STA 2 U.TBN 3 ; CURRENT COUNT ; STA 2 U.TCC 3 ; START OF LINE ; STA 2 U.TPW 3 ; PAGE WIDTH ; LDA 2 C10 ; STA 2 U.TTS 3 ; TAB SIZE ; POP ; RETURN ; ROUTINE TO GET A (BASIC) VARIABLE ; FROM THE STACK ^'D TO BY TR0 ; .FIX'ED VARIABLE IS RETURNED IN AC1 GT1: PUSH LDA 2 TR0 LDA 3 0 2 LDA 0 0 3 LDA 1 1 3 JSR @.FIX JMP .+1 POP ; PUTC ; ROUTINES TO PUT A CHARACTER INTO TERM BUFFER ; CALL JSR APUTC -OR- JSR PUTC ; ADR(CHAR) CHAR IN AC0 ; ; ; TRASHES THE AC'S APUTC: LDA 0 @0 3 INC 3 3 PUTC: PUSH ; SAVE RETURN ; LDA 3 USER ; PICK UP BUFFER POINTER ; LDA 2 U.TBC 3 ; CURRENT POINTER ; ISZ U.TBC 3 ; BUMP IT ; MOVZR 2 2 ; LDA 1 0 2 ; LDA 3 C377 ; AND 3 0 ; MOV# 0 0 SZC ; SKIP IF LEFT BYTE ; MOVS 3 3 SKP ; MOVS 0 0 ; AND 3 1 ; ADD 0 1 ; STA 1 0 2 ; SAVE BYTE JSR @.PIBE ; OUTPUT ONE BYTE POP ; RETURN ; EXTRACT HIGH ORDER PART AND ADD A 01 TAG XHIGH: LDA 1 HMSK AND 1 0 ; LOP OFF REST MOVZR 1 1 ; PRE-SHIFT MASK MOVZR 0 0 ; SHIFT RIGHT 5 MOVZR 1 1 SNC ; TRICKY JMP .-2 LDA 1 HTAG ADD 1 0 JMP 0 3 HTAG: 1B10 HMSK: 37B10 ; SUBROUTINE 2 - ERASE SCREEN AND DELAY ERASE:;+++ JSR INBUF ; INIT BUFFER STA 2 TR0 ; SAVE PARM POINTER JSR APUTC ; OUTPUT ESC ESC JSR APUTC ; OUTPUT FF FF ; JSR OUT ; DISPLAY BUFFER LDA 1 DELAY .SYSTM ; DELAY FOR 1 SEC .DELAY JMP .+1 JMP @.LINE ; EXIT ESC: 33 FF: 14 DELAY: 11. ; 10 HZ CLOCK ASSUMED ; CROSSHAIR INPUT ; SUBROUTINE #3 ; THIS ROUTINE HAS BEEN MODIFIED EXTENSIVELY FOR M.U. BASIC ; 7/5/76 GIN: STA 2 TR0 ; SAVE PARM POINTER SUB 0 0 ; SET SWITCH TO 0 STA 0 TR5 ; THEN GO TO COMMON CODE LDA 0 1 2 ; C$ POINTER STA 0 TR6 ; SAVE IN TEMP STORAGE LDA 0 2 2 STA 0 TR3 ; X LDA 0 3 2 STA 0 TR4 ; Y JSR GT1 ; GET MODE STA 1 TR1 ; SAVE IT IN TR1 LDA 0 CRSON ; GET CURSOR ON MESSAGE LDA 1 CRSON+1 ; LENGTH JSR @.PITE ; WRITE IT LDA 2 TR1 ; GET MODE MOV 2 2 SNR ; SKIP IF MODE NON-ZERO (CURS IMMED) JMP GINCM ; GO WAIT LDA 1 C2 .SYSTM .DELAY ; WAIT A BIT JMP .+1 LDA 1 C2 LDA 0 CRIMS ; CURSOR IMMED MESSAGE JSR @.PITE ; WRITE IT JMP GINCM ; COMMON CODE ; TABLET INPUT ; SUBROUTINE #5 TBLT: STA 2 TR0 ; SAVE POINTER SUB 0 0 STA 0 TR1 ; MAKE IT MODE ONE LDA 0 1 2 STA 0 TR6 LDA 0 2 2 STA 0 TR3 LDA 0 3 2 STA 0 TR4 SUBZL 0 0 STA 0 TR5 ; SET SWITCH TO 1 JSR GT1 ; GET MODE (0 OR 1) LDA 0 TBLT1 ; GET LOCAL OFF MESSAGE MOV 1 1 SZR ; SKIP IF MODE 0 LDA 0 TBLT2 ; MODE 1 (OR ?) USE LOCAL ON LDA 1 TBLT1+1 ; LENGTH JSR @.PITE ; WRITE IT ;+++ JSR @.PITW ; PUT IN BUFFER GINCM: JSR @.SPBC ; SAVE PROGRAM BYTE COUNTER (MAY SWAP OUT) LDA 3 USER ; ADC 0 0 ; STA 0 U.LT 3 ; SET GRAPHIC INPUT MODE FLAG ; JSR @.PIDA ; DISPLAY BUFFER AND ACCEPT RPLY ; LDA 3 USER ; SUB 0 0 ; STA 0 U.LT 3 ; RESET GRAPHIC INPUT MODE SUB 0 0 STA 0 U.TOS 3 ; RESET TIMED INPUT FLAG LDA 0 .NECH ; GET NO ECHO BIT LDA 1 U.S1 3 ; GET STATUS WORD COM 0 0 AND 0 1 ADC 0 1 ; SET NO ECHO BIT STA 1 U.S1 3 ; SET IT JSR @.PITI ; GET TERMINAL INPUT LDA 0 .NECH LDA 3 USER COM 0 0 LDA 1 U.S1 3 AND 0 1 STA 1 U.S1 3 ; RESET NO ECHO BIT JSR @.PICE ; CHECK FOR ESCAPE INPUT ; JSR @.RPBC ; RESET PROGRAM BYTE COUNT JSR @.IIBC ; INIT INPUT BYTE POINTER (FROM USER TABLE) LDA 0 TR1 ; GET MODE MOV 0 0 SZR JMP GINXY ; ACCESS INPUT BYTES TO FORM GRAPHIC INPUT X AND Y GINWT: JSR @.ACIB ; GET A BYTE MOV 2 0 LDA 2 TR6 LDA 1 1 2 ; GET CURRENT LENGTH OF STRING MOV 1 1 SNR ; SKIP IF NOT ZERO ISZ @3 2 ; BUMP LENGTH ; STORE BYTE LDA 2 0 2 ; GET BYTE POINTER MOVZR 2 2 LDA 1 0 2 ; GET WORD THERE LDA 3 C377 MOV 0 0 SZC ; SKIP �IF LEFT BYTE MOVS 3 3 SKP MOVS 0 0 AND 3 1 ; ZERO OUT UNWANTED BYTE ADD 0 1 ; ADD IN NEW BYTE STA 1 0 2 ; RESTORE WORD ; GET X AND Y AND STORE IN CALLERS AREA GINXY: JSR @.ACIB STA 2 TR2 ; SAVE LOW X GNXY1: JSR @.ACIB ; GET HIGH AND LOW X MOV 2 0 JSR FORM ; MAKE THEM FLOATING POINT LDA 2 TR3 STA 0 0 2 STA 1 1 2 ; SAVE NEW X JSR @.ACIB STA 2 TR2 JSR @.ACIB MOV 2 0 JSR FORM LDA 2 TR4 STA 0 0 2 ; SAVE NEW Y STA 1 1 2 JMP @.LINE ; RETURN TO BASIC ; COMBINES HIGH IN AC1 AND LOW IN AC0 AND ; CONVERTS INTEGER TO FLOATING POINT. FORM: PUSH LDA 1 TR2 ; RESTORE AC1 LDA 2 C37 AND 2 0 AND 2 1 ADDZL 1 1 ADDZL 1 1 MOVZL 1 1 ADD 0 1 FRM.1: SUB 0 0 JSR @.FLOT JMP .+1 POP .NECH: 10 ; NO ECHO BIT C377: 377 C37: 37 .APUTC: APUTC CROLN: 4 ; IMMED CURSOR LENGTH CRSON: .+2*2 ; CURSON ON MESSAGE 2 ; CURSOR ON LENGTH 33B7+32 ; ESC,SUB (CURSOR ON) CRIMS: .+1*2 33B7+5 ; ESC,ENQ (CURSOR IMMED.) ; SINGLE POINT, 10 BITS, PRESENCE, LOCAL OFF TBLT1: .+2*2 3 .TXT /<33>!$/ ; SINGLE POINT, 10 BITS, PEN, LOCAL OFF TBLT2: .+1*2 .TXT /<33>! / .END 0WOALá We2PROCEDURE WO(I); INTEGER I; BEGIN EXTERNAL INTEGER X,Y,H; EXTERNAL PROCEDURE WI,DRAW; IF I > 1 THEN BEGIN WO(I-1); WI(I-1); WO(I-1) END ELSE BEGIN Y := Y - H; DRAW; X := X - H; DRAW; Y := Y + H; DRAW END END; WINDOWALÁ Ye4ÈPROCEDURE WINDOW(X1,Y1,X2,Y2); VALUE X1,Y1,X2,Y2; REAL X1,Y1,X2,Y2; COMMENT: ---------------------------------------------------- W I N D O W THIS ROUTINE SETS THE WINDOW BOUNDARIES OF THE CURRENT PAGE WINDOW. POINTS X1,Y1 AND X2,Y2 MUST SPECIFY OPPOSING DIAGONAL POINTS OF THE WINDOW BOUNDARIES. EXTERNAL VARIABLES: PXL,PXH - X BOUNDARIES OF PAGE WINDOW PYL,PYH - Y BOUNDARIES OF PAGE WINDOW SXL,SXH - X BOUNDARIES OF SCREEN VIEWPORT SYL,SYH - Y BOUNDARIES OF SCREEN VIEWPORT XPS,YPS - PAGE TO SCREEN CONVERSION FACTORS -----------------------------------------------------; BEGIN EXTERNAL REAL PXL,PXH,PYL,PYH,XPS,YPS; EXTERNAL INTEGER SXL,SXH,SYL,SYH; IF X1 < X2 THEN BEGIN PXL := X1; PXH := X2 END ELSE BEGIN PXL := X2; PXH := X1 END; IF Y1 < Y2 THEN BEGIN PYL := Y1; PYH := Y2 END ELSE BEGIN PYL := Y2; PYH := Y1 END; XPS := (SXH-SXL) / (PXH-PXL); YPS := (SYH-SYL) / (PYH-PYL) END; BUILDCURVEMCº \dx7ÿALGOL (CURVE,MOVE,DRAW,NO,EO,SO,WO,NI,EI,SI,WI);^ ASM (GCOUT,LOCS) RLDR CURVE MOVE DRAW GCOUT NO EO SO WO ^ NI EI SI WI LOCS ATCS.LB ALGOL.LB MESSAGE TYPE 'CURVE N' (CR) TO RUN CURVE.SV DARIES OF THE CURRENT PAGE WINDOW. POINTS X1,Y1 AND X2,Y2 MUST SPECIFY OPPOSING DIAGONAL POINTS OF THE WINDOW BOUNDARIES. EXTERNAL VARIABLES: PXL,PXH - X BOUNDARIES OF PAGE WINDOW PYL,PYH - Y BOUNDARIES OF PAGE WINDOW SXL,SXH - X BOUNDARIES OF SCREEN VIEWPORT SYL,SYH - Y BOUNDARIES OF SCREEN VIEWPORT XPS,FIVSVFORT4FIVSVAPOINTAL9 ^e4òPROCEDURE APOINT(X,Y); VALUE X,Y; REAL X,Y; COMMENT: ------------------------------------------------- A P O I N T THIS ROUTINE PLOTS A SINGLE POINT AT THE ABSOLUTE PAGE COORDINATE X,Y. EXTERNAL VARIABLES: TMODE - CURRENT MODE OF TERMIANL PX - CURRENT X POSITION OF VIRTUAL "BEAM" PY - CURRENT Y POSITION OF VIRTUAL "BEAM" EXTERNAL PROCEDURES: PTABS - PLOT A POINT AT ABSOLUTE SCREEN COORDINATE P2STT - TRANSLATE FROM PAGE TO SCREEN COORDINATES AND TEST FOR VISIBILITY --------------------------------------------î----; BEGIN LITERAL POINTMODE(3); EXTERNAL INTEGER TMODE; EXTERNAL REAL PX,PY; EXTERNAL PROCEDURE P2STT,PTABS; BOOLEAN VISIBLE; INTEGER SX,SY; P2STT(X,Y,SX,SY,VISIBLE); IF VISIBLE THEN PTABS(SX,SY) ELSE TMODE := POINTMODE; PX := X; PY := Y END; CHARSRò ae9  .TITL CHAR ;---------------------------------------------- ; ; C H A R ; ; THIS ROUTINE RETURNS A SINGLE CHARACTER WHOSE ; BINARY VALUE IS GIVEN BY THE INTEGER PARAMETER ; ; EXAMPLE CALLING SEQUENCE: ; ; STR := CHAR(ICHAR); ; OR ; CHAR(STR,ICHAR); ; ; INPUT VARIABLE: ; ; ICHAR - INTEGER CONTAINING THE BINARY VALUE ; OF THE CHARACTER TO BE RETURNED ; ;---------------------------------------------- .EXTU .NREL S= -167 SP= 1B0-S STRING= S ICHAR= STRING+3 CSIZE= ICHAR+1-S STRPAR= 2B7+10B11+3 INTVAL= 4B7+1B11+1 .ENT CHAR CHAR: JSR @SAVE ; ENTER CSIZE ; STACK SIZE 2 ; 2 ARGUMENTS SP+STRING ; LOCATION ON STACK STRPAR ; STRING PARAMETER SP+ICHAR ; LOCATION ON STACK INTVAL ; INTEGER VALUE LDA 2,STRING,3; GET BYTE POINTER LDA 1,STRING+1,3; GET LENGTH OR INDEX MOVZL 1,1,SNC ; SUBSTR ? JMP NOSUB ; NOPE NEGR 1,1 ; NEGATIVE INDEX LDA 2,0,2 ; GET TRUE BYTE POINTER ADC 1,2 ; LOCATION OF BYTE NOSUB: LDA 0,ICHAR,3; GET INTEGER VALUE LDA 1,C377 ; BYTE MASK MOVZR 2,2 ; WORD ADDRESS AND CARRY LDA 3,0,2 ; GET WORD AND 1,0,SZC ; MASK INTEGER AND TEST CARRY MOVS 1,1,SKP ; RIGHT BYTE - SWAP MASK ANDS 1,3,SKP ; LEFT BYTE - MASK RIGHT BYTE AND 1,3,SKP ; MASK LEFT BYTE ADDS 0,3,SKP ; ADD IN NEW BYTE, SWAP ADD 0,3 ; ADD IN NEW BYTE STA 3,0,2 ; PUT WORD BACK LDA 3 .FP ; GET BACK FRAME POINTER LDA 0 STRING+1,3; LENGTH OF INDEX MOVL 0,0,SZC ; SUBSTR ? JSR @RETURN ; YEP. THAT'S ALL SUBZL 0,0 ; 1 STA 0,STRING+2,3; LENGTH IS NOW 1 JSR @RETURN ; BYE C377: 377 ; BYTE-SIZED MASK .END XFRMALê fe3&PROCEDURE XFRM(x,y,hx,lx,hy,ly); VALUE x,y; INTEGER x,y,hx,lx,hy,ly; COMMENT: -------------------------------------------------- X F R M This routine transforms a screen coordinate pair X,Y into the TEKTRONIX coordinate characters that will address that point. No control characters are generated. The enhanced graphics (4096 point) option is not supported. Input variables: x - X coordinate of point y - Y coordinate of point Output variables: hx - High order X character lx - Low order X character hy - High order Y character ly - Low order Y character NOTE: These variables are integers, and contain the binary equivalent of the ASCII characters. They may be output directly by PUTC. --------------------------------------------------; BEGIN LITERAL hixy(32),lox(64),loy(96),mask(11111R2); hy := (SHIFT(y,5) AND mask) + hixy; ly := (y AND mask) + loy; hx := (SHIFT(x,5) AND mask) + hixy; lx := (x AND mask) + lox END; GLOBALSSRß ie4Æ .TITL GLOBALS .ZREL .ENT BEAMX,BEAMY,HIX,LOX,HIY,LOY,TMODE .ENT PXL,PXH,PYL,PYH,SXL,SXH,SYL,SYH .ENT XPS,YPS,PX,PY,TDELAY BEAMX: -1 ; CURRENT BEAM POSITION BEAMY: -1 HIX: -1 ; LAST COORDINATE CHARACTERS OUTPUT LOX: -1 HIY: -1 LOY: -1 TDELAY: 0 ; NUMBER DELAY NULLS NEEDED TMODE: -1 ; CURRENT MODE OF TERMINAL ; VALUES FOR TMODE: ; ; 1 - GRAPH MODE ; 2 - ALPHA MODE ; 3 - POINT PLOT MODE ; 4 - GIN MODE PXL: 0 ; X LIMITS OF PAGE WINDOW 0 PXH: 0 0 PYL: 0 ; Y LIMITS OF PAGE WINDOW 0 PYH: 0 0 SXL: 0 ; X LIMITS OF SCREEN VIEWPORT SXH: 0 SYL: 0 ; Y LIMITS OF SCREEN VIEWPORT SYH: 0 XPS: 0 ; PAGE TO SCREEN COORDINATE CONVERSION FACTORS 0 YPS: 0 0 PX: 0 ; CURRENT PAGE VIRTUAL "BEAM" POSITION 0 PY: 0 0 .END (BUILDATCSCLn le9wÿALGOL (@ATCSAL.CM@);ASM (@ATCSSR.CM@);^ LFE N NATCS.LB/O @ATCS.CM@ MESSAGE ALGOL TCS LIBRARY (NATCS.LB) BUILT YPS,PX,PY,TDELAY BEAMX: -1 ; CURRENT BEAM POSITION BEAMY: -1 HIX: -1 ; LAST COORDINATE CHARACTERS OUTPUT LOX: -1 HIY: -1 LOY: -1 TDELAY: 0 ; NUMBER DELAY NULLS NEEDED TMODE: -1 ; CURRENT MODE OF TERMINAL ; VALUES FOR TMODE: ; ; 1 - GRAPH MODE ; 2 - ALPHA MODE ; 3 - POINT PLOT MODE ; 4 - GIN MODE PXL: 0 ; X LIMITS OF PAGE WINDOW 0 PXH: 0 0 PYL: 0 ; Y LIMITS OF PAGE WINDOW 0 PYH: 0 0 CREATETANKMC mdu;/ THIS IS A MACRO COMAND TO CREATE THE GAME / OF TANK. INVOKE VIA THE CLI COMMAND: CREATETANK (CR) / TANK REQUIRES AT LEAST 32K OF CORE IN AN / RDOS ENVIRONMENT AND A TEKTRONIX T-4014 DISPLAY. / TANK MAKES USE OF THE STORAGE AND REFRESH CAPABILITIES OF THE T4014. / WRITTEN IN DGC FORTRAN IV WITH ASSEMBLER SUBROUTINES. / / WRITTEN BY: ROBIN STEGE AND KEVIN DARBY / / ADDRESS ALL COMMENTS TO: / UMR COMPUTER CENTER / UNIVERSITY OF MO. - ROLLA / ROLLA, MO. 65401 / (314) 341-4841 / ATTN: DR. H. J. POTTINGER / FORT (BOMB, TANKP, SCORE, INIT, MASTER,ERASE, RAND) ASM (PLOTB, VECTOR, PUTC, SPLOT, PLOT,INPUT) RLDR TANK.SV/S 2/K MASTER INIT RAND TANKP BOMB PLOTB VECTOR PUTC ^ ERASE INPUT SCORE SPLOT PLOT FMT.LB FORT.LB MESSAGE ACCESS THIS GAME BY THE NAME OF 'TANK'. TANK XREFSVXREFSVPAGESVDP0PAGESVRLDRSV  ®m= kÿÿøÿ @(@ A Á Æ ² · -/¹ Z NÕ („RðÒ ¼ivwŠbU4Ð:"­ÿÿÿÿÿÿÿÿ%ÿÿÿÿÿÿ ZÿÿƒµJ´/&Œ J \ô Í û ;c›'Dxbá¾Tkw`¹Ž‹Ö‰Nÿÿ‰ÿÿÿÿÿÿ*% Œÿÿÿ ‰COPYRIGHT(C)DCG,1972,1973,1975,1977ALL RIGHTS RESERVED! H­% €   H‰Uÿÿ  6¼RLDR.OL+I#XmPo $8:¾# =ú  2$mm‚Km 9 1Ö    3 ñ9#‚íXo 3ê ÎP 2Y)A)I)Q) ‘8’å "#‚K† +ª@Õpª@ÒEª�ª�ÒÀÓÀ  ? 6@|8’ �X’„C l(|�á!)19þª•ªžª›0ªÒPÆ‚!‚0€ªù(�Î0ÏÐǦòXzA0ŒÅÀ(§ ƒªÀ�À¶8jú 1 !— z€—�–zÿ8©úz)zX£Õ 9 ‚@Ò@µ µ‚@ûû£ÿðX£Õ�8šú1Í ¢ƒÍ+ü8šú Ò�Ò�Ò”õ£9�8æÒ�ôX£08šú0ç 9Y,‚9*çA% ,‚9õ� ! 7@‚I(8ƒ¿ (‡ª  H8—(ˆúª (ˆ8ªú  H)â#ûYüÞYQI/²�(§:¨‚úÀ¿žÁžZ)1AIY v Y vå(�H“‚À(�ÒŠ ‹8ç9;ž >ž#Ž *!)Y (©0=:œÓ«ûÕP8+0>¶ªP¶:ú@ú�Qêåô0 ©‚ ‹ƒ íYÒ�…°Ò�‚€ŽI0‘ –:ýø @½ û! BÿP”2þÒ@Ò�P§ “–Yý…0‘(¶*ý¨ ªBªBQò"þïQð:ÿ)ëì«1ë�í¢Qæê1ä"þ‚Kà† *ýª@Õpª@Ò@ÒÀÓÀª�ª�  ? 61ÓÑ ÓBþ)ÌJýª@ýpª@ú@ª�ª�òÀÓÀ  ?1³) µ 6’ý)ZÓ«ýôÿêU  I 96Gü‡Y A 8”#þ‚@‚ Cþ!Y&&Y$ýX�YIX8o+ªÀ *ªŠ!ªŠ9ï ! 2 *ªƒªƒ! 2 ª‚!ü!úCDNMX * 20o"(§U$­8î¥þ�«I�A ²–P S‚ * 2Óú * 2 ý  �‚Þ!‚ I IÙ…PAþîYF(IE0o*ªÀªŠo � ‚��  Vo T4 �‚ s/ ­‚ K+8ˆúò **ÿüPöPo § �ª‡…A oªBý!‚ 7oªBöóýPYý] ª€ª‚í $oî !{ÃY)Aª I *1 2Óþ…A7(Ið,oî10Qêª@ª� * 2,oY,oùÿ÷üYý I *0 2Óþ…A)IÒ$oƒ ‚@‚�(²À�À—Q ! 2) * 2,oàYßìÿù,Y 9 ªƒ‚�Æ�ûüª°ÿðY Ò€"8‚‚ÀçÒ@XzP~@}8õ *§ �ª‡„*ªK–0ü„ P�–0*ª@–0ô¿%„ú�öî8~ }zX{I2Q20v8-SÒJ%8+õ8‹û  8¬ú 9$Ý#8kÝ 0\Ò" F:ú B Q1){8¬úõ0- K€0- K€(œªKñ0- K€8\úâ@Zæ8gû ‡@gáQ)A'1$9$+!�!� "+�  +�!�  Óûî*! �! � ! Â1 !@g¾ÿ..{”­Q­I Q X{ F*ýZ Q1{Y QOÚI )II(²)ÉYAQA }#Y?1=(§*@}"§(}� . ²–ž©I2"+� %Óû+ù9'#‚À‚‹(§½Y40"-�  "ÿ(§À)¥ Ê19 ¤<1Ýî1  K€1 ÚÄÉ…Y*A,Q)"8ç+(²¦–(§îµ "ç º+ª…@“9ï1G RP§9 º+ªô) ª(¦K¦ Qì?ÿû…PÐ9üúé9÷õæ„A*Y$Q$ *§A#…@“ ²– )«€I*Ó¦Ó¦ªÀ0!� 1 RÚ1X§…AÝ ä ô $ 4 H Z n ‚ ˜ Ä Ü ö  ( P l ˆ ¢ ¼ Ö èÂî&Tˆ®ØCHECKSUM ERROR DISPLACEMENT OVERFLOW MULTIPLY DEFINED ENTRY LOAD OVERWRITE PAGE ZERO OVERFLOW NEGATIVE ADDRESS ILLEGAL BLOCK TYPE ILLEGAL NMAX VALUE ILLEGAL LOAD ADDRESS EXTERNAL UNDEFINED IN EXTERNAL EXPRESSION SYMBOL TABLE OVERFLOW SYSTEM LIBRARY NOT FOUND EXTERNAL LOCATION UNDEFINED NAMED COMMON ERROR SYMBOL TABLE TOO LARGE FOR CORE IMAGE TASK MONITOR ERROR (USTCH) OVERLAY DIRECTORY OVERFLOW FOREGROUND PARTITIONS OVERLAY ORDER ERROR ILLEGAL RELOCATION FLAG R.B. FILE ERROR DUPLICATE EXTD NO STARTING ADDRESS FOR LOAD MODULE **FATAL LOAD ERROR** RDOS ERROR: BINARY WITHOUT END BLOCK NO SCHEDULER STARTING ADDRESS TASKS OR CHANNELS SPECIFIED = 0 WARNING *** ZERO LENGTH OVERLAY NODE .COMM DEFINITION OUTSIDE FIRST MODULE ALIGNMENT ERROR IN NODE ASSIGNMENT OF LABELED COMMON LABELED COMMON IN NODE DEFINED OUTSIDE NODE NO LIBRARIES ARE ALLOWED IN AN OVERLAY DEFINITION LABELED COMMON IS ROOT BOUNDVIRTUAL OVERLAYS AND GLOBAL/R DO NOT MIXTCB OR OVERLAY DIR. TABLE HAS EXCEEDED FIRST MAP PAGE BOUNDARY LOADED BY RLDR REV 07.10 AT ##:##:## ##/##/## ÿDEBUGk5*ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`Õ Yÿ8ú `¿ú =øCKSò8Z9ò(J+Jûû@Z*® J8úœ‡H`‚SYS1MLM(Œÿee  SYS1M.SV LOADED BY RLDR REV 07.10 AT 12:02:51 11/21/80 SYS00 000452 UINIT 000452 UCLIB 000452 TMIN 004510 NSAC3 004604 UCLIE 004604 URTC1 053506 UINI1 053506 UINI2 054772 UINI3 056177 USCHE 057734 UPSPA 060641 USYMO 060642 USYST 061344 UPXXD 062532 UOVLA 062672 UTTYD 063334 URWBL 064474 UBLKI 065270 UFILI 066142 UGSUB 067721 UIOBU 070226 BADSP 071051 USTAC 071107 UCELL 071451 UDP0D 071531 UDKPD 071655 UINTD 072347 UPANI 073227 UDDPM 073327 UTABL 073332 URESO 074711 000000 000,000 UDFRW 000000 000361 000,001 UDFLR 000000 000366 000,002 UUTIL 000000 000314 000,003 UCREA 000000 000375 000,004 UDELE 000000 000355 000,005 UFLSY 000000 000353 000,006 USOV1 000000 000335 000,007 USOV2 000000 000377 000,010 USOV3 000000 000376 000,011 USOV4 000000 000347 000,012 UDVIN 000000 000357 000,013 UCRSF 000000 000366 000,014 URNG1 000000 000273 000,015 URNG2 000000 000347 000,016 URNG3 000000 000375 000,017 USOV5 000000 000332 000,020 UMTIO 000000 000361 000,021 UMTUC 000000 000370 000,022 UTUON 000000 000327 000,023 UCDRO 000000 000372 000,024 UWDBL 000000 000377 000,025 USPLR 000000 000374 000,026 UCODR 000000 000365 000,027 USOV6 000000 000366 000,030 USOV7 000000 000371 000,031 USOV8 000000 000312 000,032 USOV9 000000 000351 000,033 USV10 000000 000373 000,034 USV11 000000 000315 000,035 UJEHO 000000 000357 000,036 USV12 000000 000263 000,037 USV13 000000 000370 000,040 USV14 000000 000344 000,041 USV15 000000 000360 000,042 USV16 000000 000102 000,043 UFLS2 000000 000370 000,044 USV17 000000 000223 000,045 USV18 000000 000375 000,046 UWDCB 000000 000354 000,047 USV19 000000 000370 000,050 USV20 000000 000001 000,051 USV21 000000 000326 000,052 USFTA 000000 000202 000,053 USV22 000000 000345 000,054 USV23 000000 000311 000,055 USV24 000000 000372 000,056 USV25 000000 000332 000,057 UFSTA 000000 000307 000,060 UDVRL 000000 000330 000,061 USV26 000000 000023 000,062 USV27 000000 000166 000,063 USV28 000000 000011 000,064 UTUNO 000000 000246 000,065 UQTYO 000000 000320 000,066 USV29 000000 000136 000,067 USV30 000000 000260 074711 XN SYMB 056130 XN SYMP 056127 NMAX 074711 ZMAX 000064 CSZE 000000 EST 000000 SST 000000 BOOT 000000 IPCEL 000000 MNSTK 000001 NDP0D 000001 TSCNT 000001 URDOS 000001 RTCI 000001 NP00D 000002 NCEL 000003 NUBUF 000006 BCEC 000006 SCNT 000012 TUBUF 000014 RTCDV 000014 TUPBU 000016 TUSC 000026 TUPSC 000030 .VBF0 000032 .VBF1 000033 .TCRS 000034 .TUFP 000035 .TUF1 000036 .TUFD 000037 EMEM 000040 NSEG 000100 USTAD 000400 CLIBT 000452 CLIBU 004326 TMIN 004511 LCLID 004604 .SAC0 020016 .SAC1 024016 .SAC2 030016 .SAC3 034016 SSINI 053506 SSINT 053527 SSINS 053574 RDCH 053725 TYCH 053732 SIZIT 055003 PTPSW 055247 OVIN 056177 DADR 056253 MSG 056721 SMON 057734 SMON1 057735 SMNXT 057752 SACHN 060020 STSAV 060021 PENTR 060024 RTCNS 060114 URSEX 060155 UPQUE 060177 PTPRV 060200 PTSWP 060201 PRISW 060207 FPUSV 060210 CFPU 060322 TACT 060326 TINA3 060350 NOTSK 060352 TWINK 060442 TSKPU 060472 INTSK 060545 PATCH 060641 BRKP1 060642 BRKP2 060655 BLKCA 060661 BLKCB 060662 QCHK1 060761 FOPE 061006 TTYG 061010 TTYP 061017 FILDQ 061040 CLCHK 061054 SDNCK 061070 SDNKA 061073 SOPNC 061076 RDCK1 061102 RTCST 061114 RDCK0 061125 RDCK2 061130 WRCK 061133 DTER 061171 MTCHK 061177 TIMEQ 061215 SYST 061344 SQ1 061456 SQ2 061466 CMER 061537 SYSER 061613 SYSE2 061614 RETER 061631 RETE2 061632 IGCEL 061640 GCELL 061645 GETCE 061701 CREL 061715 CFREE 061732 CELCN 061735 CLINK 061737 TRTN 061773 GTRTN 061774 TRTN3 062016 SPRTN 062057 INXTB 062112 INXTA 062113 INFND 062126 INDSK 062146 SENQ 062251 P00DL 062532 P00DB 062546 P01DL 062612 P01DB 062626 OVLY1 062672 FLAK1 062676 FLAKE 062703 OICAL 062763 OVCH1 063024 OVCHN 063031 OVLAY 063037 USGDN 063124 LDRTN 063131 OVBA1 063146 OVBAS 063147 PREOV 063307 TTIDC 063334 TTRDC 063500 TTIEX 063534 CHAR 063633 TTDCT 063635 TTIS 063637 DEBAD 063743 INLIN 063747 LABEL 064111 NOPPR 064135 TTIDT 064224 TTRDT 064240 TTODC 064254 TTOEX 064346 TTODT 064400 TTIQ 064414 TTOQ 064434 TTRQ 064454 RDB 064475 WRB 064476 RDCBK 065270 RDNBK 065430 RDLBK 065611 RDBLK 065646 RDBNO 066074 BLKIN 066142 ASBUF 066143 RLMPB 066447 RELMB 066447 SETMO 066450 RELPB 066461 RELB 066461 RELZT 066517 RELDB 066523 IDCB 066535 FIDCB 066576 FNDCB 066577 BMOVE 066615 PSHRD 066657 BFLUS 066704 FLUSH 066705 WAITF 067001 WAIT 067002 MODOU 067102 QUENT 067141 STCON 067327 ENCON 067330 STLIN 067331 BLIST 067332 GBLKN 067333 PEND 067436 PENDR 067456 UNPEN 067472 GPATJ 067523 GPATH 067524 FPATJ 067546 FPATH 067547 CPATJ 067566 CPATH 067567 XDOA 067611 XNOC 067621 XDIBC 067623 XNOS 067625 XDICC 067627 XDOCS 067631 XDOB 067633 XDOC 067635 XOAS 067637 XDOAP 067641 XDOBS 067643 XDOBP 067645 XDOCP 067647 XIAC 067651 XDIC 067653 XDIB 067655 XDIA 067657 XDOAC 067661 DSKDT 067705 SAVEM 067721 RETN 067733 MVBYT 067745 MFMVB 067745 MTMVB 067745 SRTN 067775 LDBT 070010 MLDBT 070010 LDCHR 070010 STCHR 070023 STBT 070023 MSTBT 070023 MVWD 070047 MFMVW 070047 MTMVW 070047 MBMVW 070047 MCLR 070067 CLEAR 070067 CMPWD 070104 TSTNE 070133 TSTEQ 070134 DIVI 070154 DIVD 070155 MPY 070175 MPYAD 070176 ROX 070207 RSTFL 070216 SETFL 070217 XIBUF 070226 IBUF 070227 OBUF 070334 ENQUE 070447 DEQUE 070501 CISER 070537 FINQ 070650 FINP 070653 DEQRQ 070655 COSER 070664 STOUT 070666 XNIOC 071010 XDIAC 071014 XNIOS 071016 XDIAP 071020 DDOB 071022 DDOCS 071024 DDIC 071026 XSKPB 071030 STCOT 071051 STLIK 071107 STK00 071110 FCELL 071451 CEL01 071471 CEL02 071511 DKPDC 071531 DKPEX 071546 D00DL 071551 DP0DB 071565 DP0DC 071631 DKPDS 071655 DKPST 072041 DKPIT 072154 DKPER 072343 PFL 072347 USTKO 072362 INTS 072436 LINT 072521 DTOTL 072537 TIA0 072542 TIA1 072543 TIA2 072544 TIA3 072545 TCRY 072546 INTLV 072547 PFRET 072647 TSECI 072662 RESCH 072727 IHDN 072773 UTOTL 073012 IWKUP 073013 DISMI 073034 DISI3 073041 USSV 073140 TODI 073176 TODS 073200 TODH 073202 TODD 073204 STKDC 073206 PNIC 073227 REG 073317 DMPLO 073327 DMPUN 073327 DLOCK 073327 DGRAB 073327 DVLOC 073327 DVUNL 073327 DUNLO 073327 SYSQ 073332 DSQ1 073417 DSQ2 073504 SPPTH 073571 SPOLF 073572 SPOLQ 073573 PT1 073613 SFGNP 073626 PT2 073676 PS1 073761 OVTAB 073774 BRSV 074074 FBRSV 074101 SYSTB 074106 OSNAM 074124 SYSNM 074132 FIMSG 074140 MAPNM 074147 FTMSG 074155 BIN 074164 FIN 074166 ENVIR 074242 TUNE 074243 ITUNE 074266 TUSW 074274 IVFWA 074275 ITBL 074276 TTITB 074305 PTRTB 074307 DPTBL 074330 LNKDR 074333 IVTTB 074334 PFLTB 074374 TTRTB 074376 IVLWA 074401 PPDCB 074402 MDCB 074403 SYSTM 074404 SYSTR 074405 SYSFL 074406 FSYSF 074407 SYSFG 074410 SFGZP 074411 DIRR 074412 BUFNT 074413 SYSIN 074414 SPOOL 074415 STDCC 074416 .IPIN 074417 .IPBQ 074420 ALMIN 074421 SS 074423 ADTDB 074603 SQ 074650 NTI1Q 074651 NTO1Q 074652 BQ 074671 BQ2 075307 BQ3 075725 BQ4 076343 BQ5 076761 BQ6 077377 DFWL 100000 TUSTK 100002 TUPST 100004 TUCEL 100007 TUPCE 100011 BQ7 100015 DFRR 100037 DFWR 100040 DFRS 100143 DFWS 100144 DFRL 100200 CHNST 100347 USRST 100350 USRLS 100351 LINK 100352 MTDIO 100400 BQ8 100433 OVLDC 100476 GCHN 100477 INTAD 100521 CONNT 100601 CONNS 100605 TCCON 100607 CCONT 100610 CCONS 100614 TCRND 100616 CRAND 100617 TCRET 100621 CREAT 100622 MAKE1 100623 MAKE 100624 UNLNK 101000 DELFI 101001 BQ9 101051 TRDEL 101140 EQUIV 101151 SRUFE 101200 SRUFD 101201 GCIN 101400 GCOUT 101401 SECI 101422 CHLAT 101435 CHAT 101442 BQ10 101467 GTAT 101473 FGND 101532 RDSW 101542 UCLI 101545 UCLR 101546 RTCF 101547 MEM 101550 STIME 101551 ODIS 101552 OEBL 101553 GTIME 101565 OPNCK 101600 DNCK 101627 CFNAM 101654 CSFNA 101655 TFTX 101732 SDIRR 101735 NAMCK 101771 RDCI 102020 BQ11 102105 TOPN 102200 EOPN 102202 OPNA 102204 ROPN 102206 OPEN 102210 CLS 102337 ECLR 102340 RSET 102341 DKINI 102413 DPINI 102414 BQ12 102523 CRMPE 102631 RPIPH 102674 CRSFS 102675 TOO 103000 OPNO 103014 OPNI 103032 CLSO 103074 TTIC 103104 CLSI 103115 BQ13 103141 WRCDV 103145 WRMSO 103153 TIRS 103200 TIRL 103203 RDS 103206 RCHR 103217 DRCHR 103220 GCHR 103262 GCH 103310 RDL 103324 ACHR 103400 PCH 103400 WRS 103523 BQ14 103557 WRL 103565 QWAIT 103600 BRKWT 103726 MTRCB 104000 MTRLB 104005 MTRNB 104006 WRITI 104040 MTRLS 104136 MTINT 104137 MTCLS 104140 BQ15 104175 MTOPD 104237 MTOPN 104241 MTOPA 104242 TUON 104446 CDRRL 104600 BQ16 104613 CRINL 105000 CRINI 105001 FCRET 105042 WDBLK 105144 STSPL 105200 BQ17 105231 SPLPS 105341 SPLST 105400 SPKIL 105454 SSPKL 105463 DCODE 105566 NCODE 105567 SPDIS 105570 SPEBL 105571 WRCI 105605 BQ18 105647 RDCI3 106005 RDCI4 106021 RDCI2 106025 CMNF 106205 CMN 106215 BQ19 106265 GDAY 106400 SDAY 106473 LNKRS 106555 RMVBA 106600 BQ20 106703 INIT 106724 GSYS 107000 GMDIR 107013 GDIRS 107014 SRDCT 107047 SZDSK 107106 ICMN 107123 WRCMN 107144 RDCMN 107145 CSYPA 107200 CSYSD 107201 BQ21 107321 BRK 107407 DSKC 107600 DSKCI 107600 UPDAT 107635 DFEO 107723 DSKA 107724 DSKO 107725 DFRO 107726 DFTO 107727 BQ22 107737 DDIR 110000 WROPR 110065 WROPI 110066 RDOPR 110067 CDIR 110200 CPART 110207 BQ23 110355 DDIS 110400 DEBL 110401 IDEF 110447 RNAM 110600 DELPP 110723 BQ24 110773 SCLUP 111000 IRMV 111161 MDRLS 111200 HBOOT 111201 WDCBK 111400 BQ25 111411 WBRKF 111600 QTCLS 111724 QTOPN 111725 BQ26 112027 MCRCL 112200 MCCLS 112203 MCWRS 112326 MCRDS 112327 SFTAB 112400 BQ27 112445 RLBOT 112600 ABORT 113000 BQ28 113063 SFCP 113200 GFCP 113235 SPLDL 113274 GMCA 113326 MCROP 113336 MCOPN 113340 FINIT 113400 BQ29 113501 CRMAP 113504 CSTAT 113600  STATU 113601 DEBLK 113711 DVRLS 114000 RLSE 114000 RLSER 114113 BQ30 114117 MEMI 114200 CCMN 114400 RETFA 114436 RETUR 114437 ERTN 114440 RETCE 114447 RDCER 114552 OVOPN 114600 TOON 115040 TUOFF 115161 QTRDL 115200 QTRDS 115202 QTWRL 115205 QTWRS 115207 OVRP 115400 RLBXT 115600 MODEM 177777 MODIN 177777 MODSE 177777 INFOS 177777 JNFOS 177777 MSV2 177777 MTAQ 177777 MCRQ 177777 MCTQ 177777 NM00D 177777 NM10D 177777 CLSTB 177777 ALM00 177777 ALM01 177777 ALM02 177777 ALM03 177777 ALM04 177777 ALM05 177777 ALM06 177777 ALM07 177777 ALM08 177777 ALM09 177777 ALM10 177777 ALM11 177777 ALM12 177777 ALM13 177777 ALM14 177777 ALM15 177777 ALM16 177777 ALM17 177777 ALM18 177777 ALM19 177777 ALM20 177777 ALM21 177777 ALM22 177777 ALM23 177777 ALM24 177777 ALM25 177777 ALM26 177777 ALM27 177777 ALM28 177777 ALM29 177777 ALM30 177777 ALM31 177777 ALM32 177777 ALM33 177777 ALM34 177777 ALM35 177777 ALM36 177777 ALM37 177777 ALM38 177777 ALM39 177777 ALM40 177777 ALM41 177777 ALM42 177777 ALM43 177777 ALM44 177777 ALM45 177777 ALM46 177777 ALM47 177777 ALM48 177777 ALM49 177777 ALM50 177777 ALM51 177777 ALM52 177777 ALM53 177777 ALM54 177777 ALM55 177777 ALM56 177777 ALM57 177777 ALM58 177777 ALM59 177777 ALM60 177777 ALM61 177777 ALM62 177777 ALM63 177777 DLMUX 177777 PL001 177777 PL002 177777 PL003 177777 PL004 177777 PL005 177777 PL006 177777 PL007 177777 PL010 177777 PL011 177777 PL012 177777 PL013 177777 PL014 177777 PL015 177777 PL016 177777 PL017 177777 PL020 177777 PL021 177777 PL022 177777 PL023 177777 PL024 177777 PL025 177777 PL026 177777 PL027 177777 PL030 177777 PL031 177777 PL032 177777 PL033 177777 PL034 177777 PL035 177777 PL036 177777 PL037 177777 PL040 177777 PL041 177777 PL042 177777 PL043 177777 PL044 177777 PL045 177777 PL046 177777 PL047 177777 PL050 177777 PL051 177777 PL052 177777 PL053 177777 PL054 177777 PL055 177777 PL056 177777 PL057 177777 PL060 177777 PL061 177777 PL062 177777 PL063 177777 PL064 177777 PL065 177777 PL066 177777 PL067 177777 PL070 177777 PL071 177777 PL072 177777 PL073 177777 PL074 177777 PL075 177777 PL076 177777 PL077 177777 PL100 177777 PL101 177777 PL102 177777 PL103 177777 PL104 177777 PL105 177777 PL106 177777 PL107 177777 PL110 177777 PL111 177777 PL112 177777 PL113 177777 PL114 177777 PL115 177777 PL116 177777 PL117 177777 PL120 177777 PL121 177777 PL122 177777 PL123 177777 ALINI 177777 LPTQ 177777 PLT1Q 177777 PLTDC 177777 PLT1D 177777 ALMDC 177777 ALM1D 177777 DLALM 177777 PL000 177777 QKICK 177777 DKP1D 177777 DK0DB 177777 DK1DB 177777 ZRDOS 177777 DZPER 177777 DZPDC 177777 DZP1D 177777 DZ0DB 177777 DZ4DB 177777 IUD 177777 HISTI 177777 IPBQ 177777 WTEOF 1777Ÿ77 WTRCD 177777 WSEND 177777 PWRFL 177777 SFFIL 177777 SFRCD 177777 PFLDC 177777 IVTIN 177777 OVUSG 177777 TUNIN 177777 TUVSW 177777 REWND 177777 CEL03 177777 RDRCD 177777 QTYTB 177777 QTRZA 177777 QTYWZ 177777 TGET 177777 QTYNO 177777 QTWZA 177777 STK02 177777 STK03 177777 STK04 177777 STK05 177777 STK06 177777 STK07 177777 STK08 177777 STK09 177777 TTI1Q 177777 TTR1Q 177777 TTO1Q 177777 PTR1Q 177777 PTP1Q 177777 MTA1Q 177777 CTA1Q 177777 CDR1Q 177777 DPIQ 177777 DPOQ 177777 TTI1D 177777 TTR1D 177777 TTO1D 177777 PTRDC 177777 PTR1D 177777 PTPDC 177777 PTP1D 177777 MTADC 177777 MTA1D 177777 CTADC 177777 CTA1D 177777 CDRDC 177777 CDR1D 177777 QTY1D 177777 QTYDC 177777 RTCDC 177777 NDS0D 177777 NDS4D 177777 NDP0F 177777 NDP4D 177777 NDP4F 177777 NDZ0D 177777 NDZ4D 177777 QTDCB 177777 PDUMP 177777 OTHER 177777 RTC1D 177777 STK01 177777 MCRBL 177777 MCTBL 177777 GSTAT 177777 TSEND 177777 DSKER 177777 DSPER 177777 CTAQ 177777 CDRQ 177777 MCR1Q 177777 MCT1Q 177777 DSKDC 177777 DSK1D 177777 DSPDC 177777 DSP1D 177777 MCRDC 177777 MCR1D 177777 MCTDC 177777 MCT1D 177777 DS0DB 177777 DS4DB 177777 NC00D 177777 NC10D 177777 MCRDB 177777 MCR1B 177777 SYMP 177777 SYMB 177777 TRESP 177777 TRPRT 177777 SBRCD 177777 SBFIL 177777 RGET 177777 MRDOS 177777 NRDOS 177777 BRDOS 177777 ARDOS 177777 ERCCT 177777 ALM? 177777 SQT64 177777 QTYQ 177777 M10DB 177777 C10DB 177777 IPINI 177777 PTRQ 177777 PTPQ 177777 LPT1Q 177777 PLTQ 177777 LPTDC 177777 LPT1D 177777 DPIDC 177777 DPODC 177777 DP0FD 177777 DP4DB 177777 DP4FD 177777 M00DB 177777 C00DB 177777 IPBDC 177777 OPPRO 177777 UPWRF 177777 P02DL 177777 D01DL 177777 GHMAT*e }  .TITL GHMA .NREL STRT: .SYSTM .MEM JMP .+1 MOV 0,2 .SYSTM .ERTN .END STRT SYS2MLM)�¦ll  SYS2M.SV LOADED BY RLDR REV 07.10 AT 00:30:19 11/28/80 SYS00 000452 UINIT 000452 UCLIB 000452 TMIN 004510 NSAC3 004604 UCLIE 004604 URTC1 051131 UINI1 051131 UINI2 052415 UINI3 053622 USCHE 055357 UPSPA 056264 USYMO 056265 USYST 056767 UPXXD 060155 UOVLA 060375 UTTYD 061037 URWBL 062177 UBLKI 062773 UFILI 063645 UGSUB 065424 ULP13 065731 ULPTD 065731 UIOBU 066125 BADSP 066750 USTAC 067022 UCELL 067725 UDP0D 070265 UDKPD 070621 UINTD 071313 UPANI 072173 UDDPM 072273 UTABL 072276 URESO 073655 000000 000,000 UDFRW 000000 000361 000,001 UDFLR 000000 000366 000,002 UUTIL 000000 000314 000,003 UCREA 000000 000375 000,004 UDELE 000000 000355 000,005 UFLSY 000000 000353 000,006 USOV1 000000 000335 000,007 USOV2 000000 000377 000,010 USOV3 000000 000376 000,011 USOV4 000000 000347 000,012 UDVIN 000000 000357 000,013 UCRSF 000000 000366 000,014 URNG1 000000 000273 000,015 URNG2 000000 000347 000,016 URNG3 000000 000375 000,017 USOV5 000000 000332 000,020 UMTIO 000000 000361 000,021 UMTUC 000000 000370 000,022 UTUON 000000 000327 000,023 UCDRO 000000 000372 000,024 UWDBL 000000 000377 000,025 USPLR 000000 000374 000,026 UCODR 000000 000365 000,027 USOV6 000000 000366 000,030 USOV7 000000 000371 000,031 USOV8 000000 000312 000,032 USOV9 000000 000351 000,033 USV10 000000 000373 000,034 USV11 000000 000315 000,035 UJEHO 000000 000357 000,036 USV12 000000 000263 000,037 USV13 000000 000370 000,040 USV14 000000 000344 000,041 USV15 000000 000360 000,042 USV16 000000 000102 000,043 UFLS2 000000 000370 000,044 USV17 000000 000223 000,045 USV18 000000 000375 000,046 UWDCB 000000 000354 000,047 USV19 000000 000370 000,050 USV20 000000 000001 000,051 USV21 000000 000326 000,052 USFTA 000000 000202 000,053 USV22 000000 000345 000,054 USV23 000000 000311 000,055 USV24 000000 000372 000,056 USV25 000000 000332 000,057 UFSTA 000000 000307 000,060 UDVRL 000000 000330 000,061 USV26 000000 000023 000,062 USV27 000000 000166 000,063 USV28 000000 000011 000,064 UTUNO 000000 000246 000,065 UQTYO 000000 000320 000,066 USV29 000000 000136 000,067 USV30 000000 000260 073655 XN SYMB 053553 XN SYMP 053552 NMAX 073655 ZMAX 000064 CSZE 000000 EST 000000 SST 000000 BOOT 000000 TSCNT 000001 URDOS 000001 RTCI 000001 MNSTK 000002 NDP0D 000003 NP00D 000003 NUBUF 000010 BCEC 000010 IPCEL 000010 SCNT 000012 TUBUF 000014 RTCDV 000014 NCEL 000016 TUPBU 000016 TUSC 000026 TUPSC 000030 .VBF0 000032 .VBF1 000033 .TCRS 000034 .TUFP 000035 .TUF1 000036 .TUFD 000037 EMEM 000040 NSEG 000100 LP132 000204 USTAD 000400 CLIBT 000452 CLIBU 004326 TMIN 004511 LCLID 004604 .SAC0 020016 .SAC1 024016 .SAC2 030016 .SAC3 034016 SSINI 051131 SSINT 051152 SSINS 051217 RDCH 051350 TYCH 051355 SIZIT 052426 PTPSW 052672 OVIN 053622 DADR 053676 MSG 054344 SMON 055357 SMON1 055360 SMNXT 055375 SACHN 055443 STSAV 055444 PENTR 055447 URSEX 055600 UPQUE 055622 PTPRV 055623 PTSWP 055624 PRISW 055632 FPUSV 055633 CFPU 055745 TACT 055751 TINA3 055773 NOTSK 055775 TWINK 056065 TSKPU 056115 INTSK 056170 PATCH 056264 BRKP1 056265 BRKP2 056300 BLKCA 056304 BLKCB 056305 QCHK1 056404 FOPE 056431 TTYG 056433 TTYP 056442 FILDQ 056463 CLCHK 056477 SDNCK 056513 SDNKA 056516 SOPNC 056521 RDCK1 056525 RDCK0 056550 RDCK2 056553 WRCK 056556 DTER 056614 MTCHK 056622 TIMEQ 056640 SYST 056767 SQ1 057101 SQ2 057111 CMER 057162 SYSER 057236 SYSE2 057237 RETER 057254 RETE2 057255 IGCEL 057263 GCELL 057270 GETCE 057324 CREL 057340 CFREE 057355 CELCN 057360 CLINK 057362 TRTN 057416 GTRTN 057417 TRTN3 057441 SPRTN 057502 INXTB 057535 INXTA 057536 INFND 057551 INDSK 057571 SENQ 057674 RTCNS 060114 P00DL 060155 P00DB 060171 P01DL 060235 P01DB 060251 P02DL 060315 P02DB 060331 OVLY1 060375 FLAK1 060401 FLAKE 060406 OICAL 060466 OVCH1 060527 OVCHN 060534 OVLAY 060542 USGDN 060627 LDRTN 060634 OVBA1 060651 OVBAS 060652 PREOV 061012 TTIDC 061037 RTCST 061114 TTRDC 061203 TTIEX 061237 CHAR 061336 TTDCT 061340 TTIS 061342 DEBAD 061446 INLIN 061452 LABEL 061614 NOPPR 061640 TTIDT 061727 TTRDT 061743 TTODC 061757 TTOEX 062051 TTODT 062103 TTIQ 062117 TTOQ 062137 TTRQ 062157 RDB 062200 WRB 062201 RDCBK 062773 RDNBK 063133 RDLBK 063314 RDBLK 063351 RDBNO 063577 BLKIN 063645 ASBUF 063646 RLMPB 064152 RELMB 064152 SETMO 064153 RELPB 064164 RELB 064164 RELZT 064222 RELDB 064226 IDCB 064240 FIDCB 064301 FNDCB 064302 BMOVE 064320 PSHRD 064362 BFLUS 064407 FLUSH 064410 WAITF 064504 WAIT 064505 MODOU 064605 QUENT 064644 STCON 065032 ENCON 065033 STLIN 065034 BLIST 065035 GBLKN 065036 PEND 065141 PENDR 065161 UNPEN 065175 GPATJ 065226 GPATH 065227 FPATJ 065251 FPATH 065252 CPATJ 065271 CPATH 065272 XDOA 065314 XNOC 065324 XDIBC 065326 XNOS 065330 XDICC 065332 XDOCS 065334 XDOB 065336 XDOC 065340 XOAS 065342 XDOAP 065344 XDOBS 065346 XDOBP 065350 XDOCP 065352 XIAC 065354 XDIC 065356 XDIB 065360 XDIA 065362 XDOAC 065364 DSKDT 065410 SAVEM 065424 RETN 065436 MVBYT 065450 MFMVB 065450 MTMVB 065450 SRTN 065500 LDBT 065513 MLDBT 065513 LDCHR 065513 STCHR 065526 STBT 065526 MSTBT 065526 MVWD 065552 MFMVW 065552 MTMVW 065552 MBMVW 065552 MCLR 065572 CLEAR 065572 CMPWD 065607 TSTNE 065636 TSTEQ 065637 DIVI 065657 DIVD 065660 MPY 065700 MPYAD 065701 ROX 065712 RSTFL 065721 SETFL 065722 LPTDC 065731 LPTEX 066066 LPTQ 066071 LPTDT 066111 XIBUF 066125 IBUF 066126 OBUF 066233 ENQUE 066346 DEQUE 066400 CISER 066436 FINQ 066547 FINP 066552 DEQRQ 066554 COSER 066563 STOUT 066565 XNIOC 066707 XDIAC 066713 XNIOS 066715 XDIAP 066717 DDOB 066721 DDOCS 066723 DDIC 066725 XSKPB 066727 STCOT 066750 STLIK 067022 STK00 067023 STK01 067364 FCELL 067725 CEL01 067745 CEL02 067765 CEL03 070005 CEL04 070025 CEL05 070045 CEL06 070065 CEL07 070105 CEL08 070125 CEL09 070145 CEL10 070165 CEL11 070205 CEL12 070225 CEL13 070245 DKPDC 070265 DKPEX 070302 D00DL 070305 DP0DB 070321 DP0DC 070365 D01DL 070411 DP1DB 070425 DP1DC 070471 D02DL 070515 DP2DB 070531 DP2DC 070575 DKPDS 070621 DKPST 071005 DKPIT 071120 DKPER 071307 PFL 071313 USTKO 071326 INTS 071402 LINT 071465 DTOTL 071503 TIA0 071506 TIA1 071507 TIA2 071510 TIA3 071511 TCRY 071512 INTLV 071513 PFRET 071613 TSECI 071626 RESCH 071673 IHDN 071737 UTOTL 071756  IWKUP 071757 DISMI 072000 DISI3 072005 USSV 072104 TODI 072142 TODS 072144 TODH 072146 TODD 072150 STKDC 072152 PNIC 072173 REG 072263 DMPLO 072273 DMPUN 072273 DLOCK 072273 DGRAB 072273 DVLOC 072273 DVUNL 072273 DUNLO 072273 SYSQ 072276 DSQ1 072363 DSQ2 072450 SPPTH 072535 SPOLF 072536 SPOLQ 072537 PT1 072557 SFGNP 072572 PT2 072642 PS1 072725 OVTAB 072740 BRSV 073040 FBRSV 073045 SYSTB 073052 OSNAM 073070 SYSNM 073076 FIMSG 073104 MAPNM 073113 FTMSG 073121 BIN 073130 FIN 073132 ENVIR 073206 TUNE 073207 ITUNE 073232 TUSW 073240 IVFWA 073241 ITBL 073242 TTITB 073251 PTRTB 073253 DPTBL 073274 LNKDR 073277 IVTTB 073300 PFLTB 073340 TTRTB 073342 IVLWA 073345 PPDCB 073346 MDCB 073347 SYSTM 073350 SYSTR 073351 SYSFL 073352 FSYSF 073353 SYSFG 073354 SFGZP 073355 DIRR 073356 BUFNT 073357 SYSIN 073360 SPOOL 073361 STDCC 073362 .IPIN 073363 .IPBQ 073364 ALMIN 073365 SS 073367 ADTDB 073547 SQ 073614 NTI1Q 073615 NTO1Q 073616 BQ 073635 BQ2 074253 BQ3 074671 BQ4 075307 BQ5 075725 BQ6 076343 BQ7 076761 BQ8 077377 DFWL 100000 TUSTK 100002 TUPST 100004 TUCEL 100007 TUPCE 100011 BQ9 100015 DFRR 100037 DFWR 100040 DFRS 100143 DFWS 100144 DFRL 100200 CHNST 100347 USRST 100350 USRLS 100351 LINK 100352 MTDIO 100400 BQ10 100433 OVLDC 100476 GCHN 100477 INTAD 100521 CONNT 100601 CONNS 100605 TCCON 100607 CCONT 100610 CCONS 100614 TCRND 100616 CRAND 100617 TCRET 100621 CREAT 100622 MAKE1 100623 MAKE 100624 UNLNK 101000 DELFI 101001 BQ11 101051 TRDEL 101140 EQUIV 101151 SRUFE 101200 SRUFD 101201 GCIN 101400 GCOUT 101401 SECI 101422 CHLAT 101435 CHAT 101442 BQ12 101467 GTAT 101473 FGND 101532 RDSW 101542 UCLI 101545 UCLR 101546 RTCF 101547 MEM 101550 STIME 101551 ODIS 101552 OEBL 101553 GTIME 101565 OPNCK 101600 DNCK 101627 CFNAM 101654 CSFNA 101655 TFTX 101732 SDIRR 101735 NAMCK 101771 RDCI 102020 BQ13 102105 TOPN 102200 EOPN 102202 OPNA 102204 ROPN 102206 OPEN 102210 CLS 102337 ECLR 102340 RSET 102341 DKINI 102413 DPINI 102414 BQ14 102523 CRMPE 102631 RPIPH 102674 CRSFS 102675 TOO 103000 OPNO 103014 OPNI 103032 CLSO 103074 TTIC 103104 CLSI 103115 BQ15 103141 WRCDV 103145 WRMSO 103153 TIRS 103200 TIRL 103203 RDS 103206 RCHR 103217 DRCHR 103220 GCHR 103262 GCH 103310 RDL 103324 ACHR 103400 PCH 103400 WRS 103523 BQ16 103557 WRL 103565 QWAIT 103600 BRKWT 103726 MTRCB 104000 MTRLB 104005 MTRNB 104006 WRITI 104040 MTRLS 104136 MTINT 104137 MTCLS 104140 BQ17 104175 MTOPD 104237 MTOPN 104241 MTOPA 104242 TUON 104446 CDRRL 104600 BQ18 104613 CRINL 105000 CRINI 105001 FCRET 105042 WDBLK 105144 STSPL 105200 BQ19 105231 SPLPS 105341 SPLST 105400 SPKIL 105454 SSPKL 105463 DCODE 105566 NCODE 105567 SPDIS 105570 SPEBL 105571 WRCI 105605 BQ20 105647 RDCI3 106005 RDCI4 106021 RDCI2 106025 CMNF 106205 CMN 106215 BQ21 106265 GDAY 106400 SDAY 106473 LNKRS 106555 RMVBA 106600 BQ22 106703 INIT 106724 GSYS 107000 GMDIR 107013 GDIRS 107014 SRDCT 107047 SZDSK 107106 ICMN 107123 WRCMN 107144 RDCMN 107145 CSYPA 107200 CSYSD 107201 BQ23 107321 BRK 107407 DSKC 107600 DSKCI 107600 UPDAT 107635 DFEO 107723 DSKA 107724 DSKO 107725 DFRO 107726 DFTO 107727 BQ24 107737 DDIR 110000 WROPR 110065 WROPI 110066 RDOPR 110067 CDIR 110200 CPART 110207 BQ25 110355 DDIS 110400 DEBL 110401 IDEF 110447 RNAM 110600 DELPP 110723 BQ26 110773 SCLUP 111000 IRMV 111161 MDRLS 111200 HBOOT 111201 WDCBK 111400 BQ27 111411 WBRKF 111600 QTCLS 111724 QTOPN 111725 BQ28 112027 MCRCL 112200 MCCLS 112203 MCWRS 112326 MCRDS 112327 SFTAB 112400 BQ29 112445 RLBOT 112600 ABORT 113000 BQ30 113063 SFCP 113200 GFCP 113235 SPLDL 113274 GMCA 113326 MCROP 113336 MCOPN 113340 FINIT 113400 CRMAP 113504 CSTAT 113600 STATU 113601 DEBLK 113711 DVRLS 114000 RLSE 114000 RLSER 114113 MEMI 114200 CCMN 114400 RETFA 114436 RETUR 114437 ERTN 114440 RETCE 114447 RDCER 114552 OVOPN 114600 TOON 115040 TUOFF 115161 QTRDL 115200 QTRDS 115202 QTWRL 115205 QTWRS 115207 OVRP 115400 RLBXT 115600 LPCHR 133002 MODEM 177777 MODIN 177777 MODSE 177777 INFOS 177777 JNFOS 177777 MSV2 177777 MTAQ 177777 MCRQ 177777 MCTQ 177777 NM00D 177777 NM10D 177777 CLSTB 177777 ALM00 177777 ALM01 177777 ALM02 177777 ALM03 177777 ALM04 177777 ALM05 177777 ALM06 177777 ALM07 177777 ALM08 177777 ALM09 177777 ALM10 177777 ALM11 177777 ALM12 177777 ALM13 177777 ALM14 177777 ALM15 177777 ALM16 177777 ALM17 177777 ALM18 177777 ALM19 177777 ALM20 177777 ALM21 177777 ALM22 177777 ALM23 177777 ALM24 177777 ALM25 177777 ALM26 177777 ALM27 177777 ALM28 177777 ALM29 177777 ALM30 177777 ALM31 177777 ALM32 177777 ALM33 177777 ALM34 177777 ALM35 177777 ALM36 177777 ALM37 177777 ALM38 177777 ALM39 177777 ALM40 177777 ALM41 177777 ALM42 177777 ALM43 177777 ALM44 177777 ALM45 177777 ALM46 177777 ALM47 177777 ALM48 177777 ALM49 177777 ALM50 177777 ALM51 177777 ALM52 177777 ALM53 177777 ALM54 177777 ALM55 177777 ALM56 177777 ALM57 177777 ALM58 177777 ALM59 177777 ALM60 177777 ALM61 177777 ALM62 177777 ALM63 177777 DLMUX 177777 PL001 177777 PL002 177777 PL003 177777 PL004 177777 PL005 177777 PL006 177777 PL007 177777 PL010 177777 PL011 177777 PL012 177777 PL013 177777 PL014 177777 PL015 177777 PL016 177777 PL017 177777 PL020 177777 PL021 177777 PL022 177777 PL023 177777 PL024 177777 PL025 177777 PL026 177777 PL027  177777 PL030 177777 PL031 177777 PL032 177777 PL033 177777 PL034 177777 PL035 177777 PL036 177777 PL037 177777 PL040 177777 PL041 177777 PL042 177777 PL043 177777 PL044 177777 PL045 177777 PL046 177777 PL047 177777 PL050 177777 PL051 177777 PL052 177777 PL053 177777 PL054 177777 PL055 177777 PL056 177777 PL057 177777 PL060 177777 PL061 177777 PL062 177777 PL063 177777 PL064 177777 PL065 177777 PL066 177777 PL067 177777 PL070 177777 PL071 177777 PL072 177777 PL073 177777 PL074 177777 PL075 177777 PL076 177777 PL077 177777 PL100 177777 PL101 177777 PL102 177777 PL103 177777 PL104 177777 PL105 177777 PL106 177777 PL107 177777 PL110 177777 PL111 177777 PL112 177777 PL113 177777 PL114 177777 PL115 177777 PL116 177777 PL117 177777 PL120 177777 PL121 177777 PL122 177777 PL123 177777 ALINI 177777 PLT1Q 177777 PLTDC 177777 PLT1D 177777 ALMDC 177777 ALM1D 177777 DLALM 177777 PL000 177777 QKICK 177777 DKP1D 177777 DK0DB 177777 DK1DB 177777 ZRDOS 177777 DZPER 177777 DZPDC 177777 DZP1D 177777 DZ0DB 177777 DZ4DB 177777 IUD 177777 HISTI 177777 IPBQ 177777 PWRFL 177777 SFFIL 177777 SFRCD 177777 PFLDC 177777 IVTIN 177777 OVUSG 177777 TUNIN 177777 TUVSW 177777 REWND 177777 CEL14 177777 WTEOF 177777 RDRCD 177777 WTRCD 177777 QTYTB 177777 QTRZA 177777 QTYWZ 177777 TGET 177777 QTYNO 177777 QTWZA 177777 STK03 177777 STK04 177777 STK05 177777 STK06 177777 STK07 177777 STK08 177777 STK09 177777 TTI1Q 177777 TTR1Q 177777 TTO1Q 177777 PTR1Q 177777 PTP1Q 177777 MTA1Q 177777 CTA1Q 177777 CDR1Q 177777 DPIQ 177777 DPOQ 177777 TTI1D 177777 TTR1D 177777 TTO1D 177777 PTRDC 177777 PTR1D 177777 PTPDC 177777 PTP1D 177777 MTADC 177777 MTA1D 177777 CTADC 177777 CTA1D 177777 CDRDC 177777 CDR1D 177777 QTY1D 177777 QTYDC 177777 RTCDC 177777 NDS0D 177777 NDS4D 177777 NDP0F 177777 NDP4D 177777 NDP4F 177777 NDZ0D 177777 NDZ4D 177777 QTDCB 177777 PDUMP 177777 OTHER 177777 RTC1D 177777 STK02 177777 MCRBL 177777 MCTBL 177777 GSTAT 177777 TSEND 177777 WSEND 177777 DSKER 177777 DSPER 177777 CTAQ 177777 CDRQ 177777 MCR1Q 177777 MCT1Q 177777 DSKDC 177777 DSK1D 177777 DSPDC 177777 DSP1D 177777 MCRDC 177777 MCR1D 177777 MCTDC 177777 MCT1D 177777 DS0DB 177777 DS4DB 177777 NC00D 177777 NC10D 177777 MCRDB 177777 MCR1B 177777 SYMP 177777 SYMB 177777 TRESP 177777 TRPRT 177777 SBRCD 177777 SBFIL 177777 RGET 177777 MRDOS 177777 NRDOS 177777 BRDOS 177777 ARDOS 177777 ERCCT 177777 ALM? 177777 SQT64 177777 QTYQ 177777 M10DB 177777 C10DB 177777 IPINI 177777 PTRQ 177777 PTPQ 177777 LPT1Q 177777 PLTQ 177777 LPT1D 177777 DPIDC 177777 DPODC 177777 DP0FD 177777 DP4DB 177777 DP4FD 177777 M00DB 177777 C00DB 177777 IPBDC 177777 OPPRO 177777 LPTCH 177777 UPWRF 177777 PË03DL 177777 D03DL 177777 RLDROL/ ¸m= !{< å­  H ž‚P(  H!p­P8ƒç H—!ç Hš!cç H¬!aç H­ *ç H®!\ç H¯![ç H´8„ (ç H³!j  H­  H  H9Y¿!W  6!X(  6  6ª• )G  6!E  6‡H—!C(  6 ( 6A8I8 " 6AI ! !  " 6A ! ÆA ¢ ! ! 7D 0€•Yù)ö C9õæö @L @LLí. [],0-Jþ K€û#­Iöô)ó8¼ñõ ; 2ŽIy5D9äÝ í9ãÝ ç9ßÝ ë9;Ý  ?(  6 8(  6š�+0·I0)· +0*· 0+0·0öÓP|8=„(©Cû«ý ‰0„CÞ«ýK0|ÓP‘ �Å(§À‰8 šPæƒÆ« 8öBþýZÿZý‚ÀƒÀöM*¬J8õP’@| 8(  60� •P/!•P.•PE•P1•P0„P–QÓ9) #BÓû«ûJ K€ Êÿç ± SST ESTCSZEZMAXNMAXFCOM.CM «‚4)b!c�00‘ –"þ0  %   68ž+ª)N   6   6óIB’P§ @‚þ9>!>†Pž §•S)5%3ŒK4Ñ93Ý 6 D. d­PHt(™ª !,(®Pª «¦@dD/<0\1­HŽHÍLE1y N nB Q nAs1p Á(!ª ƒ)r� 0M  ¾F  °‚P C…@q@Í!Z L)J1UÒ�"�  ?(  6 8(  6 …)à§ A0*()— � á(� Þ),19Ò�"� 6)7� 6)$�  †(� Î)� Ë))§ È(¹§ q!!­  6!!• 6»@}…AX } µ¯ µ[, t OÿÿUSTAD › ö Ì€] ¨ t@p„@s ›‚S‚�4.” .4.Pv ŸŠ…  ¢ö œ‚S‚�4/” /4/ÒR1Ò�Pv ŸŠ…  ¢ó$.@€$/@8Tæ@‰…@T@›@œ$1@u¸Y7!9 2,/  I1üÿþ B,/¥D/·0-B K·ÿÿ­Iñ(±ª µ­H±(7H‚(‹Iô„@‹ §=C!î DTŠ8!ú5 T/ŠýXŽXj Í· = >’ Î ( 6AwIw!ø­P  6’�)‚2µø­P  6 8(  6 †1ã— Z%‚  K€³!S‚$/@B0- K€j!M)M ' 6!§(‚Àƒ�²P¶8<Þ �CY3$/0jÒ 16Ç ÐÇ12ÆD/0!Ò A$ 0©Ò‚PD=Ž…D/@Œ0jÒ† CªÀH‹=Æú   = ú Ký]¸ 2·ÿÿ´‹ ‘·ÿXy,/8Œí I 9   I‹$/=œE D¢À0>(�¶*ŽJ� ŒD/ ýX•yü §Y! 29ÑXo Ð ™‚  ƒ) � ¦@ƒ! ¶!Å 60-B K  SYS.LB40<1Ý&8P„CQó*:ÿ ŸÀX“9ï1 R ¹(„�PoP~ 40~"(§B„B Q1Ú:ÿú€­úƒ« À1ÓÙJ?ÿ9Î#þB#ÿ(§À:¿žZ Q1à ¤È…@Ç!@Ì Æ8Ôú‚û Ï‚K‚�(� Ñ)¤1–É å Á j Ù E  õbû|”ØâõÔ0-B K·Y‚ 09ŸºQº‚øÜϦÆ@}0- vB(‹«(‹I K }…P8vúK ú]0œÒJ0-Z K€…EG ¼1B q‚ @ Å­H¨(pªP87X‚18Q9*ª:«  KpA88P#B# <8PB#B Q²!+‚‚­­P8P# ÀÈ·Ó0P" ( Áùª�µ8>0�Þ3ÒÀ(©ªÒ�Ò (�ªÒ ) �ªÖ€Æ¡’0P KÞ")§¤BïÿIY)ýª (8½Œû+® Œ„) Å •‚* Ä8PXo ‰C#0ÔÒ0Ç)*¦C9%ç¨ýPX� 3 ‹ƒ • q‚Ó8P#(� ²Ž©1#BûÓ«ûÓ8‚ 7å I! 2 2Ð >Y0Q1"(§+8²æA'9%X“žìY )1! R!9�+JÓûƒû QH“1) R(¦JI ¦ Q1 …@“ R!Aç ¼ Å t(q‚ªà Ä8Ôú90P"æB" Ð 50PB ¸ÈðÓ Å Ä0P8Ôú"8ç9]æB ²–=Z"+� "+� O ¼ Î Ð 50PB N%"‚À‚‚0‚ƒ ‹ƒ %A‚* Œ¤c ¥ �g *¦D/@*#�Ó0P"B K€ $/B ‹ƒ %!‚ 7$/ Á*¦D/@Ó‚‚ë%‚ #B$/B#B" Q²­P À$/0Péÿÿ[³ = ‹ƒ é%‚ YùP~0P"0Œ–PŒ5ñ:žZ9î0~Ø š%ÿ‚  Qç Œ:æ@Œ5á"æB1Þ½ K€ %‚¤ K¡ K€´ÿÿ8™(˜úª Î@`(tµ: KÕU6(d4/´HL/14…P(–ª-� 15 &)\TASK0- `B K€Y ˜‚!‚ Å!8¬æ8™æ‚ 8‹Y üX‹1 9X‹ @ÿ ‡ÿTMINŽÿTMAX…AA ¼ Å » Î@v Ъ•ª• (€Ž0. ¥0-J K€0/(ŽHv«"ŒJ Ä Î Ð 50PB N*ªÀªŠ#*ýY9ú‚RªP¦‚  †   Ó0P K Ó¦ù…PÀ ¼ Å » Î Ð 5,E¤DEÓ ¼ Å » Ä0P N "‚À‚Š A "@Ó0P K€ Å »!@Ó ¼ Å Ž@t@°@±¶ Å…P@t…@°·XzP~:þúKÑÐûXÂBþ¬P¶Q@v ŸªbL« ª�¥8å <  ¢òâ 7  Hv~ ¿!þ 8vþ ]ú vä8ÂûJ" vå(¥ !  Y 8wúœùøXw¢   9ÞY ¿!þ ì(® MÕ    0~zY9ú† ýYYoIoQ98‹YmüX‹Yk8Y38*ÿïIjIj*þ« ¬�Ia)]« 9^¾ÑÐ!9WúJñ9Xú*þH‹P�ÑÐýªKYMä"þ¬�JþCÿÿ€]å Ãã)9«  ¾8wú)û¼)ù¾Xw)+H‹')(« ü!,‚8�#þ� õ† Cþ¬P¶Q ¿1þ8wúܬP¾Xw) J„�Bÿß9Ò(#ÿ¦Cÿçíñ Xy:þú@ú�ûJyP~Xv0À Ÿ§·Px0P* º  8v(x½«Àªƒð0~yXy*þª`‚J« ª�Hv Ÿ9ú$‚@ª`‚€  ô  ª`ñ­IyXy*çXyyy3+I$1Ž@L1•Px3+Úµ"C„–žxú­LþyXyyy41#+Ú½(|\1Xlì ¥0- vBþ K€ <1Åy@xÓû"CxûyXyQzAx"(§S(²¦As s¢P‚P1r–Qo t‚ "‚ "‚¢9kç æB"B"‚Aa@“9`¾Z!UB1X Q R!P�9M+JÓûƒû*!I�"AI@“9@æ8åèX“1? R(¦9?îJ¦ QÕP“Q711J!-90ïÖ1(*ªÀª‚ Q!!yIG($1¥(|@lŒ ¥0- vBþ K€ <1D1%C!‚À*ªÀ0·–Sÿ1*Kþ!* r?ÿÉÀ0‹Ó Ñ«\‚‹Í<10|ÓXlõ ¥Ð<13Sÿ(‹K¬�K#0ÆC11·XyQ× §Å�AÛ«Y N "(§) ¦B„B Q íò Áÿÿ4ÌÒP­pÒPª@ÒUÌÒT̪@Xy ÆŠÀ ƦÀ8Ôú‚À(ÇŽHÇyXyŠÀ ƦÀ8Ôú‚À@Ç‚KÔ¨‚À@Ç‚À†Bp‚�‚�y Ç‚¸0-B K€Xz ÌA"0È!A!!A%­‚Pª@‚Pª@‚PªE 8öýÜò  ìz0-…Bþ K€zÿýÿû( Æ� þ¸Xz ¬@È ª@É ¨@Ê ¦@Ë ¤zY‚)19¤JÆæ9 ) ¥ å9¤ å-6 [/Xz ‰8Ôú<)9 CQ5 CQ2 ÞŠÀ!/I. Ú),ŽI*!* Õ‚ÀA' Î)( CÒÀ(ÎLP)! CQ È)ŽI! Ã(§ÀA0P! 5B! 2B‚! -B‚ ÎÈÈz( (�I«�I0Ǧ0PBÈ ²– Î BÓÈ ú) ªƒ(§Bÿ0P ÎBzY(I(�À9 ½ † 9 ½ † ‚Àö.?Y&Q$I" Í‚!) HÍA!š� ;‚úÀçÍ) 1  9õ 6ªí 9D·&ü@ ¬‚ Z(™ªƒ 9^ n(� P<1…C0M N„"@[€G ¯‚V ƒ)C� @$/@vAN�€D1$0¬P¦A8­I7…@“15 RQ4(Ú¾#A9"(§YA+ ²–P S .ŠÓ S *ÓQ"1$ ,…1 ,I­)1 S 1 ,I1Ó S Š … ™ ­(F& ]?ÿ ‘Ó S ø1ô ,1í"8‚Àç0* ,1æ¢�‚“"  v"  v¢  v!Ü  v ÜQÔ¥)Ü!Ü�ª–)Ë«!Ô¥� vD/�€D0 „)d�e)¼8ú• 8 + 8`0ßÏí1»!° ,$0¤� RI¯L0«L/A¬@v,1�I¥!¯D/ Ÿ¢)¢Hv  ŸŸ)žHv™ö!™D190-Jþ K€I"‚)*§)¥ !)¥ !)Œü)�)¥ )Œó)�ð) ¥).%?&0/AZ69U » ¹ ¬‚=,.HV,0HW,1HX,/HYH\,EH]0™Ò î a@b(J¦0–Òè–@c0–Ò 1Ý–Pv–¦„  € ø9Õ1Ó ažXv– r‚P  r 9 ú„Pv  1Æ8nXv"  vÓiû0Ò G8©úGP}ýYB8=XŠ0¶�:*í9/½I-Óƒø))LŠŠ0!$ ,I"}ã ;  ! 6­ ) 6L! @L…A =@Š >A01˜*¨ ²ü!6QÄ:‚Xo 41¾*¨ 2Ð Aò*2Jé#(§0²ÆE$1Æ52¶Ä %.)v1Ó r’9Ÿ;-¦1 A %�+JÓûƒûÓ d˜  gYÒÀÓÀ  ? 6’(©ýZÓ«ý m%¢‚L!å‚H!F)â� )>1ßÓ â…E3A8!Ù‚Ö  !)  6 ) 6!+A((¦AWAW¦A#AQ¦A©P¦’…BÓ«ýAAA}Š!0   6!?   6 d¨ Ý _ ›1û("§Aò9)#§Aï(² Õ‚)ì¶¾"+¥ ¥  Õ‚ÓûÝ Ùñ1Ü!Ý­P QØÜ1 !( QÖY8A8QûI4"(� ²ŽI¾!òŽ9º¼!¾)%$1$ 'š1è"CÓû­ûYà(!¦•"§!1Ò‹ ¡) ÒÀÓÀ  ? ’™)˜÷ 9VÝ 6’)SªP)ô«ªŠ­PIð)懲1�!‚)ê ²ý1¯!­)å ­ý%?)¦¥ )Ü1Ü ß  6  6  6!0  6!-  6)(!)  6¢  6-ª)5…(©BÓ«ýA´EEUA -!�ª-«!�D  l˜ ¨ Üå c¾ D i j?ÿ­I“)’%ô0  Œ’("�õ ²ŽÎI Po 41%â(¦Äòè)Ôµ 6(ÕªÕ­M]IÌM\MËM[MÒMÓMÓM I I¯ Ô½…­ ' 6!d(��`‚P H9°õ 6AŽ�²ýZ’�"(§(²¦–5ø-3®UÎ �Œ/9C,  !– !“ !� !  ®‚LL! @L! @L  ;  6 d æõ l°JSTRLDR.I1RLDR.I2RLDR.I3RLDR.I4 ÝäSYS2LLM)ðff  SYS2L.SV LOADED BY RLDR REV 07.10 AT 12:10:48 11/22/80 SYS00 000452 UINIT 000452 UCLIB 000452 TMIN 004510 NSAC3 004604 UCLIE 004604 URTC1 052345 UINI1 052345 UINI2 053631 UINI3 055036 USCHE 056573 UPSPA 057500 USYMO 057501 USYST 060203 UPXXD 061371 UOVLA 061611 UTTYD 062253 URWBL 063413 UBLKI 064207 UFILI 065061 UGSUB 066640 ULP13 067145 ULPTD 067145 UIOBU 067341 BADSP 070164 USTAC 070236 UCELL 071141 UDP0D 071321 UDKPD 071655 UINTD 072347 UPANI 073227 UDDPM 073327 UTABL 073332 URESO 074711 000000 000,000 UDFRW 000000 000361 000,001 UDFLR 000000 000366 000,002 UUTIL 000000 000314 000,003 UCREA 000000 000375 000,004 UDELE 000000 000355 000,005 UFLSY 000000 000353 000,006 USOV1 000000 000335 000,007 USOV2 000000 000377 000,010 USOV3 000000 000376 000,011 USOV4 000000 000347 000,012 UDVIN 000000 000357 000,013 UCRSF 000000 000366 000,014 URNG1 000000 000273 000,015 URNG2 000000 000347 000,016 URNG3 000000 000375 000,017 USOV5 000000 000332 000,020 UMTIO 000000 000361 000,021 UMTUC 000000 000370 000,022 UTUON 000000 000327 000,023 UCDRO 000000 000372 000,024 UWDBL 000000 000377 000,025 USPLR 000000 000374 000,026 UCODR 000000 000365 000,027 USOV6 000000 000366 000,030 USOV7 000000 000371 000,031 USOV8 000000 000312 000,032 USOV9 000000 000351 000,033 USV10 000000 000373 000,034 USV11 000000 000315 000,035 UJEHO 000000 000357 000,036 USV12 000000 000263 000,037 USV13 000000 000370 000,040 USV14 000000 000344 000,041 USV15 000000 000360 000,042 USV16 000000 000102 000,043 UFLS2 000000 000370 000,044 USV17 000000 000223 000,045 USV18 000000 000375 000,046 UWDCB 000000 000354 000,047 USV19 000000 000370 000,050 USV20 000000 000001 000,051 USV21 000000 000326 000,052 USFTA 000000 000202 000,053 USV22 000000 000345 000,054 USV23 000000 000311 000,055 USV24 000000 000372 000,056 USV25 000000 000332 000,057 UFSTA 000000 000307 000,060 UDVRL 000000 000330 000,061 USV26 000000 000023 000,062 USV27 000000 000166 000,063 USV28 000000 000011 000,064 UTUNO 000000 000246 000,065 UQTYO 000000 000320 000,066 USV29 000000 000136 000,067 USV30 000000 000260 074711 XN SYMB 054767 XN SYMP 054766 NMAX 074711 ZMAX 000064 CSZE 000000 EST 000000 SST 000000 BOOT 000000 URDOS 000001 TSCNT 000001 RTCI 000001 IPCEL 000001 MNSTK 000002 NDP0D 000003 NP00D 000003 NUBUF 000006 BCEC 000006 NCEL 000007 SCNT 000012 TUBUF 000014 RTCDV 000014 TUPBU 000016 TUSC 000026 TUPSC 000030 .VBF0 000032 .VBF1 000033 .TCRS 000034 .TUFP 000035 .TUF1 000036 .TUFD 000037 EMEM 000040 NSEG 000100 LP132 000204 USTAD 000400 CLIBT 000452 CLIBU 004326 TMIN 004511 LCLID 004604 .SAC0 020016 .SAC1 024016 .SAC2 030016 .SAC3 034016 SSINI 052345 SSINT 052366 SSINS 052433 RDCH 052564 TYCH 052571 SIZIT 053642 PTPSW 054106 OVIN 055036 DADR 055112 MSG 055560 SMON 056573 SMON1 056574 SMNXT 056611 SACHN 056657 STSAV 056660 PENTR 056663 URSEX 057014 UPQUE 057036 PTPRV 057037 PTSWP 057040 PRISW 057046 FPUSV 057047 CFPU 057161 TACT 057165 TINA3 057207 NOTSK 057211 TWINK 057301 TSKPU 057331 INTSK 057404 PATCH 057500 BRKP1 057501 BRKP2 057514 BLKCA 057520 BLKCB 057521 QCHK1 057620 FOPE 057645 TTYG 057647 TTYP 057656 FILDQ 057677 CLCHK 057713 SDNCK 057727 SDNKA 057732 SOPNC 057735 RDCK1 057741 RDCK0 057764 RDCK2 057767 WRCK 057772 DTER 060030 MTCHK 060036 TIMEQ 060054 RTCNS 060114 SYST 060203 SQ1 060315 SQ2 060325 CMER 060376 SYSER 060452 SYSE2 060453 RETER 060470 RETE2 060471 IGCEL 060477 GCELL 060504 GETCE 060540 CREL 060554 CFREE 060571 CELCN 060574 CLINK 060576 TRTN 060632 GTRTN 060633 TRTN3 060655 SPRTN 060716 INXTB 060751 INXTA 060752 INFND 060765 INDSK 061005 SENQ 061110 RTCST 061114 P00DL 061371 P00DB 061405 P01DL 061451 P01DB 061465 P02DL 061531 P02DB 061545 OVLY1 061611 FLAK1 061615 FLAKE 061622 OICAL 061702 OVCH1 061743 OVCHN 061750 OVLAY 061756 USGDN 062043 LDRTN 062050 OVBA1 062065 OVBAS 062066 PREOV 062226 TTIDC 062253 TTRDC 062417 TTIEX 062453 CHAR 062552 TTDCT 062554 TTIS 062556 DEBAD 062662 INLIN 062666 LABEL 063030 NOPPR 063054 TTIDT 063143 TTRDT 063157 TTODC 063173 TTOEX 063265 TTODT 063317 TTIQ 063333 TTOQ 063353 TTRQ 063373 RDB 063414 WRB 063415 RDCBK 064207 RDNBK 064347 RDLBK 064530 RDBLK 064565 RDBNO 065013 BLKIN 065061 ASBUF 065062 RELMB 065366 RLMPB 065366 SETMO 065367 RELB 065400 RELPB 065400 RELZT 065436 RELDB 065442 IDCB 065454 FIDCB 065515 FNDCB 065516 BMOVE 065534 PSHRD 065576 BFLUS 065623 FLUSH 065624 WAITF 065720 WAIT 065721 MODOU 066021 QUENT 066060 STCON 066246 ENCON 066247 STLIN 066250 BLIST 066251 GBLKN 066252 PEND 066355 PENDR 066375 UNPEN 066411 GPATJ 066442 GPATH 066443 FPATJ 066465 FPATH 066466 CPATJ 066505 CPATH 066506 XDOA 066530 XNOC 066540 XDIBC 066542 XNOS 066544 XDICC 066546 XDOCS 066550 XDOB 066552 XDOC 066554 XOAS 066556 XDOAP 066560 XDOBS 066562 XDOBP 066564 XDOCP 066566 XIAC 066570 XDIC 066572 XDIB 066574 XDIA 066576 XDOAC 066600 DSKDT 066624 SAVEM 066640 RETN 066652 MVBYT 066664 MFMVB 066664 MTMVB 066664 SRTN 066714 LDBT 066727 MLDBT 066727 LDCHR 066727 STBT 066742 STCHR 066742 MSTBT 066742 MVWD 066766 MFMVW 066766 MTMVW 066766 MBMVW 066766 MCLR 067006 CLEAR 067006 CMPWD 067023 TSTNE 067052 TSTEQ 067053 DIVI 067073 DIVD 067074 MPY 067114 MPYAD 067115 ROX 067126 RSTFL 067135 SETFL 067136 LPTDC 067145 LPTEX 067302 LPTQ 067305 LPTDT 067325 XIBUF 067341 IBUF 067342 OBUF 067447 ENQUE 067562 DEQUE 067614 CISER 067652 FINQ 067763 FINP 067766 DEQRQ 067770 COSER 067777 STOUT 070001 XNIOC 070123  XDIAC 070127 XNIOS 070131 XDIAP 070133 DDOB 070135 DDOCS 070137 DDIC 070141 XSKPB 070143 STCOT 070164 STLIK 070236 STK00 070237 STK01 070600 FCELL 071141 CEL01 071161 CEL02 071201 CEL03 071221 CEL04 071241 CEL05 071261 CEL06 071301 DKPDC 071321 DKPEX 071336 D00DL 071341 DP0DB 071355 DP0DC 071421 D01DL 071445 DP1DB 071461 DP1DC 071525 D02DL 071551 DP2DB 071565 DP2DC 071631 DKPDS 071655 DKPST 072041 DKPIT 072154 DKPER 072343 PFL 072347 USTKO 072362 INTS 072436 LINT 072521 DTOTL 072537 TIA0 072542 TIA1 072543 TIA2 072544 TIA3 072545 TCRY 072546 INTLV 072547 PFRET 072647 TSECI 072662 RESCH 072727 IHDN 072773 UTOTL 073012 IWKUP 073013 DISMI 073034 DISI3 073041 USSV 073140 TODI 073176 TODS 073200 TODH 073202 TODD 073204 STKDC 073206 PNIC 073227 REG 073317 DMPLO 073327 DMPUN 073327 DLOCK 073327 DGRAB 073327 DVLOC 073327 DVUNL 073327 DUNLO 073327 SYSQ 073332 DSQ1 073417 DSQ2 073504 SPPTH 073571 SPOLF 073572 SPOLQ 073573 PT1 073613 SFGNP 073626 PT2 073676 PS1 073761 OVTAB 073774 BRSV 074074 FBRSV 074101 SYSTB 074106 OSNAM 074124 SYSNM 074132 FIMSG 074140 MAPNM 074147 FTMSG 074155 BIN 074164 FIN 074166 ENVIR 074242 TUNE 074243 ITUNE 074266 TUSW 074274 IVFWA 074275 ITBL 074276 TTITB 074305 PTRTB 074307 DPTBL 074330 LNKDR 074333 IVTTB 074334 PFLTB 074374 TTRTB 074376 IVLWA 074401 PPDCB 074402 MDCB 074403 SYSTM 074404 SYSTR 074405 SYSFL 074406 FSYSF 074407 SYSFG 074410 SFGZP 074411 DIRR 074412 BUFNT 074413 SYSIN 074414 SPOOL 074415 STDCC 074416 .IPIN 074417 .IPBQ 074420 ALMIN 074421 SS 074423 ADTDB 074603 SQ 074650 NTI1Q 074651 NTO1Q 074652 BQ 074671 BQ2 075307 BQ3 075725 BQ4 076343 BQ5 076761 BQ6 077377 DFWL 100000 TUSTK 100002 TUPST 100004 TUCEL 100007 TUPCE 100011 BQ7 100015 DFRR 100037 DFWR 100040 DFRS 100143 DFWS 100144 DFRL 100200 CHNST 100347 USRST 100350 USRLS 100351 LINK 100352 MTDIO 100400 BQ8 100433 OVLDC 100476 GCHN 100477 INTAD 100521 CONNT 100601 CONNS 100605 TCCON 100607 CCONT 100610 CCONS 100614 TCRND 100616 CRAND 100617 TCRET 100621 CREAT 100622 MAKE1 100623 MAKE 100624 UNLNK 101000 DELFI 101001 BQ9 101051 TRDEL 101140 EQUIV 101151 SRUFE 101200 SRUFD 101201 GCIN 101400 GCOUT 101401 SECI 101422 CHLAT 101435 CHAT 101442 BQ10 101467 GTAT 101473 FGND 101532 RDSW 101542 UCLI 101545 UCLR 101546 RTCF 101547 MEM 101550 STIME 101551 ODIS 101552 OEBL 101553 GTIME 101565 OPNCK 101600 DNCK 101627 CFNAM 101654 CSFNA 101655 TFTX 101732 SDIRR 101735 NAMCK 101771 RDCI 102020 BQ11 102105 TOPN 102200 EOPN 102202 OPNA 102204 ROPN 102206 OPEN 102210 CLS 102337 ECLR 102340 RSET 102341 DKINI 102413 DPINI 102414 BQ12 102523 CRMPE 102631 RPIPH 102674 CRSFS 102675 TOO 103000 OPNO 103014 OPNI 103032 CLSO 103074 TTIC 103104 CLSI 103115 BQ13 103141 WRCDV 103145 WRMSO 103153 TIRS 103200 TIRL 103203 RDS 103206 RCHR 103217 DRCHR 103220 GCHR 103262 GCH 103310 RDL 103324 PCH 103400 ACHR 103400 WRS 103523 BQ14 103557 WRL 103565 QWAIT 103600 BRKWT 103726 MTRCB 104000 MTRLB 104005 MTRNB 104006 WRITI 104040 MTRLS 104136 MTINT 104137 MTCLS 104140 BQ15 104175 MTOPD 104237 MTOPN 104241 MTOPA 104242 TUON 104446 CDRRL 104600 BQ16 104613 CRINL 105000 CRINI 105001 FCRET 105042 WDBLK 105144 STSPL 105200 BQ17 105231 SPLPS 105341 SPLST 105400 SPKIL 105454 SSPKL 105463 DCODE 105566 NCODE 105567 SPDIS 105570 SPEBL 105571 WRCI 105605 BQ18 105647 RDCI3 106005 RDCI4 106021 RDCI2 106025 CMNF 106205 CMN 106215 BQ19 106265 GDAY 106400 SDAY 106473 LNKRS 106555 RMVBA 106600 BQ20 106703 INIT 106724 GSYS 107000 GMDIR 107013 GDIRS 107014 SRDCT 107047 SZDSK 107106 ICMN 107123 WRCMN 107144 RDCMN 107145 CSYPA 107200 CSYSD 107201 BQ21 107321 BRK 107407 DSKC 107600 DSKCI 107600 UPDAT 107635 DFEO 107723 DSKA 107724 DSKO 107725 DFRO 107726 DFTO 107727 BQ22 107737 DDIR 110000 WROPR 110065 WROPI 110066 RDOPR 110067 CDIR 110200 CPART 110207 BQ23 110355 DDIS 110400 DEBL 110401 IDEF 110447 RNAM 110600 DELPP 110723 BQ24 110773 SCLUP 111000 IRMV 111161 MDRLS 111200 HBOOT 111201 WDCBK 111400 BQ25 111411 WBRKF 111600 QTCLS 111724 QTOPN 111725 BQ26 112027 MCRCL 112200 MCCLS 112203 MCWRS 112326 MCRDS 112327 SFTAB 112400 BQ27 112445 RLBOT 112600 ABORT 113000 BQ28 113063 SFCP 113200 GFCP 113235 SPLDL 113274 GMCA 113326 MCROP 113336 MCOPN 113340 FINIT 113400 BQ29 113501 CRMAP 113504 CSTAT 113600 STATU 113601 DEBLK 113711 RLSE 114000 DVRLS 114000 RLSER 114113 BQ30 114117 MEMI 114200 CCMN 114400 RETFA 114436 RETUR 114437 ERTN 114440 RETCE 114447 RDCER 114552 OVOPN 114600 TOON 115040 TUOFF 115161 QTRDL 115200 QTRDS 115202 QTWRL 115205 QTWRS 115207 OVRP 115400 RLBXT 115600 LPCHR 133002 MODEM 177777 MODIN 177777 MODSE 177777 INFOS 177777 JNFOS 177777 MSV2 177777 MTAQ 177777 MCRQ 177777 MCTQ 177777 NM00D 177777 NM10D 177777 CLSTB 177777 ALM00 177777 ALM01 177777 ALM02 177777 ALM03 177777 ALM04 177777 ALM05 177777 ALM06 177777 ALM07 177777 ALM08 177777 ALM09 177777 ALM10 177777 ALM11 177777 ALM12 177777 ALM13 177777 ALM14 177777 ALM15 177777 ALM16 177777 ALM17 177777 ALM18 177777 ALM19 177777 ALM20 177777 ALM21 177777 ALM22 177777 ALM23 177777 ALM24 177777 ALM25 177777 ALM26 177777 ALM27 177777 ALM28 177777 ALM29 177777 ALM30 177777 ALM31 177777 ALM32 177777 ALM33 177777 ALM34 177777 ALM35 177777 ALM36 177777 ALM37 177777 ALM38 177777 ALM39 177777 ALM40 177777 ALM41 177777 ALM42 177777 ALM43 177777 ALM44 177777 ALM45 177777 ALM46 177777 ALM47 177777 ALM48 177777 ALM49 177777 ALM50 177777 ALM51 177777 ALM52 177777 ALM53 177777 ALM54 177777 ALM55 177777 ALM56 177777 ALM57 177777 ALM58 177777 ALM59 177777 ALM60 177777 ALM61 177777 ALM62 177777 ALM63 177777 DLMUX 177777 ALINI 177777 PLTQ 177777 ALMDC 177777 ALM1D 177777 DLALM 177777 DKP1D 177777 DK0DB 177777 DK1DB 177777 ZRDOS 177777 DZPER 177777 DZPDC 177777 DZP1D 177777 DZ0DB 177777 DZ4DB 177777 IUD 177777 HISTI 177777 IPBQ 177777 SYMP 177777 SYMB 177777 WTEOF 177777 WTRCD 177777 RGET 177777 TGET 177777 WSEND 177777 IVTIN 177777 OVUSG 177777 UPWRF 177777 CEL07 177777 TRESP 177777 TUNIN 177777 TUVSW 177777 TRPRT 177777 TSEND 177777 TTI1Q 177777 TTR1Q 177777 TTO1Q 177777 PTRQ 177777 PTPQ 177777 MTA1Q 177777 CTA1Q 177777 CDR1Q 177777 DPIQ 177777 DPOQ 177777 QTYQ 177777 TTI1D 177777 TTR1D 177777 TTO1D 177777 MTADC 177777 MTA1D 177777 CTADC 177777 CTA1D 177777 CDRDC 177777 CDR1D 177777 NDS0D 177777 NDS4D 177777 NDP0F 177777 NDP4D 177777 NDP4F 177777 NDZ0D 177777 NDZ4D 177777 OTHER 177777 MCRBL 177777 MCTBL 177777 GSTAT 177777 SBRCD 177777 SBFIL 177777 SFFIL 177777 SFRCD 177777 SQT64 177777 DSKER 177777 DSPER 177777 STK03 177777 STK04 177777 STK05 177777 STK06 177777 STK07 177777 STK08 177777 STK09 177777 CTAQ 177777 CDRQ 177777 MCR1Q 177777 MCT1Q 177777 DSKDC 177777 DSK1D 177777 DSPDC 177777 DSP1D 177777 MCRDC 177777 MCR1D 177777 MCTDC 177777 MCT1D 177777 DS0DB 177777 DS4DB 177777 NC00D 177777 NC10D 177777 MCRDB 177777 MCR1B 177777 STK02 177777 REWND 177777 RDRCD 177777 MRDOS 177777 NRDOS 177777 BRDOS 177777 ARDOS 177777 ERCCT 177777 RTCDC 177777 RTC1D 177777 ALM? 177777 QTYTB 177777 QKICK 177777 QTRZA 177777 QTYWZ 177777 QTYNO 177777 QTWZA 177777 QTY1D 177777 QTYDC 177777 M10DB 177777 C10DB 177777 QTDCB 177777 PL001 177777 PL002 177777 PL003 177777 PL004 177777 PL005 177777 PL006 177777 PL007 177777 PL010 177777 PL011 177777 PL012 177777 PL013 177777 PL014 177777 PL015 177777 PL016 177777 PL017 177777 PL020 177777 PL021 177777 PL022 177777 PL023 177777 PL024 177777 PL025 177777 PL026 177777 PL027 177777 PL030 177777 PL031 177777 PL032 177777 PL033 177777 PL034 177777 PL035 177777 PL036 177777 PL037 177777 PL040 177777 PL041 177777 PL042 177777 PL043 177777 PL044 177777 PL045 177777 PL046 177777 PL047 177777 PL050 177777 PL051 177777 PL052 177777 PL053 177777 PL054 177777 PL055 177777 PL056 177777 PL057 177777 PL060 177777 PL061 177777 PL062 177777 PL063 177777 PL064 177777 PL065 177777 PL066 177777 PL067 177777 PL070 177777 PL071 177777 PL072 177777 PL073 177777 PL074 177777 ü PL075 177777 PL076 177777 PL077 177777 PL100 177777 PL101 177777 PL102 177777 PL103 177777 PL104 177777 PL105 177777 PL106 177777 PL107 177777 PL110 177777 PL111 177777 PL112 177777 PL113 177777 PL114 177777 PL115 177777 PL116 177777 PL117 177777 PL120 177777 PL121 177777 PL122 177777 PL123 177777 IPINI 177777 PTR1Q 177777 PTP1Q 177777 LPT1Q 177777 PLT1Q 177777 PTRDC 177777 PTR1D 177777 PTPDC 177777 PTP1D 177777 LPT1D 177777 PLTDC 177777 PLT1D 177777 DPIDC 177777 DPODC 177777 PFLDC 177777 DP0FD 177777 DP4DB 177777 DP4FD 177777 M00DB 177777 C00DB 177777 PDUMP 177777 PWRFL 177777 IPBDC 177777 OPPRO 177777 LPTCH 177777 P03DL 177777 D03DL 177777 PL000 177777 GHMARBr,ee ýÿÁ['m7ÿÿ ÿßÿÿ ÿßÿÿ ÿßùÿ’D$TÜ ’ ÿÿ@ù¿ÿÿ@û¿LOGCM&`Àdd R INIT MT0 R LOAD/A/V/N MT0:0 ILLEGAL BLOCK TYPE: MT0:0 R LOAD/A/V/N MT0:1 ILLEGAL BLOCK TYPE: MT0:1 R LOAD/A/V/N MT0:2 ILLEGAL BLOCK TYPE: MT0:2 R LOAD/A/V/N MT0:3 SOLUT. 04/03/76 DASHP. 04/03/76 SYMBOLL. 04/03/76 FORTLB. 03/30/76 FIT. 04/03/76 STABL.RB 04/03/76 SYMBOLL.RB 04/03/76 ELLIPS. 04/03/76 F1. 03/29/76 F2. 03/29/76 LB. 04/03/76 CIRCL. 04/03/76 F3. 03/29/76 EDIT.SV L EDIT.SV F4. 03/29/76 SYS.LB L SYS.LB FIT.RB 04/03/76 F5. 03/29/76 MAIN.SV 04/03/76 F6. 03/29/76 F7. 03/29/76 F8. 03/29/76 MAIN. 04/03/76 SCURV.RB 04/03/76 FIV.SV L FORT4:FIV.SV MAIN.RB 04/03/76 RLDR.SV L RLDR.SV POLY. 04/03/76 COM.CM 04/03/76 SOLUT.RB 04/03/76 DATA. 04/03/76 DASHL. 04/03/76 DASHP.RB 04/03/76 FLEX. 04/03/76 POLY.RB 04/03/76 ASM.SV L ASM.SV GRID. 04/03/76 FR. 04/03/76 FLEX.RB 04/03/76 GENERAL.SV 04/03/76 ELLIPS.RB 04/03/76 GRID.RB 04/03/76 GENERAL. 04/03/76 SYMBOLB. 04/03/76 STABL. 04/03/76 CIRCL.RB 04/03/76 FORT.SV L FORT4:FORT.SV GENERAL.RB 04/03/76 SYMBOLB.RB 04/03/76 RECT. 04/03/76 LBL. 04/03/76 MAINB.SV 04/03/76 XREF.SV L XREF.SV SCURV. 04/03/76 RECT.RB 04/03/76 DASHL.RB 04/03/76 R LOAD/A/V/N MT0:4 MAIN 04/03/76 GENERAL 04/03/76 CIRCL 04/03/76 DASHL 04/03/76 DASHP 04/03/76 ELLIPS 04/03/76 FIT 04/03/76 FLEX 04/03/76 GRID 04/03/76 POLY 04/03/76 RECT 04/03/76 SCURV 04/03/76 SOLUT 04/03/76 STABL 04/03/76 ISWAP 02/28/76 FRDCH 02/13/76 AXIS 01/20/76 CALS 03/01/76 FACTOR 01/20/76 LINE 01/20/76 NEWPEN 01/20/76 NUMBER 01/20/76 OUTP 02/10/76 PLOT 02/20/76 PLOTS 02/27/76 SCALE 01/20/76 WHERE 01/20/76 SYMBOL 01/20/76 SYMBOLB 04/03/76 SYMBOLL 04/03/76 SAMP1 02/17/76 SAMP2 03/11/76 TABLE 02/19/76 R LOAD/A/V/N MT0:5 CALS.RB 03/05/76 NOTE. 02/20/76 LTEST. 02/27/76 PTEST.RB 02/27/76 NOTE.RB 03/14/76 IDEB.RB L IDEB.RB LB. 03/10/76 EDIT.SV L EDIT.SV SYS.LB L SYS.LB PLOTS. 02/27/76 MACXR.SV L MACXR.SV OUTP.V1 02/28/76 OUTP.V2 03/01/76 SAMP1.SV 02/25/76 FIV.SV L FORT4:FIV.SV LTEST.SV 03/04/76 CALS.V2 03/05/76 OEDIT.SV L OEDIT.SV RLDR.SV L RLDR.SV COM.CM 04/03/76 SAMP1.RB 02/25/76 ASM.SV L ASM.SV LTEST.RB 02/27/76 LB1. 03/03/76 PTEST. 02/27/76 MAC.SV L MAC.SV MAC.PS L MAC.PS FORT.SV L FORT4:FORT.SV PLOTS.RB 02/27/76 XREF.SV L XREF.SV CALS. 03/01/76 PP. 02/20/76 PTEST.SV 03/03/76 NOTE.SR 03/14/76 OUTP.RB 03/01/76 R LOAD/A/V/N MT0:6 WRITL.RB 02/04/76 SAMP2.SV 03/11/76 STEST.RB 02/28/76 NUMBER.RB 02/10/76 AXIS.RB 02/10/76 PNUM. 02/10/75 SAMP1. 02/17/76 FORTLB. 02/19/76 LTEST. 02/12/76 RDSEQ.RB 02/13/76 PTEST.RB 03/04/76 WTEST. 02/12/76 OCTAL. 03/12/76 PTP. 02/28/76 SYMBOL. 01/20/76 SCALE. 01/20/76 SAMP2.RB 03/11/76 SQTEST. 02/28/76 FRDCH.RB 02/13/76 COMFI. 02/10/75 DUMMY. 02/23/76 TABLE1.SV 02/14/76 LB. 03/04/76 FTEST. 02/13/76 EDIT.SV L EDIT.SV PLOT. 02/20/76 SYS.LB L SYS.LB LENGTH. 02/10/75 GNUM. 02/10/75 SWAP. 02/28/76 PLOTS. 02/25/76 WRITSQ.RB 02/04/76 CTEST. 02/12/76 MACXR.SV L MACXR.SV FT.SC 02/24/76 RDOS.SR 02/23/76 NEWPEN.RB 02/10/76 PLOT.RB 03/03/76 SAMP1.SV 03/11/76 LOG.CM 02/23/76 ISWAP.RB 02/28/76 WHERE. 01/20/76 FIV.SV L FORT4:FIV.SV LTEST.SV 03/18/76 SWAP.RB 01/13/76 READL.RB 02/04/76 PTR. 03/12/76 OEDIT.SV L OEDIT.SV TABLE. 02/19/76 WTEST.SV 02/13/76 OCTAL.SV 03/12/76 FACTOR. 01/20/76 RLDR.SV L RLDR.SV PRODCALDUM. 02/19/76 COM.CM 03/24/76 DUMP.RB 03/05/76 OPRDS. 02/04/76 CALDUMP.RB 02/20/76 TABLEI.SV 02/19/76 SUBSTR. 02/10/75 SAMP1.BU 02/12/76 SQTEST.SV 02/28/76 SAMP1.RB 02/17/76 ASM.SV L ASM.SV LTEST.RB 02/12/76 WRITL. 02/04/76 STEST. 02/28/76 FTEST.SV 02/13/76 NUMBER. 01/20/76 LB1. 03/04/76 WTEST.RB 02/12/76 OCTAL.RB 03/12/76 SYMBOL.RB 02/10/76 POI. 02/25/76 SCALE.RB 02/10/76 CTEST.SV 02/12/76 RDSEQ. 02/04/76 PTEST. 03/04/76 MAC.SV L MAC.SV SQTEST.RB 02/28/76 MAC.PS L MAC.PS DUMMY.RB 02/24/76 SAMP2. 03/11/76 FTEST.RB 02/13/76 TABLE.SV 03/11/76 PLOT.V1 01/20/76 CALDRVR.SR 03/09/76 DSAMP1.RB 02/12/76 FRDCH. 02/13/76 FORT.SV L FORT4:FORT.SV LENGTH.RB 02/12/76 SFTAB.RB 03/09/76 PLOTS.RB 02/20/76 CTEST.RB 02/12/76 EE. 02/28/76 XREF.SV L XREF.SV WHERE.RB 02/10/76 WRITSQ. 02/04/76 DUMP.V2 03/01/76 STEST.SV 02/28/76 DUMP.V3 03/03/76 OUTP. 02/10/76 INDEX. 02/10/75 LINE. 01/20/76 TABLE.RB 03/11/76 NEWPEN. 01/20/76 FACTOR.RB 02/10/76 ISWAP. 02/28/76 READL. 02/04/76 OPRDS.RB 02/04/76 CALDRVR.RB 03/09/76 PTEST.SV 03/04/76 AXIS. 01/20/76 SUBSTR.RB 02/13/76 OUTP.RB 02/10/76 LINE.RB 02/10/76 R LOAD/A/V/N MT0:7 LBF. 04/03/76 SOLUT. 04/03/76 CALS.RB 04/03/76 NUMBER.RB 04/03/76 DASHP. 04/03/76 AXIS.RB 04/03/76 SAMP1. 02/17/76 SYMBOLL. 04/03/76 FORTLB. 04/03/76 SYMBOL. 01/20/76 SCALE. 01/20/76 FIT. 04/03/76 STABL.RB 04/03/76 SYMBOLL.RB 04/03/76 SAMP2.RB 04/03/76 ELLIPS. 04/03/76 FRDCH.RB 04/03/76 MAINL.SV 04/03/76 CIRCL. 04/03/76 EDIT.SV L EDIT.SV PLOT. 02/20/76 SYS.LB L SYS.LB FIT.RB 04/03/76 MAIN.SV 04/03/76 PLOTS. 02/27/76 MAIN. 04/03/76 SCURV.RB 04/03/76 PLOT.RB 04/03/76 NEWPEN.RB 04/03/76 ISWAP.RB 04/03/76 WHERE. 01/20/76 FIV.SV L FORT4:FIV.SV TABLE. 02/19/76 POLY. 04/03/76 FACTOR. 01/20/76 MAIN.RB 04/03/76 RLDR.SV L RLDR.SV COM.CM 04/03/76 SOLUT.RB 04/03/76 DATA. 04/03/76 DASHL. 04/03/76 DASHP.RB 04/03/76 FLEX. 04/03/76 POLY.RB 04/03/76 SAMP1.RB 04/03/76 TML.TM 04/03/76 ASM.SV L ASM.SV NUMBER. 01/20/76 GRID. 04/03/76 SYMBOL.RB 04/03/76 FLEX.RB 04/03/76 GENERAL.SV 04/03/76 SCALE.RB 04/03/76 ELLIPS.RB 04/03/76 GRID.RB 04/03/76 MAINH.SV 04/03/76 GENERAL. 04/03/76 SYMBOLB. 04/03/76 STABL. 04/03/76 SAMP2. 03/11/76 CIRCL.RB 04/03/76 FRDCH. 02/13/76 FORT.SV L FORT4:FORT.SV GENERAL.RB 04/03/76 PLOTS.RB 04/03/76 SYMBOLB.RB 04/03/76 LBA. 04/03/76 RECT. 04/03/76 LBFP. 04/03/76 LBL. 04/03/76 XREF.SV L XREF.SV WHERE.RB 04/03/76 SCURV. 04/03/76 OUTP. 02/10/76 G1. 04/03/76 LINE. 01/20/76 TABLE.RB 04/03/76 NEWPEN. 01/20/76 RECT.RB 04/03/76 FACTOR.RB 04/03/76 FPOST.SV L AL:FPOST.SV ISWAP. 02/28/76 CALS. 03/01/76 AXIS. 01/20/76 DASHL.RB 04/03/76 OUTP.RB 04/03/76 LINE.RB 04/03/76 R LOAD/A/V/N MT0:8 T100475. 09/23/75 BILL111575. 11/15/75 W101175. 10/11/75 BILL121475. 12/20/75 RDOSSORT.RB 06/20/75 T112375. 11/07/75 W113075. 12/20/75 W760229. 03/31/76 T101175. 09/29/75 JOBS. 04/01/76 W120775. 12/20/75 W110875. 11/07/75 T113075. 12/12/75 W760315. 03/31/76 SORTL.RB 06/20/75 TIMEEE. 09/23/75 TIMETOTAL. 03/31/76 T1. 03/31/76 TIMEBB. 09/23/75 T110875. 11/07/75 T120775. 12/20/75 RDOSSORT.OL 09/19/75 W121475. 12/20/75 W111575. 11/15/75 W760124. 03/28/76 EDIT.SV L EDIT.SV SYS.LB L SYS.LB BILL113075. 12/12/75 SORTT.RB 06/20/75 PAY.CM 09/23/75 BILL123175. 12/20/75 JOBWEEK. 03/31/76 T111575. 12/12/75 T121475. 12/20/75 TIME.JB 09/23/75 W122175. 12/20/75 W760131. 02/23/76 W091575. 09/23/75 W123175. 01/21/76 BILL110175. 10/25/75 COLLAT. 09/19/75 OEDIT.SV L OEDIT.SV T122175. 12/20/75 W760307. 03/31/76 BILL760115. 01/21/76 RLDR.SV L RLDR.SV TEMP. 11/15/75 T123175. 12/20/75 BILL110875. 11/07/75 W092275. 09/23/75 BILL120775. 12/20/75 COM.CM 04/01/76 JOBS1. 03/29/76 TEMPS. 11/15/75 TIMEDD. 09/23/75 W101875. 10/16/75 TIMEAA. 09/23/75 T101875. 10/11/75 W760222. 03/31/76 W102575. 10/25/75 MERGE.RB 06/20/75 W092775. 09/29/75 BILL122175. 12/20/75 BILL112375. 12/12/75 W110175. 11/07/75 T. 12/21/75 PAYOUT. 03/31/76 SORTE.RB 06/20/75 T102575. 10/16/75 PROFIT. 12/20/75 BILLOUT. 03/31/76 SORTP.RB 06/20/75 TIME.AP 09/23/75 OLD. 01/23/76 RCACR. L JN:RCA2CR. BILLAST. 01/23/76 T110175. 10/25/75 W760207. 02/23/76 SORTM.RB 06/20/75 W122875. 01/20/76 GLORIA. 02/23/76 TIMECC. 09/23/75 TESTWEEK. 12/21/75 W760115. 01/23/76 W760214. 02/23/76 RDOSSORT.SV 09/19/75 BILL.CM 09/23/75 TIME.FN 09/23/75 JOB.CM 10/16/75 TIMEWEEK. 03/31/76 W100475. 10/11/75 T760115. 01/21/76 SORTG.RB 06/20/75 W112375. 12/20/75 R LOAD/A/V/N MT0:9 BIORYTHMN.SV 11/01/75 JOBDS. 11/07/75 CSPTST.RB  11/05/75 BILL111575. 11/15/75 BILL121475. 12/20/75 PAY102575. 11/07/75 FORTLB. 11/01/75 WEEK.SR 11/07/75 JOBS. L SORT1:JOBS. BIORYTHMN.RB 11/01/75 GO. 11/01/75 BILLCK.SV 11/07/75 ACTWK.RB 11/07/75 TEST.SV 11/06/75 EDIT.SV L EDIT.SV SYS.LB L SYS.LB WEEK.RB 11/07/75 BILL113075. 12/20/75 BILL123175. 01/21/76 PAYCK. 11/07/75 JOBWEEK. L SORT1:JOBWEEK. EDIT. 11/05/75 BILLCK.BU 11/05/75 BILLCK.RB 11/07/75 WORK111575. 11/15/75 WORK121475. 12/20/75 BILL110175. 11/07/75 FIV.SV L FORT4:FIV.SV TEST.RB 11/06/75 PAYRATE. 12/20/75 RLDR.SV L RLDR.SV PAY112375. 12/12/75 BILL110875. 11/07/75 BILL120775. 12/20/75 BILL760117. 01/21/76 COM.CM 01/23/76 JOBDS.RB 11/07/75 PAY113075. 12/20/75 WORK.SV 11/07/75 ASM.SV L ASM.SV CSPTST. 11/05/75 WORK113075. 12/20/75 WORK. 11/07/75 PAY110875. 11/07/75 PAY120775. 12/20/75 WORK123175. 01/21/76 PAY760117. 01/21/76 PAYCK.SV 11/07/75 RATS. 11/07/75 BIORYTHMN.FR 11/01/75 BILL122175. 12/20/75 BILL112375. 12/12/75 PAYOUT. L SORT1:PAYOUT. WORK.RB 11/07/75 PAY111575. 11/15/75 PAY121475. 12/20/75 PAYCK.BU 11/01/75 BILLAST. L SORT1:BILLAST. WORK110875. 11/07/75 WORK120775. 12/20/75 WORK760117. 01/21/76 FORT.SV L FORT4:FORT.SV PAYCK.RB 11/07/75 PAY122175. 12/20/75 PAYOUT.SC 11/07/75 PAY123175. 01/21/76 XREF.SV L XREF.SV ACTWK.SC 01/03/76 BILLCK0.SV 11/05/75 BILLCK. 11/07/75 JOBS.SC 12/20/75 CSPTST.SV 11/05/75 CFORTLB. 11/05/75 WORK122175. 12/20/75 WORK112375. 12/12/75 R LOAD/A/V MT0:9 BIORYTHM-.- BIORYTHMN.SV 11/01/75 BIORYTHMN.RB 11/01/75 BIORYTHMN.FR 11/01/75 R LOAD/A/V/N MT0:10 CFORTMLB. 01/16/76 $A1. 04/01/76 FIND. 01/17/76 JOBDS. 01/21/76 ANALYZE.RB 03/31/76 ACTIV.BU 01/17/76 ACTIV.RB 04/01/76 FIND.RB 01/16/76 JOBS. L SORT1:JOBS. GO. 01/19/76 ANALYZE.OL 01/16/76 TEST.SV 01/04/75 IBOUND. 01/17/76 EDIT.SV L EDIT.SV SYS.LB L SYS.LB LOCATE. 01/16/76 TEST. 01/04/75 LL. 01/06/75 A11. 04/01/76 FIV.SV L FORT4:FIV.SV TEST.RB 01/04/75 RLDR.SV L RLDR.SV COM.CM 04/01/76 FIND.LS 01/06/75 JOBDS.RB 01/21/76 ASM.SV L ASM.SV LOCATE.SV 01/04/75 ACTIV. 04/01/76 BILLOUT. L SORT1:BILLOUT. IBOUND.RB 01/17/76 LOCATE.RB 01/16/76 FORT.SV L FORT4:FORT.SV XREF.SV L XREF.SV ANALYZE.SV 04/01/76 CFORTLB. 01/03/76 ANALYZE. 01/19/76 R LOAD/A/V/N MT0:12 END OF FILE: MT0:12 R LOAD/A/V/N MT0:11 N360.CM 04/18/75 GHMA. 05/08/75 WRITL.RB 02/04/76 IBMR.CM 09/09/76 PNUM. 02/10/75 IBMREADER.SV 09/09/76 GHMA.RB 05/08/75 RDSEQ.RB 02/04/76 IBMREADER.' 09/09/76 IBMREADER.RB 09/09/76 COMFI. 02/10/75 LB. 09/09/76 EDIT.SV L EDIT.SV SYS.LB L SYS.LB LENGTH. 02/10/75 GNUM. 02/10/75 SWAP. 01/13/76 WRITSQ.RB 02/04/76 N360.SV 04/18/75 N360. 04/18/75 FIV.SV L FORT4:FIV.SV SWAP.RB 01/13/76 READL.RB 02/04/76 OEDIT.SV L OEDIT.SV RLDR.SV L RLDR.SV COM.CM 09/09/76 OPRDS. 02/04/76 N360.RB 04/18/75 IBM.SV 02/04/76 SUBSTR. 02/10/75 IBM. 02/04/76 WRITL. 02/04/76 ASM.SV L ASM.SV IBM.BU 01/12/76 IBM.RB 02/04/76 RDSEQ. 02/04/76 MTL. 09/09/76 FORT.SV L FORT4:FORT.SV XREF.SV L XREF.SV WRITSQ. 09/09/76 INDEX. 02/10/75 OPRDS.RB 02/04/76 READL. 02/04/76 GHMA.SV 05/08/75 R ENDLOG R ENDLOG PAGESV    û½ÎæVfxÍ 0QöõAi¿û $ph "Y¦ÂÒ5Oc‰�­²ÒRP±Ïó "$&(—“²´¶¸½¿ÅÊõóþ&+6BdphðLV_iwŠ‹Ÿ›µ»ÜÝáŠ$æÿÿ$ÿÿÿÿÿÿ%ÿÿŠÿÿè ôˆUC F& è F* F. F2ô F6ˆ F:UY j° `¨C¦­PK§ b¨S£ `¨C¤ `¨C¥ `¨C  `§C¨ `¨C© `¦C�…PCª| `zCŸƒ `�C�ŒCOM.CM j^&ˆ®+#«­P�¬ª® *¥OPEN ERROR IN COM.CM=+…PC¬_#¬ƒC¬ a¤�ù a¨K¢ j Ò&€€ -_#­ a¨Õ�·–@¤ ­¬ªÓ#¬­P�­¬ªÞ[#©­P¦C© HH® HI®#©­P¥CÊ `£+Ê J…PŽKÊ j ô€H®£€IJ[…PC®]#®ƒC®+­�ú+¬ÕP…�Ǧ@Ì ÕÔÒL H H." T'È a �¬ª-[2$TTO j^'/¢+#«­P�¬ªS *¥ERROR IN OPEN $TTO=+ `¡C¤ a¡K¢ H H.d L'È ab�¬ªo�t$LPT j^'q¢+#«­P�¬ª• *¥OPEN ERROR IN $LPT=+ `¡C¤ a¡K¢ H H.¦ H'È a¤�¬ª±¶ j¹'$ H H.¿ Q'È a½�¬ªÊÒ `¡C¢ a¡K¥ H H.Û W'È aÙ�¬ªæî ` C� a¡K¢ H H.÷ L'È aõ�¬ª0$LPT j^'¢+#«­P�¬ª( *¥OPEN ERROR IN $LPT=+ `¡C¤ a¡K¢ H H.9 S'È a7�¬ªD `¡C  a¡K¢ H H.U P'È aS�­¬KÈ H I.e L'É ac�­¬#Ȱ—Ψªv› `¡C¢ j ÷H€®Ÿ…#ÈC¨ fERROR IN NO OF LINES PRECEDING /P SWITCH H H.¤ O'È a¢�¬ª¯Ù j^'€¢+#«­P�¬ªÑ *¥ERROR IN OUTPUT OPEN=+ `¡C¤ a¡K¢ H H.â W'È aà�¬ªíü j ÷H€®Ÿ…#ÈC� a¡K¢ H H. C'È a�¬ª j ÷H€®Ÿ…#ÈCª a¡K¢#¢ a¡�­¬ª)[ *¥2 .S(" SWITCH ",A2," IS AN ILLEGAL SWITCH. RERUN PROGRAM PAGE")! fSWITCH ERROR²#¤ a¨�­¬ªun$LPT j^'k¢+#«­P�¬ª� *¥OPEN ERROR IN OUTPUT=+#© a¨Õ�·–@�­¬ª¦ fNO INPUT FILES HH® j€H+#«­P�¬ªÊ *¥ERROR IN DATE CALL=+#¥ a¡�¬ªÕûô(08,16,32,40,48,56,64,72,80,88,96,A4,B2,C0,C8,D6,E4,F2. j Ù'מ+ wÿþœ0 wÿþœ2#ª+� KKž#ª+ž JK�#¨+� JKÈ `›+È K…PŽK´…PCµG#µƒCµ+©�ú a¨K£ jÿ&#µ­P¥CÈ `š+È J…PŽKÈ HIH j^&€I¢+#«­P�¬ªY *¥ERROR IN INPUT OPEN=+ `¨C¶ wÿþœ7…PC¹á#¹ƒC¹ a¤�ù+µÕPÍKÈ#È aš J…PŽKº3� `§•SÈ MIH™#ÉC»…PC¼’#¼ƒC¼+»�ú *'’†š(1X," "Z)! *'³©==®«®¥:9Ö(" DATE ",I2,"/",I2,"/19",I2," FILENAME ",S14,2X,"PAGE ",I4,/)!#ª­PÕ�·–@¤ ­¬ªäp…PC¾n#¾ƒC¾+¨�ú j ¦&€+?#« a˜�¬ª `¡C£á HH®'È a—§ b–•ÕÔÒî j ¿'€+#«­P�¬ª7 *¥ERROR I WRITL=+ U? O7 Q P7#¿­PÕ�·–@�­¬ªLP#¶­P¦C¶#¥ a¨�­¬ª\l `•+¿ JKÈ `”+È K…PŽKÀ j ý@èÊ…PC¾ƒ#¾ƒC¾+´�ú HH>#ŸGÈt `¨CÁ…PCÂ+#ƒCÂ+ª�ú…PCÃ)#ÃCÃ+¨�ú j ¦&€+?#« a˜�­¬ª® a¡K£#£ a¡�­¬ªº+ HH®'È a—§ b–•ÕÔÒΚ U? O7 Q P7 LHAC#ÈCÁ+¶ÕPÎK¶ `¡C¡#¿ÅCÈ MIH#ÉCÄ+ÂÕPÍKÈ#ž+È J…PŽ3ÕKÈSÉ#�+É J#ÈŽKÅ HH® HI® j ô€H®D€IE H HC#Å+ĦGÈ#£ b¡•ÕÔÒ'+”Š#¡ a¨�­¬ª7Ê…PC¾¾#¾ƒC¾+Á�ú­P¥CÈ#�+È J…PŽKÆ H H>'È+Æ¥ÕPÆCÇ HH® H I> HJ® j ô€HF€I€J® HH® j ô®›€HG HH®#Ç­P¦CÉ j Ù'€HI+#«­P�¬ª¢ *¥ERROR IN WRITSQ=+ `•+Ç JKÈ `”+È K…PŽKÀ3¥ `¡Å…„‚¼ j ý@;#£ a¡�­¬ªÊá *' #¥ a¡�­¬ªß j ý¥d *'åë(" ")!#£ a¨�­¬ª÷7#  a¡�­¬ª *' 677(" TOTAL LINES IN LISTING=",I6,T35,"TOTAL NUMBER OF KEYSTROKES IN FILE = ",F10.0)! U6 O2 Q P2 O0 O7 Q P0#  a¡�­¬ª[ *'[20…(" TOTAL LINES IN ALL FILES=",F10.0,/," TOTAL CHARACTERS IN ALL FILES=",F10.0)! fNORMAL STOP PROGRAM PAGE md ÿ 8 ÿÿ' P<è ôˆU |9)Km>7‰ |¼'Š a Ã�­¬ªÊ jÿ€ Ï$TTO j^€ Ì Â #‹­P�¬ªð * ÀERROR IN OPEN $TTO=  *€ ô ´(" THIS PROGRAM PRINTS PAGES OF TEXT WITH POSSIBLE DELAYS FOR THE QUME",/," INSERTED AS REQUIRED.",/," PAGE/Q/H/L/T/W/S INFILE1 INFILE2 INFILE3 OUTFILE/O NLINESPERPAGE/P COLUMNS PER PAGE/C",/," /Q INSERTS DELAYS FOR THE QUME IF ON A MODEM. THIS IS NOT",/," REQUIRED IF THE QUME CONTROLS THE INTERFACE CTS/RTS.",/," /H CALLS THE HELP PROGRAM",/," /L OPENS THE LINE PRINTER FOR THE OUTPUT FILE",/," /T OPENS THE $TTO FOR THE OUTPUT FILE",/," /W SETS THE LINE WIDTH TO 132 COLS IF GLOBAL"/," /S PRINTS THE STATISTICS LINES & KEYSTROKES PER FILE",/," INFILE1-INFILEN ARE INUT FILES TO BE PRINTED",/," /O OUTFILE IS THE OUTPUT FILE",/," /P IS THE NUMBER OF LINES PER PAGE THE DEFAULT IS 60",/," /L IS THE SAME AS THE /P SWITCH",/," /C SETS THE NO. OF COLUMNS PER PAGE TO REASSEMBLE THE DATA INTO",/," /W DENOTES THE COLUMN WIDTH OF THE PRINTED PAGE. THE ",/," DEFAULT VALUE IS 80 COLUMS.")! fRERUN PROGRAM PAGE m ÿÿ £ ¢ £ ¤ | F Å E É€  E Í€  á `  GŒ H £ j ¦€ €#— a Ÿ�­¬ª ü N€ #—­P�¬ª  * žREADL ERROR IN SUB. GETARGS= j ×€ € �#— a Ÿ�­¬ª . N€ #—­P�¬ª J * žRDSEQ ERROR IN GETARGS=…PC™ ™#™ƒC™ a ¡�ù `  Cš —#šƒCš a œ�ù H ` œ+š¥Cž j2€#ŸC› a  �­¬ª ~ •'Œ­P¦GŒ H€ #™­P¥Cž#ž a › J#šŽ b šÎO� Z N m A  2 |'‰0~‚P‚P–2!—#Š‚P ?…PG‹OŒm… ƒ`–W‹m? |'‰0~‚P‚P–2!—#Š‚P ?…PG‹m… ƒ`–W‹m? |'‰0~‚P‚P–2!—… GŒ#Š‚P/‹ ?…PGŒm… ƒ`–WŒm? Ö × | E ò€  þ ` ÕG‰ a ÕK‘ b ÕS’…PC“ À#“ƒC“/Œ�ú/‹ŽK– ` Ô+– KK” H'– a Ó§C•3”Ö'‹+“¦Å…„‚ 9 H ` Ò/– KK•#• a Õ�­¬ª E À#• a Ñ�­¬ª Q À#• a Ð�¬ª \ `…PC‘ ¾#• a Ï�¬ª k x#’­P�­¬ª v À ¾#• a Î¥C• b Õ­�ÏŽ@”ÕÔ a ÍS–Õ�·–@¤ ­¬3– ÇŽª ˜ ¤'‰ a Ì¥‚Z‚\ ¤ ¦ µ N€ #• a ËÕ�·–@¤ ­¬ª µ ¤'‰ a Ê J#•ŽO‰ÕPS’ #‘‚ È'‰�G‰ m m  Ì 0 - ( |'‰0~‚P‚P–2!—… GŒ#Š‚P/‹ ?…PGŒm… ƒ`–WŒm? |'ŠCŽ/‹K�7�S‘Ñ[ m�[ m� m‹�3‰¶*ÿ‚šªÀ!�K�#‘‹K‘ª�3Œ¶*ÿ‚›!�#�‚À! �#�ŽJÿ#ŽƒCŽ+�ÞCOPYRIGHT (C) DGC,1971,1972,1973,1974,1975ALL RIGHTS RESERVED.8 P„3 !ü)Z·ÅÂ@~#C@‚ü\‚‚)k¦=kû  C)h« )i¦¦)d¦@€9bžX)aŽH…  …P¬P " Y9Måâ¥T Q ~C‰†`C€ÔS�0 2ÍGH1A¶P�•Ý@1öP~…BÓµý0~„) :ÿùJBÓ€Ó@ÓûúÿŠ€ ÿ(„0 2µʪH„!A­ („ ‚PªP   j? f ÿÿÛÿÿ€Àùw  ! "­ !  ²MEMORY OVERFLOW OR NO F$COM.$$ Ô$TTOÜF$COM.$$8 ;ø     |/‰ m | "i;‰KC)¶ShDlº­lº­P„ lº­lº­P…CÆK‰!TæPC’C“!Væ`CA!Næ‚PC”!Næ`Cü!HæC¡…C¥C¦CÅCÄC˜CŽCŠC‹CŒCšC‘!;C�…PC›C 2ˆS� {"C–�'�C—‚  3� {)%"¥ ÓÓÒPS�#’­ v+—ª +‰3–ª  AS‘ "�'�) ¥¥+�ŽK�ø1 �–ÿýÿÓÿªà ÿû@Í—:×þ¥b"&3‘Ò ð#”C•#—‚%d#›‚�› 8ÿ�C›‚!âC�#� uK™�1 #š‚ 1N+™"ÓÓ€\¥mú‚ "ÿ‚KSË 8ÿ�Cœ3Ë"þ‚K� 8ÿ�C˜3Ë2ÿÀI� €E� €D� €F� €G� O7A� P;L� S� (ç,•/ÁZʬ!¬ ›)ùHXdT�>"!'!ÿ¬ÔäH#Æ‚ +#‰‚ (#’+“¥+¦)ô� 3–ÖµSÇ#•)3ü -’%+ž…3  ˆ‚¬#Ÿ’¶ªPSŸÕPS ‚P3– C4 Ã#‰‚ Ï#Æ‚ ç3—Ò 3œ >|Ö3•! +™� !˜� !›� ­Â v#�‚�#žC© /’1J ?|•3•ívF™e¶#”C• 7ÿ•GŸ1…+—ª ÒJ#˜�+ŽÒ‹¥ 23¡"ÿ–"ÿ)'¦'Bÿ3¡"þ)§ €Ù o…GŸ+Ÿª`ÂP2ÿÑÐ` ^3¡"‚ "ý‚…�*þªÀŽ'Ÿ¦GŸ+Ÿ#žŽKŸÄÿ€,àÿ´3¡*ÿKÇ1üö…BÓÇý)ôJÿ .‚ Ì\‚)83¡;©ù"‚€BÓûû«õ8¨4‚ÿü3•ª #“C’3– A(:E#‰3–‚ #“C’ Ak#‰‚ h#’’+A� Àù o­ vC#’+A� Àù o)w v‹#“3– @C’PÃà < 3Œ+›ª «J#�B3ÄÒœCÀSÁK¿Ä 3ŒÒ "C� = Ä#Ä‚œ#Å‚  ¬3›#‰‚  >…PC› >Áø3™#‰‚  ? î ?Á’çÀ™ oˆ!þC�›#›CŽÛ+’#“3œ´–ÒJð #•­ v3œÓƒC•#”+ŸªP ^_ 3œ#Ÿ‚P >ÁUµSÇ#’)3A -C’M3›#‰‚  >|«SÇ#’)3A -C’¤ Â)þ v3œÒ�1ºÅ+ŸªP1¶ ^.3œ)²µÒJ SÇ#’)ë3A -C’)¨²¶#Ÿ‚P >Á­#• v•#” uƒ1Í ü1Í 1 Í „…GŸ€¹ oû‰FT 3Â#—‚ 3œÑ÷#’ÐSÇ)·3A -+A� Àù o)ì?Ÿú )ê vƒC’ä'�C��3� {CŸ…PC +�r < 7�")� !Z•SÇ {’*3‹J+�JR3ÇÓCÇ {"GÇgó3‹…Bô3‹"‚ )3� {CÇ!33�– {"/ÇŽD‚OÇ„P3�• {"/Ç4‚ÒZ’¢Ê† ® Œ3‹"C�Ð3� {C¥Ì3� {C¦È� = Ã) 3�ÎK� {;‹+Jô3� {CÇ“ {CŸ3Ç { GC ")�K�1«¶"Cž1¶"CÂ3 #�)ç¥J ¥­ÒPS  Z  ˆ#�‚P+‰ª -CÃÕS ?CÁ#Ã�€ u1îµSÇÒ #’+A� Àù o)ä v’#à uª ƒü3Ç‚�C�Ò 3–#“+’ @4C’g rÕP¦ð#�ò IKŸ…PC 3�"ÆC�Ó {2 š3�#�Bˆ#—‚ ¶#š‚ ##Æ‚ m#‰‚ m#’+A� Àù o)¦ v‹#“3– @m#¥)µ #¦‚ 3�Bˆm€é o ùÅ#¿C›#ÀC�#ÁCÄ›%C™ÁÔLASƒS#Æ‚ N#—‚  #™)ó� C)ñ� ñ)ò� í#�+žK©+’K¤‚�O3¡…Bý#žBÿÊP–…Bÿ#Ÿ‚`3žÑÐ` ^3¡'Ÿ‚Ný)%§ÀBþ"Cà 6C¢#¨C£#—‚ #™)� )� 9+£3ŽÍK£)#� ^) � €™ oY§³F´DG+ž3 … ˆ‚¬#Ÿ’¶SŸÕPS ‚PªP3– BÃeE'Ÿ 9+œ3—Ò +ÂKœ’ :#¤+œ¦C’+Ÿ‰#Ž+£ŽK£+œ#˜Œ²BCÃ#¢3£ :+ë3£ÒKÕ ;#™)Å� ã1 )#’SÇ3A -C’Û *3œ)þó#Ž•S£)ÅK™+œ#˜�!ò�ªJò3Ž#¢ :+˜«3ŽÒKÕ ;#’+A� Àù o+™ v’#”C•#Â#£ 9)Ö’ :¬#ÂCœ#�)‚š)K˜)šK™Õ3£ÒJË#˜ÅÈ+œ1ÁÍ£\‚‚L‚8SÌ3Ì• Àù o,‚ vƒÇø‚4‚\‚8‚3¡#©–žD‚"ÿ+³‚«¦BÿÑÐùø‚õ8‚4‚\‚‚8…CÒ3¡#©Bÿ)`†P¦Bþ…)ZBÓ«ýCËBýCÌCÎ#”CÑ#Ñ uѪ 61Rµ ù1Jµ 1Hµ Ë#Ñ uѪ '1Cµ );1;µ .19µ +17µ $15µ &13µ #!+3�–¤´�#Ì‚ ΢3�SÏ 0‚ 4Ø€Ù o3¡#ËBý#Î 2#Ò‚4‚Ì…�CÒÉÑ 7ÿÑ+ΦCÎÒìÿû@0+-.ED \‚8+¡3©SɶSÈ3ÏÈ/È ˆOÈÉû4‚\‚8#¡CÈ#©CÉ3ÏÉ…/È ‰É4‚OÈÈø\‚‚83�‚J‚J$CÊ…PCÐ#Ê‚› …SÏ 0‚ 43ÏÐ#ÊЂ•6CÊÊ… ˆ‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 33�…PCÐ#Ê‚› SÏ 1 33ÏÐ#ÊЂ•CÊÊ… ˆ‚²ì…CÐ#Ê‚PCÊéÊç­ 5‚4‚8\‚‚83¡"ª‚(:ÿ\‚ÞX„‚„$„L„Š‚û"þ)&¥Bþ"­î9!çÞïÀ„$„‚ÀŸîåL„Š9‚ö"þ)¥BþÍ:ÿ\‚P„<„„úÓ‚ûZþÂÿ\‚‚83¡P„*ÿL‚9øŸ ‚Á„,„¿ÀæD„9ï¢Àç‚÷"þƒƒBþ¥,„D„„¢‚û"þ)ݦBþš\‚‚ 33¡"‚9ç9"ÿD‚Æ@„ªP„$„‚@D„‚ûûôþ‚Éÿü@ð\‚‚8…CÎ3¡*ÿK©"þ)ó¥Bþ+ÎŽKÎ�­ 23¡"þ‚÷#�#�1æ• )ä3©Ò�Ò”)z)Ý3©Ò�Ò”)uK¢CÍ¢­KÍ+”KÑ+—ª #™)d� )`�  +˜#ަ +ÎÒJú#˜¥÷#Î+˜¦+ަ‚Z…+¢�ŠK£3�SÏ/¡ª $…+¡3©SɶSÈ3ÏÈ/È ˆÉü‚  0Î…�C´…CµC¶C·#£‚  *£þ .…uÎ… 0),Ž#Ñ vÑÍ¢÷#Ñ+ͪ  Ñ#Ñ u1ÍÍùKÎ v#Í3¡+ÎJþ‚4‚FGìÿ´i\‚8!úæùƒ­ê0……P+û\‚‚8CÇ…CÉCÈîKÊ'ÊÊ u#Ç1:µ ‚ø)é¦ õ3ÈÒ  …P1*µ 1(„µ !%1%µ¦1+Ǫ 3�+É ˆ‚ªZ KÉÚCÈØ#É+È«�Ê‚4‚#Ç‚ À™ o¬‘€Y oñ +-ÿÐ9 \‚‚8­KÉK§‚[§‰Š3�… ‰D‚‚ɪù#ÉCÇ#”‚+ü� Àù o,‚1aÎ vƒÇõ­ v#É‚4‚\‚‚8ª KÒ ÒJ2Å6CÈ•SÉ…CÊ3§#É–#È–Í0ªKÇ#’)83A -C’#§‚  #’+A� Àù o)-’ v3È >Á3ÉÒSÇ#’)!3A -C’CÊ…CȃCÉÑSÈÅCÊÕSÉË#’’+A� Àù o) vÑ#Ê‚4‚ -*0\‚‚8©¨ÑSÉÍ­�'KÈ…CÊ#’’+A� Àù o)% v)"3ÉÒSÇ#’)3A -C’3È >Á)3ÊÒ SÇ#’) 3A -C’CÈ�KÊÚ‚4‚0.l!! }'‰‚  =€ € m3�"€)ŽJ€–!–W‰…Bñl! }7‰"G‰'ŠWŠBmÿˆl)#l)KŒ!= }3�ˆ2‡S�…C�'‰‰ uª )Œ7�KŽ'Š7‹• Àù o vŠ+Ž3�Í ímF!!� !� �3�Ò 'Š7‹• Àù o vŠ�Ø3�#�B†m3�ˆ‰ú‰�öõ l CŠ!NC‹…C� l CŠKŒ…P }#Œ)@?‰ú­ v!—ÅÀC!;§�ÀKÆÀC…CC4‚8\‚3 x8†S!,�X†#+‚À‚@ª€‚€+ 1¶+9¿íÀŽ!ÇæÀ8†; KC4‚8+«ð9 ª€Ò€ûý‚ÀƒÀè€ÿüÿÿL†\‚‚8†#3û• ÊCCûÑ!=‚ �!>Å…­\‚#+94ÜŠ…õÑ +Óþ<‚CK8†#+úŽ€#ü+ý3;‚  îÓ8†Æ 8†ûCüKý7íÄÅ8†‚ ø©€�3SúòÁ¹ q \‚‚8†+3ý… ˆ8†C¢+3ü ˆ8†Kþ+3ü ˆ8†3΃CüKý#+ûŽ!�Kû#+úŽ€…pCú!Ø�X† ‚4‚8ÿ€@\‚8†#+Ž«…+1Ç  8†úCK#)ì� <‚ð8†…CCCCö‚J€‰ q0† î€y qï!B„BB\‚3 x‚"8†1;Þ0€ÝX†’PÕpSÒŠ�C!.C…CCC ¶‚4‚8L\‚3 x8†S!�X†#1¦­• 1•+ÖPѪ�Óþ#‚Š©; Kà€Y q¬�8†öD\‚8†1ýÝX†#+ Ž«……P+ªŠ„4‚8†ò8@‚�‚�ª€‚�ª€‚�ª€‚�ª€ªP‚@ªP‚@ªP‚@ªP‚@!è!ç!æ!å…P\‚‚D‚‚ R8†!Ã�X†ÕP#+ Ž«…#‚ŠÒPÒP‚$‚‚Ç‚ 4‚8‚Mò ‚€I q‚8†Dª\‚‚8†#û+¥)¶¦Cû#ú+Ž€­pKú#ü+ý3”Ò àû ¨ ‰8†3CKü… ˆ8†3Å©€�ÕÕP;œ ”ÒaÒP8†S3 ‰8†3…Òƒ ‘8†Ò‹©€�3üÆCüKýul‚ l‚2‡S�C‰KŠ…pC‹#‰ u#ŠKŒ vЉ#‹‚ �õm3�+Œµ ðm'/7G\…8‡‡OûWù­)#l­!l­P!K‰ r.ˆ"ˆ¨ ‚P r¦�ƒBˆ! r‰ m ÷7Ð7Ö7Þ7äSTOP PAUSE EXIT ! –ÕP8#‚žÒJÖ WˆmT…0Zˆˆ;û \ú[Þ;€Zƒû UB…J†ª@J„ª€;ÿû ƒê9LÞ"€žK€î ��'S�X)Cî0H…*†"…ƒT…0Zˆ<…ßT…0Zˆ3ÿ93ß;ûû0Ô8;�X!*æ@…#„‚€#…+†3‡ˆ8ù"ˆ)Ú3ˆµ3�û EÊÚ3�Ð ýXÕS€1öP… j[JˆÀ pÂI p ÿÿ‡l"ˆ 0"ˆ† "…*†2‡lCŠ2ˆ"þ9v+ªM�Eûú!kæPC‰2þ)hÏ€ª€ª€ª€#‰ jÿ!?ÒPÒR!; r#‰ r!D r#‰+Šª@ª� j1#‰ r!@ r#‰3ŠÒJ 1J;�+ˆ;�µø û1B(‚KŠ,‚´¨ ‚û3ŠP‚¨ ì j1#‰ r!, r‚ m ó ƒ‚€‚`@ƒ‚Bm8·9’9˜FATAL RUNTIME ER>ROR 9ª AT LOC. 9¶, CALLED FROM LOC. 9Ì ÿ‹?ð Eì€y€‰�‰l­J† u“¢m sÂ3�†øl²C‰…C‹!&CŠ'Š­«•þ–‚�…pCŒ#‹Ž  !Ž#‰S� v3�‹‰ŠŒê3‹Ò #‰) vƒ­ v3�B…m0*'èd l²P)K‰)ª@)KŠ)ÒPª@ŠýS‹ v3‹ƒ‰ô­ v3�B…mlÿÿ ) � n! ùlÿÿ B…ò X„’�*‚ ªÀ!�Â@8„X„1 Ïš’ÒÀ#ǪÀŽKâ@8„ÿ\‚3 xT…<‚3 x<‚#<…+JûÓƒû4‚8(!ÒZ—\¶@–°—\¶2€2ÿX„8+�X„8ê2!—\ÒJ ¶@–°Â„ÒJ2„¶2€Â„ÿX„83�&ˆˆX„83�C‚‚ „C„*ˆK…ŽJˆ)î0K†!)Î0…†7…—]¶ÒJ2W†„÷„ÿ‰ÿÿ€†…0X„vÁ8„X„vA8„0 2 *ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`ÕYÿ8ú `¿8 ; CKSò8Z9ð(J+Jûû@Z*® J8úœ‡H`‚XREFSV  è ˜ p"ã  $@dè  (-/06XZ;M;�9:JJOn*0¤›¥¯¹º®ÿðlÆÿÿÿÿÿÿÿÿ%ÿÿÆÿÿFXREF.STFXREF.XRFXREF.OVFCOM.CMÄ e< Xå­  [ gå   [ ) [ hå  [ ](+  [  [Pø  [)Ø  [!Õ  [  [HI¥  [(3 j@H d(-  [ \ c  [ e< Xå  [ få  [ gå  [   (H©…038ICCCC#Þ«ú@V@J f< å  [ W@X(V  [V 2@Y$XX‚;(* j�€@U((¥/0H¶”+¥Š03 i8I¾#(2� X *æJ(J  [+ª K  [š0JS  [ JC+ª C…Cž,XKXYĺ…@U b(- …!x(>§(=¤Œ X(<¥ U ]@^!k `!j(2 j ` 8 g)e CªBƒHP a ,AR(Pª@ª@ª@HPª@ 7§(C¦ TFô!O(7�9B¾# K E)G0;· ? E /@N0U(3 i8I¾+XQªHJ K@Z  [ 2A% aZ"ý,Zªò8Q#‚ ûûûXZ xZQý ( 0U Oƒ@O((0HÎ� •H(  [< U '"-=$X0^Ò’‚ÀB^*¦ûX : ô ]@^  [GY!  X!  [ M@Gr Y ? Ü ? ÚT T(C O 8 Ô R S(2 j  × ÖY (@ jQ jQ ! ! ‚Y (90B8D¤JÆæ8A(F¤ å ­Y N ± ¹ .@N 8 ¢ 8   ? ž$Z(4 jQ(?  B –! (0 j(C¦¶Q Ž! ŒYI(6 jQ !(5 jQ ! (0 jQ ! ‚(CI)¦_Y Õ 8k‚@Ò@µ µ‚@ûûY …8kªƒ‚�Æ�ûüª°ã0 2 *ªZ"*:X8úœ:2! ¯H`‚:ú�Y:2`ýYÿ8ú `¿8 ; CKS1ó(KK*KÓÓ@S+® K0Òœâ‡H`‚òEFSV  è ˜ p"€Ù o3¡#ËBý#Î 2#Ò‚4‚Ì…�CÒÉÑ 7ÿÑ+ΦCÎÒìÿû@0+-.ED \‚8+¡3©SɶSÈ3ÏÈ/È ˆOÈÉû4‚\‚8#¡CÈ#©CÉ3ÏÉ…/È ‰É4‚OÈÈø\‚‚83�‚J‚J$CÊ…PCÐ#Ê‚› …SÏ 0‚ 43ÏÐ#ÊЂ•6CÊÊ… ˆ‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 33�…PCÐ#Ê‚› SÏ 1 33ÏÐ#ÊЂ•CÊÊ… ˆ‚²ì…CÐ#Ê‚PCÊéÊç­ 5‚4‚8\‚‚83¡"ª‚(:ÿ\‚ÞX„‚„$„L„Š‚û"þ)&¥Bþ"­î9!çÞïÀ„$„‚ÀŸîåL„Š9‚ö"þ)¥BþÍ:ÿ\‚P„<„„úÓ‚ûZþÂÿ\‚‚83¡P„*ÿL‚9øŸ ‚Á„,„¿ÀæD„9ï¢Àç‚÷"þƒƒBþ¥,„D„„¢‚û"þ)ݦBþš\‚‚ 33¡"‚9ç9"ÿD‚Æ@„ªP„$„‚@D„‚ûûôþ‚Éÿü@ð\‚‚8…CÎ3¡*ÿK©"þ)ó¥Bþ+ÎŽKÎ�­ 23¡"þ‚÷#�#�1æ• )ä3©Ò�Ò”)z)Ý3©Ò�Ò”)uK¢CÍ¢­KÍ+”KÑ+—ª #™)d� )`�  +˜#ަ +ÎÒJú#˜¥÷#Î+˜¦+ަ‚Z…+¢�ŠK£3�SÏ/¡ª $…+¡3©SɶSÈ3ÏÈ/È ˆÉü‚  0Î…�C´…CµC¶C·#£‚  *£þ .…uÎ… 0),Ž#Ñ vÑÍ¢÷#Ñ+Í(EOFDUMP TAPE ((EDSDUMP TAPE (05 08 04 75 75500 01.0 05 08 04 75 75037 07.5 05 08 01 75 75043 06.5 05 08 01 75 75005 00.5 05 08 01 75 75500 01.0 05 07 31 75 75043 07.5 05 07 31 75 75005 00.5 05 07 30 75 75043 02.0 05 07 30 75 75005 06.0 05 07 29 75 75500 07.0 05 07 29 75 75034 01.0 05 07 28 75 75500 08.5 05 07 25 75 75500 08.0 05 07 24 75 75500 07.5 05 07 24 75 75000 00.5 05 07 23 75 75500 06.5 05 07 23 75 75030 01.5 05 07 22 75 75500 08.0 06 10 23 75 75028 08.0 06 10 24 75 75028 04.0 06 10 24 75 75061 04.5 04 10 20 75 75049 01.5 04 10 20 75 75030 04.5 04 10 20 75 75013 02.0 04 10 21 75 75049 01.0 04 10 21 75 75007 01.0 04 10 21 75 75030 04.0 04 10 21 75 75013 02.0 04 10 22 75 75007 06.0 04 10 22 75 75013 01.5 04 10 22 75 75042 00.5 04 10 23 75 75056 05.0 04 10 23 75 75007 03.5 04 10 23 75 75028 01.0 04 10 24 75 75061 05.0 04 10 24 75 75007 02.5 04 10 24 75 75058 01.0 04 10 25 75 75058 01.5 04 10 25 75 75061 07.5 05 10 20 75 75060 02.5 05 10 20 75 75050 02.0 05 10 20 75 75055 04.0 05 10 21 75 75055 05.0 05 10 21 75 75060 00.4 05 10 21 75 75049 00.4 05 10 21 75 75050 00.4 05 10 21 75 75055 00.4 05 10 22 75 75055 03.1 05 10 22 75 75042 03.1 05 10 22 75 75039 00.9 05 10 22 75 75050 01.5 05 10 23 75 75042 01.6 05 10 23 75 75055 01.1 05 10 23 75 75007 01.8 05 10 23 75 75056 05.0 05 10 24 75 75007 01.3 05 10 24 75 75061 02.2 05 10 24 75 75058 05.7 05 10 25 75 75058 05.3 06 10 27 75 75061 02.0 06 10 27 75 75058 02.0 06 10 27 75 75013 02.0 06 10 28 75 75058 02.0 06 10 28 75 75051 05.0 06 10 28 75 75050 01.0 06 10 29 75 75051 04.0 06 10 29 75 75050 03.0 06 10 29 75 75049 01.0 06 10 30 75 75049 08.0 06 10 31 75 75049 04.0 06 10 31 75 75064 04.0 04 10 27 75 75061 04.0 04 10 27 75 75013 04.0 04 10 28 75 75013 07.5 04 10 28 75 75007 01.0 04 10 29 75 75013 08.0 04 10 29 75 75049 01.0 04 10 30 75 75049 04.0 04 10 30 75 75030 03.0 04 10 30 75 75007 01.5 04 10 31 75 75049 04.0 04 10 31 75 75030 02.0 04 10 31 75 75064 02.0 04 11 01 75 75030 04.5 05 10 27 75 75048 03.0 05 10 27 75 75061 01.3 05 10 27 75 75058 04.4 05 10 27 75 75051 00.3 05 10 28 75 75058 01.0 05 10 28 75 75007 05.5 05 10 28 75 75051 01.5 05 10 28 75 75050 01.0 05 10 29 75 75050 05.0 05 10 29 75 75049 03.0 05 10 30 75 75508 00.7 05 10 30 75 75049 03.8 05 10 30 75 75050 04.5 05 10 31 75 75050 00.7 05 10 31 75 75056 01.0 05 10 31 75 75064 01.5 05 10 31 75 75007 00.8 05 10 31 75 75049 02.0 06 11 03 75 75049 02.0 06 11 03 75 75506 05.0 06 11 03 75 75064 01.0 06 11 04 75 75064 02.0 06 11 04 75 75506 05.0 06 11 04 75 75042 01.0 06 11 05 75 75506 08.0 06 11 06 75 75506 07.0 06 11 06 75 75030 01.0 06 11 07 75 75506 08.0 05 11 03 75 75050 01.0 05 11 03 75 75500 07.0 05 11 04 75 75050 03.0 05 11 04 75 75042 05.5 05 11 05 75 75050 03.0 05 11 05 75 75042 05.5 05 11 06 75 75042 07.0 05 11 06 75 75050 01.5 05 11 07 75 75042 07.0 07 01 17 76 75049 06.5 07 01 19 76 75049 01.5 07 01 19 76 75049 06.5 07 01 19 76 75049 01.5 07 01 20 76 75049 08.0 07 01 20 76 75049 01.0 07 01 21 76 75049 08.0 03 01 17 76 75049 08.0 03 01 20 76 75049 03.5 05 01 17 76 75030 01.2 05 01 17 76 75049 05.3 05 01 19 76 75049 05.5 05 01 19 76 75027 00.5 05 01 19 76 76000 01.5 07 03 16 76 76000 08.0 07 03 17 76 76000 08.0 07 03 18 76 76000 08.0 07 03 19 76 76000 08.0 07 03 22 76 76000 02.0 07 03 22 76 75052 01.5 07 03 22 76 75052 05.5 07 11 03 75 75064 08.5 07 11 04 75 75064 02.0 07 11 04 75 75050 04.0 07 11 04 75 75042 02.0 07 11 05 75 75050 06.0 07 11 05 75 75042 02.0 07 11 05 75 74037 01.0 07 11 06 75 75050 01.0 07 11 06 74 74037 07.0 07 11 07 75 74037 03.0 07 11 07 75 75042 01.0 07 11 07 75 75007 04.0 01 11 07 75 75504 02.0 07 11 10 75 75007 03.0 07 11 10 75 75030 05.0 07 11 10 75 75065 01.0 07 11 11 75 74037 05.0 07 11 11 75 75065 03.0 07 11 11 75 75056 01.0 07 11 12 75 75065 03.0 07 11 12 75 75063 02.0 07 11 12 75 75000 03.0 07 11 13 75 75065 02.0 07 11 13 75 75063 05.0 07 11 13 75 75056 01.0 07 11 14 75 75063 01.5 07 11 14 75 75065 05.0 07 11 14 75 75056 01.5 01 11 10 75 75030 05.0 01 11 10 75 75501 02.0 01 11 10 75 75000 01.0 01 11 11 75 74037 02.0 01 11 11 75 75049 02.0 01 11 11 75 75066 04.5 01 11 12 75 74045 04.0 01 11 12 75 75063 02.0 01 11 12 75 75054 02.0 01 11 13 75 75063 03.0 01 11 13 75 75066 01.0 01 11 14 75 75000 04.0 01 11 14 75 75050 01.0 01 11 14 75 75047 01.0 01 11 14 75 75063 02.0 01 11 15 75 75050 03.0 01 11 15 75 75504 01.0 01 11 15 75 75000 03.0 06 11 10 75 75506 04.0 06 11 10 75 75030 05.0 06 11 11 75 75506 05.0 06 11 11 75 75042 03.0 05 11 10 75 75042 08.0 05 11 11 75 75054 02.0 05 11 11 75 75056 02.5 05 11 11 75 75042 03.0 05 11 11 75 75048 00.5 05 11 11 75 75049 01.2 05 11 12 75 75054 02.0 05 11 12 75 75048 01.0 05 11 12 75 75056 05.0 05 11 13 75 75054 00.6 05 11 13 75 75056 04.0 05 11 13 75 75042 01.0 05 11 13 75 75000 01.9 05 11 14 75 75056 05.0 05 11 14 75 75047 02.5 05 11 14 75 75050 01.5 05 11 14 75 75049 00.3 07 11 17 75 75049 02.5 07 11 17 75 75056 01.0 07 11 17 75 75013 01.5 07 11 17 75 75047 01.0 07 11 17 75 75023 01.0 07 11 17 75 75022 01.0 07 11 18 75 75022 03.0 07 11 18 75 75041 03.0 07 11 18 75 75000 02.0 07 11 19 75 75063 02.5 07 11 19 75 75050 02.0 07 11 19 75 75041 02.0 07 11 19 75 75022 01.5 07 11 20 75 75063 04.5 07 11 20 75 75050 01.0 07 11 20 75 75022 03.5 07 11 21 75 75041 02.0 07 11 21 75 75050 02.0 07 11 21 75 75022 04.0 07 11 22 75 75008 00.3 07 11 22 75 75033 00.7 07 11 23 75 75008 02.3 07 11 23 75 75033 06.7 05 11 17 75 75050 01.5 05 11 17 75 75056 04.5 05 11 17 75 75042 01.0 05 11 17 75 75000 01.0 05 11 18 75 75041 01.0 05 11 18 75 75057 01.0 05 11 18 75 75050 02.0 05 11 18 75 75000 04.0 05 11 19 75 75030 02.0 05 11 19 75 75050 05.5 05 11 19 75 75042 01.0 05 11 20 75 75030 04.0 05 11 20 75 75050 04.0 05 11 20 75 75000 01.0 05 11 21 75 75000 01.0 05 11 21 75 75050 07.0 05 11 21 75 75049 00.5 07 11 24 75 75063 02.5 07 11 24 75 75065 05.5 07 11 25 75 75065 08.0 07 11 26 75 75065 05.0 07 11 26 75 75063 03.0 07 11 28 75 75063 04.0 07 11 28 75 75022 04.0 07 11 24 75 75056 01.0 05 11 24 75 75050 06.0 05 11 24 75 75000 01.5 05 11 25 75 75050 08.5 05 11 26 75 75054 00.3 05 11 26 75 75050 07.7 05 11 26 75 75022 00.5 05 11 28 75 75050 09.0 03 11 28 75 75049 09.0 03 11 29 75 75049 01.0 03 11 29 75 75063 04.0 03 11 29 75 75063 02.0 03 11 29 75 75041 01.0 07 12 01 75 75063 03.0 07 12 01 75 75050 01.0 07 12 01 75 75049 02.0 07 12 01 75 75000 02.0 07 12 02 75 75063 06.0 07 12 02 75 75050 02.0 07 12 03 75 75063 06.0 07 12 03 75 75065 02.0 07 12 04 75 75065 03.5 07 12 04 75 75063 04.5 07 12 05 75 75063 05.0 07 12 05 75 75050 01.0 07 12 05 75 75049 02.0 01 12 01 75 74004 14.0 01 12 02 75 75013 00.5 01 12 02 75 75063 02.0 01 12 02 75 74004 01.0 01 12 02 75 74011 01.0 01 12 02 75 75049 02.0 01 12 02 75 75065 06.0 01 12 03 75 75050 03.0 01 12 03 75 75513 03.0 01 12 03 75 74011 02.0 01 12 04 75 75050 02.0 01 12 04 75 75065 08.0 01 12 04 75 75063 01.0 01 12 05 75 75065 12.0 01 12 06 75 75065 04.0 03 12 05 75 75049 08.0 07 12 08 75 75063 09.0 07 12 09 75 75063 08.0 07 12 10 75 75063 08.0 07 12 11 75 75063 06.0 07 12 11 75 75049 03.0 07 12 12 75 75063 08.0 05 12 08 75 75500 01.5 05 12 08 75 75507 01.5 05 12 08 75 75051 06.3 05 12 08 75 75000 01.0 05 12 09 75 75500 04.0 05 12 09 75 75000 01.0 05 12 09 75 75051 03.0 05 12 10 75 75000 01.5 05 12 10 75 75051 04.5 05 12 10 75 75050 02.0 05 12 11 75 75051 02.0 05 12 11 75 75050 07.5 05 12 12 75 75050 02.0 05 12 12 75 75051 03.0 05 12 12 75 75048 01.0 05 12 12 75 75500 01.0 05 12 12 75 75000 01.0 05 12 13 75 75504 01.5 01 12 08 75 75051 02.0 01 12 08 75 75063 01.0 01 12 08 75 75049 05.0 01 12 09 75 75052 03.0 01 12 09 75 75051 02.0 01 12 09 75 75035 01.0 01 12 09 75 75049 03.0 01 12 10 75 75049 08.0 01 12 11 75 75063 03.0 01 12 11 75 75501 02.0 01 12 11 75 75500 03.0 01 12 12 75 75063 01.0 01 12 12 75 75000 01.0 01 12 12 75 75501 02.0 01 12 12 75 75049 04.0 07 12 15 75 75068 08.0 07 12 16 75 75000 08.0 07 12 17 75 75049 06.0 07 12 17 75 75000 03.0 07 12 18 75 75049 06.0 07 12 18 75 75022 01.0 07 12 18 75 75000 01.0 07 12 19 75 75049 09.0 07 12 22 75 75005 01.0 07 12 22 75 75049 07.0 07 12 22 75 75000 01.0 07 12 23 75 74011 01.5 07 12 23 75 75049 05.5 07 12 24 75 75049 03.0 07 12 24 75 75000 01.0 07 12 29 75 75063 01.5 07 12 29 75 75049 06.0 07 12 29 75 75000 01.0 07 12 30 75 74042 00.5 07 12 30 75 75049 07.5 07 12 30 75 75000 01.0 07 12 31 75 75049 03.5 07 12 31 75 75000 00.5 05 12 24 75 75000 04.0 08 01 02 76 75067 03.0 08 01 05 76 75067 03.0 08 01 05 76 76000 02.0 08 01 05 76 76001 03.0 08 01 06 76 76000 05.5 08 01 06 76 75057 00.5 08 01 06 76 75049 02.0 08 01 07 76 76002 02.0 08 01 07 76 76003 02.0 08 01 07 76 75049 02.0 08 01 07 76 76000 02.0 08 01 08 76 76003 06.5 08 01 08 76 75049 01.5 08 01 09 76 76005 01.5 08 01 09 76 75045 02.5 08 01 09 76 76000 02.5 08 01 12 76 76000 01.0 08 01 12 76 75067 01.0 08 01 12 76 76000 01.0 08 01 12 76 75022 05.5 08 01 13 76 75007 03.0 08 01 13 76 76000 02.0 08 01 13 76 75022 03.0 08 01 14 76 76000 08.0 08 01 15 76 75022 01.5 08 01 15 76 75030 01.5 08 01 15 76 76000 05.0 05 01 06 76 75507 01.0 05 01 06 76 75039 00.5 05 01 06 76 75057 03.5 05 01 06 76 74011 02.7 05 01 06 76 75056 01.0 05 01 07 76 75507 04.0 05 01 07 76 75056 04.0 05 01 08 76 75057 00.5 05 01 08 76 75056 03.0 05 01 08 76 75507 03.5 05 01 08 76 76000 01.0 05 01 09 76 75050 01.0 05 01 09 76 75514 02.0 05 01 09 76 75507 06.0 05 01 12 76 75056 02.5 05 01 12 76 76005 05.5 05 01 12 76 76000 00.5 05 01 13 76 76005 04.0 05 01 13 76 76000 01.0 05 01 13 76 75514 03.5 05 01 14 76 75056 01.0 05 01 14 76 75049 02.0 05 01 14 76 76000 00.5 05 01 14 76 75514 04.5 05 01 15 76 74027 01.5 05 01 15 76 75514 07.0 05 01 16 76 75514 01.3 05 01 16 76 76006 02.7 05 01 16 76 75049 03.5 05 01 16 76 74045 00.5 05 01 17 76 75030 01.2 05 01 17 76 75049 05.3 07 01 05 76 75063 01.5 07 01 05 76 75049 06.0 07 01 05 76 76000 01.5 07 01 06 76 75049 08.0 07 01 06 76 76000 01.0 07 01 07 76 75049 08.0 07 01 07 76 76000 01.0 07 01 08 76 75049 05.0 07 01 08 76 76004 02.0 07 01 08 76 76000 00.5 07 01 09 76 75049 09.0 07 01 10 76 76004 04.0 07 01 10 76 75049 04.0 07 01 12 76 75049 09.0 07 01 13 76 75049 10.0 07 01 14 76 75049 08.5 07 01 14 76 76000 00.5 07 01 15 76 75049 02.5 07 01 15 76 75005 07.0 07 01 16 76 75049 07.0 07 01 16 76 75005 01.0 07 01 17 76 75049 06.5 01 01 03 76 75504 08.0 01 01 05 76 75013 01.0 01 01 05 76 75063 01.0 01 01 05 76 76000 06.0 01 01 06 76 75512 04.0 01 01 06 76 74011 04.0 01 01 07 76 75030 04.0 01 01 07 76 76003 04.0 01 01 08 76 76000 06.0 01 01 08 76 75512 02.0 01 01 09 76 75049 08.8 01 01 09 76 75512 02.0 01 01 10 76 75049 08.0 01 01 11 76 75514 04.0 01 01 12 76 75030 02.0 01 01 12 76 76000 05.0 01 01 12 76 75509 03.0 01 01 13 76 75030 04.0 01 01 13 76 75509 04.0 01 01 14 76 75030 08.0 01 01 15 76 75030 04.0 01 01 16 76 75049 09.0 01 01 17 76 75049 08.0 03 01 09 76 75049 09.5 03 01 10 76 75049 03.5 03 01 10 76 76005 05.5 03 01 11 76 76005 01.0 03 01 11 76 75030 04.5 03 01 12 76 75049 02.5 03 01 12 76 75030 02.5 03 01 14 76 75030 02.0 03 01 16 76 75049 09.0 03 01 17 76 75049 08.0 01 01 03 75 75514 06.0 08 01 19 76 76000 04.0 08 01 19 76 75067 04.0 08 01 20 76 76000 08.0 08 01 21 76 76000 06.0 03 01 22 76 75049 03.0 03 01 23 76 75049 08.5 03 01 24 76 75051 02.5 03 01 24 76 75049 04.5 05 01 22 76 75042 02.0 05 01 22 76 76000 01.0 05 01 22 76 75507 05.0 05 01 23 76 76500 01.5 05 01 23 76 75051 04.5 05 01 23 76 75507 01.5 05 01 23 76 76000 00.5 07 01 22 76 75049 07.0 07 01 22 76 76000 01.0 07 01 23 76 75049 08.0 08 01 22 76 75045 04.0 08 01 22 76 76000 04.0 08 01 23 76 76000 01.0 01 01 16 76 75049 09.0 01 01 17 76 75049 08.0 01 01 18 76 75049 06.0 01 01 19 76 75013 02.0 01 01 20 76 75013 02.0 01 01 20 76 75049 02.0 01 01 20 76 75504 04.0 01 01 21 76 75049 01.0 01 01 22 76 75013 05.0 01 01 22 76 75049 03.0 01 01 26 76 75049 06.0 01 01 26 76 75013 02.0 01 01 27 76 75049 04.0 01 01 27 76 76000 03.0 01 01 27 76 75507 04.0 01 01 27 76 75067 02.0 01 01 28 76 76000 08.0 01 01 29 76 76000 02.0 01 01 29 76 76007 01.0 01 01 29 76 76000 04.0 01 01 30 76 75052 01.0 01 01 30 76 76003 02.0 01 01 30 76 76003 02.0 01 01 30 76 76003 05.0 01 01 30 76 76500 04.0 01 01 31 76 76601 06.0 01 01 31 76 75507 03.0 03 01 30 76 75049 06.5 03 01 30 76 76008 05.5 03 01 31 76 75049 12.0 05 01 26 76 76000 01.5 05 01 26 76 75051 04.0 05 01 26 76 75042 02.8 05 01 27 76 76000 01.5 05 01 27 76 75042 01.0 05 01 27 76 75507 05.0 05 01 27 76 76000 01.0 05 01 28 76 75051 00.6 05 01 28 76 74001 01.4 05 01 28 76 76000 02.0 05 01 28 76 76500 03.5 05 01 28 76 75507 01.6 05 01 29 76 76000 01.0 05 01 29 76 76000 02.0 05 01 29 76 75514 05.0 05 01 30 76 75514 05.0 05 01 30 76 75507 02.0 05 01 30 76 76000 01.0 05 01 31 76 76500 04.0 07 01 26 76 75049 08.0 07 01 27 76 75049 08.0 07 01 28 76 75049 08.0 07 01 29 76 75049 08.0 07 01 29 76 75049 02.0 07 01 30 76 75049 08.0 07 01 30 76 75049 01.5 07 01 31 76 75049 08.0 08 01 26 76 76000 00.8 08 01 27 76 76000 08.0 08 01 28 76 76000 08.0 08 01 29 76 76008 06.0 08 01 29 76 76000 02.0 08 01 30 76 76008 06.0 08 01 30 76 76003 01.0 05 01 20 76 76514 02.0 05 01 20 76 75049 03.5 05 01 20 76 76000 03.5 05 01 21 76 76000 02.0 05 01 21 76 75049 06.0 05 01 21 76 75042 01.3 07 01 17 76 75049 06.5 07 01 19 76 75049 01.5 07 01 19 76 75049 06.5 07 01 19 76 75049 01.5 07 01 20 76 75049 08.0 07 01 20 76 75049 01.0 07 01 21 76 75049 08.0 03 01 17 76 75049 08.0 03 01 20 76 75049 03.5 05 01 17 76 75030 01.2 05 01 17 76 75049 05.3 05 01 19 76 75049 05.5 05 01 19 76 75027 00.5 05 01 19 76 76000 01.5 08 01 19 76 76000 04.0 08 01 19 76 75067 04.0 08 01 20 76 76000 08.0 08 01 21 76 76000 06.0 03 01 22 76 75049 03.0 03 01 23 76 75049 08.5 03 01 24 76 75051 02.5 03 01 24 76 75049 04.5 05 01 22 76 75042 02.0 05 01 22 76 76000 01.0 05 01 22 76 75507 05.0 05 01 23 76 76500 01.5 05 01 23 76 75051 04.5 05 01 23 76 75507 01.5 05 01 23 76 76000 00.5 07 01 22 76 75049 07.0 07 01 22 76 76000 01.0 07 01 23 76 75049 08.0 08 01 22 76 75045 04.0 08 01 22 76 76000 04.0 08 01 23 76 76000 01.0 01 02 02 76 76009 02.0 01 02 02 76 76000 03.0 01 02 02 76 76601 03.0 01 02 02 76 76003 02.0 01 02 03 76 76003 06.0 01 02 03 76 76500 02.0 01 02 04 76 76003 02.0 01 02 04 76 76500 04.0 01 02 05 76 76000 08.0 01 02 06 76 76000 08.0 01 02 07 76 76000 08.0 05 02 01 76 76501 01.0 05 02 02 76 76501 03.0 05 02 02 76 75049 06.0 05 02 03 76 75049 04.0 05 02 03 76 75507 04.0 05 02 04 76 75051 02.0 05 02 04 76 75049 04.0 05 02 04 76 76501 07.5 05 02 05 76 76000 08.0 05 02 06 76 76000 08.0 05 02 07 76 76000 08.0 07 02 01 76 75049 03.0 07 02 02 76 75049 08.0 07 02 02 76 75049 01.0 07 02 03 76 75049 02.0 07 02 03 76 75049 06.0 07 02 04 76 75049 04.0 07 02 04 76 75049 01.5 07 02 04 76 75050 02.5 07 02 05 76 76000 08.0 07 02 06 76 76000 08.0 08 02 02 76 76008 06.0 08 02 02 76 76008 01.0 08 02 02 76 76000 02.0 08 02 03 76 76008 06.0 08 02 03 76 76008 01.5 08 02 03 76 76000 02.0 08 02 04 76 76008 08.0 08 02 04 76 76008 02.0 08 02 05 76 76008 08.0 08 02 05 76 76008 00.5 08 02 06 76 75049 01.5 08 02 06 76 76008 06.5 01 02 10 76 76500 12.0 01 02 11 76 76500 12.0 01 02 12 76 76500 12.0 01 02 13 76 76500 12.0 05 02 09 76 76500 08.0 05 02 09 76 76011 01.5 05 02 10 76 76011 03.5 05 02 10 76 76500 05.5 05 02 11 76 76500 08.5 05 02 12 76 76000 02.0 05 02 12 76 76011 07.0 05 02 12 76 76011 01.0 05 02 13 76 76011 05.5 05 02 13 76 76000 02.5 07 02 09 76 76000 08.0 07 02 10 76 75049 03.0 07 02 10 76 75049 05.0 07 02 11 76 75049 08.0 07 02 12 76 75049 05.0 07 02 12 76 75052 03.0 07 02 13 76 75049 08.0 07 02 13 76 75049 01.0 08 02 09 76 76008 08.0 08 02 10 76 76008 04.0 08 02 10 76 76010 02.0 08 02 10 76 76000 02.0 08 02 11 76 76008 01.0 08 02 11 76 76000 05.0 08 02 11 76 76010 02.0 08 02 12 76 76010 07.0 08 02 12 76 76000 01.0 08 02 13 76 76010 04.0 08 02 12 76 76000 04.0 08 03 16 76 76014 08.0 08 03 17 76 76014 06.0 08 03 17 76 76000 02.0 08 03 18 76 76010 03.0 08 03 18 76 76000 02.0 08 03 18 76 76014 03.0 08 03 19 76 76000 05.0 08 03 19 76 76000 03.0 08 03 22 76 76000 08.0 01 03 23 76 76000 03.0 01 03 24 76 75013 02.0 01 03 24 76 76500 06.0 01 03 24 76 76019 01.0 01 03 26 76 76019 08.0 01 03 29 76 76021 01.0 01 03 29 76 76500 02.0 01 03 29 76 76000 01.0 01 03 30 76 76014 02.5 01 03 30 76 75504 04.0 01 03 30 76 76000 01.5 01 03 30 76 76019 04.0 01 03 31 76 76019 03.0 01 03 31 76 75013 01.0 01 03 31 76 75047 02.0 01 03 31 76 76500 02.0 01 04 01 76 74011 03.0 01 04 01 76 76023 01.0 01 04 01 76 76014 02.0 01 04 02 76 75013 01.0 01 04 02 76 76025 02.0 01 04 02 76 76017 01.0 01 04 02 76 76024 04.0 01 04 03 76 76500 10.0 03 03 30 76 75042 03.0 03 04 02 76 75049 06.0 03 04 03 76 75049 08.5 03 04 03 76 76025 01.0 03 04 04 76 76025 02.5 03 04 04 76 76024 02.5 03 04 04 76 76024 02.0 03 04 04 76 75049 00.5 05 03 23 76 76011 07.0 05 03 23 76 76000 01.0 05 03 24 76 75051 05.5 05 03 24 76 76011 03.0 05 03 24 76 76000 00.5 05 03 24 76 76514 01.5 05 03 25 76 76011 01.0 05 03 25 76 75051 01.0 05 03 25 76 75052 04.5 05 03 25 76 76000 01.0 05 03 25 76 76514 01.0 05 03 26 76 75052 02.5 05 03 26 76 75051 02.5 05 03 26 76 76011 01.5 05 03 26 76 76500 02.0 05 03 29 76 75051 03.5 05 03 29 76 75042 03.0 05 03 29 76 76000 02.0 05 03 30 76 75042 06.0 05 03 30 76 76514 01.0 05 03 30 76 76000 01.0 05 03 31 76 76019 04.0 05 04 01 76 75514 03.0 05 04 01 76 75042 06.5 05 04 01 76 76000 01.0 05 04 02 76 75042 08.0 07 03 23 76 75052 07.0 07 03 23 76 75033 02.0 07 03 24 76 75033 05.0 07 03 24 76 75067 00.5 07 03 24 76 75052 04.5 07 03 25 76 75052 09.0 07 03 26 76 75052 09.0 07 03 28 76 75052 01.0 07 03 28 76 75052 02.0 07 03 29 76 75052 03.0 07 03 29 76 75049 04.0 07 03 29 76 75033 01.0 07 03 29 76 74037 01.0 07 03 30 76 74037 03.0 07 03 30 76 74037 05.0 07 03 31 76 74037 04.0 07 03 31 76 75052 01.0 07 03 31 76 76000 02.0 07 03 31 76 74027 01.0 07 04 01 76 74037 08.0 07 04 01 76 76024 01.0 07 04 02 76 74037 08.0 07 04 02 76 75049 01.0 08 03 23 76 75052 01.5 08 03 23 76 76000 06.5 08 03 24 76 76018 03.0 08 03 24 76 76000 05.0 08 03 26 76 76018 01.0 08 03 26 76 76020 04.5 08 03 26 76 76000 02.5 08 03 29 76 76020 01.5 08 03 29 76 76000 06.5 08 03 30 76 76014 04.0 08 03 30 76 76000 04.0 08 03 31 76 76014 06.0 08 03 31 76 76000 02.0 08 04 01 76 76025 02.0 08 04 01 76 76024 05.0 08 04 01 76 76014 01.0 08 04 02 76 76025 07.0 08 04 02 76 76024 01.0 09 02 12 76 76000 08.0 09 02 13 76 76000 08.0 01 02 16 76 75507 08.0 01 02 17 76 75507 08.0 01 02 18 76 75507 08.0 01 02 19 76 75507 08.0 01 02 20 76 75507 08.0 05 02 16 76 76009 01.5 05 02 16 76 76011 07.0 05 02 16 76 76500 00.5 05 02 17 76 76500 04.0 05 02 17 76 76011 04.0 05 02 17 76 76000 01.0 05 02 18 76 75049 02.0 05 02 18 76 76011 02.5 05 02 18 76 76000 01.0 05 02 18 76 76500 03.0 05 02 19 76 76011 05.5 05 02 19 76 76000 02.0 05 02 20 76 76000 02.0 05 02 20 76 76011 04.0 05 02 20 76 76500 02.0 07 02 16 76 75049 08.0 07 02 17 76 75049 02.0 07 02 17 76 75049 06.0 07 02 17 76 75049 01.0 07 02 18 76 75049 02.5 07 02 18 76 75049 05.0 07 02 18 76 75049 00.5 07 02 19 76 76012 04.0 07 02 19 76 75049 02.0 07 02 19 76 76000 02.0 07 02 20 76 75049 03.5 07 02 20 76 75052 02.0 07 02 20 76 76000 02.5 08 02 16 76 76000 08.0 08 02 17 76 76010 02.0 08 02 17 76 76008 02.0 08 02 17 76 76000 04.0 08 02 18 76 76008 06.0 08 02 18 76 76000 02.0 08 02 19 76 76000 04.0 08 02 19 76 76000 04.0 08 02 20 76 76000 08.0 09 02 16 76 75004 00.5 09 02 16 76 76000 07.5 09 02 17 76 76000 08.0 09 02 18 76 76000 08.0 09 02 19 76 76000 08.0 09 02 20 76 76000 08.0 01 02 23 76 75507 08.0 01 02 24 76 75507 08.0 01 02 25 76 75507 08.0 01 02 26 76 75507 08.0 01 02 27 76 75507 08.0 05 02 23 76 76000 04.0 05 02 23 76 76011 04.5 05 02 23 76 75051 01.5 05 02 24 76 76011 02.0 05 02 24 76 76009 15.5 05 02 25 76 76009 01.5 05 02 25 76 76000 01.5 05 02 26 76 76000 00.5 05 02 26 76 76009 07.0 05 02 26 76 75051 03.0 05 02 27 76 75051 05.5 05 02 27 76 76500 01.0 05 02 27 76 76000 01.0 05 02 27 76 76009 01.5 05 02 28 76 76009 04.0 07 02 23 76 74045 01.5 07 02 23 76 74045 01.5 07 02 23 76 75052 01.5 07 02 23 76 74037 00.5 07 02 23 76 74037 01.5 07 02 23 76 76000 01.5 07 02 24 76 74037 02.5 07 02 24 76 74042 04.0 07 02 24 76 75049 01.5 07 02 25 76 75049 07.0 07 02 26 76 76000 08.0 07 02 27 76 76000 08.0 08 02 23 76 76000 08.0 08 02 24 76 76010 04.5 08 02 24 76 76000 03.5 08 02 25 76 76010 03.0 08 02 25 76 76000 05.0 08 02 26 76 76000 08.0 08 02 27 76 76000 08.0 09 02 23 76 75052 00.3 09 02 23 76 76000 07.7 09 02 24 76 76000 08.0 09 02 25 76 76000 08.0 09 02 26 76 76000 08.0 09 02 27 76 76000 08.0 01 03 01 76 75507 08.0 01 03 01 76 75049 04.0 01 03 02 76 76014 05.0 01 03 02 76 75507 03.0 01 03 03 76 76014 05.0 01 03 03 76 75507 03.0 01 03 04 76 75507 03.0 01 03 05 76 74045 01.0 01 03 05 76 75507 06.0 03 03 05 76 76022 05.0 03 03 05 76 76500 04.0 03 03 06 76 76014 00.5 03 03 06 76 75052 01.5 03 03 06 76 76500 01.5 03 03 06 76 76022 01.5 05 03 01 76 75051 01.0 05 03 01 76 76009 05.5 05 03 01 76 76000 00.5 05 03 01 76 76500 02.0 05 03 02 76 76000 01.5 05 03 02 76 76009 01.5 05 03 02 76 75051 05.5 05 03 03 76 76000 01.5 05 03 03 76 75051 01.5 05 03 03 76 76500 04.0 05 03 03 76 76011 02.5 05 03 04 76 76500 09.0 05 03 05 76 76500 05.0 05 03 05 76 76000 02.0 05 03 05 76 76011 02.0 05 03 06 76 76011 01.0 07 03 01 76 75052 01.0 07 03 01 76 75049 05.0 07 03 02 76 75049 05.0 07 03 02 76 75052 00.5 07 03 02 76 76000 02.5 07 03 03 76 75049 05.0 07 03 03 76 75052 01.0 07 03 03 76 76015 03.0 07 03 04 76 76015 02.0 07 03 04 76 75049 03.0 07 03 04 76 76500 01.0 07 03 04 76 75052 01.0 07 03 04 76 75049 01.0 07 03 05 76 76012 06.0 07 03 05 76 75052 03.0 07 03 07 76 75052 04.0 08 03 01 76 76010 01.0 08 03 01 76 76000 05.0 08 03 01 76 76014 02.0 08 03 02 76 76000 06.0 08 03 02 76 76014 02.0 08 03 03 76 76014 06.0 08 03 03 76 76000 02.0 08 03 04 76 76014 06.0 08 03 04 76 76008 02.0 08 03 05 76 76008 06.0 08 03 05 76 76000 02.0 09 03 01 76 76000 08.0 09 03 02 76 76000 08.0 09 03 03 76 76000 08.0 09 03 05 76 76000 08.0 01 03 08 76 74004 13.0 01 03 08 76 75065 03.0 01 03 09 76 74004 18.0 01 03 10 76 75051 01.0 01 03 10 76 76000 02.0 01 03 10 76 75507 05.0 01 03 11 76 76000 08.0 05 03 08 76 74004 12.0 05 03 09 76 74004 12.0 05 03 10 76 74004 06.0 05 03 10 76 76500 03.0 05 03 11 76 74004 02.0 05 03 11 76 76000 02.0 05 03 11 76 76501 05.0 05 03 12 76 76501 05.0 05 03 12 76 76011 02.0 05 03 12 76 76000 01.0 05 03 13 76 76500 03.0 05 03 15 76 76500 06.0 07 03 08 76 75052 03.0 07 03 08 76 76014 06.0 07 03 09 76 75049 05.0 07 03 09 76 76014 02.0 07 03 09 76 76014 02.0 07 03 09 76 76016 02.0 07 03 09 76 76000 02.0 07 03 09 76 76014 01.0 07 03 10 76 76014 06.0 07 03 10 76 75052 01.0 07 03 11 76 76014 07.0 07 03 11 76 76012 01.0 07 03 12 76 76000 02.0 07 03 12 76 76012 06.0 08 03 08 76 76000 04.0 08 03 08 76 76014 04.0 08 03 09 76 76016 01.5 08 03 09 76 76008 00.5 08 03 09 76 76014 05.0 08 03 09 76 76000 01.0 08 03 10 76 76000 04.0 08 03 10 76 76014 02.0 08 03 10 76 76008 01.0 08 03 10 76 76000 01.0 08 03 11 76 76018 02.0 08 03 11 76 76014 02.0 08 03 11 76 76016 02.0 08 03 11 76 76000 02.0 08 03 12 76 76018 06.0 08 03 12 76 76000 02.0 08 03 15 76 76014 08.0 09 03 08 76 76000 08.0 09 03 09 76 75504 06.0 09 03 09 76 75504 02.0 09 03 10 76 75504 02.0 09 03 10 76 76000 04.0 09 03 11 76 75504 04.0 09 03 11 76 76000 04.0 09 03 23 76 76000 08.0 09 03 24 76 75504 03.5 09 03 24 76 76000 04.5 09 03 25 76 75504 02.0 09 03 25 76 76000 06.0 09 03 26 76 75504 03.0 09 03 26 76 76000 05.0 09 03 29 76 75504 01.0 09 03 29 76 76000 07.0 09 03 30 76 75504 01.5 09 03 30 76 76000 06.5 09 03 31 76 75504 06.0 09 03 31 76 76000 02.0 09 04 01 76 75504 04.0 09 04 01 76 76000 04.0 09 04 02 76 75504 07.0 09 04 02 76 76000 01.0 !789:;ÂPQRST 01 0 71.04A ' 05 0 70.04A @ 08 0 72.03A , 01.0 22457674< 04 1925 0 0.0# 04 2017 0 0.0 04 2226 0 0.0E 08.0 23147676 08.0 24007676 75052 0 7 0 2 75504 0 7 0 1L 76000 0 7 0 23 76023 0 7 0 2 01 0475.049 0& 05 0475.261 0? 08 0476.000 0 19 76 0 0.5 0 20 76 0 0.0 09 23 76 0 0.0 0v 76 750. 2 0 0Z 76 750. 2 0 0^ 76 751. 2 0 0k 76 752. 2 0 0} 76 752. 2 1 0` 76 753. 2 0 0X 76 754. 2 0 0T 76 754. 2 0 0| 76 755. 2 1 0e 76 756. 2 0 0€ 76 756. 2 1 0u 76 757. 2 0 0 76 76.0 1 0 0O 76 76.0 2 0 06 76 76.0 2 0 0 76 76.0 2 0 0\ 76 760. 2 0 0w 76 761. 2 0 0s 76 761. 2 0 0o 76 761. 2 0 0n 76 761. 2 0 0l 76 761. 2 0 0d 76 761. 2 0 0c 76 761. 2 0 0a 76 761. 2 0 0] 76 761. 2 0 0Q 76 761. 2 0 0~ 76 761. 2 1 0i 76 762. 2 0 0U 76 762. 2 0 0m 76 763. 2 0 0g 76 763. 2 0 0f 76 763. 2 0 0_ 76 763. 2 0 0R 76 763. 2 0 0x 76 764. 2 0 0h 76 764. 2 0 0W 76 764. 2 0 0S 76 764. 2 0 0P 76 764. 2 0 0j 76 765. 2 0 0b 76 765. 2 0 0z 76 765. 2 1 0r 76 766. 2 0 0V 76 766. 2 0 0y 76 768. 2 0 0t 76 768. 2 0 0q 76 768. 2 0 0p 76 768. 2 0 0[ 76 768. 2 0 0Y 76 768. 2 0 0 76 768. 2 1 0{ 76 768. 2 1 0.0 0176 07600).0 0576 07427B.0 0876 076290 01 6 01501AA0 08 6 07604A0 76 73.4 1 0000A 0 0 7 2 7H00A 0704762076 01 04 600 1A01+01.0 2 9A6 50014A 0 0 7 2 7;04 19 0A08015 "04 20 1A05005 04 21 4A01060 %05 04 506 1A0105.0 3 0A6 65>08 04 600 4A03D08.0 2 4A6 600A 01.4 603 6 1 04 202 A 3.*1.0 0 7A 70119 76 01045 05.1A 02.4 502 6 20 76 03040 01823 76 00045 0728A 020476237673 76 75.4 7 3.0 0 7B 701!4 19 7A 5 0. 4 21 7A 1 2. :4 23 7A 7 4. G4A 00.4 559 6 (5 05 6 00604A$5 04 200 A 1.I504A 0 0 7 2 746 7505 1 7 4 M6 7550 2 9 4 6 7601 5 3 4 6 7603 9 1 4 J6000A 9 6 4 1 6014A 3 6 4 4 16014A 7 6 4 9 /61A 070475237675052A0176041975052A03760424K75504A09760421576 7600 220704N76 7600 23090476 7605 19050476 7650 190104276014A07760420=8 04 102 A 1.C8.0 0 7A 7019 76 70.4 5 -A 01.0 205 7 7A 07.0 250 7 7FA 07.5 100 7 7AS NO. TIME RECORD YET 75032 01 15 76 04 04 76 JOB NO.75033 FPBA FIRE PUMP FOR BETHEL APARTMENTS -CLARK- 75033 01 15 76 04 04 76 TOTAL HOURS= 8.0 JOB HAS NO. TIME RECORD YET 75034 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75035 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75036 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75037 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75038 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75039 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75040 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75041 01 15 76 04 04 76 JOB NO.75042 BJOA BROWN JUG OFFICE ADDITION -RAASCH- 75042 01 15 76 04 04 76 TOTAL HOURS= 39.9 JOB HAS NO. TIME RECORD YET 75043 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75044 01 15 76 04 04 76 JOB NO.75045 OBJC OFFICE BLDG. FOR JIM CURLY -JIM CURLY- 75045 01 15 76 04 04 76 TOTAL HOURS= 8.0 JOB HAS NO. TIME RECORD YET 75046 01 15 76 04 04 76 JOB NO.75047 ARSUA AUTO REPAIR SHOP U OF A -U OF A- 75047 01 15 76 04 04 76 TOTAL HOURS= 2.0 JOB HAS NO. TIME RECORD YET 75048 01 15 76 04 04 76 JOB NO.75049 TSTSC TEAMSTER'S SPORTS COMPLEX -LUNSFORD- 75049 01 15 76 04 04 76 TOTAL HOURS=519.4 JOB NO.75050 CHFA ADDITION TO CITY HONOR FARM -WESTBROOK- 75050 01 15 76 04 04 76 TOTAL HOURS= 2.5 JOB NO.75051 GOB GITTINS OFFICE BLDG -CLARK- 75051 01 15 76 04 04 76 TOTAL HOURS= 54.1 JOB NO.75052 NQTS NUIQUISET SCHOOL -KPF&F- 75052 01 15 76 04 04 76 TOTAL HOURS= 75.8 JOB HAS NO. TIME RECORD YET 75053 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75054 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75055 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75056 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75057 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75058 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75059 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75060 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75061 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75062 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75063 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75064 01 15 76 04 04 76 JOB NO.75065 SGBA STANDBY GENERATOR FOR BETHEL APTS. -CLARK- 75065 01 15 76 04 04 76 TOTAL HOURS= 3.0 JOB HAS NO. TIME RECORD YET 75066 01 15 76 04 04 76 JOB NO.75067 BNCTE BETHEL NATIVE CORP. TOTAL ENERGY -BNC- 75067 01 15 76 04 04 76 TOTAL HOURS= 10.5 JOB HAS NO. TIME RECORD YET 75068 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75500 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75501 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75502 01 15 76 04 04 76 JOB NO.75504 BK BOOKKEEPING 75504 01 15 76 04 04 76 TOTAL HOURS= 50.0 JOB HAS NO. TIME RECORD YET 75505 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75506 01 15 76 04 04 76 JOB NO.75507 DDET DIGITIZER DESIGN ENCODER TYPE 75507 01 15 76 04 04 76 TOTAL HOURS=140.6 JOB HAS NO. TIME RECORD YET 75508 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75509 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75512 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 75513 01 15 76 04 04 76 JOB NO.75514 WP WORD PROCESSOR 75514 01 15 76 04 04 76 TOTAL HOURS= 21.3 JOB NO.76000 OVH GENERAL OVERHEAD 1976 76000 01 15 76 04 04 76 TOTAL HOURS=651.5 JOB HAS NO. TIME RECORD YET 76001 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 76002 01 15 76 04 04 76 JOB NO.76003 NSTP NANA SEWAGE TREATMENT PLANT -SID CLARK- 76003 01 15 76 04 04 76 TOTAL HOURS= 20.0 JOB HAS NO. TIME RECORD YET 76004 01 15 76 04 04 76 JOB HAS NO. TIME RECORD YET 76005 01 15 76 04 04 76 JOB NO.76006 OBE FALCONER BLDG. ELECTRICAL HEAT ADDITION -JAN HANSEN- 76006 01 15 76 04 04 76 TOTAL HOURS= 2.7 JOB NO.76007 DLLVA DE LONG LAKE VILLA -JOE KELLY- 76007 01 15 76 04 04 76 TOTAL HOURS= 1.0 JOB NO.76008 MIM MUSH INN MOTEL -LANE KNORR PLUNKETT- 76008 01 15 76 04 04 76 TOTAL HOURS= 87.5 JOB NO.76009 PS PROCTOR'S SUPERMARKET -ORVILLE PROCTOR- 76009 01 15 76 04 04 76 TOTAL HOURS= 40.0 JOB NO.76010 VLS VALUE LIQUOR STORE -LANE KNORR PLUNKETT 76010 01 15 76 04 04 76 TOTAL HOURS= 28.5 JOB NO.76011 PPAS PALMER PHASE II - ANCH SAND -AS & G 76011 01 15 76 04 04 76 TOTAL HOURS= 86.0 JOB NO.76012 PAPER PAY & PAK ELECTRICAL REVISION -LAMPLIGHTERS 76012 01 15 76 04 04 76 TOTAL HOURS= 20.0 JOB NO.76014 WS WAINWRIGHT SCHOOL -TOM LUNSFORD 76014 01 15 76 04 04 76 TOTAL HOURS=106.5 JOB NO.76015 LOLA LIGHTING OF LUNSFORD'S ACTIVITIES -TOM LUNSFORD 76015 01 15 76 04 04 76 TOTAL HOURS= 5.0 JOB NO.76016 TSC TIMOTHY SUBDIVISION CONDIMINIUMS -TOM LUNSFORD 76016 01 15 76 04 04 76 TOTAL HOURS= 5.5 JOB NO.76017 GFBC GREATER FRIENDSHIP BAPTIST CHURCH -SHEPHARD & ASSOC 76017 01 15 76 04 04 76 TOTAL HOURS= 1.0 JOB NO.76018 APG ANCHORAGE PARKING GARAGE -LANE KNORR & PLUNKETT 76018 01 15 76 04 04 76 TOTAL HOURS= 12.0 JOB NO.76019 AWT ANIAK WIEN TERMINAL -SHEPHARD & ASSOC 76019 01 15 76 04 04 76 TOTAL HOURS= 20.0 JOB NO.76020 AVCPH AVCP HOUSING -LANE KNORR & PLUNKETT 76020 01 15 76 04 04 76 TOTAL HOURS= 6.0 JOB NO.76021 DCW WAREHOUSE FOR DELCO CORP. -BILL JUILANO- 76021 01 15 76 04 04 76 TOTAL HOURS= 1.0 JOB NO.76022 BRC BUDGET RENT A CAR -LAMPLIGHTERS- 76022 01 15 76 04 04 76 TOTAL HOURS= 6.5 JOB NO.76023 BIP BI CENTENNIAL PARK -ALLEY GROUP- 76023 01 15 76 04 04 76 TOTAL HOURS= 1.0 JOB NO.76024 HEA HEAGY APATMENTS 75 UNITS -TOM HAEG- 76024 01 15 76 04 04 76 TOTAL HOURS= 15.5 JOB NO.76025 GOBM GITTINS OFFICE BLDG. MECHANICAL -TOM GITTINS- 76025 01 15 76 04 04 76 TOTAL HOURS= 14.5 JOB NO.76500 GC76 GENERAL COMPUTER 76500 01 15 76 04 04 76 TOTAL HOURS=161.5 JOB NO.76501 NO JOB NO. IN MASTER FILE JOBS 76501 01 15 76 04 04 76 TOTAL HOURS= 21.5 JOB NO.76514 NO JOB NO. IN MASTER FILE JOBS 76514 01 15 76 04 04 76 TOTAL HOURS= 7.5 JOB NO.76601 CR76 COMPUTER REPAIR 76601 01 15 76 04 04 76 TOTAL HOURS= 17.0 [\]^_`abcdefghµ¶·¸¹º»¼½¾¿ÀÁALL 01 01 75 04 04 76 JOB NO.74001 NO JOB NO. IN MASTER FILE JOBS 74001 01 01 75 04 04 76 TOTAL HOURS= 1.4 JOB NO.74004 NIS NELSON ISLAND SCHOOL -LUNSFORD- 74004 01 01 75 04 04 76 TOTAL HOURS= 79.5 JOB NO.74011 ATU ANCHORAGE TELEPHONE UTILITY -MAYNARD- 74011 01 01 75 04 04 76 TOTAL HOURS= 14.2 JOB NO.74027 ERSF EAGLE RIVER FIRE SUPPRESSION -LUNSFORD- 74027 01 01 75 04 04 76 TOTAL HOURS= 3.5 JOB NO.74028 NO JOB NO. IN MASTER FILE JOBS 74028 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.74037 NLFSF NANCY LAKE FIRE SUPPRESION -LUNSFORD- 74037 01 01 75 04 04 76 TOTAL HOURS= 46.5 JOB NO.74042 SHUGS SHUGNAK SCHOOL -LUNSFORD- 74042 01 01 75 04 04 76 TOTAL HOURS= 8.5 JOB NO.74045 BUSG G.A.A.B. BUS GARAGE -LUNSFORD- 74045 01 01 75 04 04 76 TOTAL HOURS= 10.5 JOB NO.75000 OVH GENERAL OFFICE OVERHEAD 75000 01 01 75 04 04 76 TOTAL HOURS=136.0 JOB NO.75004 SCPBC SCHULUMBURGER PRUDHOE BAY CAMP 75004 01 01 75 04 04 76 TOTAL HOURS= 56.0 JOB NO.75005 WADT WIEN AIR DILLINGHAM TERMINAL 75005 01 01 75 04 04 76 TOTAL HOURS= 37.5 JOB NO.75007 ANPS ANATUVIK PASS SCHOOL 75007 01 01 75 04 04 76 TOTAL HOURS=202.8 JOB NO.75008 BNH BETHEL NATIVE HOUSING - 31 UNIT- 75008 01 01 75 04 04 76 TOTAL HOURS= 12.1 JOB NO.75011 BPSWC BP SEWAGE/WATER LEVEL CONTROLS, PRUDHOE BAY 75011 01 01 75 04 04 76 TOTAL HOURS= 2.5 JOB NO.75013 ASAGK ANCHORAGE SAND AND GRAVEL, KLATT ROAD 75013 01 01 75 04 04 76 TOTAL HOURS= 85.0 JOB NO.75015 COB CURRY OFFICE BLDG. 75015 01 01 75 04 04 76 TOTAL HOURS= 0.8 JOB NO.75022 BARS BARROW SCHOOL RAASCH 75022 01 01 75 04 04 76 TOTAL HOURS= 29.5 JOB NO.75023 WINSD WINSHIP SHED 75023 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.75025 ANTS ANATUVIK TEMP. SCHOOL RAASCH 75025 01 01 75 04 04 76 TOTAL HOURS= 2.5 JOB NO.75027 AOB ALASKA OPTICIANS BLDG. -CLARK- 75027 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.75028 HANGW HANGARS 4,5 7,8 FT. WAINWRIGHT -CORPS- 75028 01 01 75 04 04 76 TOTAL HOURS= 62.5 JOB NO.75030 AAFES AFFES EXCHANGE ELMENDORF -LUNSFORD- 75030 01 01 75 04 04 76 TOTAL HOURS=217.1 JOB NO.75031 WPLF WIEN PARKING LOT FAIRBANKS -SHEPHERD- 75031 01 01 75 04 04 76 TOTAL HOURS= 48.0 JOB NO.75032 GRAPB GRATRIX 47 UNIT APARTMENT BLDG.-GRATRIX- 75032 01 01 75 04 04 76 TOTAL HOURS= 14.0 JOB NO.75033 FPBA FIRE PUMP FOR BETHEL APARTMENTS -CLARK- 75033 01 01 75 04 04 76 TOTAL HOURS= 15.4 JOB NO.75034 WBWOV WEAVER BROS. WAREHOUSE/OFFICE VALDEZ -MAYNARD- 75034 01 01 75 04 04 76 TOTAL HOURS= 78.5 JOB NO.75035 RAOB OFFICE BUILDING ON 2ND AVE ANCH -RAASCH- 75035 01 01 75 04 04 76 TOTAL HOURS= 59.0 JOB NO.75036 ASAGP PALMER ANC. SAND & GRAVEL -AS&G- 75036 01 01 75 04 04 76 TOTAL HOURS= 63.5 JOB NO.75037 SEAHD SEA AIRMOTIVE DEADHORSE WOODW -SEA AIRMOTIVE/MCKENZIE- 75037 01 01 75 04 04 76 TOTAL HOURS=102.5 JOB NO.75038 WOODW WOODARD WAREHOUSE TPAP -MCKENZIE- 75038 01 01 75 04 04 76 TOTAL HOURS= 4.0 JOB NO.75039 SAMSH SEA AIRMOTIVE MACHINE SHOP ANCHORAGE -MCKENZIE- 75039 01 01 75 04 04 76 TOTAL HOURS= 73.5 JOB NO.75040 TPAP TEMPORARY POWER ANATUVIK PASS -RAASCH- 75040 01 01 75 04 04 76 TOTAL HOURS= 32.0 JOB NO.75041 NECAA NECA ADDITION CALA -LUNSFORD- 75041 01 01 75 04 04 76 TOTAL HOURS=108.3 JOB NO.75042 BJOA BROWN JUG OFFICE ADDITION -RAASCH- 75042 01 01 75 04 04 76 TOTAL HOURS=151.1 JOB NO.75043 HEOS OFFICE/STORE FOR H&E CONSTRUCTION -EASTBURG- 75043 01 01 75 04 04 76 TOTAL HOURS= 27.0 JOB NO.75044 CALA CALISTA CORP 2ND STORY ADDITION -CLARK- 75044 01 01 75 04 04 76 TOTAL HOURS= 40.2 JOB NO.75045 OBJC OFFICE BLDG. FOR JIM CURLY -JIM CURLY- 75045 01 01 75 04 04 76 TOTAL HOURS= 35.5 JOB NO.75046 BAT BETHEL AIR TERMINAL -WIEN AIRLINES- 75046 01 01 75 04 04 76 TOTAL HOURS= 77.8 JOB NO.75047 ARSUA AUTO REPAIR SHOP U OF A -U OF A- 75047 01 01 75 04 04 76 TOTAL HOURS= 50.4 JOB NO.75048 WGA WAYNE GILMORE APARTMENTS -WAYNE GILMORE- 75048 01 01 75 04 04 76 TOTAL HOURS= 61.7 JOB NO.75049 TSTSC TEAMSTER'S SPORTS COMPLEX -LUNSFORD- 75049 01 01 75 04 04 76 TOTAL HOURS=936.7 JOB NO.75050 CHFA ADDITION TO CITY HONOR FARM -WESTBROOK- 75050 01 01 75 04 04 76 TOTAL HOURS=182.1 JOB NO.75051 GOB GITTINS OFFICE BLDG -CLARK- 75051 01 01 75 04 04 76 TOTAL HOURS=115.8 JOB NO.75052 NQTS NUIQUISET SCHOOL -KPF&F- 75052 01 01 75 04 04 76 TOTAL HOURS= 96.3 JOB NO.75053 NTKA NATAK AVIATION -FOWLER- 75053 01 01 75 04 04 76 TOTAL HOURS= 13.2 JOB NO.75054 ACIDF ACI DINING FACILITIES- -BROWN & ROOT- 75054 01 01 75 04 04 76 TOTAL HOURS= 25.2 JOB NO.75055 MCDAP MCDANIELS APARTMENTS -DON MCDANIELS- 75055 01 01 75 04 04 76 TOTAL HOURS= 45.6 JOB NO.75056 SCF SEED CLEANING FACILITY -STATE OF ALASKA- 75056 01 01 75 04 04 76 TOTAL HOURS= 53.0 JOB NO.75057 MAHOS MIKE AHO SHOP -MIKE AHO- 75057 01 01 75 04 04 76 TOTAL HOURS= 11.5 JOB NO.75058 WRR WIEN REFERIGERATION RELOCATION -WIEN- 75058 01 01 75 04 04 76 TOTAL HOURS= 31.4 JOB NO.75059 BPSC BP SEWAGE CONTROLS -SID CLARK- 75059 01 01 75 04 04 76 TOTAL HOURS= 5.5 JOB NO.75060 NHL NORTHERN HYDRAULICS -LAMPLIGHTERS- 75060 01 01 75 04 04 76 TOTAL HOURS= 9.2 JOB NO.75061 ALKSA ADDITION TO ALAKANUK SCHOOL -RAASCH- 1 04.0 74045 11 26 75 01 02.0 75000 07 21 75 01 03.0 75000 07 24 75 03 01.5 75000 07 24 75 05 00.5 75000 07 29 75 04 02.0 75000 07 30 75 01 02.0 75000 08 01 75 01 03.0 75000 08 05 75 01 03.0 75000 08 07 75 05 02.0 75000 08 11 75 05 01.5 75000 08 13 75 05 00.5 75000 08 15 75 01 04.0 75000 08 18 75 01 05.0 75000 09 03 75 05 00.5 75000 09 04 75 05 01.0 75000 09 13 75 05 01.0 75000 09 17 75 04 06.0 75000 10 03 75 05 01.0 75000 10 07 75 05 01.8 75000 10 09 75 05 07.0 75000 10 13 75 01 01.0 75000 10 14 75 01 02.0 75000 10 25 75 01 02.0 75000 10 30 75 01 01.0 75000 11 03 75 04 02.0 75000 11 04 75 01 02.0 75000 11 06 75 01 01.0 75000 11 10 75 01 01.0 75000 11 12 75 07 03.0 75000 11 13 75 05 01.9 75000 11 14 75 01 04.0 75000 11 15 75 01 03.0 75000 11 17 75 05 01.0 75000 11 18 75 05 04.0 75000 11 18 75 07 02.0 75000 11 20 75 05 01.0 75000 11 21 75 05 01.0 75000 11 24 75 01 02.0 75000 11 24 75 05 01.5 75000 11 25 75 01 02.0 75000 11 26 75 01 03.0 75000 12 01 75 05 01.0 75000 12 01 75 07 02.0 75000 12 02 75 05 02.0 75000 12 03 75 05 01.5 75000 12 05 75 05 01.0 75000 12 08 75 05 01.0 75000 12 09 75 05 01.0 75000 12 10 75 05 01.5 75000 12 12 75 01 01.0 75000 12 12 75 05 01.0 75000 12 14 75 01 12.0 75000 12 15 75 05 01.5 75000 12 16 75 05 01.3 75000 12 16 75 07 08.0 75000 12 17 75 07 03.0 75000 12 18 75 07 01.0 75000 12 22 75 07 01.0 75000 12 24 75 05 04.0 75000 12 24 75 07 01.0 75000 12 29 75 07 01.0 75000 12 30 75 07 01.0 75000 12 31 75 07 00.5 75004 02 16 76 09 00.5 75004 08 09 75 01 03.0 75004 08 09 75 03 01.0 75004 08 12 75 04 01.0 75004 08 12 75 05 04.0 75004 08 13 75 05 03.5 75004 08 15 75 01 02.0 75004 08 16 75 03 03.5 75004 08 16 75 04 08.5 75004 08 16 75 05 08.0 75004 08 18 75 01 02.0 75004 08 29 75 04 01.5 75004 10 15 75 01 11.5 75004 10 16 75 01 06.0 75005 01 15 76 07 07.0 75005 01 16 76 07 01.0 75005 07 30 75 01 01.0 75005 07 30 75 04 06.0 75005 07 30 75 05 06.0 75005 07 31 75 04 06.0 75005 07 31 75 05 00.5 75005 08 01 75 01 01.0 75005 08 01 75 04 03.0 75005 08 01 75 05 00.5 75005 09 30 75 04 04.5 75005 12 22 75 07 01.0 75007 01 13 76 08 03.0 75007 09 16 75 04 03.5 75007 09 17 75 04 03.5 75007 09 18 75 04 07.5 75007 09 19 75 04 07.5 75007 09 20 75 01 03.5 75007 09 20 75 03 03.5 75007 09 20 75 04 08.5 75007 09 22 75 04 05.5 75007 09 23 75 04 05.5 75007 09 24 75 04 04.0 75007 09 25 75 04 03.5 75007 09 26 75 04 03.5 75007 09 27 75 03 01.5 75007 09 27 75 04 04.0 75007 09 29 75 04 05.5 75007 10 01 75 04 03.0 75007 10 02 75 04 01.0 75007 10 03 75 04 04.0 75007 10 04 75 03 03.5 75007 10 04 75 04 08.0 75007 10 07 75 01 04.0 75007 10 08 75 04 01.5 75007 10 08 75 05 05.7 75007 10 10 75 04 00.5 75007 10 11 75 04 05.0 75007 10 13 75 01 01.0 75007 10 13 75 04 06.0 75007 10 13 75 05 01.5 75007 10 14 75 01 04.0 75007 10 14 75 04 04.0 75007 10 15 75 04 08.5 75007 10 16 75 04 08.0 75007 10 16 75 05 06.2 75007 10 17 75 01 01.0 75007 10 17 75 04 08.0 75007 10 17 75 05 02.0 75007 10 20 75 01 05.0 75007 10 21 75 04 01.0 75007 10 22 75 04 06.0 75007 10 23 75 04 03.5 75007 10 23 75 05 01.8 75007 10 24 75 04 02.5 75007 10 24 75 05 01.3 75007 10 27 75 01 04.0 75007 10 28 75 04 01.0 75007 10 28 75 05 05.5 75007 10 30 75 04 01.5 75007 10 31 75 05 00.8 75007 11 06 75 01 02.0 75007 11 07 75 07 04.0 75007 11 10 75 07 03.0 75008 07 31 75 01 03.0 75008 07 31 75 01 06.5 75008 11 22 75 07 00.3 75008 11 23 75 07 02.3 75011 08 07 75 01 02.5 75013 01 05 76 01 01.0 75013 01 19 76 01 02.0 75013 01 20 76 01 02.0 75013 01 22 76 01 05.0 75013 01 26 76 01 02.0 75013 03 24 76 01 02.0 75013 03 31 76 01 01.0 75013 04 02 76 01 01.0 75013 08 08 75 01 02.0 75013 08 28 75 04 07.0 75013 09 08 75 05 02.5 75013 09 09 75 04 02.5 75013 09 13 75 04 02.0 75013 09 24 75 01 02.0 75013 09 24 75 01 02.0 75013 09 24 75 04 04.0 75013 09 25 75 04 02.0 75013 09 26 75 04 03.0 75013 10 20 75 04 02.0 75013 10 21 75 01 02.0 75013 10 21 75 04 02.0 75013 10 22 75 04 01.5 75013 10 24 75 01 03.0 75013 10 27 75 04 04.0 75013 10 27 75 06 02.0 75013 10 28 75 04 07.5 75013 10 29 75 04 08.0 75013 11 04 75 04 03.0 75013 11 17 75 07 01.5 75013 11 26 75 01 03.0 75013 12 02 75 01 00.5 75015 10 08 75 04 00.8 75022 01 12 76 08 05.5 75022 01 13 76 08 03.0 75022 01 15 76 08 01.5 75022 07 24 75 01 01.0 75022 11 17 75 07 01.0 75022 11 18 75 07 03.0 75022 11 19 75 07 01.5 75022 11 20 75 07 03.5 75022 11 21 75 07 04.0 75022 11 26 75 05 00.5 75022 11 28 75 07 04.0 75022 12 18 75 07 01.0 75023 11 17 75 07 01.0 75025 08 14 75 04 02.5 75027 01 19 76 05 00.5 75027 01 19 76 05 00.5 75028 08 04 75 01 03.0 75028 08 06 75 01 03.0 75028 08 07 75 01 01.0 75028 08 08 75 03 04.5 75028 08 08 75 03 02.5 75028 08 09 75 03 04.0 75028 08 15 75 03 07.5 75028 09 09 75 05 01.0 75028 09 26 75 01 04.0 75028 10 02 75 05 01.0 75028 10 03 75 05 04.0 75028 10 04 75 05 03.0 75028 10 23 75 04 01.0 75028 10 23 75 06 08.0 75028 10 24 75 06 04.0 75028 10 29 75 01 07.0 75028 10 30 75 01 04.0 75030 01 07 76 01 04.0 75030 01 11 76 03 04.5 75030 01 12 76 01 02.0 75030 01 12 76 03 02.5 75030 01 13 76 01 04.0 75030 01 14 76 01 08.0 75030 01 14 76 03 02.0 75030 01 15 76 01 04.0 75030 01 15 76 08 01.5 75030 01 17 76 05 01.2 75030 01 17 76 05 01.2 75030 01 17 76 05 01.2 75030 07 19 75 03 04.0 75030 07 23 75 05 01.5 75030 07 24 75 01 02.0 75030 08 13 75 01 04.0 75030 08 29 75 01 02.0 75030 08 29 75 04 04.0 75030 08 30 75 03 03.5 75030 09 02 75 04 08.0 75030 09 02 75 05 07.0 75030 09 03 75 04 10.0 75030 09 03 75 05 08.0 75030 09 04 75 04 04.5 75030 09 04 75 05 07.0 75030 09 05 75 04 07.5 75030 09 05 75 05 01.0 75030 09 06 75 04 11.0 75030 09 06 75 05 09.5 75030 09 30 75 05 00.5 75030 10 01 75 04 00.5 75030 10 06 75 04 06.0 75030 10 07 75 04 05.0 75030 10 20 75 04 04.5 75030 10 21 75 04 04.0 75030 10 30 75 04 03.0 75030 10 31 75 04 02.0 75030 11 01 75 04 04.5 75030 11 03 75 04 05.0 75030 11 04 75 04 04.5 75030 11 05 75 04 08.0 75030 11 06 75 04 08.0 75030 11 06 75 06 01.0 75030 11 07 75 04 08.0 75030 11 10 75 01 05.0 75030 11 10 75 06 05.0 75030 11 10 75 07 05.0 75030 11 19 75 05 02.0 75030 11 20 75 05 04.0 75030 11 24 75 01 01.0 75031 07 23 75 04 01.5 75031 07 24 75 04 03.5 75031 07 25 75 04 07.5 75031 07 27 75 01 02.0 75031 07 28 75 04 03.0 75031 07 30 75 01 01.0 75031 08 01 75 03 07.0 75031 08 01 75 04 03.0 75031 08 04 75 01 01.0 75031 08 11 75 05 01.0 75031 08 20 75 05 05.0 75031 08 21 75 05 09.0 75031 08 22 75 05 03.0 75031 08 27 75 05 00.5 75032 07 19 75 03 06.0 75032 07 19 75 04 06.0 75032 07 21 75 04 02.0 75033 03 23 76 07 02.0 75033 03 24 76 07 05.0 75033 03 29 76 07 01.0 75033 11 22 75 07 00.7 75033 11 23 75 07 06.7 75034 07 21 75 01 03.0 75034 07 21 75 04 02.0 75034 07 22 75 01 04.0 75034 07 22 75 04 08.0 75034 07 23 75 04 06.0 75034 07 24 75 01 01.0 75034 07 24 75 04 05.0 75034 07 25 75 01 01.0 75034 07 25 75 04 01.0 75034 07 26 75 04 05.5 75034 07 27 75 01 03.0 75034 07 28 75 04 05.0 75034 07 29 75 04 04.5 75034 07 29 75 05 01.0 75034 07 30 75 04 03.0 75034 08 02 75 01 04.0 75034 08 02 75 03 03.5 75034 08 03 75 04 08.5 75034 08 05 75 04 03.0 75034 08 06 75 04 05.0 75034 08 07 75 01 00.5 75034 08 08 75 04 01.0 75035 07 20 75 03 01.5 75035 07 24 75 03 01.5 75035 08 04 75 01 03.0 75035 08 07 75 01 01.0 75035 08 07 75 05 02.5 75035 08 08 75 01 02.0 75035 08 08 75 05 08.0 75035 08 09 75 01 01.0 75035 08 09 75 05 06.0 75035 08 11 75 05 02.0 75035 08 12 75 01 03.0 75035 08 12 75 04 00.5 75035 08 12 75 05 00.5 75035 08 13 75 01 01.0 75035 08 13 75 04 07.0 75035 08 14 75 04 03.5 75035 08 15 75 03 01.0 75035 08 15 75 04 07.0 75035 08 16 75 04 02.5 75035 08 20 75 04 01.5 75035 10 17 75 01 02.0 75035 12 09 75 01 01.0 75036 08 26 75 01 04.0 75036 08 28 75 05 05.5 75036 08 29 75 05 05.5 75036 08 30 75 04 07.0 75036 08 30 75 05 04.0 75036 09 02 75 05 02.0 75036 09 04 75 01 04.0 75036 09 05 75 04 01.0 75036 09 05 75 05 04.5 75036 09 08 75 04 08.5 75036 09 08 75 05 05.5 75036 09 10 75 04 01.0 75036 09 11 75 04 03.0 75036 09 13 75 04 02.0 75036 09 25 75 04 00.5 75036 09 25 75 04 02.5 75036 09 26 75 04 02.0 75036 10 16 75 04 01.0 75037 07 21 75 01 02.0 75037 07 23 75 01 04.0 75037 07 24 75 03 01.5 75037 07 28 75 01 01.0 75037 08 04 75 01 01.0 75037 08 04 75 04 04.0 75037 08 04 75 05 07.5 75037 08 05 75 01 02.0 75037 08 05 75 04 02.5 75037 08 05 75 05 04.5 75037 08 06 75 04 03.5 75037 08 07 75 01 01.0 75037 08 07 75 04 07.0 75037 08 07 75 05 04.0 75037 08 08 75 01 03.0 75037 08 08 75 04 07.5 75037 08 09 75 01 04.0 75037 08 09 75 03 01.0 75037 08 09 75 04 07.0 75037 08 11 75 01 03.0 75037 08 11 75 04 09.0 75037 08 11 75 05 02.5 75037 08 12 75 04 07.0 75037 08 15 75 01 02.0 75037 08 20 75 04 02.5 75037 O8 06 75 05 08.5 75038 07 21 75 04 04.0 75039 01 06 76 05 00.5 75039 09 16 75 05 01.5 75039 09 19 75 05 02.0 75039 09 20 75 01 03.5 75039 09 20 75 03 03.5 75039 09 22 75 04 01.5 75039 09 22 75 05 08.5 75039 09 23 75 01 02.0 75039 09 23 75 04 03.5 75039 09 23 75 05 09.0 75039 09 24 75 04 01.0 75039 09 24 75 05 05.0 75039 09 25 75 05 04.0 75039 09 27 75 04 04.5 75039 09 29 75 04 02.0 75039 09 29 75 05 03.0 75039 09 30 75 04 02.0 75039 09 30 75 05 03.3 75039 10 01 75 04 01.5 75039 10 01 75 05 06.0 75039 10 02 75 05 02.4 75039 10 06 75 05 00.5 75039 10 07 75 05 00.5 75039 10 17 75 05 00.4 75039 10 22 75 05 00.9 75039 10 23 75 01 01.0 75040 07 22 75 01 04.0 75040 07 23 75 01 04.0 75040 07 24 75 01 02.0 75040 07 25 75 01 04.0 75040 08 11 75 01 03.0 75040 08 12 75 01 03.0 75040 09 08 75 01 04.0 75040 10 10 75 01 01.0 75040 11 03 75 01 04.0 75040 11 05 75 01 02.0 75040 11 06 75 01 01.0 75041 07 24 75 03 03.5 75041 07 29 75 04 02.0 75041 08 04 75 04 04.0 75041 08 05 75 01 01.0 75041 08 05 75 04 03.0 75041 08 06 75 01 02.0 75041 08 07 75 04 01.0 75041 08 14 75 01 08.0 75041 08 16 75 03 06.0 75041 08 16 75 04 02.0 75041 08 19 75 01 06.0 75041 08 20 75 01 08.0 75041 08 20 75 04 05.0 75041 08 21 75 01 08.0 75041 08 21 75 04 11.0 75041 08 22 75 01 06.0 75041 08 22 75 03 02.8 75041 08 22 75 04 04.5 75041 08 25 75 01 01.0 75041 08 26 75 01 01.0 75041 08 27 75 01 04.0 75041 08 27 75 04 02.5 75041 08 29 75 01 02.0 75041 10 08 75 01 03.0 75041 10 10 75 01 01.0 75041 10 17 75 01 01.0 75041 11 18 75 05 01.0 75041 11 18 75 07 03.0 75041 11 19 75 07 02.0 75041 11 21 75 07 02.0 75041 11 29 75 03 01.0 75042 01 21 76 05 01.3 75042 01 21 76 05 01.3 75042 01 22 76 05 02.0 75042 01 22 76 05 02.0 75042 01 26 76 05 02.8 75042 01 27 76 05 01.0 75042 03 16 76 03 03.0 75042 03 29 76 05 03.0 75042 03 30 76 03 03.0 75042 03 30 76 05 06.0 75042 04 01 76 05 06.5 75042 04 02 76 05 08.0 75042 07 27 75 01 01.0 75042 08 01 75 01 02.0 75042 08 01 75 03 01.5 75042 08 02 75 01 04.0 75042 08 02 75 03 04.5 75042 08 11 75 01 02.0 75042 08 12 75 01 03.0 75042 08 12 75 04 00.5 75042 08 13 75 01 01.0 75042 08 13 75 04 01.0 75042 08 13 75 05 04.0 75042 08 14 75 04 02.0 75042 08 14 75 05 09.0 75042 08 15 75 04 01.0 75042 08 15 75 05 08.5 75042 08 18 75 01 01.0 75042 08 20 75 05 04.0 75042 10 22 75 04 00.5 75042 10 22 75 05 03.1 75042 10 23 75 05 01.6 75042 10 27 75 01 02.0 75042 11 04 75 05 05.5 75042 11 04 75 06 01.0 75042 11 04 75 07 02.0 75042 11 05 75 01 02.0 75042 11 05 75 05 05.5 75042 11 05 75 07 02.0 75042 11 06 75 01 04.0 75042 11 06 75 05 07.0 75042 11 07 75 05 07.0 75042 11 07 75 07 01.0 75042 11 10 75 05 08.0 75042 11 11 75 05 03.0 75042 11 11 75 06 03.0 75042 11 13 75 05 01.0 75042 11 17 75 05 01.0 75042 11 19 75 05 01.0 75043 07 30 75 01 02.0 75043 07 30 75 05 02.0 75043 07 31 75 04 02.0 75043 07 31 75 05 07.5 75043 08 01 75 01 01.0 75043 08 01 75 04 02.5 75043 08 01 75 05 06.5 75043 09 05 75 05 02.5 75043 09 16 75 05 01.0 75044 08 05 75 01 01.0 75044 08 08 75 01 01.0 75044 08 08 75 03 02.0 75044 08 09 75 03 02.0 75044 08 22 75 01 02.0 75044 08 22 75 04 03.0 75044 08 23 75 04 07.2 75044 08 25 75 01 01.0 75044 08 25 75 04 02.0 75044 08 25 75 05 01.5 75044 08 26 75 01 02.0 75044 08 26 75 04 06.0 75044 08 26 75 05 01.5 75044 08 27 75 01 04.0 75044 08 27 75 04 02.5 75044 08 27 75 05 00.5 75044 09 16 75 05 01.0 75045 01 09 76 08 02.5 75045 01 22 76 08 04.0 75045 01 22 76 08 04.0 75045 08 18 75 03 03.5 75045 08 19 75 03 01.0 75045 08 22 75 03 01.0 75045 09 09 75 04 06.5 75045 09 10 75 04 07.5 75045 09 11 75 04 03.0 75045 09 15 75 04 01.0 75045 09 16 75 05 01.0 75045 09 25 75 05 00.5 75046 08 19 75 03 03.0 75046 08 22 75 03 03.5 75046 08 22 75 03 01.5 75046 08 22 75 04 01.0 75046 08 22 75 05 06.0 75046 08 23 75 04 01.3 75046 08 23 75 05 08.5 75046 08 25 75 01 02.0 75046 08 25 75 04 05.5 75046 08 25 75 05 06.0 75046 08 26 75 01 01.0 75046 08 26 75 04 02.5 75046 08 26 75 05 04.5 75046 08 27 75 01 04.0 75046 08 27 75 04 03.5 75046 08 27 75 05 05.5 75046 08 28 75 01 04.0 75046 08 28 75 04 02.0 75046 08 28 75 05 03.0 75046 08 29 75 04 03.0 75046 08 29 75 05 00.5 75046 09 17 75 05 03.5 75046 09 18 75 05 02.5 75047 03 31 76 01 02.0 75047 09 05 75 01 01.0 75047 09 13 75 04 04.0 75047 09 13 75 05 07.5 75047 09 15 75 04 08.5 75047 09 16 75 04 05.0 75047 09 18 75 04 01.0 75047 09 19 75 04 01.0 75047 09 20 75 01 02.0 75047 09 20 75 03 02.0 75047 09 20 75 04 00.5 75047 09 24 75 01 02.0 75047 10 02 75 04 02.0 75047 10 02 75 05 02.0 75047 10 03 75 04 03.0 75047 10 06 75 04 01.0 75047 10 10 75 05 00.4 75047 10 27 75 01 01.0 75047 11 14 75 01 01.0 75047 11 14 75 05 02.5 75047 11 17 75 07 01.0 75048 08 29 75 01 02.0 75048 08 30 75 03 04.0 75048 09 09 75 05 08.0 75048 09 10 75 04 01.0 75048 09 10 75 05 09.5 75048 09 11 75 04 04.0 75048 09 11 75 05 08.0 75048 09 12 75 04 09.0 75048 09 12 75 05 07.0 75048 09 15 75 05 01.0 75048 09 16 75 05 01.0 75048 10 01 75 05 01.0 75048 10 10 75 05 00.7 75048 10 27 75 05 03.0 75048 11 11 75 05 00.5 75048 11 12 75 05 01.0 75048 12 12 75 05 01.0 75049 01 05 76 07 06.0 75049 01 06 76 07 08.0 75049 01 06 76 08 02.0 75049 01 07 76 07 08.0 75049 01 07 76 08 02.0 75049 01 08 76 07 05.0 75049 01 08 76 08 01.5 75049 01 09 76 01 08.8 75049 01 09 76 03 09.5 75049 01 09 76 07 09.0 75049 01 10 76 01 08.0 75049 01 10 76 03 03.5 75049 01 10 76 07 04.0 75049 01 12 76 03 02.5 75049 01 12 76 07 09.0 75049 01 13 76 07 10.0 75049 01 14 76 05 02.0 75049 01 14 76 07 08.5 75049 01 15 76 07 02.5 75049 01 16 76 01 09.0 75049 01 16 76 01 09.0 75049 01 16 76 03 09.0 75049 01 16 76 05 03.5 75049 01 16 76 07 07.0 75049 01 17 76 01 08.0 75049 01 17 76 01 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 18 76 01 06.0 75049 01 19 76 05 05.5 75049 01 19 76 05 05.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 20 76 01 02.0 75049 01 20 76 03 03.5 75049 01 20 76 03 03.5 75049 01 20 76 05 03.5 75049 01 20 76 05 03.5 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 21 76 01 01.0 75049 01 21 76 05 06.0 75049 01 21 76 05 06.0 75049 01 21 76 07 08.0 75049 01 21 76 07 08.0 75049 01 22 76 01 03.0 75049 01 22 76 03 03.0 75049 01 22 76 03 03.0 75049 01 22 76 07 07.0 75049 01 22 76 07 07.0 75049 01 23 76 03 08.5 75049 01 23 76 03 08.5 75049 01 23 76 07 08.0 75049 01 23 76 07 08.0 75049 01 24 76 03 04.5 75049 01 24 76 03 04.5 75049 01 26 76 01 06.0 75049 01 26 76 07 08.0 75049 01 27 76 01 04.0 75049 01 27 76 07 08.0 75049 01 28 76 07 08.0 75049 01 29 76 07 02.0 75049 01 29 76 07 08.0 75049 01 30 76 03 06.5 75049 01 30 76 07 01.5 75049 01 30 76 07 08.0 75049 01 31 76 03 12.0 75049 01 31 76 07 08.0 75049 02 01 76 07 03.0 75049 02 02 76 05 06.0 75049 02 02 76 07 01.0 75049 02 02 76 07 08.0 75049 02 03 76 05 04.0 75049 02 03 76 07 06.0 75049 02 03 76 07 02.0 75049 02 04 76 05 04.0 75049 02 04 76 07 01.5 75049 02 04 76 07 04.0 75049 02 06 76 08 01.5 75049 02 10 76 07 05.0 75049 02 10 76 07 03.0 75049 02 11 76 07 08.0 75049 02 12 76 07 05.0 75049 02 13 76 07 01.0 75049 02 13 76 07 08.0 75049 02 16 76 07 08.0 75049 02 17 76 07 01.0 75049 02 17 76 07 06.0 75049 02 17 76 07 02.0 75049 02 18 76 05 02.0 75049 02 18 76 07 00.5 75049 02 18 76 07 05.0 75049 02 18 76 07 02.5 75049 02 19 76 07 02.0 75049 02 20 76 07 03.5 75049 02 24 76 07 01.5 75049 02 25 76 07 07.0 75049 03 01 76 01 04.0 75049 03 01 76 07 05.0 75049 03 02 76 07 05.0 75049 03 03 76 07 05.0 75049 03 04 76 07 01.0 75049 03 04 76 07 03.0 75049 03 09 76 07 05.0 75049 03 29 76 07 04.0 75049 04 02 76 03 06.0 75049 04 02 76 07 01.0 75049 04 03 76 03 08.5 75049 04 04 76 03 00.5 75049 09 22 75 04 01.5 75049 09 25 75 01 02.0 75049 09 27 75 03 07.0 75049 09 30 75 01 08.0 75049 10 01 75 04 03.0 75049 10 02 75 04 06.0 75049 10 03 75 01 08.0 75049 10 03 75 04 02.0 75049 10 04 75 03 04.5 75049 10 04 75 04 01.0 75049 10 06 75 04 01.0 75049 10 07 75 01 04.0 75049 10 08 75 01 01.0 75049 10 08 75 04 06.5 75049 10 08 75 05 00.3 75049 10 09 75 01 08.0 75049 10 09 75 04 08.0 75049 10 10 75 01 06.0 75049 10 10 75 04 08.0 75049 10 10 75 05 02.0 75049 10 11 75 04 03.0 75049 10 13 75 01 04.5 75049 10 13 75 04 02.0 75049 10 16 75 05 00.5 75049 10 17 75 05 02.5 75049 10 20 75 04 01.5 75049 10 21 75 01 06.0 75049 10 21 75 04 01.0 75049 10 21 75 05 00.4 75049 10 22 75 01 06.0 75049 10 28 75 01 08.0 75049 10 29 75 04 01.0 75049 10 29 75 05 03.0 75049 10 29 75 06 01.0 75049 10 30 75 01 03.0 75049 10 30 75 04 04.0 75049 10 30 75 05 03.8 75049 10 30 75 06 08.0 75049 10 31 75 04 04.0 75049 10 31 75 05 02.0 75049 10 31 75 06 04.0 75049 11 03 75 06 02.0 75049 11 11 75 01 02.0 75049 11 11 75 05 01.2 75049 11 14 75 05 00.3 75049 11 17 75 07 02.5 75049 11 21 75 05 00.5 75049 11 28 75 03 09.0 75049 11 29 75 03 01.0 75049 12 01 75 07 02.0 75049 12 02 75 01 02.0 75049 12 05 75 03 08.0 75049 12 05 75 07 02.0 75049 12 08 75 01 05.0 75049 12 09 75 01 03.0 75049 12 10 75 01 08.0 75049 12 11 75 07 03.0 75049 12 12 75 01 04.0 75049 12 16 75 01 10.0 75049 12 17 75 01 10.0 75049 12 17 75 07 06.0 75049 12 18 75 01 04.0 75049 12 18 75 07 06.0 75049 12 19 75 07 09.0 75049 12 22 75 01 08.0 75049 12 22 75 07 07.0 75049 12 23 75 01 04.0 75049 12 23 75 07 05.5 75049 12 24 75 07 03.0 75049 12 29 75 01 08.0 75049 12 29 75 07 06.0 75049 12 30 75 07 07.5 75049 12 31 75 07 03.5 75050 01 09 76 05 01.0 75050 02 04 76 07 02.5 75050 10 06 75 01 04.0 75050 10 06 75 05 06.2 75050 10 06 75 05 01.0 75050 10 07 75 05 00.5 75050 10 11 75 05 00.7 75050 10 13 75 05 01.5 75050 10 17 75 05 01.6 75050 10 20 75 05 02.0 75050 10 21 75 05 00.4 75050 10 22 75 05 01.5 75050 10 28 75 05 01.0 75050 10 28 75 06 01.0 75050 10 29 75 05 05.0 75050 10 29 75 06 03.0 75050 10 30 75 05 04.5 75050 10 31 75 01 04.0 75050 10 31 75 05 00.7 75050 11 03 75 05 01.0 75050 11 04 75 05 03.0 75050 11 04 75 07 04.0 75050 11 05 75 05 03.0 75050 11 05 75 07 06.0 75050 11 06 75 05 01.5 75050 11 06 75 07 01.0 75050 11 14 75 01 01.0 75050 11 14 75 05 01.5 75050 11 15 75 01 03.0 75050 11 17 75 05 01.5 75050 11 18 75 05 02.0 75050 11 19 75 05 05.5 75050 11 19 75 07 02.0 75050 11 20 75 05 04.0 75050 11 20 75 07 01.0 75050 11 21 75 05 07.0 75050 11 21 75 07 02.0 75050 11 24 75 01 02.0 75050 11 24 75 05 06.0 75050 11 25 75 01 03.0 75050 11 25 75 05 08.5 75050 11 26 75 05 07.7 75050 11 28 75 05 09.0 75050 12 01 75 05 05.5 75050 12 01 75 07 01.0 75050 12 02 75 05 02.5 75050 12 02 75 07 02.0 75050 12 03 75 01 03.0 75050 12 03 75 05 02.0 75050 12 04 75 01 02.0 75050 12 04 75 05 01.5 75050 12 05 75 05 03.5 75050 12 05 75 07 01.0 75050 12 10 75 05 02.0 75050 12 11 75 05 07.5 75050 12 12 75 05 02.0 75050 12 15 75 05 01.5 75050 12 17 75 05 08.5 75050 12 18 75 05 08.3 75051 01 23 76 05 04.5 75051 01 23 76 05 04.5 75051 01 24 76 03 02.5 75051 01 24 76 03 02.5 75051 01 26 76 05 04.0 75051 01 28 76 05 00.6 75051 02 04 76 05 02.0 75051 02 23 76 05 01.5 75051 02 26 76 05 03.0 75051 02 27 76 05 05.5 75051 03 01 76 05 01.0 75051 03 02 76 05 05.5 75051 03 03 76 05 01.5 75051 03 10 76 01 01.0 75051 03 18 76 05 02.0 75051 03 24 76 05 05.5 75051 03 25 76 05 01.0 75051 03 26 76 05 02.5 75051 03 29 76 05 03.5 75051 10 06 75 01 04.0 75051 10 07 75 05 04.8 75051 10 11 75 05 02.0 75051 10 11 75 05 04.0 75051 10 13 75 05 02.0 75051 10 27 75 05 00.3 75051 10 28 75 05 01.5 75051 10 28 75 06 05.0 75051 10 29 75 06 04.0 75051 12 01 75 05 02.0 75051 12 02 75 05 02.8 75051 12 03 75 05 04.5 75051 12 08 75 01 02.0 75051 12 08 75 05 06.3 75051 12 09 75 01 02.0 75051 12 09 75 05 03.0 75051 12 10 75 05 04.5 75051 12 11 75 05 02.0 75051 12 12 75 05 03.0 75051 12 15 75 05 02.0 75052 01 30 76 01 01.0 75052 02 12 76 07 03.0 75052 02 20 76 07 02.0 75052 02 23 76 07 01.5 75052 02 23 76 09 00.3 75052 03 01 76 07 01.0 75052 03 02 76 07 00.5 75052 03 03 76 07 01.0 75052 03 04 76 07 01.0 75052 03 05 76 07 03.0 75052 03 06 76 03 01.5 75052 03 07 76 07 04.0 75052 03 08 76 07 03.0 75052 03 10 76 07 01.0 75052 03 22 76 07 05.5 75052 03 22 76 07 01.5 75052 03 23 76 07 07.0 75052 03 23 76 08 01.5 75052 03 24 76 07 04.5 75052 03 25 76 05 04.5 75052 03 25 76 07 09.0 75052 03 26 76 05 02.5 75052 03 26 76 07 09.0 75052 03 28 76 07 02.0 75052 03 28 76 07 01.0 75052 03 29 76 07 03.0 75052 03 31 76 07 01.0 75052 09 24 75 01 02.0 75052 09 29 75 01 04.0 75052 09 29 75 05 00.5 75052 10 02 75 01 08.0 75052 10 14 75 01 03.0 75052 12 09 75 01 03.0 75053 09 25 75 05 04.0 75053 09 26 75 01 01.0 75053 09 26 75 05 04.0 75053 09 29 75 05 03.0 75053 09 30 75 05 01.2 75054 09 26 75 01 01.0 75054 09 26 75 05 04.5 75054 09 29 75 04 01.5 75054 09 29 75 05 03.0 75054 09 30 75 04 02.5 75054 09 30 75 05 05.0 75054 10 01 75 05 00.5 75054 10 11 75 05 00.3 75054 11 11 75 05 02.0 75054 11 12 75 01 02.0 75054 11 12 75 05 02.0 75054 11 13 75 05 00.6 75054 11 26 75 05 00.3 75055 10 10 75 03 04.5 75055 10 10 75 03 03.0 75055 10 11 75 03 04.0 75055 10 11 75 03 03.5 75055 10 13 75 05 03.0 75055 10 14 75 04 01.5 75055 10 14 75 05 05.5 75055 10 15 75 05 05.0 75055 10 20 75 05 04.0 75055 10 21 75 05 00.4 75055 10 21 75 05 05.0 75055 10 22 75 01 02.0 75055 10 22 75 05 03.1 75055 10 23 75 05 01.1 75056 01 06 76 05 01.0 75056 01 07 76 05 04.0 75056 01 08 76 05 03.0 75056 01 12 76 05 02.5 75056 01 14 76 05 01.0 75056 10 23 75 04 05.0 75056 10 23 75 05 05.0 75056 10 31 75 05 01.0 75056 11 11 75 05 02.5 75056 11 11 75 07 01.0 75056 11 12 75 05 05.0 75056 11 13 75 05 04.0 75056 11 13 75 07 01.0 75056 11 14 75 05 05.0 75056 11 14 75 07 01.5 75056 11 17 75 05 04.5 75056 11 17 75 07 01.0 75056 11 24 75 07 01.0 75056 12 18 75 01 04.0 75057 01 06 76 05 03.5 75057 01 06 76 08 00.5 75057 01 08 76 05 00.5 75057 10 10 75 05 05.0 75057 10 13 75 05 00.5 75057 11 18 75 05 01.0 75057 12 05 75 05 00.5 75058 10 14 75 04 02.0 75058 10 14 75 05 02.0 75058 10 15 75 04 00.5 75058 10 15 75 05 03.0 75058 10 24 75 04 01.0 75058 10 24 75 05 05.7 75058 10 25 75 04 01.5 75058 10 25 75 05 05.3 75058 10 27 75 01 01.0 75058 10 27 75 05 04.4 75058 10 27 75 06 02.0 75058 10 28 75 05 01.0 75058 10 28 75 06 02.0 75059 10 14 75 01 03.5 75059 10 16 75 01 02.0 75060 10 16 75 05 01.8 75060 10 17 75 01 01.0 75060 10 17 75 05 01.5 75060 10 20 75 01 02.0 75060 10 20 75 05 02.5 75060 10 21 75 05 00.4 75061 10 23 75 01 04.0 75061 10 24 75 01 05.0 75061 10 24 75 04 05.0 75061 10 24 75 05 02.2 75061 10 24 75 06 04.5 75061 10 25 75 04 07.5 75061 10 27 75 04 04.0 75061 10 27 75 05 01.3 75061 10 27 75 06 02.0 75061 10 77 75 01 01.0 75062 10 28 75 01 01.0 75062 10 29 75 01 01.0 75063 01 05 76 01 01.0 75063 01 05 76 07 01.5 75063 11 12 75 01 02.0 75063 11 12 75 07 02.0 75063 11 13 75 01 03.0 75063 11 13 75 07 05.0 75063 11 14 75 01 02.0 75063 11 14 75 07 01.5 75063 11 19 75 07 02.5 75063 11 20 75 07 04.5 75063 11 24 75 01 03.0 75063 11 24 75 07 02.5 75063 11 26 75 07 03.0 75063 11 28 75 07 04.0 75063 11 29 75 03 02.0 75063 11 29 75 03 04.0 75063 12 01 75 07 03.0 75063 12 02 75 01 02.0 75063 12 02 75 07 06.0 75063 12 03 75 07 06.0 75063 12 04 75 01 01.0 75063 12 04 75 07 04.5 75063 12 05 75 07 05.0 75063 12 08 75 01 01.0 75063 12 08 75 07 09.0 75063 12 09 75 07 08.0 75063 12 10 75 07 08.0 75063 12 11 75 01 03.0 75063 12 11 75 07 06.0 75063 12 12 75 01 01.0 75063 12 12 75 07 08.0 75063 12 29 75 07 01.5 75064 10 31 75 01 04.0 75064 10 31 75 04 02.0 75064 10 31 75 05 01.5 75064 10 31 75 06 04.0 75064 11 03 75 01 04.0 75064 11 03 75 06 01.0 75064 11 03 75 07 08.5 75064 11 04 75 01 04.0 75064 11 04 75 06 02.0 75064 11 04 75 07 02.0 75065 03 08 76 01 03.0 75065 11 10 75 07 01.0 75065 11 11 75 07 03.0 75065 11 12 75 07 03.0 75065 11 13 75 07 02.0 75065 11 14 75 07 05.0 75065 11 24 75 07 05.5 75065 11 25 75 07 08.0 75065 11 26 75 07 05.0 75065 12 02 75 01 06.0 75065 12 03 75 07 02.0 75065 12 04 75 01 08.0 75065 12 04 75 07 03.5 75065 12 05 75 01 12.0 75065 12 06 75 01 04.0 75066 11 11 75 01 04.5 75066 11 13 75 01 01.0 75067 01 02 76 08 03.0 75067 01 05 76 08 03.0 75067 01 12 76 08 01.0 75067 01 19 76 08 04.0 75067 01 19 76 08 04.0 75067 01 27 76 01 02.0 75067 03 24 76 07 00.5 75068 12 14 75 01 14.0 75068 12 15 75 07 08.0 75500 07 22 75 05 08.0 75500 07 23 75 05 06.5 75500 07 24 75 05 07.5 75500 07 25 75 05 08.0 75500 07 28 75 05 08.5 75500 07 29 75 05 07.0 75500 07 30 75 01 02.0 75500 08 01 75 05 01.0 75500 08 04 75 05 01.0 75500 08 05 75 01 01.0 75500 08 05 75 05 04.0 75500 08 06 75 01 03.0 75500 08 11 75 05 02.0 75500 08 12 75 05 05.0 75500 08 16 75 05 01.5 75500 08 22 75 01 04.0 75500 08 28 75 01 04.0 75500 08 29 75 05 03.0 75500 08 30 75 01 08.0 75500 09 01 75 01 08.0 75500 09 02 75 01 08.0 75500 09 03 75 01 08.0 75500 09 04 75 01 04.0 75500 09 05 75 01 07.0 75500 09 05 75 05 00.5 75500 09 08 75 01 04.0 75500 09 09 75 01 08.0 75500 09 10 75 01 08.0 75500 09 11 75 01 08.0 75500 09 11 75 05 02.0 75500 09 12 75 01 08.0 75500 09 12 75 05 02.5 75500 09 15 75 01 09.0 75500 09 15 75 05 08.5 75500 09 16 75 01 09.0 75500 09 16 75 05 03.5 75500 09 17 75 01 09.0 75500 09 17 75 05 06.0 75500 09 18 75 01 09.0 75500 09 18 75 05 06.5 75500 09 19 75 05 06.5 75500 09 24 75 05 03.5 75500 09 25 75 01 06.0 75500 09 26 75 01 02.0 75500 09 29 75 01 04.0 75500 10 01 75 01 08.0 75500 10 01 75 05 01.0 75500 10 02 75 05 01.5 75500 10 02 75 05 01.1 75500 10 03 75 05 06.0 75500 10 06 75 05 00.3 75500 10 07 75 05 00.7 75500 10 08 75 01 04.0 75500 10 08 75 05 02.5 75500 10 10 75 05 00.4 75500 10 20 75 01 02.0 75500 11 03 75 05 07.0 75500 11 05 75 01 02.0 75500 11 19 75 01 08.0 75500 12 08 75 05 01.5 75500 12 09 75 05 04.0 75500 12 11 75 01 03.0 75500 12 12 75 05 01.0 75501 07 27 75 01 02.0 75501 07 28 75 01 06.0 75501 11 10 75 01 02.0 75501 12 11 75 01 02.0 75501 12 12 75 01 02.0 75502 09 22 75 01 08.0 75502 09 23 75 01 06.0 75504 01 03 76 01 08.0 75504 01 20 76 01 04.0 75504 03 09 76 09 02.0 75504 03 09 76 09 06.0 75504 03 10 76 09 02.0 75504 03 11 76 09 04.0 75504 03 24 76 09 03.5 75504 03 25 76 09 02.0 75504 03 26 76 09 03.0 75504 03 29 76 09 01.0 75504 03 30 76 01 04.0 75504 03 30 76 09 01.5 75504 03 31 76 09 06.0 75504 04 01 76 09 04.0 75504 04 02 76 09 07.0 75504 10 13 75 01 01.5 75504 11 05 75 01 02.0 75504 11 07 75 01 02.0 75504 11 07 75 01 06.0 75504 11 15 75 01 01.0 75504 12 13 75 05 01.5 75505 10 18 75 01 04.0 75505 10 23 75 01 03.0 75505 10 28 75 01 03.0 75506 11 01 75 01 06.0 75506 11 03 75 06 05.0 75506 11 04 75 06 05.0 75506 11 05 75 06 08.0 75506 11 06 75 06 07.0 75506 11 07 75 06 08.0 75506 11 10 75 06 04.0 75506 11 11 75 06 05.0 75506 11 21 75 01 08.0 75506 11 22 75 01 04.0 75507 01 06 76 05 01.0 75507 01 07 76 05 04.0 75507 01 08 76 05 03.5 75507 01 09 76 05 06.0 75507 01 22 76 05 05.0 75507 01 22 76 05 05.0 75507 01 23 76 05 01.5 75507 01 23 76 05 01.5 75507 01 27 76 01 04.0 75507 01 27 76 05 05.0 75507 01 28 76 05 01.6 75507 01 30 76 05 02.0 75507 01 31 76 01 03.0 75507 02 03 76 05 04.0 75507 02 16 76 01 08.0 75507 02 17 76 01 08.0 75507 02 18 76 01 08.0 75507 02 19 76 01 08.0 75507 02 20 76 01 08.0 75507 02 23 76 01 08.0 75507 02 24 76 01 08.0 75507 02 25 76 01 08.0 75507 02 26 76 01 08.0 75507 02 27 76 01 08.0 75507 03 01 76 01 08.0 75507 03 02 76 01 03.0 75507 03 03 76 01 03.0 75507 03 04 76 01 03.0 75507 03 05 76 01 06.0 75507 03 10 76 01 05.0 75507 11 17 75 01 08.0 75507 11 18 75 01 08.0 75507 11 20 75 01 08.0 75507 11 23 75 01 08.0 75507 11 25 75 01 03.0 75507 12 04 75 05 06.5 75507 12 05 75 05 03.0 75507 12 08 75 05 01.5 75507 12 15 75 05 03.5 75507 12 16 75 05 07.0 75507 12 17 75 05 03.5 75508 10 30 75 05 00.7 75508 12 15 75 01 04.0 75509 01 12 76 01 03.0 75509 01 13 76 01 04.0 75512 01 06 76 01 04.0 75512 01 08 76 01 02.0 75512 01 09 76 01 02.0 75513 12 03 75 01 03.0 75514 01 03 75 01 06.0 75514 01 09 76 05 02.0 75514 01 11 76 01 04.0 75514 01 13 76 05 03.5 75514 01 14 76 05 04.5 75514 01 15 76 05 07.0 75514 01 16 76 05 01.3 75514 01 29 76 05 05.0 75514 01 30 76 05 05.0 75514 04 01 76 05 03.0 76000 01 05 76 01 06.0 76000 01 05 76 07 01.5 76000 01 05 76 08 02.0 76000 01 06 76 07 01.0 76000 01 06 76 08 05.5 76000 01 07 76 07 01.0 76000 01 07 76 08 02.0 76000 01 08 76 01 06.0 76000 01 08 76 05 01.0 76000 01 08 76 07 00.5 76000 01 09 76 08 02.5 76000 01 12 76 01 05.0 76000 01 12 76 05 00.5 76000 01 12 76 08 01.0 76000 01 12 76 08 01.0 76000 01 13 76 05 01.0 76000 01 13 76 08 02.0 76000 01 14 76 05 00.5 76000 01 14 76 07 00.5 76000 01 14 76 08 08.0 76000 01 15 76 08 05.0 76000 01 19 76 05 01.5 76000 01 19 76 05 01.5 76000 01 19 76 08 04.0 76000 01 19 76 08 04.0 76000 01 20 76 05 03.5 76000 01 20 76 05 03.5 76000 01 20 76 08 08.0 76000 01 20 76 08 08.0 76000 01 21 76 05 02.0 76000 01 21 76 05 02.0 76000 01 21 76 08 06.0 76000 01 21 76 08 06.0 76000 01 22 76 05 01.0 76000 01 22 76 05 01.0 76000 01 22 76 07 01.0 76000 01 22 76 07 01.0 76000 01 22 76 08 04.0 76000 01 22 76 08 04.0 76000 01 23 76 05 00.5 76000 01 23 76 05 00.5 76000 01 23 76 08 01.0 76000 01 23 76 08 01.0 76000 01 26 76 05 01.5 76000 01 26 76 08 00.8 76000 01 27 76 01 03.0 76000 01 27 76 05 01.0 76000 01 27 76 05 01.5 76000 01 27 76 08 08.0 76000 01 28 76 01 08.0 76000 01 28 76 05 02.0 76000 01 28 76 08 08.0 76000 01 29 76 01 04.0 76000 01 29 76 01 02.0 76000 01 29 76 05 02.0 76000 01 29 76 05 01.0 76000 01 29 76 08 02.0 76000 01 30 76 05 01.0 76000 02 02 76 01 03.0 76000 02 02 76 08 02.0 76000 02 03 76 08 02.0 76000 02 05 76 01 08.0 76000 02 05 76 05 08.0 76000 02 05 76 07 08.0 76000 02 06 76 01 08.0 76000 02 06 76 05 08.0 76000 02 06 76 07 08.0 76000 02 07 76 01 08.0 76000 02 07 76 05 08.0 76000 02 09 76 07 08.0 76000 02 10 76 08 02.0 76000 02 11 76 08 05.0 76000 02 12 76 05 02.0 76000 02 12 76 08 04.0 76000 02 12 76 08 01.0 76000 02 12 76 09 08.0 76000 02 13 76 05 02.5 76000 02 13 76 09 08.0 76000 02 16 76 08 08.0 76000 02 16 76 09 07.5 76000 02 17 76 05 01.0 76000 02 17 76 08 04.0 76000 02 17 76 09 08.0 76000 02 18 76 05 01.0 76000 02 18 76 08 02.0 76000 02 18 76 09 08.0 76000 02 19 76 05 02.0 76000 02 19 76 07 02.0 76000 02 19 76 08 04.0 76000 02 19 76 08 04.0 76000 02 19 76 09 08.0 76000 02 20 76 05 02.0 76000 02 20 76 07 02.5 76000 02 20 76 08 08.0 76000 02 20 76 09 08.0 76000 02 23 76 05 04.0 76000 02 23 76 07 01.5 76000 02 23 76 08 08.0 76000 02 23 76 09 07.7 76000 02 24 76 08 03.5 76000 02 24 76 09 08.0 76000 02 25 76 05 01.5 76000 02 25 76 08 05.0 76000 02 25 76 09 08.0 76000 02 26 76 05 00.5 76000 02 26 76 07 08.0 76000 02 26 76 08 08.0 76000 02 26 76 09 08.0 76000 02 27 76 05 01.0 76000 02 27 76 07 08.0 76000 02 27 76 08 08.0 76000 02 27 76 09 08.0 76000 03 01 76 05 00.5 76000 03 01 76 08 05.0 76000 03 01 76 09 08.0 76000 03 02 76 05 01.5 76000 03 02 76 07 02.5 76000 03 02 76 08 06.0 76000 03 02 76 09 08.0 76000 03 03 76 05 01.5 76000 03 03 76 08 02.0 76000 03 03 76 09 08.0 76000 03 05 76 05 02.0 76000 03 05 76 08 02.0 76000 03 05 76 09 08.0 76000 03 08 76 08 04.0 76000 03 08 76 09 08.0 76000 03 09 76 07 02.0 76000 03 09 76 08 01.0 76000 03 10 76 01 02.0 76000 03 10 76 08 01.0 76000 03 10 76 08 04.0 76000 03 10 76 09 04.0 76000 03 11 76 01 08.0 76000 03 11 76 05 02.0 76000 03 11 76 08 02.0 76000 03 11 76 09 04.0 76000 03 12 76 05 01.0 76000 03 12 76 07 02.0 76000 03 12 76 08 02.0 76000 03 16 76 07 08.0 76000 03 17 76 05 02.0 76000 03 17 76 07 08.0 76000 03 17 76 08 02.0 76000 03 18 76 05 02.0 76000 03 18 76 07 08.0 76000 03 18 76 08 02.0 76000 03 19 76 05 02.0 76000 03 19 76 07 08.0 76000 03 19 76 08 03.0 76000 03 19 76 08 05.0 76000 03 22 76 05 01.0 76000 03 22 76 07 02.0 76000 03 22 76 08 08.0 76000 03 23 76 01 03.0 76000 03 23 76 05 01.0 76000 03 23 76 08 06.5 76000 03 23 76 09 08.0 76000 03 24 76 05 00.5 76000 03 24 76 08 05.0 76000 03 24 76 09 04.5 76000 03 25 76 05 01.0 76000 03 25 76 09 06.0 76000 03 26 76 08 02.5 76000 03 26 76 09 05.0 76000 03 29 76 01 01.0 76000 03 29 76 05 02.0 76000 03 29 76 08 06.5 76000 03 29 76 09 07.0 76000 03 30 76 01 01.5 76000 03 30 76 05 01.0 76000 03 30 76 08 04.0 76000 03 30 76 09 06.5 76000 03 31 76 07 02.0 76000 03 31 76 08 02.0 76000 03 31 76 09 02.0 76000 04 01 76 05 01.0 76000 04 01 76 09 04.0 76000 04 02 76 09 01.0 76001 01 05 76 08 03.0 76002 01 07 76 08 02.0 76003 01 07 76 01 04.0 76003 01 07 76 08 02.0 76003 01 08 76 08 06.5 76003 01 30 76 01 05.0 76003 01 30 76 01 02.0 76003 01 30 76 01 02.0 76003 01 30 76 08 01.0 76003 02 02 76 01 02.0 76003 02 03 76 01 06.0 76003 02 04 76 01 02.0 76004 01 08 76 07 02.0 76004 01 10 76 07 04.0 76005 01 09 76 08 01.5 76005 01 10 76 03 05.5 76005 01 11 76 03 01.0 76005 01 12 76 05 05.5 76005 01 13 76 05 04.0 76006 01 16 76 05 02.7 76007 01 29 76 01 01.0 76008 01 29 76 08 06.0 76008 01 30 76 03 05.5 76008 01 30 76 08 06.0 76008 02 02 76 08 01.0 76008 02 02 76 08 06.0 76008 02 03 76 08 01.5 76008 02 03 76 08 06.0 76008 02 04 76 08 02.0 76008 02 04 76 08 08.0 76008 02 05 76 08 00.5 76008 02 05 76 08 08.0 76008 02 06 76 08 06.5 76008 02 09 76 08 08.0 76008 02 10 76 08 04.0 76008 02 11 76 08 01.0 76008 02 17 76 08 02.0 76008 02 18 76 08 06.0 76008 03 04 76 08 02.0 76008 03 05 76 08 06.0 76008 03 09 76 08 00.5 76008 03 10 76 08 01.0 76009 02 02 76 01 02.0 76009 02 16 76 05 01.5 76009 02 24 76 05 15.5 76009 02 25 76 05 01.5 76009 02 26 76 05 07.0 76009 02 27 76 05 01.5 76009 02 28 76 05 04.0 76009 03 01 76 05 05.5 76009 03 02 76 05 01.5 76010 02 10 76 08 02.0 76010 02 11 76 08 02.0 76010 02 12 76 08 07.0 76010 02 13 76 08 04.0 76010 02 17 76 08 02.0 76010 02 24 76 08 04.5 76010 02 25 76 08 03.0 76010 03 01 76 08 01.0 76010 03 18 76 08 03.0 76011 02 09 76 05 01.5 76011 02 10 76 05 03.5 76011 02 12 76 05 01.0 76011 02 12 76 05 07.0 76011 02 13 76 05 05.5 76011 02 16 76 05 07.0 76011 02 17 76 05 04.0 76011 02 18 76 05 02.5 76011 02 19 76 05 05.5 76011 02 20 76 05 04.0 76011 02 23 76 05 04.5 76011 02 24 76 05 02.0 76011 03 03 76 05 02.5 76011 03 05 76 05 02.0 76011 03 06 76 05 01.0 76011 03 12 76 05 02.0 76011 03 16 76 05 03.5 76011 03 17 76 05 02.5 76011 03 18 76 05 03.0 76011 03 19 76 05 02.0 76011 03 22 76 05 05.0 76011 03 22 76 05 02.0 76011 03 23 76 05 07.0 76011 03 24 76 05 03.0 76011 03 25 76 05 01.0 76011 03 26 76 05 01.5 76012 02 19 76 07 04.0 76012 03 05 76 07 06.0 76012 03 11 76 07 01.0 76012 03 12 76 07 06.0 76012 03 17 76 05 01.0 76012 03 18 76 05 02.0 76014 03 01 76 08 02.0 76014 03 02 76 01 05.0 76014 03 02 76 08 02.0 76014 03 03 76 01 05.0 76014 03 03 76 08 06.0 76014 03 04 76 08 06.0 76014 03 06 76 03 00.5 76014 03 08 76 07 06.0 76014 03 08 76 08 04.0 76014 03 09 76 07 01.0 76014 03 09 76 07 02.0 76014 03 09 76 07 02.0 76014 03 09 76 08 05.0 76014 03 10 76 07 06.0 76014 03 10 76 08 02.0 76014 03 11 76 07 07.0 76014 03 11 76 08 02.0 76014 03 15 76 08 08.0 76014 03 16 76 08 08.0 76014 03 17 76 05 02.5 76014 03 17 76 08 06.0 76014 03 18 76 08 03.0 76014 03 30 76 01 02.5 76014 03 30 76 08 04.0 76014 03 31 76 08 06.0 76014 04 01 76 01 02.0 76014 04 01 76 08 01.0 76015 03 03 76 07 03.0 76015 03 04 76 07 02.0 76016 03 09 76 07 02.0 76016 03 09 76 08 01.5 76016 03 11 76 08 02.0 76017 04 02 76 01 01.0 76018 03 11 76 08 02.0 76018 03 12 76 08 06.0 76018 03 24 76 08 03.0 76018 03 26 76 08 01.0 76019 03 24 76 01 01.0 76019 03 26 76 01 08.0 76019 03 30 76 01 04.0 76019 03 31 76 01 03.0 76019 03 31 76 05 04.0 76020 03 26 76 08 04.5 76020 03 29 76 08 01.5 76021 03 29 76 01 01.0 76022 03 05 76 03 05.0 76022 03 06 76 03 01.5 76023 04 01 76 01 01.0 76024 04 01 76 07 01.0 76024 04 01 76 08 05.0 76024 04 02 76 01 04.0 76024 04 02 76 08 01.0 76024 04 04 76 03 02.0 76024 04 04 76 03 02.5 76025 04 01 76 08 02.0 76025 04 02 76 01 02.0 76025 04 02 76 08 07.0 76025 04 03 76 03 01.0 76025 04 04 76 03 02.5 76500 01 23 76 05 01.5 76500 01 23 76 05 01.5 76500 01 28 76 05 03.5 76500 01 30 76 01 04.0 76500 01 31 76 05 04.0 76500 02 03 76 01 02.0 76500 02 04 76 01 04.0 76500 02 09 76 05 08.0 76500 02 10 76 01 12.0 76500 02 10 76 05 05.5 76500 02 11 76 01 12.0 76500 02 11 76 05 08.5 76500 02 12 76 01 12.0 76500 02 13 76 01 12.0 76500 02 16 76 05 00.5 76500 02 17 76 05 04.0 76500 02 18 76 05 03.0 76500 02 20 76 05 02.0 76500 02 27 76 05 01.0 76500 03 01 76 05 02.0 76500 03 03 76 05 04.0 76500 03 04 76 05 09.0 76500 03 04 76 07 01.0 76500 03 05 76 03 04.0 76500 03 05 76 05 05.0 76500 03 06 76 03 01.5 76500 03 10 76 05 03.0 76500 03 13 76 05 03.0 76500 03 15 76 05 06.0 76500 03 24 76 01 06.0 76500 03 26 76 05 02.0 76500 03 29 76 01 02.0 76500 03 31 76 01 02.0 76500 04 03 76 01 10.0 76501 02 01 76 05 01.0 76501 02 02 76 05 03.0 76501 02 04 76 05 07.5 76501 03 11 76 05 05.0 76501 03 12 76 05 05.0 76514 01 20 76 05 02.0 76514 01 20 76 05 02.0 76514 03 24 76 05 01.5 76514 03 25 76 05 01.0 76514 03 30 76 05 01.0 76601 01 31 76 01 06.0 76601 02 02 76 01 03.0 76601 03 16 76 05 04.5 76601 03 17 76 05 01.0 76601 03 19 76 05 02.5 75061 01 01 75 04 04 76 TOTAL HOURS= 36.5 JOB NO.75062 NCG NABORS CAMP MISC. GENERATION -TOTEM- 75062 01 01 75 04 04 76 TOTAL HOURS= 2.0 JOB NO.75063 PAUA U OF A PERFORMING ARTS -U OF A- 75063 01 01 75 04 04 76 TOTAL HOURS=116.5 JOB NO.75064 ASB ALASKA STATE BANK -HUETTL- 75064 01 01 75 04 04 76 TOTAL HOURS= 33.0 JOB NO.75065 SGBA STANDBY GENERATOR FOR BETHEL APTS. -CLARK- 75065 01 01 75 04 04 76 TOTAL HOURS= 71.0 JOB NO.75066 GXHL GRATRIX HEAT LOSS -GRATRIX- 75066 01 01 75 04 04 76 TOTAL HOURS= 5.5 JOB NO.75067 BNCTE BETHEL NATIVE CORP. TOTAL ENERGY -BNC- 75067 01 01 75 04 04 76 TOTAL HOURS= 17.5 JOB NO.75068 BIES BARTER ISLAND ELECTRIC SYSTEM -ACI- 75068 01 01 75 04 04 76 TOTAL HOURS= 22.0 JOB NO.75500 GC75 GENERAL COMPUTER 75500 01 01 75 04 04 76 TOTAL HOURS=297.5 JOB NO.75501 CR75 COMPUTER REPAIR 75501 01 01 75 04 04 76 TOTAL HOURS= 14.0 JOB NO.75502 75502 01 01 75 04 04 76 TOTAL HOURS= 14.0 JOB NO.75504 BK BOOKKEEPING 75504 01 01 75 04 04 76 TOTAL HOURS= 72.0 JOB NO.75505 RCAQ RCA QUOTE 75505 01 01 75 04 04 76 TOTAL HOURS= 10.0 JOB NO.75506 DD DIGITIZER DESIGN 75506 01 01 75 04 04 76 TOTAL HOURS= 60.0 JOB NO.75507 DDET DIGITIZER DESIGN ENCODER TYPE 75507 01 01 75 04 04 76 TOTAL HOURS=215.1 JOB NO.75508 CPM CPM 75508 01 01 75 04 04 76 TOTAL HOURS= 4.7 JOB NO.75509 COGO COGO 75509 01 01 75 04 04 76 TOTAL HOURS= 7.0 JOB NO.75512 GRAED GRAPHIC EDITOR 75512 01 01 75 04 04 76 TOTAL HOURS= 8.0 JOB NO.75513 ATMS ATU MINI SYSTEM 75513 01 01 75 04 04 76 TOTAL HOURS= 3.0 JOB NO.75514 WP WORD PROCESSOR 75514 01 01 75 04 04 76 TOTAL HOURS= 41.3 JOB NO.76000 OVH GENERAL OVERHEAD 1976 76000 01 01 75 04 04 76 TOTAL HOURS=700.0 JOB NO.76001 PASS U OF A SPRINKLERS PERFORMING ARTS 76001 01 01 75 04 04 76 TOTAL HOURS= 3.0 JOB NO.76002 PDC PARKER DRILLING CAMP -TOTEM ELECTRIC- 76002 01 01 75 04 04 76 TOTAL HOURS= 2.0 JOB NO.76003 NSTP NANA SEWAGE TREATMENT PLANT -SID CLARK- 76003 01 01 75 04 04 76 TOTAL HOURS= 32.5 JOB NO.76004 LMT LANDMARK TOWERS -JIM CLARK- 76004 01 01 75 04 04 76 TOTAL HOURS= 6.0 JOB NO.76005 MWH MC KENZIE APARTMENTS -JOHN MCKENZIE- 76005 01 01 75 04 04 76 TOTAL HOURS= 17.5 JOB NO.76006 OBE FALCONER BLDG. ELECTRICAL HEAT ADDITION -JAN HANSEN- 76006 01 01 75 04 04 76 TOTAL HOURS= 2.7 JOB NO.76007 DLLVA DE LONG LAKE VILLA -JOE KELLY- 76007 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.76008 MIM MUSH INN MOTEL -LANE KNORR PLUNKETT- 76008 01 01 75 04 04 76 TOTAL HOURS= 87.5 JOB NO.76009 PS PROCTOR'S SUPERMARKET -ORVILLE PROCTOR- 76009 01 01 75 04 04 76 TOTAL HOURS= 40.0 JOB NO.76010 VLS VALUE LIQUOR STORE -LANE KNORR PLUNKETT 76010 01 01 75 04 04 76 TOTAL HOURS= 28.5 JOB NO.76011 PPAS PALMER PHASE II - ANCH SAND -AS & G 76011 01 01 75 04 04 76 TOTAL HOURS= 86.0 JOB NO.76012 PAPER PAY & PAK ELECTRICAL REVISION -LAMPLIGHTERS 76012 01 01 75 04 04 76 TOTAL HOURS= 20.0 JOB NO.76014 WS WAINWRIGHT SCHOOL -TOM LUNSFORD 76014 01 01 75 04 04 76 TOTAL HOURS=106.5 JOB NO.76015 LOLA LIGHTING OF LUNSFORD'S ACTIVITIES -TOM LUNSFORD 76015 01 01 75 04 04 76 TOTAL HOURS= 5.0 JOB NO.76016 TSC TIMOTHY SUBDIVISION CONDIMINIUMS -TOM LUNSFORD 76016 01 01 75 04 04 76 TOTAL HOURS= 5.5 JOB NO.76017 GFBC GREATER FRIENDSHIP BAPTIST CHURCH -SHEPHARD & ASSOC 76017 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.76018 APG ANCHORAGE PARKING GARAGE -LANE KNORR & PLUNKETT 76018 01 01 75 04 04 76 TOTAL HOURS= 12.0 JOB NO.76019 AWT ANIAK WIEN TERMINAL -SHEPHARD & ASSOC 76019 01 01 75 04 04 76 TOTAL HOURS= 20.0 JOB NO.76020 AVCPH AVCP HOUSING -LANE KNORR & PLUNKETT 76020 01 01 75 04 04 76 TOTAL HOURS= 6.0 JOB NO.76021 DCW WAREHOUSE FOR DELCO CORP. -BILL JUILANO- 76021 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.76022 BRC BUDGET RENT A CAR -LAMPLIGHTERS- 76022 01 01 75 04 04 76 TOTAL HOURS= 6.5 JOB NO.76023 BIP BI CENTENNIAL PARK -ALLEY GROUP- 76023 01 01 75 04 04 76 TOTAL HOURS= 1.0 JOB NO.76024 HEA HEAGY APATMENTS 75 UNITS -TOM HAEG- 76024 01 01 75 04 04 76 TOTAL HOURS= 15.5 JOB NO.76025 GOBM GITTINS OFFICE BLDG. MECHANICAL -TOM GITTINS- 76025 01 01 75 04 04 76 TOTAL HOURS= 14.5 JOB NO.76500 GC76 GENERAL COMPUTER 76500 01 01 75 04 04 76 TOTAL HOURS=161.5 JOB NO.76501 NO JOB NO. IN MASTER FILE JOBS 76501 01 01 75 04 04 76 TOTAL HOURS= 21.5 JOB NO.76514 NO JOB NO. IN MASTER FILE JOBS 76514 01 01 75 04 04 76 TOTAL HOURS= 7.5 JOB NO.76601 CR76 COMPUTER REPAIR 76601 01 01 75 04 04 76 TOTAL HOURS= 17.0 MEACC040({ Ô Ê 4 05 75 05 05.5 75042 11 05 75 07 02.0 75042 11 06 75 01 04.0 75042 11 06 75 05 07.0 75042 11 07 75 05 07.0 75042 11 07 75 07 01.0 75042 11 10 75 05 08.0 75042 11 11 75 05 03.0 75042 11 11 75 06 03.0 75042 11 13 75 05 01.0 75042 11 17 75 05 01.0 75042 11 19 75 05 01.0 75043 07 30 75 01 02.0 75043 07 30 75 05 02.0 75043 07 31 75 04 02.0 75043 07 31 75 05 07.5 75043 08 01 75 01 01.0 75043 08 01 75 04 02.5 75043 08 01 75 05 06.5 75043 09 05 75 05 02.5 75043 09 16 75 05 01.0 75044 08 05 75 01 01.0 75044 08 08 75 01 01.0 75044 08 08 75 03 02.0 75044 08 09 75 03 02.0 75044 08 22 75 01 02.0 75044 08 22 75 04 03.0 75044 08 23 75 04 07.2 75044 08 25 75 01 01.0 75044 08 25 75 04 02.0 75044 08 25 75 05 01.5 75044 08 26 75 01 02.0 75044 08 26 75 04 06.0 75044 08 26 75 05 01.5 75044 08 27 75 01 04.0 75044 08 27 75 04 02.5 75044 08 27 75 05 00.5 75044 09 16 75 05 01.0 75045 01 09 76 08 02.5 75045 01 22 76 08 04.0 75045 01 22 76 08 04.0 75045 08 18 75 03 03.5 75045 08 19 75 03 01.0 75045 08 22 75 03 01.0 75045 09 09 75 04 06.5 75045 09 10 75 04 07.5 75045 09 11 75 04 03.0 75045 09 15 75 04 01.0 75045 09 16 75 05 01.0 75045 09 25 75 05 00.5 75046 08 19 75 03 03.0 75046 08 22 75 03 03.5 75046 08 22 75 03 01.5 75046 08 22 75 04 01.0 75046 08 22 75 05 06.0 75046 08 23 75 04 01.3 75046 08 23 75 05 08.5 75046 08 25 75 01 02.0 75046 08 25 75 04 05.5 75046 08 25 75 05 06.0 75046 08 26 75 01 01.0 75046 08 26 75 04 02.5 75046 08 26 75 05 04.5 75046 08 27 75 01 04.0 75046 08 27 75 04 03.5 75046 08 27 75 05 05.5 75046 08 28 75 01 04.0 75046 08 28 75 04 02.0 75046 08 28 75 05 03.0 75046 08 29 75 04 03.0 75046 08 29 75 05 00.5 75046 09 17 75 05 03.5 75046 09 18 75 05 02.5 75047 03 31 76 01 02.0 75047 09 05 75 01 01.0 75047 09 13 75 04 04.0 75047 09 13 75 05 07.5 75047 09 15 75 04 08.5 75047 09 16 75 04 05.0 75047 09 18 75 04 01.0 75047 09 19 75 04 01.0 75047 09 20 75 01 02.0 75047 09 20 75 03 02.0 75047 09 20 75 04 00.5 75047 09 24 75 01 02.0 75047 10 02 75 04 02.0 75047 10 02 75 05 02.0 75047 10 03 75 04 03.0 75047 10 06 75 04 01.0 75047 10 10 75 05 00.4 75047 10 27 75 01 01.0 75047 11 14 75 01 01.0 75047 11 14 75 05 02.5 75047 11 17 75 07 01.0 75048 04 15 76 01 01.0 75048 04 15 76 05 01.0 75048 08 29 75 01 02.0 75048 08 30 75 03 04.0 75048 09 09 75 05 08.0 75048 09 10 75 04 01.0 75048 09 10 75 05 09.5 75048 09 11 75 04 04.0 75048 09 11 75 05 08.0 75048 09 12 75 04 09.0 75048 09 12 75 05 07.0 75048 09 15 75 05 01.0 75048 09 16 75 05 01.0 75048 10 01 75 05 01.0 75048 10 10 75 05 00.7 75048 10 27 75 05 03.0 75048 11 11 75 05 00.5 75048 11 12 75 05 01.0 75048 12 12 75 05 01.0 75049 01 05 76 07 06.0 75049 01 06 76 07 08.0 75049 01 06 76 08 02.0 75049 01 07 76 07 08.0 75049 01 07 76 08 02.0 75049 01 08 76 07 05.0 75049 01 08 76 08 01.5 75049 01 09 76 01 08.8 75049 01 09 76 03 09.5 75049 01 09 76 07 09.0 75049 01 10 76 01 08.0 75049 01 10 76 03 03.5 75049 01 10 76 07 04.0 75049 01 12 76 03 02.5 75049 01 12 76 07 09.0 75049 01 13 76 07 10.0 75049 01 14 76 05 02.0 75049 01 14 76 07 08.5 75049 01 15 76 07 02.5 75049 01 16 76 01 09.0 75049 01 16 76 01 09.0 75049 01 16 76 03 09.0 75049 01 16 76 05 03.5 75049 01 16 76 07 07.0 75049 01 17 76 01 08.0 75049 01 17 76 01 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 18 76 01 06.0 75049 01 19 76 05 05.5 75049 01 19 76 05 05.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 20 76 01 02.0 75049 01 20 76 03 03.5 75049 01 20 76 03 03.5 75049 01 20 76 05 03.5 75049 01 20 76 05 03.5 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 21 76 01 01.0 75049 01 21 76 05 06.0 75049 01 21 76 05 06.0 75049 01 21 76 07 08.0 75049 01 21 76 07 08.0 75049 01 22 76 01 03.0 75049 01 22 76 03 03.0 75049 01 22 76 03 03.0 75049 01 22 76 07 07.0 75049 01 22 76 07 07.0 75049 01 23 76 03 08.5 75049 01 23 76 03 08.5 75049 01 23 76 07 08.0 75049 01 23 76 07 08.0 75049 01 24 76 03 04.5 75049 01 24 76 03 04.5 75049 01 26 76 01 06.0 75049 01 26 76 07 08.0 75049 01 27 76 01 04.0 75049 01 27 76 07 08.0 75049 01 28 76 07 08.0 75049 01 29 76 07 02.0 75049 01 29 76 07 08.0 75049 01 30 76 03 06.5 75049 01 30 76 07 01.5 75049 01 30 76 07 08.0 75049 01 31 76 03 12.0 75049 01 31 76 07 08.0 75049 02 01 76 07 03.0 75049 02 02 76 05 06.0 75049 02 02 76 07 01.0 75049 02 02 76 07 08.0 75049 02 03 76 05 04.0 75049 02 03 76 07 06.0 75049 02 03 76 07 02.0 75049 02 04 76 05 04.0 75049 02 04 76 07 01.5 75049 02 04 76 07 04.0 75049 02 06 76 08 01.5 75049 02 10 76 07 05.0 75049 02 10 76 07 03.0 75049 02 11 76 07 08.0 75049 02 12 76 07 05.0 75049 02 13 76 07 01.0 75049 02 13 76 07 08.0 75049 02 16 76 07 08.0 75049 02 17 76 07 01.0 75049 02 17 76 07 06.0 75049 02 17 76 07 02.0 75049 02 18 76 05 02.0 75049 02 18 76 07 00.5 75049 02 18 76 07 05.0 75049 02 18 76 07 02.5 75049 02 19 76 07 02.0 75049 02 20 76 07 03.5 75049 02 24 76 07 01.5 75049 02 25 76 07 07.0 75049 03 01 76 01 04.0 75049 03 01 76 07 05.0 75049 03 02 76 07 05.0 75049 03 03 76 07 05.0 75049 03 04 76 07 01.0 75049 03 04 76 07 03.0 75049 03 09 76 07 05.0 75049 03 29 76 07 04.0 75049 04 02 76 03 06.0 75049 04 02 76 07 01.0 75049 04 03 76 03 08.5 75049 04 04 76 03 00.5 75049 04 05 76 07 01.0 75049 09 22 75 04 01.5 75049 09 25 75 01 02.0 75049 09 27 75 03 07.0 75049 09 30 75 01 08.0 75049 10 01 75 04 03.0 75049 10 02 75 04 06.0 75049 10 03 75 01 08.0 75049 10 03 75 04 02.0 75049 10 04 75 03 04.5 75049 10 04 75 04 01.0 75049 10 06 75 04 01.0 75049 10 07 75 01 04.0 75049 10 08 75 01 01.0 75049 10 08 75 04 06.5 75049 10 08 75 05 00.3 75049 10 09 75 01 08.0 75049 10 09 75 04 08.0 75049 10 10 75 01 06.0 75049 10 10 75 04 08.0 75049 10 10 75 05 02.0 75049 10 11 75 04 03.0 75049 10 13 75 01 04.5 75049 10 13 75 04 02.0 75049 10 16 75 05 00.5 75049 10 17 75 05 02.5 75049 10 20 75 04 01.5 75049 10 21 75 01 06.0 75049 10 21 75 04 01.0 75049 10 21 75 05 00.4 75049 10 22 75 01 06.0 75049 10 28 75 01 08.0 75049 10 29 75 04 01.0 75049 10 29 75 05 03.0 75049 10 29 75 06 01.0 75049 10 30 75 01 03.0 75049 10 30 75 04 04.0 75049 10 30 75 05 03.8 75049 10 30 75 06 08.0 75049 10 31 75 04 04.0 75049 10 31 75 05 02.0 75049 10 31 75 06 04.0 75049 11 03 75 06 02.0 75049 11 11 75 01 02.0 75049 11 11 75 05 01.2 75049 11 14 75 05 00.3 75049 11 17 75 07 02.5 75049 11 21 75 05 00.5 75049 11 28 75 03 09.0 75049 11 29 75 03 01.0 75049 12 01 75 07 02.0 75049 12 02 75 01 02.0 75049 12 05 75 03 08.0 75049 12 05 75 07 02.0 75049 12 08 75 01 05.0 75049 12 09 75 01 03.0 75049 12 10 75 01 08.0 75049 12 11 75 07 03.0 75049 12 12 75 01 04.0 75049 12 16 75 01 10.0 75049 12 17 75 01 10.0 75049 12 17 75 07 06.0 75049 12 18 75 01 04.0 75049 12 18 75 07 06.0 75049 12 19 75 07 09.0 75049 12 22 75 01 08.0 75049 12 22 75 07 07.0 75049 12 23 75 01 04.0 75049 12 23 75 07 05.5 75049 12 24 75 07 03.0 75049 12 29 75 01 08.0 75049 12 29 75 07 06.0 75049 12 30 75 07 07.5 75049 12 31 75 07 03.5 75050 01 09 76 05 01.0 75050 02 04 76 07 02.5 75050 10 06 75 01 04.0 75050 10 06 75 05 06.2 75050 10 06 75 05 01.0 75050 10 07 75 05 00.5 75050 10 11 75 05 00.7 75050 10 13 75 05 01.5 75050 10 17 75 05 01.6 75050 10 20 75 05 02.0 75050 10 21 75 05 00.4 75050 10 22 75 05 01.5 75050 10 28 75 05 01.0 75050 10 28 75 06 01.0 75050 10 29 75 05 05.0 75050 10 29 75 06 03.0 75050 10 30 75 05 04.5 75050 10 31 75 01 04.0 75050 10 31 75 05 00.7 75050 11 03 75 05 01.0 75050 11 04 75 05 03.0 75050 11 04 75 07 04.0 75050 11 05 75 05 03.0 75050 11 05 75 07 06.0 75050 11 06 75 05 01.5 75050 11 06 75 07 01.0 75050 11 14 75 01 01.0 75050 11 14 75 05 01.5 75050 11 15 75 01 03.0 75050 11 17 75 05 01.5 75050 11 18 75 05 02.0 75050 11 19 75 05 05.5 75050 11 19 75 07 02.0 75050 11 20 75 05 04.0 75050 11 20 75 07 01.0 75050 11 21 75 05 07.0 75050 11 21 75 07 02.0 75050 11 24 75 01 02.0 75050 11 24 75 05 06.0 75050 11 25 75 01 03.0 75050 11 25 75 05 08.5 75050 11 26 75 05 07.7 75050 11 28 75 05 09.0 75050 12 01 75 05 05.5 75050 12 01 75 07 01.0 75050 12 02 75 05 02.5 75050 12 02 75 07 02.0 75050 12 03 75 01 03.0 75050 12 03 75 05 02.0 75050 12 04 75 01 02.0 75050 12 04 75 05 01.5 75050 12 05 75 05 03.5 75050 12 05 75 07 01.0 75050 12 10 75 05 02.0 75050 12 11 75 05 07.5 75050 12 12 75 05 02.0 75050 12 15 75 05 01.5 75050 12 17 75 05 08.5 75050 12 18 75 05 08.3 75051 01 23 76 05 04.5 75051 01 23 76 05 04.5 75051 01 24 76 03 02.5 75051 01 24 76 03 02.5 75051 01 26 76 05 04.0 75051 01 28 76 05 00.6 75051 02 04 76 05 02.0 75051 02 23 76 05 01.5 75051 02 26 76 05 03.0 75051 02 27 76 05 05.5 75051 03 01 76 05 01.0 75051 03 02 76 05 05.5 75051 03 03 76 05 01.5 75051 03 10 76 01 01.0 75051 03 18 76 05 02.0 75051 03 24 76 05 05.5 75051 03 25 76 05 01.0 75051 03 26 76 05 02.5 75051 03 29 76 05 03.5 75051 04 06 76 05 00.5 75051 04 12 76 05 06.0 75051 04 13 76 05 03.0 75051 04 14 76 05 01.0 75051 04 15 76 05 06.5 75051 04 16 76 05 03.5 75051 10 06 75 01 04.0 75051 10 07 75 05 04.8 75051 10 11 75 05 02.0 75051 10 11 75 05 04.0 75051 10 13 75 05 02.0 75051 10 27 75 05 00.3 75051 10 28 75 05 01.5 75051 10 28 75 06 05.0 75051 10 29 75 06 04.0 75051 12 01 75 05 02.0 75051 12 02 75 05 02.8 75051 12 03 75 05 04.5 75051 12 08 75 01 02.0 75051 12 08 75 05 06.3 75051 12 09 75 01 02.0 75051 12 09 75 05 03.0 75051 12 10 75 05 04.5 75051 12 11 75 05 02.0 75051 12 12 75 05 03.0 75051 12 15 75 05 02.0 75052 01 30 76 01 01.0 75052 02 12 76 07 03.0 75052 02 20 76 07 02.0 75052 02 23 76 07 01.5 75052 02 23 76 09 00.3 75052 03 01 76 07 01.0 75052 03 02 76 07 00.5 75052 03 03 76 07 01.0 75052 03 04 76 07 01.0 75052 03 05 76 07 03.0 75052 03 06 76 03 01.5 75052 03 07 76 07 04.0 75052 03 08 76 07 03.0 75052 03 10 76 07 01.0 75052 03 22 76 07 05.5 75052 03 22 76 07 01.5 75052 03 23 76 07 07.0 75052 03 23 76 08 01.5 75052 03 24 76 07 04.5 75052 03 25 76 05 04.5 75052 03 25 76 07 09.0 75052 03 26 76 05 02.5 75052 03 26 76 07 09.0 75052 03 28 76 07 02.0 75052 03 28 76 07 01.0 75052 03 29 76 07 03.0 75052 03 31 76 07 01.0 75052 04 07 76 01 02.0 75052 04 07 76 07 08.0 75052 04 08 76 07 05.0 75052 04 09 76 05 00.5 75052 04 09 76 07 05.0 75052 04 11 76 03 05.0 75052 04 12 76 07 08.5 75052 04 13 76 07 09.0 75052 04 14 76 07 09.0 75052 04 15 76 07 08.0 75052 04 16 76 07 06.5 75052 04 17 76 01 07.0 75052 09 24 75 01 02.0 75052 09 29 75 01 04.0 75052 09 29 75 05 00.5 75052 10 02 75 01 08.0 75052 10 14 75 01 03.0 75052 12 09 75 01 03.0 75053 09 25 75 05 04.0 75053 09 26 75 01 01.0 75053 09 26 75 05 04.0 75053 09 29 75 05 03.0 75053 09 30 75 05 01.2 75054 09 26 75 01 01.0 75054 09 26 75 05 04.5 75054 09 29 75 04 01.5 75054 09 29 75 05 03.0 75054 09 30 75 04 02.5 75054 09 30 75 05 05.0 75054 10 01 75 05 00.5 75054 10 11 75 05 00.3 75054 11 11 75 05 02.0 75054 11 12 75 01 02.0 75054 11 12 75 05 02.0 75054 11 13 75 05 00.6 75054 11 26 75 05 00.3 75055 10 10 75 03 04.5 75055 10 10 75 03 03.0 75055 10 11 75 03 04.0 75055 10 11 75 03 03.5 75055 10 13 75 05 03.0 75055 10 14 75 04 01.5 75055 10 14 75 05 05.5 75055 10 15 75 05 05.0 75055 10 20 75 05 04.0 75055 10 21 75 05 00.4 75055 10 21 75 05 05.0 75055 10 22 75 01 02.0 75055 10 22 75 05 03.1 75055 10 23 75 05 01.1 75056 01 06 76 05 01.0 75056 01 07 76 05 04.0 75056 01 08 76 05 03.0 75056 01 12 76 05 02.5 75056 01 14 76 05 01.0 75056 10 23 75 04 05.0 75056 10 23 75 05 05.0 75056 10 31 75 05 01.0 75056 11 11 75 05 02.5 75056 11 11 75 07 01.0 75056 11 12 75 05 05.0 75056 11 13 75 05 04.0 75056 11 13 75 07 01.0 75056 11 14 75 05 05.0 75056 11 14 75 07 01.5 75056 11 17 75 05 04.5 75056 11 17 75 07 01.0 75056 11 24 75 07 01.0 75056 12 18 75 01 04.0 75057 01 06 76 05 03.5 75057 01 06 76 08 00.5 75057 01 08 76 05 00.5 75057 10 10 75 05 05.0 75057 10 13 75 05 00.5 75057 11 18 75 05 01.0 75057 12 05 75 05 00.5 75058 10 14 75 04 02.0 75058 10 14 75 05 02.0 75058 10 15 75 04 00.5 75058 10 15 75 05 03.0 75058 10 24 75 04 01.0 75058 10 24 75 05 05.7 75058 10 25 75 04 01.5 75058 10 25 75 05 05.3 75058 10 27 75 01 01.0 75058 10 27 75 05 04.4 75058 10 27 75 06 02.0 75058 10 28 75 05 01.0 75058 10 28 75 06 02.0 75059 10 14 75 01 03.5 75059 10 16 75 01 02.0 75060 10 16 75 05 01.8 75060 10 17 75 01 01.0 75060 10 17 75 05 01.5 75060 10 20 75 01 02.0 75060 10 20 75 05 02.5 75060 10 21 75 05 00.4 75061 04 13 76 01 02.0 75061 04 14 76 05 04.5 75061 10 23 75 01 04.0 75061 10 24 75 01 05.0 75061 10 24 75 04 05.0 75061 10 24 75 05 02.2 75061 10 24 75 06 04.5 75061 10 25 75 04 07.5 75061 10 27 75 04 04.0 75061 10 27 75 05 01.3 75061 10 27 75 06 02.0 75061 10 77 75 01 01.0 75062 10 28 75 01 01.0 75062 10 29 75 01 01.0 75063 01 05 76 01 01.0 75063 01 05 76 07 01.5 75063 11 12 75 01 02.0 75063 11 12 75 07 02.0 75063 11 13 75 01 03.0 75063 11 13 75 07 05.0 75063 11 14 75 01 02.0 75063 11 14 75 07 01.5 75063 11 19 75 07 02.5 75063 11 20 75 07 04.5 75063 11 24 75 01 03.0 75063 11 24 75 07 02.5 75063 11 26 75 07 03.0 75063 11 28 75 07 04.0 75063 11 29 75 03 02.0 75063 11 29 75 03 04.0 75063 12 01 75 07 03.0 75063 12 02 75 01 02.0 75063 12 02 75 07 06.0 75063 12 03 75 07 06.0 75063 12 04 75 01 01.0 75063 12 04 75 07 04.5 75063 12 05 75 07 05.0 75063 12 08 75 01 01.0 75063 12 08 75 07 09.0 75063 12 09 75 07 08.0 75063 12 10 75 07 08.0 75063 12 11 75 01 03.0 75063 12 11 75 07 06.0 75063 12 12 75 01 01.0 75063 12 12 75 07 08.0 75063 12 29 75 07 01.5 75064 04 07 76 07 01.0 75064 10 31 75 01 04.0 75064 10 31 75 04 02.0 75064 10 31 75 05 01.5 75064 10 31 75 06 04.0 75064 11 03 75 01 04.0 75064 11 03 75 06 01.0 75064 11 03 75 07 08.5 75064 11 04 75 01 04.0 75064 11 04 75 06 02.0 75064 11 04 75 07 02.0 75065 03 08 76 01 03.0 75065 11 10 75 07 01.0 75065 11 11 75 07 03.0 75065 11 12 75 07 03.0 75065 11 13 75 07 02.0 75065 11 14 75 07 05.0 75065 11 24 75 07 05.5 75065 11 25 75 07 08.0 75065 11 26 75 07 05.0 75065 12 02 75 01 06.0 75065 12 03 75 07 02.0 75065 12 04 75 01 08.0 75065 12 04 75 07 03.5 75065 12 05 75 01 12.0 75065 12 06 75 01 04.0 75066 11 11 75 01 04.5 75066 11 13 75 01 01.0 75067 01 02 76 08 03.0 75067 01 05 76 08 03.0 75067 01 12 76 08 01.0 75067 01 19 76 08 04.0 75067 01 19 76 08 04.0 75067 01 27 76 01 02.0 75067 03 24 76 07 00.5 75068 12 14 75 01 14.0 75068 12 15 75 07 08.0 75500 07 22 75 05 08.0 75500 07 23 75 05 06.5 75500 07 24 75 05 07.5 75500 07 25 75 05 08.0 75500 07 28 75 05 08.5 75500 07 29 75 05 07.0 75500 07 30 75 01 02.0 75500 08 01 75 05 01.0 75500 08 04 75 05 01.0 75500 08 05 75 01 01.0 75500 08 05 75 05 04.0 75500 08 06 75 01 03.0 75500 08 11 75 05 02.0 75500 08 12 75 05 05.0 75500 08 16 75 05 01.5 75500 08 22 75 01 04.0 75500 08 28 75 01 04.0 75500 08 29 75 05 03.0 75500 08 30 75 01 08.0 75500 09 01 75 01 08.0 75500 09 02 75 01 08.0 75500 09 03 75 01 08.0 75500 09 04 75 01 04.0 75500 09 05 75 01 07.0 75500 09 05 75 05 00.5 75500 09 08 75 01 04.0 75500 09 09 75 01 08.0 75500 09 10 75 01 08.0 75500 09 11 75 01 08.0 75500 09 11 75 05 02.0 75500 09 12 75 01 08.0 75500 09 12 75 05 02.5 75500 09 15 75 01 09.0 75500 09 15 75 05 08.5 75500 09 16 75 01 09.0 75500 09 16 75 05 03.5 75500 09 17 75 01 09.0 75500 09 17 75 05 06.0 75500 09 18 75 01 09.0 75500 09 18 75 05 06.5 75500 09 19 75 05 06.5 75500 09 24 75 05 03.5 75500 09 25 75 01 06.0 75500 09 26 75 01 02.0 75500 09 29 75 01 04.0 75500 10 01 75 01 08.0 75500 10 01 75 05 01.0 75500 10 02 75 05 01.5 75500 10 02 75 05 01.1 75500 10 03 75 05 06.0 75500 10 06 75 05 00.3 75500 10 07 75 05 00.7 75500 10 08 75 01 04.0 75500 10 08 75 05 02.5 75500 10 10 75 05 00.4 75500 10 20 75 01 02.0 75500 11 03 75 05 07.0 75500 11 05 75 01 02.0 75500 11 19 75 01 08.0 75500 12 08 75 05 01.5 75500 12 09 75 05 04.0 75500 12 11 75 01 03.0 75500 12 12 75 05 01.0 75501 04 13 76 01 03.0 75501 07 27 75 01 02.0 75501 07 28 75 01 06.0 75501 11 10 75 01 02.0 75501 12 11 75 01 02.0 75501 12 12 75 01 02.0 75502 09 22 75 01 08.0 75502 09 23 75 01 06.0 75504 01 03 76 01 08.0 75504 01 20 76 01 04.0 75504 03 09 76 09 02.0 75504 03 09 76 09 06.0 75504 03 10 76 09 02.0 75504 03 11 76 09 04.0 75504 03 24 76 09 03.5 75504 03 25 76 09 02.0 75504 03 26 76 09 03.0 75504 03 29 76 09 01.0 75504 03 30 76 01 04.0 75504 03 30 76 09 01.5 75504 03 31 76 09 06.0 75504 04 01 76 09 04.0 75504 04 02 76 09 07.0 75504 04 05 76 01 03.0 75504 04 05 76 09 01.0 75504 04 06 76 01 02.0 75504 04 06 76 09 04.0 75504 04 08 76 09 02.0 75504 04 09 76 09 01.0 75504 04 12 76 09 01.0 75504 04 13 76 09 07.0 75504 04 14 76 09 02.0 75504 04 15 76 09 02.0 75504 04 16 76 09 03.0 75504 10 13 75 01 01.5 75504 11 05 75 01 02.0 75504 11 07 75 01 02.0 75504 11 07 75 01 06.0 75504 11 15 75 01 01.0 75504 12 13 75 05 01.5 75505 10 18 75 01 04.0 75505 10 23 75 01 03.0 75505 10 28 75 01 03.0 75506 11 01 75 01 06.0 75506 11 03 75 06 05.0 75506 11 04 75 06 05.0 75506 11 05 75 06 08.0 75506 11 06 75 06 07.0 75506 11 07 75 06 08.0 75506 11 10 75 06 04.0 75506 11 11 75 06 05.0 75506 11 21 75 01 08.0 75506 11 22 75 01 04.0 75507 01 06 76 05 01.0 75507 01 07 76 05 04.0 75507 01 08 76 05 03.5 75507 01 09 76 05 06.0 75507 01 22 76 05 05.0 75507 01 22 76 05 05.0 75507 01 23 76 05 01.5 75507 01 23 76 05 01.5 75507 01 27 76 01 04.0 75507 01 27 76 05 05.0 75507 01 28 76 05 01.6 75507 01 30 76 05 02.0 75507 01 31 76 01 03.0 75507 02 03 76 05 04.0 75507 02 16 76 01 08.0 75507 02 17 76 01 08.0 75507 02 18 76 01 08.0 75507 02 19 76 01 08.0 75507 02 20 76 01 08.0 75507 02 23 76 01 08.0 75507 02 24 76 01 08.0 75507 02 25 76 01 08.0 75507 02 26 76 01 08.0 75507 02 27 76 01 08.0 75507 03 01 76 01 08.0 75507 03 02 76 01 03.0 75507 03 03 76 01 03.0 75507 03 04 76 01 03.0 75507 03 05 76 01 06.0 75507 03 10 76 01 05.0 75507 11 17 75 01 08.0 75507 11 18 75 01 08.0 75507 11 20 75 01 08.0 75507 11 23 75 01 08.0 75507 11 25 75 01 03.0 75507 12 04 75 05 06.5 75507 12 05 75 05 03.0 75507 12 08 75 05 01.5 75507 12 15 75 05 03.5 75507 12 16 75 05 07.0 75507 12 17 75 05 03.5 75508 10 30 75 05 00.7 75508 12 15 75 01 04.0 75509 01 12 76 01 03.0 75509 01 13 76 01 04.0 75512 01 06 76 01 04.0 75512 01 08 76 01 02.0 75512 01 09 76 01 02.0 75513 12 03 75 01 03.0 75514 01 03 75 01 06.0 75514 01 09 76 05 02.0 75514 01 11 76 01 04.0 75514 01 13 76 05 03.5 75514 01 14 76 05 04.5 75514 01 15 76 05 07.0 75514 01 16 76 05 01.3 75514 01 29 76 05 05.0 75514 01 30 76 05 05.0 75514 04 01 76 05 03.0 75514 04 10 76 05 06.0 75514 04 12 76 05 02.7 75514 04 13 76 05 01.5 75514 04 17 76 05 03.0 75540 04 07 76 09 01.0 76000 01 05 76 01 06.0 76000 01 05 76 07 01.5 76000 01 05 76 08 02.0 76000 01 06 76 07 01.0 76000 01 06 76 08 05.5 76000 01 07 76 07 01.0 76000 01 07 76 08 02.0 76000 01 08 76 01 06.0 76000 01 08 76 05 01.0 76000 01 08 76 07 00.5 76000 01 09 76 08 02.5 76000 01 12 76 01 05.0 76000 01 12 76 05 00.5 76000 01 12 76 08 01.0 76000 01 12 76 08 01.0 76000 01 13 76 05 01.0 76000 01 13 76 08 02.0 76000 01 14 76 05 00.5 76000 01 14 76 07 00.5 76000 01 14 76 08 08.0 76000 01 15 76 08 05.0 76000 01 19 76 05 01.5 76000 01 19 76 05 01.5 76000 01 19 76 08 04.0 76000 01 19 76 08 04.0 76000 01 20 76 05 03.5 76000 01 20 76 05 03.5 76000 01 20 76 08 08.0 76000 01 20 76 08 08.0 76000 01 21 76 05 02.0 76000 01 21 76 05 02.0 76000 01 21 76 08 06.0 76000 01 21 76 08 06.0 76000 01 22 76 05 01.0 76000 01 22 76 05 01.0 76000 01 22 76 07 01.0 76000 01 22 76 07 01.0 76000 01 22 76 08 04.0 76000 01 22 76 08 04.0 76000 01 23 76 05 00.5 76000 01 23 76 05 00.5 76000 01 23 76 08 01.0 76000 01 23 76 08 01.0 76000 01 26 76 05 01.5 76000 01 26 76 08 00.8 76000 01 27 76 01 03.0 76000 01 27 76 05 01.0 76000 01 27 76 05 01.5 76000 01 27 76 08 08.0 76000 01 28 76 01 08.0 76000 01 28 76 05 02.0 76000 01 28 76 08 08.0 76000 01 29 76 01 04.0 76000 01 29 76 01 02.0 76000 01 29 76 05 02.0 76000 01 29 76 05 01.0 76000 01 29 76 08 02.0 76000 01 30 76 05 01.0 76000 02 02 76 01 03.0 76000 02 02 76 08 02.0 76000 02 03 76 08 02.0 76000 02 05 76 01 08.0 76000 02 05 76 05 08.0 76000 02 05 76 07 08.0 76000 02 06 76 01 08.0 76000 02 06 76 05 08.0 76000 02 06 76 07 08.0 76000 02 07 76 01 08.0 76000 02 07 76 05 08.0 76000 02 09 76 07 08.0 76000 02 10 76 08 02.0 76000 02 11 76 08 05.0 76000 02 12 76 05 02.0 76000 02 12 76 08 04.0 76000 02 12 76 08 01.0 76000 02 12 76 09 08.0 76000 02 13 76 05 02.5 76000 02 13 76 09 08.0 76000 02 16 76 08 08.0 76000 02 16 76 09 07.5 76000 02 17 76 05 01.0 76000 02 17 76 08 04.0 76000 02 17 76 09 08.0 76000 02 18 76 05 01.0 76000 02 18 76 08 02.0 76000 02 18 76 09 08.0 76000 02 19 76 05 02.0 76000 02 19 76 07 02.0 76000 02 19 76 08 04.0 76000 02 19 76 08 04.0 76000 02 19 76 09 08.0 76000 02 20 76 05 02.0 76000 02 20 76 07 02.5 76000 02 20 76 08 08.0 76000 02 20 76 09 08.0 76000 02 23 76 05 04.0 76000 02 23 76 07 01.5 76000 02 23 76 08 08.0 76000 02 23 76 09 07.7 76000 02 24 76 08 03.5 76000 02 24 76 09 08.0 76000 02 25 76 05 01.5 76000 02 25 76 08 05.0 76000 02 25 76 09 08.0 76000 02 26 76 05 00.5 76000 02 26 76 07 08.0 76000 02 26 76 08 08.0 76000 02 26 76 09 08.0 76000 02 27 76 05 01.0 76000 02 27 76 07 08.0 76000 02 27 76 08 08.0 76000 02 27 76 09 08.0 76000 03 01 76 05 00.5 76000 03 01 76 08 05.0 76000 03 01 76 09 08.0 76000 03 02 76 05 01.5 76000 03 02 76 07 02.5 76000 03 02 76 08 06.0 76000 03 02 76 09 08.0 76000 03 03 76 05 01.5 76000 03 03 76 08 02.0 76000 03 03 76 09 08.0 76000 03 05 76 05 02.0 76000 03 05 76 08 02.0 76000 03 05 76 09 08.0 76000 03 08 76 08 04.0 76000 03 08 76 09 08.0 76000 03 09 76 07 02.0 76000 03 09 76 08 01.0 76000 03 10 76 01 02.0 76000 03 10 76 08 01.0 76000 03 10 76 08 04.0 76000 03 10 76 09 04.0 76000 03 11 76 01 08.0 76000 03 11 76 05 02.0 76000 03 11 76 08 02.0 76000 03 11 76 09 04.0 76000 03 12 76 05 01.0 76000 03 12 76 07 02.0 76000 03 12 76 08 02.0 76000 03 16 76 07 08.0 76000 03 17 76 05 02.0 76000 03 17 76 07 08.0 76000 03 17 76 08 02.0 76000 03 18 76 05 02.0 76000 03 18 76 07 08.0 76000 03 18 76 08 02.0 76000 03 19 76 05 02.0 76000 03 19 76 07 08.0 76000 03 19 76 08 03.0 76000 03 19 76 08 05.0 76000 03 22 76 05 01.0 76000 03 22 76 07 02.0 76000 03 22 76 08 08.0 76000 03 23 76 01 03.0 76000 03 23 76 05 01.0 76000 03 23 76 08 06.5 76000 03 23 76 09 08.0 76000 03 24 76 05 00.5 76000 03 24 76 08 05.0 76000 03 24 76 09 04.5 76000 03 25 76 05 01.0 76000 03 25 76 09 06.0 76000 03 26 76 08 02.5 76000 03 26 76 09 05.0 76000 03 29 76 01 01.0 76000 03 29 76 05 02.0 76000 03 29 76 08 06.5 76000 03 29 76 09 07.0 76000 03 30 76 01 01.5 76000 03 30 76 05 01.0 76000 03 30 76 08 04.0 76000 03 30 76 09 06.5 76000 03 31 76 07 02.0 76000 03 31 76 08 02.0 76000 03 31 76 09 02.0 76000 04 01 76 05 01.0 76000 04 01 76 09 04.0 76000 04 02 76 09 01.0 76000 04 05 76 05 01.0 76000 04 05 76 09 07.0 76000 04 06 76 05 01.5 76000 04 06 76 07 02.0 76000 04 06 76 09 04.0 76000 04 07 76 08 01.0 76000 04 07 76 09 07.0 76000 04 08 76 09 06.0 76000 04 09 76 05 01.0 76000 04 09 76 09 07.0 76000 04 12 76 09 07.0 76000 04 13 76 05 00.5 76000 04 13 76 09 01.0 76000 04 14 76 05 01.0 76000 04 14 76 08 02.0 76000 04 14 76 09 06.0 76000 04 15 76 08 01.0 76000 04 15 76 09 06.0 76000 04 16 76 08 02.0 76000 04 16 76 09 05.0 76001 01 05 76 08 03.0 76001 04 15 76 08 01.0 76002 01 07 76 08 02.0 76003 01 07 76 01 04.0 76003 01 07 76 08 02.0 76003 01 08 76 08 06.5 76003 01 30 76 01 05.0 76003 01 30 76 01 02.0 76003 01 30 76 01 02.0 76003 01 30 76 08 01.0 76003 02 02 76 01 02.0 76003 02 03 76 01 06.0 76003 02 04 76 01 02.0 76004 01 08 76 07 02.0 76004 01 10 76 07 04.0 76005 01 09 76 08 01.5 76005 01 10 76 03 05.5 76005 01 11 76 03 01.0 76005 01 12 76 05 05.5 76005 01 13 76 05 04.0 76006 01 16 76 05 02.7 76007 01 29 76 01 01.0 76008 01 29 76 08 06.0 76008 01 30 76 03 05.5 76008 01 30 76 08 06.0 76008 02 02 76 08 01.0 76008 02 02 76 08 06.0 76008 02 03 76 08 01.5 76008 02 03 76 08 06.0 76008 02 04 76 08 02.0 76008 02 04 76 08 08.0 76008 02 05 76 08 00.5 76008 02 05 76 08 08.0 76008 02 06 76 08 06.5 76008 02 09 76 08 08.0 76008 02 10 76 08 04.0 76008 02 11 76 08 01.0 76008 02 17 76 08 02.0 76008 02 18 76 08 06.0 76008 03 04 76 08 02.0 76008 03 05 76 08 06.0 76008 03 09 76 08 00.5 76008 03 10 76 08 01.0 76009 02 02 76 01 02.0 76009 02 16 76 05 01.5 76009 02 24 76 05 15.5 76009 02 25 76 05 01.5 76009 02 26 76 05 07.0 76009 02 27 76 05 01.5 76009 02 28 76 05 04.0 76009 03 01 76 05 05.5 76009 03 02 76 05 01.5 76009 04 06 76 05 00.5 76010 02 10 76 08 02.0 76010 02 11 76 08 02.0 76010 02 12 76 08 07.0 76010 02 13 76 08 04.0 76010 02 17 76 08 02.0 76010 02 24 76 08 04.5 76010 02 25 76 08 03.0 76010 03 01 76 08 01.0 76010 03 18 76 08 03.0 76011 02 09 76 05 01.5 76011 02 10 76 05 03.5 76011 02 12 76 05 01.0 76011 02 12 76 05 07.0 76011 02 13 76 05 05.5 76011 02 16 76 05 07.0 76011 02 17 76 05 04.0 76011 02 18 76 05 02.5 76011 02 19 76 05 05.5 76011 02 20 76 05 04.0 76011 02 23 76 05 04.5 76011 02 24 76 05 02.0 76011 03 03 76 05 02.5 76011 03 05 76 05 02.0 76011 03 06 76 05 01.0 76011 03 12 76 05 02.0 76011 03 16 76 05 03.5 76011 03 17 76 05 02.5 76011 03 18 76 05 03.0 76011 03 19 76 05 02.0 76011 03 22 76 05 05.0 76011 03 22 76 05 02.0 76011 03 23 76 05 07.0 76011 03 24 76 05 03.0 76011 03 25 76 05 01.0 76011 03 26 76 05 01.5 76011 04 05 76 05 02.5 76011 04 14 76 05 01.0 76012 02 19 76 07 04.0 76012 03 05 76 07 06.0 76012 03 11 76 07 01.0 76012 03 12 76 07 06.0 76012 03 17 76 05 01.0 76012 03 18 76 05 02.0 76014 03 01 76 08 02.0 76014 03 02 76 01 05.0 76014 03 02 76 08 02.0 76014 03 03 76 01 05.0 76014 03 03 76 08 06.0 76014 03 04 76 08 06.0 76014 03 06 76 03 00.5 76014 03 08 76 07 06.0 76014 03 08 76 08 04.0 76014 03 09 76 07 01.0 76014 03 09 76 07 02.0 76014 03 09 76 07 02.0 76014 03 09 76 08 05.0 76014 03 10 76 07 06.0 76014 03 10 76 08 02.0 76014 03 11 76 07 07.0 76014 03 11 76 08 02.0 76014 03 15 76 08 08.0 76014 03 16 76 08 08.0 76014 03 17 76 05 02.5 76014 03 17 76 08 06.0 76014 03 18 76 08 03.0 76014 03 30 76 01 02.5 76014 03 30 76 08 04.0 76014 03 31 76 08 06.0 76014 04 01 76 01 02.0 76014 04 01 76 08 01.0 76014 04 05 76 08 00.5 76014 04 07 76 01 02.0 76014 04 09 76 08 01.0 76014 04 10 76 01 09.0 76014 04 13 76 01 01.0 76014 04 15 76 01 02.0 76014 04 15 76 08 01.0 76014 04 16 76 01 03.0 76014 04 16 76 03 04.0 76014 04 17 76 03 03.0 76014 04 17 76 03 00.5 76014 04 17 76 10 05.5 76015 03 03 76 07 03.0 76015 03 04 76 07 02.0 76016 03 09 76 07 02.0 76016 03 09 76 08 01.5 76016 03 11 76 08 02.0 76017 04 02 76 01 01.0 76017 04 11 76 03 01.0 76017 04 16 76 05 04.0 76017 04 17 76 03 02.5 76018 03 11 76 08 02.0 76018 03 12 76 08 06.0 76018 03 24 76 08 03.0 76018 03 26 76 08 01.0 76018 04 09 76 08 01.5 76018 04 15 76 08 02.0 76019 03 24 76 01 01.0 76019 03 26 76 01 08.0 76019 03 30 76 01 04.0 76019 03 31 76 01 03.0 76019 03 31 76 05 04.0 76020 03 26 76 08 04.5 76020 03 29 76 08 01.5 76021 03 29 76 01 01.0 76021 04 05 76 01 02.0 76021 04 08 76 01 03.0 76021 04 09 76 01 03.0 76021 04 09 76 03 01.0 76022 03 05 76 03 05.0 76022 03 06 76 03 01.5 76023 04 01 76 01 01.0 76023 04 06 76 01 02.0 76024 04 01 76 07 01.0 76024 04 01 76 08 05.0 76024 04 02 76 01 04.0 76024 04 02 76 08 01.0 76024 04 04 76 03 02.0 76024 04 04 76 03 02.5 76024 04 05 76 03 04.5 76024 04 05 76 05 05.0 76024 04 05 76 08 02.0 76024 04 06 76 01 02.0 76024 04 06 76 05 05.5 76024 04 06 76 08 04.0 76024 04 07 76 03 03.0 76024 04 07 76 05 07.5 76024 04 08 76 01 01.0 76024 04 08 76 05 08.5 76024 04 09 76 05 06.5 76024 04 10 76 03 01.0 76024 04 12 76 05 00.5 76025 04 01 76 08 02.0 76025 04 02 76 01 02.0 76025 04 02 76 08 07.0 76025 04 03 76 03 01.0 76025 04 04 76 03 02.5 76025 04 05 76 08 05.5 76025 04 06 76 08 05.5 76025 04 07 76 08 07.5 76025 04 08 76 08 08.0 76025 04 09 76 03 07.0 76025 04 09 76 08 06.5 76025 04 10 76 03 03.5 76025 04 11 76 08 04.0 76025 04 12 76 08 09.0 76025 04 13 76 03 04.0 76025 04 13 76 08 08.0 76025 04 14 76 03 01.5 76025 04 14 76 08 06.0 76025 04 15 76 08 03.0 76026 04 06 76 01 01.0 76027 04 09 76 01 03.0 76027 04 12 76 01 08.0 76027 04 13 76 01 01.0 76027 04 14 76 01 04.0 76027 04 15 76 01 04.0 76027 04 16 76 01 05.0 76028 04 13 76 01 01.0 76029 04 16 76 08 02.0 76500 01 23 76 05 01.5 76500 01 23 76 05 01.5 76500 01 28 76 05 03.5 76500 01 30 76 01 04.0 76500 01 31 76 05 04.0 76500 02 03 76 01 02.0 76500 02 04 76 01 04.0 76500 02 09 76 05 08.0 76500 02 10 76 01 12.0 76500 02 10 76 05 05.5 76500 02 11 76 01 12.0 76500 02 11 76 05 08.5 76500 02 12 76 01 12.0 76500 02 13 76 01 12.0 76500 02 16 76 05 00.5 76500 02 17 76 05 04.0 76500 02 18 76 05 03.0 76500 02 20 76 05 02.0 76500 02 27 76 05 01.0 76500 03 01 76 05 02.0 76500 03 03 76 05 04.0 76500 03 04 76 05 09.0 76500 03 04 76 07 01.0 76500 03 05 76 03 04.0 76500 03 05 76 05 05.0 76500 03 06 76 03 01.5 76500 03 10 76 05 03.0 76500 03 13 76 05 03.0 76500 03 15 76 05 06.0 76500 03 24 76 01 06.0 76500 03 26 76 05 02.0 76500 03 29 76 01 02.0 76500 03 31 76 01 02.0 76500 04 03 76 01 10.0 76500 04 05 76 01 03.0 76500 04 06 76 01 02.0 76500 04 08 76 01 02.0 76500 04 09 76 01 02.0 76500 04 12 76 05 01.5 76500 04 15 76 01 01.0 76500 04 15 76 05 01.0 76501 02 01 76 05 01.0 76501 02 02 76 05 03.0 76501 02 04 76 05 07.5 76501 03 11 76 05 05.0 76501 03 12 76 05 05.0 76514 01 20 76 05 02.0 76514 01 20 76 05 02.0 76514 03 24 76 05 01.5 76514 03 25 76 05 01.0 76514 03 30 76 05 01.0 76601 01 31 76 01 06.0 76601 02 02 76 01 03.0 76601 03 16 76 05 04.5 76601 03 17 76 05 01.0 76601 03 19 76 05 02.5 )Ý3©Ò�Ò”)vK¢CÍ¢­KÍ+”KÑ+—ª #™)d� )`�  +˜#ަ +ÎÒJú#˜¥÷#Î+˜¦+ަ‚Z…+¢�ŠK£3�SÏ/¡ª $…+¡3©SɶSÈ3ÏÈ/È vÉü‚  0Î…�C´…CµC¶C·#£‚  +£þ .…uÎ… 0)-Ž#Ñ hÑÍ¢÷#Ñ+ͪ  Ñ#Ñ g1ÍÍùKÎ h#Í3¡+ÎJþq4qFG1|ÿ´ø\q8!úæùƒ­é0……P+û\qq8CÇ…CÉCÈîKÊ'ÊÊ g#Ç1:µ ‚ø)é¦ õ3ÈÒ  …P1*µ 1(„µ !%1%µ¦1+Ǫ 3�+É v‚ªZ KÉÚCÈØ#É+È«�Êq4q#Ç‚ À™ a¬‘€Y añ +-ÿÐ9 \qq8­KÉK§‚[§‰Š3�… xDqqɪù#ÉCÇ#”q -,q1XÎ hƒÇø­ h#Éq4q\qq8ª BÒ ÒJ,Å0!Æ?:*74001 01 28 76 05 01.4 74004 03 08 76 01 13.0 74004 03 08 76 05 12.0 74004 03 09 76 01 18.0 74004 03 09 76 05 12.0 74004 03 10 76 05 06.0 74004 03 11 76 05 02.0 74004 03 19 76 05 01.5 74004 12 01 75 01 14.0 74004 12 02 75 01 01.0 74011 01 06 76 01 04.0 74011 01 06 76 05 02.7 74011 04 01 76 01 03.0 74011 12 02 75 01 01.0 74011 12 03 75 01 02.0 74011 12 23 75 07 01.5 74027 01 15 76 05 01.5 74027 03 31 76 07 01.0 74027 12 18 75 01 01.0 74028 08 04 75 01 01.0 74037 02 23 76 07 01.5 74037 02 23 76 07 00.5 74037 02 24 76 07 02.5 74037 03 29 76 07 01.0 74037 03 30 76 07 05.0 74037 03 30 76 07 03.0 74037 03 31 76 07 04.0 74037 04 01 76 07 08.0 74037 04 02 76 07 08.0 74037 04 05 76 07 09.0 74037 04 06 76 07 06.0 74037 04 08 76 07 03.0 74037 04 09 76 07 03.0 74037 11 04 75 01 02.0 74037 11 05 75 07 01.0 74037 11 06 74 07 07.0 74037 11 07 75 07 03.0 74037 11 11 75 01 02.0 74037 11 11 75 07 05.0 74042 02 24 76 07 04.0 74042 07 25 75 01 04.0 74042 12 30 75 07 00.5 74045 01 16 76 05 00.5 74045 02 23 76 07 01.5 74045 02 23 76 07 01.5 74045 03 05 76 01 01.0 74045 11 12 75 01 04.0 74045 11 26 75 01 02.0 75000 07 21 75 01 03.0 75000 07 24 75 03 01.5 75000 07 24 75 05 00.5 75000 07 29 75 04 02.0 75000 07 30 75 01 02.0 75000 08 01 75 01 03.0 75000 08 05 75 01 03.0 75000 08 07 75 05 02.0 75000 08 11 75 05 01.5 75000 08 13 75 05 00.5 75000 08 15 75 01 04.0 75000 08 18 75 01 05.0 75000 09 03 75 05 00.5 75000 09 04 75 05 01.0 75000 09 13 75 05 01.0 75000 09 17 75 04 06.0 75000 10 03 75 05 01.0 75000 10 07 75 05 01.8 75000 10 09 75 05 07.0 75000 10 13 75 01 01.0 75000 10 14 75 01 02.0 75000 10 25 75 01 02.0 75000 10 30 75 01 01.0 75000 11 03 75 04 02.0 75000 11 04 75 01 02.0 75000 11 06 75 01 01.0 75000 11 10 75 01 01.0 75000 11 12 75 07 03.0 75000 11 13 75 05 01.9 75000 11 14 75 01 04.0 75000 11 15 75 01 03.0 75000 11 17 75 05 01.0 75000 11 18 75 05 04.0 75000 11 18 75 07 02.0 75000 11 20 75 05 01.0 75000 11 21 75 05 01.0 75000 11 24 75 01 02.0 75000 11 24 75 05 01.5 75000 11 25 75 01 02.0 75000 11 26 75 01 03.0 75000 12 01 75 05 01.0 75000 12 01 75 07 02.0 75000 12 02 75 05 02.0 75000 12 03 75 05 01.5 75000 12 05 75 05 01.0 75000 12 08 75 05 01.0 75000 12 09 75 05 01.0 75000 12 10 75 05 01.5 75000 12 12 75 01 01.0 75000 12 12 75 05 01.0 75000 12 14 75 01 12.0 75000 12 15 75 05 01.5 75000 12 16 75 05 01.3 75000 12 16 75 07 08.0 75000 12 17 75 07 03.0 75000 12 18 75 07 01.0 75000 12 22 75 07 01.0 75000 12 24 75 05 04.0 75000 12 24 75 07 01.0 75000 12 29 75 07 01.0 75000 12 30 75 07 01.0 75000 12 31 75 07 00.5 75004 02 16 76 09 00.5 75004 08 09 75 01 03.0 75004 08 09 75 03 01.0 75004 08 12 75 04 01.0 75004 08 12 75 05 04.0 75004 08 13 75 05 03.5 75004 08 15 75 01 02.0 75004 08 16 75 03 03.5 75004 08 16 75 04 08.5 75004 08 16 75 05 08.0 75004 08 18 75 01 02.0 75004 08 29 75 04 01.5 75004 10 15 75 01 11.5 75004 10 16 75 01 06.0 75005 01 15 76 07 07.0 75005 01 16 76 07 01.0 75005 07 30 75 01 01.0 75005 07 30 75 04 06.0 75005 07 30 75 05 06.0 75005 07 31 75 04 06.0 75005 07 31 75 05 00.5 75005 08 01 75 01 01.0 75005 08 01 75 04 03.0 75005 08 01 75 05 00.5 75005 09 30 75 04 04.5 75005 12 22 75 07 01.0 75007 01 13 76 08 03.0 75007 09 16 75 04 03.5 75007 09 17 75 04 03.5 75007 09 18 75 04 07.5 75007 09 19 75 04 07.5 75007 09 20 75 01 03.5 75007 09 20 75 03 03.5 75007 09 20 75 04 08.5 75007 09 22 75 04 05.5 75007 09 23 75 04 05.5 75007 09 24 75 04 04.0 75007 09 25 75 04 03.5 75007 09 26 75 04 03.5 75007 09 27 75 03 01.5 75007 09 27 75 04 04.0 75007 09 29 75 04 05.5 75007 10 01 75 04 03.0 75007 10 02 75 04 01.0 75007 10 03 75 04 04.0 75007 10 04 75 03 03.5 75007 10 04 75 04 08.0 75007 10 07 75 01 04.0 75007 10 08 75 04 01.5 75007 10 08 75 05 05.7 75007 10 10 75 04 00.5 75007 10 11 75 04 05.0 75007 10 13 75 01 01.0 75007 10 13 75 04 06.0 75007 10 13 75 05 01.5 75007 10 14 75 01 04.0 75007 10 14 75 04 04.0 75007 10 15 75 04 08.5 75007 10 16 75 04 08.0 75007 10 16 75 05 06.2 75007 10 17 75 01 01.0 75007 10 17 75 04 08.0 75007 10 17 75 05 02.0 75007 10 20 75 01 05.0 75007 10 21 75 04 01.0 75007 10 22 75 04 06.0 75007 10 23 75 04 03.5 75007 10 23 75 05 01.8 75007 10 24 75 04 02.5 75007 10 24 75 05 01.3 75007 10 27 75 01 04.0 75007 10 28 75 04 01.0 75007 10 28 75 05 05.5 75007 10 30 75 04 01.5 75007 10 31 75 05 00.8 75007 11 06 75 01 02.0 75007 11 07 75 07 04.0 75007 11 10 75 07 03.0 75008 07 31 75 01 03.0 75008 07 31 75 01 06.5 75008 11 22 75 07 00.3 75008 11 23 75 07 02.3 75011 08 07 75 01 02.5 75013 01 05 76 01 01.0 75013 01 19 76 01 02.0 75013 01 20 76 01 02.0 75013 01 22 76 01 05.0 75013 01 26 76 01 02.0 75013 03 24 76 01 02.0 75013 03 31 76 01 01.0 75013 04 02 76 01 01.0 75013 04 05 76 01 02.0 75013 08 08 75 01 02.0 75013 08 28 75 04 07.0 75013 09 08 75 05 02.5 75013 09 09 75 04 02.5 75013 09 13 75 04 02.0 75013 09 24 75 01 02.0 75013 09 24 75 01 02.0 75013 09 24 75 04 04.0 75013 09 25 75 04 02.0 75013 09 26 75 04 03.0 75013 10 20 75 04 02.0 75013 10 21 75 01 02.0 75013 10 21 75 04 02.0 75013 10 22 75 04 01.5 75013 10 24 75 01 03.0 75013 10 27 75 04 04.0 75013 10 27 75 06 02.0 75013 10 28 75 04 07.5 75013 10 29 75 04 08.0 75013 11 04 75 04 03.0 75013 11 17 75 07 01.5 75013 11 26 75 01 03.0 75013 12 02 75 01 00.5 75015 10 08 75 04 00.8 75022 01 12 76 08 05.5 75022 01 13 76 08 03.0 75022 01 15 76 08 01.5 75022 07 24 75 01 01.0 75022 11 17 75 07 01.0 75022 11 18 75 07 03.0 75022 11 19 75 07 01.5 75022 11 20 75 07 03.5 75022 11 21 75 07 04.0 75022 11 26 75 05 00.5 75022 11 28 75 07 04.0 75022 12 18 75 07 01.0 75023 11 17 75 07 01.0 75025 08 14 75 04 02.5 75027 01 19 76 05 00.5 75027 01 19 76 05 00.5 75028 08 04 75 01 03.0 75028 08 06 75 01 03.0 75028 08 07 75 01 01.0 75028 08 08 75 03 04.5 75028 08 08 75 03 02.5 75028 08 09 75 03 04.0 75028 08 15 75 03 07.5 75028 09 09 75 05 01.0 75028 09 26 75 01 04.0 75028 10 02 75 05 01.0 75028 10 03 75 05 04.0 75028 10 04 75 05 03.0 75028 10 23 75 04 01.0 75028 10 23 75 06 08.0 75028 10 24 75 06 04.0 75028 10 29 75 01 07.0 75028 10 30 75 01 04.0 75030 01 07 76 01 04.0 75030 01 11 76 03 04.5 75030 01 12 76 01 02.0 75030 01 12 76 03 02.5 75030 01 13 76 01 04.0 75030 01 14 76 01 08.0 75030 01 14 76 03 02.0 75030 01 15 76 01 04.0 75030 01 15 76 08 01.5 75030 01 17 76 05 01.2 75030 01 17 76 05 01.2 75030 01 17 76 05 01.2 75030 07 19 75 03 04.0 75030 07 23 75 05 01.5 75030 07 24 75 01 02.0 75030 08 13 75 01 04.0 75030 08 29 75 01 02.0 75030 08 29 75 04 04.0 75030 08 30 75 03 03.5 75030 09 02 75 04 08.0 75030 09 02 75 05 07.0 75030 09 03 75 04 10.0 75030 09 03 75 05 08.0 75030 09 04 75 04 04.5 75030 09 04 75 05 07.0 75030 09 05 75 04 07.5 75030 09 05 75 05 01.0 75030 09 06 75 04 11.0 75030 09 06 75 05 09.5 75030 09 30 75 05 00.5 75030 10 01 75 04 00.5 75030 10 06 75 04 06.0 75030 10 07 75 04 05.0 75030 10 20 75 04 04.5 75030 10 21 75 04 04.0 75030 10 30 75 04 03.0 75030 10 31 75 04 02.0 75030 11 01 75 04 04.5 75030 11 03 75 04 05.0 75030 11 04 75 04 04.5 75030 11 05 75 04 08.0 75030 11 06 75 04 08.0 75030 11 06 75 06 01.0 75030 11 07 75 04 08.0 75030 11 10 75 01 05.0 75030 11 10 75 06 05.0 75030 11 10 75 07 05.0 75030 11 19 75 05 02.0 75030 11 20 75 05 04.0 75030 11 24 75 01 01.0 75031 07 23 75 04 01.5 75031 07 24 75 04 03.5 75031 07 25 75 04 07.5 75031 07 27 75 01 02.0 75031 07 28 75 04 03.0 75031 07 30 75 01 01.0 75031 08 01 75 03 07.0 75031 08 01 75 04 03.0 75031 08 04 75 01 01.0 75031 08 11 75 05 01.0 75031 08 20 75 05 05.0 75031 08 21 75 05 09.0 75031 08 22 75 05 03.0 75031 08 27 75 05 00.5 75032 07 19 75 03 06.0 75032 07 19 75 04 06.0 75032 07 21 75 04 02.0 75033 03 23 76 07 02.0 75033 03 24 76 07 05.0 75033 03 29 76 07 01.0 75033 11 22 75 07 00.7 75033 11 23 75 07 06.7 75034 07 21 75 01 03.0 75034 07 21 75 04 02.0 75034 07 22 75 01 04.0 75034 07 22 75 04 08.0 75034 07 23 75 04 06.0 75034 07 24 75 01 01.0 75034 07 24 75 04 05.0 75034 07 25 75 01 01.0 75034 07 25 75 04 01.0 75034 07 26 75 04 05.5 75034 07 27 75 01 03.0 75034 07 28 75 04 05.0 75034 07 29 75 04 04.5 75034 07 29 75 05 01.0 75034 07 30 75 04 03.0 75034 08 02 75 01 04.0 75034 08 02 75 03 03.5 75034 08 03 75 04 08.5 75034 08 05 75 04 03.0 75034 08 06 75 04 05.0 75034 08 07 75 01 00.5 75034 08 08 75 04 01.0 75035 07 20 75 03 01.5 75035 07 24 75 03 01.5 75035 08 04 75 01 03.0 75035 08 07 75 01 01.0 75035 08 07 75 05 02.5 75035 08 08 75 01 02.0 75035 08 08 75 05 08.0 75035 08 09 75 01 01.0 75035 08 09 75 05 06.0 75035 08 11 75 05 02.0 75035 08 12 75 01 03.0 75035 08 12 75 04 00.5 75035 08 12 75 05 00.5 75035 08 13 75 01 01.0 75035 08 13 75 04 07.0 75035 08 14 75 04 03.5 75035 08 15 75 03 01.0 75035 08 15 75 04 07.0 75035 08 16 75 04 02.5 75035 08 20 75 04 01.5 75035 10 17 75 01 02.0 75035 12 09 75 01 01.0 75036 08 26 75 01 04.0 75036 08 28 75 05 05.5 75036 08 29 75 05 05.5 75036 08 30 75 04 07.0 75036 08 30 75 05 04.0 75036 09 02 75 05 02.0 75036 09 04 75 01 04.0 75036 09 05 75 04 01.0 75036 09 05 75 05 04.5 75036 09 08 75 04 08.5 75036 09 08 75 05 05.5 75036 09 10 75 04 01.0 75036 09 11 75 04 03.0 75036 09 13 75 04 02.0 75036 09 25 75 04 00.5 75036 09 25 75 04 02.5 75036 09 26 75 04 02.0 75036 10 16 75 04 01.0 75037 07 21 75 01 02.0 75037 07 23 75 01 04.0 75037 07 24 75 03 01.5 75037 07 28 75 01 01.0 75037 08 04 75 01 01.0 75037 08 04 75 04 04.0 75037 08 04 75 05 07.5 75037 08 05 75 01 02.0 75037 08 05 75 04 02.5 75037 08 05 75 05 04.5 75037 08 06 75 04 03.5 75037 08 07 75 01 01.0 75037 08 07 75 04 07.0 75037 08 07 75 05 04.0 75037 08 08 75 01 03.0 75037 08 08 75 04 07.5 75037 08 09 75 01 04.0 75037 08 09 75 03 01.0 75037 08 09 75 04 07.0 75037 08 11 75 01 03.0 75037 08 11 75 04 09.0 75037 08 11 75 05 02.5 75037 08 12 75 04 07.0 75037 08 15 75 01 02.0 75037 08 20 75 04 02.5 75037 O8 06 75 05 08.5 75038 07 21 75 04 04.0 75039 01 06 76 05 00.5 75039 09 16 75 05 01.5 75039 09 19 75 05 02.0 75039 09 20 75 01 03.5 75039 09 20 75 03 03.5 75039 09 22 75 04 01.5 75039 09 22 75 05 08.5 75039 09 23 75 01 02.0 75039 09 23 75 04 03.5 75039 09 23 75 05 09.0 75039 09 24 75 04 01.0 75039 09 24 75 05 05.0 75039 09 25 75 05 04.0 75039 09 27 75 04 04.5 75039 09 29 75 04 02.0 75039 09 29 75 05 03.0 75039 09 30 75 04 02.0 75039 09 30 75 05 03.3 75039 10 01 75 04 01.5 75039 10 01 75 05 06.0 75039 10 02 75 05 02.4 75039 10 06 75 05 00.5 75039 10 07 75 05 00.5 75039 10 17 75 05 00.4 75039 10 22 75 05 00.9 75039 10 23 75 01 01.0 75040 07 22 75 01 04.0 75040 07 23 75 01 04.0 75040 07 24 75 01 02.0 75040 07 25 75 01 04.0 75040 08 11 75 01 03.0 75040 08 12 75 01 03.0 75040 09 08 75 01 04.0 75040 10 10 75 01 01.0 75040 11 03 75 01 04.0 75040 11 05 75 01 02.0 75040 11 06 75 01 01.0 75041 04 05 76 01 01.0 75041 07 24 75 03 03.5 75041 07 29 75 04 02.0 75041 08 04 75 04 04.0 75041 08 05 75 01 01.0 75041 08 05 75 04 03.0 75041 08 06 75 01 02.0 75041 08 07 75 04 01.0 75041 08 14 75 01 08.0 75041 08 16 75 03 06.0 75041 08 16 75 04 02.0 75041 08 19 75 01 06.0 75041 08 20 75 01 08.0 75041 08 20 75 04 05.0 75041 08 21 75 01 08.0 75041 08 21 75 04 11.0 75041 08 22 75 01 06.0 75041 08 22 75 03 02.8 75041 08 22 75 04 04.5 75041 08 25 75 01 01.0 75041 08 26 75 01 01.0 75041 08 27 75 01 04.0 75041 08 27 75 04 02.5 75041 08 29 75 01 02.0 75041 10 08 75 01 03.0 75041 10 10 75 01 01.0 75041 10 17 75 01 01.0 75041 11 18 75 05 01.0 75041 11 18 75 07 03.0 75041 11 19 75 07 02.0 75041 11 21 75 07 02.0 75041 11 29 75 03 01.0 75042 01 21 76 05 01.3 75042 01 21 76 05 01.3 75042 01 22 76 05 02.0 75042 01 22 76 05 02.0 75042 01 26 76 05 02.8 75042 01 27 76 05 01.0 75042 03 16 76 03 03.0 75042 03 29 76 05 03.0 75042 03 30 76 03 03.0 75042 03 30 76 05 06.0 75042 04 01 76 05 06.5 75042 04 02 76 05 08.0 75042 04 05 76 05 00.5 75042 04 06 76 05 00.5 75042 04 07 76 05 01.0 75042 07 27 75 01 01.0 75042 08 01 75 01 02.0 75042 08 01 75 03 01.5 75042 08 02 75 01 04.0 75042 08 02 75 03 04.5 75042 08 11 75 01 02.0 75042 08 12 75 01 03.0 75042 08 12 75 04 00.5 75042 08 13 75 01 01.0 75042 08 13 75 04 01.0 75042 08 13 75 05 04.0 75042 08 14 75 04 02.0 75042 08 14 75 05 09.0 75042 08 15 75 04 01.0 75042 08 15 75 05 08.5 75042 08 18 75 01 01.0 75042 08 20 75 05 04.0 75042 10 22 75 04 00.5 75042 10 22 75 05 03.1 75042 10 23 75 05 01.6 75042 10 27 75 01 02.0 75042 11 04 75 05 05.5 75042 11 04 75 06 01.0 75042 11 04 75 07 02.0 75042 11 05 75 01 02.0 75042 11 05 75 05 05.5 75042 11 05 75 07 02.0 75042 11 06 75 01 04.0 75042 11 06 75 05 07.0 75042 11 07 75 05 07.0 75042 11 07 75 07 01.0 75042 11 10 75 05 08.0 75042 11 11 75 05 03.0 75042 11 11 75 06 03.0 75042 11 13 75 05 01.0 75042 11 17 75 05 01.0 75042 11 19 75 05 01.0 75043 07 30 75 01 02.0 75043 07 30 75 05 02.0 75043 07 31 75 04 02.0 75043 07 31 75 05 07.5 75043 08 01 75 01 01.0 75043 08 01 75 04 02.5 75043 08 01 75 05 06.5 75043 09 05 75 05 02.5 75043 09 16 75 05 01.0 75044 08 05 75 01 01.0 75044 08 08 75 01 01.0 75044 08 08 75 03 02.0 75044 08 09 75 03 02.0 75044 08 22 75 01 02.0 75044 08 22 75 04 03.0 75044 08 23 75 04 07.2 75044 08 25 75 01 01.0 75044 08 25 75 04 02.0 75044 08 25 75 05 01.5 75044 08 26 75 01 02.0 75044 08 26 75 04 06.0 75044 08 26 75 05 01.5 75044 08 27 75 01 04.0 75044 08 27 75 04 02.5 75044 08 27 75 05 00.5 75044 09 16 75 05 01.0 75045 01 09 76 08 02.5 75045 01 22 76 08 04.0 75045 01 22 76 08 04.0 75045 08 18 75 03 03.5 75045 08 19 75 03 01.0 75045 08 22 75 03 01.0 75045 09 09 75 04 06.5 75045 09 10 75 04 07.5 75045 09 11 75 04 03.0 75045 09 15 75 04 01.0 75045 09 16 75 05 01.0 75045 09 25 75 05 00.5 75046 08 19 75 03 03.0 75046 08 22 75 03 03.5 75046 08 22 75 03 01.5 75046 08 22 75 04 01.0 75046 08 22 75 05 06.0 75046 08 23 75 04 01.3 75046 08 23 75 05 08.5 75046 08 25 75 01 02.0 75046 08 25 75 04 05.5 75046 08 25 75 05 06.0 75046 08 26 75 01 01.0 75046 08 26 75 04 02.5 75046 08 26 75 05 04.5 75046 08 27 75 01 04.0 75046 08 27 75 04 03.5 75046 08 27 75 05 05.5 75046 08 28 75 01 04.0 75046 08 28 75 04 02.0 75046 08 28 75 05 03.0 75046 08 29 75 04 03.0 75046 08 29 75 05 00.5 75046 09 17 75 05 03.5 75046 09 18 75 05 02.5 75047 03 31 76 01 02.0 75047 09 05 75 01 01.0 75047 09 13 75 04 04.0 75047 09 13 75 05 07.5 75047 09 15 75 04 08.5 75047 09 16 75 04 05.0 75047 09 18 75 04 01.0 75047 09 19 75 04 01.0 75047 09 20 75 01 02.0 75047 09 20 75 03 02.0 75047 09 20 75 04 00.5 75047 09 24 75 01 02.0 75047 10 02 75 04 02.0 75047 10 02 75 05 02.0 75047 10 03 75 04 03.0 75047 10 06 75 04 01.0 75047 10 10 75 05 00.4 75047 10 27 75 01 01.0 75047 11 14 75 01 01.0 75047 11 14 75 05 02.5 75047 11 17 75 07 01.0 75048 08 29 75 01 02.0 75048 08 30 75 03 04.0 75048 09 09 75 05 08.0 75048 09 10 75 04 01.0 75048 09 10 75 05 09.5 75048 09 11 75 04 04.0 75048 09 11 75 05 08.0 75048 09 12 75 04 09.0 75048 09 12 75 05 07.0 75048 09 15 75 05 01.0 75048 09 16 75 05 01.0 75048 10 01 75 05 01.0 75048 10 10 75 05 00.7 75048 10 27 75 05 03.0 75048 11 11 75 05 00.5 75048 11 12 75 05 01.0 75048 12 12 75 05 01.0 75049 01 05 76 07 06.0 75049 01 06 76 07 08.0 75049 01 06 76 08 02.0 75049 01 07 76 07 08.0 75049 01 07 76 08 02.0 75049 01 08 76 07 05.0 75049 01 08 76 08 01.5 75049 01 09 76 01 08.8 75049 01 09 76 03 09.5 75049 01 09 76 07 09.0 75049 01 10 76 01 08.0 75049 01 10 76 03 03.5 75049 01 10 76 07 04.0 75049 01 12 76 03 02.5 75049 01 12 76 07 09.0 75049 01 13 76 07 10.0 75049 01 14 76 05 02.0 75049 01 14 76 07 08.5 75049 01 15 76 07 02.5 75049 01 16 76 01 09.0 75049 01 16 76 01 09.0 75049 01 16 76 03 09.0 75049 01 16 76 05 03.5 75049 01 16 76 07 07.0 75049 01 17 76 01 08.0 75049 01 17 76 01 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 03 08.0 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 05 05.3 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 17 76 07 06.5 75049 01 18 76 01 06.0 75049 01 19 76 05 05.5 75049 01 19 76 05 05.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 19 76 07 01.5 75049 01 19 76 07 06.5 75049 01 19 76 07 01.5 75049 01 20 76 01 02.0 75049 01 20 76 03 03.5 75049 01 20 76 03 03.5 75049 01 20 76 05 03.5 75049 01 20 76 05 03.5 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 20 76 07 01.0 75049 01 20 76 07 08.0 75049 01 21 76 01 01.0 75049 01 21 76 05 06.0 75049 01 21 76 05 06.0 75049 01 21 76 07 08.0 75049 01 21 76 07 08.0 75049 01 22 76 01 03.0 75049 01 22 76 03 03.0 75049 01 22 76 03 03.0 75049 01 22 76 07 07.0 75049 01 22 76 07 07.0 75049 01 23 76 03 08.5 75049 01 23 76 03 08.5 75049 01 23 76 07 08.0 75049 01 23 76 07 08.0 75049 01 24 76 03 04.5 75049 01 24 76 03 04.5 75049 01 26 76 01 06.0 75049 01 26 76 07 08.0 75049 01 27 76 01 04.0 75049 01 27 76 07 08.0 75049 01 28 76 07 08.0 75049 01 29 76 07 02.0 75049 01 29 76 07 08.0 75049 01 30 76 03 06.5 75049 01 30 76 07 01.5 75049 01 30 76 07 08.0 75049 01 31 76 03 12.0 75049 01 31 76 07 08.0 75049 02 01 76 07 03.0 75049 02 02 76 05 06.0 75049 02 02 76 07 01.0 75049 02 02 76 07 08.0 75049 02 03 76 05 04.0 75049 02 03 76 07 06.0 75049 02 03 76 07 02.0 75049 02 04 76 05 04.0 75049 02 04 76 07 01.5 75049 02 04 76 07 04.0 75049 02 06 76 08 01.5 75049 02 10 76 07 05.0 75049 02 10 76 07 03.0 75049 02 11 76 07 08.0 75049 02 12 76 07 05.0 75049 02 13 76 07 01.0 75049 02 13 76 07 08.0 75049 02 16 76 07 08.0 75049 02 17 76 07 01.0 75049 02 17 76 07 06.0 75049 02 17 76 07 02.0 75049 02 18 76 05 02.0 75049 02 18 76 07 00.5 75049 02 18 76 07 05.0 75049 02 18 76 07 02.5 75049 02 19 76 07 02.0 75049 02 20 76 07 03.5 75049 02 24 76 07 01.5 75049 02 25 76 07 07.0 75049 03 01 76 01 04.0 75049 03 01 76 07 05.0 75049 03 02 76 07 05.0 75049 03 03 76 07 05.0 75049 03 04 76 07 01.0 75049 03 04 76 07 03.0 75049 03 09 76 07 05.0 75049 03 29 76 07 04.0 75049 04 02 76 03 06.0 75049 04 02 76 07 01.0 75049 04 03 76 03 08.5 75049 04 04 76 03 00.5 75049 04 05 76 07 01.0 75049 09 22 75 04 01.5 75049 09 25 75 01 02.0 75049 09 27 75 03 07.0 75049 09 30 75 01 08.0 75049 10 01 75 04 03.0 75049 10 02 75 04 06.0 75049 10 03 75 01 08.0 75049 10 03 75 04 02.0 75049 10 04 75 03 04.5 75049 10 04 75 04 01.0 75049 10 06 75 04 01.0 75049 10 07 75 01 04.0 75049 10 08 75 01 01.0 75049 10 08 75 04 06.5 75049 10 08 75 05 00.3 75049 10 09 75 01 08.0 75049 10 09 75 04 08.0 75049 10 10 75 01 06.0 75049 10 10 75 04 08.0 75049 10 10 75 05 02.0 75049 10 11 75 04 03.0 75049 10 13 75 01 04.5 75049 10 13 75 04 02.0 75049 10 16 75 05 00.5 75049 10 17 75 05 02.5 75049 10 20 75 04 01.5 75049 10 21 75 01 06.0 75049 10 21 75 04 01.0 75049 10 21 75 05 00.4 75049 10 22 75 01 06.0 75049 10 28 75 01 08.0 75049 10 29 75 04 01.0 75049 10 29 75 05 03.0 75049 10 29 75 06 01.0 75049 10 30 75 01 03.0 75049 10 30 75 04 04.0 75049 10 30 75 05 03.8 75049 10 30 75 06 08.0 75049 10 31 75 04 04.0 75049 10 31 75 05 02.0 75049 10 31 75 06 04.0 75049 11 03 75 06 02.0 75049 11 11 75 01 02.0 75049 11 11 75 05 01.2 75049 11 14 75 05 00.3 75049 11 17 75 07 02.5 75049 11 21 75 05 00.5 75049 11 28 75 03 09.0 75049 11 29 75 03 01.0 75049 12 01 75 07 02.0 75049 12 02 75 01 02.0 75049 12 05 75 03 08.0 75049 12 05 75 07 02.0 75049 12 08 75 01 05.0 75049 12 09 75 01 03.0 75049 12 10 75 01 08.0 75049 12 11 75 07 03.0 75049 12 12 75 01 04.0 75049 12 16 75 01 10.0 75049 12 17 75 01 10.0 75049 12 17 75 07 06.0 75049 12 18 75 01 04.0 75049 12 18 75 07 06.0 75049 12 19 75 07 09.0 75049 12 22 75 01 08.0 75049 12 22 75 07 07.0 75049 12 23 75 01 04.0 75049 12 23 75 07 05.5 75049 12 24 75 07 03.0 75049 12 29 75 01 08.0 75049 12 29 75 07 06.0 75049 12 30 75 07 07.5 75049 12 31 75 07 03.5 75050 01 09 76 05 01.0 75050 02 04 76 07 02.5 75050 10 06 75 01 04.0 75050 10 06 75 05 06.2 75050 10 06 75 05 01.0 75050 10 07 75 05 00.5 75050 10 11 75 05 00.7 75050 10 13 75 05 01.5 75050 10 17 75 05 01.6 75050 10 20 75 05 02.0 75050 10 21 75 05 00.4 75050 10 22 75 05 01.5 75050 10 28 75 05 01.0 75050 10 28 75 06 01.0 75050 10 29 75 05 05.0 75050 10 29 75 06 03.0 75050 10 30 75 05 04.5 75050 10 31 75 01 04.0 75050 10 31 75 05 00.7 75050 11 03 75 05 01.0 75050 11 04 75 05 03.0 75050 11 04 75 07 04.0 75050 11 05 75 05 03.0 75050 11 05 75 07 06.0 75050 11 06 75 05 01.5 75050 11 06 75 07 01.0 75050 11 14 75 01 01.0 75050 11 14 75 05 01.5 75050 11 15 75 01 03.0 75050 11 17 75 05 01.5 75050 11 18 75 05 02.0 75050 11 19 75 05 05.5 75050 11 19 75 07 02.0 75050 11 20 75 05 04.0 75050 11 20 75 07 01.0 75050 11 21 75 05 07.0 75050 11 21 75 07 02.0 75050 11 24 75 01 02.0 75050 11 24 75 05 06.0 75050 11 25 75 01 03.0 75050 11 25 75 05 08.5 75050 11 26 75 05 07.7 75050 11 28 75 05 09.0 75050 12 01 75 05 05.5 75050 12 01 75 07 01.0 75050 12 02 75 05 02.5 75050 12 02 75 07 02.0 75050 12 03 75 01 03.0 75050 12 03 75 05 02.0 75050 12 04 75 01 02.0 75050 12 04 75 05 01.5 75050 12 05 75 05 03.5 75050 12 05 75 07 01.0 75050 12 10 75 05 02.0 75050 12 11 75 05 07.5 75050 12 12 75 05 02.0 75050 12 15 75 05 01.5 75050 12 17 75 05 08.5 75050 12 18 75 05 08.3 75051 01 23 76 05 04.5 75051 01 23 76 05 04.5 75051 01 24 76 03 02.5 75051 01 24 76 03 02.5 75051 01 26 76 05 04.0 75051 01 28 76 05 00.6 75051 02 04 76 05 02.0 75051 02 23 76 05 01.5 75051 02 26 76 05 03.0 75051 02 27 76 05 05.5 75051 03 01 76 05 01.0 75051 03 02 76 05 05.5 75051 03 03 76 05 01.5 75051 03 10 76 01 01.0 75051 03 18 76 05 02.0 75051 03 24 76 05 05.5 75051 03 25 76 05 01.0 75051 03 26 76 05 02.5 75051 03 29 76 05 03.5 75051 04 06 76 05 00.5 75051 10 06 75 01 04.0 75051 10 07 75 05 04.8 75051 10 11 75 05 02.0 75051 10 11 75 05 04.0 75051 10 13 75 05 02.0 75051 10 27 75 05 00.3 75051 10 28 75 05 01.5 75051 10 28 75 06 05.0 75051 10 29 75 06 04.0 75051 12 01 75 05 02.0 75051 12 02 75 05 02.8 75051 12 03 75 05 04.5 75051 12 08 75 01 02.0 75051 12 08 75 05 06.3 75051 12 09 75 01 02.0 75051 12 09 75 05 03.0 75051 12 10 75 05 04.5 75051 12 11 75 05 02.0 75051 12 12 75 05 03.0 75051 12 15 75 05 02.0 75052 01 30 76 01 01.0 75052 02 12 76 07 03.0 75052 02 20 76 07 02.0 75052 02 23 76 07 01.5 75052 02 23 76 09 00.3 75052 03 01 76 07 01.0 75052 03 02 76 07 00.5 75052 03 03 76 07 01.0 75052 03 04 76 07 01.0 75052 03 05 76 07 03.0 75052 03 06 76 03 01.5 75052 03 07 76 07 04.0 75052 03 08 76 07 03.0 75052 03 10 76 07 01.0 75052 03 22 76 07 05.5 75052 03 22 76 07 01.5 75052 03 23 76 07 07.0 75052 03 23 76 08 01.5 75052 03 24 76 07 04.5 75052 03 25 76 05 04.5 75052 03 25 76 07 09.0 75052 03 26 76 05 02.5 75052 03 26 76 07 09.0 75052 03 28 76 07 02.0 75052 03 28 76 07 01.0 75052 03 29 76 07 03.0 75052 03 31 76 07 01.0 75052 04 07 76 01 02.0 75052 04 07 76 07 08.0 75052 04 08 76 07 05.0 75052 04 09 76 05 00.5 75052 04 09 76 07 05.0 75052 04 11 76 03 05.0 75052 09 24 75 01 02.0 75052 09 29 75 01 04.0 75052 09 29 75 05 00.5 75052 10 02 75 01 08.0 75052 10 14 75 01 03.0 75052 12 09 75 01 03.0 75053 09 25 75 05 04.0 75053 09 26 75 01 01.0 75053 09 26 75 05 04.0 75053 09 29 75 05 03.0 75053 09 30 75 05 01.2 75054 09 26 75 01 01.0 75054 09 26 75 05 04.5 75054 09 29 75 04 01.5 75054 09 29 75 05 03.0 75054 09 30 75 04 02.5 75054 09 30 75 05 05.0 75054 10 01 75 05 00.5 75054 10 11 75 05 00.3 75054 11 11 75 05 02.0 75054 11 12 75 01 02.0 75054 11 12 75 05 02.0 75054 11 13 75 05 00.6 75054 11 26 75 05 00.3 75055 10 10 75 03 04.5 75055 10 10 75 03 03.0 75055 10 11 75 03 04.0 75055 10 11 75 03 03.5 75055 10 13 75 05 03.0 75055 10 14 75 04 01.5 75055 10 14 75 05 05.5 75055 10 15 75 05 05.0 75055 10 20 75 05 04.0 75055 10 21 75 05 00.4 75055 10 21 75 05 05.0 75055 10 22 75 01 02.0 75055 10 22 75 05 03.1 75055 10 23 75 05 01.1 75056 01 06 76 05 01.0 75056 01 07 76 05 04.0 75056 01 08 76 05 03.0 75056 01 12 76 05 02.5 75056 01 14 76 05 01.0 75056 10 23 75 04 05.0 75056 10 23 75 05 05.0 75056 10 31 75 05 01.0 75056 11 11 75 05 02.5 75056 11 11 75 07 01.0 75056 11 12 75 05 05.0 75056 11 13 75 05 04.0 75056 11 13 75 07 01.0 75056 11 14 75 05 05.0 75056 11 14 75 07 01.5 75056 11 17 75 05 04.5 75056 11 17 75 07 01.0 75056 11 24 75 07 01.0 RTW4TP6P Ù Ù 50 DUCTD DUCT DESIGN 75511 ISOLT ISOMETRIC LAYOUT 75512 GRAED GRAPHIC EDITOR 75513 ATMS ATU MINI SYSTEM 75514 WP WORD PROCESSOR 76000 OVH GENERAL OVERHEAD 1976 76001 PASS U OF A SPRINKLERS PERFORMING ARTS 76002 PDC PARKER DRILLING CAMP -TOTEM ELECTRIC- 76003 NSTP NANA SEWAGE TREATMENT PLANT -SID CLARK- 76004 LMT LANDMARK TOWERS -JIM CLARK- 76005 MWH MC KENZIE APARTMENTS -JOHN MCKENZIE- 76006 OBE FALCONER BLDG. ELECTRICAL HEAT ADDITION -JAN HANSEN- 76007 DLLVA DE LONG LAKE VILLA -JOE KELLY- 76008 MI75056 12 18 75 01 04.0 75057 01 06 76 05 03.5 75057 01 06 76 08 00.5 75057 01 08 76 05 00.5 75057 10 10 75 05 05.0 75057 10 13 75 05 00.5 75057 11 18 75 05 01.0 75057 12 05 75 05 00.5 75058 10 14 75 04 02.0 75058 10 14 75 05 02.0 75058 10 15 75 04 00.5 75058 10 15 75 05 03.0 75058 10 24 75 04 01.0 75058 10 24 75 05 05.7 75058 10 25 75 04 01.5 75058 10 25 75 05 05.3 75058 10 27 75 01 01.0 75058 10 27 75 05 04.4 75058 10 27 75 06 02.0 75058 10 28 75 05 01.0 75058 10 28 75 06 02.0 75059 10 14 75 01 03.5 75059 10 16 75 01 02.0 75060 10 16 75 05 01.8 75060 10 17 75 01 01.0 75060 10 17 75 05 01.5 75060 10 20 75 01 02.0 75060 10 20 75 05 02.5 75060 10 21 75 05 00.4 75061 10 23 75 01 04.0 75061 10 24 75 01 05.0 75061 10 24 75 04 05.0 75061 10 24 75 05 02.2 75061 10 24 75 06 04.5 75061 10 25 75 04 07.5 75061 10 27 75 04 04.0 75061 10 27 75 05 01.3 75061 10 27 75 06 02.0 75061 10 77 75 01 01.0 75062 10 28 75 01 01.0 75062 10 29 75 01 01.0 75063 01 05 76 01 01.0 75063 01 05 76 0M MUSH INN MOTEL -LANE KNORR PLUNKETT- 76009 PS PROCTOR'S SUPERMARKET -ORVILLE PROCTOR- 76010 VLS VALUE LIQUOR STORE -LANE KNORR PLUNKETT 76011 PPAS PALMER PHASE II - ANCH SAND -AS & G 76012 PAPER PAY & PAK ELECTRICAL REVISION -LAMPLIGHTERS 76013 IAS IRONWORKERS APPRENTICE SCHOOL -JOHNSON 76014 WS WAINWRIGHT SCHOOL -TOM LUNSFORD 76015 LOLA LIGHTING OF LUNSFORD'S ACTIVITIES -TOM LUNSFORD 76016 TSC TIMOTHY SUBDIVISION CONDIMINIUMS -TOM LUNSFORD 76017 GFBC GREATER FRIENDSHIP BAPTIST CHURCH -SHEPHARD & ASSOC 76018 APG ANCHORAGE PARKING GARAGE -LANE KNORR & PLUNKETT 76019 AWT ANIAK WIEN TERMINAL -SHEPHARD & ASSOC 76020 AVCPH AVCP HOUSING -LANE KNORR & PLUNKETT 76021 DCW WAREHOUSE FOR DELCO CORP. -BILL JUILANO- 76022 BRC BUDGET RENT A CAR -LAMPLIGHTERS- 76023 BIP BI CENTENNIAL PARK -ALLEY GROUP- 76024 HEA HEAGY APATMENTS 75 UNITS -TOM HAEG- 76025 GOBM GITTINS OFFICE BLDG. MECHANICAL -TOM GITTINS- 76026 UAKB K BUILDING INDIVIDUAL OFFICES -U OF A- 76027 PSW PEPSI COLA WAREHOUSE -R&M- 76028 RIB ROYAL INN LOUNGE AND BAR -SHEFFIELD- 76500 GC76 GENERAL COMPUTER 76601 CR76 COMPUTER REPAIR BILLWEEK°P   ýÿ³ãêbÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@sãêbÿÿ@ÿ¿ÿÿ@ÿ¿ñÿT Ëé#qÿÍéÃ9ÿÜécLÿÜéÃNÿÝ郜ÿ÷ÿB#áécŽÿ¾êÿ¾ê ÿþÿD¼ ÿÿ ôßñÿ’D9¢(   IBýÿ€D&.LLAñÿ”X¬H¢Dw— ÿÿ{z y {�Ct�#ñÿäD$'’(øƒ�C x�ù {0t ñÿE’D”ij-|6S(32!)  wñÿ’X"G’8;ì;  w�' v§ŽG  ôÿKä($#9Iw  w�' u¦ŽGñÿ”X"9¢$e/T ÿÿ{  CÈ•SÉ…CÊ3§#É–#È–Í*ªKÇ#’)/ ,C’#§‚ #’ -)(’ h3È >3ÉÒSÇ#’) ,C’CÊ…CȃCÉ×SÈÅCÊÕSÉÑ#’’ -) hÙ#Êq4q -*0\qq8©¨ÑSÉÍ­�!KÈ…CÊ#’’ -)" h)3ÉÒSÇ#’) ,C’3È >)3ÊÒ SÇ#’) ,C’CÈ�KÊàq4q0.^! i'‰‚  =€ € _"€)ŽJ€–!–W‰…Bòÿˆ^! i7‰"G‰'ŠWŠB_^)^)K‹!5 L3�ˆ2‡SŽ…CŒ'‰‰ gª !‹´ŒK� ( hŠ+�3ŽÍ ñ_¿!� !� Œ3ŽÒ   hŠŽà3�#ŒB†_3�ˆ‰ú‰Œöõ 0&Š’’2!úÅ Àù a0&Š^ CŠ!QC‹…C� ^ CŠKŒ…P L#Œ)C?‰ú­ h!?C‹…C�#Š3Œ•  /‰ª  g1/µ q1-µ lŠ3�ˆ*‡K�0mªP¶S�*ªK1&$ ‚ 1$#�*¥ ª RÓÓù" \ €‘;3�*1 ·#Š‹01 g[?HD ¥ «œŸ ¢ ¨ ® ± ´·º ?©¤ gª Ñ­ h_‚0 ?ƒû_%€ 3‘Ó!ÍÅ ¿!Ë•;�S‡ˆ_)À)¿ h‹‘ Û^ 1 S‹CŠKŽ! C�‡^ 1÷’—÷ú+Ž ?â_+Ž ?Ý_$PLT$TTP$CDR$TTO1$TTO$TTI1$TTI$LPT$PTR$PTP$TTR…C�…CŽ j'‰‚P0m–2ÒZ'Œ‚À–/Š#‹;�ú   ?…PG�_ 1ÿ!Ç•‚ÀC�!Æ1 ) Å ¥ ð3�+Žª WŽë …PÏ  ?çáÿ„P …P„…C�…C� j3�Ò 2S�'‰‚P0m–SŽ"‚J 1zR Û L5üÐ %ø�Õ9ô+ªJÓûƒú1d<8 "*7#Š‚P+�ªZAªš4?‹û 8;‹+;)J½ ­ú› ú” ? ú” )? ?Ê3ŽJ+�J52/‰¶B…P� )-µ ¹)(Í ³!(ÆGŒ_­?‹û 8;‹+ ?íߪ›­ ?ØG‹_)Í ›! Æù/‹ *?ÙË÷ú à �ÿˆ  0m"ÿ�¬ýJZÓÓƒû_ j'Š/‹�Ϧ…G‰_ j'Š/‹§ù j'Š€ô j/Š7‹ ÇÐé j'Š/‹ªæ1ªJÌà©‚P«þÜÎ Ù‚�«þÖ j'‹ 'Ч„G‰_ò)õ�‚ a€­QªPƒþ8 j'Š ñ'‰°Ç¦G‰_ j'Š ç'‰¨§G‰_^ÿÿÿÿÿÿvÿÿ D +0BILLA V aš-™ ˜ NšC�“#�ƒC� O—�ù (šO“ ›U(S23)! F – F –'� O•§GŽ F – F –'� O”¦GŽ V =š )š� ›ˆ(1X,S23)!#�­P¦CŽ V =š= YAÿ'COPYRIGHT (C) DGC,1971,1972,1973,1974ALL RIGHTS RESERVED.8 Yd3 !ü)]·ÅQø#C@kü\kk)z¦=~û C){« )u¦¦)n¦@i9nžX)mŽHn  …P " <98åâ¥7 41ËÂ`ÆC€ÔS�1+2Í*Hh1N¶Pj•Ý#1AöPg…BÓµý0g!±‚PÆA…76029A 76 04 16 08 02.0 76500A 76 04 12 05 01.5 76500A 76 04 15 01 01.0 76500A 76 04 15 05 01.0 76501A 76 04 13 05 02.5 !F i3‹#ŠB)?îJ«KŒ'‰+€ŽK€C�CŠ0tΫ0pÍ,3�*€Ž!,ŽJ€‰'‰CމŒŠ3‰ MGŒø#�‚�CŠ[Œ­P#�3�•Ó w0ŒŒ:ŒKŽŠõªœ¬�KŽ83‹J_3�*ÿ�^!ÿ i.ˆˆ3�"€ŽJ€ÆÎ1Æ0pÍÀ a3ŠB+‰J;�;ˆ+ÿJ_ÿ‰^š+3¾) ÏÀ3 w8;�K†S…_ÿ\q0q!_–PqZüZø(Jû#)X¥Bÿ*û3 l8qSþ2SýSù3ü2 l*8q3ý"�ÿ7ýÒ�Ò•Ž©¨3ý'ý–!S•Kú3ü2+û l*8q3ý#ú:í2 v8qýýüÿî3ý"ªK�23ù"‚À‚‚ª@‚‚ª@‚ƒª@3þ2ÒJ2Î3ø2Ò –J€!3ü�Xq8 \q8q)ü¾XqCüCø2�Sûòš›3÷!ñ�Xq88q)ë½XqÁ™ c^!ÿ L/Š'‹ KG‰_\q’R�ªJ©0’…0 vªK‚ ‚ ©4q8€Y c­ú\qq’… ÒKƒÑÒJªK€©ªJDq…0 x‚  4qÒŠ©ÒJ�q4q8q€I cq…­õ\q8C…!æC††3�&ˆˆ)Î’2! ÇU¶‚û†W†…ñ4qÿÿ€ÿ‰\qq P’"q4qò O;�Cˆ_\q8+�1Š1�1˜1žSTOP PAUSE EXIT ^>ˆˆ&ˆˆ’"‚_(nJÝ_#¦CûúwTt0Zˆˆ;û \ú[Þ;€Zƒû UB…J†ª@J„ª€;ÿû ƒê9LÞ"€žK€î p�'S�X)Cî0Ht*†"…ƒTt0Zˆž+¨  yÿ%B!B _-þ"¦9ü�Z]÷ J y9‚�9ž#€ � K )‚Œ 9 ž#‚B¬K y% y?ø!ÿB 󹄄¼¹"ʹ"¼l l„ìñÿÿù¹Ë¹ß�Ñùû¹ýÿ¹¹„#¹¹¹¹¹¹ ¹¹¹¹/"9 ç9 ž;)<ø ��"*2ÿïÿÿÿÿÿÿÿÿÿÿÿÿÏÜ„„„¹¹¹¹¹¹„×¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹X¹¹¹¹¹¹f„29ø  ÿÿ8 +ÿ9 ! A ! Ý Kžü ³ 0#B*J +: K+K €@:ú�1"€ +� "+�  !+� ­"� :0!–ê 8ÿ9ø 9ø 9 ø 9 ø 9 ø y ÿÿ!°ÿÿÿÿÿÿ0'€ êNj I€ y C€ y „Cº;#€ X y 5€òº0…B#B"B !9 +¿!9+ ¨ ?çÁø       €Ì9"i €Á9ø Ì#X!B*�� *�99í597¾¾Z+$¨ ‚J¨ ©;Zº;ž#€ ªB"† BJ º`¿# € š#€ `ûS:]9 2: S ò8`#+ yã?)ý©9ü#€ ûû«ú y!ò� Z Â2 :Z*¨  ’J ‚  ‚   B`¿=UZñ9"3 Ð "‚ …0B!E)3Ð ÒK " ‚  `¿"€ ] û«`íÿÁáøX:¬Y7{?I3Q31.ö2Ð :CK!*C!)C C(KªQ ‚@C"€�ŒH!@l8 1 ÞY`€8Y#9X1 9 `f?`€ø:#+3P3t¿PÒ 3Ò�Q3;`1Ò ö0BJ#B#B#B B" ‚ …AP �COPYRIGHT (C) DGC,1971,1972,1973,1974ALL RIGHTS RESERVEDe¿)i1YIhQh5gÐ ÒK¬J J…^\õ…@@EPü]K]K]K­PMV)B©P1?ZÓ«ý)=HªÀ18ÎMG18B!4¬M:M:PU@ýZZ –Ú U0žJ JZòø!(-&‚ŠI$M"1*" ‚À Óû‚ bIgIÿ!@`=ø f?øã ³  @  œ OCYPR VE3 0. 0 Ïô€ ¼I Ë¿€±ÿÿmê:…PC…C º„A+\†9€ ø  )i§*® J­PJ `¿A`Q  y'ø  A1B QÚ O)O§)ú�  "1÷B „Aò ‚ 1Ê  1Ç:2QÃø !/ 9õô)010¥Ä­)*¥A´+9)ï 1°9'!­å ! %!¨1¨)¤� !  )� 1�…:C! !•1– ’8 _ az É < Ûä“�ÿÿÿÿÿÿÿÿÿÿj à q† É€]ÿÿ =xRÎâÿÿÿÿ“µÿÿÿÿÎ)ª „ª5ªJ6B !:Ÿ " ‚’.ª’," ýpþ B J Z*8`¿b¬B…B9òÀš�;‚ úÀ)ï ¬�æ…C!æ‚`­P9ïß: …C {"¨�J…BB9 ! ï Ö "¨§B  ")�  …¬J: ø 2… Å *!� !� ) ) " €  /Z …«þpÿœ8!/C!.C7Ð „G:+" €  ¢Êò4H88é#C3Ò�"þ)�  yX8#9å8Cã ZP*ªŠ* :½ *J J ­J   :  15Çú’ÒÀ+Ï‚ÀŽK0*ª‹*:2„!„Y!º"C#‚J‚€‚PC‚ :ø  #€ šüKºC J9"CZ€ ÿZB:+ª‹')x§*9z¿ )u� !xBK)l� * !j�   )f�  : #B !^B )Y� )U� :+º�+9Ђ úÀï‚ÀŽ:#š�K:+ª‹*!E§  *ªÐ®ÿª )@J")2§)-� « ‚  #‚‹!,B:#‚J‚€‚`C;Z‚K!*� "†J* : #�K*ªK9 ï|  ÿ„\  Å€€€   ZZ ÷…B:ø #‚ ô‚K ƒ"B ")ì� bq#)Úš“ªÀ#§‚À:+ª‹c)ϧi)|:¿)}9}¥ä­){¥)|� )o:¿  !Å)u:¿½8* JZ B3)a:¿ /* J¬J )aJ()¢�J J)V¦*9K¿ -)˜J­J¬J &ª” J J*9@¿ ­JJ)DJ ŠÐ™øç4ý®€¢À*=9½!€B)):¿ *9)½ 0 5`:`¿Z:+ªK!Bª€ª`K;ZX:¬  í €@@az€ Pÿ ÿð ) )))) ) X:î8N`@`€b@a€g@a@ ï� ÿ ö!ù!ñÿÿ" ÿÿÿÿÿÿÿÿ!b!cÿÿa›b‚K: ú ‚ƒ‚‚2‚‚0‚‚.‚‚71J9J‚@‚C+ª@ª�KûÓø1D: ú &‚J . p!J e)1§�§* ŽJ " BcB "‚   è#)§À* ¥À)ŽÂ |­ * #® N¦@‚�* bnÛ Ëÿÿü!] Ú­)JB J#)ò§ÅB +;#¦B* ¦+«�"+J )Ý j1æJ)Ú f1âJB" *ªÀ¦*®P®P¦B" ‚À†P‚À9ÍžZC {"� "¦b* l* !¥ ©! §­J *Žn[�!®ùX0:ú�1"€ "+�"+�!+� ­"� 8!™GW#C )¶äëÿ! B") Žj† F* nÛÿYÿÕ9 ‚PÒ@µ µ‚@ûûÊôÿð!ï1BBBB!]­n! i�þ")áŽj† F* nÛ@" € …!2)BÓ«ýÿøÿÿ#uÿÿÿÿÿÿÿÿÿÿÿÿÿÿ#‹ ÿ: ú :*ªK‚J/"‚ ® J , !B!* ¦  #ˆ 8üý)§ ‚Kú "† B!* Ž„ ‚ *ª )û� Š#•*"�º#9&� &:;Z!\"tB !§B�Àª�;"�Z îJª�ª�9 ïí .9 ¾Z9Z ÿ¢�"«"# y!®BB Í ‚  "•"F#§#¥"•"["•"["•"E"•"EB : +¥C": C‚K#Ž 5B#‚Š „PC! ,B#‚‹ …PC!4 y y%"Ô#B ¨  4 ? 2  "ß#B + 6" :ž…C#‚€‚pCÿ0#—X:ú�#)$1!� *)� Ò*#9íçÀ9ìå9ë� ɺ;ž0X‚Š: !+�K eø#«MTCT Ö#€ ±â:KC!ª#';+µ ;Z *½Z š�#)>�¥À9¹å98� 4ª  9²í91½ -šPúPæP¦B Æ@": +C‚   É¥B‚J  )� ù X W": +ŒK / Oþ L V ' ÿ#Â#Á" € !X: ;!©� : '• „Gb@)ÿa€)ÿc)ÿX:îN+ å|Z) 9 ç î: îJ9Z0@¢© {" à"³X)� !Â* ¦8Õ€…Q…Z)9B" ¦BZ…Q…Z)9ô ¢£¢¥""ÿ"*""""ÿÿ#ì#ã#ç" ba’f’" djR—q@ . 5 Û;Ø1ýë3µÇÙëý#tø  E’IŶ[Úmþ"‘F£! ² òz Dò/ ÷ÎåE j E e “ ÄÒP­pÒPª@ÒUzÒTzª@X| AŠÀ A¦À(xŽHx|X|º+X~PpÙ8B¾# Ø 0$~~‚K~ @&0×Ö   ÖÎ  , x‚?0'BþÀp|†”$ö%4Tÿÿ��Œ ÿÿ(Ï#ˆÿÿ—ÿÿ—  S S!A "!< "­H)M?„8 3B2!%C !"C #‚ !,E,!,E,5*8 ;)¾X!((¦Cù¦æ@- 1 -¥ 1S0 J�Œ= &- D B ü : 0‚º}ü™ .©)ëîPK!îæPC !èæC!äæC !äæC%!àæC!ÚæPGG G%!æC )â1â ?“ÓÍú­KKK!Ì  ­!Ê !Ç # *Ú­KKKKK!°((¦CùæPCCC$#‚ 'G .'%‚ +' )^� #+‚‹M!W *Ú'7 ?]0)Ò  ?ž .?›¦3Åb)“¥ *1Cµ 郃3B"G G *Ë1"Ó€ ¥ Óúõ Ñ;?/l² E E@h² ê,F)V(%[á]ìÿÿÚ "²C-! *Úÿÿ-ª ^ÿ•D 8G ¦««O)õÍ õ)Ð *ƒ)Æ *' /“1éêÕ#‚ ' G+ªLW% *­­ *ó)ÕÅ *óK‚ ”#‚ ;#¬K,) D„¨ Nƒ& l‚Ÿ Tƒ< L W R T � Ç ˜ Ò Ì ç ‚ Š ñ F K ü … ü l  z » ‚  �  Š $ · r ç x ê € í ¤ ­ ª“ ²¬ †Õ  W Ò - j T ¦ ¬  T t T x T Æ T Ô T Ì T  T | T  T d‚{ Š T   X À T L € l O ’ k ž x º € À � Æ ˜ Ø   Þ « ä É ²h ¹q ¸w ¬l ˜°ÿÿ‚¿SQUASHDELETER RLDRUNMATCHED @ NO MORE CHANNELS. ^D:^D:^D .DISKMKSAVECHAINDEBEXFGBATCHUNLINKSPEBLSPKILLSPDISREVLISTCREATECCONTCDIRBOOTENDLOGREPLACEGDIRMDIRGSYSCPARTCLEARGMEMSMEMXFERBREAK FBREAK.SVSTACK OVERFLOW. LOG FILE ERROR: LOG FILE CLOSED $TTI$TTOCLI.OLCHATRCHLATFCOM.CMFSYSGEN.CMSYSGENASMMACOVLDRAPPENDRENAMEEQUIVFILCOMLOADDUMPTYPEPRINTBPUNCHMKABSALGOLFORTRANFORTREPEAT ERROR. BRACKET ERROR. INITRELEASEINT LFECLGSDAYSTODGTOD *ƒª ü) ¦ *9Bþí û ,ÿ‚ ‚ *ƒª ü‚ Bÿ ,Õ *²Àƒ *ƒ;ú¶SÿÕôS ,²À *§¢)Ϧ *¨9 ×ÀÐϨ * ,ÿÿK­QKK­�KC!BæPCC# *1;Í ;# *ª ô#+ªK3 ? Òœ ,0)Ò , ? .? ,1ºC©KK1µÑKCÓ+�39Ý , ?;úû ,;úS , ^# *1xS7Ð ¶Í ù3ú&ûû–*# *kE­# *û¡ÆP1[U­Q­Kû# *1+Í#‘¥'C +K �K # *# *Ó ö1+¶*3 # *Óû#+ ¥+¦Cy 0ä–*# *:+C¥Cö–"+ *ëKï–"+ * ­ù) �¶ŠÀ!�"²+ *ûíÿ¢IéP-W�OŽDÑCÙEÞ�0ŠFÞTB�ZŒÿÿû# *3#Å�± #) *ƒÓüC¼ –*3ú&ûû–2# *‡¥YSTSMEO TUUP TIFELE RRROCK *# *ª #öBÿ ,CK2Ñ *# *#Ó÷#3úìš�!+‚ ªÀ�Jÿ ,1 Ïš’ÒÀ#ǪÀŽK ,ÿ² *µ ª  ƒù3úû‚ Bþ ,3úû² îBÿ ,²C…C!&C'­«•þ–‚�#Ž !Ž# *‚ ì3Ò #) *ƒ­ *3úBþ ,0e'èd ²P)K)ª@)K)ÒPª@ý *ƒõ­ *3úBþ ,K*KC!/æC!-CÕ0#+ *Ñ‚JCKÓ÷)Ò Î ‚ )# *32Ò�æ1µ ) *ƒ­ *3úBþ ,0 ¼;šÊõᘖ€B@† 'èd ’º#+:2Íäå8;úKÿCþ ,ÕS *ª ƒK1·)µ +1Ï3ÒR ÒSÒR¶ê;úSÿû ,;ú1S ,Íø0ÕCS *ª !¥ !1̤�3ÂS‚R–ÒR ¶#è;úSÿû ,90 1;úS ,ÍCK‚# *²‚ # *ª ‚ Í ð‚ ,3úû ,2 * sC)^ *5 ­K )î "  ŠÊ# *ë#)î "  # )G�3úû ,1Ê3úJ ,„ … …PC"þCK*K *ë#+ª  )# *#Š# *ë#‚ ,+ª    )×î " Í# ) �Å1ÍÇ+ª Äò.€‚@‚�)410Å).�Ŧ1%—‚�‚�‚�­  !)ЦÓþ‚P3ú *ª *ÿ *ëJÿ ,3ú*ÿ! *ë¢*þ *kŠô SÀЊ!2 *Úÿÿ ,2! *Ú ,ê^E, FILE: ^C úERROR: ^E UNKNOWN ERROR CODE=T0BþJÿZûû;Züª@Jýª€+ÿ99"ùžÞKùXSúî -�!, !H-+ùö"þ*ÿüT0BþJÿZû<à8 -å)¤� H-;úX#ý‚€#þ+ÿ3û 3ú¥ØŽFILE WRITE PROTECTEDFILE ALREADY EXISTSFILE DOES NOT EXISTPERMANENT FILEFILE ATTRIBUTE PROTECTEDFILE NOT OPEN­P­K *– ,C *–ACC# @ =C…C!²*«K)U3# * s­ ;+ !=­ 9#*1Ï    "«ù!4• ª1Á+)#*  !, #  ‚ ,ºª�/1## * å# …Pé)µ ‚  Á * å…Pß$  ¬®.OLLEFT: ^D, USED: ^D MAP.DR­K Ë *ª1 Ϭ *–o m , *–f d , *–^ \ ,­ ­PK1&öS1 *–M * KOÓ÷ #+39õ9ö ": ,#+3 "3 ,ÿý°l­PK "CK)¶S "SKC+! *Ü ,D!®^D/^D/^D ^D:^D:^D ÿ * î ,¬­ ­P *–ò *– ,ª ª� " èö " äò " àî *–Ú0 *1ª "(} , >ÐC)UîPK *– *ª1L· öC!RC+!T * ¢!I 1B ?[P)# *ª12· # *– , *ª1*Ï ù­ *5(1(�µ²)( *û ,# "!æPC ")!æPC ".()! *Ü * ºÒ ã ÿú .\êLOG.CMô^C:^Cü ** LOG FILE ** ^C [^C:^C] * å ,1Ý(. *–)Ü * -õª ó  έH)1Ï!ÌJÓƒý ,Ð4 *– ,C)1 öP * sÂ)î " ÓC1öP) * sÂ)î " Ç+ "/Ã#ஞ.OR# *–VC1LöPS)F * GU Q J)B� J…)C 'B!;æP)5 <#‚ ƒÀ)7ŽP…p '3!,æP)& -+¨ ­!$§CªÀ! �K! *Ú  ,2^C^T^D^Z2.^D^Z2 F.SVÀ ÿ ÿä * îâ1ù# * åÝq0 2 *ªZ*:X8úœ!`‚":ú�Y :2` ‚•`‚Õ×åYÿ8ú `¿8 ; CKS1ó(KK*KÓÓ@S+® K0Òœâ`‚ò†1RÜ sñ&( ø#ˆ©&(&;ÿ#\#ˆ£#²#µ.19µ ©#¨#²#¶15µ #·#»¶#¨#´�#Ì‚ &:½þSÏ 0‚ ÿÿÿÿEDIT.SV.SV 2#Òq4qÌ…�CÒÉÑEDIT JOBS A11,A2 ORT/M BILLWEEK BILLAST BILLOUT/O 24/R 1.6 8.11 1:7 8:17 4:FORT3.LB FORT4:FORT4S.LB 5 6:10 15:2 17:5 24:1 CÐ#Ê‚› …SÏ 0‚ 43ÏÐ#ÊЂ•6CÊÊ… v‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 33�…PCÐ#Ê‚› SÏ 1 33ÏÐ#ÊЂ•CÊÊ… v‚²ì…CÐ#Ê‚PCÊéÊç­ 5q4q8\qq83¡"ª‚(:ÿ\qÞXs‚s$sLsŠqû"þ)&¥Bþ"­î9!çÞïÀs$s‚ÀŸîåLsŠ9qö"þ)¥BþÍ:ÿ\qPs D„¨ Nƒ& l‚Ÿ Tƒ< L W R T � Ç ˜ Ò Ì ç ‚ Š ñ F K ü … ü l  z » ‚  �  Š $ · r ç x ê € í ¤ ­ ª“ ²¬ †Õ  W Ò - j÷\¡ Þ(Sª‚‚"‚Ý ÌŠ(‰ KŽHK:ú‚BFÝð8(8‚Š:úÝ9øžZ »Ä ÌŠ »§ »y 8å:úÞ9èžZR:KKÝ0G »Ÿ »¨1M2ýÒ"8(8:úŠJ&:K@g8Œö »›í#º-ÿH^ »µ8òyPW"Y-0W2*¢b¡`Š ¯@XX0W ¸ Ë0W Ì‚ÀŽ ¯:"�ƒ3ûX\ ¸ °8\Xù0W ¸ Ë8“� 2. »Ä · »‡Å8\¢…P3ûûX\*32µÓ ¯Š… Ö ¯XX퀀"AP.DR IS ERRONEOUS. INSUFFICIENT MEMORY FOR OPERATING SYSTEMCOMCM6 Ù Ù ÿÿRh >RÒ 6ÿ¬9«ZÿùJBÓÓûû V% T ÿÿÿÿÿ!­ ! >\MEMOVFL h$TTO  9æ#›ÿ  ÷ÿŠ @€ÀwøÿÿX¹­X¹­P„ X¹­X¹­P…CÆK‰!QæPC’C“!Næ‚PC”!KæC¡!LCACü…C¥C¦CÅCÄC˜CŽCŠC‹CŒCšC‘!À#• -!‰+™� !�� !„� ­#• b•#�‚�#žC© /’1H ?•îÌ í�#”C• 7ÿ•GŸ1…+—ª ÒJ#˜�+ŽÒ‹¥ 23¡"ÿ–"ÿ)'¦'Bÿ3¡"þ)§ €Ù […GŸ+Ÿª`ÂP2ÿÑÐ` L3¡"‚ "ý‚…�*þªÀŽ'Ÿ¦GŸ+Ÿ#žŽKŸÄÿ€,àÿ´3¡*ÿKÇ1üö…BÓÇý)ôJÿ .‚ Ì\k8k3¡#©–žDk"ÿ+³‚«¦BÿÑÐùøkõ8k4k\k)83¡;©ùNVSCÿ( Ù Ù ) DIMENSION IT(20) CALL OPEN(0,"BILLA",2,IERR,24) DO 9000 I=0,10000 READ(0,200,END=9999) IT(1) 200 FORMAT(S23) IT(3)=IT(3).AND.177400K IT(3)=IT(3)+101K CALL FSEEK(0,I) WRITE(0,210) IT(1) 210 FORMAT(1X,S23) CALL FSEEK(0,I+1) 9000 CONTINUE 9999 END {b |ôÿE’$$wŠbi1(,X2S)3!�#P­¦ŽCñÿYb%’$%m U{ Aÿ'üÿ�Dâº{ÿÿ@�¿~÷ÿ€H4þ—h¡Mn_ x8êÿÿÿÿ û_€"‚€BÓûû«õ8¨îíÿüª #“C’3– A"‰•#‰3–‚ #“C’ Aa#‰‚ ^#’’ -­ b?#’ -)s b‹#“3– @C’L < 3Œ+›ª «J#�B3ÄÒœCÀSÁK¿Ä3ŒÒ "C� = Ä#Ä‚œ#Å‚  î3›#‰‚  >…PC› >ù3™#‰‚  ? ð ?’êÀ™ [À!þC�Ó#›CŽÞ+’#“3œ´–ÒJð#•­ b3œÓƒC•#”+ŸªP LY 3œ#Ÿ‚P >PµSÇ#’) ,C’I3›#‰‚  >±SÇ#’) ,C’« #•)þ b3œÒ�1¾Å+ŸªP1º L,3œ)¶µÒJSÇ#’)ë ,C’)­²¶#Ÿ‚P >­#• b•#” aƒ1Í ü1Í 1 Í „…GŸ€¹ [û×FT 3Â#—‚ 3œÑ÷#’ÐSÇ)¹ , -)ð?Ÿú )î bƒC’è'�C��3� KCŸ…PC +�h < 7�")� !O•SÇ K’*3‹J+�JR3ÇÓCÇ IGÇŸB3‹…Bô3‹"‚ 3� KCÇ!)3�– I/ÇŽOÇ„P3�• I/Ç¥3‹"C�Û3� KC¥×3� KC¦Ó� = Î) 3�ÎK� K’;‹+Jó3� KCÇ“ KCŸ3Ç K’ EC ")�K�1´¶"Cž1¶"CÂ3 #�)æ¥J ¥­ÒPS     À#�‚P+‰ª )CÃÕS ?C#Ã�€ a1ïµSÇÒ#’ -)è b’#à aª ƒü3Ç‚�C�Ò 3–#“+’ @4C’Ÿ ^ÕP¦ð#�ò GKŸ…PC 3�"ÆC�Ó I’¤š3�#�Bˆ#—‚ º#š‚ ##Æ‚ #‰‚  #’ -)­ b‹#“3– @…CACüY#¥)µ #¦‚ 3�Bˆô€é [7Å#¿C›#ÀC�#ÁCÄ›%C™% LA­ÙS#Æ‚ O#—‚  #™)ó� D)ñ� ñ)ò� í#�+žK©+’K¤‚�O3¡…Bý#žBÿÊP–…Bÿ#Ÿ‚`3žÑÐ` L3¡'Ÿ‚Ný)&§ÀBþ"Cà 6C¢#¨C£#—‚ #™)� )� 9+£3ŽÍK£) � [) � €™ [VãíEFDG+ž3 … o‚¬#Ÿ’¶SŸÕPS ‚PªP3– B�'Ÿ 9+œ3—Ò +ÂKœ’ :#¤+œ¦C’+Ÿ×#Ž+£ŽK£+œ#˜Œ²BCÃ#¢3£ :+ë3£ÒKÕ ;#™)Æ� ã1 )#’SÇ ,C’Ü *3œ)þô#Ž•S£+œ#˜�!ô�ªJô3Ž#¢ :+˜«3ŽÒKÕ ;#’ -)› b’#”C•#Â#£ 9)Û’ :²#ÂCœ#�)‚š)K˜Ú3£ÒJÒ#˜ÅÏ+œ1ÈÍ«\kk8…CÒ3¡#©Bÿ)`†P¦Bþ…)ZBÓ«ýCËBýCÌCÎ#”CÑ#Ñ aѪ 61Rµ ù1Jµ 1Hµ Ë#Ñ aѪ '1Cµ );1;µ .19µ +17µ $15µ &13µ #!+3�–¤´�#Ì‚ ΢3�SÏ 0‚ 4Ø€Ù [3¡#ËBý#Î 2#Òk4kÌ…�CÒÉÑ 7ÿÑ+ΦCÎÒìÿû@0+-.ED ÿª\k8+¡3©SɶSÈ3ÏÈ/È oOÈÉû4k\k8#¡CÈ#©CÉ3ÏÉ…/È qÉ4kOÈÈø\kk83�‚J‚J$CÊ…PCÐ#Ê‚› …SÏ 0‚ 43ÏÐ#ÊЂ•6CÊÊ… o‚²ê…CÐ#Ê‚PCÊçÊå%�CÊ­ 33�…PCÐ#Ê‚› SÏ 1 33ÏÐ#ÊЂ•CÊÊ… o‚²ì…CÐ#Ê‚PCÊéÊç­ 5k4k8\kk83¡"ª‚(:ÿ\kÞXm‚m$mLmŠkû"þ)&¥Bþ"­î9!çÞïÀm$m‚ÀŸîåLmŠ9kö"þ)¥BþÍ:ÿ\kPm3ÉÒSÇ#’) ,C’CÊ…CȃCÉ×SÈÅCÊÕSÉÑ#’’ -) bÙ#Êk4k -*0\kk8©¨ÑSÉÍ­�!KÈ…CÊ#’’ -)" b)3ÉÒSÇ#’) ,C’3È >)3ÊÒ SÇ#’) ,C’CÈ�KÊàk4k0.X! c'‰‚  =€ € Y"€)ŽJ€–!–W‰…BòÿˆX! c7‰"G‰'ŠWŠBYX)X)K‹!5 H3�ˆ2‡SŽ…CŒ'‰‰ aª !‹ 7ŒK� ( bŠ+�3ŽÍ ñY B!� !� Œ3ŽÒ   bŠŽà3�#ŒB†Y3�ˆ‰ú‰Œöõ 0&Š’’2!úÅ Àù [0&ŠX CŠ!QC‹…C� X CŠKŒ…P H#Œ)C?‰ú­ b!?C‹…C�#Š3Œ•  /‰ª  a1/µ n1-µ iŠ3�ˆ*‡K�0gªP¶S�*ªK1&$ ‚ 1$#�*¥ ª OÓÓù" V a €‘;3�*1 ·#Š‹01 ê Þ? Ë Ç $ *   ! ' - 0 3 6 9 ?ª�ü©¤ a­ bY‚0 ? ƒûY3‘Ó!ÐÅ Â!Ε;�S‡ˆY)Ã) b‹”X 1 S‹CŠKŽ! C�‹X 1÷  ÷ú+Ž ?ãY+Ž ?ÞY$PLT$TTP$CDR$TTO1$TTO$TTI1$TTI$LPT$PTR$PTP$TTR d'‰‚P0g–"‚JC‹2Ò  …/Š o3‹ '?Y�) [Y�ù [Y„P …P„…C�…C� d3�Ò 2S�'‰‚P0g–SŽ"‚J1h= : "*7#Š‚P+�ªZAªš4?‹û 8;‹+;)M½ ­ú› ú” ? ú” )? ?Ê3ŽJ+�J55/‰¶B…P� )0µ Ë)+Í .!+ÆGŒY­?‹û 8;‹+ ?íߪ›­ ?ØG‹Y)Í ­!Æù/‹ *?ßËÿ� ÷ú! ÞÿŠ!õæP ".¢�+ŠªPKž)ëîKŠªPKŸ)çK�#ž a8ª 1áµ  #Ÿ b8Ÿž�ò1Ú±#Ÿ­ b8 xX!ÿ c.ˆˆ3�"€ŽJ€ÆÎ1Æ0jÍÀ [3ŠB+‰J;�;ˆ+ÿJYÿ‰Xš+3¾) ÏÀ3 p8;�K†S…Yÿ\k0k!_–PkZüZø(Jû#)X¥Bÿ*û3 f8kSþ2SýSù3ü2 f*8k3ý"�ÿ7ýÒ�Ò•Ž©¨3ý'ý–!S•Kú3ü2+û f*8k3ý#ú:í2 o8kýýüÿî3ý"ªK�23ù"‚À‚‚ª@‚‚ª@‚ƒª@3þ2ÒJ2Î3ø2Ò –J€!3ü�Xk8 \k8k)ü¾XkCüCø2�Sûòš›3÷!ñ�Xk88k)ë½XkÁ™ ]\k8C…!æC††3�&ˆˆ)Î’2! ÇU¶‚û†W†…ñ4kÿÿ€ÿ‰\kk K’"k4k\k8+�z€ˆŽSTOP PAUSE EXIT Tn0Zˆˆ;û \ú[Þ;€Zƒû UB…J†ª@J„ª€;ÿû ƒê9LÞ"€žK€î j�'S�X)Cî0Hn*†"…ƒTn0Zˆ AT LOC. J, CALLED FROM LOC. ` ÿ‹?ð»6€y€‰�‰X­J† a“¢Y _Â3�†øX²C‰…C‹!&CŠ'Š­«•þ–‚�…pCŒ#‹Ž  !Ž#‰S� b3�‹‰ŠŒê3‹Ò #‰) bƒ­ b3�B…Y0t'èd X²P)K‰)ª@)KŠ)ÒPª@ŠýS‹ b3‹ƒ‰ô­ b3�B…YXÿÿ ) � Z! ùXÿÿ B…ò Xm’�*‚ ªÀ!�Â@8mXm1 Ïš’ÒÀ#ǪÀŽKâ@8mÿX)ÎK‰2�*ˆKŠŽJˆ‚YC‹3�*�7Š f8W‰‰Š‹÷Yÿ‰X)ýÎK‰2�&ˆˆå(!ÒZŃ�¶•֠Ŷ2€2ÒJþÿÿÿ…0Xm9 ªƒ‚�Æ�ûüª°8mÿðXmÅ 9üªP‚@ŠŪ@ûûý!ý8m20 2 *ªZ*:X8úœ!`‚":ú�Y :2` ‚•`‚ÕYÿ8ú `¿8 ; CKS1ó(KK*KÓÓ@S+® K0Òœâ`‚òLLBQx8 Ù Ù 9:;<=>?@ABCDEFGHIJKLMNOPQRSmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£74001 76 01 28 05 01.4 74004 75 12 01 01 14.0 74004 75 12 02 01 01.0 74004 76 03 08 01 13.0 74004 76 03 08 05 12.0 74004 76 03 09 01 18.0 74004 76 03 09 05 12.0 74004 76 03 10 05 06.0 74004 76 03 11 05 02.0 74004 76 03 19 05 01.5 74011 75 12 02 01 01.0 74011 75 12 03 01 02.0 74011 75 12 23 07 01.5 74011 76 01 06 01 04.0 74011 76 01 06 05 02.7 74011 76 04 01 01 03.0 74027 75 12 18 01 01.0 74027 76 01 15 05 01.5 74027 76 03 31 07 01.0 74028 75 08 04 01 01.0 74037 74 11 06 07 07.0 74037 75 11 04 01 02.0 74037 75 11 05 07 01.0 74037 75 11 07 07 03.0 74037 75 11 11 01 02.0 74037 75 11 11 07 05.0 74037 76 02 23 07 01.5 74037 76 02 23 07 00.5 74037 76 02 24 07 02.5 74037 76 03 29 07 01.0 74037 76 03 30 07 05.0 74037 76 03 30 07 03.0 74037 76 03 31 07 04.0 74037 76 04 01 07 08.0 74037 76 04 02 07 08.0 74037 76 04 05 07 09.0 74037 76 04 06 07 06.0 74037 76 04 08 07 03.0 74037 76 04 09 07 03.0 74042 75 07 25 01 04.0 74042 75 12 30 07 00.5 74042 76 02 24 07 04.0 74045 75 11 12 01 04.0 74045 75 11 26 01 02.0 74045 76 01 16 05 00.5 74045 76 02 23 07 01.5 74045 76 02 23 07 01.5 74045 76 03 05 01 01.0 75000 75 07 21 01 03.0 75000 75 07 24 03 01.5 75000 75 07 24 05 00.5 75000 75 07 29 04 02.0 75000 75 07 30 01 02.0 75000 75 08 01 01 03.0 75000 75 08 05 01 03.0 75000 75 08 07 05 02.0 75000 75 08 11 05 01.5 75000 75 08 13 05 00.5 75000 75 08 15 01 04.0 75000 75 08 18 01 05.0 75000 75 09 03 05 00.5 75000 75 09 04 05 01.0 75000 75 09 13 05 01.0 75000 75 09 17 04 06.0 75000 75 10 03 05 01.0 75000 75 10 07 05 01.8 75000 75 10 09 05 07.0 75000 75 10 13 01 01.0 75000 75 10 14 01 02.0 75000 75 10 25 01 02.0 75000 75 10 30 01 01.0 75000 75 11 03 04 02.0 75000 75 11 04 01 02.0 75000 75 11 06 01 01.0 75000 75 11 10 01 01.0 75000 75 11 12 07 03.0 75000 75 11 13 05 01.9 75000 75 11 14 01 04.0 75000 75 11 15 01 03.0 75000 75 11 17 05 01.0 75000 75 11 18 05 04.0 75000 75 11 18 07 02.0 75000 75 11 20 05 01.0 75000 75 11 21 05 01.0 75000 75 11 24 01 02.0 75000 75 11 24 05 01.5 75000 75 11 25 01 02.0 75000 75 11 26 01 03.0 75000 75 12 01 05 01.0 75000 75 12 01 07 02.0 75000 75 12 02 05 02.0 75000 75 12 03 05 01.5 75000 75 12 05 05 01.0 75000 75 12 08 05 01.0 75000 75 12 09 05 01.0 75000 75 12 10 05 01.5 75000 75 12 12 01 01.0 75000 75 12 12 05 01.0 75000 75 12 14 01 12.0 75000 75 12 15 05 01.5 75000 75 12 16 05 01.3 75000 75 12 16 07 08.0 75000 75 12 17 07 03.0 75000 75 12 18 07 01.0 75000 75 12 22 07 01.0 75000 75 12 24 05 04.0 75000 75 12 24 07 01.0 75000 75 12 29 07 01.0 75000 75 12 30 07 01.0 75000 75 12 31 07 00.5 75004 75 08 09 01 03.0 75004 75 08 09 03 01.0 75004 75 08 12 04 01.0 75004 75 08 12 05 04.0 75004 75 08 13 05 03.5 75004 75 08 15 01 02.0 75004 75 08 16 03 03.5 75004 75 08 16 04 08.5 75004 75 08 16 05 08.0 75004 75 08 18 01 02.0 75004 75 08 29 04 01.5 75004 75 10 15 01 11.5 75004 75 10 16 01 06.0 75004 76 02 16 09 00.5 75005 75 07 30 01 01.0 75005 75 07 30 04 06.0 75005 75 07 30 05 06.0 75005 75 07 31 04 06.0 75005 75 07 31 05 00.5 75005 75 08 01 01 01.0 75005 75 08 01 04 03.0 75005 75 08 01 05 00.5 75005 75 09 30 04 04.5 75005 75 12 22 07 01.0 75005 76 01 15 07 07.0 75005 76 01 16 07 01.0 75007 75 09 16 04 03.5 75007 75 09 17 04 03.5 75007 75 09 18 04 07.5 75007 75 09 19 04 07.5 75007 75 09 20 01 03.5 75007 75 09 20 03 03.5 75007 75 09 20 04 08.5 75007 75 09 22 04 05.5 75007 75 09 23 04 05.5 75007 75 09 24 04 04.0 75007 75 09 25 04 03.5 75007 75 09 26 04 03.5 75007 75 09 27 03 01.5 75007 75 09 27 04 04.0 75007 75 09 29 04 05.5 75007 75 10 01 04 03.0 75007 75 10 02 04 01.0 75007 75 10 03 04 04.0 75007 75 10 04 03 03.5 75007 75 10 04 04 08.0 75007 75 10 07 01 04.0 75007 75 10 08 04 01.5 75007 75 10 08 05 05.7 75007 75 10 10 04 00.5 75007 75 10 11 04 05.0 75007 75 10 13 01 01.0 75007 75 10 13 04 06.0 75007 75 10 13 05 01.5 75007 75 10 14 01 04.0 75007 75 10 14 04 04.0 75007 75 10 15 04 08.5 75007 75 10 16 04 08.0 75007 75 10 16 05 06.2 75007 75 10 17 01 01.0 75007 75 10 17 04 08.0 75007 75 10 17 05 02.0 75007 75 10 20 01 05.0 75007 75 10 21 04 01.0 75007 75 10 22 04 06.0 75007 75 10 23 04 03.5 75007 75 10 23 05 01.8 75007 75 10 24 04 02.5 75007 75 10 24 05 01.3 75007 75 10 27 01 04.0 75007 75 10 28 04 01.0 75007 75 10 28 05 05.5 75007 75 10 30 04 01.5 75007 75 10 31 05 00.8 75007 75 11 06 01 02.0 75007 75 11 07 07 04.0 75007 75 11 10 07 03.0 75007 76 01 13 08 03.0 75008 75 07 31 01 03.0 75008 75 07 31 01 06.5 75008 75 11 22 07 00.3 75008 75 11 23 07 02.3 75011 75 08 07 01 02.5 75013 75 08 08 01 02.0 75013 75 08 28 04 07.0 75013 75 09 08 05 02.5 75013 75 09 09 04 02.5 75013 75 09 13 04 02.0 75013 75 09 24 01 02.0 75013 75 09 24 01 02.0 75013 75 09 24 04 04.0 75013 75 09 25 04 02.0 75013 75 09 26 04 03.0 75013 75 10 20 04 02.0 75013 75 10 21 01 02.0 75013 75 10 21 04 02.0 75013 75 10 22 04 01.5 75013 75 10 24 01 03.0 75013 75 10 27 04 04.0 75013 75 10 27 06 02.0 75013 75 10 28 04 07.5 75013 75 10 29 04 08.0 75013 75 11 04 04 03.0 75013 75 11 17 07 01.5 75013 75 11 26 01 03.0 75013 75 12 02 01 00.5 75013 76 01 05 01 01.0 75013 76 01 19 01 02.0 75013 76 01 20 01 02.0 75013 76 01 22 01 05.0 75013 76 01 26 01 02.0 75013 76 03 24 01 02.0 75013 76 03 31 01 01.0 75013 76 04 02 01 01.0 75013 76 04 05 01 02.0 75015 75 10 08 04 00.8 75022 75 07 24 01 01.0 75022 75 11 17 07 01.0 75022 75 11 18 07 03.0 75022 75 11 19 07 01.5 75022 75 11 20 07 03.5 75022 75 11 21 07 04.0 75022 75 11 26 05 00.5 75022 75 11 28 07 04.0 75022 75 12 18 07 01.0 75022 76 01 12 08 05.5 75022 76 01 13 08 03.0 75022 76 01 15 08 01.5 75023 75 11 17 07 01.0 75025 75 08 14 04 02.5 75027 76 01 19 05 00.5 75027 76 01 19 05 00.5 75028 75 08 04 01 03.0 75028 75 08 06 01 03.0 75028 75 08 07 01 01.0 75028 75 08 08 03 04.5 75028 75 08 08 03 02.5 75028 75 08 09 03 04.0 75028 75 08 15 03 07.5 75028 75 09 09 05 01.0 75028 75 09 26 01 04.0 75028 75 10 02 05 01.0 75028 75 10 03 05 04.0 75028 75 10 04 05 03.0 75028 75 10 23 04 01.0 75028 75 10 23 06 08.0 75028 75 10 24 06 04.0 75028 75 10 29 01 07.0 75028 75 10 30 01 04.0 75030 75 07 19 03 04.0 75030 75 07 23 05 01.5 75030 75 07 24 01 02.0 75030 75 08 13 01 04.0 75030 75 08 29 01 02.0 75030 75 08 29 04 04.0 75030 75 08 30 03 03.5 75030 75 09 02 04 08.0 75030 75 09 02 05 07.0 75030 75 09 03 04 10.0 75030 75 09 03 05 08.0 75030 75 09 04 04 04.5 75030 75 09 04 05 07.0 75030 75 09 05 04 07.5 75030 75 09 05 05 01.0 75030 75 09 06 04 11.0 75030 75 09 06 05 09.5 75030 75 09 30 05 00.5 75030 75 10 01 04 00.5 75030 75 10 06 04 06.0 75030 75 10 07 04 05.0 75030 75 10 20 04 04.5 75030 75 10 21 04 04.0 75030 75 10 30 04 03.0 75030 75 10 31 04 02.0 75030 75 11 01 04 04.5 75030 75 11 03 04 05.0 75030 75 11 04 04 04.5 75030 75 11 05 04 08.0 75030 75 11 06 04 08.0 75030 75 11 06 06 01.0 75030 75 11 07 04 08.0 75030 75 11 10 01 05.0 75030 75 11 10 06 05.0 75030 75 11 10 07 05.0 75030 75 11 19 05 02.0 75030 75 11 20 05 04.0 75030 75 11 24 01 01.0 75030 76 01 07 01 04.0 75030 76 01 11 03 04.5 75030 76 01 12 01 02.0 75030 76 01 12 03 02.5 75030 76 01 13 01 04.0 75030 76 01 14 01 08.0 75030 76 01 14 03 02.0 75030 76 01 15 01 04.0 75030 76 01 15 08 01.5 75030 76 01 17 05 01.2 75030 76 01 17 05 01.2 75030 76 01 17 05 01.2 75031 75 07 23 04 01.5 75031 75 07 24 04 03.5 75031 75 07 25 04 07.5 75031 75 07 27 01 02.0 75031 75 07 28 04 03.0 75031 75 07 30 01 01.0 75031 75 08 01 03 07.0 75031 75 08 01 04 03.0 75031 75 08 04 01 01.0 75031 75 08 11 05 01.0 75031 75 08 20 05 05.0 75031 75 08 21 05 09.0 75031 75 08 22 05 03.0 75031 75 08 27 05 00.5 75032 75 07 19 03 06.0 75032 75 07 19 04 06.0 75032 75 07 21 04 02.0 75033 75 11 22 07 00.7 75033 75 11 23 07 06.7 75033 76 03 23 07 02.0 75033 76 03 24 07 05.0 75033 76 03 29 07 01.0 75034 75 07 21 01 03.0 75034 75 07 21 04 02.0 75034 75 07 22 01 04.0 75034 75 07 22 04 08.0 75034 75 07 23 04 06.0 75034 75 07 24 01 01.0 75034 75 07 24 04 05.0 75034 75 07 25 01 01.0 75034 75 07 25 04 01.0 75034 75 07 26 04 05.5 75034 75 07 27 01 03.0 75034 75 07 28 04 05.0 75034 75 07 29 04 04.5 75034 75 07 29 05 01.0 75034 75 07 30 04 03.0 75034 75 08 02 01 04.0 75034 75 08 02 03 03.5 75034 75 08 03 04 08.5 75034 75 08 05 04 03.0 75034 75 08 06 04 05.0 75034 75 08 07 01 00.5 75034 75 08 08 04 01.0 75035 75 07 20 03 01.5 75035 75 07 24 03 01.5 75035 75 08 04 01 03.0 75035 75 08 07 01 01.0 75035 75 08 07 05 02.5 75035 75 08 08 01 02.0 75035 75 08 08 05 08.0 75035 75 08 09 01 01.0 75035 75 08 09 05 06.0 75035 75 08 11 05 02.0 75035 75 08 12 01 03.0 75035 75 08 12 04 00.5 75035 75 08 12 05 00.5 75035 75 08 13 01 01.0 75035 75 08 13 04 07.0 75035 75 08 14 04 03.5 75035 75 08 15 03 01.0 75035 75 08 15 04 07.0 75035 75 08 16 04 02.5 75035 75 08 20 04 01.5 75035 75 10 17 01 02.0 75035 75 12 09 01 01.0 75036 75 08 26 01 04.0 75036 75 08 28 05 05.5 75036 75 08 29 05 05.5 75036 75 08 30 04 07.0 75036 75 08 30 05 04.0 75036 75 09 02 05 02.0 75036 75 09 04 01 04.0 75036 75 09 05 04 01.0 75036 75 09 05 05 04.5 75036 75 09 08 04 08.5 75036 75 09 08 05 05.5 75036 75 09 10 04 01.0 75036 75 09 11 04 03.0 75036 75 09 13 04 02.0 75036 75 09 25 04 00.5 75036 75 09 25 04 02.5 75036 75 09 26 04 02.0 75036 75 10 16 04 01.0 75037 75 07 21 01 02.0 75037 75 07 23 01 04.0 75037 75 07 24 03 01.5 75037 75 07 28 01 01.0 75037 75 08 04 01 01.0 75037 75 08 04 04 04.0 75037 75 08 04 05 07.5 75037 75 08 05 01 02.0 75037 75 08 05 04 02.5 75037 75 08 05 05 04.5 75037 75 08 06 04 03.5 75037 75 08 07 01 01.0 75037 75 08 07 04 07.0 75037 75 08 07 05 04.0 75037 75 08 08 01 03.0 75037 75 08 08 04 07.5 75037 75 08 09 01 04.0 75037 75 08 09 03 01.0 75037 75 08 09 04 07.0 75037 75 08 11 01 03.0 75037 75 08 11 04 09.0 75037 75 08 11 05 02.5 75037 75 08 12 04 07.0 75037 75 08 15 01 02.0 75037 75 08 20 04 02.5 75037 75 O8 06 05 08.5 75038 75 07 21 04 04.0 75039 75 09 16 05 01.5 75039 75 09 19 05 02.0 75039 75 09 20 01 03.5 75039 75 09 20 03 03.5 75039 75 09 22 04 01.5 75039 75 09 22 05 08.5 75039 75 09 23 01 02.0 75039 75 09 23 04 03.5 75039 75 09 23 05 09.0 75039 75 09 24 04 01.0 75039 75 09 24 05 05.0 75039 75 09 25 05 04.0 75039 75 09 27 04 04.5 75039 75 09 29 04 02.0 75039 75 09 29 05 03.0 75039 75 09 30 04 02.0 75039 75 09 30 05 03.3 75039 75 10 01 04 01.5 75039 75 10 01 05 06.0 75039 75 10 02 05 02.4 75039 75 10 06 05 00.5 75039 75 10 07 05 00.5 75039 75 10 17 05 00.4 75039 75 10 22 05 00.9 75039 75 10 23 01 01.0 75039 76 01 06 05 00.5 75040 75 07 22 01 04.0 75040 75 07 23 01 04.0 75040 75 07 24 01 02.0 75040 75 07 25 01 04.0 75040 75 08 11 01 03.0 75040 75 08 12 01 03.0 75040 75 09 08 01 04.0 75040 75 10 10 01 01.0 75040 75 11 03 01 04.0 75040 75 11 05 01 02.0 75040 75 11 06 01 01.0 75041 75 07 24 03 03.5 75041 75 07 29 04 02.0 75041 75 08 04 04 04.0 75041 75 08 05 01 01.0 75041 75 08 05 04 03.0 75041 75 08 06 01 02.0 75041 75 08 07 04 01.0 75041 75 08 14 01 08.0 75041 75 08 16 03 06.0 75041 75 08 16 04 02.0 75041 75 08 19 01 06.0 75041 75 08 20 01 08.0 75041 75 08 20 04 05.0 75041 75 08 21 01 08.0 75041 75 08 21 04 11.0 75041 75 08 22 01 06.0 75041 75 08 22 03 02.8 75041 75 08 22 04 04.5 75041 75 08 25 01 01.0 75041 75 08 26 01 01.0 75041 75 08 27 01 04.0 75041 75 08 27 04 02.5 75041 75 08 29 01 02.0 75041 75 10 08 01 03.0 75041 75 10 10 01 01.0 75041 75 10 17 01 01.0 75041 75 11 18 05 01.0 75041 75 11 18 07 03.0 75041 75 11 19 07 02.0 75041 75 11 21 07 02.0 75041 75 11 29 03 01.0 75041 76 04 05 01 01.0 75042 75 07 27 01 01.0 75042 75 08 01 01 02.0 75042 75 08 01 03 01.5 75042 75 08 02 01 04.0 75042 75 08 02 03 04.5 75042 75 08 11 01 02.0 75042 75 08 12 01 03.0 75042 75 08 12 04 00.5 75042 75 08 13 01 01.0 75042 75 08 13 04 01.0 75042 75 08 13 05 04.0 75042 75 08 14 04 02.0 75042 75 08 14 05 09.0 75042 75 08 15 04 01.0 75042 75 08 15 05 08.5 75042 75 08 18 01 01.0 75042 75 08 20 05 04.0 75042 75 10 22 04 00.5 75042 75 10 22 05 03.1 75042 75 10 23 05 01.6 75042 75 10 27 01 02.0 75042 75 11 04 05 05.5 75042 75 11 04 06 01.0 75042 75 11 04 07 02.0 75042 75 11 05 01 02.0 75042 75 11 05 05 05.5 75042 75 11 05 07 02.0 75042 75 11 06 01 04.0 75042 75 11 06 05 07.0 75042 75 11 07 05 07.0 75042 75 11 07 07 01.0 75042 75 11 10 05 08.0 75042 75 11 11 05 03.0 75042 75 11 11 06 03.0 75042 75 11 13 05 01.0 75042 75 11 17 05 01.0 75042 75 11 19 05 01.0 75042 76 01 21 05 01.3 75042 76 01 21 05 01.3 75042 76 01 22 05 02.0 75042 76 01 22 05 02.0 75042 76 01 26 05 02.8 75042 76 01 27 05 01.0 75042 76 03 16 03 03.0 75042 76 03 29 05 03.0 75042 76 03 30 03 03.0 75042 76 03 30 05 06.0 75042 76 04 01 05 06.5 75042 76 04 02 05 08.0 75042 76 04 05 05 00.5 75042 76 04 06 05 00.5 75042 76 04 07 05 01.0 75043 75 07 30 01 02.0 75043 75 07 30 05 02.0 75043 75 07 31 04 02.0 75043 75 07 31 05 07.5 75043 75 08 01 01 01.0 75043 75 08 01 04 02.5 75043 75 08 01 05 06.5 75043 75 09 05 05 02.5 75043 75 09 16 05 01.0 75044 75 08 05 01 01.0 75044 75 08 08 01 01.0 75044 75 08 08 03 02.0 75044 75 08 09 03 02.0 75044 75 08 22 01 02.0 75044 75 08 22 04 03.0 75044 75 08 23 04 07.2 75044 75 08 25 01 01.0 75044 75 08 25 04 02.0 75044 75 08 25 05 01.5 75044 75 08 26 01 02.0 75044 75 08 26 04 06.0 75044 75 08 26 05 01.5 75044 75 08 27 01 04.0 75044 75 08 27 04 02.5 75044 75 08 27 05 00.5 75044 75 09 16 05 01.0 75045 75 08 18 03 03.5 75045 75 08 19 03 01.0 75045 75 08 22 03 01.0 75045 75 09 09 04 06.5 75045 75 09 10 04 07.5 75045 75 09 11 04 03.0 75045 75 09 15 04 01.0 75045 75 09 16 05 01.0 75045 75 09 25 05 00.5 75504A 76 03 24 09 03.5 75504A 76 03 25 09 02.0 75504A 76 03 26 09 03.0 75504A 76 03 29 09 01.0 75504A 76 03 30 01 04.0 75504A 76 03 30 09 01.5 75504A 76 03 31 09 06.0 75504A 76 04 01 09 04.0 75504A 76 04 02 09 07.0 75504A 76 04 05 01 03.0 75504A 76 04 05 09 01.0 75504A 76 04 06 01 02.0 75504A 76 04 06 09 04.0 75504A 76 04 08 09 02.0 75504A 76 04 09 09 01.0 75505A 75 10 18 01 04.0 75505A 75 10 23 01 03.0 75505A 75 10 28 01 03.0 75506A 75 11 01 01 06.0 75506A 75 11 03 06 05.0 75506A 75 11 04 06 05.0 75506A 75 11 05 06 08.0 75506A 75 11 06 06 07.0 75506A 75 11 07 06 08.0 75506A 75 11 10 06 04.0 75506A 75 11 11 06 05.0 75506A 75 11 21 01 08.0 75506A 75 11 22 01 04.0 75507A 75 11 17 01 08.0 75507A 75 11 18 01 08.0 75507A 75 11 20 01 08.0 75507A 75 11 23 01 08.0 75507A 75 11 25 01 03.0 75507A 75 12 04 05 06.5 75507A 75 12 05 05 03.0 75507A 75 12 08 05 01.5 75507A 75 12 15 05 03.5 75507A 75 12 16 05 07.0 75507A 75 12 17 05 03.5 75507A 76 01 06 05 01.0 75507A 76 01 07 05 04.0 75507A 76 01 08 05 03.5 75507A 76 01 09 05 06.0 75507A 76 01 22 05 05.0 75507A 76 01 22 05 05.0 75507A 76 01 23 05 01.5 75507A 76 01 23 05 01.5 75507A 76 01 27 01 04.0 75507A 76 01 27 05 05.0 75507A 76 01 28 05 01.6 75507A 76 01 30 05 02.0 75507A 76 01 31 01 03.0 75507A 76 02 03 05 04.0 75507A 76 02 16 01 08.0 75507A 76 02 17 01 08.0 75507A 76 02 18 01 08.0 75507A 76 02 19 01 08.0 75507A 76 02 20 01 08.0 75507A 76 02 23 01 08.0 75507A 76 02 24 01 08.0 75507A 76 02 25 01 08.0 75507A 76 02 26 01 08.0 75507A 76 02 27 01 08.0 75507A 76 03 01 01 08.0 75507A 76 03 02 01 03.0 75507A 76 03 03 01 03.0 75507A 76 03 04 01 03.0 75507A 76 03 05 01 06.0 75507A 76 03 10 01 05.0 75508A 75 10 30 05 00.7 75508A 75 12 15 01 04.0 75509A 76 01 12 01 03.0 75509A 76 01 13 01 04.0 75512A 76 01 06 01 04.0 75512A 76 01 08 01 02.0 75512A 76 01 09 01 02.0 75513A 75 12 03 01 03.0 75514A 75 01 03 01 06.0 75514A 76 01 09 05 02.0 75514A 76 01 11 01 04.0 75514A 76 01 13 05 03.5 75514A 76 01 14 05 04.5 75514A 76 01 15 05 07.0 75514A 76 01 16 05 01.3 75514A 76 01 29 05 05.0 75514A 76 01 30 05 05.0 75514A 76 04 01 05 03.0 75514A 76 04 10 05 06.0 75540A 76 04 07 09 01.0 76000A 76 01 05 01 06.0 76000A 76 01 05 07 01.5 76000A 76 01 05 08 02.0 76000A 76 01 06 07 01.0 76000A 76 01 06 08 05.5 76000A 76 01 07 07 01.0 76000A 76 01 07 08 02.0 76000A 76 01 08 01 06.0 76000A 76 01 08 05 01.0 76000A 76 01 08 07 00.5 76000A 76 01 09 08 02.5 76000A 76 01 12 01 05.0 76000A 76 01 12 05 00.5 76000A 76 01 12 08 01.0 76000A 76 01 12 08 01.0 76000A 76 01 13 05 01.0 76000A 76 01 13 08 02.0 76000A 76 01 14 05 00.5 76000A 76 01 14 07 00.5 76000A 76 01 14 08 08.0 76000A 76 01 15 08 05.0 76000A 76 01 19 05 01.5 76000A 76 01 19 05 01.5 76000A 76 01 19 08 04.0 76000A 76 01 19 08 04.0 76000A 76 01 20 05 03.5 76000A 76 01 20 05 03.5 76000A 76 01 20 08 08.0 76000A 76 01 20 08 08.0 76000A 76 01 21 05 02.0 76000A 76 01 21 05 02.0 76000A 76 01 21 08 06.0 76000A 76 01 21 08 06.0 76000A 76 01 22 05 01.0 76000A 76 01 22 05 01.0 76000A 76 01 22 07 01.0 76000A 76 01 22 07 01.0 76000A 76 01 22 08 04.0 76000A 76 01 22 08 04.0 76000A 76 01 23 05 00.5 76000A 76 01 23 05 00.5 76000A 76 01 23 08 01.0 76000A 76 01 23 08 01.0 76000A 76 01 26 05 01.5 76000A 76 01 26 08 00.8 76000A 76 01 27 01 03.0 76000A 76 01 27 05 01.0 76000A 76 01 27 05 01.5 76000A 76 01 27 08 08.0 76000A 76 01 28 01 08.0 76000A 76 01 28 05 02.0 76000A 76 01 28 08 08.0 76000A 76 01 29 01 04.0 76000A 76 01 29 01 02.0 76000A 76 01 29 05 02.0 76000A 76 01 29 05 01.0 76000A 76 01 29 08 02.0 76000A 76 01 30 05 01.0 76000A 76 02 02 01 03.0 76000A 76 02 02 08 02.0 76000A 76 02 03 08 02.0 76000A 76 02 05 01 08.0 76000A 76 02 05 05 08.0 76000A 76 02 05 07 08.0 76000A 76 02 06 01 08.0 76000A 76 02 06 05 08.0 76000A 76 02 06 07 08.0 76000A 76 02 07 01 08.0 76000A 76 02 07 05 08.0 76000A 76 02 09 07 08.0 76000A 76 02 10 08 02.0 76000A 76 02 11 08 05.0 76000A 76 02 12 05 02.0 76000A 76 02 12 08 04.0 76000A 76 02 12 08 01.0 76000A 76 02 12 09 08.0 76000A 76 02 13 05 02.5 76000A 76 02 13 09 08.0 76000A 76 02 16 08 08.0 76000A 76 02 16 09 07.5 76000A 76 02 17 05 01.0 76000A 76 02 17 08 04.0 76000A 76 02 17 09 08.0 76000A 76 02 18 05 01.0 76000A 76 02 18 08 02.0 76000A 76 02 18 09 08.0 76000A 76 02 19 05 02.0 76000A 76 02 19 07 02.0 76000A 76 02 19 08 04.0 76000A 76 02 19 08 04.0 76000A 76 02 19 09 08.0 76000A 76 02 20 05 02.0 76000A 76 02 20 07 02.5 76000A 76 02 20 08 08.0 76000A 76 02 20 09 08.0 76000A 76 02 23 05 04.0 76000A 76 02 23 07 01.5 76000A 76 02 23 08 08.0 76000A 76 02 23 09 07.7 76000A 76 02 24 08 03.5 76000A 76 02 24 09 08.0 76000A 76 02 25 05 01.5 76000A 76 02 25 08 05.0 76000A 76 02 25 09 08.0 76000A 76 02 26 05 00.5 76000A 76 02 26 07 08.0 76000A 76 02 26 08 08.0 76000A 76 02 26 09 08.0 76000A 76 02 27 05 01.0 76000A 76 02 27 07 08.0 76000A 76 02 27 08 08.0 76000A 76 02 27 09 08.0 76000A 76 03 01 05 00.5 76000A 76 03 01 08 05.0 76000A 76 03 01 09 08.0 76000A 76 03 02 05 01.5 76000A 76 03 02 07 02.5 76000A 76 03 02 08 06.0 76000A 76 03 02 09 08.0 76000A 76 03 03 05 01.5 76000A 76 03 03 08 02.0 76000A 76 03 03 09 08.0 76000A 76 03 05 05 02.0 76000A 76 03 05 08 02.0 76000A 76 03 05 09 08.0 76000A 76 03 08 08 04.0 76000A 76 03 08 09 08.0 76000A 76 03 09 07 02.0 76000A 76 03 09 08 01.0 76000A 76 03 10 01 02.0 76000A 76 03 10 08 01.0 76000A 76 03 10 08 04.0 76000A 76 03 10 09 04.0 76000A 76 03 11 01 08.0 76000A 76 03 11 05 02.0 76000A 76 03 11 08 02.0 76000A 76 03 11 09 04.0 76000A 76 03 12 05 01.0 76000A 76 03 12 07 02.0 76000A 76 03 12 08 02.0 76000A 76 03 16 07 08.0 76000A 76 03 17 05 02.0 76000A 76 03 17 07 08.0 76000A 76 03 17 08 02.0 76000A 76 03 18 05 02.0 76000A 76 03 18 07 08.0 76000A 76 03 18 08 02.0 76000A 76 03 19 05 02.0 76000A 76 03 19 07 08.0 76000A 76 03 19 08 03.0 76000A 76 03 19 08 05.0 76000A 76 03 22 05 01.0 76000A 76 03 22 07 02.0 76000A 76 03 22 08 08.0 76000A 76 03 23 01 03.0 76000A 76 03 23 05 01.0 76000A 76 03 23 08 06.5 76000A 76 03 23 09 08.0 76000A 76 03 24 05 00.5 76000A 76 03 24 08 05.0 76000A 76 03 24 09 04.5 76000A 76 03 25 05 01.0 76000A 76 03 25 09 06.0 76000A 76 03 26 08 02.5 76000A 76 03 26 09 05.0 76000A 76 03 29 01 01.0 76000A 76 03 29 05 02.0 76000A 76 03 29 08 06.5 76000A 76 03 29 09 07.0 76000A 76 03 30 01 01.5 76000A 76 03 30 05 01.0 76000A 76 03 30 08 04.0 76000A 76 03 30 09 06.5 76000A 76 03 31 07 02.0 76000A 76 03 31 08 02.0 76000A 76 03 31 09 02.0 76000A 76 04 01 05 01.0 76000A 76 04 01 09 04.0 76000A 76 04 02 09 01.0 76000A 76 04 05 05 01.0 76000A 76 04 05 09 07.0 76000A 76 04 06 05 01.5 76000A 76 04 06 07 02.0 76000A 76 04 06 09 04.0 76000A 76 04 07 08 01.0 76000A 76 04 07 09 07.0 76000A 76 04 08 09 06.0 76000A 76 04 09 05 01.0 76000A 76 04 09 09 07.0 76001A 76 01 05 08 03.0 76002A 76 01 07 08 02.0 76003A 76 01 07 01 04.0 76003A 76 01 07 08 02.0 76003A 76 01 08 08 06.5 76003A 76 01 30 01 05.0 76003A 76 01 30 01 02.0 76003A 76 01 30 01 02.0 76003A 76 01 30 08 01.0 76003A 76 02 02 01 02.0 76003A 76 02 03 01 06.0 76003A 76 02 04 01 02.0 76004A 76 01 08 07 02.0 76004A 76 01 10 07 04.0 76005A 76 01 09 08 01.5 76005A 76 01 10 03 05.5 76005A 76 01 11 03 01.0 76005A 76 01 12 05 05.5 76005A 76 01 13 05 04.0 76006A 76 01 16 05 02.7 76007A 76 01 29 01 01.0 76008A 76 01 29 08 06.0 76008A 76 01 30 03 05.5 76008A 76 01 30 08 06.0 76008A 76 02 02 08 01.0 76008A 76 02 02 08 06.0 76008A 76 02 03 08 01.5 76008A 76 02 03 08 06.0 76008A 76 02 04 08 02.0 76008A 76 02 04 08 08.0 76008A 76 02 05 08 00.5 76008A 76 02 05 08 08.0 76008A 76 02 06 08 06.5 76008A 76 02 09 08 08.0 76008A 76 02 10 08 04.0 76008A 76 02 11 08 01.0 76008A 76 02 17 08 02.0 76008A 76 02 18 08 06.0 76008A 76 03 04 08 02.0 76008A 76 03 05 08 06.0 76008A 76 03 09 08 00.5 76008A 76 03 10 08 01.0 76009A 76 02 02 01 02.0 76009A 76 02 16 05 01.5 76009A 76 02 24 05 15.5 76009A 76 02 25 05 01.5 76009A 76 02 26 05 07.0 76009A 76 02 27 05 01.5 76009A 76 02 28 05 04.0 76009A 76 03 01 05 05.5 76009A 76 03 02 05 01.5 76009A 76 04 06 05 00.5 76010A 76 02 10 08 02.0 76010A 76 02 11 08 02.0 76010A 76 02 12 08 07.0 76010A 76 02 13 08 04.0 76010A 76 02 17 08 02.0 76010A 76 02 24 08 04.5 76010A 76 02 25 08 03.0 76010A 76 03 01 08 01.0 76010A 76 03 18 08 03.0 76011A 76 02 09 05 01.5 76011A 76 02 10 05 03.5 76011A 76 02 12 05 01.0 76011A 76 02 12 05 07.0 76011A 76 02 13 05 05.5 76011A 76 02 16 05 07.0 76011A 76 02 17 05 04.0 76011A 76 02 18 05 02.5 76011A 76 02 19 05 05.5 76011A 76 02 20 05 04.0 76011A 76 02 23 05 04.5 76011A 76 02 24 05 02.0 76011A 76 03 03 05 02.5 76011A 76 03 05 05 02.0 76011A 76 03 06 05 01.0 76011A 76 03 12 05 02.0 76011A 76 03 16 05 03.5 76011A 76 03 17 05 02.5 76011A 76 03 18 05 03.0 76011A 76 03 19 05 02.0 76011A 76 03 22 05 05.0 76011A 76 03 22 05 02.0 76011A 76 03 23 05 07.0 76011A 76 03 24 05 03.0 76011A 76 03 25 05 01.0 76011A 76 03 26 05 01.5 76011A 76 04 05 05 02.5 76012A 76 02 19 07 04.0 76012A 76 03 05 07 06.0 76012A 76 03 11 07 01.0 76012A 76 03 12 07 06.0 76012A 76 03 17 05 01.0 76012A 76 03 18 05 02.0 76014A 76 03 01 08 02.0 76014A 76 03 02 01 05.0 76014A 76 03 02 08 02.0 76014A 76 03 03 01 05.0 76014A 76 03 03 08 06.0 76014A 76 03 04 08 06.0 76014A 76 03 06 03 00.5 76014A 76 03 08 07 06.0 76014A 76 03 08 08 04.0 76014A 76 03 09 07 01.0 76014A 76 03 09 07 02.0 76014A 76 03 09 07 02.0 76014A 76 03 09 08 05.0 76014A 76 03 10 07 06.0 76014A 76 03 10 08 02.0 76014A 76 03 11 07 07.0 76014A 76 03 11 08 02.0 76014A 76 03 15 08 08.0 76014A 76 03 16 08 08.0 76014A 76 03 17 05 02.5 76014A 76 03 17 08 06.0 76014A 76 03 18 08 03.0 76014A 76 03 30 01 02.5 76014A 76 03 30 08 04.0 76014A 76 03 31 08 06.0 76014A 76 04 01 01 02.0 76014A 76 04 01 08 01.0 76014A 76 04 05 08 00.5 76014A 76 04 07 01 02.0 76014A 76 04 09 08 01.0 76014A 76 04 10 01 09.0 76015A 76 03 03 07 03.0 76015A 76 03 04 07 02.0 76016A 76 03 09 07 02.0 76016A 76 03 09 08 01.5 76016A 76 03 11 08 02.0 76017A 76 04 02 01 01.0 76017A 76 04 11 03 01.0 76018A 76 03 11 08 02.0 76018A 76 03 12 08 06.0 76018A 76 03 24 08 03.0 76018A 76 03 26 08 01.0 76018A 76 04 09 08 01.5 76019A 76 03 24 01 01.0 76019A 76 03 26 01 08.0 76019A 76 03 30 01 04.0 76019A 76 03 31 01 03.0 76019A 76 03 31 05 04.0 76020A 76 03 26 08 04.5 76020A 76 03 29 08 01.5 76021A 76 03 29 01 01.0 76021A 76 04 05 01 02.0 76021A 76 04 08 01 03.0 76021A 76 04 09 01 03.0 76021A 76 04 09 03 01.0 76022A 76 03 05 03 05.0 76022A 76 03 06 03 01.5 76023A 76 04 01 01 01.0 76023A 76 04 06 01 02.0 76024A 76 04 01 07 01.0 76024A 76 04 01 08 05.0 76024A 76 04 02 01 04.0 76024A 76 04 02 08 01.0 76024A 76 04 04 03 02.0 76024A 76 04 04 03 02.5 76024A 76 04 05 03 04.5 76024A 76 04 05 05 05.0 76024A 76 04 05 08 02.0 76024A 76 04 06 01 02.0 76024A 76 04 06 05 05.5 76024A 76 04 06 08 04.0 76024A 76 04 07 03 03.0 76024A 76 04 07 05 07.5 76024A 76 04 08 01 01.0 76024A 76 04 08 05 08.5 76024A 76 04 09 05 06.5 76024A 76 04 10 03 01.0 76025A 76 04 01 08 02.0 76025A 76 04 02 01 02.0 76025A 76 04 02 08 07.0 76025A 76 04 03 03 01.0 76025A 76 04 04 03 02.5 76025A 76 04 05 08 05.5 76025A 76 04 06 08 05.5 76025A 76 04 07 08 07.5 76025A 76 04 08 08 08.0 76025A 76 04 09 03 07.0 76025A 76 04 09 08 06.5 76025A 76 04 10 03 03.5 76025A 76 04 11 08 04.0 76026A 76 04 06 01 01.0 76027A 76 04 09 01 03.0 76500A 76 01 23 05 01.5 76500A 76 01 23 05 01.5 76500A 76 01 28 05 03.5 76500A 76 01 30 01 04.0 76500A 76 01 31 05 04.0 76500A 76 02 03 01 02.0 76500A 76 02 04 01 04.0 76500A 76 02 09 05 08.0 76500A 76 02 10 01 12.0 76500A 76 02 10 05 05.5 76500A 76 02 11 01 12.0 76500A 76 02 11 05 08.5 76500A 76 02 12 01 12.0 76500A 76 02 13 01 12.0 76500A 76 02 16 05 00.5 76500A 76 02 17 05 04.0 76500A 76 02 18 05 03.0 76500A 76 02 20 05 02.0 76500A 76 02 27 05 01.0 76500A 76 03 01 05 02.0 76500A 76 03 03 05 04.0 76500A 76 03 04 05 09.0 76500A 76 03 04 07 01.0 76500A 76 03 05 03 04.0 76500A 76 03 05 05 05.0 76500A 76 03 06 03 01.5 76500A 76 03 10 05 03.0 76500A 76 03 13 05 03.0 76500A 76 03 15 05 06.0 76500A 76 03 24 01 06.0 76500A 76 03 26 05 02.0 76500A 76 03 29 01 02.0 76500A 76 03 31 01 02.0 76500A 76 04 03 01 10.0 76500A 76 04 05 01 03.0 76500A 76 04 06 01 02.0 76500A 76 04 08 01 02.0 76500A 76 04 09 01 02.0 76501A 76 02 01 05 01.0 76501A 76 02 02 05 03.0 76501A 76 02 04 05 07.5 76501A 76 03 11 05 05.0 76501A 76 03 12 05 05.0 76514A 76 01 20 05 02.0 76514A 76 01 20 05 02.0 76514A 76 03 24 05 01.5 76514A 76 03 25 05 01.0 76514A 76 03 30 05 01.0 76601A 76 01 31 01 06.0 76601A 76 02 02 01 03.0 76601A 76 03 16 05 04.5 76601A 76 03 17 05 01.0 76601A 76 03 19 05 02.5 75045 76 01 09 08 02.5 75045 76 01 22 08 04.0 75045 76 01 22 08 04.0 75046 75 08 19 03 03.0 75046 75 08 22 03 03.5 75046 75 08 22 03 01.5 75046 75 08 22 04 01.0 75046 75 08 22 05 06.0 75046 75 08 23 04 01.3 75046 75 08 23 05 08.5 75046 75 08 25 01 02.0 75046 75 08 25 04 05.5 75046 75 08 25 05 06.0 75046 75 08 26 01 01.0 75046 75 08 26 04 02.5 75046 75 08 26 05 04.5 75046 75 08 27 01 04.0 75046 75 08 27 04 03.5 75046 75 08 27 05 05.5 75046 75 08 28 01 04.0 75046 75 08 28 04 02.0 75046 75 08 28 05 03.0 75046 75 08 29 04 03.0 75046 75 08 29 05 00.5 75046 75 09 17 05 03.5 75046 75 09 18 05 02.5 75047 75 09 05 01 01.0 75047 75 09 13 04 04.0 75047 75 09 13 05 07.5 75047 75 09 15 04 08.5 75047 75 09 16 04 05.0 75047 75 09 18 04 01.0 75047 75 09 19 04 01.0 75047 75 09 20 01 02.0 75047 75 09 20 03 02.0 75047 75 09 20 04 00.5 75047 75 09 24 01 02.0 75047 75 10 02 04 02.0 75047 75 10 02 05 02.0 75047 75 10 03 04 03.0 75047 75 10 06 04 01.0 75047 75 10 10 05 00.4 75047 75 10 27 01 01.0 75047 75 11 14 01 01.0 75047 75 11 14 05 02.5 75047 75 11 17 07 01.0 75047 76 03 31 01 02.0 75048 75 08 29 01 02.0 75048 75 08 30 03 04.0 75048 75 09 09 05 08.0 75048 75 09 10 04 01.0 75048 75 09 10 05 09.5 75048 75 09 11 04 04.0 75048 75 09 11 05 08.0 75048 75 09 12 04 09.0 75048 75 09 12 05 07.0 75048 75 09 15 05 01.0 75048 75 09 16 05 01.0 75048 75 10 01 05 01.0 75048 75 10 10 05 00.7 75048 75 10 27 05 03.0 75048 75 11 11 05 00.5 75048 75 11 12 05 01.0 75048 75 12 12 05 01.0 75049 75 09 22 04 01.5 75049 75 09 25 01 02.0 75049 75 09 27 03 07.0 75049 75 09 30 01 08.0 75049 75 10 01 04 03.0 75049 75 10 02 04 06.0 75049 75 10 03 01 08.0 75049 75 10 03 04 02.0 75049 75 10 04 03 04.5 75049 75 10 04 04 01.0 75049 75 10 06 04 01.0 75049 75 10 07 01 04.0 75049 75 10 08 01 01.0 75049 75 10 08 04 06.5 75049 75 10 08 05 00.3 75049 75 10 09 01 08.0 75049 75 10 09 04 08.0 75049 75 10 10 01 06.0 75049 75 10 10 04 08.0 75049 75 10 10 05 02.0 75049 75 10 11 04 03.0 75049 75 10 13 01 04.5 75049 75 10 13 04 02.0 75049 75 10 16 05 00.5 75049 75 10 17 05 02.5 75049 75 10 20 04 01.5 75049 75 10 21 01 06.0 75049 75 10 21 04 01.0 75049 75 10 21 05 00.4 75049 75 10 22 01 06.0 75049 75 10 28 01 08.0 75049 75 10 29 04 01.0 75049 75 10 29 05 03.0 75049 75 10 29 06 01.0 75049 75 10 30 01 03.0 75049 75 10 30 04 04.0 75049 75 10 30 05 03.8 75049 75 10 30 06 08.0 75049 75 10 31 04 04.0 75049 75 10 31 05 02.0 75049 75 10 31 06 04.0 75049 75 11 03 06 02.0 75049 75 11 11 01 02.0 75049 75 11 11 05 01.2 75049 75 11 14 05 00.3 75049 75 11 17 07 02.5 75049 75 11 21 05 00.5 75049 75 11 28 03 09.0 75049 75 11 29 03 01.0 75049 75 12 01 07 02.0 75049 75 12 02 01 02.0 75049 75 12 05 03 08.0 75049 75 12 05 07 02.0 75049 75 12 08 01 05.0 75049 75 12 09 01 03.0 75049 75 12 10 01 08.0 75049 75 12 11 07 03.0 75049 75 12 12 01 04.0 75049 75 12 16 01 10.0 75049 75 12 17 01 10.0 75049 75 12 17 07 06.0 75049 75 12 18 01 04.0 75049 75 12 18 07 06.0 75049 75 12 19 07 09.0 75049 75 12 22 01 08.0 75049 75 12 22 07 07.0 75049 75 12 23 01 04.0 75049 75 12 23 07 05.5 75049 75 12 24 07 03.0 75049 75 12 29 01 08.0 75049 75 12 29 07 06.0 75049 75 12 30 07 07.5 75049 75 12 31 07 03.5 75049 76 01 05 07 06.0 75049 76 01 06 07 08.0 75049 76 01 06 08 02.0 75049 76 01 07 07 08.0 75049 76 01 07 08 02.0 75049 76 01 08 07 05.0 75049 76 01 08 08 01.5 75049 76 01 09 01 08.8 75049 76 01 09 03 09.5 75049 76 01 09 07 09.0 75049 76 01 10 01 08.0 75049 76 01 10 03 03.5 75049 76 01 10 07 04.0 75049 76 01 12 03 02.5 75049 76 01 12 07 09.0 75049 76 01 13 07 10.0 75049 76 01 14 05 02.0 75049 76 01 14 07 08.5 75049 76 01 15 07 02.5 75049 76 01 16 01 09.0 75049 76 01 16 01 09.0 75049 76 01 16 03 09.0 75049 76 01 16 05 03.5 75049 76 01 16 07 07.0 75049 76 01 17 01 08.0 75049 76 01 17 01 08.0 75049 76 01 17 03 08.0 75049 76 01 17 03 08.0 75049 76 01 17 03 08.0 75049 76 01 17 05 05.3 75049 76 01 17 05 05.3 75049 76 01 17 05 05.3 75049 76 01 17 07 06.5 75049 76 01 17 07 06.5 75049 76 01 17 07 06.5 75049 76 01 18 01 06.0 75049 76 01 19 05 05.5 75049 76 01 19 05 05.5 75049 76 01 19 07 01.5 75049 76 01 19 07 06.5 75049 76 01 19 07 01.5 75049 76 01 19 07 01.5 75049 76 01 19 07 06.5 75049 76 01 19 07 01.5 75049 76 01 20 01 02.0 75049 76 01 20 03 03.5 75049 76 01 20 03 03.5 75049 76 01 20 05 03.5 75049 76 01 20 05 03.5 75049 76 01 20 07 01.0 75049 76 01 20 07 08.0 75049 76 01 20 07 01.0 75049 76 01 20 07 08.0 75049 76 01 21 01 01.0 75049 76 01 21 05 06.0 75049 76 01 21 05 06.0 75049 76 01 21 07 08.0 75049 76 01 21 07 08.0 75049 76 01 22 01 03.0 75049 76 01 22 03 03.0 75049 76 01 22 03 03.0 75049 76 01 22 07 07.0 75049 76 01 22 07 07.0 75049 76 01 23 03 08.5 75049 76 01 23 03 08.5 75049 76 01 23 07 08.0 75049 76 01 23 07 08.0 75049 76 01 24 03 04.5 75049 76 01 24 03 04.5 75049 76 01 26 01 06.0 75049 76 01 26 07 08.0 75049 76 01 27 01 04.0 75049 76 01 27 07 08.0 75049 76 01 28 07 08.0 75049 76 01 29 07 02.0 75049 76 01 29 07 08.0 75049 76 01 30 03 06.5 75049 76 01 30 07 01.5 75049 76 01 30 07 08.0 75049 76 01 31 03 12.0 75049 76 01 31 07 08.0 75049 76 02 01 07 03.0 75049 76 02 02 05 06.0 75049 76 02 02 07 01.0 75049 76 02 02 07 08.0 75049 76 02 03 05 04.0 75049 76 02 03 07 06.0 75049 76 02 03 07 02.0 75049 76 02 04 05 04.0 75049 76 02 04 07 01.5 75049 76 02 04 07 04.0 75049 76 02 06 08 01.5 75049 76 02 10 07 05.0 75049 76 02 10 07 03.0 75049 76 02 11 07 08.0 75049 76 02 12 07 05.0 75049 76 02 13 07 01.0 75049 76 02 13 07 08.0 75049 76 02 16 07 08.0 75049 76 02 17 07 01.0 75049 76 02 17 07 06.0 75049 76 02 17 07 02.0 75049 76 02 18 05 02.0 75049 76 02 18 07 00.5 75049 76 02 18 07 05.0 75049 76 02 18 07 02.5 75049 76 02 19 07 02.0 75049 76 02 20 07 03.5 75049 76 02 24 07 01.5 75049 76 02 25 07 07.0 75049 76 03 01 01 04.0 75049 76 03 01 07 05.0 75049 76 03 02 07 05.0 75049 76 03 03 07 05.0 75049 76 03 04 07 01.0 75049 76 03 04 07 03.0 75049 76 03 09 07 05.0 75049 76 03 29 07 04.0 75049 76 04 02 03 06.0 75049 76 04 02 07 01.0 75049 76 04 03 03 08.5 75049 76 04 04 03 00.5 75049 76 04 05 07 01.0 75050 75 10 06 01 04.0 75050 75 10 06 05 06.2 75050 75 10 06 05 01.0 75050 75 10 07 05 00.5 75050 75 10 11 05 00.7 75050 75 10 13 05 01.5 75050 75 10 17 05 01.6 75050 75 10 20 05 02.0 75050 75 10 21 05 00.4 75050 75 10 22 05 01.5 75050 75 10 28 05 01.0 75050 75 10 28 06 01.0 75050 75 10 29 05 05.0 75050 75 10 29 06 03.0 75050 75 10 30 05 04.5 75050 75 10 31 01 04.0 75050 75 10 31 05 00.7 75050 75 11 03 05 01.0 75050 75 11 04 05 03.0 75050 75 11 04 07 04.0 75050 75 11 05 05 03.0 75050 75 11 05 07 06.0 75050 75 11 06 05 01.5 75050 75 11 06 07 01.0 75050 75 11 14 01 01.0 75050 75 11 14 05 01.5 75050 75 11 15 01 03.0 75050 75 11 17 05 01.5 75050 75 11 18 05 02.0 75050 75 11 19 05 05.5 75050 75 11 19 07 02.0 75050 75 11 20 05 04.0 75050 75 11 20 07 01.0 75050 75 11 21 05 07.0 75050 75 11 21 07 02.0 75050 75 11 24 01 02.0 75050 75 11 24 05 06.0 75050 75 11 25 01 03.0 75050 75 11 25 05 08.5 75050 75 11 26 05 07.7 75050 75 11 28 05 09.0 75050 75 12 01 05 05.5 75050 75 12 01 07 01.0 75050 75 12 02 05 02.5 75050 75 12 02 07 02.0 75050 75 12 03 01 03.0 75050 75 12 03 05 02.0 75050 75 12 04 01 02.0 75050 75 12 04 05 01.5 75050 75 12 05 05 03.5 75050 75 12 05 07 01.0 75050 75 12 10 05 02.0 75050 75 12 11 05 07.5 75050 75 12 12 05 02.0 75050 75 12 15 05 01.5 75050 75 12 17 05 08.5 75050 75 12 18 05 08.3 75050 76 01 09 05 01.0 75050 76 02 04 07 02.5 75051 75 10 06 01 04.0 75051 75 10 07 05 04.8 75051 75 10 11 05 02.0 75051 75 10 11 05 04.0 75051 75 10 13 05 02.0 75051 75 10 27 05 00.3 75051 75 10 28 05 01.5 75051 75 10 28 06 05.0 75051 75 10 29 06 04.0 75051 75 12 01 05 02.0 75051 75 12 02 05 02.8 75051 75 12 03 05 04.5 75051 75 12 08 01 02.0 75051 75 12 08 05 06.3 75051 75 12 09 01 02.0 75051 75 12 09 05 03.0 75051 75 12 10 05 04.5 75051 75 12 11 05 02.0 75051 75 12 12 05 03.0 75051 75 12 15 05 02.0 75051 76 01 23 05 04.5 75051 76 01 23 05 04.5 75051 76 01 24 03 02.5 75051 76 01 24 03 02.5 75051 76 01 26 05 04.0 75051 76 01 28 05 00.6 75051 76 02 04 05 02.0 75051 76 02 23 05 01.5 75051 76 02 26 05 03.0 75051 76 02 27 05 05.5 75051 76 03 01 05 01.0 75051 76 03 02 05 05.5 75051 76 03 03 05 01.5 75051 76 03 10 01 01.0 75051 76 03 18 05 02.0 75051 76 03 24 05 05.5 75051 76 03 25 05 01.0 75051 76 03 26 05 02.5 75051 76 03 29 05 03.5 75051 76 04 06 05 00.5 75052 75 09 24 01 02.0 75052 75 09 29 01 04.0 75052 75 09 29 05 00.5 75052 75 10 02 01 08.0 75052 75 10 14 01 03.0 75052 75 12 09 01 03.0 75052 76 01 30 01 01.0 75052 76 02 12 07 03.0 75052 76 02 20 07 02.0 75052 76 02 23 07 01.5 75052 76 02 23 09 00.3 75052 76 03 01 07 01.0 75052 76 03 02 07 00.5 75052 76 03 03 07 01.0 75052 76 03 04 07 01.0 75052 76 03 05 07 03.0 75052 76 03 06 03 01.5 75052 76 03 07 07 04.0 75052 76 03 08 07 03.0 75052 76 03 10 07 01.0 75052 76 03 22 07 05.5 75052 76 03 22 07 01.5 75052 76 03 23 07 07.0 75052 76 03 23 08 01.5 75052 76 03 24 07 04.5 75052 76 03 25 05 04.5 75052 76 03 25 07 09.0 75052 76 03 26 05 02.5 75052 76 03 26 07 09.0 75052 76 03 28 07 02.0 75052 76 03 28 07 01.0 75052 76 03 29 07 03.0 75052 76 03 31 07 01.0 75052 76 04 07 01 02.0 75052 76 04 07 07 08.0 75052 76 04 08 07 05.0 75052 76 04 09 05 00.5 75052 76 04 09 07 05.0 75052 76 04 11 03 05.0 75053 75 09 25 05 04.0 75053 75 09 26 01 01.0 75053 75 09 26 05 04.0 75053 75 09 29 05 03.0 75053 75 09 30 05 01.2 75054 75 09 26 01 01.0 75054 75 09 26 05 04.5 75054 75 09 29 04 01.5 75054 75 09 29 05 03.0 75054 75 09 30 04 02.5 75054 75 09 30 05 05.0 75054 75 10 01 05 00.5 75054 75 10 11 05 00.3 75054 75 11 11 05 02.0 75054 75 11 12 01 02.0 75054 75 11 12 05 02.0 75054 75 11 13 05 00.6 75054 75 11 26 05 00.3 75055 75 10 10 03 04.5 75055 75 10 10 03 03.0 75055 75 10 11 03 04.0 75055 75 10 11 03 03.5 75055 75 10 13 05 03.0 75055 75 10 14 04 01.5 75055 75 10 14 05 05.5 75055 75 10 15 05 05.0 75055 75 10 20 05 04.0 75055 75 10 21 05 00.4 75055 75 10 21 05 05.0 75055 75 10 22 01 02.0 75055 75 10 22 05 03.1 75055 75 10 23 05 01.1 75056 75 10 23 04 05.0 75056 75 10 23 05 05.0 75056 75 10 31 05 01.0 75056 75 11 11 05 02.5 75056 75 11 11 07 01.0 75056 75 11 12 05 05.0 75056 75 11 13 05 04.0 75056 75 11 13 07 01.0 75056 75 11 14 05 05.0 75056 75 11 14 07 01.5 75056 75 11 17 05 04.5 75056 75 11 17 07 01.0 75056 75 11 24 07 01.0 75056 75 12 18 01 04.0 75056 76 01 06 05 01.0 75056 76 01 07 05 04.0 75056 76 01 08 05 03.0 75056 76 01 12 05 02.5 75056 76 01 14 05 01.0 75057 75 10 10 05 05.0 75057 75 10 13 05 00.5 75057 75 11 18 05 01.0 75057 75 12 05 05 00.5 75057 76 01 06 05 03.5 75057 76 01 06 08 00.5 75057 76 01 08 05 00.5 75058 75 10 14 04 02.0 75058 75 10 14 05 02.0 75058 75 10 15 04 00.5 75058 75 10 15 05 03.0 75058 75 10 24 04 01.0 75058 75 10 24 05 05.7 75058 75 10 25 04 01.5 75058 75 10 25 05 05.3 75058 75 10 27 01 01.0 75058 75 10 27 05 04.4 75058 75 10 27 06 02.0 75058 75 10 28 05 01.0 75058 75 10 28 06 02.0 75059 75 10 14 01 03.5 75059 75 10 16 01 02.0 75060 75 10 16 05 01.8 75060 75 10 17 01 01.0 75060 75 10 17 05 01.5 75060 75 10 20 01 02.0 75060 75 10 20 05 02.5 75060 75 10 21 05 00.4 75061 75 10 23 01 04.0 75061 75 10 24 01 05.0 75061 75 10 24 04 05.0 75061 75 10 24 05 02.2 75061 75 10 24 06 04.5 75061 75 10 25 04 07.5 75061 75 10 27 04 04.0 75061 75 10 27 05 01.3 75061 75 10 27 06 02.0 75061 75 10 77 01 01.0 75062 75 10 28 01 01.0 75062 75 10 29 01 01.0 75063 75 11 12 01 02.0 75063 75 11 12 07 02.0 75063 75 11 13 01 03.0 75063 75 11 13 07 05.0 75063 75 11 14 01 02.0 75063 75 11 14 07 01.5 75063 75 11 19 07 02.5 75063 75 11 20 07 04.5 75063 75 11 24 01 03.0 75063 75 11 24 07 02.5 75063 75 11 26 07 03.0 75063 75 11 28 07 04.0 75063 75 11 29 03 02.0 75063 75 11 29 03 04.0 75063 75 12 01 07 03.0 75063 75 12 02 01 02.0 75063 75 12 02 07 06.0 75063 75 12 03 07 06.0 75063 75 12 04 01 01.0 75063 75 12 04 07 04.5 75063 75 12 05 07 05.0 75063 75 12 08 01 01.0 75063 75 12 08 07 09.0 75063 75 12 09 07 08.0 75063 75 12 10 07 08.0 75063 75 12 11 01 03.0 75063 75 12 11 07 06.0 75063 75 12 12 01 01.0 75063 75 12 12 07 08.0 75063 75 12 29 07 01.5 75063 76 01 05 01 01.0 75063 76 01 05 07 01.5 75064 75 10 31 01 04.0 75064 75 10 31 04 02.0 75064 75 10 31 05 01.5 75064 75 10 31 06 04.0 75064 75 11 03 01 04.0 75064 75 11 03 06 01.0 75064 75 11 03 07 08.5 75064 75 11 04 01 04.0 75064 75 11 04 06 02.0 75064 75 11 04 07 02.0 75064 76 04 07 07 01.0 75065 75 11 10 07 01.0 75065 75 11 11 07 03.0 75065 75 11 12 07 03.0 75065 75 11 13 07 02.0 75065 75 11 14 07 05.0 75065 75 11 24 07 05.5 75065 75 11 25 07 08.0 75065 75 11 26 07 05.0 75065 75 12 02 01 06.0 75065 75 12 03 07 02.0 75065 75 12 04 01 08.0 75065 75 12 04 07 03.5 75065 75 12 05 01 12.0 75065 75 12 06 01 04.0 75065 76 03 08 01 03.0 75066 75 11 11 01 04.5 75066 75 11 13 01 01.0 75067 76 01 02 08 03.0 75067 76 01 05 08 03.0 75067 76 01 12 08 01.0 75067 76 01 19 08 04.0 75067 76 01 19 08 04.0 75067 76 01 27 01 02.0 75067 76 03 24 07 00.5 75068 75 12 14 01 14.0 75068 75 12 15 07 08.0 75500 75 07 22 05 08.0 75500 75 07 23 05 06.5 75500 75 07 24 05 07.5 75500 75 07 25 05 08.0 75500 75 07 28 05 08.5 75500 75 07 29 05 07.0 75500 75 07 30 01 02.0 75500 75 08 01 05 01.0 75500 75 08 04 05 01.0 75500 75 08 05 01 01.0 75500 75 08 05 05 04.0 75500 75 08 06 01 03.0 75500 75 08 11 05 02.0 75500 75 08 12 05 05.0 75500 75 08 16 05 01.5 75500 75 08 22 01 04.0 75500 75 08 28 01 04.0 75500 75 08 29 05 03.0 75500 75 08 30 01 08.0 75500 75 09 01 01 08.0 75500 75 09 02 01 08.0 75500 75 09 03 01 08.0 75500 75 09 04 01 04.0 75500 75 09 05 01 07.0 75500 75 09 05 05 00.5 75500 75 09 08 01 04.0 75500 75 09 09 01 08.0 75500 75 09 10 01 08.0 75500 75 09 11 01 08.0 75500 75 09 11 05 02.0 75500 75 09 12 01 08.0 75500 75 09 12 05 02.5 75500 75 09 15 01 09.0 75500 75 09 15 05 08.5 75500 75 09 16 01 09.0 75500 75 09 16 05 03.5 75500 75 09 17 01 09.0 75500 75 09 17 05 06.0 75500 75 09 18 01 09.0 75500 75 09 18 05 06.5 75500 75 09 19 05 06.5 75500 75 09 24 05 03.5 75500 75 09 25 01 06.0 75500 75 09 26 01 02.0 75500 75 09 29 01 04.0 75500 75 10 01 01 08.0 75500 75 10 01 05 01.0 75500 75 10 02 05 01.5 75500 75 10 02 05 01.1 75500 75 10 03 05 06.0 75500 75 10 06 05 00.3 75500 75 10 07 05 00.7 75500 75 10 08 01 04.0 75500 75 10 08 05 02.5 75500 75 10 10 05 00.4 75500 75 10 20 01 02.0 75500 75 11 03 05 07.0 75500 75 11 05 01 02.0 75500 75 11 19 01 08.0 75500 75 12 08 05 01.5 75500 75 12 09 05 04.0 75500 75 12 11 01 03.0 75500 75 12 12 05 01.0 75501 75 07 27 01 02.0 75501 75 07 28 01 06.0 75501 75 11 10 01 02.0 75501 75 12 11 01 02.0 75501 75 12 12 01 02.0 75502 75 09 22 01 08.0 75502 75 09 23 01 06.0 75504 75 10 13 01 01.5 75504 75 11 05 01 02.0 75504 75 11 07 01 02.0 75504 75 11 07 01 06.0 75504 75 11 15 01 01.0 75504 75 12 13 05 01.5 75504 76 01 03 01 08.0 75504 76 01 20 01 04.0 75504 76 03 09 09 02.0 75504 76 03 09 09 06.0 75504 76 03 10 09 02.0 75504 76 03 11 09 04.0 75504 76 03 24 09 03.5 75504 76 03 25 09 02.0 75504 76 03 26 09 03.0 75504 76 03 29 09 01.0 75504 76 03 30 01 04.0 75504 76 03 30 09 01.5 75504 76 03 31 09 06.0 75504 76 04 01 09 04.0 75504 76 04 02 09 07.0 75504 76 04 05 01 03.0 75504 76 04 05 09 01.0 75504 76 04 06 01 02.0 75504 76 04 06 09 04.0 75504 76 04 08 09 02.0 75504 76 04 09 09 01.0 75505 75 10 18 01 04.0 75505 75 10 23 01 03.0 75505 75 10 28 01 03.0 75506 75 11 01 01 06.0 75506 75 11 03 06 05.0 75506 75 11 04 06 05.0 75506 75 11 05 06 08.0 75506 75 11 06 06 07.0 75506 75 11 07 06 08.0 75506 75 11 10 06 04.0 75506 75 11 11 06 05.0 75506 75 11 21 01 08.0 75506 75 11 22 01 04.0 75507 75 11 17 01 08.0 75507 75 11 18 01 08.0 75507 75 11 20 01 08.0 75507 75 11 23 01 08.0 75507 75 11 25 01 03.0 75507 75 12 04 05 06.5 75507 75 12 05 05 03.0 75507 75 12 08 05 01.5 75507 75 12 15 05 03.5 75507 75 12 16 05 07.0 75507 75 12 17 05 03.5 75507 76 01 06 05 01.0 75507 76 01 07 05 04.0 75507 76 01 08 05 03.5 75507 76 01 09 05 06.0 75507 76 01 22 05 05.0 75507 76 01 22 05 05.0 75507 76 01 23 05 01.5 75507 76 01 23 05 01.5 75507 76 01 27 01 04.0 75507 76 01 27 05 05.0 75507 76 01 28 05 01.6 75507 76 01 30 05 02.0 75507 76 01 31 01 03.0 75507 76 02 03 05 04.0 75507 76 02 16 01 08.0 75507 76 02 17 01 08.0 75507 76 02 18 01 08.0 75507 76 02 19 01 08.0 75507 76 02 20 01 08.0 75507 76 02 23 01 08.0 75507 76 02 24 01 08.0 75507 76 02 25 01 08.0 75507 76 02 26 01 08.0 75507 76 02 27 01 08.0 75507 76 03 01 01 08.0 75507 76 03 02 01 03.0 75507 76 03 03 01 03.0 75507 76 03 04 01 03.0 75507 76 03 05 01 06.0 75507 76 03 10 01 05.0 75508 75 10 30 05 00.7 75508 75 12 15 01 04.0 75509 76 01 12 01 03.0 75509 76 01 13 01 04.0 75512 76 01 06 01 04.0 75512 76 01 08 01 02.0 75512 76 01 09 01 02.0 75513 75 12 03 01 03.0 75514 75 01 03 01 06.0 75514 76 01 09 05 02.0 75514 76 01 11 01 04.0 75514 76 01 13 05 03.5 75514 76 01 14 05 04.5 75514 76 01 15 05 07.0 75514 76 01 16 05 01.3 75514 76 01 29 05 05.0 75514 76 01 30 05 05.0 75514 76 04 01 05 03.0 75514 76 04 10 05 06.0 75540 76 04 07 09 01.0 76000 76 01 05 01 06.0 76000 76 01 05 07 01.5 76000 76 01 05 08 02.0 76000 76 01 06 07 01.0 76000 76 01 06 08 05.5 76000 76 01 07 07 01.0 76000 76 01 07 08 02.0 76000 76 01 08 01 06.0 76000 76 01 08 05 01.0 76000 76 01 08 07 00.5 76000 76 01 09 08 02.5 76000 76 01 12 01 05.0 76000 76 01 12 05 00.5 76000 76 01 12 08 01.0 76000 76 01 12 08 01.0 76000 76 01 13 05 01.0 76000 76 01 13 08 02.0 76000 76 01 14 05 00.5 76000 76 01 14 07 00.5 76000 76 01 14 08 08.0 76000 76 01 15 08 05.0 76000 76 01 19 05 01.5 76000 76 01 19 05 01.5 76000 76 01 19 08 04.0 76000 76 01 19 08 04.0 76000 76 01 20 05 03.5 76000 76 01 20 05 03.5 76000 76 01 20 08 08.0 76000 76 01 20 08 08.0 76000 76 01 21 05 02.0 76000 76 01 21 05 02.0 76000 76 01 21 08 06.0 76000 76 01 21 08 06.0 76000 76 01 22 05 01.0 76000 76 01 22 05 01.0 76000 76 01 22 07 01.0 76000 76 01 22 07 01.0 76000 76 01 22 08 04.0 76000 76 01 22 08 04.0 76000 76 01 23 05 00.5 76000 76 01 23 05 00.5 76000 76 01 23 08 01.0 76000 76 01 23 08 01.0 76000 76 01 26 05 01.5 76000 76 01 26 08 00.8 76000 76 01 27 01 03.0 76000 76 01 27 05 01.0 76000 76 01 27 05 01.5 76000 76 01 27 08 08.0 76000 76 01 28 01 08.0 76000 76 01 28 05 02.0 76000 76 01 28 08 08.0 76000 76 01 29 01 04.0 76000 76 01 29 01 02.0 76000 76 01 29 05 02.0 76000 76 01 29 05 01.0 76000 76 01 29 08 02.0 76000 76 01 30 05 01.0 76000 76 02 02 01 03.0 76000 76 02 02 08 02.0 76000 76 02 03 08 02.0 76000 76 02 05 01 08.0 76000 76 02 05 05 08.0 76000 76 02 05 07 08.0 76000 76 02 06 01 08.0 76000 76 02 06 05 08.0 76000 76 02 06 07 08.0 76000 76 02 07 01 08.0 76000 76 02 07 05 08.0 76000 76 02 09 07 08.0 76000 76 02 10 08 02.0 76000 76 02 11 08 05.0 76000 76 02 12 05 02.0 76000 76 02 12 08 04.0 76000 76 02 12 08 01.0 76000 76 02 12 09 08.0 76000 76 02 13 05 02.5 76000 76 02 13 09 08.0 76000 76 02 16 08 08.0 76000 76 02 16 09 07.5 76000 76 02 17 05 01.0 76000 76 02 17 08 04.0 76000 76 02 17 09 08.0 76000 76 02 18 05 01.0 76000 76 02 18 08 02.0 76000 76 02 18 09 08.0 76000 76 02 19 05 02.0 76000 76 02 19 07 02.0 76000 76 02 19 08 04.0 76000 76 02 19 08 04.0 76000 76 02 19 09 08.0 76000 76 02 20 05 02.0 76000 76 02 20 07 02.5 76000 76 02 20 08 08.0 76000 76 02 20 09 08.0 76000 76 02 23 05 04.0 76000 76 02 23 07 01.5 76000 76 02 23 08 08.0 76000 76 02 23 09 07.7 76000 76 02 24 08 03.5 76000 76 02 24 09 08.0 76000 76 02 25 05 01.5 76000 76 02 25 08 05.0 76000 76 02 25 09 08.0 76000 76 02 26 05 00.5 76000 76 02 26 07 08.0 76000 76 02 26 08 08.0 76000 76 02 26 09 08.0 76000 76 02 27 05 01.0 76000 76 02 27 07 08.0 76000 76 02 27 08 08.0 76000 76 02 27 09 08.0 76000 76 03 01 05 00.5 76000 76 03 01 08 05.0 76000 76 03 01 09 08.0 76000 76 03 02 05 01.5 76000 76 03 02 07 02.5 76000 76 03 02 08 06.0 76000 76 03 02 09 08.0 76000 76 03 03 05 01.5 76000 76 03 03 08 02.0 76000 76 03 03 09 08.0 76000 76 03 05 05 02.0 76000 76 03 05 08 02.0 76000 76 03 05 09 08.0 76000 76 03 08 08 04.0 76000 76 03 08 09 08.0 76000 76 03 09 07 02.0 76000 76 03 09 08 01.0 76000 76 03 10 01 02.0 76000 76 03 10 08 01.0 76000 76 03 10 08 04.0 76000 76 03 10 09 04.0 76000 76 03 11 01 08.0 76000 76 03 11 05 02.0 76000 76 03 11 08 02.0 76000 76 03 11 09 04.0 76000 76 03 12 05 01.0 76000 76 03 12 07 02.0 76000 76 03 12 08 02.0 76000 76 03 16 07 08.0 76000 76 03 17 05 02.0 76000 76 03 17 07 08.0 76000 76 03 17 08 02.0 76000 76 03 18 05 02.0 76000 76 03 18 07 08.0 76000 76 03 18 08 02.0 76000 76 03 19 05 02.0 76000 76 03 19 07 08.0 76000 76 03 19 08 03.0 76000 76 03 19 08 05.0 76000 76 03 22 05 01.0 76000 76 03 22 07 02.0 76000 76 03 22 08 08.0 76000 76 03 23 01 03.0 76000 76 03 23 05 01.0 76000 76 03 23 08 06.5 76000 76 03 23 09 08.0 76000 76 03 24 05 00.5 76000 76 03 24 08 05.0 76000 76 03 24 09 04.5 76000 76 03 25 05 01.0 76000 76 03 25 09 06.0 76000 76 03 26 08 02.5 76000 76 03 26 09 05.0 76000 76 03 29 01 01.0 76000 76 03 29 05 02.0 76000 76 03 29 08 06.5 76000 76 03 29 09 07.0 76000 76 03 30 01 01.5 76000 76 03 30 05 01.0 76000 76 03 30 08 04.0 76000 76 03 30 09 06.5 76000 76 03 31 07 02.0 76000 76 03 31 08 02.0 76000 76 03 31 09 02.0 76000 76 04 01 05 01.0 76000 76 04 01 09 04.0 76000 76 04 02 09 01.0 76000 76 04 05 05 01.0 76000 76 04 05 09 07.0 76000 76 04 06 05 01.5 76000 76 04 06 07 02.0 76000 76 04 06 09 04.0 76000 76 04 07 08 01.0 76000 76 04 07 09 07.0 76000 76 04 08 09 06.0 76000 76 04 09 05 01.0 76000 76 04 09 09 07.0 76001 76 01 05 08 03.0 76002 76 01 07 08 02.0 76003 76 01 07 01 04.0 76003 76 01 07 08 02.0 76003 76 01 08 08 06.5 76003 76 01 30 01 05.0 76003 76 01 30 01 02.0 76003 76 01 30 01 02.0 76003 76 01 30 08 01.0 76003 76 02 02 01 02.0 76003 76 02 03 01 06.0 76003 76 02 04 01 02.0 76004 76 01 08 07 02.0 76004 76 01 10 07 04.0 76005 76 01 09 08 01.5 76005 76 01 10 03 05.5 76005 76 01 11 03 01.0 76005 76 01 12 05 05.5 76005 76 01 13 05 04.0 76006 76 01 16 05 02.7 76007 76 01 29 01 01.0 76008 76 01 29 08 06.0 76008 76 01 30 03 05.5 76008 76 01 30 08 06.0 76008 76 02 02 08 01.0 76008 76 02 02 08 06.0 76008 76 02 03 08 01.5 76008 76 02 03 08 06.0 76008 76 02 04 08 02.0 76008 76 02 04 08 08.0 76008 76 02 05 08 00.5 76008 76 02 05 08 08.0 76008 76 02 06 08 06.5 76008 76 02 09 08 08.0 76008 76 02 10 08 04.0 76008 76 02 11 08 01.0 76008 76 02 17 08 02.0 76008 76 02 18 08 06.0 76008 76 03 04 08 02.0 76008 76 03 05 08 06.0 76008 76 03 09 08 00.5 76008 76 03 10 08 01.0 76009 76 02 02 01 02.0 76009 76 02 16 05 01.5 76009 76 02 24 05 15.5 76009 76 02 25 05 01.5 76009 76 02 26 05 07.0 76009 76 02 27 05 01.5 76009 76 02 28 05 04.0 76009 76 03 01 05 05.5 76009 76 03 02 05 01.5 76009 76 04 06 05 00.5 76010 76 02 10 08 02.0 76010 76 02 11 08 02.0 76010 76 02 12 08 07.0 76010 76 02 13 08 04.0 76010 76 02 17 08 02.0 76010 76 02 24 08 04.5 76010 76 02 25 08 03.0 76010 76 03 01 08 01.0 76010 76 03 18 08 03.0 76011 76 02 09 05 01.5 76011 76 02 10 05 03.5 76011 76 02 12 05 01.0 76011 76 02 12 05 07.0 76011 76 02 13 05 05.5 76011 76 02 16 05 07.0 76011 76 02 17 05 04.0 76011 76 02 18 05 02.5 76011 76 02 19 05 05.5 76011 76 02 20 05 04.0 76011 76 02 23 05 04.5 76011 76 02 24 05 02.0 76011 76 03 03 05 02.5 76011 76 03 05 05 02.0 76011 76 03 06 05 01.0 76011 76 03 12 05 02.0 76011 76 03 16 05 03.5 76011 76 03 17 05 02.5 76011 76 03 18 05 03.0 76011 76 03 19 05 02.0 76011 76 03 22 05 05.0 76011 76 03 22 05 02.0 76011 76 03 23 05 07.0 76011 76 03 24 05 03.0 76011 76 03 25 05 01.0 76011 76 03 26 05 01.5 76011 76 04 05 05 02.5 76012 76 02 19 07 04.0 76012 76 03 05 07 06.0 76012 76 03 11 07 01.0 76012 76 03 12 07 06.0 76012 76 03 17 05 01.0 76012 76 03 18 05 02.0 76014 76 03 01 08 02.0 76014 76 03 02 01 05.0 76014 76 03 02 08 02.0 76014 76 03 03 01 05.0 76014 76 03 03 08 06.0 76014 76 03 04 08 06.0 76014 76 03 06 03 00.5 76014 76 03 08 07 06.0 76014 76 03 08 08 04.0 76014 76 03 09 07 01.0 76014 76 03 09 07 02.0 76014 76 03 09 07 02.0 76014 76 03 09 08 05.0 76014 76 03 10 07 06.0 76014 76 03 10 08 02.0 76014 76 03 11 07 07.0 76014 76 03 11 08 02.0 76014 76 03 15 08 08.0 76014 76 03 16 08 08.0 76014 76 03 17 05 02.5 76014 76 03 17 08 06.0 76014 76 03 18 08 03.0 76014 76 03 30 01 02.5 76014 76 03 30 08 04.0 76014 76 03 31 08 06.0 76014 76 04 01 01 02.0 76014 76 04 01 08 01.0 76014 76 04 05 08 00.5 76014 76 04 07 01 02.0 76014 76 04 09 08 01.0 76014 76 04 10 01 09.0 76015 76 03 03 07 03.0 76015 76 03 04 07 02.0 76016 76 03 09 07 02.0 76016 76 03 09 08 01.5 76016 76 03 11 08 02.0 76017 76 04 02 01 01.0 76017 76 04 11 03 01.0 76018 76 03 11 08 02.0 76018 76 03 12 08 06.0 76018 76 03 24 08 03.0 76018 76 03 26 08 01.0 76018 76 04 09 08 01.5 76019 76 03 24 01 01.0 76019 76 03 26 01 08.0 76019 76 03 30 01 04.0 76019 76 03 31 01 03.0 76019 76 03 31 05 04.0 76020 76 03 26 08 04.5 76020 76 03 29 08 01.5 76021 76 03 29 01 01.0 76021 76 04 05 01 02.0 76021 76 04 08 01 03.0 76021 76 04 09 01 03.0 76021 76 04 09 03 01.0 76022 76 03 05 03 05.0 76022 76 03 06 03 01.5 76023 76 04 01 01 01.0 76023 76 04 06 01 02.0 76024 76 04 01 07 01.0 76024 76 04 01 08 05.0 76024 76 04 02 01 04.0 76024 76 04 02 08 01.0 76024 76 04 04 03 02.0 76024 76 04 04 03 02.5 76024 76 04 05 03 04.5 76024 76 04 05 05 05.0 76024 76 04 05 08 02.0 76024 76 04 06 01 02.0 76024 76 04 06 05 05.5 76024 76 04 06 08 04.0 76024 76 04 07 03 03.0 76024 76 04 07 05 07.5 76024 76 04 08 01 01.0 76024 76 04 08 05 08.5 76024 76 04 09 05 06.5 76024 76 04 10 03 01.0 76025 76 04 01 08 02.0 76025 76 04 02 01 02.0 76025 76 04 02 08 07.0 76025 76 04 03 03 01.0 76025 76 04 04 03 02.5 76025 76 04 05 08 05.5 76025 76 04 06 08 05.5 76025 76 04 07 08 07.5 76025 76 04 08 08 08.0 76025 76 04 09 03 07.0 76025 76 04 09 08 06.5 76025 76 04 10 03 03.5 76025 76 04 11 08 04.0 76026 76 04 06 01 01.0 76027 76 04 09 01 03.0 76500 76 01 23 05 01.5 76500 76 01 23 05 01.5 76500 76 01 28 05 03.5 76500 76 01 30 01 04.0 76500 76 01 31 05 04.0 76500 76 02 03 01 02.0 76500 76 02 04 01 04.0 76500 76 02 09 05 08.0 76500 76 02 10 01 12.0 76500 76 02 10 05 05.5 76500 76 02 11 01 12.0 76500 76 02 11 05 08.5 76500 76 02 12 01 12.0 76500 76 02 13 01 12.0 76500 76 02 16 05 00.5 76500 76 02 17 05 04.0 76500 76 02 18 05 03.0 76500 76 02 20 05 02.0 76500 76 02 27 05 01.0 76500 76 03 01 05 02.0 76500 76 03 03 05 04.0 76500 76 03 04 05 09.0 76500 76 03 04 07 01.0 76500 76 03 05 03 04.0 76500 76 03 05 05 05.0 76500 76 03 06 03 01.5 76500 76 03 10 05 03.0 76500 76 03 13 05 03.0 76500 76 03 15 05 06.0 76500 76 03 24 01 06.0 76500 76 03 26 05 02.0 76500 76 03 29 01 02.0 76500 76 03 31 01 02.0 76500 76 04 03 01 10.0 76500 76 04 05 01 03.0 76500 76 04 06 01 02.0 76500 76 04 08 01 02.0 76500 76 04 09 01 02.0 76501 76 02 01 05 01.0 76501 76 02 02 05 03.0 76501 76 02 04 05 07.5 76501 76 03 11 05 05.0 76501 76 03 12 05 05.0 76514 76 01 20 05 02.0 76514 76 01 20 05 02.0 76514 76 03 24 05 01.5 76514 76 03 25 05 01.0 76514 76 03 30 05 01.0 76601 76 01 31 01 06.0 76601 76 02 02 01 03.0 76601 76 03 16 05 04.5 76601 76 03 17 05 01.0 76601 76 03 19 05 02.5 ¥BILLBILL110175BILL110875BILL111575BILL112375BILL113075BILL120775BILL121475BILL122175BILL123175BILL760115BILL760315BILL760404BILL760411BILLABILLASTBILLBBILLOUTBILLWEEK   05      0±.0� ·50´5A  ·5 0¸ ±¸        03      03.5� ·50´5A  ·5 0¸ ±9        03      0±.0� ·50´5A  ·5 0¸ ²²        03      0±.0� ·50´5A  ·5 09 09        0´      06.5� ·50´5A  ·5 09 ±0        0´      0·.5� ·50´5A  ·5 09 ±±        0´      03.0� ·50´5A  ·5 09 ±5        0´      0±.0� ·50´5A  ·5 09 ±6        05      0±.0� ·50´5A  ·5 09 ²5        05      00.5� ·50´5A  ·6 0± 09        0¸      0².5� ·50´5A  ·6 0± ²²        0¸      0´.0� ·50´5A  ·6 0± ²²        0¸      0´.0� ·50´6A  ·5 0¸ ±9        03      03.0� ¦9 13 75 75047 04.0 04 09 15 75 75047 08.5 04 09 15 75 75045 01.0 04 09 16 75 75047 05.0 04 09 16 75 75007 03.5 04 09 17 75 75007 03.5 04 09 17 75 75000 06.0 04 09 18 75 75007 07.5 04 09 18 75 75047 01.0 04 09 19 75 75047 01.0 04 09 19 75 75007 07.5 04 09 20 75 75007 08.5 04 09 20 75 75047 00.5 04 09 22 75 75007 05.5 04 09 22 75 75039 01.5 04 09 22 75 75049 01.5 05 09 13 75 75000 01.0 05 09 13 75 75047 07.5 05 09 12 75 75048 07.0 05 09 12 75 75500 02.5 05 09 11 75 75048 08.0 05 09 11 75 75500 02.0 05 09 10 75 75048 09.5 05 09 09 75 75028 01.0 05 09 09 75 75048 08.0 05 09 08 75 75036 05.5 05 09 08 75 75013 02.5 05 09 06 75 75030 09.5 05 09 05 75 75043 02.5 05 09 05 75 75036 04.5 05 09 05 75 75500 00.5 05 09 05 75 75030 01.0 05 09 04 75 75030 07.0 05 09 04 75 75000 01.0 05 09 03 75 75030 08.0 05 09 03 75 75000 00.5 05 09 02 75 75036 02.0 05 09 02 75 75030 07.0 05 08 30 75 75036 04.0 05 08 29 75 75036 05.5 05 08 29 75 75500 03.0 05 08 29 75 75046 00.5 05 08 28 75 75046 03.0 05 08 28 75 75036 05.5 05 08 27 75 75046 05.5 05 08 27 75 75044 00.5 05 08 27 75 75031 00.5 05 08 26 75 75046 04.5 05 08 26 75 75044 01.5 05 08 25 75 75046 06.0 05 08 25 75 75044 01.5 05 08 23 75 75046 08.5 05 08 22 75 75031 03.0 05 08 22 75 75046 06.0 05 08 21 75 75031 09.0 05 08 20 75 75042 04.0 05 08 20 75 75031 05.0 05 08 16 75 75500 01.5 05 08 16 75 75004 08.0 05 08 15 75 75042 08.5 05 08 14 75 75042 09.0 05 08 13 75 75000 00.5 05 08 13 75 75004 03.5 05 08 13 75 75042 04.0 05 08 12 75 75500 05.0 05 08 12 75 75004 04.0 05 08 12 75 75035 00.5 05 08 11 75 75000 01.5 05 08 11 75 75031 01.0 05 08 11 75 75035 02.0 05 08 11 75 75037 02.5 05 08 11 75 75500 02.0 05 08 09 75 75035 06.0 05 08 08 75 75035 08.0 05 08 07 75 75037 04.0 05 08 07 75 75035 02.5 05 08 07 75 75000 02.0 05 O8 06 75 75037 08.5 05 08 05 75 75037 04.5 05 08 05 75 75500 04.0 05 08 04 75 75500 01.0 05 08 04 75 75037 07.5 05 08 01 75 75043 06.5 05 08 01 75 75005 00.5 05 08 01 75 75500 01.0 05 07 31 75 75043 07.5 05 07 31 75 75005 00.5 05 07 30 75 75043 02.0 05 07 30 75 75005 06.0 05 07 29 75 75500 07.0 05 07 29 75 75034 01.0 05 07 28 75 75500 08.5 05 07 25 75 75500 08.0 05 07 24 75 75500 07.5 05 07 24 75 75000 00.5 05 07 23 75 75500 06.5 05 07 23 75 75030 01.5 05 07 22 75 75500 08.0 «®¯°±²³´µ¶·¸¹º»¼½ðñòóôõö÷øùúûüýþÿ01 07 21 75 75037 02.0 01 07 21 75 75034 03.0 01 07 21 75 75000 03.0 01 07 22 75 75040 04.0 01 07 22 75 75034 04.0 01 07 23 75 75040 04.0 01 07 23 75 75037 04.0 01 07 24 75 75030 02.0 01 07 24 75 75022 01.0 01 07 24 75 75040 02.0 01 07 24 75 75034 01.0 01 07 25 75 74042 04.0 01 07 25 75 75040 04.0 01 07 25 75 75034 01.0 01 07 28 75 75037 01.0 01 07 28 75 75501 06.0 01 07 27 75 75031 02.0 01 07 27 75 75034 03.0 01 07 27 75 75501 02.0 01 07 27 75 75042 01.0 01 07 30 75 75043 02.0 01 07 30 75 75031 01.0 01 07 30 75 75500 02.0 01 07 30 75 75005 01.0 01 07 30 75 75000 02.0 01 07 31 75 75008 06.5 01 07 31 75 75008 03.0 01 08 01 75 75000 03.0 01 08 01 75 75043 01.0 01 08 01 75 75042 02.0 01 08 01 75 75005 01.0 01 08 02 75 75034 04.0 01 08 02 75 75042 04.0 01 08 04 75 75028 03.0 01 08 04 75 74028 01.0 01 08 04 75 75031 01.0 01 08 04 75 75035 03.0 01 08 04 75 75037 01.0 01 08 05 75 75037 02.0 01 08 05 75 75500 01.0 01 08 05 75 75041 01.0 01 08 05 75 75044 01.0 01 08 05 75 75000 03.0 01 08 06 75 75041 02.0 01 08 06 75 75028 03.0 01 08 06 75 75500 03.0 01 08 07 75 75028 01.0 01 08 07 75 75037 01.0 01 08 07 75 75034 00.5 01 08 07 75 75035 01.0 01 08 07 75 75011 02.5 01 08 08 75 75013 02.0 01 08 08 75 75035 02.0 01 08 08 75 75037 03.0 01 08 08 75 75044 01.0 01 08 09 75 75035 01.0 01 08 09 75 75037 04.0 01 08 09 75 75004 03.0 01 08 11 75 75042 02.0 01 08 11 75 75040 03.0 01 08 11 75 75037 03.0 01 08 12 75 75040 03.0 01 08 12 75 75042 03.0 01 08 12 75 75035 03.0 01 08 13 75 75030 04.0 01 08 13 75 75035 01.0 01 08 13 75 75042 01.0 01 08 14 75 75041 08.0 01 08 15 75 75004 02.0 01 08 15 75 75037 02.0 01 08 15 75 75000 04.0 01 08 18 75 75004 02.0 01 08 18 75 75042 01.0 01 08 18 75 75000 05.0 01 08 19 75 75041 06.0 01 08 20 75 75041 08.0 01 08 21 75 75041 08.0 01 08 22 75 75041 06.0 01 08 22 75 75044 02.0 01 08 25 75 75041 01.0 01 08 25 75 75044 01.0 01 08 25 75 75046 02.0 01 08 22 75 75500 04.0 01 08 26 75 75036 04.0 01 08 26 75 75041 01.0 01 08 26 75 75044 02.0 01 08 26 75 75046 01.0 01 08 27 75 75044 04.0 01 08 27 75 75046 04.0 01 08 27 75 75041 04.0 01 08 28 75 75046 04.0 01 08 28 75 75500 04.0 01 08 29 75 75030 02.0 01 08 29 75 75048 02.0 01 08 29 75 75041 02.0 01 08 30 75 75500 08.0 01 09 01 75 75500 08.0 01 09 02 75 75500 08.0 01 09 03 75 75500 08.0 01 09 04 75 75036 04.0 01 09 04 75 75500 04.0 01 09 05 75 75500 07.0 01 09 05 75 75047 01.0 01 09 08 75 75500 04.0 01 09 08 75 75040 04.0 01 09 09 75 75500 08.0 01 09 10 75 75500 08.0 01 09 11 75 75500 08.0 01 09 12 75 75500 08.0 01 09 22 75 75502 08.0 01 09 23 75 75502 06.0 01 09 23 75 75039 02.0 01 09 24 75 75013 02.0 01 09 24 75 75013 02.0 01 09 24 75 75047 02.0 01 09 24 75 75052 02.0 01 09 25 75 75049 02.0 01 09 25 75 75500 06.0 01 09 26 75 75500 02.0 01 09 26 75 75053 01.0 01 09 26 75 75054 01.0 01 09 26 75 75028 04.0 01 10 13 75 75000 01.0 01 10 13 75 75007 01.0 01 10 13 75 75049 04.5 01 10 13 75 75504 01.5 01 10 14 75 75007 04.0 01 10 14 75 75000 02.0 01 10 14 75 75052 03.0 01 10 15 75 75004 11.5 01 10 14 75 75059 03.5 01 10 16 75 75004 06.0 01 10 16 75 75059 02.0 01 10 17 75 75041 01.0 01 10 17 75 75035 02.0 01 10 17 75 75060 01.0 01 10 17 75 75007 01.0 01 10 20 75 75500 02.0 01 10 20 75 75060 02.0 01 10 20 75 75007 05.0 01 10 21 75 75013 02.0 01 10 21 75 75049 06.0 01 10 22 75 75055 02.0 01 10 22 75 75049 06.0 01 10 23 75 75061 04.0 01 10 23 75 75039 01.0 01 10 23 75 75505 03.0 01 10 24 75 75013 03.0 01 10 24 75 75061 05.0 01 10 25 75 75000 02.0 01 10 27 75 75042 02.0 01 10 27 75 75047 01.0 01 10 27 75 75058 01.0 01 10 27 75 75007 04.0 01 10 28 75 75505 03.0 01 10 28 75 75049 08.0 01 10 28 75 75062 01.0 01 10 29 75 75062 01.0 01 10 29 75 75028 07.0 01 10 30 75 75028 04.0 01 10 30 75 75049 03.0 01 10 30 75 75000 01.0 01 10 31 75 75064 04.0 01 10 31 75 75050 04.0 01 10 77 75 75061 01.0 01 10 18 75 75505 04.0 01 11 01 75 75506 06.0 01 11 03 75 75064 04.0 01 11 03 75 75040 04.0 01 11 04 75 75064 04.0 01 11 04 75 74037 02.0 01 11 04 75 75000 02.0 01 11 05 75 75040 02.0 01 11 05 75 75042 02.0 01 11 05 75 75500 02.0 01 11 05 75 75504 02.0 01 11 06 75 75040 01.0 01 11 06 75 75042 04.0 01 11 06 75 75007 02.0 01 11 06 75 75000 01.0 01 11 07 75 75504 06.0 03 07 19 75 75030 04.0 03 07 19 75 75032 06.0 03 07 20 75 75035 01.5 03 07 24 75 75041 03.5 03 07 24 75 75037 01.5 03 07 24 75 75035 01.5 03 07 24 75 75000 01.5 03 08 01 75 75031 07.0 03 08 01 75 75042 01.5 03 08 02 75 75042 04.5 03 08 02 75 75034 03.5 03 08 08 75 75028 02.5 03 08 08 75 75044 02.0 03 08 08 75 75028 04.5 03 08 09 75 75028 04.0 03 08 09 75 75044 02.0 03 08 09 75 75037 01.0 03 08 09 75 75004 01.0 03 08 15 75 75035 01.0 03 08 15 75 75028 07.5 03 08 16 75 75041 06.0 03 08 16 75 75004 03.5 03 08 18 75 75045 03.5 03 08 19 75 75045 01.0 03 08 19 75 75046 03.0 03 08 22 75 75045 01.0 03 08 22 75 75046 01.5 03 08 22 75 75041 02.8 03 08 22 75 75046 03.5 03 08 30 75 75030 03.5 03 08 30 75 75048 04.0 03 09 27 75 75049 07.0 03 09 27 75 75007 01.5 04 07 19 75 75032 06.0 04 07 21 75 75032 02.0 04 07 21 75 75038 04.0 04 07 21 75 75034 02.0 04 07 22 75 75034 08.0 04 07 23 75 75034 06.0 04 07 23 75 75031 01.5 04 07 24 75 75034 05.0 04 07 24 75 75031 03.5 04 07 25 75 75031 07.5 04 07 25 75 75034 01.0 04 07 26 75 75034 05.5 04 07 28 75 75031 03.0 04 07 28 75 75034 05.0 04 07 29 75 75034 04.5 04 07 29 75 75041 02.0 04 07 29 75 75000 02.0 04 07 30 75 75005 06.0 04 07 30 75 75034 03.0 04 07 31 75 75005 06.0 04 07 31 75 75043 02.0 04 08 01 75 75005 03.0 04 08 01 75 75043 02.5 04 08 01 75 75031 03.0 04 08 03 75 75034 08.5 04 08 04 75 75037 04.0 04 08 04 75 75041 04.0 04 08 05 75 75034 03.0 04 08 05 75 75037 02.5 04 08 05 75 75041 03.0 04 08 06 75 75034 05.0 04 08 06 75 75037 03.5 04 08 07 75 75037 07.0 04 08 07 75 75041 01.0 04 08 08 75 75034 01.0 04 08 08 75 75037 07.5 04 08 09 75 75037 07.0 04 08 11 75 75037 09.0 04 08 12 75 75037 07.0 04 08 12 75 75035 00.5 04 08 12 75 75042 00.5 04 08 12 75 75004 01.0 04 08 13 75 75035 07.0 04 08 13 75 75042 01.0 04 08 14 75 75035 03.5 04 08 14 75 75042 02.0 04 08 14 75 75025 02.5 04 08 15 75 75035 07.0 04 08 15 75 75042 01.0 04 08 16 75 75004 08.5 04 08 16 75 75041 02.0 04 08 16 75 75035 02.5 04 08 20 75 75035 01.5 04 08 20 75 75041 05.0 04 08 20 75 75037 02.5 04 08 21 75 75041 11.0 04 08 22 75 75041 04.5 04 08 22 75 75044 03.0 04 08 22 75 75046 01.0 04 08 23 75 75046 01.3 04 08 23 75 75044 07.2 04 08 25 75 75044 02.0 04 08 25 75 75046 05.5 04 08 26 75 75044 06.0 04 08 26 75 75046 02.5 04 08 27 75 75044 02.5 04 08 27 75 75041 02.5 04 08 27 75 75046 03.5 04 08 28 75 75046 02.0 04 08 28 75 75013 07.0 04 08 29 75 75046 03.0 04 08 29 75 75004 01.5 04 08 29 75 75030 04.0 04 08 30 75 75036 07.0 04 09 02 75 75030 08.0 04 09 03 75 75030 10.0 04 09 04 75 75030 04.5 04 09 05 75 75030 07.5 04 09 05 75 75036 01.0 04 09 06 75 75030 11.0 04 09 08 75 75036 08.5 04 09 09 75 75013 02.5 04 09 09 75 75045 06.5 04 09 10 75 75045 07.5 04 09 10 75 75036 01.0 04 09 10 75 75048 01.0 04 09 11 75 75045 03.0 04 09 11 75 75036 03.0 04 09 11 75 75048 04.0 04 09 12 75 75048 09.0 04 09 13 75 75036 02.0 04 09 13 75 75013 02.0 04 09 13 75 75047 04.0 04 09 20 75 75007 08.5 04 09 20 75 75047 00.5 04 09 19 75 75047 01.0 04 09 19 75 75007 07.5 04 09 18 75 75007 07.5 04 09 18 75 75047 01.0 04 09 17 75 75007 03.5 04 09 17 75 75000 06.0 04 09 16 75 75047 05.0 04 09 16 75 75007 03.5 04 09 15 75 75047 08.5 04 09 15 75 75045 01.0 01 09 20 75 75039 03.5 01 09 20 75 75047 02.0 01 09 20 75 75007 03.5 01 09 18 75 75500 09.0 01 09 17 75 75500 09.0 01 09 16 75 75500 09.0 01 09 15 75 75500 09.0 04 09 22 75 75007 05.5 04 09 22 75 75039 01.5 04 09 22 75 75049 01.5 04 09 23 75 75039 03.5 04 09 23 75 75007 05.5 04 09 24 75 75007 04.0 04 09 24 75 75039 01.0 04 09 24 75 75013 04.0 04 09 25 75 75007 03.5 04 09 25 75 75036 02.5 04 09 25 75 75013 02.0 04 09 25 75 75036 00.5 04 09 26 75 75036 02.0 04 09 26 75 75013 03.0 04 09 26 75 75007 03.5 04 09 27 ÷ÿýÿÚE¥ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@ÐÕE¥ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ/÷béñÿËé#qÿÍéÃ9ÿÜéÃLÿÜéÃNÿ÷ÿ&Ý郜ÿ¾êÿ¾ê ÿþÿD¼ ÿÿ ôßñÿ’D’$)7hÅÄñÿœHœÈäD½øÅ €    ÷ÿäD $ï„ € €%öÿ’X’(”% ÿÿ€ €ÃŠ'›Cúÿ’X@lÚ. ÿÿ€ÂúÿY@»Ù3 /€ÁñÿY’X’XVO8 4€Á Ä  þÿDŸ»Fñÿ’Xä('¡G ÿÿ! €À¡# ¿¥ŸG ñÿE”$K<UÄŸ'Z‚\‚`oœ óÿE’D)IdcÄŸ' ¾¥�Z‚œoùÿ’X$»vo ÿÿ€€ñÿ’X’$’$1—u ÿÿ€€›#P­¦›C‹7Å�Z‚òÿ¤D9 %R=š# Ã¥‚›�øÿY€$\u� &€ €ñÿ’X’Ø%ß— ÿÿ€  ¥ ñÿ"G”$+È8¥Ÿ' £�¬ª°º ñÿdE%’Ø5Þ³Ä ÁŸGo›#�G  0øÿúÿ’D  šÁ ÿÿ@9¿Æñÿ$I&�³\ÁGvµ\¡]˜»\ª9¿\a†pZ{ÁSHúÿDž»¹›áy‘8êÿÿÿÿ û_€ýÿE™³\ ÿÿ ÿßÿÿ ÿß üÿ ÀøÃ\bŠÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@8Y³\ ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ¸Ø–fCFÿ™hCxÿbéñÿËé#qÿÍéÃ9ÿñÿð¥ÜéÃLÿÜéÃNÿÝ郜ÿ¾êÿ¾ê ÿýÿgòÖëáÿþÿD¼ ÿÿ ôßþÿHû· ûÿDÔÔÃ\`Šñÿ’D’$%œíò €ñÿ"EÙœÈÝeòñ    € úÿ’H@ò €$ÿÿ@Û¿$ýÿÒÃ\`Šÿÿ@ÿ¿ñÿ’D’$’$Èúš;Êõᘀ–@B †'èùÿ’D$ö–d ÿÿòÿñÿY¬$¢$ôÊ$ ð–C  ò !ò¡'ñÿG+œ(Ù‡2 G  ñ !ñ¡' G õÿ”D”$@à @ ò '[‚PJñÿ’X’$¤$ÖJ ÿÿ€P…–CŒ'‹/¥[‚^Xñÿ’D’(’$NXŒ'—CP­˜K„‹'—CŒ/‹7ÍP…Ž˜Kñÿ"G¤$’Ä`f˜# î¥[‚o„  ñÿE’È’$ýLtx 0 v G—#P­¦—C˜3µ˜SñÿdE%äD$Ñ‚f ð™CÝ™# ñ¦™C ïñÿäD";%mW��÷ ñ™+ Cž 0÷ÿY�(7ž œ›K  ñÿ’X'”$†@¦ ÿÿ! €€!�Z‚ÇùÿK$Cƒ´µ  ñÿ’Xä$¢$ º ÿÿ €€›# í¦›C¡š#ñÿ’D,%’$gaȘ+¥�Z‚ÛÐ  ›#ñÿ’D%¤$„6Ö G—#P­¦—C‰–#�Z‚äëÿÿ@¿äñÿ’Xì(’$·2ä ÿÿ€ €ñ   þÿD »òÿÿ@ ¿óñÿ"Iò-µ\¡]Kµ\Av§Å\�œ»¹›áyå8êÿÿÿÿ û_€ýÿ@5¸\nÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@Bõ¸\nÿÿ@ÿ¿ÿÿ@ÿ¿ñÿk-Æeÿ–fcFÿ�fc–ÿ®gÿÏgcUÿñÿZz`icnÿbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿ÷ÿ&Ý郜ÿ¾êÿ¾ê ÿþÿD¼ ÿÿ ôßñÿ¤D";d%"¯|}  €  {ñÿGä(’$Sr‹C  |�' {�Õ·@– ¥­óÿ’DbE%ù⬪$/  |ñÿ’X'’(*G) ÿÿ€P…‹C  }�'[‚ñÿ,E¬$”8ÏE7:E  }€ €Qñÿ’XäXâØ \E  }€w € ñÿ¬Dl9;¡S |€w € €‹#ñÿ’DKÇzŽa�Z‚gu € €  ýÿEºo|òÿY’Ø�$þ¿q *€ Eÿÿ@�¿~úÿDµ\¡]r8êÿÿÿÿ û_€ýÿzó~g¥ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@|³~g¥ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ²fcKÿfc–ÿPfÿ–fcFÿ�fc–ÿñÿÍØ€gcªÿƒgc‚ÿ®gÿÏgcUÿ”hÿñÿZz`icnÿbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿ÷ÿ&Ý郜ÿ¾êÿ¾ê ÿþÿD¼ ÿÿ ôßñÿ¤D";d%Á®”•   €  “ñÿ,G;¢$tþ‹C “ €D…„‚ñÿœH;¬$š�%P…‹C €  € ”ñÿ,GÇ+ä8+ €�€ ” €ñÿbKÛb9J™9� €   ‹D…ñÿ’DbEb%å1G„‚NY • ñÿ”X”Ä,ÇfˆU€t • ‡ ñÿâXb%%ôŽc€ • •”' õÿ’H”$@q2q†¦“G‹#�Z‚{„ñÿ’XbÇ’Ø,ž{ ÿÿ€ €  €  €€Dòÿ’D’$�$=é‰DÿEÿÿ@i¿–úÿD÷µ\¡]|8êÿÿÿÿ û_€ýÿ-µ\Dvÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@ íµ\@vÿÿ@ÿ¿ÿÿ@ÿ¿ôÿä{béñÿÍéÃ9ÿÜéÃNÿñêã¡ÿþÿD¼ ÿÿ ôß÷ÿG�ÄB×  þÿ € €÷ÿ’X`'â[  ÿÿ € €   ÿÿ@î¿úÿDyØÅ\�œ 8êÿÿÿÿ û_€ýÿ…[³\ÄGúÿH$Å\€œ&³\ÀGýÿÀÛ$béñÿñÿG’$’$Ür Š3"*‰;3;[‚ [Ò îƒñÿ’D’$’$Ý$Æ[‚8Š3BJÿÿ[ÒîƒÆöñÿ’D’$’8w°îƒÆ[‚ñ8PÕ‹Wî Š3"*øÿ’D€$cQ*‰;3;ùÐÑØýÿ@yÁoh–ÿÿ û_€ýÿÙ¿\d†ýÿ@àÜ¿\`†ýÿÀÛ$béñÿñÿG’$’$æ  ‰3"*PÕŒSÕ[‚©€�Óñÿ’D’$’$¬wŽC�K�ÒŠ3"*pÕ[‚©€�Ó�Cñÿ’D¢$’$œ�S²…�+ÿÿ‘KŽ+ ‚Œ¢�3Òñÿ’D’D’$–*Ž+ ªŒ�+# ‚Œ¢‘+�©€�öÿ’D”$g¢8ŠGŠŠOŒÿÿPÕ‹W=úÿH/%ó“.oh–@ÿÿ û_€ýÿB@¶\cýÿ@H¶\cýÿÀÛ$béñÿñÿâD’$’$»è!  Õ�S�S‰3"*Õ[‚©€ñÿ’D’$’$‰·�PÕPÒ“S�CŽK‚ªPÕŒWÿÿŠ3"ñÿ’D’$’$þà*[‚©€�“‘C’KÛ)”K�3íñÿ’D’$’$«~*ÄÅ �#�+@ª@‚ ÅŽ; Å íó8ñÿ’D’$’$ue8�C�K‘#’+@ª@‚‘C’K”ì“3�#�+“Òñÿ’D’$’$½–F©€�Ó�Ò‹3BJ‘#’+Ò©ùÿ’D(zÒT€�Š3BJýÿ@5Áoh–Yÿÿ û_€ýÿ£Eµ\¤]ýÿ@ªµ\ ]ýÿÀÛ$béñÿôÿG’$$Õ® ‰3"*©€�BJÿÿýÿ@„Áoh– ÿÿ û_€ýÿ=ù»\ªýÿ@D¹»\ªýÿÀÛ$béñÿõÿG’$ õÅ ‰3Š/…Zª„BJÿÿýÿ@…Áoh– ÿÿ û_€ýÿ‘g­<ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@�Ög­< ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿþÿD¼ ÿÿ ôßñÿ¢D%Ùx">€> €   €ùÿY(ªí  €øÿ’X€(hr ÿÿ€ €=ñÿ’X’$’$Ú! ÿÿ€ € €€ €€€–#[‚ñÿbIâ$’$“«*;,  €  €˜'�øÿœD€ÄÂD8P­¥—G  ÿÿ@À¿?÷ÿ€Hö雚X†ªF8êÿÿÿÿ û_€ýÿr†ªFÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@pφªF ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿúÿž¾êÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D%Ùs!½€½ €   €ùÿY(ªí  €øÿ’X€(èq ÿÿ€ €½ñÿY’(’ÄÇá €€½—#–+ ˜KŽ'‹7Åñÿ’D”$”Däb*Š/¦™C�/¥[‚84Ž'�G¬ñÿ”D’$œ$ú)8Š'šCbš#ƒšC‹/�Õ·@–�÷ ñÿ’D’Ä' F �'˜+ �K ñÿ’D’$”$!�T�#ž/ŽœO™#P­¦™C<ÿÿ@�¿bñÿ’X’$”$Þ™b ÿÿ€ €€™#Z‚\‚rýÿIjµp¬{ñÿ’X%’Äÿžr ÿÿ€ €€¼4 €ñÿ’X’$¢$G€ €�'™+¦œG�'™C§™#ñÿ’Dœ$œ$r­Žƒ™CŽ/�Õ·@–�÷  ñÿ’D’È’(»²œ ¼�/¥œG�—#�—CýÿEô´ªbøÿY€$Uu¬ € €ôÿYì$$C8³ ­€€  ÿÿ@A¿¾ôÿI Sa�cgns›šX´8êÿÿÿÿ û_€ýÿݦEÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@×fEÿÿ@ÿ¿ÿÿ@ÿ¿ñÿŒÿbéñÿÜéÃLÿÜéÃNÿÝ郜ÿ¾êÿôÿ¯¾ê ÿ¾êÿÖëáÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¤D"%)ÙW ñÿYœÈ”D0ð €  € €ñÿYœDâD*5 ˜C@˜#ƒ˜C �ù ñÿ’DœD’D£H+#2 £' 0�­¬ªñÿ¢DdE’$¦ 9>C" ˜C�'™CŠ/šKñÿœDäD’8¸ùG‹7Š'• –£S £+ ›KP…œCñÿEœ$’$™’Uþœ#ƒœC›+�ú #£'ñÿ’D’8œ$zPc�Cš+PÕΣK $#¤'žCš+ ñÿœH’$9`uqΣK $#¤'ŸC  Cñÿ’HœÈ’$è™ #ƒ C �ù # �#ñÿ’D¢$Ež�£/�­¬ª—›€˜# CñÿYœDâD4› ¡C¹¡#ƒ¡C �ù ñÿ’D’$%�©#!ž#£/�­¬ª·»ñÿE”Èä$· ˜#¡C ¢CÙ¢#ƒ¢C ñÿâD’$’$�íÅ�ù #"Ÿ#£/�­¬ªñÿEœ(’$TÄÓ×ÛÀ˜#¢C # #ñÿYâÈâÈ&á ¥¤C ¤+ ¤K ¡+ ¤#ñÿ’D’$’Èb#Ž£O™+PÕΙKš# ¦šCôÿbK’$$LýW  (@'ÿÿ@÷¾ýÿ Æõ8êÿÿÿÿ û_€ýÿ:nE¤Lÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@<.E Lÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿ÷ÿí ¾êÿ¾ê ÿÖëáÿþÿD¼ ÿÿ ôßóÿ¢D";%z<ˆ €    €  ñÿ’X’(’(òò  ÿÿ€ €‡Š'‘Ca‘#ƒ‘Cñÿ’D'’$‹/�Õ·@–�÷  “'’CñÿœH’D%‹…),  *�­¬ª7Uñÿ"G9’$ÞS7’# †¥“C …“+ ’KZª\ªñÿ$E’È"%E9EIXR „’+¥[‚XR‘#ñÿdG’8”$;SŒG  ƒ’C  ’#“Gñÿ"G¤$’Ä áa�# ‚¥‚ju   €ñÿ’Dä8”$t±o’#�P­¥“G �# ‡¥‚€óÿœH’Ä€$}~‹'ŒG    0ÿÿ@v¿‰úÿD!¼¹›áy8êÿÿÿÿ û_€ýÿ�°kE ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@‡pkE ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿŒÿbéñÿÜéÃLÿÜéÃNÿÝ郜ÿ¾êÿ÷ÿl‹¾ê ÿÖëáÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¤D"%œ(QÛ¡ ¢¢¢ € ñÿYœÈ”D-ð €  € €ñÿ’D’(’$ÎÌ�'�CŠ'™C˜™#ƒ™C‹/�Õ·@–�ñÿG’$,%¯X+÷ Ÿ'šC[‚8B ñÿìH”D9›û9Ÿš+  žŽ›KLš# �¦ŸCñÿY"'9^YG ŸŸ+ ›K›# ž¥ŸC ŸŸ+ ñÿœDGGõƒUš#¥œC œœ+ �K œ�+ œ#¥ñÿG'’$î}cžC    'ŸG�#ñÿœDœ$’$”šqP­¦ŸC   !¡'ñÿäD''§ò G�# ›¦ŸC   ñÿ’D9b+°�!¡' G�# š¦�C#  ÷ÿ’D�$¤›(}@'ÿÿ@\¿£ýÿ Æõ8êÿÿÿÿ û_€ýÿÓnåYD7ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@Õ.åY@7ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿúÿž¾êÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D";d%•/‚ €    €  �ñÿG’$d)uÚ�C  €“'[‚- €ñÿG'’$`»�C  €  €”'�P­ñÿ’D’(’$„K+¥“GŠ'‘Cu‘#ƒ‘C‹/�Õ·@–�ñÿG’$”$=Þ9÷ “'’CZ‚\‚IñÿdI’$œH4gGbR ’+¥[‚bR‘#ŒG ñÿ’Dœ(¬D¾¸U] * [“Gs ñÿ’DâÈäDý&c ~’+ o 0 mûÿ”D9ØqŽ“O1ñÿ’Xì$’$38u ÿÿ€ €    ÿÿ@|¿ƒÿÿ@|¿ƒúÿD¹»¹›áyv8êÿÿÿÿ û_€ýÿõ´« ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@ót«  ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿôÿ¯¾êÿ¾ê ÿÖëáÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D%Ù… 0€0 €   €ùÿY(ªí  €øÿ’X€(uq ÿÿ€ €0ñÿY’(’$¯I €€0‹'Š/¥PÕÆ˜C�'ñÿ’D’$’$·Ø*Å™C�'˜+¥šCŽ'™+¥˜+¥[‚öÿI¤$á_8:cš#�Z‚Acñÿ’X%’([uA ÿÿ€/Š'›Cc›#ƒ›Cñÿ’D'’$ÛRO‹/�Õ·@–�÷ $¤'�Z‚ñÿ¤D’(’XU¨]gaLŽ'�G $ñÿ’D’$’$Výÿ Æõ8êÿÿÿÿ û_€ýÿ³òE¤iÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@±²E¤i ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿýÿ?‹¾ê ÿþÿD¼ ÿÿ ôßñÿ¤D"%Ù¦!TTTT   €ñÿY’(%ÚÀ  €�'ŽCŠ'•CO•# ñÿ’H’$’ÄÂòS¦•C‹/�Õ·@–�õ úÿ’X ÿz+ ñÿ’X’(’8èò0 ÿÿ€R•#P­¦›C þÿD§»>ñÿ’X’(’$Oæ? ÿÿ€Qš#�+Ž˜OŽ#P­¦ŽC÷ÿlE�$ŸyM  øÿÿÿÿ@ª¿U÷ÿ€H/?�xF1Z{ÁS@8êÿÿÿÿ û_€ýÿEÝó¦Ä{ýÿ@L�ó¦À{úÿØ+`QêcBÿbéñÿñÿG’$’$ò‹ ‹'Š/¥Q…ƒ/1ö‹S‰3¶ŠSŠñÿ’D’$’$iH&1•‚ �CŠ/ŠŠ'ŠÏÀǦ‹G‹�ñÿ’D’$'u:ö‚Š/Ï1¶1‹W)0¶2ñÿ’D’$’$M`*ZÒ !`æ ?ÿÿ ÿŽÿñÿ”D¤$’D{ï8ÿ!ÆŒG1ÿÿÿÿHIL €Œ7P­ Íøÿ’D€$1Fàñ L$TP÷ÿI¬È_ x=fÁp<oh–;ÿÿ û_€ýÿ‚Xv§ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@„v§ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿsG…YKÿÆeÿPfÿ–fcFÿ�fc–ÿñÿÍØ€gcªÿƒgc‚ÿ®gÿÏgcUÿ”hÿñÿ!q™hcxÿbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿôÿÕŠÝ郜ÿ¾êÿñêã¡ÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D";%ј €"   € Ž'�CñÿâD”ÄâXZ ‹/ŸK € [‚q € €üÿ[¬¤"ñÿ’X’8âÈé< ÿÿ&" üÿ& — CúÿlY ©….“"ñÿY’8Ë«‰3 !&" üÿ&“ñÿìX’Ä"%¾gA !�#�Z‚NT�#ñÿ’D’X9r=OP­¥�Ce " ’¡+ ñÿYœ$’$Cú] ‘Ž¢OŸ+PÕÍŸK üÿŸ#Š/ñÿ’DKbÇ0jk¥[‚,‡ €  €"ÿÿ@†¿yñÿY’8”È7y 4&" üÿ& � C,ÿÿ@x¿‡ñÿ’Xì$’$Ƈ ÿÿ€ €    0 Aûÿ’D׺•ÿÿ@f¿™÷ÿ€HÆ�Z–z¹›áyˆ8êÿÿÿÿ û_€ýÿ /­Ä8ýÿ@Ú/­À8úÿØ+`QêcBÿbéñÿñÿbG’$’$‚  P1–2ZÒ=U!æŽCP‚ ?ñÿ’D’$’$ÅYA�K�‰#Š/±Ä�C‹'¥Q…ƒ�+¤ñÿ’D’$’$—­ ¤€�3¶9)JÓƒý�#•‚�Cñÿ’D’$’$0F*Ž'Ž-1ÀŠÇÏ+1ÎÆ�G��O��ñÿ’D’$’$ò‰8ò‚Ž'1)Ǧ�GPÕŒWÿÿÿÿÿÿñÿ$E’$¢$Ü FTUX €Œ7P­ͳ !ÆŒGCõÿ’D’$ ïT C$RDÿ �ÿ÷ÿI…È_ xEfÁpDoh–Rÿÿ û_€ýÿfðÁ„Nÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@h°Á€Nÿÿ@ÿ¿ÿÿ@ÿ¿ôÿe}béñÿÜéÃLÿÜéÃNÿáécŽÿþÿD¼ ÿÿ ôßñÿ¢D";d%R0) €   €   (ñÿ¢H’$¤$am  € €)òÿ¢D’$�Ø~&1(,X081A!)  ÿÿ@Õ¿*ýÿ Æõ8êÿÿÿÿ û_€ýÿ¾šÅ¤8ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@¼ÁšÅ 8 ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿ½ËbéñÿÍéÃ9ÿÜéÃLÿÜéÃNÿÝ郜ÿ÷ÿD)¾êÿ¾ê ÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¤D%Ùé¡]\] €   €ñÿY’(’8#  €Š'ŽC�/•K ÷ÿœD�$>˜'–C ñÿ’Xä(’$Ûp% ÿÿ[™# Z¦˜G•#PÕÆùÿG$çD3•C ñÿY"+Ùäg9 &Y X™+  ZŽ˜Oñÿ’D’$”$9HG•+PÕΕKŽ#ÆŽC‹/¥�Z‚VöÿbK’$vU  ÿ ÿÿÿ@¡¿^úÿDþ�xF:8êÿÿÿÿ û_€ýÿ] ›šXÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@_Í›šXÿÿ@ÿ¿ÿÿ@ÿ¿ñÿŒÿbéñÿÜéÃLÿÜéÃNÿÝ郜ÿ¾êÿýÿ¾ ßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D";%Ûo? €    €  P…ŒGñÿ’X’$d)KÉ   €‘'�C[‚ >ñÿœD’$I*šŒG�#‹/ Zª\ª5)0‹'�ñÿ”D’D’8Òj+Z‚50�#�P­¥�C  øÿœD€Ä€ó9 €�#‘G  ÿÿÿÿ@¿¿@ýÿ Æõ8êÿÿÿÿ û_€ýÿ_ê¹›äyÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@aª¹›àyÿÿ@ÿ¿ÿÿ@ÿ¿ñÿñoYé–ÿbéñÿÜéÃLÿÜéÃNÿÝ郜ÿñÿò¡¾êÿ¾ê ÿ¾êÿÖëáÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D";b%/ˆ €    €  ñÿ’D%’ÈËt €‘'�C 0 ¥Z‚ñÿ”D¢H"'™¶\‚0K#' -�# %¥ñÿ”DE9Z¼+‚d¸4 1�# 2�Õ·ñÿ’Dœ(’D¾9@– ¥­¬A 9 ?‘K�­Ï@Žñÿ’D”$¢(Û(G•ÕÔ‘+·ÒR¼V AñÿäD’$%èÑU�# T�Õ·@– ¥­¬c IñÿY’$’$ c a‘K�­Ï@Ž•ÕÔ‘+·Òñÿ¢HœD’DàqtÉx J�# v�Õ·@– ¥ñÿ”D"'’$¯ñ­¬… R ƒ‘K�­Ï@Ž•Õñÿ’D%’(û[�Ô‘+·Ò–Õš S�#ñÿY’$äDú¢› ˜�Õ·@– ¥­¬§ Z ¥ñÿ’D’$¢$ç©‘K�­Ï@Ž•ÕÔ‘+·Ò¸ñÿ"KÙdGò‰·â ‡ŒG  †ŒG …�+  „ñÿ”D"'ÙòãÅ��KíP…ŒG …�+  ƒ��KñÿdE9’Èð,Óí ‚ŒG …�+  ���Kñÿ"KìÈœD¾ñáí €ŒG …�+  ��K‹' ñÿ’H¤$”X„îZ‚\‚J8ù  €ÿñÿbIœ$äD’•ý%  €�# ƒ¦’C …ñÿdGb'œ$&� ’+  ~Ž‘O   €�# ñÿœHdGb'7�¦’C …’+  ~Ž‘O  ñÿ’DœÈdGÛ¼' €�# ¦’C …’+  ~ñÿìD’$œÈH05Ž‘O   €�# „¦’C ñÿìHìDäD§iC…’+  ~Ž‘O  †ŒG‹/ ‚ñÿ’DK¢$QͪWJ  €` -ñÿ"GÙ’È»¦_ ^‘G  ‚ŒG‹/ †Íªñÿ,E’$äDúwmpJ  €y 0 wñÿbG’$’$: {‘G  QI@0ÿÿ@v¾‰ÿÿ@v¾‰ýÿ Æõ8êÿÿÿÿ û_€ýÿï¾)Ñäoÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@õ~)Ñàoÿÿ@ÿ¿ÿÿ@ÿ¿ôÿä{béñÿÍéÃ9ÿÜéÃNÿñêã¡ÿþÿD¼ ÿÿ ôßûÿGܧ  ôÿ’X’8اf ÿÿ € üÿ €  ÿÿ@ï¿úÿD2á�Z–8êÿÿÿÿ û_€ýÿê*gnÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@ìêgnÿÿ@ÿ¿ÿÿ@ÿ¿ôÿIobéñÿÜéÃLÿÜéÃNÿÝ郜ÿþÿD¼ ÿÿ ôßñÿ¢D";%¶Ñ% €    €  Š'�CñÿE’$'—’#�#ƒ�C‹/�Õ·@–�÷  öÿ’Db+ Œ'‘G  ÿÿ@Ù¿&ýÿ Æõ8êÿÿÿÿ û_€ýÿ„Sd�ÿÿ ÿßÿÿ ÿßÿÿ@ÿ¿ÿÿ@ÿ¿ýÿ@†ÜS`�ÿÿ@ÿ¿ÿÿ@ÿ¿ñÿŒÿbéñÿÜéÃLÿÜéÃNÿÝ郜ÿ¾êÿ÷ÿl‹¾ê ÿÖëáÿßëc†ÿþÿD¼ ÿÿ ôßñÿ¢D";d%ü/P €    €  OñÿœD’$ä$^�C‹/‘K “'�+¦’C NñÿGË’$N’+ �K�# N ’#¥’C’#[‚ñÿI’D¬$�+8-’# N¦’C�3P…•�S' ñÿ’D’$’$kÉ9’#“G‘#P­¥‘CŠ7Å[‚õÿ"E; ×GJ�#ŒG  ÿÿ@®¿Qýÿ Æõ8êÿÿÿÿ û_€ýÿh�Z–ýÿ@oÏ�Z–ñÿlÛŽ P¹ÿ¢šÿ�fc–ÿ–fcFÿbéñÿñÿbG’Ä’$¾²  €0ý"/)�".)�Óñÿ’D’$’$oñ))� Ó')�Ó$)�ZZñÿ’D’$â$±¡Z9©û¨ü"+§B8 €ñÿ’D¢$’$o¾*ÿÿZZZZZ÷2ÿÿðÿÿð@Hüÿ�DZº8DLPýÿ@dÁoh–*ÿÿ û_€ öÿ 75 75007 04.0 04 09 27 75 75039 04.5 04 10 06 75 75049 01.0 04 10 06 75 75047 01.0 04 10 06 75 75030 06.0 04 10 07 75 75030 05.0 04 10 08 75 75049 06.5 04 10 08 75 75007 01.5 04 10 08 75 75015 00.8 04 10 09 75 75049 08.0 04 10 10 75 75049 08.0 04 10 10 75 75007 00.5 04 10 11 75 75049 03.0 04 10 11 75 75007 05.0 01 10 06 75 75050 04.0 01 10 06 75 75051 04.0 01 10 07 75 75007 04.0 01 10 07 75 75049 04.0 01 10 08 75 75500 04.0 01 10 08 75 75041 03.0 01 10 08 75 75049 01.0 01 10 09 75 75049 08.0 01 10 10 75 75049 06.0 01 10 10 75 75040 01.0 01 10 10 75 75041 01.0 03 10 10 75 75055 03.0 03 10 10 75 75055 04.5 03 10 11 75 75055 03.5 03 10 11 75 75055 04.0 04 11 03 75 75030 05.0 04 11 03 75 75000 02.0 04 11 04 75 75030 04.5 04 11 04 75 75013 03.0 04 11 05 75 75030 08.0 04 11 06 75 75030 08.0 04 11 07 75 75030 08.0 05 09 13 75 75000 01.0 05 09 13 75 75047 07.5 05 09 12 75 75048 07.0 05 09 12 75 75500 02.5 05 09 11 75 75048 08.0 05 09 11 75 75500 02.0 05 09 10 75 75048 09.5 05 09 09 75 75028 01.0 05 09 09 75 75048 08.0 05 09 08 75 75036 05.5 05 09 08 75 75013 02.5 05 09 06 75 75030 09.5 05 09 05 75 75043 02.5 05 09 05 75 75036 04.5 05 09 05 75 75500 00.5 05 09 05 75 75030 01.0 05 09 04 75 75030 07.0 05 09 04 75 75000 01.0 05 09 03 75 75030 08.0 05 09 03 75 75000 00.5 05 09 02 75 75036 02.0 05 09 02 75 75030 07.0 05 08 30 75 75036 04.0 05 08 29 75 75036 05.5 05 08 29 75 75500 03.0 05 08 29 75 75046 00.5 05 08 28 75 75046 03.0 05 08 28 75 75036 05.5 05 08 27 75 75046 05.5 05 08 27 75 75044 00.5 05 08 27 75 75031 00.5 05 08 26 75 75046 04.5 05 08 26 75 75044 01.5 05 08 25 75 75046 06.0 05 08 25 75 75044 01.5 05 08 23 75 75046 08.5 05 08 22 75 75031 03.0 05 08 22 75 75046 06.0 05 08 21 75 75031 09.0 05 08 20 75 75042 04.0 05 08 20 75 75031 05.0 05 08 16 75 75500 01.5 05 08 16 75 75004 08.0 05 08 15 75 75042 08.5 05 08 14 75 75042 09.0 05 08 13 75 75000 00.5 05 08 13 75 75004 03.5 05 08 13 75 75042 04.0 05 08 12 75 75500 05.0 05 08 12 75 75004 04.0 05 08 12 75 75035 00.5 05 08 11 75 75000 01.5 05 08 11 75 75031 01.0 05 08 11 75 75035 02.0 05 08 11 75 75037 02.5 05 08 11 75 75500 02.0 05 08 09 75 75035 06.0 05 08 08 75 75035 08.0 05 08 07 75 75037 04.0 05 08 07 75 75035 02.5 05 08 07 75 75000 02.0 05 09 19 75 75500 06.5 05 09 19 75 75039 02.0 05 09 18 75 75046 02.5 05 09 18 75 75500 06.5 05 09 17 75 75046 03.5 05 09 17 75 75500 06.0 05 09 16 75 75048 01.0 05 09 16 75 75045 01.0 05 09 16 75 75044 01.0 05 09 16 75 75043 01.0 05 09 16 75 75039 01.5 05 09 16 75 75500 03.5 05 09 15 75 75048 01.0 05 09 15 75 75500 08.5 03 09 20 75 75039 03.5 03 09 20 75 75047 02.0 03 09 20 75 75007 03.5 05 09 22 75 75039 08.5 05 09 23 75 75039 09.0 05 09 24 75 75039 05.0 05 09 24 75 75500 03.5 05 09 25 75 75045 00.5 05 09 25 75 75039 04.0 05 09 25 75 75053 04.0 05 09 26 75 75053 04.0 05 09 26 75 75054 04.5 05 09 29 75 75039 03.0 05 09 29 75 75052 00.5 05 09 29 75 75054 03.0 05 09 29 75 75053 03.0 05 09 30 75 75053 01.2 05 09 30 75 75039 03.3 05 09 30 75 75030 00.5 05 09 30 75 75054 05.0 05 10 01 75 75500 01.0 05 10 01 75 75039 06.0 05 10 01 75 75048 01.0 05 10 01 75 75054 00.5 05 10 02 75 75500 01.1 05 10 02 75 75039 02.4 05 10 02 75 75047 02.0 05 10 02 75 75028 01.0 05 10 02 75 75500 01.5 05 10 03 75 75500 06.0 05 10 03 75 75000 01.0 05 10 03 75 75028 04.0 05 10 04 75 75028 03.0 03 10 04 75 75007 03.5 03 10 04 75 75049 04.5 01 09 29 75 75052 04.0 01 09 29 75 75500 04.0 01 09 30 75 75049 08.0 01 10 01 75 75500 08.0 01 10 02 75 75052 08.0 01 10 03 75 75049 08.0 04 09 29 75 75054 01.5 04 09 29 75 75039 02.0 04 09 29 75 75007 05.5 04 09 30 75 75054 02.5 04 09 30 75 75005 04.5 04 09 30 75 75039 02.0 04 10 01 75 75039 01.5 04 10 01 75 75007 03.0 04 10 01 75 75049 03.0 04 10 01 75 75030 00.5 04 10 02 75 75047 02.0 04 10 02 75 75049 06.0 04 10 02 75 75007 01.0 04 10 03 75 75047 03.0 04 10 03 75 75049 02.0 04 10 03 75 75007 04.0 04 10 04 75 75049 01.0 04 10 04 75 75007 08.0 05 10 06 75 75050 01.0 05 10 06 75 75039 00.5 05 10 06 75 75500 00.3 05 10 06 75 75050 06.2 05 10 07 75 75050 00.5 05 10 07 75 75051 04.8 05 10 07 75 75500 00.7 05 10 07 75 75000 01.8 05 10 07 75 75039 00.5 05 10 08 75 75007 05.7 05 10 08 75 75500 02.5 05 10 08 75 75049 00.3 05 10 09 75 75000 07.0 05 10 10 75 75047 00.4 05 10 10 75 75048 00.7 05 10 10 75 75049 02.0 05 10 10 75 75057 05.0 05 10 10 75 75500 00.4 05 10 11 75 75054 00.3 05 10 11 75 75051 04.0 05 10 11 75 75051 02.0 05 10 11 75 75050 00.7 05 10 13 75 75055 03.0 05 10 13 75 75050 01.5 05 10 13 75 75051 02.0 05 10 13 75 75007 01.5 05 10 13 75 75057 00.5 05 10 14 75 75055 05.5 05 10 14 75 75058 02.0 05 10 15 75 75055 05.0 05 10 15 75 75058 03.0 05 10 16 75 75060 01.8 05 10 16 75 75007 06.2 05 10 16 75 75049 00.5 05 10 17 75 75007 02.0 05 10 17 75 75049 02.5 05 10 17 75 75060 01.5 05 10 17 75 75050 01.6 05 10 17 75 75039 00.4 04 10 13 75 75007 06.0 04 10 13 75 75049 02.0 04 10 14 75 75007 04.0 04 10 14 75 75055 01.5 04 10 14 75 75058 02.0 04 10 15 75 75007 08.5 04 10 15 75 75058 00.5 04 10 16 75 75007 08.0 04 10 16 75 75036 01.0 04 10 17 75 75007 08.0 05 O8 06 75 75037 08.5 05 08 05 75 75037 04.5 05 08 05 75 75500 04.0 05 08 04 75 75500 01.0 05 08 04 75 75037 07.5 05 08 01 75 75043 06.5 05 08 01 75 75005 00.5 05 08 01 75 75500 01.0 05 07 31 75 75043 07.5 05 07 31 75 75005 00.5 05 07 30 75 75043 02.0 05 07 30 75 75005 06.0 05 07 29 75 75500 07.0 05 07 29 75 75034 01.0 05 07 28 75 75500 08.5 05 07 25 75 75500 08.0 05 07 24 75 75500 07.5 05 07 24 75 75000 00.5 05 07 23 75 75500 06.5 05 07 23 75 75030 01.5 05 07 22 75 75500 08.0 06 10 23 75 75028 08.0 06 10 24 75 75028 04.0 06 10 24 75 75061 04.5 04 10 20 75 75049 01.5 04 10 20 75 75030 04.5 04 10 20 75 75013 02.0 04 10 21 75 75049 01.0 04 10 21 75 75007 01.0 04 10 21 75 75030 04.0 04 10 21 75 75013 02.0 04 10 22 75 75007 06.0 04 10 22 75 75013 01.5 04 10 22 75 75042 00.5 04 10 23 75 75056 05.0 04 10 23 75 75007 03.5 04 10 23 75 75028 01.0 04 10 24 75 75061 05.0 04 10 24 75 75007 02.5 04 10 24 75 75058 01.0 04 10 25 75 75058 01.5 04 10 25 75 75061 07.5 05 10 20 75 75060 02.5 05 10 20 75 75050 02.0 05 10 20 75 75055 04.0 05 10 21 75 75055 05.0 05 10 21 75 75060 00.4 05 10 21 75 75049 00.4 05 10 21 75 75050 00.4 05 10 21 75 75055 00.4 05 10 22 75 75055 03.1 05 10 22 75 75042 03.1 05 10 22 75 75039 00.9 05 10 22 75 75050 01.5 05 10 23 75 75042 01.6 05 10 23 75 75055 01.1 05 10 23 75 75007 01.8 05 10 23 75 75056 05.0 05 10 24 75 75007 01.3 05 10 24 75 75061 02.2 05 10 24 75 75058 05.7 05 10 25 75 75058 05.3 06 10 27 75 75061 02.0 06 10 27 75 75058 02.0 06 10 27 75 75013 02.0 06 10 28 75 75058 02.0 06 10 28 75 75051 05.0 06 10 28 75 75050 01.0 06 10 29 75 75051 04.0 06 10 29 75 75050 03.0 06 10 29 75 75049 01.0 06 10 30 75 75049 08.0 06 10 31 75 75049 04.0 06 10 31 75 75064 04.0 04 10 27 75 75061 04.0 04 10 27 75 75013 04.0 04 10 28 75 75013 07.5 04 10 28 75 75007 01.0 04 10 29 75 75013 08.0 04 10 29 75 75049 01.0 04 10 30 75 75049 04.0 04 10 30 75 75030 03.0 04 10 30 75 75007 01.5 04 10 31 75 75049 04.0 04 10 31 75 75030 02.0 04 10 31 75 75064 02.0 04 11 01 75 75030 04.5 05 10 27 75 75048 03.0 05 10 27 75 75061 01.3 05 10 27 75 75058 04.4 05 10 27 75 75051 00.3 05 10 28 75 75058 01.0 05 10 28 75 75007 05.5 05 10 28 75 75051 01.5 05 10 28 75 75050 01.0 05 10 29 75 75050 05.0 05 10 29 75 75049 03.0 05 10 30 75 75508 00.7 05 10 30 75 75049 03.8 05 10 30 75 75050 04.5 05 10 31 75 75050 00.7 05 10 31 75 75056 01.0 05 10 31 75 75064 01.5 05 10 31 75 75007 00.8 05 10 31 75 75049 02.0 06 11 03 75 75049 02.0 06 11 03 75 75506 05.0 06 11 03 75 75064 01.0 06 11 04 75 75064 02.0 06 11 04 75 75506 05.0 06 11 04 75 75042 01.0 06 11 05 75 75506 08.0 06 11 06 75 75506 07.0 06 11 06 75 75030 01.0 06 11 07 75 75506 08.0 05 11 03 75 75050 01.0 05 11 03 75 75500 07.0 05 11 04 75 75050 03.0 05 11 04 75 75042 05.5 05 11 05 75 75050 03.0 05 11 05 75 75042 05.5 05 11 06 75 75042 07.0 05 11 06 75 75050 01.5 05 11 07 75 75042 07.0 07 11 03 75 75064 08.5 07 11 04 75 75064 02.0 07 11 04 75 75050 04.0 07 11 04 75 75042 02.0 07 11 05 75 75050 06.0 07 11 05 75 75042 02.0 07 11 05 75 74037 01.0 07 11 06 75 75050 01.0 07 11 06 74 74037 07.0 07 11 07 75 74037 03.0 07 11 07 75 75042 01.0 07 11 07 75 75007 04.0 01 11 07 75 75504 02.0 07 11 10 75 75007 03.0 07 11 10 75 75030 05.0 07 11 10 75 75065 01.0 07 11 11 75 74037 05.0 07 11 11 75 75065 03.0 07 11 11 75 75056 01.0 07 11 12 75 75065 03.0 07 11 12 75 75063 02.0 07 11 12 75 75000 03.0 07 11 13 75 75065 02.0 07 11 13 75 75063 05.0 07 11 13 75 75056 01.0 07 11 14 75 75063 01.5 07 11 14 75 75065 05.0 07 11 14 75 75056 01.5 01 11 10 75 75030 05.0 01 11 10 75 75501 02.0 01 11 10 75 75000 01.0 01 11 11 75 74037 02.0 01 11 11 75 75049 02.0 01 11 11 75 75066 04.5 01 11 12 75 74045 04.0 01 11 12 75 75063 02.0 01 11 12 75 75054 02.0 01 11 13 75 75063 03.0 01 11 13 75 75066 01.0 01 11 14 75 75000 04.0 01 11 14 75 75050 01.0 01 11 14 75 75047 01.0 01 11 14 75 75063 02.0 01 11 15 75 75050 03.0 01 11 15 75 75504 01.0 01 11 15 75 75000 03.0 06 11 10 75 75506 04.0 06 11 10 75 75030 05.0 06 11 11 75 75506 05.0 06 11 11 75 75042 03.0 05 11 10 75 75042 08.0 05 11 11 75 75054 02.0 05 11 11 75 75056 02.5 05 11 11 75 75042 03.0 05 11 11 75 75048 00.5 05 11 11 75 75049 01.2 05 11 12 75 75054 02.0 05 11 12 75 75048 01.0 05 11 12 75 75056 05.0 05 11 13 75 75054 00.6 05 11 13 75 75056 04.0 05 11 13 75 75042 01.0 05 11 13 75 75000 01.9 05 11 14 75 75056 05.0 05 11 14 75 75047 02.5 05 11 14 75 75050 01.5 05 11 14 75 75049 00.3 Qcdefghijklmnopqrstuvwxyz{|}~01 07 21 75 75037 02.0 01 07 21 75 75034 03.0 01 07 21 75 75000 03.0 01 07 22 75 75040 04.0 01 07 22 75 75034 04.0 01 07 23 75 75040 04.0 01 07 23 75 75037 04.0 01 07 24 75 75030 02.0 01 07 24 75 75022 01.0 01 07 24 75 75040 02.0 01 07 24 75 75034 01.0 01 07 25 75 74042 04.0 01 07 25 75 75040 04.0 01 07 25 75 75034 01.0 01 07 28 75 75037 01.0 01 07 28 75 75501 06.0 01 07 27 75 75031 02.0 01 07 27 75 75034 03.0 01 07 27 75 75501 02.0 01 07 27 75 75042 01.0 01 07 30 75 75043 02.0 01 07 30+ÿ }HŠðËBi€&æ×pLÇ•Ä#ÐÈŠð֯߄³­ z¨{X€ð™±[‡7¼,Å=òûÓ¹8”1£Õ_Xô’Ýüjt+ÒðÔɦ¤7#,Eõ;âqƒ…¨a™þ(vd¦ ÜZSÛ±`¬ù^öÀç2œ%½Ò{36‘Ôîο7Ôí=ÀJG‹óÐy)Ûæ±—f ”UÃÂãʈjÁSÞÉo�Dhm¨:O;š@9YÖvG½|É…M²J“BøDñΦ´�”*j뤰í‰!Æ÷8ì²µ[¢CŸh“!¾ºÏT$úÍ„š› •¹ê¶{§Ø\Oåí’ióߨUQh®±¥”ýx ÞKå�1éw¦¼W›Ì¡‚W£H‹�÷žü/›]-oú5ûÂȖу<¦E�rÙS ¸5±ÊŽšß4tÜ]kê¡«¶pFI݆¹·Ž¬_u»bïù(Sáá~��qä��kÚ![´à¾y¶vvg¾Ì¥]R˜³É˜æ OϤdM“šè– '9Â6±'ã܉e sóX¶ÑP.6ÿA}§ŠËˉcio&‘×ÇLz•C•#7È�ÿ!¯V„­¿zÃ{߀“™àF‡Î¼Åüò¶Ó`8×1ò`_ô%ÝÛjÏ+™ð·ÉÏ7ú,xõ:âlƒl¨•a(þómdy ûZîÛ¸`Ïù ö+çIœ†%üÒ¶3]Ç‘£îÙ¿nÔ=J"‹:ÐÜ)Êæ\—½ GUB“ã1ˆmÁbÞoD»mG:j;!@ÜYKÖaGT|¼… ²“éø‡ñeΣ]´ª�s*Åëk°Ð‰�Æ9÷ìåµZ¢ C†h!¬¾…ÏK$ÍÍ£5› ¸¹™¶æ§ï\Âå,’¤óØQ7®¼Ü”$ý× ¹K,�”éf¦gWòÌT‚‚Ò£kHŽ�žG/°-úPû£e÷–¼<™E\r”S³¸x±Ž%ßëto]Jêü«}p)IL†ä·e¬’uºbêà(Öáp~X�häb�ŠÚ¼[»àáyevágÕ?¥œRӳ𘩠nß?ŠT‰½ÎÊ� ^P�©Bf²hŒ ÕBQcåïAê^¹ïOÄäíºw»dÀ-ÙãVVÇü¶ì2c½x©q N蟹4tbªskÏ0 HFÏwûl5Z"Ãyèסt>kOƤ7M²šƒ� J9q6'úÜüeLBsXyÑ.§ Ôw6F