@CAT,P 1060-007-007.,///10000 @ASG,T TEMP.,///10000 @ELT,OI TEMP.1060-007-007,,,160232033342,000 )@@G@@**PF**@@@[@"@@@@@@@@@@@[@0&@@@]FE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@]G@@@]F^@@@@@@@@@@@@@^>@@@@]@@@@WK*@@@[@"@B@@@@AB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[;@@@@]$@#S@[F@@@@@@@@=@[P@@@@@@@@S@@L@@@AC )@@G@@@@@@#E@^L@@@@@@@[C@[@@@@@@@@@@@@+@]S@@@@]@@@Q@@@@^T@@J@]?@@@@@@@])@[A@@@AD )@@G@@@@@@@"@@'@@@@@@@@C@@V@@@@@@@@O@["@@@@# @[=@[(@@@@@@@[^@[1@@@@@@@@8@@2@@@AE )@@G@@@@@@@B@@N@]<@@@@@G@[N@[7@#-@[U@[]@@@@#F@@.@]E@#]@@@@@1@@,@#U@#O@@A@@E@@@AF )@@G@@@@@@#$@[I@#L@@@@[L@@;@@@@@@@@5@@@@]%@#?@@!@@*@^R@@@@]R@@@@@@@],@@@@#<@#HAG )@@G@@@#@@^K@@3@]U@@@@[R@@:@@@@^@@[$@@Z@@@@#9@@ @#R@@@@#K@[8@]7@@@@@@@[D@@0@]!AH )@@G@@@@@@@%@@>@@@@@@@@X@@T@@@@@@@@^@^O@@@@@@@@@@['@#.@]Y@[[@@(@@@@#M@@<@@[@@@AI )@@G@@@@@@@R@@K@@@@@@@]K@@@@@@@@@@[B@@_@@@@@@@[.@@-@@@@@@@@W@@P@@@@#=@@I@[%@@@AJ )@@G@@@#D@@#@[ @@@@@@@]G@@9@@@@@@@]D@[_@]V@]W@[2@@H@@@@@@@[V@[<@@@@@@@[#@[/@]6AK )@@G@@@@@@@7@]C@@@@@@@@\@@M@@@@@@@@F@@@@#Y@@@@[M@]8@^U@@@@@/@@6@^-@@@@]B@]#@@@AL )@@G@@@@@@]]@@D@@@@@@@^ @^*@@@@@@@@]@@@@@@@@@@@4@[Z@@@@@@@@?@@$@#/@@@@@)@#N@^(AM )@@G@@@@@@@@@^Z@]X@@@@^X@]M@@@@@@@]^@]N@@@@@@@@&@@Y@@@@@@@@U@@@@@@@@@@#7@@E@^(AN )@@G@@NEWS @^$@[J@@[@@@DATA @ @@@[[@@@@[@@@@]@EENAYNBIN2FD AO )@@G@@@@@@[H@@[@@@ @ @[@][@@@@-@@@@][E9MGJWE$2 @@@@^S@@[@@@AP )@@G@@EXPLANATION @ @@@[[@@@@]@@@@]+JL)[IME$4 @@@@@@@@[@@@EXPLANATION AQ )@@G@@@ @@@[[@@@@[@@@@]=JL=[IME$5 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[AR )@@G@@@@@@]>JL>[IME$7 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@]&JL*[IMAS )@@G@@E$8 @@@@]:@@[@@@EXPLANATION @ @@@[[@@@@[@@@@]*JL([IME$9 AT )@@G@@@@@@[4@@[@@@EXPLANATION @ @@@[[@@@@]@@@@](JL%[IME$10 @@@@]9@@[@@@AU )@@G@@EXPLANATION @ @@@[[@@@@]@@@@]:JL?[IME$11 @@@@@@@@[@@@EXPLANATION AV )@@G@@@ @@@[[@@@@]@@@@]!JL![IME$12 @@@@]+@@[@@@EXPLANATION @ @@@[[@@@@]AW )@@G@@@@@@]\JL,[IME$13 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@]1JL\[IMAX )@@G@@E$14 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@#@@@@]3JL1[IME$16 AY )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@]6JL3[IME$17 @@@@@@@@[@@@AZ )@@G@@EXPLANATION @ @@@[[@@@@]@@@@]8JL4[IME$18 @@@@@@@@[@@@EXPLANATION BA )@@G@@@ @@@[[@@@@]@@@@]'JL6[IME$19 @@@@#:@@[@@@EXPLANATION @ @@@[[@@@@]BB )@@G@@@@@@]/JL7[IME$20 @@@@]=@@[@@@EXPLANATION @ @@@[[@@@@[@@@@]"JL9[IMBC )@@G@@E$21 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@@]_JL'[IME$23 BD )@@G@@@@@@#B@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#@JL.[IME$24 @@@@[E@@[@@@BE )@@G@@EXPLANATION @ @@@[[@@@@[@@@@#]JM@[IME$25 @@@@@@@@[@@@EXPLANATION BF )@@G@@@ @@@[[@@@@]@@@@##JM[[IME$26 @@@@[O@@[@@@EXPLANATION @ @@@[[@@@@^BG )@@G@@@@@@# JM#[IME$27 @@@@[W@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#DJM^[IMBH )@@G@@E$28 @@@@[>@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#FJM [IME$29 BI )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#HJMA[IME$31 @@@@@@@@[@@@BJ )@@G@@EXPLANATION @ @@@[[@@@@]@@@@#JJMC[IME$32 @@@@#;@@[@@@EXPLANATION BK )@@G@@@ @@@[[@@@@]@@@@#LJMD[IME$36 @@@@[X@@[@@@EXPLANATION @ @@@[[@@@@]BL )@@G@@@@@@#NJMI[IME$37 @@@@[&@@[@@@EXPLANATION @ @@@[[@@@@#@@@@#PJMK[IMBM )@@G@@E$38 @@@@]1@@[@@@EXPLANATION @ @@@[[@@@@[@@@@#SJMM[IME$39 BN )@@G@@@@@@[!@@[@@@EXPLANATION @ @@@[[@@@@[@@@@#TJMN[IME$40 @@@@@@@@[@@@BO )@@G@@EXPLANATION @ @@@[[@@@@[@@@@#UJMO[IME$41 @@@@].@@[@@@EXPLANATION BP )@@G@@@ @@@[[@@@@]@@@@#VJMQ[IME$42 @@@@]O@@[@@@EXPLANATION @ @@@[[@@@@]BQ )@@G@@@@@@#XJMR[IME$43 @@@@[K@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#ZJMT[IMBR )@@G@@E$44 @@@@[Q@@[@@@EXPLANATION @ @@@[[@@@@]@@@@#-JMU[IME$45 BS )@@G@@@@@@^V@@[@@@EXPLANATION @ @@@[[@@@@^@@@@#[IME$108 @@@@^D@@[@@@EXPLANATION @ @@@[[@@@@]@@@@^?JN&[IMDA )@@G@@E$111 @@@@][@@[@@@EXPLANATION @ @@@[[@@@@[@@@@^,JN([IME$112 DB )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@^\JN%[IME$117 @@@@@@@@[@@@DC )@@G@@EXPLANATION @ @@@[[@@@@]@@@@^1JN1[IME$118 @@@@@@@@[@@@EXPLANATION DD )@@G@@@ @@@[[@@@@#@@@@^3JN2[IME$119 @@@@]&@@[@@@EXPLANATION @ @@@[[@@@@[DE )@@G@@@@@@^6JN3[IME$120 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@^7JN4[IMDF )@@G@@E$121 @@@@]L@@[@@@EXPLANATION @ @@@[[@@@@[@@@@^9JN6[IME$122 DG )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@^'JN7[IME$124 @@@@] @@[@@@DH )@@G@@EXPLANATION @ @@@[[@@@@]@@@@^/JN8[IME$125 @@@@#^@@[@@@EXPLANATION DI )@@G@@@ @@@[[@@@@]@@@@^"JN'[IME$126 @@@@^A@@[@@@EXPLANATION @ @@@[[@@@@[DJ )@@G@@@@@@ @JN;[IME$128 @@@@#V@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ [JN.[IMDK )@@G@@E$129 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ #JN"[IME$130 DL )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ ^JN_[IME$131 @@@@@@@@[@@@DM )@@G@@EXPLANATION @ @@@[[@@@@[@@@@ AJO@[IME$133 @@@@]3@@[@@@EXPLANATION DN )@@G@@@ @@@[[@@@@[@@@@ BJO][IME$134 @@@@]A@@[@@@EXPLANATION @ @@@[[@@@@[DO )@@G@@@@@@ CJO#[IME$135 @@@@]Z@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ DJO^[IMDP )@@G@@E$136 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ FJOA[IME$137 DQ )@@G@@@@@@#"@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ HJOB[IME$138 @@@@^H@@[@@@DR )@@G@@EXPLANATION @ @@@[[@@@@]@@@@ JJOD[IME$139 @@@@@@@@[@@@EXPLANATION DS )@@G@@@ @@@[[@@@@[@@@@ LJOE[IME$140 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[DT )@@G@@@@@@ MJOF[IME$141 @@@@#)@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ NJOG[IMDU )@@G@@E$142 @@@@[9@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ OJOI[IME$145 DV )@@G@@@@@@]"@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ QJOK[IME$148 @@@@#P@@[@@@DW )@@G@@EXPLANATION @ @@@[[@@@@[@@@@ RJOO[IME$149 @@@@#G@@[@@@EXPLANATION DX )@@G@@@ @@@[[@@@@[@@@@ SJOP[IME$152 @@@@^[@@[@@@EXPLANATION @ @@@[[@@@@]DY )@@G@@@@@@ TJOU[IME$153 @@@@#>@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ VJOW[IMDZ )@@G@@E$161 @@@@#J@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ WJO<[IME$162 EA )@@G@@@@@@^J@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ XJO=[IME$164 @@@@@@@@[@@@EB )@@G@@EXPLANATION @ @@@[[@@@@#@@@@ YJO&[IME$165 @@@@^P@@[@@@EXPLANATION EC )@@G@@@ @@@[[@@@@]@@@@ -JO$[IME$166 @@@@]F@@[@@@EXPLANATION @ @@@[[@@@@[ED )@@G@@@@@@ H%RBXMT$ME EF )@@G@@@@@@[6@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ *H /DQMT$YOU @@@@@@@@[@@@EG )@@G@@EXPLANATION @ @@@[[@@@@]@@@@ (HA5DQMT$HELP @@@@@@@@[@@@EXPLANATION EH )@@G@@@ @@@[[@@@@ @@@@ :HN+DQMT$TOPICS @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]EI )@@G@@@@@@ 0HQ!DQME$-1 @@@@]T@@[@@@EXPLANATION @ @@@[[@@@@[@@@@ 2H1-DQMEJ )@@G@@E$46 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ 3I=>DQME$97 EK )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@@ 5HU:AJNE$98 @@@@@@@@[@@@EL )@@G@@EXPLANATION @ @@@[[@@@@[@@@@ 7HXFAJNE$83 @@@@@@@@[@@@EXPLANATION EM )@@G@@@ @[@][@@@@#@@@@ 8C+-]LRE$79 @@@@@@@@[@@@EXPLANATION @ @[@][@@@@ EN )@@G@@@@@@ ;F)1]LRE$15 @@@@#!@@[@@@EXPLANATION @ @[@][@@@@]@@@@A@G[*EWREO )@@G@@E$30 @@@@@@@@[@@@EXPLANATION @ @[@][@@@@#@@@@A]G #EWRE$33 EP )@@G@@@@@@]H@@[@@@EXPLANATION @ @[@]@@@@@]@@@@A G!&EWRE$34 @@@@@@@@[@@@EQ )@@G@@EXPLANATION @ @[@]@@@@@]@@@@ABG\2EWRE$49 @@@@]-@@[@@@EXPLANATION ER )@@G@@@ @[@]@@@@@]@@@@ADG2UEWRE$57 @@@@^=@@[@@@EXPLANATION @ @[@]@@@@@]ES )@@G@@@@@@AFG5NEWRE$61 @@@@]P@@[@@@EXPLANATION @ @[@]@@@@@]@@@@AHG63EWRET )@@G@@E$62 @@@@@@@@[@@@EXPLANATION @ @[@]@@@@@]@@@@AJI .EWRE$63 EU )@@G@@@@@@]2@@[@@@EXPLANATION @ @[@]@@@@@[@@@@ALIC2EWRE$65 @@@@]I@@[@@@EV )@@G@@EXPLANATION @ @[@]@@@@@]@@@@AMIKCEWRE$67 @@@@@@@@[@@@EXPLANATION EW )@@G@@@ @[@]@@@@@]@@@@AOILUEWRE$69 @@@@#8@@[@@@EXPLANATION @ @[@]@@@@@]EX )@@G@@@@@@AQIQFEWRE$74 @@@@@@@@[@@@EXPLANATION @ @[@]@@@@@]@@@@ASITXEWREY )@@G@@E$84 @@@@@@@@[@@@EXPLANATION @ @[@]@@@@@]@@@@AUIX[EWRE$85 EZ )@@G@@@@@@]_@@[@@@EXPLANATION @ @[@]@@@@@]@@@@AWIZZEWRE$101 @@@@@@@@[@@@FA )@@G@@EXPLANATION @ @[@]@@@@@#@@@@AYI>=EWRE$154 @@@@#A@@[@@@EXPLANATION FB )@@G@@@ @[@]@@@@@]@@@@A-I*=EWRE$1 @@@@]>@@[@@@EXPLANATION @ @[@][@@@@]FC )@@G@@@@@@AD:@EXRFD )@@G@@E$35 @@@@@@@@[@@@EXPLANATION @ @[@][@@@@]@@@@A$D\5EXRE$105 FE )@@G@@@@@@@@@@[@@@EXPLANATION @ @[@][@@@@^@@@@A(D9=EXRE$53 @@@@^G@@[@@@FF )@@G@@EXPLANATION @ @[@][@@@@]@@@@A!C;PEYRE$102 @@@@#%@@[@@@EXPLANATION FG )@@G@@@ @[@]@@@@@]@@@@A\BBNYDISC$$T @@@@@@@@[@@@GO )@@G@@ @ @@@[P@@@@[@@@@JMI)$BNYDISC$$TOC @@@@@@@@[@@@ GP )@@G@@@ @@@[P@@@@A@@@@JNI)(BNYDISC$$WIDE @@@@@@@@[@@@ @ @@@[P@@@@[GQ )@@G@@@@@@JTI)%BNYDISC$COMMAND@@@@@@@@[@@@ @ @@@[P@@@@]@@@@JUI)?BNYGR )@@G@@DISC$DRIVER @@@@@@@@[@@@ @ @@@[P@@@@B@@@@JWI),BNYDISC$GO GS )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@^@@@@J@@@@O"I-PBNYFRT @@@@@@@@[@@@ @ @@@[P@@@@QHK )@@G@@@@@@PBNYHQ )@@G@@MASKA @@@@^^@@[@@@ @ @@@[P@@@@E@@@@TFI-&BNYMASKF HR )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@D@@@@TPI-*BNYNEXTREC @@@@@@@@[@@@HS )@@G@@ @ @@@[P@@@@#@@@@TYI-:BNYNUMSLOTSATEN@@@@@@@@[@@@ HT )@@G@@@ @@@[P@@@@[@@@@T-I-!BNYOLINK @@@@@@@@[@@@ @ @@@[P@@@@UHU )@@G@@@@@@T+I-\BNYOPTALK @@@@@@@@[@@@ @ @@@[P@@@@]@@@@T/I-1BNYHV )@@G@@OPTBIT2ALPHA@@@@@@@@[@@@ @ @@@[P@@@@ @@@@T"I-3BNYOVERFLOW HW )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@O@@@@U#I-5BNYOVERFLOW-ALL@@@@@@@@[@@@HX )@@G@@ @ @@@[P@@@@D@@@@URI-7BNYP0 @@@@^)@@[@@@ HY )@@G@@@ @@@[P@@@@K@@@@U)I-9BNYPAGE-USAGE @@@@#_@@[@@@ @ @@@[P@@@@%HZ )@@G@@@@@@U0I-;BNYPAGE-USAGE-A@@@@#2@@[@@@ @ @@@[P@@@@E@@@@VUI-.BNYIA )@@G@@PATCH @@@@@@@@[@@@ @ @@@[P@@@@D@@@@V=I-_BNYPATHLIST IB )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@P@@@@V!I+@BNYPATHSTEPS @@@@@@@@[@@@IC )@@G@@ @ @@@[P@@@@N@@@@W]I+]BNYPATHSTEPS-AL@@@@^I@@[@@@ ID )@@G@@@ @@@[P@@@@[@@@@WPI+^BNYPAUSE @@@@@@@@[@@@ @ @@@[P@@@@]IE )@@G@@@@@@WQI+ BNYPDT @@@@@@@@[@@@ @ @@@[P@@@@J@@@@WSI+BBNYIF )@@G@@PFS @@@@@@@@[@@@ @ @@@[P@@@@B@@@@W$I+DBNYPG-DDL IG )@@G@@@@@@@@@@[@@@ @ @@@[P@@@[J@@@@W,I+GBNYPGDUMP @@@@@@@@[@@@IH )@@G@@ @ @@@[P@@@@%@@@@X.I+IBNYPGSLOT @@@@@@@@[@@@ II )@@G@@@ @@@[P@@@@A@@@@Y$I+LBNYPH @@@@@@@@[@@@ @ @@@[P@@@@XIJ )@@G@@@@@@Y!I+NBNYPIT @@@@^B@@[@@@ @ @@@[P@@@@F@@@@ZEI+PBNYIK )@@G@@PRIMER @@@@@@@@[@@@ @ @@@[P@@@@ @@@@ZPI+SBNYPRT IL )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@G@@@@ZUI+TBNYR$FILE @@@@@@@@[@@@IM )@@G@@ @ @@@[P@@@@>@@@@Z&I+VBNYRDT @@@@@@@@[@@@ IN )@@G@@@ @@@[P@@@@8@@@@)FI+XBNYRE @@@@@@@@[@@@ @ @@@[P@@@@[IO )@@G@@@@@@-#I+ZBNYREC-COUNT @@@@@@@@[@@@ @ @@@[P@@@@K@@@@-^I+-BNYIP )@@G@@REC-COUNT-AL@@@@@@@@[@@@ @ @@@[P@@@@M@@@@-OI+BNYRECNUMTOSLOT@@@@@@@@[@@@ IS )@@G@@@ @@@[P@@@@#@@@@=&I+$BNYRECORDS @@@@@@@@[@@@ @ @@@[P@@@@FIT )@@G@@@@@@=(I+(BNYRECSLOT @@@@@@@@[@@@ @ @@@[P@@@@A@@@@=4I+:BNYIU )@@G@@RECSLOTTONUM@@@@^>@@[@@@ @ @@@[P@@@@]@@@@='I+!BNYRESTORE-ENV IV )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@]@@@@=/I+\BNYRLIST @@@@^Y@@[@@@IW )@@G@@ @ @@@[P@@@@^@@@@="I+1BNYRRT @@@@^+@@[@@@ IX )@@G@@@ @@@[P@@@@N@@@@>]I+3BNYSAVE @@@@@@@@[@@@ @ @@@[P@@@@PIY )@@G@@@@@@>PI+5BNYSAVE-ENV @@@@@@@@[@@@ @ @@@[P@@@@L@@@@>%I+7BNYIZ )@@G@@SCHEMA-TABLE@@@@@@@@[@@@ @ @@@[P@@@@ @@@@>;I+8BNYSCRT JA )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@L@@@@&@I+'BNYSDT @@@@@@@@[@@@JB )@@G@@ @ @@@[P@@@@)@@@@&LI+/BNYSE @@@@@@@@[@@@ JC )@@G@@@ @@@[P@@@@[@@@@&1I+"BNYSEARCH-SME @@@@@@@@[@@@ @ @@@[P@@@@GJD )@@G@@@@@@&2I<@BNYSEND @@@@@@@@[@@@ @ @@@[P@@@@[@@@@&"I<]BNYJE )@@G@@SET-DDL @@@@@@@@[@@@ @ @@@[P@@@@1@@@@&_I<#BNYSETS JF )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@A@@@@$0I<^BNYSFD @@@@@@@@[@@@JG )@@G@@ @ @@@[P@@@@I@@@@$6I=BNYTDATE @@@@@@@@[@@@ @ @[@]P@@@@^@@@[@BH7W[N)JY )@@G@@NEWS @@@@@@@@[@@@ @ @@@[P@@@@M@@@[@FE_7DN)TOCSIZE JZ )@@G@@@@@@@@@@[@@@ @ @[@]P@@@@^@@@[@XE3 DU)GETTOC @@@@@@@@[@@@KA )@@G@@ @ @[@]P@@@@ @@@[@-E3MDU) @ @@@[P@@@@C@@@@N*I-FBNYKB )@@G@@EXTRACTITEM @@@@@@@@[@@@ @ @@@[P@@@@<@@@@N0I-GBNYEXTRACTKEY KC )@@G@@@@@@@@@@[@@@ @ @@@[P@@@@G@@@@ONI-IBNY@ @[@]P@@@@^@@@[U3E3 DU)KD )@@G@@GETTOC @@@@@@@@[@@@ @ @[@]P@@@@ @@@[U7E3MDU)E$8 KE )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@[U+JL([IME$9 @@@@@@@@[@@@KF )@@G@@EXPLANATION @ @@@[[@@@@]@@@[UJL?[IME$11 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]KH )@@G@@@@@[U$JL![IME$12 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[U(JL,[IMKI )@@G@@E$13 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[U:JL\[IME$14 KJ )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@#@@@[U!JL1[IME$16 @@@@@@@@[@@@KK )@@G@@EXPLANATION @ @@@[[@@@@]@@@[U0JL3[IME$17 @@@@@@@@[@@@EXPLANATION KL )@@G@@@ @@@[[@@@@]@@@[U2JL4[IME$18 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]KM )@@G@@@@@[U4JL6[IME$19 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[U6JL7[IMKN )@@G@@E$20 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@[U8JL9[IME$21 KO )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@[U9JL'[IME$23 @@@@@@@@[@@@KP )@@G@@EXPLANATION @ @@@[[@@@@]@@@[U'JL.[IME$24 @@@@@@@@[@@@EXPLANATION KQ )@@G@@@ @@@[[@@@@[@@@[U/JM@[IME$25 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]KR )@@G@@@@@[U.JM[[IME$26 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@^@@@[U_JM#[IMKS )@@G@@E$27 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[V#JM^[IME$28 KT )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[V JM [IME$29 @@@@@@@@[@@@KU )@@G@@EXPLANATION @ @@@[[@@@@]@@@[VBJMA[IME$31 @@@@@@@@[@@@EXPLANATION KV )@@G@@@ @@@[[@@@@]@@@[VDJMC[IME$32 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]KW )@@G@@@@@[VFJMD[IME$36 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[VHJMI[IMKX )@@G@@E$37 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@#@@@[VJJMK[IME$38 KY )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@[VMJMM[IME$39 @@@@@@@@[@@@KZ )@@G@@EXPLANATION @ @@@[[@@@@[@@@[VNJMN[IME$40 @@@@@@@@[@@@EXPLANATION LA )@@G@@@ @@@[[@@@@[@@@[VOJMO[IME$41 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]LB )@@G@@@@@[VPJMQ[IME$42 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[VRJMR[IMLC )@@G@@E$43 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[VTJMT[IME$44 LD )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[VVJMU[IME$45 @@@@@@@@[@@@LE )@@G@@EXPLANATION @ @@@[[@@@@^@@@[VXJMW[IME$47 @@@@@@@@[@@@EXPLANATION LF )@@G@@@ @@@[[@@@@]@@@[V-JMY[IME$48 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]LG )@@G@@@@@[VJM-[IMLH )@@G@@E$52 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]@@@[V$JM=[IME$54 LI )@@G@@@@@@@@@@[@@@EXPLANATION @ @@@[[@@@@[@@@[V(JM$[IME$55 @@@@@@@@[@@@LJ )@@G@@EXPLANATION @ @@@[[@@@@[@@@[V%JM*[IME$56 @@@@@@@@[@@@EXPLANATION LK )@@G@@@ @@@[[@@@@[@@@[V:JM([IME$58 @@@@@@@@[@@@EXPLANATION @ @@@[[@@@@]LL )@@G@@@@@[V?JM:[IME$59 @@@@@@@@[@@@EXPLANATION *[S@@@*SDFF*_@@@@@ LM )@@G@@RIZZ Y@@)@ C]@@@@@[F@,8@[+@[*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LO )@@G@@*[S@@@*SDFF*@]@@@@D: FORMAT D @#@@@@ DIM POWER(126) @ @@@@ LET POWER(1LP )@@G@@)='L- *S[' @ 2**62@^@@@@ LET POWER(2)='-]W8YK' @ @@@@ LET POWER(3)='C0QLQ )@@G@@^G@' @ 2**61@^@@@@ LET POWER(4)='=-H(IP' @ @@@@ LET POWER(5)='^PEM K' @LR )@@G@@ 2**60@^@@@@ LET POWER(6)='L)U^UR' @ @@@@ LET POWER(7)='P6L)XM' @ 2**59LS )@@G@@@^@@@@ LET POWER(8)='G#K @ CALL BY VALUE @]@@@@ LET CARRY=0@^@@@@OC )@@G@@ LET =ALL(0) @B@@@@ REPEAT BIT=0,1 @ START FROM THE RIGHT OD )@@G@@@^@@@@ IF [IN:72-BIT,1] THEN@B@@@@ LET P=125-2*BIT @ INDEX INTO POOE )@@G@@WER() @F@@@@ LET = @ COPY VALUE FOR 2**BIT INTO @G@@@@ REPEAT I=18,-1 @ WORK FROM LAST 4-BIT SET ON THE RIGHT OG )@@G@@TO THE LEFT @E@@@@ LET S=[ACCUM:I,4]+[PWR:I,4]+CARRY @ ADD A COLUMOH )@@G@@N @B@@@@ LET CARRY=S>9 @ COMPUTE CARRY VALUE@D@@@@ LET [OI )@@G@@ACCUM:I,4]=S\10 @ & NEW ACCUMULATOR DIGIT @#@@@@ UNTIL I=1 @]@@@@OJ )@@G@@ END IF @#@@@@ UNTIL BIT=60 @A@@@@ REPEAT I=1,1 @ LOOP THRU 18 DOK )@@G@@IGITS @C@@@@ LET [RSLT:I,6]=[ACCUM:I,4]+060 @ MAKE IT FD @]@@@@ UNTILOL )@@G@@ I=18 @ @@@@ @ 3F6: FORMAT '"',<3>F6,'"',*@^@@@@ @ WRITE 3F6 OM )@@G@@@#@@@@ RETURN _@@@@@DIGIT @#@@@@ UNTIL I=1 @]@@@@ ENDON )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE OO )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THEOP )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144OQ )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSOR )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ OS )@@G@@THE REQUESTED SCHEMA OR SUBSCHEMA COULD NOT BE FOUND IN THE FILE @C@@@@OT )@@G@@ REFERENCED ON THE COMMAND CAUSING THIS ERROR. _@@@@@@@@@@@@@@@@@@@@@@@OU )@@G@@*[S@@@*SDFF*@F@@@@ THE COMMAND BEING PROCESSED SHOULD HAVE HAD AT LOV )@@G@@EAST ONE @E@@@@ MORE PARAMETER OR FIELD. CHECK THE SYNTAX AND TRY AGOW )@@G@@AIN. _@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBEOX )@@G@@R IN THE MESSAGE IS THE STANDARD @F@@@@ FACILITY STATUS MESSAGE RETUROY )@@G@@NED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS OZ )@@G@@REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF PA )@@G@@THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PB )@@G@@*[S@@@*SDFF*@F@@@@ THE COMMAND/MACRO JUST ATTEMPTED REQUIRES THAT APC )@@G@@ SCHEMA @ @@@@ BE LOADED IN ORDER TO WORK. _@@@@@@@@@@@@@@@@@@@@@@@PD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBEPE )@@G@@R IN THE MESSAGE IS THE STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURPF )@@G@@NED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS PG )@@G@@REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF PH )@@G@@THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PI )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE PJ )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THEPK )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144PL )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSPM )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ PN )@@G@@PLEASE SELECT ONE OF THE AREAS IN THE CURRENTLY-LOADED@E@@@@ SCHEMA FOR PO )@@G@@USE (VIA THE AREA COMMAND) BEFORE RETRYING THE @A@@@@ COMMAND/MACRO RECPP )@@G@@EIVING THIS ERROR._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ THE SYMBOL WITHIN QUOTESPS )@@G@@ WAS USED IN A SPOT WHERE DBE @E@@@@ WAS EXPECTING TO SEE A RELATIONAL OPT )@@G@@PERATOR (<, >, =, ETC.).@^@@@@ CHECK YOUR SYNTAX. _@@@@@@@@@@@@@@@@@PU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PW )@@G@@*[S@@@*SDFF*@F@@@@ PLEASE SELECT ONE OF THE PAGES IN THE CURRENTLY-PX )@@G@@ACCESSABLE @E@@@@ AREA FOR USE (VIA THE PAGE COMMAND) BEFORE RETRYING TPY )@@G@@HE @A@@@@ COMMAND/MACRO RECEIVING THIS ERROR._@@@@@@@@@@@@@@@@@@@@@@@PZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ QB )@@G@@THE ITEM SPECIFIED IS EITHER NOT THE NAME OF A DBE-DEFINED @F@@@@ TABLEQC )@@G@@ (SEE FIGURE 2-3) OR A DIMENSIONED USER VARIABLE. IF THE @F@@@@ ITEM QD )@@G@@IS INDEED FOUND TO BE A DBE TABLE, THEN THAT TABLE IS NOT @F@@@@ YET DQE )@@G@@EFINED (FOR EXAMPLE, THE TABLE TREG BECOMES DEFINED ONLY @B@@@@ WHEN QF )@@G@@THE CURRENT AREA IS A TIP AREA). _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ QI )@@G@@THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE STANDARD @F@@@@ FACILQJ )@@G@@ITY STATUS MESSAGE RETURNED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERAQK )@@G@@TING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSIQL )@@G@@ON) FOR THE MEANINGS OF THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@QM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBEQN )@@G@@R IN THE MESSAGE IS THE STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURQO )@@G@@NED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS QP )@@G@@REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF QQ )@@G@@THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QR )@@G@@*[S@@@*SDFF*@H@@@@ THE PROCESSOR OPTION LETTER SHOWN IS NOT PRESENTQS )@@G@@LY DEFINED. CONSULT @H@@@@ SECTION 2.3 OF THE DBE USERS GUIDE FOR A QT )@@G@@LIST OF DEFINED PROCESSOR OPTIONS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ QW )@@G@@PROCESSOR, COMMAND AND MACRO OPTIONS ARE ALL RESTRICTED TO THE @G@@@@QX )@@G@@ SET OF CHARACTERS A-Z. THE CHARACTER YOU SPECIFIED (SEE THE ERROR QY )@@G@@@A@@@@ MESSAGE TEXT) IS NOT A LETTER. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE PAGE NUMBER REQUESTERB )@@G@@D IS ZERO OR NEGATIVE (NOTE THAT @C@@@@ DARP AREAS WILL ALLOW REFERENRC )@@G@@CES TO PAGE ZERO)._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ RD )@@G@@THE PAGE NUMBER REQUESTED EXCEEDS THE MAXIMUM PAGE NUMBER @^@@@@ FOR TRE )@@G@@HE CURRENT AREA. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RF )@@G@@*[S@@@*SDFF*@G@@@@ YOU HAVE (A) SPECIFIED AN ILLEGAL OPTION FOR THERG )@@G@@ COMMAND JUST @G@@@@ ATTEMPTED OR (B) SPECIFIED AN INVALID COMBINATIRH )@@G@@ON OF OTHERWISE LEGAL @]@@@@ OPTIONS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@B@@@@ RK )@@G@@THAT TIP/DMS FILE DOES NOT EXIST. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RM )@@G@@*[S@@@*SDFF*@G@@@@ IF YOU RECEIVE THIS ERROR ON A 'SCHEMA' OR 'SUBSRN )@@G@@CHEMA' COMMAND @G@@@@ THE PROBLEM MAY BE EITHER ONE MENTIONED ON THE RO )@@G@@MESSAGE. IN ALL OTHER @C@@@@ CASES THE SECOND IS THE MOST LIKELY CAUSERP )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ RR )@@G@@AFTER LOADING THE FIRST 28 WORDS OF THE ABSOLUTE ELEMENT REQUESTED, RS )@@G@@@H@@@@ DBE HAS DETERMINED THAT THE ABSOLUTE IS EITHER (A) NOT ACTUALLY ART )@@G@@ SCHEMA @H@@@@ OR SUBSCHEMA AFTER ALL OR (B) HAS DETERMINED THAT THERU )@@G@@ SCHEMA/SUBSCHEMA NAME @H@@@@ OF WHAT WAS LOADED DOES NOT MATCH THE NAMRV )@@G@@E REQUESTED. ADDITIONALLY, THIS @H@@@@ ERROR WILL RESULT IF YOU ATTERW )@@G@@MPT TO LOAD A SCHEMA OR SUBSCHEMA THAT EXCEEDS @H@@@@ 65K WORDS IN SIZERX )@@G@@. THE CAUSE OF THIS LATTER COMPLICATION IS KNOWN AND A @ @@@@ SOLUTRY )@@G@@ION IS BEING DEVELOPED. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SA )@@G@@*[S@@@*SDFF*@H@@@@ SOMETHING ABOUT THE COMMAND JUST EXECUTED VIOLATSB )@@G@@ES ITS SYNTAX RULES. @G@@@@ CONSULT THE DESCRIPTION OF THE COMMAND INSC )@@G@@ THE DBE USERS GUIDE FOR MORE @#@@@@ INFORMATION. _@@@@@@@@@@@@@@@@@SD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ SF )@@G@@IN AN ARITHMETIC EXPRESSION THIS ERROR PROBABLY DENOTES A MISSING ')' SG )@@G@@@G@@@@ ON A SUBSCRIPT OR TOO MANY '(' IN A PARENTHESIZED EXPRESSION. ONSH )@@G@@ A @G@@@@ FUNCTION CALL THIS PROBABLY DENOTES A MISSING ')' AT THE ENSI )@@G@@D OF THE @#@@@@ FUNCTION CALL. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ EITHER YOU HAVE ATTEMPTESK )@@G@@D TO USE A DBE FEATURE THAT IS NOT CONFIGURED @G@@@@ OR ONE THAT IS COSL )@@G@@NFIGURED BUT THAT YOUR USERID/ACCOUNT/TERMINAL IS NOT @^@@@@ ALLOWED ACCSM )@@G@@ESS TO. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SO )@@G@@*[S@@@*SDFF*@F@@@@ THE RECEIVING FIELD OF THE STATEMENT IS NOT LEGASP )@@G@@L EITHER FOR@F@@@@ REASONS OF SYNTAX OR CONTEXT. CONSULT THE DOCUMENTATSQ )@@G@@ION OF THE @ @@@@ COMMAND FOR MORE INFORMATION._@@@@@@@@@@@@@@@@@@@@@@@SR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ ST )@@G@@THE GIVEN VALUE, USED AS A TABLE SELECTION VALUE (INSIDE [])@F@@@@ OR ASSU )@@G@@ OR VALUES OF A TABLE SUBSET, IS NEGATIVE @F@@@@ (WHICSV )@@G@@H WOULD BE OBVIOUS FROM THE ERROR MESSAGE) OR EXCEEDS THE @^@@@@ MAXIMSW )@@G@@UM FOR THAT TABLE._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE MACRO YOU ATTEMPTED SY )@@G@@TO DELETE FROM THE IN-CORE MACRO AREA COULDN'T @H@@@@ BE DELETED BECAUSSZ )@@G@@E IT WAS NOT LOADED. REMEMBER THAT THE 'DELETE' COMMAND CAN@H@@@@ ONLY TA )@@G@@DELETE THE IN-CORE IMAGE OF A MACRO, NOT THE MASS-STORAGE VERSION OF IT TB )@@G@@@C@@@@ (USE @DELETE,S TO DELETE A MACRO FROM DISC). _@@@@@@@@@@@@@@@@@TC )@@G@@*[S@@@*SDFF*@H@@@@ THIS MESSAGE MEANS THAT YOU HAVE ATTEMPTED TO LOTD )@@G@@AD A MACRO THAT WAS (A) @H@@@@ TOO LARGE TO FIT INTO EVEN AN EMPTY MACROTE )@@G@@ AREA OR (B) TOO LARGE TO FIT INTO @H@@@@ THE MACRO AREA WITH ALL THE NTF )@@G@@ON-DISC MACROS (MACROS ENTERED BY THE 'MACRO' @I@@@@ COMMAND) THAT ARETG )@@G@@ IN IT AT THE MOMENT. THE SOLUTION TO CAUSE (A) IS TO RE-GEN @H@@@@TH )@@G@@ DBE WITH A LARGER MACRO AREA AND THE SOLUTION TO CAUSE (B) IS TO DELETETI )@@G@@ THE @B@@@@ MACROS YOU ENTERED FROM THE MACRO AREA. _@@@@@@@@@@@@@@@@@TJ )@@G@@*[S@@@*SDFF*@G@@@@ THE COMMAND JUST ATTEMPTED CANNOT BE EXECUTED FRTK )@@G@@OM WITHIN A MACRO._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ WHEN A FILE IS OPENED FOTM )@@G@@R OUTPUT, YOU CANNOT USE THE 'GET' STATEMENT ON @[@@@@ IT. _@@@@@@@@@@@TN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ TO )@@G@@THE COMMAND JUST ATTEMPTED CAN ONLY BE USED WITHIN A MACRO. _@@@@@@@@@@@TP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TQ )@@G@@*[S@@@*SDFF*@G@@@@ THE LABEL MENTIONED IN THE ERROR MESSAGE DOES NOTR )@@G@@T EXIST WITHIN THE@G@@@@ CURRENTLY-EXECUTING MACRO (REMEMBER THAT YOU CATS )@@G@@NNOT REFER TO LABELS IN @G@@@@ ANOTHER MACRO). CHECK YOUR SPELLING AND TT )@@G@@THE LISTING OF THE MACRO. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ TV )@@G@@THE STATEMENT IN THE ERROR MESSAGE IS SYNTACTICALLY ILLEGAL IN THE@G@@@@TW )@@G@@ CONTEXT IN WHICH IT WAS USED. THIS ERROR IS PROBABLY DUE TO USING AN TX )@@G@@@B@@@@ INCORRECT STATEMENT ON AN 'IF' OR 'ELSE'._@@@@@@@@@@@@@@@@@@@@@@@TY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ THE NUMBER IN THE MESSAGUA )@@G@@E VIOLATES THE BIT-NUMBERING SCHEME FOR @G@@@@ THE 1100 SERIES COMPUTEUB )@@G@@RS. REMEMBER THAT THE BITS OF A WORD ON THE @H@@@@ UNIVAC 1100 SERIEUC )@@G@@S SYSTEMS ARE NUMBERED 35 THROUGH 0 (FROM LEFT TO RIGHT). _@@@@@@@@@@@UD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UE )@@G@@*[S@@@*SDFF*@H@@@@ THE NUMBER IN THE MESSAGE IS TOO MANY BITS TO BEUF )@@G@@ EXTRACTED FROM A WORD @H@@@@ ON THE 1100 SERIES SYSTEMS. SINCE THE 11UG )@@G@@00 HAS 36-BIT WORDS, ANYWHERE FROM @H@@@@ 1 TO 36 BITS MAY BE EXTRACTEDUH )@@G@@ VIA THE 'PWORD' OR BYTE-SUBSET FACILITIES. _@@@@@@@@@@@@@@@@@@@@@@@UI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ TUJ )@@G@@HIS STATEMENT REQUIRES A MATCHING ONE FURTHER ON IN THE MACRO AND @G@@@@UK )@@G@@ ITS MATE COULD NOT BE FOUND. THE FOLLOWING SHOWS THE REQUIRED PAIRS: UL )@@G@@@D@@@@ IF-THEN: ELSE/ELSE IF/END IF @A@@@@ UM )@@G@@ REPEAT: UNTIL@B@@@@ WHILE: END WUN )@@G@@HILE @G@@@@ EITHER YOU HAVE PROBABLY NESTED ONE OR MORE OF THESE STATEMUO )@@G@@ENT TYPES @H@@@@ INCORRECTLY, MISSPELLED THE TERMINATING STATEMENT OR UP )@@G@@FORGOT THE TERMINATING @H@@@@ STATEMENT COMPLETELY. ALSO, A SIMPLE 'IFUQ )@@G@@' (ONE WITH A STATEMENT ON THE 'IF' @H@@@@ SHOULD NOT HAVE THE WORD 'THEUR )@@G@@N' ON IT - THAT COULD ALSO CAUSE THIS ERROR). _@@@@@@@@@@@@@@@@@@@@@@@US )@@G@@*[S@@@*SDFF*@H@@@@ THIS OCCURS WHEN AN 'ELSE', 'ELSE IF', 'END IF'UT )@@G@@, 'UNTIL' OR 'END WHILE'@H@@@@ IS ENCOUNTERED WITHOUT HAVING ENCOUNTEREDUU )@@G@@ ITS MATE ('IF-THEN', 'REPEAT' OR @^@@@@ 'WHILE' RESPECTIVELY). _@@@@@UV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ UX )@@G@@THE WAY YOU HAVE DEFINED THE J-DESIGNATOR (J0-J9) CAUSING THIS MESSAGE, UY )@@G@@@H@@@@ A ZERO RESULT WILL ALWAYS BE GENERATED WHEN YOU USE IT. THE J-DEUZ )@@G@@SIGNATOR HAS@E@@@@ BEEN DEFINED BUT IT IS MOST-LIKELY NOT PARTICULARLY UVA )@@G@@SEFUL._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ YOU CAN 'WRITE' NO MORE VC )@@G@@THAN 33 WORDS OF INFORMATION AT A TIME. THIS IS@H@@@@ TOTAL OF ALL EXPRVD )@@G@@ESSIONS ON THE 'WRITE' PLUS THE SIZE OF ALL SUBSETS ON THE @]@@@@ 'WRITVE )@@G@@E'. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VG )@@G@@*[S@@@*SDFF*@H@@@@ THE CHARACTER IN THE MESSAGE IS EITHER ILLEGAL OVH )@@G@@UTRIGHT IN A 'FORMAT' @H@@@@ OR HAS BEEN USED INCORRECTLY. IF YOU THIVI )@@G@@NK IT SHOULD BE LEGAL, CHECK ANY @E@@@@ STRINGS IN THE FORMAT TO MAKEVJ )@@G@@ SURE THE QUOTES ARE CORRECT. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ VL )@@G@@THE WRITE BUFFER IS ONLY 132 CHARACTERS LONG AND YOU HAVE ATTEMPTED TO VM )@@G@@@ @@@@ FORMAT BEYOND THAT SIZE. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VN )@@G@@*[S@@@*SDFF*@G@@@@ CONSULT SECTION 2.3 OF THE DBE USERS GUIDE FOR MVO )@@G@@ORE INFORMATION. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE J-DESIGNATOR SPECIFIVQ )@@G@@ED IN THE MESSAGE CANNOT BE REDEFINED VIA THE @C@@@@ 'PWORD' COMMAND (VR )@@G@@ONLY J0-J9 CAN BE ALTERED). _@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ VS )@@G@@THERE IS A SCALAR (NON-DIMENSIONED) VARIABLE SOMEWHERE IN AN EXPRESSION VT )@@G@@@H@@@@ ON THE STATEMENT CAUSING THIS ERROR THAT WAS USED AS AN ARRAY OR VU )@@G@@THERE WAS A @H@@@@ BYTE SUBSET ON THE COMMAND CAUSING THIS ERROR THAT USVV )@@G@@ED A SCALAR INSTEAD OF @]@@@@ AN ARRAY. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THERE IS AN ARRAY (DIMENVX )@@G@@SIONED) VARIABLE SOMEWHERE IN AN EXPRESSION @G@@@@ ON THE STATEMENT VY )@@G@@CAUSING THIS ERROR THAT WAS USED WITHOUT A SUBSCRIPT. _@@@@@@@@@@@@@@@@@VZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WB )@@G@@*[S@@@*SDFF*@H@@@@ THE FUNCTION JUST ATTEMPTED WAS GIVEN TOO MANY OWC )@@G@@R TOO FEW ARGUMENTS. @F@@@@ CUNSULT THE FUNCTIONS SYNTAX DOCUMENTATIOWD )@@G@@N FOR MORE INFORMATION. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ WG )@@G@@THE NUMBER IN THE MESSAGE IS THE MAXIMUM NUMBER OF PARAMETERS THAT A WH )@@G@@@H@@@@ MACRO MAY RECEIVE. THE MACRO WHOSE EXECUTION CAUSED THIS MESSAGEWI )@@G@@ HAS MORE @H@@@@ THAT THAT NUMBER SPECIFIED ON A 'PARAMETER' STATEMENTWJ )@@G@@. THIS LIMIT CAN BE @A@@@@ ALTERED VIA A DBE RE-GENERATION. _@@@@@WK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ THE MACRO WHOSE EXECUTIOWL )@@G@@N CAUSED THIS MESSAGE WAS GIVEN TOO MANY @H@@@@ PARAMETERS. THE EXCESSWM )@@G@@ PARAMETERS WERE IGNORED AND THE MACROS EXECUTION @]@@@@ PROCEEDED. WN )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WP )@@G@@*[S@@@*SDFF*@H@@@@ THE TWO EXPRESSIONS ON A 'PRINT' OR SUBSET REFERWQ )@@G@@ENCE WERE SUCH THAT THE @H@@@@ FIRST HAD A LARGER VALUE THAN THE SECOND WR )@@G@@WHEN OPPOSITE SHOULD HAVE BEEN THE @[@@@@ CASE._@@@@@@@@@@@@@@@@@@@@@@@WS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ WU )@@G@@THE NUMBER IN THE MESSAGE WAS USED AS A FORMAT REPEAT COUNT (FOR EXAMPLEWV )@@G@@@H@@@@ <10>F6 - 10 IS THE REPEAT COUNT) BUT HAD A VALUE THAT WAS ILLEGALWW )@@G@@ - PROBABLY @ @@@@ ZERO OR A NEGATIVE VALUE. _@@@@@@@@@@@@@@@@@@@@@@@WX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE MACRO YOU TRIED TO LWZ )@@G@@OAD COULD BE FOUND NEITHER IN THE SYSTEM MACRO @B@@@@ LIBRARY NOR IN THXA )@@G@@E USER MACRO LIBRARY. _@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ XB )@@G@@YOU HAVE PROBABLY FORGOTTEN AN 'IF' OR HAVE AN EXTRA 'ELSE'/'ELSE IF'. XC )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XD )@@G@@*[S@@@*SDFF*@H@@@@ THE COMMAND CAUSING THIS MESSAGE GENERATED AN EXXE )@@G@@EC I/O ERROR. THE I/O @H@@@@ ERROR CODE IS CONTAINED IN THE MESSAGE. XF )@@G@@CONSULT THE OS/1100 OPERATING SYSTEM@H@@@@ PROGRAMMERS REFERENCE (UP-414XG )@@G@@4.2 - CURRENT VERSION) FOR THE MEANING OF THE @]@@@@ ERROR. _@@@@@XH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ XI )@@G@@TO 'COUNT' RECORDS, YOU MUST SUPPLY A SUBSET AT LEAST AS LARGE AS THE XJ )@@G@@@H@@@@ NUMBER OF RECORD TYPES IN THE CURRENT SCHEMA. YOU CAN GET THAT NXK )@@G@@UMBER FROM @]@@@@ RDT[9]:H1. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ CHECK THE PAGE WHOSE NUMXN )@@G@@BER IS IN THE MESSAGE FOR POSSIBLE CORRUPTION. _@@@@@@@@@@@@@@@@@@@@@@@XO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@C@@@@ XP )@@G@@YOU CAN ONLY COUNT RECORDS IN DATA AREAS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XR )@@G@@*[S@@@*SDFF*@H@@@@ THE AREA REFERENCED PRIOR TO THIS MESSAGE IS NOTXS )@@G@@ INITIALIZED. THIS @H@@@@ IS DETERMINED BY OBSERVING THAT THE AREA XT )@@G@@CODE IN PAGE 1 (OR PAGE 0) IS ZERO. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ XW )@@G@@YOU DID NOT SPECIFY THE CORRECT 'LOCK FOR COPY' FOR THE REQUESTED @G@@@@XX )@@G@@ SCHEMA. YOU WILL NOT BE ALLOWED ACCESS TO SCHEMAS HAVING LOCKS UNLESS XY )@@G@@@^@@@@ YOU KNOW THE LOCK. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ DBE MAINTAINS AN INTERNAYB )@@G@@L EVALUATION STACK FOR THE EXPRESSION ANALYZER. @H@@@@ AN EXPRESSION THAYC )@@G@@T IS SUFFICIENTLY COMPLICATED COULD OVERFLOW THIS STACK. @I@@@@ YOUR YD )@@G@@OPTIONS ARE (A) SIMPLIFY THE EXPRESSION OR (B) HAVE DBE RE-GENERATED WITYE )@@G@@H @C@@@@ A LARGER EXPRESSION EVALUATION STACK SIZE. _@@@@@@@@@@@YF )@@G@@*[S@@@*SDFF*@H@@@@ THE USER SDF SOURCE ELEMENT REQUESTED COULD NOT YG )@@G@@BE FOUND IN THE FILE @H@@@@ SPECIFIED ON THE 'OPEN'. CHECK SPELLING YH )@@G@@OR DO A @PRT,T OF THE FILE. ONE @H@@@@ POSSIBLE REASON COULD BE THATYI )@@G@@ YOU HAVE SPECIFIED AN ELEMENT CYCLE - THEY @#@@@@ ARE IGNORED. YJ )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ YK )@@G@@THE ONLY VALID OPEN MODES ARE 'INPUT' AND 'OUTPUT' FOR SDF DATA FILES YL )@@G@@@D@@@@ OR PROGRAM-FILE SOURCE ELEMENTS AND 'TAPE' FOR TAPES._@@@@@@@@@@@YM )@@G@@*[S@@@*SDFF*@H@@@@ YOU HAVE EXCEEDED THE LIMIT ON THE NUMBER OF SIMYN )@@G@@ULTANEOUSLY OPEN FILES @H@@@@ (THE NUMBER IN THE MESSAGE). YOUR OPTIONYO )@@G@@S ARE (A) SEE IF ANY OF THE FILES @H@@@@ OPEN AT THE MOMENT COULD BE CYP )@@G@@LOSED, (B) MAKE SURE YOU ARE REALLY CLOSING @H@@@@ FILES YOU THOUGHTYQ )@@G@@ YOU WERE CLOSING, (C) CHANGE YOUR APPLICATION REQUIREMENTS @G@@@@ TO USYR )@@G@@E FEWER FILES SIMULTANEOUSLY OR (D) HAVE DBE RE-GENERATED WITH A @ @@@@YS )@@G@@ LARGER FILE COUNT LIMIT. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YT )@@G@@*[S@@@*SDFF*@F@@@@ YOU HAVE ATTEMPTED TO OPEN THE FILE WHOSE ID IS YU )@@G@@SHOWN IN THE@G@@@@ MESSAGE WITHOUT HAVING CLOSED IT FIRST. REMEMBER THAYV )@@G@@T FILES ARE NOT @C@@@@ AUTOMATICALLY CLOSED WHEN A MACRO TERMINATES. YW )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ YY )@@G@@THE 'PUT' STATEMENT IS ILLEGAL FOR FILES OPENED FOR 'INPUT'._@@@@@@@@@@@YZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZA )@@G@@*[S@@@*SDFF*@F@@@@ DBE STATEMENTS MAY NOT EXCEED 132 CHARACTERS IN ZB )@@G@@LENGTH. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE NORMAL HARDCOPY FILEZD )@@G@@ SIZE IS 4096 TRACKS (MAX. RESERVE). IF THE @H@@@@ ASSIGNMENT REQUESZE )@@G@@T FOR THIS FILE RETURNS A 0600000000000 STATUS, THE FILE @H@@@@ WILL ZF )@@G@@BE RE-ASSIGNED AT ONLY A 999 TRACK RESERVE. IF IT CANNOT BE ASSIGNED ZG )@@G@@@F@@@@ AT 999 TRACKS A DIFFERENT ERROR WOULD HAVE BEEN RETURNED (# 124).ZH )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE FILE WHOSE ID IS IN ZK )@@G@@THE MESSAGE IS NOT PRESENTLY OPEN. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ SZM )@@G@@DF RECORDS ARE NOT ALLOWED TO EXCEED 2047 WORDS. THIS LIMITS YOU TO ZN )@@G@@@F@@@@ 8188 ASCII CHARACTERS OR 12,282 FIELDATA CHARACTERS PER RECORD. ZO )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ YOU HAVE TRIED TO OPEN A ZR )@@G@@PROGRAM FILE ELEMENT FOR INPUT OR OUTPUT IN @H@@@@ A FILE THAT IS ANZS )@@G@@ SDF DATA FILE. THE OPEN REQUEST WAS NOT HONORED SINCE @F@@@@ IT COZT )@@G@@ULD HAVE DESTROYED THE INTEGRITY OF THE DATA IN THE FILE. _@@@@@@@@@@@ZU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZV )@@G@@*[S@@@*SDFF*@G@@@@ YOU HAVE TRIED TO OPEN A PROGRAM FILE FOR INPUT OZW )@@G@@R OUTPUT AS AN @G@@@@ SDF DATA FILE. THE OPEN REQUEST WAS NOT HONOREZX )@@G@@D SINCE IT COULD HAVE @G@@@@ DESTROYED THE INTEGRITY OF THE TABLE-OF-CZY )@@G@@ONTENTS OF THE FILE OR OF @ @@@@ ELEMENTS WITHIN THE FILE. _@@@@@ZZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ AA )@@G@@THE RECEIVING FIELD OF THE STATEMENT/FUNCTION CAUSING THIS ERROR MUST AB )@@G@@@G@@@@ BE A MINIMUM NUMBER OF WORDS LONG GIVEN THE VALUE TO BE STORED INAC )@@G@@TO IT.@H@@@@ CONSULT THE DESCRIPTION OF THE PARTICULAR COMMAND/FUNCTION AD )@@G@@FOR ADDITIONAL @#@@@@ INFORMATION. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ AT LEAST ONE OF THE ARGUAF )@@G@@MENTS TO THE FUNCTION CAUSING THIS MESSAGE@H@@@@ ARE ILLEGAL FOR THAT FUAG )@@G@@NCTION. CONSULT THE FUNCTIONS DESCRIPTION IN THE @B@@@@ DBE USERS GAH )@@G@@UIDE FOR MORE INFORMATION. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ )@@G@@*[S@@@*SDFF*@G@@@@ A TABLE SUBSET WAS USED IN A CONTEXT WHERE IT ISAK )@@G@@ NOT ALLOWED. @G@@@@ CONSULT THE DESCRIPTION OF THE STATEMENT CAUSINAL )@@G@@G THE ERROR FOR MORE @#@@@@ INFORMATION. _@@@@@@@@@@@@@@@@@@@@@@@AM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ AO )@@G@@THE 'HISTOGRAM' STATEMENT REQUIRES BOTH OF THE SUBSETS SUPPLIED TO IT AP )@@G@@@H@@@@ TO HAVE THE SAME SIZE (IN WORDS). THIS MEANS THAT THE QUANTITY AQ )@@G@@OF DATA @G@@@@ POINT TOTALS BEING HISTOGRAMMED MUST MATCH THE NUMBERAR )@@G@@ OF SIX-CHARACTER @C@@@@ LITERALS GIVEN AS THE VERTICAL AXIS LABELS. AS )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBEAT )@@G@@R IN THE MESSAGE IS THE STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURAU )@@G@@NED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS AV )@@G@@REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF AW )@@G@@THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AX )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE AY )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THEAZ )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144BA )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSBB )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ BC )@@G@@THE FILEID OR FILENAME ON THE STATEMENT CAUSING THIS MESSAGE WAS @^@@@@BD )@@G@@ SYNTACTICALLY ILLEGAL. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BE )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE BF )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THEBG )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144BH )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSBI )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ BJ )@@G@@THE TABLE YOU HAVE ATTEMPTED TO USE WITH THE COMMAND CAUSING THIS @G@@@@BK )@@G@@ MESSAGE IS ILLEGAL FOR USE WITH THAT COMMAND. CHECK THE SYNTAX OF THE BL )@@G@@@^@@@@ COMMAND IN QUESTION. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ WHEN YOU SELECTED THE CUBO )@@G@@RRENT AREA FOR USE, YOU USED THE 'P' OPTION @G@@@@ ON THE 'AREA' COMBP )@@G@@MAND. THIS OPTION SIGNIFIED THAT YOU WANTED PARTIAL @G@@@@ (SCHEMA TABBQ )@@G@@LE ONLY) ACCESS TO THE AREA, SO IT WAS NOT ASSIGNED TO YOUR @H@@@@ RUN (BR )@@G@@EXEC AREA) OR DBE DID NOT CONNECT TO TIP (TIP AREA). TO RECTIFY THE BS )@@G@@@G@@@@ PROBLEM SIMPLY ENTER 'AREA #ASEQ' TO RE-SELECT THE CURRENT AREA WBT )@@G@@ITH @#@@@@ FULL ACCESS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ CHECK THE SYNTAX OF THE BV )@@G@@'END' STATEMENT. YOU PROBABLY HAVE A WORD@B@@@@ OTHER THAN 'IF' OR 'WHIBW )@@G@@LE' AFTER IT. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ BX )@@G@@THIS SIGNIFIES A PROBLEM WITH THE DBE SECURITY FILE. REPORT THE @G@@@@BY )@@G@@ PROBLEM AT ONCE TO THE INDIVIDUAL RESPONSIBLE FOR DBE AT YOUR SITE. BZ )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ YOUR USERID IS NOT REGISCC )@@G@@TERED FOR USE WITH DBE. CONSULT THE@D@@@@ INDIVIDUAL RESPONSIBLE FOR DBCD )@@G@@E SECURITY AT YOUR SITE._@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ CE )@@G@@YOUR TERMINAL IS NOT REGISTERED FOR USE WITH DBE. CONSULT THE @G@@@@CF )@@G@@ INDIVIDUAL RESPONSIBLE FOR DBE SECURITY AT YOUR SITE OR USE A TERMINAL CG )@@G@@@ @@@@ THAT IS REGISTERED WITH DBE. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBECJ )@@G@@R IN THE MESSAGE IS THE STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURCK )@@G@@NED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS CL )@@G@@REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF CM )@@G@@THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CN )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE CO )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THECP )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144CQ )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSCR )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ CS )@@G@@THE 'HARDCOPY' COMMAND WILL NOT ALLOW YOU TO EXCEED THE @SYM COPY @^@@@@CT )@@G@@ LIMIT OF 63 COPIES. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CU )@@G@@*[S@@@*SDFF*@F@@@@ THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE CV )@@G@@STANDARD @F@@@@ FACILITY STATUS MESSAGE RETURNED TO DBE. CONSULT THECW )@@G@@ OS/1100 @F@@@@ OPERATING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144CX )@@G@@.2 (CURRENT @E@@@@ VERSION) FOR THE MEANINGS OF THE FACILITY STATUS BITSCY )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ CZ )@@G@@THE IMAGE YOU SUBMITTED TO CSF$ VIA THE CSF FUNCTION IS SYNTACTICALLY DA )@@G@@@]@@@@ ILLEGAL. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DB )@@G@@*[S@@@*SDFF*@H@@@@ YOU CANNOT ALTER THE TYPE OF HARDCOPY (TIP/EXEC) DC )@@G@@WHILE THE 'H' OPTION @G@@@@ IS ON. TURN THE 'H' OPTION OFF (VIA THE DD )@@G@@'OFF' COMMAND) TO CLEAR ANY @G@@@@ PENDING HARDCOPY PRINT BEFORE RETRYDE )@@G@@ING THE COMMAND CAUSING THIS ERROR. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ DG )@@G@@YOU SPECIFIED AN ILLEGAL PID VALUE - CHECK THE EXPRESSION VALUE @D@@@@DH )@@G@@ AGAINST THE LIST OF VALID PRINTER PIDS AT YOUR SITE. _@@@@@@@@@@@@@@@@@DI )@@G@@*[S@@@*SDFF*@G@@@@ THE OPERATION JUST ATTEMPTED REQUIRES THAT A RECDJ )@@G@@ORD BE SELECTED @B@@@@ FOR USE (VIA THE 'RECORD' COMMAND) FIRST._@@@@@DK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ THE CURRENT RECORD IS EIDL )@@G@@THER NOT A CALC RECORD OR, IF IT IS A CALC@D@@@@ RECORD, DOES NOT USE THDM )@@G@@E 'DMSCALC' CALC ROUTINE. _@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ DN )@@G@@WHEN THE CURRENT SCHEMA WAS DDL'D, THE SPECIFICATION OF THE CURRENT DO )@@G@@@H@@@@ RECORD DID NOT ALLOW IT TO BE STORED IN THE CURRENT AREA. THE OPDP )@@G@@ERATION @G@@@@ JUST ATTEMPTED REQUIRES THAT THE CURRENT RECORD TYPE DQ )@@G@@BE STORABLE IN THE@#@@@@ CURRENT AREA. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ ONE OF THE ARGUMENTS OF DS )@@G@@THE FUNCTION CAUSING THIS MESSAGE MUST BE AT @H@@@@ LEAST THE SIZE SHDT )@@G@@OWN IN THE MESSAGE. CONSULT THE DBE USERS GUIDE FOR MORE @D@@@@ INFORDU )@@G@@MATION ON THE FUNCTION YOU ARE TRYING TO USE. _@@@@@@@@@@@@@@@@@@@@@@@DV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DW )@@G@@*[S@@@*SDFF*@H@@@@ THE DMS/1100 CALC PROCEDURE (GS11) RETURNED THE DX )@@G@@STATUS SHOWN IN THE @H@@@@ MESSAGE WHEN YOU TRIED TO USE THE DMSCALCDY )@@G@@ FUNCTION. CONSULT THE DMS/1100 @B@@@@ SYSTEM SUPPORT PERSONNEL AT YDZ )@@G@@OUR SITE. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ EB )@@G@@THE 12-DIGIT OCTAL NUMBER IN THE MESSAGE IS THE STANDARD @F@@@@ FACILEC )@@G@@ITY STATUS MESSAGE RETURNED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERAED )@@G@@TING SYSTEM PROGRAMMERS REFERENCE MANUAL UP-4144.2 (CURRENT @E@@@@ VERSIEE )@@G@@ON) FOR THE MEANINGS OF THE FACILITY STATUS BITS. _@@@@@@@@@@@@@@@@@EF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ THE COMMAND CAUSING THISEG )@@G@@ ERROR REQUIRES THAT A SET BE SELECTED VIA@ @@@@ THE 'SET' COMMAND FIRSTEH )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ EI )@@G@@THE OPERATION YOU HAVE JUST ATTEMPTED IS LEGAL ONLY FOR DARP AREAS@C@@@@EJ )@@G@@ AND THE CURRENT AREA (IF THERE IS ONE) IS SARP._@@@@@@@@@@@@@@@@@@@@@@@EK )@@G@@*[S@@@*SDFF*@G@@@@ THE OPERATION YOU HAVE JUST ATTEMPTED IS LEGAL OEL )@@G@@NLY FOR TIP AREAS @C@@@@ AND THE CURRENT AREA (IF THERE IS ONE) IS EXEC.EM )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE SCHEMA (OR SUBSCHEMAEN )@@G@@) JUST LOADED HAD AT LEAST ONE DDL (OR SDDL) @G@@@@ ERROR. IT HAS BEEO )@@G@@EN LOADED AND YOU MAY USE IT BUT BEWARE THAT IT MAY @#@@@@ NOT BE CORREP )@@G@@ECT. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ER )@@G@@*[S@@@*SDFF*@G@@@@ THE OPERATION YOU HAVE JUST ATTEMPTED REQUIRES TES )@@G@@HAT A SUBSCHEMA @C@@@@ BE LOADED (VIA THE 'SUBSCHEMA' COMMAND) FIRST. ET )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ THE OPERATION YOU HAVE JEU )@@G@@UST ATTEMPTED REQUIRES THAT A QLP SUBSCHEMA @C@@@@ BE LOADED (VIA THEV )@@G@@E 'SUBSCHEMA' COMMAND) FIRST. _@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ EW )@@G@@QLP PATH YOU HAVE REQUESTED CANNOT BE FOUND IN THE CURRENTLY-LOADED EX )@@G@@@E@@@@ SUBSCHEMA. CHECK YOUR SPELLING OR THE EXPRESSION VALUE. _@@@@@EY )@@G@@*[S@@@*SDFF*@H@@@@ THE 'NEXTDUP' OPTION IS ALLOWED ONLY AFTER A PATEZ )@@G@@H HAS BEEN SELECTED @G@@@@ FOR USE AMONG THOSE DEFINED IN THE CURRENFA )@@G@@TLY-LOADED QLP SUBSCHEMA. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ FD )@@G@@THE 'NEXTDUP' OPTION IS ALLOWED ONLY FOR A PATH THAT HAS DUPLICATES. FE )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FF )@@G@@*[S@@@*SDFF*@G@@@@ REMEMBER THAT TAPE BLOCK NUMBERS ARE NUMBERED UPFG )@@G@@WARD FROM ONE, NOT@[@@@@ ZERO._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ YOU HAVE ATTEMPTED TO PEFI )@@G@@RFORM A TAPE OPERATION (REWIND, MARK, POSITION, @ @@@@ ETC.) ON AN SDF FFJ )@@G@@ILE/ELEMENT._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ FK )@@G@@YOU HAVE MOVED BACKWARDS (ON A TAPE) INTO A PREVIOUS FILE AND WERE@H@@@@FL )@@G@@ NOT LEFT POSITIONED AT BLOCK 1 OF THAT FILE. DBE (AND EXEC) HAVE NO IDFM )@@G@@EA @G@@@@ WHAT ABSOLUTE BLOCK NUMBER YOU ARE NOW POSITIONED AT AND SOFN )@@G@@ YOU WILL NO@G@@@@ LONGER BE ALLOWED TO USE ABSOLUTE BLOCK POSITIONING UFO )@@G@@NTIL YOU POSITION @G@@@@ TO BLOCK #1 OF ANY FILE. RELATIVE BLOCK POSITIFP )@@G@@ONING WILL STILL BE @]@@@@ ALLOWED. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@ FR )@@G@@YOU MUST EXPLICITLY REFERENCE A TAPE FILE-ID SINCE NO TAPE IS CURRENTLY FS )@@G@@@H@@@@ IN USE. JUST SUPPLY A TAPE FILEID ON THE COMMAND JUST ATTEMPTED FT )@@G@@(CONSULT THE@G@@@@ DBE USERS GUIDE FOR INFORMATION ON WHERE THE FILEID SFU )@@G@@HOULD BE PLACED). _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ YOU HAVE NOT YET OPENED FW )@@G@@THE FILE REFERRED TO ON THE COMMAND THAT @^@@@@ CAUSED THIS MESSAGE. FX )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ FY )@@G@@THE MACRO NAME YOU HAVE ATTEMPTED TO USE IS NOT LEGAL. THE MOST @F@@@@FZ )@@G@@ LIKELY CAUSE IS THAT IT IS NOT AT LEAST TWO CHARACTERS LONG. _@@@@@GA )@@G@@*[S@@@*SDFF*@H@]@@ YOU HAVE (A) GENERATED A SUBSCRIPT FAULT ON AN AGB )@@G@@RRAY OR (B) REQUESTED A @H@@@] YOU HAVE (A) GENERATED A SUBSCRIPT FGC )@@G@@AULT ON AN ARRAY OR (B) REQUESTED @H@]@@ BYTE ON A BYTE-SUBSET WHERE AGD )@@G@@LL OR A PART OF IT FALLS BEYOND THE BOUNDARIES @H@@@] A BYTE ON A BYTE-GE )@@G@@SUBSET WHERE ALL OR A PART OF IT FALLS BEYOND THE BOUNDAR- @#@]@@ OF THGF )@@G@@E ARRAY. @#@@@] IES OF THE ARRAY._@@@@@^[]FDOC*!ETPCLNC(O^[RD[ EL ^[[GG )@@G@@D-G^[JEK)CC)E[[ELO^[JC0)DDO^[ACDGD-N^[]C(TD9IC))E-CC*)CLJE(IC-[EK!@^[@@@GH )@@G@@*[S@@@*SDFF*@B@@@@I AM AFRAID THAT I CANNOT EXPLAIN YOU. _@@@@@@@@@@@GI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@EXPLANATIONS ON ME MAY BE FOUNGK )@@G@@D IN THE FOLLOWING SOURCES: @@@@@@@B@@@@ 1) THE DATABASE EDITOR USEGL )@@G@@RS GUIDE @E@@@@ 2) THE DATABASE EDITOR PROGRAMMERS REFERENCE MANUAGM )@@G@@L @^@@@@ 3) JUST TYPE "HELP" _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GO )@@G@@*[S@@@*SDFF*@C@@@@THE FOLLOWING FACILITIES EXIST TO ASSIST YOU: @@@@@@GP )@@G@@@G@@@@"EXPLAIN" WILL PRINT AN EXPLANATION OF THE MOST-RECENTLY RECEIVGQ )@@G@@ED @ @@@@ ERROR MESSAGE @@@@@@@G@@@@"EXPLAIN #" WILL GR )@@G@@PRINT AN EXPLANATION OF A SPECIFIC ERROR, FOR EXAMPLE @D@@@@ GS )@@G@@ "EXPLAIN 45" WILL EXPLAIN ERROR NUMBER 45@@@@@@@H@@@@"EXPLAIN X" WILL GT )@@G@@PRINT AN EXPLANATION OF TOPIC "X". SEE ALSO THE "TOPICS" @ @@@@ GU )@@G@@ EXPLANATION BELOW@@@@@@@G@@@@"TOPICS" WILL PRINT A LIST OF TOGV )@@G@@PICS AVAILABLE TO THE "EXPLAIN" @^@@@@ FACILITY @@@@@@GW )@@G@@@E@@@@"COMMANDS" WILL PRINT A LIST OF THE DBE USER COMMANDS @@@@@@GX )@@G@@@F@@@@"SYNTAX X" WILL PRINT THE COMMAND SYNTAX OF DBE COMMAND "X" GY )@@G@@@@@@@@_@@@@@D([D1^ES+^@)^[RDDGD))E[MDDIE))CC)D-DETO^[JC0)E-CC*)C-]C*)E(NGZ )@@G@@C(M^[#D9HD([D1^ES)@#@@[@^@)^@)^@)^@)^@)^@)@K@@[@*[S@@@*SDFF*@B@@@@THE FOHA )@@G@@LLOWING TOPICS MAY BE "EXPLAIN"ED: @@@@@@@B@@@@"HELP" EXPLAIN THEHB )@@G@@ DBE HELP FACILITY@@@@@@@B@@@@"TOPICS" THE LIST OF "EXPLAIN" TOPICS HC )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@THERE IS NOTHING TO EXPLAIN (NHF )@@G@@O ERROR HAS OCCURRED DUMMY) _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ HH )@@G@@ THE COMMAND YOU HAVE JUST ATTEMPTED REQUIRES THAT DEBUG MODE BE @H@@@@HI )@@G@@ ACTIVE. YOU MAY ACTIVATE DEBUG MODE VIA "DEBUG ON". TO DEACTIVATE DEHJ )@@G@@BUG @A@@@@ MODE, SIMPLY ENTER "DEBUG OFF". _@@@@@@@@@@@@@@@@@@@@@@@HK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ (1) YOU HAVE ATTEMPTED TOHM )@@G@@ REFERENCE A FEATURE REFERENCE@F@@@@ TABLE, BUT DO NOT CURRENTLYHN )@@G@@ HAVE A FEATURE CURRENT, OR, @F@@@@ (2) YOU HAVE ATTEMPTED TO REFERHO )@@G@@ENCE A GLOBAL ENCODE/DECODE @F@@@@ TABLE, BUT THE FEATURE YOU HP )@@G@@HAVE CURRENT DOES NOT DESCRIBE@^@@@@ A GED TABLE. _@@@@@C*)CDOHQ )@@G@@*[S@@@*SDFF*@G@@@@ THE REQUESTED FEATURE COULD NOT BE FOUND IN THE HR )@@G@@CURRENTLY LOADED @D@@@@ SCHEMA. CHECK YOUR SPELLING OR THE EXPRESSION HS )@@G@@VALUE._@@@@@C8@]!\/,0@T *[S@@@*SDFF*@H@@@@ YOU HAVE ENTERED A TABLE POSIHT )@@G@@TIONING COMMAND WITHOUT NAMING THE TABLE, AND @H@@@@ THERE WAS NO DEFAHU )@@G@@ULT (CURRENT) TABLE. TABLE POSITIONING COMMANDS ARE THOSE @H@@@@ COMMAHV )@@G@@NDS THAT DO NOT BEGIN WITH A VALID COMMAND NAME (E.G., "LET"), BUT BEGINHW )@@G@@@H@@@@ INSTEAD WITH AN EXPRESSION (E.G., "4 ART"). YOUR CURRENT TABLE NHX )@@G@@AME IS SHOWN@H@@@@ ON THE COMMAND PROMPT AS "TBLNAME[LOCN]:"; IF NO TABLHY )@@G@@E IS CURRENT, THE PROMPT@^@@@@ WILL APPEAR AS "*:". _@@@@@@@@@@@@@@@@@HZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ THE PAGE NUMBER, AREA CODE, OIA )@@G@@R PAGE SIZE OF THE PAGE CURRENTLY IN THE @ @@@@ PAGE BUFFER IS NOT CORRIB )@@G@@ECT. @@@@@@@F@@@@ THE REASON IS GIVEN AS "TYPE" IN THE ERROR MESSAGE, AIC )@@G@@S FOLLOWS: @I@@@@ 1- THE PAGE NUMBER IN THE BUFFER DOES NOT MATCH ID )@@G@@THE PAGE NUMBER REQUESTED @H@@@@ 2- THE AREA CODE IN THE BUFFERIE )@@G@@ DOES NOT MATCH THE AREA CODE REQUESTED @G@@@@ 3- THE PAGE SIZE IIF )@@G@@N THE PAGE HEADER DOES NOT MATCH THAT IN THE ART@@@@@@@F@@@@ IF THIS ERRIG )@@G@@OR RESULTED FROM A 'PAGE' COMMAND, THE PAGE WILL BE IN@G@@@@ THE PAGE BUIH )@@G@@FFER AND WILL BE AVAILABLE FOR INSPECTION OR ALTERATION. @F@@@@ IF THII )@@G@@IS ERROR RESULTED FROM A 'REWRITE' COMMAND, THE PAGE IN THE @G@@@@ BUFFEIJ )@@G@@R MUST BE CORRECTED BEFORE IT MAY BE REWRITTEN TO THE DATABASE. _@@@@@IK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IL )@@G@@*[S@@@*SDFF*@F@@@@ THE REQUEST ISSUED TO PRTCN$ (THROUGH THE DBE PRIM )@@G@@TCN COMMAND)@F@@@@ IS ILLEGAL EITHER DUE TO A SYNTAX ERROR WITHIN THE STIN )@@G@@RING/SUBSET @B@@@@ OR IS TOO LONG (GREATER THAN 62 WORDS). _@@@@@@@@@@@IO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@G@@@@ IQ )@@G@@ THE VARIABLE YOU HAVE JUST REFERENCED HAS NOT YET BEEN ASSIGNED A@G@@@@IR )@@G@@ VALUE, THEREFORE IT HAS NOT BEEN PHYSICALLY ALLOCATED. NOTE THAT THIS IS )@@G@@@H@@@@ ERROR COULD ALSO ARISE FROM AN ATTEMPT TO ALLOCATE MORE THAN THE IT )@@G@@ALLOWED @H@@@@ NUMBER OF VARIABLES. CONSULT THE DBE SUPPORT INDIVIDIU )@@G@@UAL(S) AT YOUR SITE @C@@@@ FOR THE EXACT NUMBER OF ALLOWED VARIABLESIV )@@G@@. _@@@@@ED HAS NOT YET BEEN ASSIGNED A@G@@@@ VALUE, THEREFORE IT HASIW )@@G@@ NOT BEEN PHYSICALLY ALLOCATED. NOTE THAT THIS *[S@@@*SDFF*@G@@@@ IX )@@G@@ UP TO 6 MACROS MAY BE "MONITORED" AT A TIME. USE THE "MONITOR,C"@G@@@@IY )@@G@@ COMMAND TO CLEAR A MACRO NAME FROM THE MONITOR LIST BEFORE ATTEMPTING IZ )@@G@@@ @@@@ TO MONITOR ANOTHER MACRO. _@@@@@Y BE "MONITORED" AT A TIME. UJA )@@G@@SE THE "MONITOR,C"@G@@@@ COMMAND TO CLEAR A MACRO NAME FROM THE MONITOR JB )@@G@@LIST BEFORE ATTEMPTING *[S@@@*SDFF*@G@@@@ UP TO 36 VARIABLES MAY JC )@@G@@BE "MONITORED" FOR A MACRO AT A TIME. @F@@@@ USE THE "MONITOR,C" COMJD )@@G@@MAND TO CLEAR A VARIABLE NAME FROM THE @E@@@@ MONITOR LIST BEFORE ATTJE )@@G@@EMPTING TO MONITOR ANOTHER VARIABLE._@@@@@ME. USE THE "MONITOR,C"@G@@@@JF )@@G@@ COMMAND TO CLEAR A MACRO NAME FROM THE MONITOR LIST BEFORE ATTEMPTING JG )@@G@@*[S@@@*SDFF*@G@@@@ UP TO 16 BREAKPOINTS MAY BE SET AT ONE TIME. UJH )@@G@@SE THE "BRKPT,C" @F@@@@ COMMAND TO CLEAR A BREAKPOINT BEFORE ATTEMPTINGJI )@@G@@ TO SET ANOTHER @]@@@@ BREAKPOINT._@@@@@ UP TO 6 MACROS MAY BE "JJ )@@G@@MONITORED" AT A TIME. USE THE "MONITOR,C"@G@@@@ COMMAND TO CLEAR A MACRJK )@@G@@O NAME FROM THE MONITOR LIST BEFORE ATTEMPTING *[S@@@*SDFF*@G@@@@ JL )@@G@@ A "STEP" COMMAND WAS ENTERED, BUT NO MACRO HAS BEEN SUSPENDED. @G@@@@JM )@@G@@ YOU MUST FIRST CAUSE SUSPENSION OF A MACRO BY SPRINGING A "BRKPT", JN )@@G@@@D@@@@ "TRAP", ETC. BEFORE THE "STEP" COMMAND MAY BE USED. _@@@@@ME. UJO )@@G@@SE THE "MONITOR,C"@G@@@@ COMMAND TO CLEAR A MACRO NAME FROM THE MONITOR JP )@@G@@LIST BEFORE ATTEMPTING *[S@@@*SDFF*@F@@@@ A "STEP" COMMAND WAS ENJQ )@@G@@TERED WITH A COUNT LESS THAN 1. @E@@@@ THE NUMBER OF INSTRUCTIONS TOJR )@@G@@ PERFORM MUST BE SPECIFIED AS @#@@@@ ONE OR LARGER. _@@@@@@G@@@@ JS )@@G@@ UP TO 16 BREAKPOINTS MAY BE SET AT ONE TIME. USE THE "BRKPT,C" @F@@@@JT )@@G@@ COMMAND TO CLEAR A BREAKPOINT BEFORE ATTEMPTING TO SET ANOTHER @]@@@@JU )@@G@@*[S@@@*SDFF*@E@@@@ AN ATTEMPT WAS MADE TO DIMENSION AN ARRAY THAT WJV )@@G@@AS @E@@@@ TOO LARGE. THE MAXIMUM NUMBER OF ROWS OR COLUMNS THAT JW )@@G@@@D@@@@ MAY BE SPECIFIED IS 262143. THIS ERROR WILL ALSO BE @D@@@@ ENCOUJX )@@G@@NTERED IF THE DIMENSIONED ARRAY WOULD CAUSE THE @B@@@@ DBE DBANK TO EXPAJY )@@G@@ND PAST ADDRESS 0777777._@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@D@@@@ JZ )@@G@@A ONE-DIMENSIONAL ARRAY WAS REFERENCED USING TWO@D@@@@ DIMENSIONS, OR A KA )@@G@@TWO-DIMENSIONAL ARRAY WAS REFERENCED@^@@@@ USING ONE DIMENSION. _@@@@@KB )@@G@@*[S@@@*SDFF*@E@@@@ 1) THE "WRITE" COMMAND WAS USED TO BUILD AN IMAGKC )@@G@@E @ @@@@ LONGER THAN 63 WORDS,@@@@@@@F@@@@ OR 2) AN IMAGE KD )@@G@@TO BE PRINTED WAS LONGER THAN 132 CHARACTERS @C@@@@ (22 FIELDKE )@@G@@ATA WORDS OR 33 ASCII WORDS) _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ KG )@@G@@THE SORT/MERGE PACKET PASSED ON A "R$OPN" COMMAND @E@@@@ WAS INCORREKH )@@G@@CT. EITHER THE FIRST WORD OF THE PACKET DID @E@@@@ NOT POINT TO ITSEKI )@@G@@LF, OR NO "RSZ" ENTRY WAS FOUND IN THE @]@@@@ PACKET. _@@@@@@@@@@@KJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@C@@@@ THE LENGTH OF THE ARRAY KL )@@G@@SUBSET PASSED ON A@D@@@@ "R$REL" OR "R$RET" COMMAND DID NOT MATCH THE REKM )@@G@@CORD @C@@@@ SIZE SPECIFIED PREVIOUSLY BY A "R$OPN" COMMAND._@@@@@@@@@@@KN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KP )@@G@@*[S@@@*SDFF*@E@@@@ AN END-OF-FILE STATUS WAS RETURNED BY THE SORT/MKQ )@@G@@ERGE @E@@@@ ROUTINES DURING PROCESSING OF THE "R$RET" COMMAND. THIS KR )@@G@@@E@@@@ MEANS THAT NO MORE RECORDS ARE AVAILABLE TO BE RETURNED @^@@@@KS )@@G@@ FROM THE SORT FUNCTION._@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ KU )@@G@@THE SYSTEM SORT/MERGE FUNCTIONS HAVE REQUESTED ERROR @E@@@@ TERMINATIONKV )@@G@@. THE SORT/MERGE ERROR CODE SHOULD BE DISPLAYED@E@@@@ BEFORE THE DBE ERKW )@@G@@ROR STATUS IS RETURNED. SEE THE CURRENT @E@@@@ SORT/MERGE DOCUMENTATIOKX )@@G@@N FOR AN EXPLANATION OF THE SORT/ @^@@@@ MERGE ERROR CODES. _@@@@@KY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ THE DBE SECURITY FILE ISKZ )@@G@@ EITHER ROLLED OUT, OR IS @E@@@@ EXCLUSIVELY ASSIGNED TO ANOTHER JOBLA )@@G@@. ACCESS TO DBE WILL @C@@@@ BE PROHIBITED UNTIL THIS SITUATION CHANGELB )@@G@@S. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LD )@@G@@*[S@@@*SDFF*@D@@@@ AN AREA, RECORD OR SET WAS REQUESTED VIA THE LE )@@G@@@D@@@@ "SAREA", "SREC" OR "SSET" COMMANDS RESPECTIVELY AND @D@@@@ THE ELF )@@G@@NTITY REQUESTED IS DEFINED IN THE SCHEMA, BUT @D@@@@ NOT IN THE SUBSCHLG )@@G@@EMA CURRENTLY INVOKED. PERHAPS A @D@@@@ "SUBSCH" COMMAND NEEDS TO BE LH )@@G@@PERFORMED TO LOAD A @C@@@@ SUBSCHEMA THAT CONTAINS THE ENTITY NEEDEDLI )@@G@@. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LK )@@G@@*[S@@@*SDFF*@D@@@@ YOU HAVE ATTEMPTED TO REFERENCE EITHER THE "PATHLL )@@G@@@E@@@@ INFORMATION TABLE" (PIT) OR THE "PATH DESCRIPTION TABLE" @D@@@@LM )@@G@@ (PDT) FOR A QLP PATH, BUT NO PATH WAS PREVIOUSLY MADE@D@@@@ CURRENT. YOLN )@@G@@U MUST FIRST DO A "PATH" COMMAND TO MAKE A@#@@@@ PATH CURRENT. _@@@@@LO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ LP )@@G@@EITHER THE SCHEMA/SUBSCHEMA FILENAME WAS ENTIRELY @D@@@@ ABSENT FROMLQ )@@G@@ THE "SCHEMA" OR "SUBSCH" COMMAND OR THE @D@@@@ "QUAL*FILENAME." WAS INLR )@@G@@CORRECTLY FORMATTED. PROBABLE@E@@@@ CAUSE IS THE ABSENCE OF A '*' OR A LS )@@G@@'.' IN THE FILENAME @#@@@@ SPECIFICATION. _@@@@@@@@@@@@@@@@@@@@@@@LT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@F@@@@ THE "SCHEMA" OR "SUBSCHELU )@@G@@MA" COMMAND HANDLER COULD NOT TELL @F@@@@ WHAT THE SCHEMA/SUBSCHEMA NAMLV )@@G@@E WAS. PROBABLE CAUSE IS A MISSING @F@@@@ '.' IN THE FILENAME PARAMETERLW )@@G@@ OR A MISSING SCHEMA/SUBSCHEMA-NAME @#@@@@ ON A TIP REQUEST._@@@@@ FACILLX )@@G@@ITY STATUS MESSAGE RETURNED TO DBE. CONSULT THE OS/1100 @F@@@@ OPERALY )@@G@@*[S@@@*SDFF*@G@@@@ YOU HAVE ATTEMPTED TO 'GET' ANOTHER RECORD FROM LZ )@@G@@A USER FILE WHEN @G@@@@ THERE WERE NO MORE RECORDS TO GET. THIS ERROR MA )@@G@@WILL OCCUR ONLY WHEN THE@H@@@@ 'EOF' CLAUSE WAS ABSENT FROM THE 'GET' (AMB )@@G@@LTHOUGH THE ERROR CODE VARIABLE - @A@@@@ ECODE - WILL STILL BE SET TO MC )@@G@@35). _@@@@@ SUBSET, IS NEGATIVE @F@@@@ (WHIC*[S@@@*SDFF*@D@@@@ MD )@@G@@AN ERROR WAS ENCOUNTERED TRYING TO @ADD THE FILE@D@@@@ OR ELEMENT SPECIFME )@@G@@IED. THE SPECIFIC ERROR IS AVAILABLE@D@@@@ IN THE DBE SYSTEM VARIABLE "EMF )@@G@@INFO", WHICH WILL BE THE@D@@@@ OCTAL 6-DIGIT ERROR IN THE FORM 1202XX, WMG )@@G@@HERE XX IS @E@@@@ THE CONTINGENCY CODE. SEE THE EXEC PRM, CURRENT LEVEMH )@@G@@L, @E@@@@ FOR INFORMATION ON THE EMODE (ERROR 12), SYMB (CONTIN- MI )@@G@@@^@@@@ GENCY TYPE 02) ERRORS. @@@@@@@D@@@@ POSSIBLE CAUSES ARE THAT THE MJ )@@G@@FILE/ELT DOES NOT EXIST,@D@@@@ A SYNTAX ERROR EXISTED IN THE @ADD STATEMMK )@@G@@ENT, ETC. _@@@@@IED ON THE @ADD CAUSING THIS MESSAGE DOES NOT EXIST ML )@@G@@@ @@@@ WITHIN THE FILE SPECIFIED. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MM )@@G@@*[S@@@*SDFF*@H@@@@ THE NUMBER IN THE MESSAGE WAS USED AS A FIELD SIMN )@@G@@ZE, COLUMN NUMBER OR @H@@@@ SKIP COUNT AND WAS ILLEGAL IN THE CONTEXTMO )@@G@@ IN WHICH IT WAS USED. FOR EXAMPLE,@H@@@@ A FORMAT OF 'F7' IS ILLEGAL SMP )@@G@@INCE NO MORE THAN 6 FIELDATA CHARACTERS CAN BE @^@@@@ FIT INTO A SINGLEMQ )@@G@@ WORD._@@@@@ THE CONTEXT IN WHICH IT WAS USED. *[S@@@*SDFF*@D@@@@ MR )@@G@@DBE RECIEVED AN I/O ERROR WHILE WRITING OUT THE @E@@@@ UPDATED SECURITY MS )@@G@@FILE. THE FILE MAY NOW BE INCONSISTENT @E@@@@ AND UNUSABLE. THE USERMT )@@G@@ WITH THE SYSGEN-DEFINED USERID @E@@@@ MAY NEED TO REINITIALIZE THE MU )@@G@@SECURITY FILE AND RE-CREATE @D@@@@ IT, OR THE FILE MAY BE REVERTED FROMV )@@G@@M A BACKUP COPY. _@@@@@*[S@@@*SDFF*@E@@@@ THE REQUESTED RECORD DOEMW )@@G@@S NOT EXIST IN THE CURRENTLY @E@@@@ LOADED SCHEMA OR SUBSCHEMA. CHECK MX )@@G@@YOUR SPELLING OR THE @#@@@@ EXPRESSION VALUE._@@@@@IN THE @ADD STATEMMY )@@G@@ENT, ETC. _@@@@@IED ON THE @ADD CAUSING THIS MESSAGE DOES NOT EXIST MZ )@@G@@@ @@@@ WITHIN THE FILE SPECIFIED. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NA )@@G@@*[S@@@*SDFF*@E@@@@ THE REQUESTED SET DOES NOT EXIST IN THE CURRENTLNB )@@G@@Y @E@@@@ LOADED SCHEMA OR SUBSCHEMA. CHECK YOUR SPELLING OR THE NC )@@G@@@#@@@@ EXPRESSION VALUE._@@@@@IN THE @ADD STATEMENT, ETC. _@@@@@IED ONND )@@G@@ THE @ADD CAUSING THIS MESSAGE DOES NOT EXIST @ @@@@ WITHIN THE FILE SNE )@@G@@PECIFIED. _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@E@@@@ NF )@@G@@THE REQUESTED AREA DOES NOT EXIST IN THE CURRENTLY @E@@@@ LOADED SCHENG )@@G@@MA OR SUBSCHEMA. CHECK YOUR SPELLING OR THE @#@@@@ EXPRESSION VALUE.NH )@@G@@_@@@@@*SDFF*@F@@@@ THE "SCHEMA" OR "SUBSCHEMA" COMMAND HANDLER COULNI )@@G@@D NOT TELL @F@@@@ WHAT THE SCHEMA/SUBSCHEMA NAME WAS. PROBABLE CAUSE INJ )@@G@@S A MISSING @F@@@@ '.' I*[S@@@*SDFF*@@@@@@@A@@@@ COMMAND EXPLNK )@@G@@ANATION @A@@@@ ======= =========== @@@@@@@H@@@@ ARNL )@@G@@EA MAKE AVAILABLE THE ART AND DATABASE PAGES OF THIS AREA NM )@@G@@@ @@@@ BYE SIGN OFF @E@@@@ EVALUATE PROVIDES ANN )@@G@@ "DESK CALCULATOR" ABILITY @G@@@@ FEATURE LOCATE A FEATURENO )@@G@@'S REFERENCE AND DESCRIPTION TABLES @C@@@@ FMT SET THE DENP )@@G@@FAULT PRINT FORMAT@E@@@@ HARDCOPY DISPLAY/ALTER HARDCOPY SPECINQ )@@G@@FICATIONS @E@@@@ LAST SET BUFFER POINTER TO LAST WORD INNR )@@G@@ TABLE@D@@@@ OFF TURN OFF A SPECIFIC DBE OPTION @D@@@@NS )@@G@@ ON TURN ON A SPECIFIC DBE OPTION @F@@@@ OUTPUT NT )@@G@@ OUTPUT NEXT N WORDS OF THE THE CURRENT TABLE @H@@@@ PAGE NU )@@G@@ READ A DATABASE PAGE AND MAKE AVAILABLE FOR INSPECTION @G@@@@NV )@@G@@ PATH LOCATE THE PATH INDEX TABLE & PATH DESCRIPTION TABLENW )@@G@@@G@@@@ PRINT PRINT WORDS FROM THE SPECIFIED OR CURRENT TABLNX )@@G@@E @B@@@@ PRINT! PRINT THE ENTIRE TABLE@G@@@@ QUAL NY )@@G@@ ESTABLISH THE QUALIFIER FOR ACCESSING EXEC AREAS @G@@@@ RENZ )@@G@@CORD LOCATE A RECORD'S REFERENCE AND DESCRIPTION TABLES @C@@@@OA )@@G@@ SCHEMA LOAD AN ABSOLUTE SCHEMA @G@@@@ SET OB )@@G@@ LOCATE A SET'S REFERENCE AND DESCRIPTION TABLES @C@@@@ SUBSCH OC )@@G@@ LOAD AN ABSOLUTE SUBSCHEMA @C@@@@ WAIT SUSPEND THOD )@@G@@IS DBE SESSION _@@@@@ PRINT THE ENTIRE TABLE@G@@@@ QUAL OE )@@G@@ ESTABLISH THE QUALIFIE*[S@@@*SDFF*%#@@@@-1,3 . CDM141 @C@@[@ OF )@@G@@ DIMENSION K(RDT[9]:H2) @ INDIVIDUAL KEYS@D@@[@ DIMENSION C(RDT[OG )@@G@@9]:H2) @ CONCATENATED KEY @B@@[@ DIMENSION B(RDT[9]:H2) @ WOROH )@@G@@K KEY %@@@@#@[[@@@ @ @^@@@@ LET C(1):H1 = '@@@' @[@@@@ @ @#@@@@OI )@@G@@ PWORD J9 29,3 @E@@@@ LET T= RDT[014]:J9 @ ASCII=OJ )@@G@@0/2, FD=4/6 @C@@@@ IF T=0 OR T=2 THEN @ ASCII @C@@@@OK )@@G@@ LET D=9 @ BITS/BYTE @C@@@@ LET E=4 OL )@@G@@ @ BYTES/WD @^@@@@ LET Z='0'A @ ASCII ZERO@ @@@@ LET SOM )@@G@@=' 'A @ ASCII SPACE @B@@@@ ELSE IF T=4 OR T=6 THEN @ FDON )@@G@@@C@@@@ LET D=6 @ BITS/BYTE @C@@@@ LET E=6 OO )@@G@@ @ BYTES/WD @^@@@@ LET Z='0' @ FD ZERO @^@@@@OP )@@G@@ LET S=' ' @ FD SPACE @]@@@@ END IF @A@@@@ LET L= 18/D + 1 @ CHAR OQ )@@G@@# OF WD 0 H2@[@@@@ @ @A@@@@ LET R=014 @ STARTING RDT ADDRESS @[@@@@OR )@@G@@ @ @^@@@@ IF RDT[010]:S6 <>0 THEN@#@@@@ REPEAT I= 1,1 @[@@@@ @ OS )@@G@@@D@@@@ IF T/4<>RDT[R]:J9/4 THEN @ KEY TYPES INCOMPATIBLE @E@@@@ WRITEOT )@@G@@ = ' MULTI-PART KEY CONTAINS MIXED FD/ASCII.',* @[@@@@ STOP @]@@@@OU )@@G@@ END IF @[@@@@ @ @E@@@@ LET T= RDT[R]:J9 @ ASOV )@@G@@CII=0/2, FD=4/6 @#@@@@ WRITE = 'KEY' @C@@@@ IF RDT[010]:S6 > 1 WRITOW )@@G@@E KEY I,RDT[010]:S6 @#@@@@KEY: FORMAT '-',D @#@@@@ WRITE = C8,'PIC 'OX )@@G@@@[@@@@ @ @D@@@@ LET N= RDT[R+1]:H2 / D @ # CHARS IN KEY OY )@@G@@@A@@@@ IF T=2 OR T=6 THEN @ NON-COMP ITEM @#@@@@ WRITE DISPLA N @ @@@@OZ )@@G@@DISPLA: FORMAT 'X(',D,') ' @#@@@@ ELSE @ COMP ITEM @^@@@@ WRITE COMP PA )@@G@@RDT[R+2]:S2 @ @@@@COMP: FORMAT '9(',D,') COMP ' @]@@@@ END IF @[@@@@PB )@@G@@ @ @#@@@@ WRITE = C24,'-' @^@@@@ LET = WBUF(1,24)@]@@@@ WRITEPC )@@G@@ = R @^@@@@ LET =ALL(' ') @#@@@@ TREAD ,@[@@@@ @ PD )@@G@@@A@@@@ IF T=2 THEN @ KEY IS ASCII DISPLAY @^@@@@ LET = ASCII() PE )@@G@@@#@@@@ LET = @B@@@@ ELSE IF T=0 OR T=4 THEN @ KEY IS COMP PF )@@G@@@]@@@@ LET J=1 @A@@@@ WHILE [K:J,D]=Z @ LEADING ZERO @A@@@@ LET [PG )@@G@@K:J,D]=S @ CONVERT TO SPACE @]@@@@ LET J=J+1 @]@@@@ END WHILE @[@@@@PH )@@G@@ @ @B@@@@ LET X=VALUE() @ CONVERT BCD TO BINARY @A@@@@ PWORD J8 RDPI )@@G@@T[R+1]:H2-1,RDT[R+1]:H2 @^@@@@ PWORD J7 35,RDT[R+1]:H2@E@@@@ LET K(1):J7PJ )@@G@@ = X:J8 @ MOVE PROPER DIGITS TO LEFT OF K(1) @]@@@@ END IF @[@@@@PK )@@G@@ @ @#@@@@ REPEAT J=1,1 @D@@@@ LET [C:L,D]=[K:J,D] @ MOVE INPUT KEPL )@@G@@Y TO CONCAT KEY @A@@@@ LET L=L+1 @ BUMP CURRENT CHAR # @]@@@@ UNTILPM )@@G@@ J=N @[@@@@ @ @]@@@@ LET R= R+3 @^@@@@ UNTIL I= RDT[010]:S6 @]@@@@PN )@@G@@ END IF @[@@@@ @ @]@@@@ RETURN _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@#@@@@ PARAMPQ )@@G@@ETER BASE @H@@@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' ATPR )@@G@@ ',F2,':',F2,':',F2,* @A@@@@BARS: FORMAT C20,'I',<29>'-','I',* @A@@@@PS )@@G@@BARS2: FORMAT C20,'I',<29>' ','I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,PT )@@G@@X1,'I ' @ @@@@WO: FORMAT X7,O12,X9,'I ' @B@@@@2WF: FORMAT X6,'''PU )@@G@@',<2>F6,'''',X8,'I ' @B@@@@1WA: FORMAT X10,'''',A4,'''',X12,'I ' PV )@@G@@@^@@@@HX: FORMAT X13,WF,' ' @^@@@@HD: FORMAT D7,X6,WF,' ' @ @@@@HO: FOPW )@@G@@RMAT X1,O6,X6,WF,X1 @^@@@@TX: FORMAT X8,WF,X1 @^@@@@WD: FORMAT DPX )@@G@@15,X13,'I ' @^@@@@DOT: FORMAT C12,'.' @B@@@@SKIP: FORMAT C12,'.',C20PY )@@G@@,'/',<29>' ','/',*@B@@@@3WA: FORMAT X6,'''',<3>A4,'''',C50,'I ' @^@@@@PZ )@@G@@SD: FORMAT D2,X1,WF,X1 @^@@@@SO: FORMAT O2,X1,WF,X1 @^@@@@SX: FORMAT XQA )@@G@@3,WF,X1 @^@@@@ DIMENSION COMMAND(14) @#@@@@ IF MODE = 0 THEN @B@@@@QB )@@G@@ TREAD ' TO CONTINUE: ', @]@@@@ END IF @#@@@@ ERRORQC )@@G@@ TRAP01 @#@@@@ WRITE TITLE BASE @G@@@@TITLE: FORMAT *,C16,'ACCESS COQD )@@G@@NTROL ENTRY (BEGINS AT SCRT[',O,'])',*,* @]@@@@ LET WD#=0 @#@@@@ REPEAQE )@@G@@T I=1,1 @]@@@@ WRITE BARS @ @@@@ WRITE WORD WD#,SCRT[BASE+WD#]@A@@@@QF )@@G@@ WRITE HO SCRT[BASE+WD#]:H1,':' @A@@@@ WRITE HD SCRT[BASE+WD#]:H2,'IQG )@@G@@' @A@@@@ WRITE = 'KIND AC CNTL, # ENTRIES',*@]@@@@ WRITE BARS @#@@@@QH )@@G@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCRT[BASE+WD#]@A@@@@ WRITE HD SCQI )@@G@@RT[BASE+WD#]:H1,':' @A@@@@ WRITE HD SCRT[BASE+WD#]:H2,'I' @ @@@@QJ )@@G@@ WRITE = '==> NEXT ENTRY,',* @ @@@@ WRITE = C55,'AC KEY DN CODE' @]@@@@QK )@@G@@ WRITE BARS @#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCRT[BASE+WD#]QL )@@G@@@A@@@@ WRITE SD SCRT[BASE+WD#]:S1,':' @A@@@@ WRITE SD SCRT[BASE+WD#]QM )@@G@@:S2,':' @ @@@@ LET TYPE = SCRT[BASE+WD#]:S3 @#@@@@ WRITE SD TYPE,':'QN )@@G@@@A@@@@ WRITE HD SCRT[BASE+WD#]:H2,'I' @B@@@@ WRITE = 'NUM, ==> NEXT QO )@@G@@ENTRY, TYPE,',* @#@@@@ IF TYPE=0 THEN @A@@@@ WRITE = C55,'==> DBP DEQP )@@G@@SC. TABLE' @[@@@@ ELSE @ @@@@ WRITE = C55,'==> LITERAL' @]@@@@ WRITEQQ )@@G@@ BARS @#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCRT[BASE+WD#]@B@@@@QR )@@G@@ WRITE 3WA @B@@@@ WRITE = 'LOCK LITERAL (QS )@@G@@3 WDS ASCII)',* @#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCRT[BASQT )@@G@@E+WD#]@]@@@@ WRITE BARS2@#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCQU )@@G@@RT[BASE+WD#]@^@@@@ WRITE = X(-2),' ' @]@@@@ END IF @#@@@@ LET WQV )@@G@@D#=WD#+1 @^@@@@ UNTIL I=SCRT[BASE+0]:H2@ @@@@ IF CHARSW <> 0 WRITE BAQW )@@G@@RS @]@@@@ RETURN @#@@@@TRAP01: ERRPR,N _@@@@@ASCII)',* @#@@@@QX )@@G@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SCRT[BASE+WD#]@]@@@@ WRITE BARS2QY )@@G@@@#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,SC*[S@@@*SDFF*@E@@@@DISPLYQZ )@@G@@: FORMAT 'KEY CALCS TO PAGE ',D,', CHAIN ',D,'.',* @A@@@@DIM: FORMRA )@@G@@AT 'DIM KEY',D,'(',D,')'@ @@@@PARAM: FORMAT 'KEY',D,',' @ @@@@ANGLESRB )@@G@@: FORMAT ',' @#@@@@D: FORMAT D @B@@@@LET1: FORMAT 'LERC )@@G@@T =ASCII()'@A@@@@LET2: FORMAT 'LET =' @G@@@@RD )@@G@@IF: FORMAT 'IF KEY',D,'(1)=BLANKS AND KEY',D,'(2)=0 LET PROMPT?=1' RE )@@G@@@B@@@@TREAD: FORMAT R,'TREAD ,' @A@@@@RECNAM: FORMAT '/'RF )@@G@@,WA @D@@@@SLOT: FORMAT '...RECORD POINTS TO PAGE SLOT ',RG )@@G@@D @A@@@@OTHRPG: FORMAT ' ON PAGE ',D,'.',* @]@@@@ @ @G@@@@RH )@@G@@ DIM A$REA(10),R$EC(10),REQKEY(23),CURKEY(23),X(23),B(3),TRD(2) RI )@@G@@@ @@@@ LET BLANKS = ' ' @]@@@@ @ @G@@@@ ERRORJ )@@G@@R IGNERR @ IGNORE "TOO MANY PARAMS" ERROR @H@@@@ RK )@@G@@ PARAMETER , @ FETCH AREA & RECORD, IGNORE REST RL )@@G@@@G@@@@IGNERR: ERROR ERR @ HANDLE ALL ERRORS FROM HERM )@@G@@RE ON @F@@@@ IF A$REA(1)<>' ' AREA,N @ MAKE AREA CURRN )@@G@@RENT @F@@@@ IF R$EC(1)<>' ' RECORD @ MAKE RECORD CRO )@@G@@URRENT@G@@@@ LET R$TYPE = RCODE @ SAVE REQUESTED RECORP )@@G@@RD CODE @]@@@@ @ @G@@@@ @ DYNAMICALLY GENERATE THE "RQ )@@G@@DIMENSION" STATEMENT FOR EACH KEY. @]@@@@ @ @^@@@@ LET RR )@@G@@LONGST = 0 @E@@@@ LET IDT^ = 014 @ KEY IDT POINTRS )@@G@@ER @ @@@@ REPEAT KEY# = 1,1 @F@@@@ LET LEN = (RDTRT )@@G@@ [IDT^+1]:H2 +35) / 36 @ # WDS IN THIS KEY@F@@@@ IF LEN=1 LET LRU )@@G@@EN=2 @ MUST HAVE AT LEAST 2 @F@@@@ WRITE DIM KEY#RV )@@G@@,LEN @ CREATE "DIM" STATEMENT @F@@@@ * RW )@@G@@ @ EXECUTE "DIM" STATEMENT @D@@@@ LET IDT^ = IDTRX )@@G@@^ + 3 @ NEXT KEY ITEM@A@@@@ UNTIL KEY# = RDT[010]:S6 RY )@@G@@@]@@@@ @ @H@@@@ @ DYNAMICALLY GENERATE THE PARAMETER LISRZ )@@G@@T CONTAINING THE AREA-SPEC, @G@@@@ @ RECORD-SPEC, AND THE PROPESA )@@G@@R NUMBER OF KEYS FOR THIS RECORD. @]@@@@ @ @H@@@@ WRITSB )@@G@@E = ' PARAMETER ,,' @ BEGIN "PARAMETER" STATEMENT @ @@@@SC )@@G@@ REPEAT KEY# = 1,1 @G@@@@ WRITE PARAM KEY# SD )@@G@@ @ ADD NEXT KEY TO PARAMETER LIST @A@@@@ UNTIL KEY# = RDT[010]:SE )@@G@@S6 @ @@@@ WRITE = X(-1),' ' @G@@@@ * SF )@@G@@ @ GENERATE "PARAMETER" STATEMENT @]@@@@ @ @F@@@@SG )@@G@@ @ IF ANY KEYS WERE NOT SPECIFIED ON THE MACRO CALL, PROMPT@A@@@@SH )@@G@@ @ THE USER FOR THEM HERE. @]@@@@ @ @E@@@@ LET SI )@@G@@IDT^ = 014 @ KEY IDT POINTER @ @@@@ REPEAT KEYSJ )@@G@@# = 1,1 @F@@@@ LET PROMPT?=0 @ ASSUME WE WONSK )@@G@@'T PROMPT @ @@@@ WRITE IF KEY#,KEY# @H@@@@ * SL )@@G@@ @ "IF KEYN WASN'T GIVEN, LET PROMPT=1" @E@@@@ SM )@@G@@ IF PROMPT? THEN @ MUST PROMPT USER @ @@@@ SN )@@G@@WRITE = 'KEY #' @^@@@@ WRITE D KEY#@^@@@@ WRITE SO )@@G@@= '?' @F@@@@ LET =WBUF(1,12) @ COPY "KEYN?" TO @ @@@@ WRITE TREAD KEY# @E@@@@ * SQ )@@G@@ @ "TREAD *," @#@@@@ END IF @D@@@@ SR )@@G@@ LET IDT^ = IDT^ + 3 @ NEXT KEY ITEM@A@@@@ UNTIL KEY#SS )@@G@@ = RDT[010]:S6 @]@@@@ @ @E@@@@ @ CREATE , THEST )@@G@@ CONCATENATED KEY REQUESTED. @]@@@@ @ @E@@@@ LET IDT^ =SU )@@G@@ 014 @ KEY IDT POINTER @E@@@@ LET REQKEY^ = 1 SV )@@G@@ @ REQKEY POINTER @ @@@@ REPEAT KEY# = 1,1 SW )@@G@@@E@@@@ IF RDT[IDT^]:S2**020=020 THEN @ ITEM IS DISPLAY @D@@@@SX )@@G@@ IF RDT[IDT^]:S2**070=020 THEN @ ASCII @A@@@@ SY )@@G@@ LET BITSPERBYTE = 9 @D@@@@ ELSE @ FSZ )@@G@@IELDATA @A@@@@ LET BITSPERBYTE = 6 @#@@@@ TA )@@G@@END IF@E@@@@ LET NUMBYTES = RDT[IDT^+1]:H2 / BITSPERBYTE TB )@@G@@@#@@@@ @ @ @@@@ REPEAT KEY^ = 1, 1@E@@@@COPY: TC )@@G@@ FORMAT 'LET [REQKEY:REQKEY^,6]=[KEY',D,':KEY^,6]' @ @@@@ TD )@@G@@ WRITE COPY KEY# @H@@@@ * @ COPY NETE )@@G@@XT INPUT BYTE TO @B@@@@ LET REQKEY^ = REQKEY^ TF )@@G@@+ 1 @A@@@@ UNTIL KEY^ = NUMBYTES @C@@@@ ELSE TG )@@G@@ @ COMP @C@@@@ ???? @ DON'T KNOW WHAT TTH )@@G@@O DO NOW @#@@@@ END IF @D@@@@ LET IDT^ = IDT^ + 3 TI )@@G@@ @ NEXT KEY ITEM@A@@@@ UNTIL KEY# = RDT[010]:S6 @F@@@@TJ )@@G@@ REPEAT I=1,1 @ APPEND 5 MORE BLANKS @B@@@@TK )@@G@@ LET [REQKEY:REQKEY^+I,6]=' ' @#@@@@ UNTIL I=5 @]@@@@TL )@@G@@ @ @F@@@@ @ CONVERT ANY ASCII DISPLAY KEYS FROM FIELDATATM )@@G@@ TO ASCII @]@@@@ @ @E@@@@ LET IDT^ = 014 TN )@@G@@ @ KEY IDT POINTER @ @@@@ REPEAT KEY# = 1,1 @E@@@@ TO )@@G@@ IF RDT[IDT^]:S2**070=020 THEN @ ASCII DISPLAY @ @@@@ TP )@@G@@WRITE LET1 KEY# @F@@@@ * @ "LET TQ )@@G@@=ASCII()" @ @@@@ WRITE LET2 KEY# @E@@@@ TR )@@G@@* @ "LET =" @#@@@@ END IF TS )@@G@@@D@@@@ LET IDT^ = IDT^ + 3 @ NEXT KEY ITEM@A@@@@ TT )@@G@@ UNTIL KEY# = RDT[010]:S6 @]@@@@ @ @F@@@@ WRITE = 'LTU )@@G@@ET I=ALCALC$ ' @ BEGIN "ALCALC$" CALL @ @@@@ REPEAT KEYTV )@@G@@# = 1,1 @G@@@@ WRITE ANGLES KEY# @ ADD NEXT KEY TW )@@G@@TO ALCALC$ CALL @A@@@@ UNTIL KEY# = RDT[010]:S6 @ @@@@ TX )@@G@@ WRITE = X(-1),' ' @D@@@@ * @ CTY )@@G@@ALL ALCALC$ @ @@@@ WRITE DISPLY I:H1,I:H2@]@@@@ @ @D@@@@TZ )@@G@@ IF RDT[014]:S2**020<>0 THEN @ NON-COMP ITEM @C@@@@ IFUA )@@G@@ RDT[014]:S2**070=020 THEN @ ASCII @A@@@@ LET =ASCII() @ @@@@ LET = @C@@@@ LET WDSINKEYUC )@@G@@=(3+RDT[015]:H2/9)/4 @D@@@@ ELSE @ FUD )@@G@@IELDATA @C@@@@ LET WDSINKEY=(5+RDT[015]:H2/6)/6 @#@@@@UE )@@G@@ END IF @^@@@@ ELSE @ COMP ITEM@ @@@@ LET BYTEUF )@@G@@SPERWD=36/V @D@@@@ LET WDSINKEY=(5+RDT[016]:S2)/BYTESPERWD UG )@@G@@@#@@@@ END IF @]@@@@ @ @B@@@@ LET HDRDBP=ENCODUH )@@G@@E(ACODE,I:H1,I:H2)@ @@@@ LET CURDBP=HDRDBP @]@@@@ @ UI )@@G@@@]@@@@NEWREC: @ @^@@@@ FIND CURDBP @E@@@@ IF RESULT=UJ )@@G@@0 WRITE,S = '*** RECORD NOT FOUND ***',* @ @@@@ RECORD PAGE[$]:NUK )@@G@@T1 @E@@@@ IF R$TYPE<>RCODE GOTO NOT-IT @ WRONG RECORD TYPE UL )@@G@@@]@@@@ @ @E@@@@ LET IDT^ = 014 @ KEY IDTUM )@@G@@ POINTER @ @@@@ REPEAT KEY# = 1,1 @^@@@@ @ WRITE = UN )@@G@@'"' @F@@@@ EXTRACTKEY $,IDT^ @ COPY KEY VALUE INTOUO )@@G@@ WBUF @D@@@@ @ WRITE = '",' @ DELIMIT KEYS @D@@@@UP )@@G@@ LET IDT^ = IDT^ + 3 @ NEXT KEY ITEM@A@@@@ UNTIUQ )@@G@@L KEY# = RDT[010]:S6 @E@@@@ @ WRITE = X(-1) @ EUR )@@G@@RASE JUNK AT END @ @@@@ LET =WBUF() @^@@@@ REPEUS )@@G@@AT I=1,1 @C@@@@ IF REQKEY(I)<>CURKEY(I) GOTO NOT-IT @^@@@@UT )@@G@@ UNTIL I=WDSINKEY@#@@@@ WRITE = R @#@@@@ DUMPREC UU )@@G@@@#@@@@ RETURN @]@@@@ @ @]@@@@NOT-IT: @ @A@@@@ UV )@@G@@ LET C = $ + RDT[5]:H2 - 1 @G@@@@ IF ART[3]:B35=1 LET C=C-1 @ UW )@@G@@IF CALC PRIOR LINKS, BACK UP 1 WORD @ @@@@ LET CURDBP=PAGE[C] UX )@@G@@@B@@@@ WRITE RECNAM @ @@@@ IF CURDBP=UY )@@G@@HDRDBP THEN @F@@@@ WRITE = '...RECORD POINTS BACK TO CALC CHAINUZ )@@G@@ HEADER.',* @C@@@@ WRITE = '*** RECORD NOT FOUND ***',* @#@@@@VA )@@G@@ RETURN @#@@@@ END IF @ @@@@ LET =DECODE(CVB )@@G@@URDBP)@^@@@@ WRITE SLOT B(3) @ @@@@ IF B(2)=PGNUM THEN VC )@@G@@@A@@@@ WRITE = ' ON THIS PAGE.',*@]@@@@ ELSE@ @@@@ VD )@@G@@ WRITE OTHRPG B(2) @#@@@@ END IF @^@@@@ GOTO NEWREVE )@@G@@C @]@@@@ @ @#@@@@ERR: ERROR @#@@@@ ERRPR VF )@@G@@@#@@@@ RETURN @]@@@@ @ @C@@@@GIGO: WRITE = 'CALC KEVG )@@G@@Y MUST BE NUMERIC.',* @#@@@@ RETURN @]@@@@ @ @ @@@@VH )@@G@@ERR???: WRITE = ' ' @#@@@@ ERRPR,W @#@@@@ WRITVI )@@G@@E * @]@@@@ STOP_@@@@@ BE NUMERIC.',* @#@@@@ RETURN VJ )@@G@@*[S@@@*SDFF*@B@@@@DIM: FORMAT ' DIM KEY',D,'(',D,')' @ @@@@PARAM:VK )@@G@@ FORMAT 'KEY',D,',' @]@@@@ @ @G@@@@ DIM DIV(3) VL )@@G@@ @ USED FOR DIVISION RESULTS, ETC.@]@@@@ @ @G@@@@VM )@@G@@ ERROR ERR @ HANDLE ALL ERRORS FROM HERE ON VN )@@G@@@]@@@@ @ @G@@@@ @ DYNAMICALLY GENERATE THE "DIMENSION" SVO )@@G@@TATEMENT FOR EACH KEY. @H@@@@ @ WHILE DOING THIS, ALSO DETERMINEVP )@@G@@ THE LENGTH OF THE LONGEST KEY. @]@@@@ @ @^@@@@ LET VQ )@@G@@LONGST = 0 @E@@@@ LET IDT^ = 014 @ KEY IDT POINTVR )@@G@@ER @ @@@@ REPEAT KEY# = 1,1 @F@@@@ LET LEN = (RDTVS )@@G@@ [IDT^+1]:H2 +35) / 36 @ # WDS IN THIS KEY@F@@@@ WRITE DIM KEY#VT )@@G@@,LEN @ CREATE "DIM" STATEMENT @F@@@@ * VU )@@G@@ @ EXECUTE "DIM" STATEMENT @E@@@@ IF LEN > LONGSVV )@@G@@T LET LONGST = LEN @ FIND LONGEST @D@@@@ LET IDT^ = IDT^ + 3 VW )@@G@@ @ NEXT KEY ITEM@A@@@@ UNTIL KEY# = RDT[010]:S6 @H@@@@VX )@@G@@ DIM KEY(LONGST+1) @ CREATE "KEY" 1 LONGER THAN LONGVY )@@G@@EST @]@@@@ @ @F@@@@ @ DYNAMICALLY GENERATE THE PARAMETVZ )@@G@@ER LIST CONTAINING THE @C@@@@ @ PROPER NUMBER OF KEYS FOR THIS RWA )@@G@@ECORD.@]@@@@ @ @G@@@@ WRITE = ' PARAMETER ' @ BWB )@@G@@EGIN "PARAMETER" STATEMENT @ @@@@ REPEAT KEY# = 1,1 @G@@@@WC )@@G@@ WRITE PARAM KEY# @ ADD NEXT KEY TO PARAMETER LIST WD )@@G@@@A@@@@ UNTIL KEY# = RDT[010]:S6 @ @@@@ WRITE = X(-1),' WE )@@G@@' @G@@@@ * @ GENERATE "PARAMETERWF )@@G@@" STATEMENT @]@@@@ @ @A@@@@ @ DEFINE CDE PACKET VALUES WG )@@G@@@]@@@@ @ @H@@@@ LET WIN^ = RDT[3]:H2 @ POINTERWH )@@G@@ TO "WITHIN" ENTRIES IN RDT @F@@@@ LET CDE004 = 0 WI )@@G@@ @ ASSUME NO LOWER BOUND @F@@@@ LET CDE005 = 0 WJ )@@G@@ @ AND NO UPPER BOUND @G@@@@ IF RDT[WIN^]:S2 LET CDE004 =WK )@@G@@ RDT[WIN^+1]:H1 @ LOWER BOUND PG # @G@@@@ IF RDT[WIN^]:S3 LET CDWL )@@G@@E005 = RDT[WIN^+1]:H2 @ UPPER BOUND PG # @E@@@@ LET CDE007 = ARTWM )@@G@@[010]:H1 @ # ALLOCATED PAGES @F@@@@ LET CDE008 = ART[020]:WN )@@G@@H1 @ # SPACED OVERFLOW PAGES @E@@@@ LET CDE009 = ART[010]:WO )@@G@@H2 @ # EVERY DATA PAGES @F@@@@ LET CDE010 = ART[020]:H2 WP )@@G@@ @ # AT END OVERFLOW PAGES @D@@@@ LET CDE011 = ART[023]:H2 WQ )@@G@@ @ # CALC CHAINS@D@@@@ LET CDE012 = RDT[010]:S6 @ # CALC WR )@@G@@KEYS @]@@@@ @ @F@@@@ @ COMPUTE THE NUMBER OF PRIME PAGEWS )@@G@@S WE HAVE AVAILABLE @]@@@@ @ @E@@@@ IF CDE004 = 0 THWT )@@G@@EN @ NO WITHIN CLAUSE @F@@@@ LET A2 = CDE007 - CDWU )@@G@@E010 @ # ALLOC PGS - AT END O/F @G@@@@CONTA: LET A4 = CDE009 + CDWV )@@G@@E008 @ # CONSEC PRIME + # INTER O/F @F@@@@ LET A2 = A2 / WW )@@G@@A4 @ # GROUPS IS NOW IN A2 @G@@@@ LET A2 = A2 * WX )@@G@@CDE009 * CDE011 @ A2 = # PRIME CHAINS TO HASH TO@ @@@@ ELSE @ WITWY )@@G@@HIN CLAUSE @E@@@@ LET A2 = CDE009 @ # CONSEC PRIMWZ )@@G@@E PGS @F@@@@ LET A3 = A2 + CDE008 @ + INTER O/F = GROUPXA )@@G@@ SIZE @G@@@@ LET A4 = CDE004 / A3 @ COMPUTE # GROUPS BEXB )@@G@@LOW LOWER PG@B@@@@ LET A5 = CDE004 \ A3 @ @G@@@@ XC )@@G@@ IF A5 > A2 LET A5 = A2 @ IF OVERGRP > CONSEC, USE CONSEC@F@@@@XD )@@G@@ LET A14 = A4 @ SAVE # GROUPS FOR LATER @F@@@@XE )@@G@@ LET A15 = A5 @ SAVE # OVERGRPS FOR LATER@]@@@@XF )@@G@@ @ @E@@@@ LET A2 = A2 - A5 @ # PGS IN INTEXG )@@G@@RVAL @E@@@@ LET A4 = CDE005 / A3 @ COMPUTE # GROUPS XH )@@G@@@B@@@@ LET A5 = CDE005 \ A3 @ @D@@@@ LET A3 =XI )@@G@@ CDE009 @ # CONSEC DATA@G@@@@ IF A5 > A3 LET A5 = XJ )@@G@@A3 @ IF OVERGRP > CONSEC, USE CONSEC@G@@@@ LET A4 = A4 - XK )@@G@@A14 - 1 @ COMPUTE # GRPS IN INTERVAL @G@@@@ @ # PRIMXL )@@G@@E IN INTERVAL + O/F ON TOP + O/F ON BOTTOM = # CHAINS @D@@@@ LEXM )@@G@@T A2 = ((A4 * CDE009) + A2 + A5) * CDE011 @#@@@@ END IF @]@@@@XN )@@G@@ @ @I@@@@ LET A2 = PRIMER A2 @ GET CLOSEST PXO )@@G@@RIME TO # PRIME DATA CHNS @]@@@@ @ @G@@@@ @ NOW: A2 XP )@@G@@= # OF CALC CHAINS TO BE USED IN THE CALC ROUTINE @B@@@@ @ XQ )@@G@@ R1 WILL = # KEYS TO PROCESS@E@@@@ @ R2 WILL = # WDS IN CUXR )@@G@@RRENT KEY TO PROCESS @]@@@@ @ @E@@@@ LET A5 = 0 XS )@@G@@ @ ZERO UPPER ACCUM @E@@@@ LET R1 = CDE012 - 1 XT )@@G@@ @ # CALC KEYS - 1 @G@@@@ IF CDE012 = 0 WRITE,S = ' RECORD CONTAINS NO CALC KEY',*@]@@@@ @ @F@@@@ @ COXV )@@G@@MPUTE # WDS IN KEY AND # CHARS IN LAST WORD OF KEY. @G@@@@ @ REXW )@@G@@MEMBER, THE KEY DOES NOT HAVE TO FALL ON A WD BOUNDARY. @]@@@@ XX )@@G@@ @ @E@@@@ LET IDT^ = 014 @ PTR TO 1ST CALC IDTXY )@@G@@@^@@@@ LET KEY# = 0 @]@@@@ @ @F@@@@ @ READ THEXZ )@@G@@ NEXT KEY IN & SHIFT IT TO ITS PROPER POSITION @]@@@@ @ @E@@@@YA )@@G@@NEWKEY: LET KEY# = KEY# +1 @ BUMP KEY NUMBER @]@@@@ YB )@@G@@ @ @E@@@@ LET IDE003 = RDT [IDT^+1]:H2 @ IDE003: ITEM SIZE YC )@@G@@@F@@@@ LET IDE004 = RDT [IDT^]:S3 @ IDE004: START BIT OF ITEMYD )@@G@@@]@@@@ @ @E@@@@ LET NUMBYTES = IDE003 / 9 @ # BYTESYE )@@G@@ IN KEY @F@@@@ LET SHIFTER = (35 - IDE004) / 9 @ # BYTES TO SYF )@@G@@HIFT RIGHT @G@@@@ REPEAT I = NUMBYTES, -1 @ COPY FROM ENDYG )@@G@@ TO BEGINNING @E@@@@COPY: FORMAT 'LET [KEY: I+SHIFTER, 9] = [KEY',DYH )@@G@@,': I, 9]' @ @@@@ WRITE COPY KEY# @F@@@@ * YI )@@G@@ @ COPY KEYN BYTE TO KEY @^@@@@ UNTIL I = YJ )@@G@@1 @]@@@@ @ @E@@@@ LET X3 = 1 @ IYK )@@G@@NDEX INTO KEY @E@@@@ LET A3 = IDE003 / 9 @ # CHARSYL )@@G@@ IN KEY @H@@@@ LET A10 = 35 - IDE004 @ 1ST BIT POSITYM )@@G@@ION (FROM 0, L TO R) @E@@@@ LET X7 = A10 @ SYN )@@G@@AVE FOR LATER @F@@@@ LET A10 = A10 / 9 @ COMPUTEYO )@@G@@ # CHARS OFFS @F@@@@ LET A3 = A3 + A10 @ ADD TO YP )@@G@@# CHARS IN THE WD @F@@@@ LET A4 = A3 \ 4 @ COMPUTEYQ )@@G@@ # CHARS REMAINING@D@@@@ LET A3 = A3 / 4 @ AND #YR )@@G@@ WORDS@D@@@@ IF A4 = 0 THEN @ NO REMAINDER @G@@@@YS )@@G@@ LET A3 = A3 - 1 @ DECREASE TO MAKE LOOP WORK YT )@@G@@@G@@@@ LET A4 = 4 @ & SET 4 CHARS IN LAST WD YU )@@G@@COUNT @#@@@@ END IF @]@@@@ @ @ @@@@ @ A3 = # CYV )@@G@@HARS IN KEY @A@@@@ @ A4 = # CHARS IN LAST WORD @F@@@@ @ THYW )@@G@@E 1ST WD OF KEY REQUIRES SPECIAL ATTENTION BECAUSE @C@@@@ @ ITYX )@@G@@ MAY NOT START ON A WORD BOUNDARY. @]@@@@ @ @E@@@@REMAIN: LET YY )@@G@@R2 = A3 @ # CHARS TO PROCESS @F@@@@ LET A6 = KYZ )@@G@@EY(X3) @ GET 1ST WD TO PROCESS @E@@@@ LET X3 = XZA )@@G@@3 + 1 @ INCREMENT POINTER @^@@@@ IF X7>0 THEN ZB )@@G@@@H@@@@ PWORD J1 35,X7 @ J-DESIG OF UNUSED BITS INZC )@@G@@ 1ST WD @E@@@@ LET A6:J1 = 0 @ CLEAR UNUSED ZD )@@G@@PART @#@@@@ END IF @ @@@@ IF R2 = 0 GOTO ONEWRD @#@@@@ZE )@@G@@ LET R3 = 1@C@@@@ LET R2 = R2 - 1 @ (JGD) ZF )@@G@@@E@@@@ IF R2 >= 0 GOTO HASH1 @ GO HASH THIS WORD @G@@@@ZG )@@G@@HASH: LET A5 = A6 @ REMAINDER FROM LAST DIVIDE ZH )@@G@@@F@@@@ LET A6 = KEY(X3) @ GET NEXT WD TO PROCESS ZI )@@G@@@E@@@@ LET X3 = X3 + 1 @ INCREMENT POINTER @F@@@@ZJ )@@G@@HASH1: LET A7 = A6 ** 1 @ LOW BIT KEYWORD TO A7 @G@@@@ZK )@@G@@ LET
= DSL A5,A6,1 @ DOUBLE SHIFT A5/A6 1 BIT RIGHT ZL )@@G@@@H@@@@ LET
= DIVIDE DIV(1),DIV(2),A2 @ 2-WORD DIVISION: A5&ZM )@@G@@A6 / A2 @G@@@@ LET A5 = DIV(2) @ LOW WORD OF IZN )@@G@@NTEGER RESULT @D@@@@ LET A6 = DIV(3) @ REMAINDZO )@@G@@ER @G@@@@ LET A6 = A6 * 2 + A7 @ 0= A2 LET A6 = A6 - A2 @ IF TOO LARGE,ZQ )@@G@@ DECREASE BY # CHAINS @F@@@@ IF R3 = 0 GOTO KEYDUN @ IZR )@@G@@F DONE WITH THIS KEY @C@@@@ LET R2 = R2 - 1 @ (ZS )@@G@@JGD) @F@@@@ IF R2 >= 0 GOTO HASH @ DO THE REST OF THE ZT )@@G@@KEY @]@@@@ @ @D@@@@ @ WE HAVE DONE ALL WORDS IN THE KEZU )@@G@@Y EXCEPT THE@D@@@@ @ LAST ONE. THIS WORD TAKES SPECIAL ATTENTION ZV )@@G@@@C@@@@ @ BECAUSE IT MAY BE A PARTIAL WORD. @]@@@@ @ ZW )@@G@@@G@@@@ LET A5 = A6 @ GET REMAINDER FROM LAST DZX )@@G@@IVIDE @D@@@@ LET A6 = KEY(X3) @ GET LAST WORD@G@@@@ZY )@@G@@ONEWRD: LET R3 = 0 @ SHOW THAT THIS IS THE LAST WORDZZ )@@G@@@F@@@@ LET
= DSL A5,A6,(4-A4)*9 @ DOUBLE SHIFT A5/A6 RIGHT AA )@@G@@@^@@@@ LET A5=DIV(1) @^@@@@ LET A6=DIV(2) @F@@@@ AB )@@G@@ GOTO HASH1 @ AND GO TO HASH FINAL WORD@]@@@@ AC )@@G@@ @ @E@@@@ @ WHEN CONTROL PASSES HERE, THE CURRENT KEY HAS AD )@@G@@@^@@@@ @ BEEN HASHED. @]@@@@ @ @C@@@@KEYDUN: LET R1 = RAE )@@G@@1 - 1 @ (JGD) @G@@@@ IF R1 < 0 GOTO ALLDUN AF )@@G@@ @ GO TO ALLDUN IF NO MORE KEYS @G@@@@ LET IDT^ = IDT^ + 3 AG )@@G@@ @ BUMP TO NEXT CALC IDT ENTRY @E@@@@ LET A5 = A6 AH )@@G@@ @ PUT RESULT IN A5 @G@@@@ GOTO NEWKEY AI )@@G@@ @ AND GO HANDLE THIS NEW KEY @]@@@@ @ @E@@@@ALLDUNAJ )@@G@@: @ ALL KEYS HAVE BEEN HASHED AND WE HAVE A VALID @D@@@@ @ CHAK )@@G@@AIN NUMBER IN A6. WE MUST COMPUTE THE PAGE@D@@@@ @ NUMBER AND THEAL )@@G@@ CHAIN NUMBER FOR THIS KEY. @]@@@@ @ @C@@@@ LET A13 = AM )@@G@@A6 \ CDE011 @ CHAIN #@C@@@@ LET A6 = A6 / CDE011 AN )@@G@@ @ PAGE # @E@@@@ IF A6 = 0 LET A6 = 1 @ IF PG = 0, USAO )@@G@@E 1 @]@@@@ @ @D@@@@ @ A6 CONTAINS A RELATIVE PAGE NUMBAP )@@G@@ER. WE MUST @D@@@@ @ MAP THIS RELATIVE PAGE # BACK INTO THE VALIDAQ )@@G@@@D@@@@ @ PAGE SPACE SUCH THAT THE PAGE WILL NOT FALL @B@@@@ AR )@@G@@ @ INTO THE INTERSPERSED OVERFLOW. @]@@@@ @ @G@@@@ IF CAS )@@G@@DE004 > 0 THEN @ WITHIN CLAUSE SPECIFIED @H@@@@ AT )@@G@@ LET A6 = A6 + (A14 * CDE009) + A15 @ PRIME IN GRP + REL PG + EXCESSAU )@@G@@@#@@@@ END IF @]@@@@ @ @H@@@@ IF A6 >= CDE009 AV )@@G@@THEN @ DOESN'T FALL INTO FIRST CONS DATA PGS@]@@@@ @ AW )@@G@@@E@@@@ @ HERE WE PERFORM THE MAPPING OF THE RELATIVE @D@@@@AX )@@G@@ @ PG NUMBERS TO A VALID PG NOT FALLING INTO @A@@@@ @ AY )@@G@@INTERSPERSED OVERFLOW. @]@@@@ @ @E@@@@ LET A7 = A6 \ AZ )@@G@@CDE009 @ # OVERGROUPS @D@@@@ LET A6 = A6 / CDE009BA )@@G@@ @ # GROUP @E@@@@ IF A7=0 LET A7 = - CDE008 @BB )@@G@@ HAVE TO BACK UP @G@@@@ LET A6 = ((CDE009 + CDE008) * A6) + ABC )@@G@@7 @ PGS IN GRP + O/F @#@@@@ END IF @]@@@@ @ @F@@@@BD )@@G@@RETURN: LET RSLT:H1 = A6 @ PAGE NUMBER SELECTED @F@@@@BE )@@G@@ LET RSLT:H2 = A13 @ CHAIN NUMBER SELECTED @]@@@@BF )@@G@@ @ @^@@@@ RETURN RSLT @]@@@@ @ @ @@@@ERR: BG )@@G@@ WRITE = ' ' @#@@@@ ERRPR,W @#@@@@ WRITE * BH )@@G@@@]@@@@ STOP_@@@@@ WRITE DIM KEY#,LEN @ CREATE BI )@@G@@"DIM" STATEMENT @F@@@@ * @ EXECUTEBJ )@@G@@ "DIM" STATEMENT @E@@@@*[S@@@*SDFF*@^@@@@ IF PH[3]:H1=0 THEN @E@@@@BK )@@G@@ WRITE = '*** THERE ARE NO SLOTS IN USE ON THIS PAGE.',* @]@@@@ RETURBL )@@G@@N @]@@@@ END IF @]@@@@ LET I=012 @#@@@@ LET V=PH[3]:H2 @]@@@@BM )@@G@@ IF V=0 THEN@^@@@@ LET V=NUMSLOTSATEND @#@@@@ LET V=PH[2]:H1-V @]@@@@BN )@@G@@ END IF @]@@@@ WHILE I@]@@@@ END IF @[@@@@ @ @A@@@@ REPEACG )@@G@@T NUM$AREAS = NUM$AREAS, -1 @ @@@@ IF AREA$(1)<>' ' THEN @#@@@@CH )@@G@@ ERROR ERRLAB @#@@@@ IF OPTS:P=1 THEN @#@@@@ AREA,PN @[@@@@CI )@@G@@ ELSE @#@@@@ AREA,N @]@@@@ END IF @]@@@@ END IF %#@@@@CJ )@@G@@-21,21 . CHG 110 @D@@[@ IF ASEQ=0 WRITE,S = ' NO AREA IS CURRCK )@@G@@ENT',*%@@@@[@[[@@@RTN: @@^@@@@ IF SCHLEV < 82 THEN @]@@@@ LET W=021 CL )@@G@@@[@@@@ ELSE @]@@@@ LET W=023 @]@@@@ END IF @^@@@@ WRITE NAME @^@@@@ WRITE CODE ART[0]:H2 @^@@@@ WRITE = C12,'MODE IS ' @^@@@@CN )@@G@@ IF ART[014]:S2 = 0 THEN@^@@@@ WRITE = 'DATA AREA',* @ @@@@ ELSE IF ARTCO )@@G@@[014]:S2 = 1 THEN @^@@@@ WRITE = 'INDEX AREA',* @[@@@@ ELSE @ @@@@ WRITECP )@@G@@ = 'POINTER AREA',* @]@@@@ END IF @E@@@@ IF ART[1]:S2 <> 0 WRITECQ )@@G@@ = C12,'AREA MAPS TO TIP FILE',* @^@@@@ WRITE ALLOC ART[010]:H1@C@@@@CR )@@G@@ IF ART[3]:B34 = 1 WRITE = ' PRE-INITIALIZED' @^@@@@ WRITE = ' PAGES',CS )@@G@@* @C@@@@ IF ART[020]:H2 <> 0 WRITE OATEND ART[020]:H2 @E@@@@ IF ARCT )@@G@@T[020]:H1 <> 0 WRITE OEVERY ART[020]:H1,ART[010]:H2 @]@@@@ WRITE = C14CU )@@G@@@B@@@@ IF ART[3]:S6 <> 0 WRITE = 'DYNAMICALLY ' @]@@@@ LET X=1 @#@@@@CV )@@G@@ REPEAT Y=1,1 @]@@@@ LET X=X*2 @#@@@@ UNTIL Y=ART[3]:S4@#@@@@ WRITECW )@@G@@ EXPAND X-1 @ @@@@ WRITE PAGLEN ART[011]:H2 @ @@@@ WRITE = C12,'LOOKCX )@@G@@S INCLUDE ' @#@@@@ LET X=ART[W+1]:S3@]@@@@ IF X=0 THEN@^@@@@ WRITE = 'NOCY )@@G@@-LOOKS' @[@@@@ ELSE @B@@@@ IF X:B0 = 1 WRITE = 'QUICK-BEFORE-LOOKS 'CZ )@@G@@@A@@@@ IF X:B1 = 1 WRITE = 'BEFORE-LOOKS '@A@@@@ IF X:B2 = 1 WRITE = 'AFDA )@@G@@TER-LOOKS ' @]@@@@ END IF @]@@@@ WRITE * @[@@@@ @ @^@@@@ WRITEDB )@@G@@ LOAD ART[W]:H1 %#@@@@-64,64 . CDM134 @B@@[@ IF ART[014]:S2 > 0 WRITDC )@@G@@E CALC ART[W]:H2 %@@@@[@B[@@@ IF ART[3]:B35 = 1 WRITE = ' LINKED PRIOR'DD )@@G@@@]@@@@ WRITE *,* @[@@@@ @ @^@@@@ UNTIL NUM$AREAS = 1 @]@@@@ RETURDE )@@G@@N @B@@@@NAME: FORMAT C8,'AREA NAME IS ',<2>F6,* @A@@@@CODE: FORMATDF )@@G@@ C12,'AREA CODE IS ',D,*@A@@@@ALLOC: FORMAT C12,'ALLOCATE ',D @C@@@@DG )@@G@@OATEND: FORMAT C14,D,' OVERFLOW PAGES AT END',* @F@@@@OEVERY: FORMAT C14DH )@@G@@,D,' OVERFLOW PAGES EVERY ',D,' DATA PAGES',* @C@@@@EXPAND: FORMAT 'EXDI )@@G@@PANDABLE TO ',D,' PAGES',* @C@@@@PAGLEN: FORMAT C14,'PAGES ARE ',D,' DJ )@@G@@WORDS',* @B@@@@LOAD: FORMAT C12,'LOAD IS ',D,' PERCENT',*@B@@@@CALC: DK )@@G@@FORMAT C12,'CALC USES ',D,' CHAINS' @#@@@@ERRLAB: ERRPR,N @[@@@@ OFF NDL )@@G@@@[@@@@ ERROR@B@@@@ IF ECODE=6 OR ECODE=8 OR ECODE=10 RETURN @#@@@@ WRITEDM )@@G@@ = R,*,*,* @#@@@@ GOTO RTN _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@#@@@@ DIMENSION M(30) @^@@@@ PARAMDO )@@G@@ETER M:'* ' @]@@@@ ERROR ERR1 @^@@@@ IF M(1)='* ' THEN @^@@@@DP )@@G@@ WRITE ALL @C@@@@ALL: FORMAT 'ALL AREAS FOR SCHEMA: ',<2>F6DQ )@@G@@,*,* @[@@@@ ELSE @#@@@@ LET I=SIZE(M) @D@@@@ WRITE = 'ALL AREAS WHOSDR )@@G@@E NAMES CONFORM TO MASK "' @#@@@@ REPEAT J=1,1 @^@@@@ WRITE BYTE DS )@@G@@[M:J,6] @#@@@@BYTE: FORMAT F1 @ @@@@ UNTIL J=I*6 OR [M:J,6]=' ' DT )@@G@@@^@@@@ WRITE MORE @C@@@@MORE: FORMAT X(-1),'" FOR SCHEMA: ',DU )@@G@@<2>F6,*,* @]@@@@ END IF @#@@@@ REPEAT I=1,1 @]@@@@ LET E=0 DV )@@G@@@]@@@@ LET T=0 @]@@@@ ERROR ERR2 @]@@@@ AREA,N #I @]@@@@RTN2: ERROR DW )@@G@@@^@@@@ MASKF , @#@@@@ IF RESULT=1 THEN @]@@@@ ERROR ERR3 DX )@@G@@@^@@@@ IF ART[3]:S6<8 THEN @]@@@@ PAGE 1 @[@@@@ ELSE @]@@@@ PAGE DY )@@G@@0 @]@@@@ END IF @]@@@@RTN3: ERROR @A@@@@ WRITE AREA ART[0]:H2, @^@@@@ IF ART[3]:S6<8 THEN @#@@@@ WRITE = ' SARP' @[@@@@EA )@@G@@ ELSE @#@@@@ WRITE = ' DARP' @]@@@@ END IF @^@@@@ IF ART[1]:S2=0 THEB )@@G@@EN @#@@@@ WRITE = ' EXEC' @[@@@@ ELSE @#@@@@ WRITE = ' TIP ' @]@@@@EC )@@G@@ END IF @^@@@@ IF E=75 AND T=021 THEN @A@@@@ WRITE = ' UNAVAILABLE: ED )@@G@@TPFREE''D' @#@@@@ ELSE IF E=75 THEN@]@@@@ WRITE I/O T@#@@@@ ELSE IF E=1EE )@@G@@0 THEN@#@@@@ WRITE FACREJ T @#@@@@ ELSE IF E=79 THEN@D@@@@ WRITE = ' UEF )@@G@@NAVAILABLE: PAGE HEADER INCONSISTENCY' @#@@@@ ELSE IF E=80 THEN@C@@@@EG )@@G@@ WRITE = ' UNAVAILABLE: AREA IS UNINITIALIZED' @ @@@@ ELSE IF E<>9 AND EH )@@G@@E<>0 THEN @#@@@@ WRITE ERROR E @ @@@@ ELSE IF PH[1]:S3**7 = 0 THEN EI )@@G@@@#@@@@ WRITE = ' DATA' @ @@@@ ELSE IF PH[1]:S3**7 = 2 THEN @#@@@@ WRITEEJ )@@G@@ = ' INDEX' @ @@@@ ELSE IF PH[1]:S3**7 = 3 THEN @^@@@@ WRITE = ' POINTEREK )@@G@@' @[@@@@ ELSE @^@@@@ WRITE = ' ?UNKNOWN?' @]@@@@ END IF @]@@@@EL )@@G@@ WRITE * @]@@@@ END IF @^@@@@ UNTIL I=SCRT[010]:H1 @]@@@@ RETUREM )@@G@@N @#@@@@ERR1: ERRPR,N @]@@@@ RETURN %#@@@@-70,70 . CDM130 EN )@@G@@@]@@[@ERR2: @ @F@@[@ IF ECODE=9 GO TO RTN2 @ FAC WARNEO )@@G@@ING IS RECOVERABLE@^@@[@ LET T=EINFO %@@@@[@][@@@ LET E=ECODEEP )@@G@@@]@@@@ AREA,PN #I @]@@@@ GOTO RTN2 @]@@@@ERR3: @ @ @@@@ IF E=0 THENEQ )@@G@@ @ NO ERROR SO FAR@]@@@@ LET T=EINFO@]@@@@ LET E=ECODE@]@@@@ END IF ER )@@G@@@]@@@@ GOTO RTN3 @ @@@@AREA: FORMAT D,':',C7,<2>F6 @B@@@@I/O: FORMAT ES )@@G@@' UNAVAILABLE: I/O ERROR ',O @C@@@@FACREJ: FORMAT ' UNAVAILABLE: FAC REET )@@G@@JECT: ',O12 @D@@@@ERROR: FORMAT ' UNAVAILABLE: GENERAL DBE ERROR ',D EU )@@G@@_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@H@@@@DATIM: FORMAT C20,'PREPARED ONEX )@@G@@ ',F2,'/',F2,'/',F2,' AT ',F2,':',F2,':',F2,* @A@@@@BARS: FORMAT C20,'EY )@@G@@I',<29>'-','I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @ @@@@EZ )@@G@@WO: FORMAT X7,O12,X9,'I ' @B@@@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'IFA )@@G@@ ' @B@@@@1WA: FORMAT X10,'''',A4,'''',X12,'I ' @^@@@@HX: FORMAT XFB )@@G@@13,WF,' ' @^@@@@HD: FORMAT D7,X6,WF,' ' @ @@@@HO: FORMAT X1,O6,X6,WF,XFC )@@G@@1 @^@@@@TX: FORMAT X8,WF,X1 @^@@@@WD: FORMAT D15,X13,'I ' @^@@@@FD )@@G@@DOT: FORMAT C12,'.' @B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*FE )@@G@@@C@@@@NWA: FORMAT X6,'''',A4,'''',C50,'I ' @^@@@@SD: FORMAT DFF )@@G@@2,X1,WF,X1 @^@@@@SO: FORMAT O2,X1,WF,X1 @^@@@@SX: FORMAT X3,WF,X1 FG )@@G@@@ @@@@ IF SCHLEV=0 THEN @ NO SCHEMA @B@@@@ WRITE = R,' NO SCHEMA ISFH )@@G@@ LOADED',* @]@@@@ RETURN @]@@@@ END IF @#@@@@ ERROR TRAP01 FI )@@G@@@ @@@@ DIMENSION AREA$CHOICE(14) @ @@@@ PARAMETER :0 FJ )@@G@@@E@@@@ IF AREA$CHOICE(1)<>0 THEN @ USER WANTS TO PICK AN AREA @^@@@@FK )@@G@@ AREA,N @C@@@@ ELSE IF ASEQ=0 THEN @ NO ARG & NO AREA CUFL )@@G@@RRENT @B@@@@ WRITE = ' NO AREA IS CURRENT',* @]@@@@ RETURN FM )@@G@@@]@@@@ END IF @D@@@@ IF SCHLEV < 82 THEN @ FINISH UP W/ PRE-8R2 FORMFN )@@G@@AT @]@@@@ ART$PRE8R2 @]@@@@ RETURN @]@@@@ END IF @B@@@@ IF TRFO )@@G@@AIN = 0 THEN @ PRODUCTION MODE AREA @]@@@@ WRITE = C8 @[@@@@ ELSE @^@@@@FP )@@G@@ WRITE = C4,'TRAINING ' @]@@@@ END IF @A@@@@ WRITE TITLE , @H@@@@TITLE: FORMAT 'AREA REFERENCE TABLE FOR AREA ',<2>WF,'FR )@@G@@ OF SCHEMA ',<2>WF,* @F@@@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIFS )@@G@@ME:NT1,TIME:NT2,TIME:NT3@]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,ART[0] FT )@@G@@@#@@@@ WRITE HX ':' @^@@@@ WRITE HD ART[0]:H2,'I' @^@@@@ WRITE = 'ARFU )@@G@@EA CODE',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 1,ART[1] @^@@@@ WRITEFV )@@G@@ SD ART[1]:S1,':' @^@@@@ WRITE SD ART[1]:S2,':' @^@@@@ WRITE SD ART[1]:SFW )@@G@@3,':' @^@@@@ WRITE HO ART[1]:H2,'I' @B@@@@ WRITE = 'ART SIZE, TIP, NAME FX )@@G@@SIZE,',* @ @@@@ WRITE = C55,'FEATURE FLAGS' @]@@@@ WRITE BARS @^@@@@FY )@@G@@ WRITE WORD 2,ART[2] @^@@@@ WRITE HD ART[2]:H1,':' @F@@@@ IF TRAIN=0 FZ )@@G@@OR ART[1]:S2=0 THEN @ STD. AREA OR TRAINING EXEC AREA @#@@@@ WRITE HX 'IGA )@@G@@' @ @@@@ WRITE = '==> ACCESS CTL',* @]@@@@ WRITE BARS @ @@@@ ELSE GB )@@G@@@ TRAINING TIP AREA @^@@@@ WRITE HD ART[2]:H2,'I' @ @@@@ WRITE = '==GC )@@G@@> ACCESS CTL,',* @ @@@@ WRITE = C55,'TIP/DMS FILE #' @]@@@@ WRITE BARS GD )@@G@@@]@@@@ END IF @^@@@@ WRITE WORD 3,ART[3] @^@@@@ WRITE SO ART[3]:SGE )@@G@@1,':' @#@@@@ WRITE TX ':' @^@@@@ WRITE SD ART[3]:S4,':' @^@@@@ WRITEGF )@@G@@ SD ART[3]:S5,':' @^@@@@ LET DARP? = ART[3]:S6 @^@@@@ WRITE SO DARP?,'IGG )@@G@@' @B@@@@ WRITE = 'DBL CALC/PREINIT PGS FLAG,',* @B@@@@ WRITE = C55GH )@@G@@,'PG BITS, REC BITS, DARP' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 4,ART[GI )@@G@@4] @^@@@@ WRITE 2WF @A@@@@ WRITE = 'AREA NAME (2 WDS FDAGJ )@@G@@TA)',*@^@@@@ WRITE WORD 5,ART[5] @]@@@@ WRITE BARS @B@@@@ IF TRAIN = GK )@@G@@0 THEN @ PRODUCTION MODE AREA @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@GL )@@G@@ WRITE BARS @ @@@@ ELSE @ TRAINING MODE AREA @^@@@@ WRITE WORD 6,ART[GM )@@G@@6] @^@@@@ WRITE 2WF @B@@@@ WRITE = 'TRNG AREA QUAL (2 WDGN )@@G@@S FDATA)',* @^@@@@ WRITE WORD 7,ART[7] @]@@@@ WRITE BARS @]@@@@ END IGO )@@G@@F @^@@@@ WRITE WORD 010,ART[010]@ @@@@ WRITE HD ART[010]:H1,':' GP )@@G@@@ @@@@ WRITE HD ART[010]:H2,'I' @#@@@@ IF DARP? THEN @B@@@@ WRITEGQ )@@G@@ = 'BOTH ENTRIES ARE # PRIME PGS',* @[@@@@ ELSE @B@@@@ WRITE = '# PRIME GR )@@G@@PGS, ''EVERY'' PGS',* @]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITEGS )@@G@@ WORD 011,ART[011]@#@@@@ WRITE HX ':' @ @@@@ WRITE HD ART[011]:H2,'IGT )@@G@@' @ @@@@ WRITE = 'PAGE SIZE (WORDS)',*@]@@@@ WRITE DOT @]@@@@ WRITEGU )@@G@@ BARS @]@@@@ WRITE SKIP @[@@@@ PAUSE@]@@@@ WRITE DOT @]@@@@ WRITE BARS GV )@@G@@@^@@@@ WRITE WORD 014,ART[014]@#@@@@ WRITE SX ':' @ @@@@ LET AREA$MOGW )@@G@@DE = ART[014]:S2 @^@@@@ WRITE SD AREA$MODE,':' @ @@@@ WRITE = C50,'I ARGX )@@G@@EA MODE (' @^@@@@ WRITE MODE AREA$MODE @^@@@@ IF AREA$MODE = 0 THEN GY )@@G@@@#@@@@ WRITE = 'DATA)',*@ @@@@ ELSE IF AREA$MODE = 1 THEN @^@@@@ WRITEGZ )@@G@@ = 'INDEX)',* @[@@@@ ELSE @^@@@@ WRITE = 'POINTER)',* @]@@@@ END IHA )@@G@@F @]@@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @]@@@@ WRITEHB )@@G@@ DOT @]@@@@ WRITE BARS @#@@@@MODE: FORMAT D,'='@A@@@@ IF DARP?=0 THEN @HC )@@G@@ SARP AREA ONLY @^@@@@ WRITE WORD 020,ART[020]@ @@@@ WRITE HD ART[020]HD )@@G@@:H1,':' @ @@@@ WRITE HD ART[020]:H2,'I' @B@@@@ WRITE = '# INTERSHE )@@G@@PERSED OFLOW PGS,',* @]@@@@ WRITE DOT @A@@@@ WRITE = C55,'# AT-END OHF )@@G@@FLOW PGS' @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@HG )@@G@@ WRITE BARS @]@@@@ END IF @^@@@@ WRITE WORD 023,ART[023]@ @@@@ WRITEHH )@@G@@ HD ART[023]:H1,':' @ @@@@ WRITE HD ART[023]:H2,'I' @B@@@@ WRITEHI )@@G@@ = 'LOAD FACTOR, # CALC CHAINS',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD HJ )@@G@@024,ART[024]@ @@@@ WRITE SD ART[024]:S1,':' @ @@@@ WRITE SD ART[024]HK )@@G@@:S2,':' @ @@@@ WRITE SD ART[024]:S3,':' @ @@@@ WRITE HD ART[024]HL )@@G@@:H2,'I' @A@@@@ WRITE = 'RSHIFT, PSHIFT, LOOKS,',* @ @@@@ WRITE = C55HM )@@G@@,'PA SET CODE' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 025,ART[025]@#@@@@HN )@@G@@ WRITE HX ':' @ @@@@ WRITE HD ART[025]:H2,'I' @A@@@@ WRITE = '==HO )@@G@@> ASCII AREA NAME',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 026,ART[026]HP )@@G@@@ @@@@ WRITE HD ART[026]:H1,':' @#@@@@ WRITE HX 'I' @A@@@@ WRITEHQ )@@G@@ = '==> TRAINING MODE ART',* @]@@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@HR )@@G@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS @B@@@@ WRITE WORD ART[02HS )@@G@@5]:H2,ART[ART[025]:H2] @D@@@@ WRITE NWA @ @@@@ WRITE = 'AREA NAME (ASCII)',*@F@@@@ IF ART[1]:S3 > 1 HU )@@G@@WRITE WORD ART[025]:H2+1,ART[ART[025]:H2+1] @]@@@@ WRITE BARS @^@@@@HV )@@G@@ IF ART[1]:S3>2 THEN @C@@@@ WRITE WORD ART[025]:H2+2,ART[ART[025]:H2+HW )@@G@@2] @^@@@@ WRITE = X(-2),' ',* @]@@@@ END IF @C@@@@ IF ART[2]:HHX )@@G@@1 <> 0 ACCESS$CNTL ART^+ART[2]:H1 @]@@@@ RETURN @#@@@@TRAP01: ERRPHY )@@G@@R,N _@@@@@@]@@@@ WRITE DOT @]@@@@ WRITE BARS @B@@@@ WRITE WORD ART[02HZ )@@G@@5]:H2,ART[ART[025]:H2] @D@@@@ WRITE NWA '-','I',* @B@@@@IC )@@G@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @ @@@@WO: FORMAT X7,O12,X9,'I ID )@@G@@' @B@@@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'I ' @B@@@@1WA: FORMAT IE )@@G@@X10,'''',A4,'''',X12,'I ' @^@@@@HX: FORMAT X13,WF,' ' @^@@@@HD: FOIF )@@G@@RMAT D7,X6,WF,' ' @ @@@@HO: FORMAT X1,O6,X6,WF,X1 @^@@@@TX: FORMAT XIG )@@G@@8,WF,X1 @^@@@@WD: FORMAT D15,X13,'I ' @^@@@@DOT: FORMAT C12,'.' IH )@@G@@@B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*@C@@@@NWA: FORMAT X6,'''II )@@G@@',A4,'''',C50,'I ' @^@@@@SD: FORMAT D2,X1,WF,X1 @^@@@@SO: FOIJ )@@G@@RMAT O2,X1,WF,X1 @^@@@@SX: FORMAT X3,WF,X1 @#@@@@ ERROR TRAP01 IK )@@G@@@ @@@@ DIMENSION AREA$CHOICE(14) @ @@@@ PARAMETER :0 IL )@@G@@@E@@@@ IF AREA$CHOICE(1)<>0 THEN @ USER WANTS TO PICK AN AREA @^@@@@IM )@@G@@ AREA,N @C@@@@ ELSE IF ASEQ=0 THEN @ NO ARG & NO AREA CUIN )@@G@@RRENT @B@@@@ WRITE = ' NO AREA IS CURRENT',* @]@@@@ RETURN IO )@@G@@@]@@@@ END IF @A@@@@ WRITE TITLE , @H@@@@TITLE:IP )@@G@@ FORMAT C8,'AREA REFERENCE TABLE FOR AREA ',<2>WF,' OF SCHEMA ',<2>WF,* IQ )@@G@@@F@@@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3IR )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,ART[0] @#@@@@ WRITE HX ':' IS )@@G@@@^@@@@ WRITE HD ART[0]:H2,'I' @^@@@@ WRITE = 'AREA CODE',* @]@@@@ WRITEIT )@@G@@ BARS @^@@@@ WRITE WORD 1,ART[1] @^@@@@ WRITE SD ART[1]:S1,':' @^@@@@IU )@@G@@ WRITE SD ART[1]:S2,':' @^@@@@ WRITE SD ART[1]:S3,':' @^@@@@ WRITE HO ARIV )@@G@@T[1]:H2,'I' @B@@@@ WRITE = 'ART SIZE, TIP, NAME SIZE,',* @ @@@@ WRITEIW )@@G@@ = C55,'FEATURE FLAGS' @]@@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@ WRITEIX )@@G@@ SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS @^@@@@ WRITE WORD 3,ART[3] IY )@@G@@@^@@@@ WRITE SO ART[3]:S1,':' @#@@@@ WRITE TX ':' @^@@@@ WRITE SD ARIZ )@@G@@T[3]:S4,':' @^@@@@ WRITE SD ART[3]:S5,':' @^@@@@ LET DARP? = ART[3]:S6 JA )@@G@@@^@@@@ WRITE SO DARP?,'I' @B@@@@ WRITE = 'DBL CALC/PREINIT PGS FLAG,JB )@@G@@',* @B@@@@ WRITE = C55,'PG BITS, REC BITS, DARP' @]@@@@ WRITE BARS JC )@@G@@@^@@@@ WRITE WORD 4,ART[4] @^@@@@ WRITE 2WF @A@@@@ WRITEJD )@@G@@ = 'AREA NAME (2 WDS FDATA)',*@^@@@@ WRITE WORD 5,ART[5] @]@@@@ WRITEJE )@@G@@ BARS @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS @^@@@@ WRITEJF )@@G@@ WORD 010,ART[010]@ @@@@ WRITE HD ART[010]:H1,':' @ @@@@ WRITE HD ARJG )@@G@@T[010]:H2,'I' @#@@@@ IF DARP? THEN @B@@@@ WRITE = 'BOTH ENTRIES AJH )@@G@@RE # PRIME PGS',* @[@@@@ ELSE @B@@@@ WRITE = '# PRIME PGS, ''EVERY'' PGSJI )@@G@@',* @]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITE WORD 011,ART[011]JJ )@@G@@@#@@@@ WRITE HX ':' @ @@@@ WRITE HD ART[011]:H2,'I' @ @@@@ WRITEJK )@@G@@ = 'PAGE SIZE (WORDS)',*@]@@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@ WRITEJL )@@G@@ SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS @^@@@@ WRITE WORD 014,ART[014]JM )@@G@@@#@@@@ WRITE SX ':' @ @@@@ LET AREA$MODE = ART[014]:S2 @^@@@@ WRITEJN )@@G@@ SD AREA$MODE,':' @ @@@@ WRITE = C50,'I AREA MODE (' @^@@@@ WRITE MODE JO )@@G@@AREA$MODE @^@@@@ IF AREA$MODE = 0 THEN @#@@@@ WRITE = 'DATA)',*@ @@@@JP )@@G@@ ELSE IF AREA$MODE = 1 THEN @^@@@@ WRITE = 'INDEX)',* @[@@@@ ELSE JQ )@@G@@@^@@@@ WRITE = 'POINTER)',* @]@@@@ END IF @]@@@@ WRITE DOT @]@@@@JR )@@G@@ WRITE BARS @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS @#@@@@JS )@@G@@MODE: FORMAT D,'='@^@@@@ WRITE WORD 021,ART[021]@ @@@@ WRITE HD ART[021]JT )@@G@@:H1,':' @ @@@@ WRITE HD ART[021]:H2,'I' @B@@@@ WRITE = 'LOAD FACJU )@@G@@TOR, # CALC CHAINS',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 022,ART[022]JV )@@G@@@ @@@@ WRITE SD ART[022]:S1,':' @ @@@@ WRITE SD ART[022]:S2,':' JW )@@G@@@ @@@@ WRITE SD ART[022]:S3,':' @ @@@@ WRITE HD ART[022]:H2,'I' JX )@@G@@@A@@@@ WRITE = 'RSHIFT, PSHIFT, LOOKS,',* @ @@@@ WRITE = C55,'PA SET CODJY )@@G@@E' @]@@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @]@@@@ WRITEJZ )@@G@@ DOT @]@@@@ WRITE BARS @^@@@@ WRITE WORD 024,ART[024]@A@@@@ WRITE NWA @ @@@@ WRITE = 'AREA NAME (ASCII)',*@B@@@@ IF ARKB )@@G@@T[1]:S3>1 WRITE WORD 025,ART[025] @]@@@@ WRITE BARS @B@@@@ IF ART[1]:SKC )@@G@@3>2 WRITE WORD 026,ART[026] @]@@@@ WRITE * @]@@@@ RETURN @#@@@@KD )@@G@@TRAP01: ERRPR,N _@@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@ WRITE BARS KE )@@G@@*[S@@@*SDFF*@B@@@@ LET = _@@@@@@@@@@@KF )@@G@@@@@@@@ WRITE = 'AREA NAME (ASCII)',*@B@@@@ IF ART[1]:S3>1 WRITE WORD 025KG )@@G@@,ART[025] @]@@@@ WRITE*[S@@@*SDFF*@A@@@@ DIMENSION STRING(22),BREAK$PKKH )@@G@@T(3) @F@@@@ PARAMETER STRING,DCHR:0770077007700,NO$OF$BYTES:0,BREAK$PKTKI )@@G@@:0 @ @@@@ LET STRING$SIZE=SIZE(STRING) @C@@@@ IF STRING$SIZE=1 OR DCHKJ )@@G@@R=0770077007700 THEN @B@@@@ WRITE = R,' PARAMETER ERROR(S)',* KK )@@G@@@]@@@@ RETURN @]@@@@ END IF @A@@@@ LET STRING$SIZE = STRING$SIZEKL )@@G@@ * 6 @B@@@@ DIMENSION SUBSTRING(1 + NO$OF$BYTES / 6) @^@@@@ LET =' ' @^@@@@ LET IN^ = BREAK$PKT(1) @]@@@@ LET OUT^=0 @]@@@@ ERRPRKN )@@G@@,N -1 @]@@@@ ERROR ERROR@^@@@@ LET BYTE=[STRING:IN^,6]@H@@@@ LET OK? = BKO )@@G@@YTE<>DCHR:S1 AND BYTE<>DCHR:S2 AND BYTE<>DCHR:S3 AND BYTE<>DCHR:S4@D@@@@KP )@@G@@ LET OK? = OK? AND BYTE<>DCHR:S5 AND BYTE<>DCHR:S6 @#@@@@ WHILE OK? DKQ )@@G@@O @ @@@@ IF OUT^ < NO$OF$BYTES THEN @^@@@@ LET OUT^ = OUT^ + 1 KR )@@G@@@ @@@@ LET [SUBSTRING:OUT^,6]=BYTE @]@@@@ END IF @#@@@@ LET IN^ = IKS )@@G@@N^ + 1@ @@@@ LET BYTE = [STRING:IN^,6] @H@@@@ LET OK? = BYTE<>DCHR:S1KT )@@G@@ AND BYTE<>DCHR:S2 AND BYTE<>DCHR:S3 AND BYTE<>DCHR:S4@D@@@@ LET OK? = OKU )@@G@@K? AND BYTE<>DCHR:S5 AND BYTE<>DCHR:S6 @]@@@@ END WHILE @^@@@@ERROR:KV )@@G@@ IF ECODE=51 THEN @]@@@@ LET IN^=-2 @]@@@@ LET BYTE=0 @^@@@@ ELSE IF ECOKW )@@G@@DE<>-1 THEN @[@@@@ ERRPR@]@@@@ RETURN @]@@@@ END IF @^@@@@ LET BKX )@@G@@REAK$PKT(1)=IN^+1 @^@@@@ LET BREAK$PKT(2)=BYTE @^@@@@ LET BREAK$PKT(3)=KY )@@G@@OUT^ @^@@@@ RETURN _@@@@@ END IF @#@@@@ LET IN^ = IKZ )@@G@@*[S@@@*SDFF*@B@@@@ AXR$ . @[@@@@. LA )@@G@@@B@@@@CDE004 $EQUF 1 . @B@@@@CDE005 $EQUF LB )@@G@@ 2 . @B@@@@CDE006 $EQUF 3 . LC )@@G@@@B@@@@CDE007 $EQUF 4 . @B@@@@CDE008 $EQUF LD )@@G@@ 5 . @B@@@@CDE009 $EQUF 6 . LE )@@G@@@B@@@@CDE010 $EQUF 7 . @B@@@@CDE011 $EQUF LF )@@G@@ 8 . @B@@@@CDE012 $EQUF 9 . LG )@@G@@@[@@@@. @B@@@@IDE001 $EQUF 0 . @B@@@@IDE002LH )@@G@@ $EQUF 1 . @B@@@@IDE003 $EQUF 2 LI )@@G@@ . @B@@@@IDE004 $EQUF 3 . @B@@@@IDE005LJ )@@G@@ $EQUF 4 . @[@@@@. @[@@@@$(0) .@[@@@@CDE* .LK )@@G@@@B@@@@ $RES 2 . @C@@@@ + LL )@@G@@ 0 . CDE001: @C@@@@ + 0 LM )@@G@@ . CDE002: @E@@@@ + 1 . . . CDE012: # CALCLN )@@G@@ KEYS @C@@@@ + 0 . CDE020: @]@@@@CDEX* LO )@@G@@. @F@@@@ + 0 . CDE003: SCHEMA AREA LP )@@G@@CODE @G@@@@ + 0 . . . CDE004: LOWER BOUND LQ )@@G@@PG NUMBER @G@@@@ + 0 . . . CDE005: UPPER LR )@@G@@BOUND PG NUMBER @E@@@@ + 0 . CDE006: LS )@@G@@TYPE AREA @F@@@@ + 04230 . . . CDE007: ALLOCALT )@@G@@TED PAGES @G@@@@ + 1 . . . CDE008: SPACEDLU )@@G@@ OVERFLOW PAGES @F@@@@ + 023 . . . CDE009: LV )@@G@@EVERY DATA PAGES @G@@@@ + 074 . . . CDE010: LW )@@G@@AT END OVERFLOW PAGES @G@@@@ + 1 . . . CDLX )@@G@@E011: NUMBER OF CALC CHAINS @[@@@@. @B@@@@ $ASCII LY )@@G@@ . @]@@@@IDE1* . @B@@@@ $RES 2 LZ )@@G@@ . @E@@@@ + 0 . IDE001: RECORDMA )@@G@@ CODE @E@@@@ + 0 . IDE002: ITEM CODE MB )@@G@@@E@@@@ + 077 . . . IDE003: ITEM SIZE @F@@@@MC )@@G@@ + 032 . . . IDE004: START BIT OF ITEM @F@@@@MD )@@G@@ '-085367 ' . . . IDE005: START OF ITEM TEXT@[@@@@ME )@@G@@. @]@@@@IDE2* . @B@@@@ $RES 2 . MF )@@G@@@E@@@@ + 0 . IDE001: RECORD CODE @E@@@@MG )@@G@@ + 0 . IDE002: ITEM CODE @E@@@@ MH )@@G@@ + 2*9 . IDE003: ITEM SIZE @F@@@@ + MI )@@G@@ 35 . IDE004: START BIT OF ITEM @F@@@@ '0MJ )@@G@@4--' . IDE005: START OF ITEM TEXT@[@@@@. @]@@@@MK )@@G@@IDE3* . @B@@@@ $RES 2 . @E@@@@ ML )@@G@@ + 0 . IDE001: RECORD CODE @E@@@@ + MM )@@G@@ 0 . IDE002: ITEM CODE @E@@@@ + MN )@@G@@ 2*9 . IDE003: ITEM SIZE @F@@@@ + 35 MO )@@G@@ . IDE004: START BIT OF ITEM @F@@@@ '10--' MP )@@G@@ . IDE005: START OF ITEM TEXT@[@@@@. @B@@@@PARAMS + MQ )@@G@@ IDE1 . @B@@@@ + IDE2 MR )@@G@@ . @B@@@@ + IDE3 . @[@@@@$(1) .@]@@@@MS )@@G@@START . @C@@@@ SLJ TON$ . SNOOPY @[@@@@MT )@@G@@. @E@@@@ L A0,(1,PARAMS) . POINT TO PARAM AREA MU )@@G@@@D@@@@ L X2,(1,CDE) . POINT TO CDE @G@@@@ MV )@@G@@ L X4,(9,CDEX) . POINT TO CDE ENTRY FOR THIS AREA@F@@@@MW )@@G@@ L X3,0,*A0 . POINT TO FIRST IDE ENTRY @B@@@@MX )@@G@@ LXI,U X3,1 . @[@@@@. @G@@@@ LMMY )@@G@@J X11,ALCALC$$ . GO TO "ALCALC" ALTERNATE ENTRY @F@@@@ MZ )@@G@@ L$SNAP $CFS('A6/A13'),2,0,$ . DUMP A6=PAGE, A13=CHAIN@B@@@@ NA )@@G@@ ER EXIT$ . @B@@@@ $END START NB )@@G@@ . _@@@@@ LXI,U X3,1 . @[@@@@. NC )@@G@@@G@@@@ LMJ X11,ALCALC$$ . GO TO "ALCALC" ALTERNATE END )@@G@@*[S@@@*SDFF*%^@@@@-1,1 . CHG 109 @A@@[@ PARAMETER INTERVAL:1, RNE )@@G@@EQHIPG:0 %@@@@[@C[@@@ LET NUMCHAINS = ART[023]:H2 @ # CALC CHAINS NF )@@G@@@B@@@@ LET HICHAIN = NUMCHAINS - 1 @ HI CHAIN # %^@@@@-4,4 . CHG 10NG )@@G@@9 %@@@@[@A[@@@ IF ART[3]:S6 < 010 THEN @ SARP @ @@@@ LET NUMPRIMNH )@@G@@E = ART[010]:H1 @]@@@@ ELSE @ DARP@ @@@@ LET NUMPRIME = P0[012]:H2 - 1NI )@@G@@@]@@@@ END IF %^@@@@-10,11 . CHG 109 @H@@[@ IF REQHIPG > NUMPNJ )@@G@@RIME LET REQHIPG = NUMPRIME @ REQUESTED TOO HIGH, LOWER IT @A@@[@ LET NNK )@@G@@UMPGS = REQHIPG / INTERVAL %@@@@]@A[@@@ DIM COUNT (NUMPGS, NUMCHAINS NL )@@G@@+ 1) @D@@@@ LET LASTPG = NUMPGS * INTERVAL @ LAST PAGE TO PROCESS@A@@@@NM )@@G@@ REPEAT PG# = INTERVAL, INTERVAL @]@@@@ PAGE #PG# @B@@@@ LET BASEDBPNN )@@G@@ = ENCODE (ACODE, PGNUM, 0) @^@@@@ REPEAT CHAIN# = 0, 1 @B@@@@ LET LNO )@@G@@ = 0 @ LENGTH FOR THIS CHN THIS PG @ @@@@ LET NEXTDBP = CSLOT [CHAIN#] NP )@@G@@@A@@@@ IF NEXTDBP <> 0 THEN @ CHAIN IN USE@A@@@@ LET HEADDBP = BASEDBP +NQ )@@G@@ CHAIN# @ @@@@ REPEAT @ LOOP THRU CHAIN @B@@@@ FIND,N NEXTDBP @ NR )@@G@@GET NEXT RECORD ON CHAIN@#@@@@ REC PAGE[$]:NT1 @A@@@@ LET L = L + 1 @ BNS )@@G@@UMP CHAIN LENGTH @D@@@@ LET NEXTDBP = PAGE [$+RDT[5]:H2-1] @ NEXT CALC NT )@@G@@PTR @D@@@@ UNTIL NEXTDBP = HEADDBP @ STOP WHEN BACK TO HEAD @A@@@@NU )@@G@@ PAGE #PG# @ GO BACK TO PRIME PG @B@@@@ LET COUNT(PG#/INTERVAL, CHAINNV )@@G@@#+1) = L @]@@@@ END IF @A@@@@ IF OPTS:L WRITE REPT PGNUM,CHAIN#,LNW )@@G@@@A@@@@ UNTIL CHAIN# = HICHAIN @ ALL CHAINS@B@@@@ UNTIL PG# = LASTPG @ ALNX )@@G@@L PGS REQUESTED @D@@@@REPT: FORMAT 'PAGE: ',D,', CHAIN: ',D,', LENGTH:NY )@@G@@ ',D,*@]@@@@ DIM R(1) @#@@@@ IF MODE=0 THEN @]@@@@ WRITE = *,*@]@@@@NZ )@@G@@ REPEAT @E@@@@ TREAD 'DO YOU WISH A DETAILED PAGE DISPLAY (Y/N)?', @^@@@@ IF R(1):S1='N' RETURN @#@@@@ UNTIL R(1):S1='Y'@C@@@@ WRITEOB )@@G@@ = *,*,'ENTER A NULL INPUT TO HALT',* @#@@@@LOOP: ERROR ERRLAB@]@@@@OC )@@G@@ REPEAT @B@@@@ TREAD 'ENTER MINIMUM CHAIN LENGTH:',X @B@@@@ TREADOD )@@G@@ 'ENTER MAXIMUM CHAIN LENGTH:',Y @]@@@@ UNTIL X<=Y @[@@@@ ERROR@A@@@@OE )@@G@@ @ LET =RANGE(,X,Y+1) @#@@@@ @ IF R(1)=0 THEN@D@@@@ @ WROF )@@G@@ITE = 'NO CALC CHAINS EXIST IN THAT RANGE',* @#@@@@ @ GOTO LOOP OG )@@G@@@]@@@@ @ END IF @]@@@@ END IF @]@@@@ LET K=0 @H@@@@ WRITE = *,*OH )@@G@@,*,C15,'FORMAT BELOW IS //',*,*,* @#@@@@OI )@@G@@ REPEAT I=1,1 @#@@@@ REPEAT J=1,1 @B@@@@ IF COUNT(I,J)>=X AND COOJ )@@G@@UNT(I,J)<=Y THEN @B@@@@ WRITE PAGE I*INTERVAL,J-1,COUNT(I,J) @A@@@@OK )@@G@@PAGE: FORMAT C(1+20*K),D,'/',D,'/',D@]@@@@ LET K=K+1 @]@@@@ IF K=4 THENOL )@@G@@@]@@@@ WRITE * @]@@@@ LET K=0 @]@@@@ END IF @]@@@@ END IF OM )@@G@@@#@@@@ UNTIL J=NUMCHAINS@#@@@@ UNTIL I=NUMPGS @#@@@@ IF K<>0 WRITE * ON )@@G@@@]@@@@ WRITE = *,*@^@@@@ IF MODE=0 GOTO LOOP @]@@@@ RETURN @ @@@@OO )@@G@@ERRLAB: IF ECODE=27 RETURN @[@@@@ ERRPR@]@@@@ RETURN _@@@@@@@@@@@OP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@[@@@@*FRT .OR )@@G@@@#@@@@-1,111 . CDM146 @#@@@@ ERROR TRAP01 @D@@@@ IF SCHLEV=0 WRITEOS )@@G@@,R = ' NO SCHEMA IS LOADED',* @^@@@@ PARAMETER FRT#:FSEQ @H@@@@OT )@@G@@ IF FRT#<1 OR FRT# > SCRT[013]:H1 WRITE,R = ' INVALID FEATURE NUMBEOU )@@G@@R',* @#@@@@ FEATURE # FRT# @[@@@@ @ @ @@@@ WRITE TITLE FRT#, @G@@@@TITLE: FORMAT C10,'FEATURE REFERENCE TABLE #',D,' FOR SCHEMAOW )@@G@@ ',<2>WF,* @F@@@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:OX )@@G@@NT2,TIME:NT3@H@@@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' ATOY )@@G@@ ',F2,':',F2,':',F2,* @]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'I',<29OZ )@@G@@>'-','I',* @[@@@@ @ @^@@@@ WRITE WORD 0,FRT[0] @B@@@@WORD: FORMATPA )@@G@@ '[',O,']',C7,O12,X1,'I ' @#@@@@ WRITE HX ':' @^@@@@HX: FORMAT XPB )@@G@@13,WF,' ' @^@@@@ WRITE HD FRT[0]:H2,'I' @^@@@@HD: FORMAT D7,X6,WF,X1 PC )@@G@@@ @@@@ WRITE = 'FEATURE NUMBER',* @]@@@@ WRITE BARS @[@@@@ @ @^@@@@PD )@@G@@ WRITE WORD 1,FRT[1] @^@@@@ WRITE SD FRT[1]:S1,':' @^@@@@SD: FORMAT DPE )@@G@@2,X1,WF,X1 @#@@@@ WRITE TX ':' @^@@@@TX: FORMAT X8,WF,X1 @^@@@@PF )@@G@@ WRITE HO FRT[1]:H2,'I' @ @@@@HO: FORMAT X3,O6,X4,WF,X1 @B@@@@ WRITEPG )@@G@@ = 'ENTRY SIZE, FEATURE FLAGS',* @]@@@@ WRITE BARS @[@@@@ @ @^@@@@PH )@@G@@ WRITE WORD 2,FRT[2] @^@@@@ WRITE HD FRT[2]:H1,':' @#@@@@ WRITE HX 'IPI )@@G@@' @B@@@@ WRITE = 'DBP DEFN. TABLE SIZE (WDS)',* @]@@@@ WRITE BARS PJ )@@G@@@[@@@@ @ @^@@@@ WRITE WORD 3,FRT[3] @#@@@@ WRITE WD FRT[3] @^@@@@PK )@@G@@WD: FORMAT D15,X13,'I ' @A@@@@ WRITE = 'DBP DEFN. TABLE SECTOR',* @]@@@@PL )@@G@@ WRITE BARS @[@@@@ @ @D@@@@ IF FRT[0]:H2 = 1 THEN @ DESCRIBPM )@@G@@ES THE DBPDT@^@@@@ LET FRTTYP = 'DBPDT' @G@@@@ ELSE IF FRT[0]:H2 > 010PN )@@G@@000 THEN @ DESCRIBES A RECORD FEATURE TABLE @^@@@@ LET FRTTYP = 'RPO )@@G@@FT' @[@@@@ ELSE @H@@@@ LET FRTTYP = 'GED' @ DESCRIBES A GPP )@@G@@LOBAL ENCODE/DECODE TABLE @]@@@@ END IF @[@@@@ @ @ @@@@ IF FRPQ )@@G@@TTYP = 'DBPDT' THEN @^@@@@ WRITE TITLE2 FRT[3] @F@@@@TITLE2: FORMPR )@@G@@AT *,C17,'DATA BASE PROCEDURE DEFINITION TABLE',*,* @]@@@@ WRITE BARS PS )@@G@@@[@@@@ @ @^@@@@ WRITE WORD 0,DBPDT[0] @#@@@@ WRITE WO DBPDT[0]@ @@@@PT )@@G@@WO: FORMAT X7,O12,X9,'I ' @^@@@@ WRITE = 'CHECKSUM',* @]@@@@ WRITEPU )@@G@@ BARS @[@@@@ @ @^@@@@ WRITE WORD 1,DBPDT[1] @ @@@@ WRITE HD DBPDT[1]PV )@@G@@:H1,':' @ @@@@ WRITE HD DBPDT[1]:H2,'I' @B@@@@ WRITE = '# OF ENTPW )@@G@@RIES, IDENTIFIER',* @]@@@@ WRITE BARS @[@@@@ @ @]@@@@ LET BASE=2 PX )@@G@@@#@@@@ REPEAT I=1,1 @[@@@@ PAUSE@#@@@@ WRITE ENTRY I @A@@@@ENTRY:PY )@@G@@ FORMAT *,C30,'ENTRY #',D,*,* @]@@@@ WRITE BARS @[@@@@ @ @ @@@@ WRITEPZ )@@G@@ WORD 0,DBPDT[BASE+0] @A@@@@ WRITE 2WF @B@@@@QA )@@G@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'I ' @A@@@@ WRITE = 'DBP NAME (2 WDQB )@@G@@S, FDATA)',*@ @@@@ WRITE WORD 1,DBPDT[BASE+1] @]@@@@ WRITE BARS @[@@@@QC )@@G@@ @ @ @@@@ WRITE WORD 2,DBPDT[BASE+2] @ @@@@ WRITE SD DBPDT[BASE+2]:QD )@@G@@S1,':'@ @@@@ WRITE SD DBPDT[BASE+2]:S2,':'@#@@@@ WRITE SX ':' @^@@@@QE )@@G@@SX: FORMAT X3,WF,X1 @ @@@@ WRITE HO DBPDT[BASE+2]:H2,'I'@B@@@@ IF DBQF )@@G@@PDT[BASE+2]:S1=0 THEN @ DBP IN PGM @B@@@@ WRITE = 'PLACE, TYPE, PGM BDIQG )@@G@@ INDEX',* @[@@@@ ELSE @A@@@@ WRITE = 'PLACE, TYPE, IBANK BDI',* @]@@@@QH )@@G@@ END IF @]@@@@ WRITE BARS @[@@@@ @ @ @@@@ WRITE WORD 3,DBPDT[BASEQI )@@G@@+3] @ @@@@ WRITE HD DBPDT[BASE+3]:H1,':'@ @@@@ WRITE HO DBPDT[BASE+3]:QJ )@@G@@H2,'I'@B@@@@ WRITE = 'DBP ENT PT #, DBANK BDI BASE',* @]@@@@ WRITE BARS QK )@@G@@@[@@@@ @ @ @@@@ WRITE WORD 4,DBPDT[BASE+4] @ @@@@ WRITE HO DBPDT[BAQL )@@G@@SE+4]:H1,':'@#@@@@ WRITE HX 'I' @ @@@@ WRITE = 'DBP DRU DBANK BDI',*QM )@@G@@@]@@@@ WRITE BARS @[@@@@ @ @#@@@@ LET BASE=BASE+5 @^@@@@ UNTIL I=DBPQN )@@G@@DT[1]:H1 @#@@@@ END IF @ DBPDT @[@@@@ @ @]@@@@ RETURN @#@@@@QO )@@G@@TRAP01: ERRPR,N _@@@@@P DRU DBANK BDI',*@]@@@@ WRITE BARS @[@@@@ @ QP )@@G@@@#@@@@ LET BASE=BASE+5 @^@@@@ UNTIL I=DBPDT[1]:H1 @#@@@@ END IF @ DBQQ )@@G@@*[S@@@*SDFF*@#@@@@ EXPLAIN COMMANDS _@@@@@C]@@@ @]M@B4@]L@]L@@@@Y@@@@@@@QR )@@G@@@@@@@@FORMAT C(1+20*K),D,'/',D,'/',D@]@@@@ LET K=K+1 @]@@@@ IF K=4 THENQS )@@G@@@]@@@@ WRITE * @]@@@@*[S@@@*SDFF*@#@@@@ DIMENSION X(10) @#@@@@ PARAMQT )@@G@@ETER V:$ @]@@@@ ERROR MISC @#@@@@ IF ASEQ=0 THEN @B@@@@ WRITE = ' NO AREA IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF @#@@@@QV )@@G@@ IF PGNUM<0 THEN @B@@@@ WRITE = ' NO PAGE IS CURRENT',* @]@@@@QW )@@G@@ RETURN @]@@@@ END IF @^@@@@ IF PH[1]:S3**7>1 THEN @C@@@@ WRITEQX )@@G@@ = ' THIS AREA IS NOT A DATA AREA',*@]@@@@ RETURN @]@@@@ END IQY )@@G@@F @[@@@@ ON B @^@@@@ RECORD PAGE[V]:NT1 @#@@@@ LET W=V+RDT[5]:H2QZ )@@G@@@]@@@@ WRITE = * @ @@@@ LET C=PAGE[V]:H2 - RDT[5]:H2 @ @@@@ IF PAGE[V]:RA )@@G@@B22=1 LET C=C-1 @^@@@@ LET F=RDT[012]:B29 @^@@@@ IF OPTS:F=1 LET FRB )@@G@@=1 @^@@@@ IF OPTS:A=1 LET F=0 @]@@@@ IF F=0 THEN@ @@@@ WDDUMP,OA ,W @[@@@@ ELSE @ @@@@ WDDUMP,OF ,W @]@@@@RD )@@G@@ END IF %#@@@@-30,30 . CHG 105 @]@@[@ 0+V PAGE %@@@@[@[[@@@ OFF BRE )@@G@@@]@@@@ RETURN @#@@@@MISC: ERRPR,N @[@@@@ OFF B_@@@@@@@@@@@@@@@@@RF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@A@@@@ DIMENSION F(10),X(2),A(12),D(RH )@@G@@1) @[@@@@ @ @A@@@@ @ F: FILENAME FOR DOCUMENT FILE@^@@@@ @ X: RI )@@G@@ TREAD INPUT @B@@@@ @ A: CSF$ IMAGE/PUT IMAGE BUFFER @^@@@@RJ )@@G@@ @ D: @SYM DEVICE @[@@@@ @ @ @@@@ PARAMETER N:1,:'PR ' RK )@@G@@@]@@@@ ERROR ABORT@^@@@@ IF N<1 OR N>63 THEN @C@@@@ WRITE = 'RL )@@G@@ COPY COUNT MUST BE 1-63',* @]@@@@ RETURN @]@@@@ END IF @]@@@@RM )@@G@@ IF N=1 THEN@#@@@@ LET W='COPY' @[@@@@ ELSE @#@@@@ LET W='COPIES' RN )@@G@@@]@@@@ END IF @]@@@@ LET I=OPTS @]@@@@ LET I:U=0 @]@@@@ LET I:T=0 RO )@@G@@@]@@@@ LET I:P=0 @F@@@@ IF I<>0 WRITE = ' EXCESS OPTIONS SPECIFRP )@@G@@IED...IGNORED',* @ @@@@ LET I=OPTS:U+OPTS:T+OPTS:P @]@@@@ IF I>1 THENRQ )@@G@@@E@@@@ WRITE = ' PLEASE SPECIFY ONLY A SINGLE DOCUMENT',* @]@@@@RR )@@G@@ RETURN @^@@@@ ELSE IF OPTS:U=1 THEN @ @@@@ LET ='DBE*USERS-GUIDRS )@@G@@E.' @#@@@@ LET ='USERS' @#@@@@ LET G='GUIDE' @^@@@@ ELSE IF OPTRT )@@G@@S:T=1 THEN @ @@@@ LET ='DBE*TECH-GUIDE.' @^@@@@ LET ='TECHNICARU )@@G@@L' @#@@@@ LET G='GUIDE' @^@@@@ ELSE IF OPTS:P=1 THEN @^@@@@ LET ='DBE*PRM.' @#@@@@ LET ='PRM' @]@@@@ LET G=0 @[@@@@ ELSE RW )@@G@@@]@@@@ REPEAT @G@@@@ TREAD 'DESIRED DOCUMENT? (U)SERS GUIDE, (T)ECH RX )@@G@@GUIDE, (P)RM: ', @C@@@@ UNTIL X(1):S1='U' OR X(1):S1='T' OR X(1):RY )@@G@@S1='P'@^@@@@ IF X(1):S1='U' THEN @ @@@@ LET ='DBE*USERS-GUIDE.' RZ )@@G@@@#@@@@ LET ='USERS' @#@@@@ LET G='GUIDE' @ @@@@ ELSE IF X(1):S1='SA )@@G@@P' THEN @^@@@@ LET ='DBE*PRM.' @#@@@@ LET ='PRM' @]@@@@SB )@@G@@ LET G=0 @[@@@@ ELSE @ @@@@ LET ='DBE*TECH-GUIDE.' @^@@@@ LET ='TECHNICAL' @#@@@@ LET G='GUIDE' @]@@@@ END IF @]@@@@ END ISD )@@G@@F @ @@@@ LET ='@USE DBE$DF,' @#@@@@ LET = @#@@@@SE )@@G@@ LET I=CSF() @ @@@@ LET I=CSF('@ASG,A DBE$DF.') @]@@@@ IF I<0 THENSF )@@G@@@#@@@@ WRITE REJECT I @H@@@@REJECT: FORMAT ' REQUESTED DOCUMENSG )@@G@@T IS NOT AVAILABLE, STATUS: ',O12,* @]@@@@ RETURN @]@@@@ END IF SH )@@G@@@B@@@@ OPEN SDFO DBEDOC=TPF$.DBE$DOC$/ADD$ELT$ @F@@@@ PUT DBEDOC '@CAT,SI )@@G@@P DBE$DOC$SYM(+1).,///999','@ASG,A DBE$DOC$SYM.'@B@@@@ PUT DBEDOC '@COPYSJ )@@G@@ DBE$DF.,DBE$DOC$SYM.' @#@@@@ WRITE RUNID RUNID@D@@@@RUNID: FORMAT R,'@SK )@@G@@DMS*UTIL.ALTER DBE$DOC$SYM.,',F6 @#@@@@ PUT DBEDOC * @A@@@@ PUT DSL )@@G@@BEDOC '@FREE DBE$DOC$SYM.' @#@@@@ WRITE SYM N, @C@@@@SYM: FORMAT SM )@@G@@R,'@SYM DBE$DOC$SYM.,',D,',',F6 @#@@@@ PUT DBEDOC * @#@@@@ CLOSESN )@@G@@ DBEDOC @]@@@@ LET I=1 @#@@@@ IF G=0 LET I=0 @ @@@@ WRITE FINALSO )@@G@@ N,W,,G, @H@@@@FINAL: FORMAT R,D,' ',WF,' OF THE DBE ',<2>WF,X(SP )@@G@@I),WF,' WILL BE SENT TO ',WF @^@@@@ WRITE FINAL2 RUNID @A@@@@FINAL2SQ )@@G@@: FORMAT ' UNDER THE ID ',WF,*@A@@@@ LET I=CSF('@ADD DBE$DOC$/ADD$ELT$')SR )@@G@@@]@@@@ RETURN @]@@@@ABORT: ERROR@]@@@@ ERRPR,N @#@@@@ CLOSE DBEDOSS )@@G@@C _@@@@@ IF G=0 LET I=0 @ @@@@ WRITE FINAL N,W,,G, @H@@@@ST )@@G@@FINAL: FORMAT R,D,' ',WF,' OF THE DBE ',<2>WF,X(I),WF,' WILL BE SENT TO SU )@@G@@*[S@@@*SDFF*@#@@@@ RUN DBEGEN,,RIZZ @^@@@@ BRKPT PRINT$/DBE-PRINT @C@@@@SV )@@G@@ SSG DBE2.SYSINIT,,,,,,SGS/1,TPF$$/PDG.SPECS/COV@#@@@@ SSG DBE2.SYSGEN SW )@@G@@@[@@@@ SGS @B@@@@ . GENERATE QUAL: DBE-001,DBE-002,DBE-008 @ @@@@ GENERSX )@@G@@ATE COV: ALL MODULES . @E@@@@ . GENERATE COV: ALL MODULES WITH TEMPORARSY )@@G@@Y CORRECTIONS . @H@@@@ . GENERATE COV: DBE-001,DBE-002,DBE-003,DBE-004SZ )@@G@@,DBE-005,DBE-006,DBE-007,; . @H@@@@ . DBE-008,DBE-009,DBETA )@@G@@-010,DBE-011,DBE-012,DBE-013,DBE-999 . @[@@@@ FIN _@@@@@@[@@@@ ELSE TB )@@G@@*[S@@@*SDFF*@^@@@@ DIMENSION A(4),B(3) @A@@@@ PARAMETER :'@@@@@@',TC )@@G@@P:-1,R:-1 @^@@@@ IF P=-1 AND R=-1 THEN @#@@@@ IF A(1)=0 THEN @B@@@@TD )@@G@@ WRITE = ' NO PARAMETERS SUPPLIED',* @]@@@@ RETURN @[@@@@ ELSE TE )@@G@@@#@@@@ ERROR ERR002 @A@@@@ IF A(1):S1='O' LET A(1):S1='0' @#@@@@TF )@@G@@ LET A(4)=A(3) @#@@@@ LET A(3)=A(2) @#@@@@ LET A(2)=A(1) @#@@@@TG )@@G@@ LET A(1)=' 0'@#@@@@ LET I=VALUE() @#@@@@ ERROR ERR001 @#@@@@TH )@@G@@ LET =DECODE(I)@#@@@@ AREA,PN B(1) @B@@@@ WRITE INFO ,ACTI )@@G@@ODE,B(2),B(3) @G@@@@INFO: FORMAT 'AREA: ',<2>F6,' (',D,') PAGE: ',TJ )@@G@@D,' RECORD/SLOT: ',D,*@]@@@@ END IF @ @@@@ ELSE IF R<>-1 AND P<>-1TK )@@G@@ THEN @#@@@@ ERROR ERR001 @^@@@@ IF A(1)<>0 AREA,P @^@@@@ LET ITL )@@G@@=ENCODE(ACODE,P,R)@#@@@@ WRITE DBPDBK I @C@@@@DBPDBK: FORMAT 'DATABASETM )@@G@@ KEY/POINTER = ',O12,* @[@@@@ ELSE @B@@@@ WRITE = ' INVALID PARAMETN )@@G@@TER(S)',* @]@@@@ END IF @]@@@@ RETURN @#@@@@ERR001: ERRPR,N TO )@@G@@@]@@@@ RETURN @F@@@@ERR002: WRITE = ' DATABASE KEY/POINTER CANNTP )@@G@@OT BE DECODED',* @]@@@@ RETURN _@@@@@ LET I=ENCODE(ACODE,P,R)@#@@@@TQ )@@G@@ WRITE DBPDBK I @C@@@@DBPDBK: FORMAT 'DATABASE KEY/POINTER = ',O12,* TR )@@G@@@[@@@@ ELSE @B@@@@ WRITE*[S@@@*SDFF*@#@@@@ PARAMETER E$PARAM@H@@@@ LET RTS )@@G@@ESULT$=1 @ ASSUME ROUTINE GOES WITHOUT ERROR TT )@@G@@@[@@@@ @ @C@@@@ IF OPTS:D THEN @ DBP @ @@@@TU )@@G@@ LET DBP^ = 5 * E$PARAM - 3 @A@@@@ WRITE DBPNM TV )@@G@@@^@@@@DBPNM: FORMAT <2>WF @[@@@@ @ @C@@@@ ELSE IF OPTS:A THEN TW )@@G@@ @ AREA @A@@@@ IF E$PARAM <> 0 AREA,PN E$PARAM @^@@@@TX )@@G@@ WRITE AREANM @^@@@@AREANM: FORMAT <2>WF @[@@@@ @ @C@@@@TY )@@G@@ ELSE IF OPTS:S THEN @ SET @ @@@@ IF E$PARAM <> 0 STZ )@@G@@ET E$PARAM @A@@@@ WRITE SETNM @ @@@@SETNM: FORMAUA )@@G@@T WA @[@@@@ @ @C@@@@ ELSE IF OPTS:R THEN UB )@@G@@ @ RECORD @A@@@@ IF E$PARAM <> 0 RECORD E$PARAM @A@@@@ WRITE RECNMUC )@@G@@ @ @@@@RECNM: FORMAT WA @[@@@@ @ UD )@@G@@@C@@@@ ELSE IF OPTS:I THEN @ ITEM @#@@@@ ERROR NOITEUE )@@G@@M @F@@@@ REPEAT INT^ = 3, INT[INT^]:H1 @ LOOP THRU INT ENTUF )@@G@@RIES @H@@@@ UNTIL INT[INT^+1]:H1 = E$PARAM OR INT[INT^]:H1=0 @ UNTIL SCUG )@@G@@HEMA CODE MATCHES @E@@@@ IF INT[INT^+1]:H1 <> E$PARAM GOTO NOITEM @ ITEMUH )@@G@@ NOT FOUND @[@@@@ @ @ @@@@ LET NAMELEN = INT [INT^+1]:S6@C@@@@ WRITEUI )@@G@@ ITEMNM @A@@@@ITEMNM: FORMAT WA @]@@@@ GOTO ITMEND@[@@@@ @ @#@@@@NOITEM: ERROR @^@@@@UK )@@G@@ WRITE ITEM# E$PARAM @^@@@@ITEM#: FORMAT 'ITEM-',D @G@@@@ LET RESULT$UL )@@G@@=0 @ SHOW THAT WE COULDN'T FIND NAME @[@@@@ @ UM )@@G@@@]@@@@ITMEND: @ @[@@@@ @ @E@@@@ ELSE IF OPTS:N THEN UN )@@G@@ @ DATA BASE DATA NAME @]@@@@ ERROR NODN @F@@@@ REPEAT DNT^ = 3, DNT[DNUO )@@G@@T^]:H1 @ LOOP THRU DNT ENTRIES @H@@@@ UNTIL DNT[DNT^+1]:H1 = UP )@@G@@E$PARAM OR DNT[DNT^]:H1=0 @ UNTIL SCHEMA CODE MATCHES @F@@@@ IF DNT[DNT^UQ )@@G@@+1]:H1 <> E$PARAM GOTO NODN @ DATA NAME NOT FOUND @[@@@@ @ @ @@@@UR )@@G@@ LET NAMELEN = DNT [DNT^+1]:S6@C@@@@ WRITE DNNAME @A@@@@DNNAME: FORMAT WA @]@@@@ GOTO DNEND UT )@@G@@@[@@@@ @ @]@@@@NODN: ERROR @^@@@@ WRITE DBDN# E$PARAM @^@@@@DBDN#:UU )@@G@@ FORMAT 'DBDN-',D @G@@@@ LET RESULT$=0 @ SHOW THAUV )@@G@@T WE COULDN'T FIND NAME @[@@@@ @ @]@@@@DNEND: @ @[@@@@ @ @]@@@@UW )@@G@@ END IF @[@@@@ @ @#@@@@ RETURN RESULT$ _@@@@@ESULT$=0 UX )@@G@@ @ SHOW THAT WE COULDN'T FIND NAME @[@@@@ @ @]@@@@DNEND:UY )@@G@@*[S@@@*SDFF*@#@@@@BARFMT: FORMAT F1 @ @@@@RECNAM: FORMAT R,A4UZ )@@G@@@ @@@@LEVEL: FORMAT 'LEVEL ',D,':',*@C@@@@OWNER: FORMAT *,C3,D,': ',WA,' ' @F@@@@SET: FORMAT C5,<46>'-','>',C8,'(SET ',D,': ',WA,')' @B@@@@MEMBER: FORMAT C53,D,': ',WA,* @ @@@@VC )@@G@@DASHES: FORMAT *,<76>'=',* @^@@@@X1: FORMAT F1,Z2,C1 @ @@@@X2: FOVD )@@G@@RMAT C1,' ',C1,D @ @@@@X3: FORMAT C1,' ',C1,D6 @G@@@@HDR: FVE )@@G@@ORMAT *(-0),C61,<2>F6,C91,F2,'/',F2,'/',F2,C124,'PAGE ',D,*3,*5 @ @@@@VF )@@G@@SETCOD: FORMAT F1,F1,' ' @D@@@@OWNLOC: FORMAT ' ',F1,'-',F3,F1 @C@@@@RCODLN: FORMAT F1,X(G(H(W):H2):H2),F1,C(U+4),D VH )@@G@@@#@@@@F1: FORMAT F1 @ @@@@SETCOD: FORMAT F1,F1,' ' @^@@@@MEMLOCVI )@@G@@: FORMAT F3,' ' @E@@@@SCHEMA: FORMAT C46,'*',C61,<2>F6,C86,'*',*,C46,'VJ )@@G@@*',C86,'*',*@D@@@@TIMLIN: FORMAT C46,'*',C75,F2,':',F2,':',F2,C86,'*',* VK )@@G@@@[@@@@ @ @#@@@@ DIM VBAR$(1) @F@@@@ PARAMETER :'I ' @ VL )@@G@@ASSUME WE'LL USE THE LETTER "I" @^@@@@ LET VBAR=VBAR$(1):S1 @[@@@@VM )@@G@@ @ @B@@@@ @ ***** PHASE 1: COMPILE TABLES ****** @[@@@@ @ @A@@@@VN )@@G@@ LET Z=SCRT[011]:H1 @ # OF RECORDS @A@@@@ LET Y=SCRT[012]:H1 @ # OF SETVO )@@G@@S @[@@@@ @ @B@@@@ DIM A(Z+4),G(Z),H(Z),L(Z),O(5*Z),T(Z) @^@@@@VP )@@G@@ IF Y>0 DIM B(Y),C(Y) @ @@@@ LET A(Z+1)=TIME @ START TIME @[@@@@ @ VQ )@@G@@@B@@@@ LET D=0 @ TOTAL PUT INTO LEVELS SO FAR @A@@@@ LET R=0 @ TOTAL DVR )@@G@@EFERRED SO FAR @^@@@@ LET M=1 @ CURRENT LEVEL@ @@@@ LET K=1 @ INDEX IVS )@@G@@NTO @B@@@@ REPEAT I=1,1 @ LOOP THRU ALL RECORDS @]@@@@ RECORVT )@@G@@D #I @[@@@@ @ @D@@@@ @ SAVE RECORD NAME IN ... 5 WORDS FD PER REVU )@@G@@CORD @[@@@@ @ @A@@@@ WRITE RECNAM @ @@@@ LET =WBUF(1,30) @]@@@@ LET K=K+5 @[@@@@ @ @C@@@@ @ SAVE # DAVW )@@G@@SHES NEEDED FOR THIS RECORD'S BOX @[@@@@ @ @C@@@@ LET X=RDT[3]:S2+RVX )@@G@@DT[3]:S3 @ # SETS AS A MEMBER @E@@@@ IF RDT[3]:S1>X LET X=RDT[3]:S1 @ USVY )@@G@@E OWNER SETS IF HIGHER @B@@@@ LET G(I):XH2=4*X-1 @ 4 DASHES PER SET VZ )@@G@@@D@@@@ IF G(I):XH2<10 LET G(I):XH2=10 @ BUT A MINIMUM OF 10 @[@@@@ @ WA )@@G@@@A@@@@ @ SAVE LOCATION MODE IN :H1 @[@@@@ @ @A@@@@ LET G(I):H1WB )@@G@@=RDT[2]:S1 @ LOC MODE @[@@@@ @ @D@@@@ IF RDT[3]:S2+RDT[3]:S3 = 0 THWC )@@G@@EN @ MEMBER OF NO SETS @]@@@@ LET D=D+1 @#@@@@ LET H(D):H1=RCODE@#@@@@WD )@@G@@ LET H(D):H2=RSEQ @[@@@@ ELSE @]@@@@ LET R=R+1 @#@@@@ LET T(R)=RSEQ WE )@@G@@@]@@@@ END IF @[@@@@ @ @^@@@@ UNTIL I=SCRT[011]:H1 @]@@@@ LET LWF )@@G@@(1)=D @]@@@@ WRITE = R @[@@@@ @ @ @@@@ WHILE R>0 AND L(M)<>0 DO WG )@@G@@@]@@@@ LET M=M+1 @]@@@@ LET S=R @]@@@@ LET R=0 @#@@@@ REPEAT I=1,WH )@@G@@1 @B@@@@ RECORD #T(I) @ NEXT FROM TO-BE-DONE LIST @C@@@@ LET W=RDT[6WI )@@G@@]:H2 @ OFFSET TO AUTO MEMBER SME'S @D@@@@ IF W=0 LET W=RDT[7]:H1 @ USE WJ )@@G@@OFFSET TO MANUAL SME'S @ @@@@ LET Z=RDT[3]:S2+RDT[3]:S3 @#@@@@ REPEAWK )@@G@@T J=1,1 @#@@@@ SET RDT[W+1]:H2 @A@@@@ LET F=SEARCH(:H1,SDT[2WL )@@G@@]:H2) @B@@@@ LET W=W+RDT[W]:H1 @ MOVE TO NEXT SME@#@@@@ UNTIL J=Z OWM )@@G@@R F<0 @[@@@@ @ @C@@@@ IF F>=0 THEN @ THIS RECORD IS IN THIS LEVEL WN )@@G@@@#@@@@ LET L(M)=L(M)+1 @^@@@@ LET H(D+L(M)):H1=RCODE @^@@@@ LET H(D+L(MWO )@@G@@)):H2=RSEQ @[@@@@ ELSE @]@@@@ LET R=R+1 @#@@@@ LET T(R)=RSEQ @]@@@@WP )@@G@@ END IF @]@@@@ UNTIL I=S @C@@@@ LET D=D+L(M) @ ADD NEW FOR THIS LEVWQ )@@G@@EL TO TOTAL @]@@@@ END WHILE @[@@@@ @ @#@@@@ IF L(M)=0 THEN @B@@@@WR )@@G@@ REPEAT I=1,1 @ LOOP THRU ALL REMAINING @#@@@@ RECORD #T(I) @^@@@@WS )@@G@@ LET H(D+I):H1=RCODE @^@@@@ LET H(D+I):H2=RSEQ @]@@@@ UNTIL I=R WT )@@G@@@]@@@@ LET L(M)=R @]@@@@ END IF @[@@@@ @ @E@@@@ @ BUILD LIST OF SWU )@@G@@ETS HE OWNS IN , POINTED TO BY @[@@@@ @ @A@@@@ LET U=0 @ TWV )@@G@@OTAL # OF SET MEMBERS @ @@@@ LET Y=1 @ INDEX INTO @A@@@@ REPEAWW )@@G@@T I=1,1 @ LOOP THRU ALL RECS @]@@@@ RECORD #I @#@@@@ LET A(I):Q3=Y WX )@@G@@@^@@@@ LET A(I):Q4=RDT[3]:S1 @B@@@@ LET W=RDT[6]:H1 @ PTR TO OWNER SME'WY )@@G@@S @#@@@@ IF W<>0 THEN @#@@@@ REPEAT V=1,1 @#@@@@ SET RDT[W+1WZ )@@G@@]:H2 @B@@@@ LET B(Y)=SCODE @ SAVE SET CODE IN @]@@@@ LET Y=Y+1 XA )@@G@@@D@@@@ LET U=U+SDT[2]:S3 @ ADD IN # OF MEMBERS FOR THIS SET @B@@@@ LET WXB )@@G@@=W+RDT[W]:H1 @ MOVE TO NEXT SET SME @#@@@@ UNTIL V=RDT[3]:S1@]@@@@ END IXC )@@G@@F @^@@@@ UNTIL I=SCRT[011]:H1 @[@@@@ @ @C@@@@ LET A(SCRT[011]:HXD )@@G@@1+2)=TIME @ END PHASE 1 TIME @ @@@@ IF OPTS:L<>1 GOTO PHASE3 @[@@@@XE )@@G@@ @ @B@@@@ @ ***** PHASE 2: LEVEL LISTING ****** @[@@@@ @ @#@@@@XF )@@G@@ WRITE = *(-0) @]@@@@ LET X=1 @#@@@@ REPEAT I=1,1 @#@@@@ WRITEXG )@@G@@ DASHES @^@@@@ IF I=M AND R<>0 THEN @D@@@@ WRITE = 'THE FOLLOWING XH )@@G@@COULD NOT BE DETERMINED:',* @[@@@@ ELSE @#@@@@ WRITE LEVEL I @]@@@@XI )@@G@@ END IF @#@@@@ REPEAT J=1,1 @#@@@@ RECORD #H(X):H2 @B@@@@ WRITEXJ )@@G@@ OWNER RCODE, @B@@@@ LET Z=RDT[2]:S1 @ OWNER LOCATXK )@@G@@ION MODE @]@@@@ IF Z=1 THEN@^@@@@ WRITE = '(DIRECT)' @^@@@@ ELSE XL )@@G@@IF Z=2 OR Z=3 THEN@#@@@@ WRITE = '(CALC)' @#@@@@ ELSE IF Z=5 THEN @ @@@@XM )@@G@@ WRITE = '(INDEX SEQUENTIAL)' @]@@@@ END IF @]@@@@ WRITE * @A@@@@XN )@@G@@ LET W=RDT[6]:H1 @ ==> OWNER SME @#@@@@ IF W<>0 THEN @E@@@@ REPEAXO )@@G@@T V=1,1 @ LOOP THRU ALL SETS OWNED BY THIS RECORD @#@@@@ SET RDT[W+1XP )@@G@@]:H2 @A@@@@ LET Q=RCODE @ SAVE CURRENT REC CODE@A@@@@ LET Y=SDT[4]:H2 @XQ )@@G@@ SME PTR IN SDT @B@@@@ LET Z=SDT[2]:S3 @ # MEMBERS IN THIS SET @B@@@@XR )@@G@@ REPEAT K=1,1 @ LOOP THRU ALL MEMBERS @A@@@@ RECORD SDT[Y+1]:H2 @ MEXS )@@G@@MBER RECORD @C@@@@ IF K=1 WRITE SET SCODE, @B@@@@XT )@@G@@ WRITE MEMBER RCODE, @B@@@@ LET Y=Y+SDT[Y]:H1 @ MOVXU )@@G@@E TO NEXT SME @]@@@@ UNTIL K=Z @A@@@@ RECORD Q @ RESTORE OWNER RECOXV )@@G@@RD @B@@@@ LET W=W+RDT[W]:H1 @ MOVE TO NEXT SME @#@@@@ UNTIL V=RDTXW )@@G@@[3]:S1@]@@@@ END IF @]@@@@ LET X=X+1 @#@@@@ UNTIL J=L(I) @]@@@@XX )@@G@@ UNTIL I=M @C@@@@ LET A(SCRT[011]:H1+3)=TIME @ END PHASE 2 TIME @[@@@@XY )@@G@@ @ @B@@@@ @ ***** PHASE 3: BLOCK DIAGRAM ****** @[@@@@ @ @]@@@@XZ )@@G@@PHASE3: @ @^@@@@ DIM E(M),F(M),Q(2*U+1) @A@@@@ IF U>0 DIM D(U),E(M),F(YA )@@G@@M),Q(2*U+1) @A@@@@ LET Q(1)=U @ RETAIN "U" IN Q(1) @B@@@@ LET =YB )@@G@@ @ MOVE LEVEL TOTALS TO @[@@@@ @ @B@@@@ @ COMPUTE BLOCK LOCATIOYC )@@G@@NS FOR EACH RECORD@[@@@@ @ @]@@@@ WRITE = R @]@@@@ LET X=1 @ @@@@YD )@@G@@ REPEAT I=1,1 @ LEVEL LETTER @A@@@@ REPEAT J=1,1 @ BLOCK # WITHIN LEVELYE )@@G@@@B@@@@ WRITE X1 5+I,J @ WRITE LETTER & 2-DIGIT #@E@@@@ LET =WBUF(1,6) @ SAVE FD LETTER/# IN @]@@@@ LET X=X+1 @B@@@@ UNTILYG )@@G@@ J=E(I) @ ALL WITHIN THIS LEVEL @^@@@@ UNTIL I=M @ ALL LEVELS @]@@@@YH )@@G@@ WRITE = R @[@@@@ @ @^@@@@ @ FOR EACH SET IN , @F@@@@ @ COMPIYI )@@G@@LE IN THE # OF MEMBERS OF EACH OF THOSE SETS, @E@@@@ @ & COMPIYJ )@@G@@LE IN THE MEMBERS OF EACH OF THOSE SETS. @[@@@@ @ @B@@@@ LET PYK )@@G@@:H2=0 @ MAX # MEMBERS IN ANY SET @ @@@@ IF SCRT[012]:H1 > 0 THEN YL )@@G@@@]@@@@ LET Z=1 @#@@@@ REPEAT I=1,1 @]@@@@ SET B(I) @#@@@@ WRITEYM )@@G@@ X2 SCODE @^@@@@ LET =WBUF(1,6) @B@@@@ LET C(I):Q3=Z @ SAVE PTYN )@@G@@R TO MEMBER LIST @E@@@@ LET C(I):Q4=SDT[2]:S3 @ MOVE # MEMBERS IN THIS YO )@@G@@SET TO @E@@@@ IF SDT[2]:S3>P:H2 LET P:H2=SDT[2]:S3 @ KEEP MAX # MEMYP )@@G@@BERS @C@@@@ LET X=SDT[4]:H2 @ SDT PTR TO 1ST MEMBER SME @B@@@@ REPEAYQ )@@G@@T K=1,1 @ LOOP THRU ALL MEMBERS @B@@@@ RECORD SDT[X+1]:H2 @ MAKE MEMYR )@@G@@BER CURRENT @C@@@@ LET D(Z)=L(RSEQ) @ BLOCK LOCATION OF MEMBER @]@@@@YS )@@G@@ LET Z=Z+1 @C@@@@ LET X=X+SDT[X]:H1 @ MOVE TO NEXT MEMBER SME @A@@@@YT )@@G@@ UNTIL K=SDT[2]:S3 @ ALL MEMBERS @^@@@@ UNTIL I=SCRT[012]:H1 @]@@@@YU )@@G@@ WRITE = R @]@@@@ END IF @E@@@@ IF P:H2<3 LET P:H2=3 @ MINIMUM OF 3YV )@@G@@ FOR VERTICAL LINE SKIP @[@@@@ @ @[@@@@ @ @[@@@@ @ @ @@@@ LET ZYW )@@G@@=2 @ INDEX INTO @A@@@@ REPEAT I=1,1 @ LOOP THRU ALL RECS @]@@@@YX )@@G@@ RECORD #I @A@@@@ LET Y=RCODE @ SAVE CURRENT RECORD @ @@@@ LET A(I):Q1YY )@@G@@=Z @ PTR TO LIST @C@@@@ LET A(I):Q2=RDT[3]:S2+RDT[3]:S3 @ # IN LIST YZ )@@G@@@A@@@@ LET W=RDT[6]:H2 @ PTR TO AUTO SME'S@C@@@@ IF W=0 LET W=RDT[7]:H1 ZA )@@G@@@ USE MANUAL IF NO AUTO @#@@@@ IF W<>0 THEN @B@@@@ REPEAT V=1,1 @ LOZB )@@G@@OP THRU MEMBER SETS @A@@@@ SET RDT[W+1]:H2 @ MAKE SET CURRENT @#@@@@ZC )@@G@@ WRITE X3 SCODE @B@@@@ LET =WBUF(1,6) @ SAVE SCODE IN FD @A@@@@ZD )@@G@@ RECORD SDT[2]:H2 @ OWNER RECORD @C@@@@ LET Q(Z+Q(1))=L(RSEQ) @ SAVE ZE )@@G@@OWNER BOX LOC @]@@@@ LET Z=Z+1 @A@@@@ RECORD Y @ RESTORE CURRENT REZF )@@G@@CORD @B@@@@ LET W=W+RDT[W]:H1 @ MOVE TO NEXT SME @#@@@@ UNTIL V=A(IZG )@@G@@):Q2 @]@@@@ END IF @^@@@@ UNTIL I=SCRT[011]:H1 @]@@@@ WRITE = R ZH )@@G@@@[@@@@ @ @C@@@@ @ CREATE :H1 = STARTING REC # FOR THIS LEVEL@C@@@@ZI )@@G@@ @ H2 = ENDING REC # FOR THIS LEVEL @[@@@@ @ @#@@@@ LET FZJ )@@G@@(1):H1=1 @#@@@@ LET F(1):H2=E(1) @]@@@@ IF M>1 THEN@#@@@@ REPEAT I=2,ZK )@@G@@1 @^@@@@ LET F(I):H1=F(I-1):H2+1@ @@@@ LET F(I):H2=F(I-1):H2+E(I) ZL )@@G@@@]@@@@ UNTIL I=M @]@@@@ END IF @[@@@@ @ @E@@@@ @ FIND # DASHES OZM )@@G@@N EACH LEVEL & HOW MUCH MUST BE SKIPPED ON@E@@@@ @ LEFT MARGIN TO CENTERZN )@@G@@ EACH LEVEL AGAINST THE LONGEST @[@@@@ @ @B@@@@ LET Z=1 @ ASSUME ZO )@@G@@LEVEL 1 IS LARGEST LEVEL@A@@@@ REPEAT I=1,1 @ LOOP THRU ALL LEVELS@]@@@@ZP )@@G@@ LET Y=0 @A@@@@ LET W=F(I):H1 @ 1ST INDEX IN LEVEL @B@@@@ REPEAT J=1,ZQ )@@G@@1 @ ALL RECS WITHIN LEVEL @B@@@@ LET Y=Y+G(H(W):H2):H2 @ ADD # DASHEZR )@@G@@S @ @@@@ LET W=W+1 @ MOVE TO NEXT REC @#@@@@ UNTIL J=E(I) @C@@@@ZS )@@G@@ LET T(I)=Y+11*E(I) @ SAVE WIDTH OF THIS LEVEL @C@@@@ IF T(I)>T(Z) LET ZT )@@G@@Z=I @ SAVE LEVEL # OF LARGEST @]@@@@ UNTIL I=M @[@@@@ @ @A@@@@ REPEAZU )@@G@@T I=1,1 @ LOOP THRU ALL LEVELS@A@@@@ IF I<>Z LET T(I)=(T(Z)-T(I))/2 ZV )@@G@@@]@@@@ UNTIL I=M @C@@@@ LET T(Z)=0 @ ZERO DIFFERENCE FOR LARGEST LEVEL ZW )@@G@@@ @@@@ @***************************@@ @@@@ @ @ZX )@@G@@@ @@@@ @ *** BEGIN DIAGRAM *** @@ @@@@ @ @ZY )@@G@@@ @@@@ @***************************@@B@@@@ PRTCN 'B,8.M,88,0,0' @ NO PAGZZ )@@G@@E SKIPS @B@@@@ LET R=SCRT[011]:H1 @ TOTAL # RECORDS @ @@@@ LET PAA )@@G@@:H1=0 @ PAGE COUNTER @]@@@@ REPEAT @A@@@@ LET P:H1=P:H1+1 @ BUMP AB )@@G@@PAGE COUNTER@]@@@@ LET X=DATE @C@@@@ WRITE HDR ,X:NT1,X:NT2,X:NAC )@@G@@T3,P:H1 @[@@@@ @ @E@@@@ @ COMPUTE # BLOCKS THAT CAN FIT ON THIS LAD )@@G@@INE ON THIS PAGE @[@@@@ @ @A@@@@ REPEAT I=1,1 @ LOOP THRU EACH LEVELAE )@@G@@@]@@@@ LET N=0 @B@@@@ IF T(I)<131 THEN @ SKIP ONLY PART OF LINE@C@@@@AF )@@G@@ LET X=T(I) @ # CHARS USED ON THIS LINE SO FAR @A@@@@ LET W=F(I):H1 @ RAG )@@G@@EC # TO START WITH@ @@@@ WHILE X<131 AND W<=F(I):H2 DO@C@@@@ LET S=G(H(WAH )@@G@@):H2):H2 @ # DASHES FOR THIS BOX @]@@@@ LET X=X+S+5@B@@@@ IF X<=130 TAI )@@G@@HEN @ IT CAN FIT ON THIS PAGE @B@@@@ LET X=X+6 @ ALLOW FOR TRAILING SPACAJ )@@G@@ES @A@@@@ LET W=W+1 @ PREPARE FOR NEXT REC @B@@@@ LET N=N+1 @ BUMP AK )@@G@@COUNT OF RECS TO PRINT @]@@@@ END IF @]@@@@ END WHILE @]@@@@ END IAL )@@G@@F @B@@@@ IF N=0 THEN @ NOTHIN' TO DO ON THIS LINE @#@@@@ REPEAT K=1,AM )@@G@@1 @#@@@@ WRITE = '.',* @#@@@@ UNTIL K=P:H2+22 @^@@@@ ELSE @ SOMEAN )@@G@@THIN' TO DO @[@@@@ @ @B@@@@ @ LINE 1: OWNER LOCATION FOR ASCENDER AO )@@G@@@[@@@@ @ @B@@@@ LET U=T(I)+3 @ COLUMN OF 1ST BOX ON LINE @A@@@@ WRITEAP )@@G@@ = X(U-1) @ SKIP TO 1ST BOX @A@@@@ LET W=F(I):H1 @ REC # TO START WITHAQ )@@G@@@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO ON THIS LINE@]@@@@ WRITE = X4 AR )@@G@@@C@@@@ IF A(H(W):H2):Q2>0 THEN @ MEMBER OF SOME SETS @ @@@@ LET X=Q(1)+AS )@@G@@A(H(W):H2):Q1-1 @B@@@@ REPEAT Z=1,1 @ LOOP THRU ALL THOSE SETS @^@@@@AT )@@G@@ WRITE MEMLOC Q(X+Z):H1 @^@@@@ UNTIL Z=A(H(W):H2):Q2 @]@@@@ END IF AU )@@G@@@ @@@@ LET U=U+G(H(W):H2):H2+11 @B@@@@ IF J<>N WRITE = C(U) @ MOVE TAV )@@G@@O NEXT BOX @A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTIL J=N AW )@@G@@@#@@@@ WRITE = C1,'.',* @[@@@@ @ @B@@@@ @ LINE 2: INITIAL STEM FOR OWAX )@@G@@NER ASCENDER@[@@@@ @ @B@@@@ LET U=T(I)+3 @ COLUMN OF 1ST BOX ON LINE AY )@@G@@@A@@@@ WRITE = X(U-1) @ SKIP TO 1ST BOX @A@@@@ LET W=F(I):H1 @ REC # TAZ )@@G@@O START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO ON THIS LINE@]@@@@BA )@@G@@ WRITE = X4 @C@@@@ IF A(H(W):H2):Q2>0 THEN @ MEMBER OF SOME SETS @B@@@@BB )@@G@@ REPEAT Z=1,1 @ LOOP THRU ALL THOSE SETS @]@@@@ WRITE = ' '@#@@@@ WRITEBC )@@G@@ BARFMT VBAR@#@@@@ WRITE = ' ' @^@@@@ UNTIL Z=A(H(W):H2):Q2 @]@@@@BD )@@G@@ END IF @ @@@@ LET U=U+G(H(W):H2):H2+11 @B@@@@ IF J<>N WRITE = CBE )@@G@@(U) @ MOVE TO NEXT BOX @A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@BF )@@G@@ UNTIL J=N @#@@@@ WRITE = C1,'.',* @[@@@@ @ @A@@@@ @ LINES 3-6: ASCEBG )@@G@@NDERS FOR OWNERS @[@@@@ @ @B@@@@ REPEAT K=3,1 @ LINE COUNTER/BYTE POBH )@@G@@INTER @B@@@@ LET U=T(I)+3 @ COLUMN OF 1ST BOX ON LINE @A@@@@ WRITE = X(UBI )@@G@@-1) @ SKIP TO 1ST BOX @A@@@@ LET W=F(I):H1 @ REC # TO START WITH@C@@@@BJ )@@G@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO ON THIS LINE@]@@@@ WRITE = X4 @D@@@@BK )@@G@@ IF A(H(W):H2):Q2>0 THEN @ HE IS A MEMBER OF SOME SETS@D@@@@ LET S=6*A(HBL )@@G@@(W):H2):Q1-6 @ START BYTE IN SET LIST @B@@@@ REPEAT Z=1,1 @ LOOP THRBM )@@G@@U ALL SETS HE OWNS@E@@@@ WRITE SETCOD [Q:S+K,6],VBAR @ WRITE K-TH BYTE OBN )@@G@@F SET CODE @]@@@@ LET S=S+6 @^@@@@ UNTIL Z=A(H(W):H2):Q2 @]@@@@ END IBO )@@G@@F @ @@@@ LET U=U+G(H(W):H2):H2+11 @B@@@@ IF J<>N WRITE = C(U) @ BP )@@G@@MOVE TO NEXT BOX @A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTILBQ )@@G@@ J=N @#@@@@ WRITE = C1,'.',* @]@@@@ UNTIL K=6 @[@@@@ @ @B@@@@ @ LINBR )@@G@@E 7: FINAL STEM FOR OWNER ASCENDER @[@@@@ @ @B@@@@ LET U=T(I)+3 @ COBS )@@G@@LUMN OF 1ST BOX ON LINE @A@@@@ WRITE = X(U-1) @ SKIP TO 1ST BOX @A@@@@BT )@@G@@ LET W=F(I):H1 @ REC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL BU )@@G@@TO GO ON THIS LINE@]@@@@ WRITE = X4 @C@@@@ IF A(H(W):H2):Q2>0 THEN @ MEMBV )@@G@@BER OF SOME SETS @B@@@@ REPEAT Z=1,1 @ LOOP THRU ALL THOSE SETS @#@@@@BW )@@G@@ WRITE = ' V ' @^@@@@ UNTIL Z=A(H(W):H2):Q2 @]@@@@ END IF @ @@@@BX )@@G@@ LET U=U+G(H(W):H2):H2+11 @B@@@@ IF J<>N WRITE = C(U) @ MOVE TO NEXTBY )@@G@@ BOX @A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTIL J=N @#@@@@BZ )@@G@@ WRITE = C1,'.',* @[@@@@ @ @B@@@@ @ LINE 8: TOP OF BOX WITH BLOCK CODCA )@@G@@E @[@@@@ @ @A@@@@ WRITE = X(2+T(I)) @ SKIP TO 1ST BOX@A@@@@ LET WCB )@@G@@=F(I):H1 @ REC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO CC )@@G@@ON THIS LINE@E@@@@ WRITE OWNLOC VBAR,L(H(W):H2):H1,VBAR @ LOCATION OF BOCD )@@G@@X @A@@@@ IF J<>N WRITE = X6 @ ADD BLANKS @A@@@@ LET W=W+1 @ PREPACE )@@G@@RE FOR NEXT RECORD@C@@@@ LET R=R-1 @ NOW THERE'S 1 LESS REC TO DISPLAY CF )@@G@@@]@@@@ UNTIL J=N @#@@@@ WRITE = C1,'.',* @[@@@@ @ @C@@@@ @ LINE 9: DCG )@@G@@IRECT/CALC/IS ENTRY & RECORD CODE @[@@@@ @ @B@@@@ LET U=T(I)+3 @ COCH )@@G@@LUMN OF 1ST BOX ON LINE @A@@@@ WRITE = X(U-1) @ SKIP TO 1ST BOX @A@@@@CI )@@G@@ LET W=F(I):H1 @ REC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL CJ )@@G@@TO GO ON THIS LINE@^@@@@ IF G(H(W):H2):H1=1 THEN@#@@@@ WRITE = 'D->' CK )@@G@@@C@@@@ ELSE IF G(H(W):H2):H1=2 OR G(H(W):H2):H1=3 THEN@#@@@@ WRITE = 'C-CL )@@G@@>' @ @@@@ ELSE IF G(H(W):H2):H1=5 THEN @#@@@@ WRITE = 'I->' @[@@@@CM )@@G@@ ELSE @]@@@@ WRITE = X3 @]@@@@ END IF @D@@@@ WRITE RCODLN VBAR,VBAR,CN )@@G@@H(W):H1 @ WRITE RECORD CODE @ @@@@ LET U=U+G(H(W):H2):H2+11 @B@@@@CO )@@G@@ IF J<>N WRITE = C(U) @ MOVE TO NEXT BOX @A@@@@ LET W=W+1 @ PREPARE FORCP )@@G@@ NEXT RECORD@]@@@@ UNTIL J=N @#@@@@ WRITE = C1,'.',* @[@@@@ @ @ @@@@CQ )@@G@@ @ LINES 10-12: RECORD NAME @[@@@@ @ @ @@@@ REPEAT K=0,1 @ LINE COUCR )@@G@@NTER @A@@@@ WRITE = X(2+T(I)) @ SKIP TO 1ST BOX@A@@@@ LET W=F(I):H1 @ RCS )@@G@@EC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO ON THIS LINECT )@@G@@@#@@@@ WRITE = ' ' @#@@@@ WRITE BARFMT VBAR@^@@@@ LET S=G(H(W):H2):CU )@@G@@H2 @B@@@@ LET X=K*S @ START BYTE # WITHIN O(W) @C@@@@ LET Z=X+30*CV )@@G@@H(W):H2-29 @ START BYTE # WITHIN @C@@@@ REPEAT Y=1,1 @ WRITE AS MANY CW )@@G@@BYTES AS WILL FIT @#@@@@ IF X+Y<31 THEN @#@@@@ WRITE F1 [O:Z,6] @]@@@@CX )@@G@@ LET Z=Z+1 @[@@@@ ELSE @]@@@@ WRITE = X1 @]@@@@ END IF @]@@@@ UNTILCY )@@G@@ Y=S @#@@@@ WRITE BARFMT VBAR@A@@@@ IF J<>N WRITE = X6 @ ADD BLANKS CZ )@@G@@@A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTIL J=N @#@@@@ WRITEDA )@@G@@ = C1,'.',* @]@@@@ UNTIL K=2 @[@@@@ @ @ @@@@ @ LINE 13: BOTTOM OF BODB )@@G@@X @[@@@@ @ @A@@@@ WRITE = X(2+T(I)) @ SKIP TO 1ST BOX@A@@@@ LET WDC )@@G@@=F(I):H1 @ REC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO DD )@@G@@ON THIS LINE@#@@@@ WRITE = ' ' @#@@@@ WRITE BARFMT VBAR@ @@@@ WRITEDE )@@G@@ = '-' @#@@@@ WRITE BARFMT VBAR@A@@@@ IF J<>N WRITE = XDF )@@G@@6 @ ADD BLANKS @A@@@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTILDG )@@G@@ J=N @#@@@@ WRITE = C1,'.',* @[@@@@ @ @ @@@@ @ LINES 14-17: STEMS FODH )@@G@@R SETS@[@@@@ @ @ @@@@ REPEAT K=1,1 @ LINE COUNTER @B@@@@ LET U=T(I)+DI )@@G@@3 @ COLUMN OF 1ST BOX ON LINE @A@@@@ WRITE = X(U-1) @ SKIP TO 1ST BOX DJ )@@G@@@A@@@@ LET W=F(I):H1 @ REC # TO START WITH@C@@@@ REPEAT J=1,1 @ LOOP THRDK )@@G@@U ALL TO GO ON THIS LINE@]@@@@ WRITE = X4 @C@@@@ IF A(H(W):H2):Q4>0 THENDL )@@G@@ @ HE OWNS SOME SETS @D@@@@ LET S=6*A(H(W):H2):Q3-6 @ START BYTE IN SDM )@@G@@ET LIST @B@@@@ REPEAT Z=1,1 @ LOOP THRU ALL SETS HE OWNS@E@@@@ WRITEDN )@@G@@ SETCOD [B:S+K,6],VBAR @ WRITE K-TH BYTE OF SET CODE @]@@@@ LET S=S+6 DO )@@G@@@^@@@@ UNTIL Z=A(H(W):H2):Q4 @]@@@@ END IF @ @@@@ LET U=U+G(H(W):H2DP )@@G@@):H2+11 @B@@@@ IF J<>N WRITE = C(U) @ MOVE TO NEXT BOX @A@@@@ LET WDQ )@@G@@=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTIL J=N @#@@@@ WRITE = C1,'.',* DR )@@G@@@]@@@@ UNTIL K=4 @[@@@@ @ @A@@@@ @ LINES 18: FINAL STEMS FOR SETS DS )@@G@@@[@@@@ @ @B@@@@ LET U=T(I)+3 @ COLUMN OF 1ST BOX ON LINE @A@@@@ WRITEDT )@@G@@ = X(U-1) @ SKIP TO 1ST BOX @A@@@@ LET W=F(I):H1 @ REC # TO START WITHDU )@@G@@@C@@@@ REPEAT J=1,1 @ LOOP THRU ALL TO GO ON THIS LINE@]@@@@ WRITE = X4 DV )@@G@@@C@@@@ IF A(H(W):H2):Q4>0 THEN @ HE OWNS SOME SETS @B@@@@ REPEAT Z=1,DW )@@G@@1 @ LOOP THRU ALL SETS HE OWNS@#@@@@ WRITE = ' V ' @^@@@@ UNTIL Z=A(HDX )@@G@@(W):H2):Q4 @]@@@@ END IF @ @@@@ LET U=U+G(H(W):H2):H2+11 @B@@@@DY )@@G@@ IF J<>N WRITE = C(U) @ MOVE TO NEXT BOX @A@@@@ LET W=W+1 @ PREPARE FORDZ )@@G@@ NEXT RECORD@]@@@@ UNTIL J=N @#@@@@ WRITE = C1,'.',* @[@@@@ @ @A@@@@EA )@@G@@ @ LINES 19+: BLOCK CODES OF MEMBERS@[@@@@ @ @A@@@@ REPEAT K=1,1 @ EVEB )@@G@@ERY MEMBER LEVEL @B@@@@ LET U=T(I)+3 @ COLUMN OF 1ST BOX ON LINE @A@@@@EC )@@G@@ WRITE = X(U-1) @ SKIP TO 1ST BOX @B@@@@ LET W=F(I):H1 @ PTR TO 1ST REED )@@G@@C ON LINE @A@@@@ REPEAT J=1,1 @ EVERY REC ON LINE @]@@@@ WRITE = X4 EE )@@G@@@C@@@@ IF A(H(W):H2):Q4>0 THEN @ HE OWNS SOME SETS @B@@@@ LET X=A(H(WEF )@@G@@):H2):Q3 @ PTR TO 1ST SET @C@@@@ REPEAT V=1,1 @ EVERY SET OWNED BY TEG )@@G@@HIS REC @C@@@@ IF C(X+V-1):Q4>=K THEN @ MUST PRINT MEMBER @A@@@@EH )@@G@@ WRITE MEMLOC D(C(X+V-1):Q3+K-1):H1 @A@@@@ ELSE @ DONE ALL MEMBERS ALREAEI )@@G@@DY @ @@@@ WRITE = X4 @ SKIP THE SPACE @]@@@@ END IF @^@@@@ UNTILEJ )@@G@@ V=A(H(W):H2):Q4 @]@@@@ END IF @C@@@@ LET U=U+G(H(W):H2):H2+11 @ NEEK )@@G@@XT BOX COLUMN @B@@@@ IF J<>N WRITE = C(U) @ MOVE TO NEXT BOX @A@@@@EL )@@G@@ LET W=W+1 @ PREPARE FOR NEXT RECORD@]@@@@ UNTIL J=N @#@@@@ WRITE = C1,EM )@@G@@'.',* @#@@@@ UNTIL K=P:H2 @[@@@@ @ @C@@@@ LET F(I):H1=F(I):H1+N @EN )@@G@@ UPDATE 1ST REC PTR @[@@@@ @ @#@@@@ REPEAT K=1,1 @#@@@@ WRITEEO )@@G@@ = '.',* @]@@@@ UNTIL K=4 @]@@@@ END IF @#@@@@ IF T(I)>0 THEN EP )@@G@@@C@@@@ IF T(I)<131 THEN @ THIS WAS LAST LINE TO SKIP @]@@@@ LET T(I)=0 EQ )@@G@@@ @@@@ ELSE @ MORE LINES TO SKIP @C@@@@ LET T(I)=T(I)-130 @ SUBTRACT ER )@@G@@PAGE JUST DONE @]@@@@ END IF @]@@@@ END IF @]@@@@ UNTIL I=M ES )@@G@@@C@@@@ IF P:H1>30 WRITE,S = '*** INTERNAL ERROR ***',*@C@@@@ UNTIL R=0 @ET )@@G@@ ALL RECORDS HAVE BEEN DISPLAYED @C@@@@ LET A(SCRT[011]:H1+4)=TIME @ EU )@@G@@END PHASE 3 TIME @[@@@@ @ @ @@@@ @ DISPLAY TIMING RESULTS @[@@@@EV )@@G@@ @ @F@@@@ LET = @ MAKE IT EASEW )@@G@@IER @ @@@@ WRITE = *(-0),C46,<41>'*',*29@^@@@@ WRITE SCHEMA EX )@@G@@@^@@@@ WRITE = C49,'START:' @B@@@@ WRITE TIMLIN A(1):NT1,A(1):NT2,A(1)EY )@@G@@:NT3 @B@@@@ WRITE = C49,'TABLE BUILDING COMPLETE:' @B@@@@ WRITE TIMLIEZ )@@G@@N A(2):NT1,A(2):NT2,A(2):NT3 @#@@@@ IF A(3)<>0 THEN @B@@@@ WRITE = C49FA )@@G@@,'LEVEL LISTING COMPLETE:' @B@@@@ WRITE TIMLIN A(3):NT1,A(3):NT2,A(3)FB )@@G@@:NT3 @]@@@@ END IF @A@@@@ WRITE = C49,'DIAGRAM COMPLETE:' @B@@@@FC )@@G@@ WRITE TIMLIN A(4):NT1,A(4):NT2,A(4):NT3 @B@@@@ WRITE = C46,'*',C86,'*'FD )@@G@@,*,C46,<41>'*',* @[@@@@ @ @B@@@@ PRTCN 'B,*.M,*,*,*' @ BACK TO NORMFE )@@G@@AL _@@@@@):H2+E(I) @]@@@@ UNTIL I=M @]@@@@ END IF @[@@@@ @ FF )@@G@@@E@@@@ @ FIND # DASHES ON EACH LEVEL & HOW MUCH MUST BE SKIPPED ON@E@@@@FG )@@G@@ @ LEFT MARGIN TO CENTER*[S@@@*SDFF*@^@@@@ DIMENSION A(4),B(3) @#@@@@FH )@@G@@ ERROR GENERL @A@@@@ PARAMETER :'@@@@@@',P:-1,R:-1 @^@@@@ IF P=FI )@@G@@-1 AND R=-1 THEN @#@@@@ IF A(1)=0 THEN @C@@@@ WRITE = ' NO PAFJ )@@G@@RAMETERS SUPPLIED.',* @]@@@@ RETURN @[@@@@ ELSE @A@@@@ IF A(1):S1=FK )@@G@@'O' LET A(1):S1='0' @#@@@@ LET A(4)=A(3) @#@@@@ LET A(3)=A(2) FL )@@G@@@#@@@@ LET A(2)=A(1) @#@@@@ LET A(1)=' 0'@#@@@@ LET D=VALUE() FM )@@G@@@#@@@@ LET =DECODE(D)@]@@@@ END IF @ @@@@ ELSE IF P<>-1 AND R<>-1FN )@@G@@ THEN @]@@@@ AREA,N @^@@@@ LET D=ENCODE(ACODE,P,R)@#@@@@ LET B(1)=ACFO )@@G@@ODE @]@@@@ LET B(2)=P @]@@@@ LET B(3)=R @[@@@@ ELSE @C@@@@ WRITE = ' INVALID PARAMETER(S).',* @]@@@@ RETURN @]@@@@ END IF FQ )@@G@@@#@@@@ IF OPTS:P=0 THEN @]@@@@ FIND,K D @[@@@@ ELSE @]@@@@ FIND D FR )@@G@@@]@@@@ END IF @#@@@@ IF RESULT=0 THEN @B@@@@ WRITE = ' RECORFS )@@G@@D NOT FOUND.',* @]@@@@ RETURN @]@@@@ END IF @^@@@@ WRITE AREAPFT )@@G@@G B(1),B(2) @B@@@@AREAPG: FORMAT 'AREA ',D,', PAGE ',D,', ' @#@@@@ IF OPFU )@@G@@TS:P=0 THEN @#@@@@ WRITE RECORD B(3)@[@@@@ ELSE @^@@@@ WRITE SLOT B(3),RFV )@@G@@ESULT @]@@@@ END IF @A@@@@RECORD: FORMAT 'RECORD ',D,'.',* @C@@@@FW )@@G@@SLOT: FORMAT 'PGSLOT ',D,'. (DBK=',O12,').',* @^@@@@ IF OPTS:N=0 DUMPRFX )@@G@@EC @]@@@@ RETURN @#@@@@GENERL: ERRPR,N @]@@@@ RETURN _@@@@@FY )@@G@@: FORMAT 'AREA ',D,', PAGE ',D,', ' @#@@@@ IF OPTS:P=0 THEN @#@@@@ WRITEFZ )@@G@@*[S@@@*SDFF*@^@@@@ GLOBAL B,S,W,O,F,C @]@@@@ LET A=F @^@@@@ IF OPGA )@@G@@TS<>0 LET F=OPTS @]@@@@ DISC$GO -1 @]@@@@ LET F=A _@@@@@ IF OPTS<>0 GB )@@G@@OR N(1):H1=0 WRITE = ','*[S@@@*SDFF*@]@@@@ CLOSE EDIT @[@@@@ STOP _@@@@@GC )@@G@@@]M@B4@]L@]L@@@@Y@@@@@@@@@@@@@LET F=OPTS @^@@@@ WRITE = R,'DISC$$P ' GD )@@G@@@^@@@@ WRITE LIMIT O,S-(1-O) @^@@@@LIMIT: FORMA*[S@@@*SDFF*@]@@@@ GLOBAGE )@@G@@L F @B@@@@ LET TEMPORARY = OPTS ** 000304004000 @A@@@@ IF TEMPORARGF )@@G@@Y = 0 LET TEMPORARY = F @A@@@@ WRITE = 'DEFAULT PRINT FORMAT IS ' @A@@@@GG )@@G@@ IF TEMPORARY:O=1 WRITE = 'OCTAL & '@B@@@@ IF TEMPORARY:B=1 WRITE = 'BINGH )@@G@@ARY & ' @B@@@@ IF TEMPORARY:F=1 WRITE = 'FIELDATA & ' @A@@@@ IF TEGI )@@G@@MPORARY:A=1 WRITE = 'ASCII & '@^@@@@ WRITE = X(-3),' ',* @#@@@@ LET FGJ )@@G@@ = TEMPORARY_@@@@@= 'BINARY & ' @B@@@@ IF TEMPORARY:F=1 WRITE = 'FIEGK )@@G@@LDATA & ' @A@@@@ IF TEMPORARY:A=1 WRITE = 'ASC*[S@@@*SDFF*@]@@@@ ERRORGL )@@G@@ ERR @#@@@@ GLOBAL B,S,W,O,C @#@@@@ PARAMETER N:C+O @]@@@@ LET X=N-O GM )@@G@@@]@@@@ IF X<0 THEN@ @@@@ WRITE = 'BAD BLOCK NUMBER',* @[@@@@ ELSE @ @@@@GN )@@G@@ GET EDIT(BLOCK=X,SIZE=S) @]@@@@ LET C=X @]@@@@ END IF @]@@@@GO )@@G@@ LET W=1 @]@@@@ RETURN @]@@@@ERR: ERRPR,N_@@@@@& ' @A@@@@ IF TEGP )@@G@@MPORARY:A=1 WRITE = 'ASC*[S@@@*SDFF*@^@@@@ GLOBAL B,S,W,O,F,C @]@@@@GQ )@@G@@ LET A=F @^@@@@ IF OPTS<>0 LET F=OPTS @]@@@@ DISC$GO +1 @]@@@@ LET FGR )@@G@@=A _@@@@@D BLOCK NUMBER',* @[@@@@ ELSE @ @@@@*[S@@@*SDFF*@]@@@@ GLOBAGS )@@G@@L N @#@@@@ IF N(1):H1=0 THEN@#@@@@ WRITE TIPDMS N(1)@E@@@@TIPDMS: FORMGT )@@G@@AT 'YOU ARE NOW EDITING TIP/DMS FILE #',D,* @[@@@@ ELSE @^@@@@ DIMENGU )@@G@@SION FITEM$PKT(14)@ @@@@ LET =FITEM('EDIT')@F@@@@ WRITE FINAMGV )@@G@@E ,,FITEM$PKT(7):NT3 @G@@@@FINAME: FORMGW )@@G@@AT 'YOU ARE NOW EDITING: ',<2>WF,'*',<2>WF,'(',D,').',* @]@@@@ END IGX )@@G@@F _@@@@@@^@@@@ IF OPTS<>0 LET F=OPTS @]@@@@ DISC$GO +1 @]@@@@ LET FGY )@@G@@=A _@@@@@D BLOCK NUMBER',* @[@@@@ ELSE @ @@@@*[S@@@*SDFF*@[@@@@ ON D GZ )@@G@@@D@@@@ WRITE = 'PRINTING IS NOW LIMITED TO 72 CHARACTERS',* _@@@@@,FITEM$PKT(7):NT3 @G@@@@FINAME: FORMAT 'YOU ARE NOW EDITING:HB )@@G@@*[S@@@*SDFF*@]@@@@ GLOBAL O @]@@@@ PARAMETER A@^@@@@ IF A<0 OR A>1 THEHC )@@G@@N @C@@@@ WRITE = 'INVALID ORIGIN (MUST BE 0 OR 1)',* @]@@@@ RETURHD )@@G@@N @]@@@@ END IF @]@@@@ LET O=A @]@@@@ WRITE NOW O@C@@@@NOW: FHE )@@G@@ORMAT 'WORD/BLOCK NUMBER ORIGIN IS ',D,* @]@@@@ RETURN _@@@@@P!,' THF )@@G@@HEN @#@@@@ LET X(1)=' DISC$'@#@@@@ LET X(2):NT*[S@@@*SDFF*@^@@@@ GLOBAHG )@@G@@L B,S,W,O,F,C @A@@@@ PARAMETER FIRST$WD#:1,LAST$WD#:-999@^@@@@ IF LAHH )@@G@@ST$WD#=-999 THEN @A@@@@ LET LAST$WD# = FIRST$WD# + W - 1 @#@@@@ LET FHI )@@G@@IRST$WD# = W@[@@@@ ELSE @A@@@@ LET FIRST$WD# = FIRST$WD# + (O=0) @A@@@@HJ )@@G@@ LET LAST$WD# = LAST$WD# + (O=0) @]@@@@ END IF @F@@@@ LET BAD$PRIHK )@@G@@NT? = FIRST$WD# < 1 OR LAST$WD# < 1 OR FIRST$WD# > S @G@@@@ LET BAD$PRIHL )@@G@@NT? = BAD$PRINT? OR LAST$WD# > S OR FIRST$WD# > LAST$WD# @#@@@@ IF OPHM )@@G@@TS = 0 THEN @#@@@@ LET BITS = F @[@@@@ ELSE @#@@@@ LET BITS = OPTS HN )@@G@@@]@@@@ END IF @B@@@@ LET WORD$COUNT = LAST$WD# - FIRST$WD# + 1@A@@@@HO )@@G@@ LET BITS = BITS ** 000304004000 @B@@@@ LET BAD$PRINT? = BAD$PRINT? OHP )@@G@@R BITS=0 @^@@@@ IF BAD$PRINT? THEN @ @@@@ WRITE = 'BAD PRINT REQUHQ )@@G@@EST',*@]@@@@ RETURN @]@@@@ END IF @A@@@@ LET PRINT$WIDTH = 68 + HR )@@G@@MODE*56 @^@@@@ LET COLS$IN$USE = 0 @A@@@@ IF BITS:O LET COLS$IN$UHS )@@G@@SE = 12 @D@@@@ IF BITS:B LET COLS$IN$USE = COLS$IN$USE + 36 + BITS:OHT )@@G@@@F@@@@ IF BITS:F LET COLS$IN$USE = COLS$IN$USE + 6 + BITS:O + BITS:B HU )@@G@@@G@@@@ IF BITS:A LET COLS$IN$USE = COLS$IN$USE + 4 + BITS:O + BITS:B + BHV )@@G@@ITS:F @C@@@@ LET WDS$PER$LINE = PRINT$WIDTH / COLS$IN$USE @#@@@@ LET AHW )@@G@@VAIL$COL = 8@A@@@@ IF BITS:O THEN @ SET UP OCTAL STUFF@^@@@@ LET OCT$COLHX )@@G@@ = AVAIL$COL@C@@@@ LET OCT$DASHES = 7 + 13*(WDS$PER$LINE - 1) @C@@@@HY )@@G@@ LET AVAIL$COL = AVAIL$COL + 6 + OCT$DASHES @]@@@@ END IF @B@@@@HZ )@@G@@ IF BITS:B THEN @ SET UP BINARY STUFF @^@@@@ LET BIN$COL = AVAIL$COLIA )@@G@@@B@@@@ LET BIN$DASHES = 30 + 36*(WDS$PER$LINE-1)@C@@@@ LET AVAIL$COL = AIB )@@G@@VAIL$COL + 7 + BIN$DASHES @]@@@@ END IF @A@@@@ IF BITS:F THEN @ IC )@@G@@SET UP FDATA STUFF@^@@@@ LET FDA$COL = AVAIL$COL@E@@@@ LET FDA$DASHES = ID )@@G@@(WDS$PER$LINE>1) * (6 * WDS$PER$LINE - 8) @C@@@@ LET AVAIL$COL = AVAIL$CIE )@@G@@OL + 9 + FDA$DASHES @]@@@@ END IF @A@@@@ IF BITS:A THEN @ SET UPIF )@@G@@ ASCII STUFF@^@@@@ LET ASC$COL = AVAIL$COL@E@@@@ LET ASC$DASHES = (WDS$PIG )@@G@@ER$LINE>1) * (4*WDS$PER$LINE - 5) @]@@@@ END IF @#@@@@ WRITE BLOCKIH )@@G@@ C+O @#@@@@BLOCK: FORMAT D,C8@D@@@@ IF BITS:O WRITE = C(OCT$COL),'OCTALII )@@G@@','-' @D@@@@ IF BITS:B WRITE = C(BIN$COL),'BINARY','-'@E@@@@ IF BITS:F WRITE = C(FDA$COL),'FIELDATA','-' IK )@@G@@@D@@@@ IF BITS:A WRITE = C(ASC$COL),'ASCII','-' @]@@@@ WRITEIL )@@G@@ * @A@@@@ LET SKIPED$VALUE = 0777770077777 @^@@@@ LET FLAG$CHAR = 'IM )@@G@@ ' @]@@@@ REPEAT @A@@@@ IF WORD$COUNT <= WDS$PER$LINE THEN @ @@@@IN )@@G@@ LET WDS$ON$LINE = WORD$COUNT @^@@@@ LET FOUND$A$WD? = 1 @[@@@@ ELSE IO )@@G@@@A@@@@ LET WDS$ON$LINE = WDS$PER$LINE @^@@@@ LET FOUND$A$WD? = 0 IP )@@G@@@^@@@@ REPEAT BUFFER^=1,1 @G@@@@ IF SKIPED$VALUE <> B (FIRST$WD# + BIQ )@@G@@UFFER^ - 1) LET FOUND$A$WD? = 1 @C@@@@ UNTIL FOUND$A$WD? OR BUFFER^ IR )@@G@@= WDS$ON$LINE @]@@@@ END IF @^@@@@ IF FOUND$A$WD? THEN @B@@@@IS )@@G@@ WRITE WDNUM FIRST$WD#-(O=0),FLAG$CHAR @E@@@@ IF BITS:O WRITE OCTAL @F@@@@ IF BITS:B WRITE BINARY @E@@@@ IF BITS:F WRITE FDATA @E@@@@ IF BITS:A WRITE ASCII @]@@@@ WRITE * @^@@@@ LET FLAG$CHAR = ' ' IX )@@G@@@[@@@@ ELSE @^@@@@ LET FLAG$CHAR = '*' @]@@@@ END IF @C@@@@ LET SIY )@@G@@KIPED$VALUE = B(FIRST$WD#-1+WDS$ON$LINE) @B@@@@ LET FIRST$WD# = FIRST$WIZ )@@G@@D# + WDS$ON$LINE @B@@@@ LET WORD$COUNT = WORD$COUNT - WDS$ON$LINE@^@@@@JA )@@G@@ UNTIL WORD$COUNT = 0 @^@@@@ LET W = FIRST$WD# - 1 @]@@@@ RETURN JB )@@G@@@^@@@@WDNUM: FORMAT O6,F1,X1 @C@@@@OCTAL: FORMAT C(OCT$COL-1),O13,X1 @A@@@@BINARY: FORMAT C(BIN$COL),B36,X1 @C@@@@FDATA: FORMAJD )@@G@@T C(FDA$COL),F6,X1 @C@@@@ASCII: FORMAT C(ASC$COL),A4,X1 _@@@@@INE>O13,X1 @A@@@@BINARY: FORMAT C(BIN$COL),B36,JF )@@G@@*[S@@@*SDFF*@]@@@@ ERROR ERR @#@@@@ DIMENSION X(1) @#@@@@ GLOBAL S,B,JG )@@G@@W,O,F @#@@@@ PARAMETER N,X:0 @^@@@@ WRITE = 'LET B(W)' @#@@@@ IF X(JH )@@G@@1)<>0 THEN @#@@@@ WRITE JDESIG @ @@@@JDESIG: FORMAT ':',WF,' ' JI )@@G@@@]@@@@ END IF @#@@@@ WRITE = '=N' @[@@@@ * @]@@@@ RETURN JJ )@@G@@@]@@@@ERR: ERRPR,N_@@@@@: FORMAT C(BIN$COL),B36,*[S@@@*SDFF*@]@@@@ PARAMJK )@@G@@ETER N@#@@@@ GLOBAL B,S,W,O @]@@@@ LET X=N-O @]@@@@ IF X<0 THEN@ @@@@JL )@@G@@ WRITE = 'BAD BLOCK NUMBER',* @[@@@@ ELSE @ @@@@ PUT EDIT(BLOCK=X,SIZE=SJM )@@G@@) @]@@@@ END IF @]@@@@ LET W=1 _@@@@@W,O @]@@@@ LET X=N-O JN )@@G@@@]@@@@ IF X<0 THEN@ @@@@ WRITE = 'BAD BLOCK NUMBER',* @[@@@@ ELSE @ @@@@JO )@@G@@ PUT EDIT(BLOCK=X,SIZE=S*[S@@@*SDFF*@[@@@@ SEND _@@@@@ Y)@)@[C]@@@ JP )@@G@@@]M@B4@]L@]L@@@@Y@@@@@@@@@@@@@ = '=N' @[@@@@ * @]@@@@ RETURN JQ )@@G@@@]@@@@ERR: ERRPR,N_@@@@@ FOUND$A$WD? OR BUFFER^ *[S@@@*SDFF*@#@@@@ PARAMJR )@@G@@ETER P:-1 @#@@@@ IF P=-1 THEN @[@@@@ SITE @[@@@@ ELSE @]@@@@ SITE JS )@@G@@P @]@@@@ END IF _@@@@@@[@@@@ ELSE @ @@@@ PUT EDIT(BLOCK=X,SIZE=SJT )@@G@@*[S@@@*SDFF*@#@@@@ GLOBAL B,W,O,F,S @#@@@@ DISC$GO -90909 _@@@@@@@@@@@JU )@@G@@@@@@@@ ELSE @]@@@@ SITE P @]@@@@ END IF _@@@@@@[@@@@ ELSE @ @@@@JV )@@G@@ PUT EDIT(BLOCK=X,SIZE=S*[S@@@*SDFF*@ @@@@ DIMENSION E(14),X(1),G(1) JW )@@G@@@#@@@@ PARAMETER E:0,G:0@^@@@@ GLOBAL B,W,S,O,F,N @#@@@@ WRITE = 'TOJX )@@G@@C' @A@@@@ IF OPTS<>0 OR N(1):H1=0 WRITE = ','@ @@@@ IF N(1):H1=0 WRITJY )@@G@@E = 'T' @#@@@@ IF OPTS<>0 THEN @ @@@@ IF OPTS:A = 1 WRITE = 'A' JZ )@@G@@@ @@@@ IF OPTS:O = 1 WRITE = 'O' @ @@@@ IF OPTS:S = 1 WRITE = 'S' KA )@@G@@@ @@@@ IF OPTS:R = 1 WRITE = 'R' @ @@@@ IF OPTS:D = 1 WRITE = 'D' KB )@@G@@@]@@@@ END IF @]@@@@ WRITE = ' '@^@@@@ IF N(1):H1<>0 THEN @#@@@@KC )@@G@@ LET I=SIZE(N) @#@@@@ WRITE TEXT @#@@@@TEXT: FORMAT WF@ @@@@KD )@@G@@ LET =WBUF(CHARSW,CHARSW) @ @@@@ IF X(1):S1<>'.' WRITE = '.' @[@@@@KE )@@G@@ ELSE @#@@@@ WRITE TIPDMS N(1)@#@@@@TIPDMS: FORMAT D @]@@@@ END IF KF )@@G@@@#@@@@ IF E(1)<>0 THEN @#@@@@ LET I=SIZE(E) @ @@@@ IF N(1):H1=0 WRITKG )@@G@@E = ',' @#@@@@ WRITE TEXT @]@@@@ END IF @#@@@@ IF G(1)<>0 KH )@@G@@THEN @]@@@@ WRITE = ','@]@@@@ LET I=1 @#@@@@ WRITE TEXT @]@@@@KI )@@G@@ END IF @[@@@@ * _@@@@@RITE = '.' @[@@@@ ELSE @#@@@@ WRITE TIPDMKJ )@@G@@S N(1)@#@@@@TIPDMS: FORM*[S@@@*SDFF*@[@@@@ OFF D@E@@@@ WRITE = 'PRINTINGKK )@@G@@ IS NOW EXPANDED TO 132 CHARACTERS',* _@@@@@_@@@@@@#@@@@ WRITE = 'TOKL )@@G@@C' @A@@@@ IF OPTS<>0 OR N(1):H1=0 WRITE = ','*[S@@@*SDFF*@]@@@@ GLOBAKM )@@G@@L W,O @^@@@@ DIMENSION X(14),Y(14) @ @@@@ WRITE WORD W-(1-O),W-(1-O) KN )@@G@@@D@@@@WORD: FORMAT R,'TREAD ''[',O,'/',D,']:'',' @#@@@@ LET =WBUF() @]@@@@ WRITE = R @#@@@@ LET X(1)='DISC$$'@#@@@@ LET =' ' @]@@@@ XQT @]@@@@ RETURN _@@@@@EAD ''[',O,'/',D,']:'',' @#@@@@ LET <*[S@@@*SDFF*@#@@@@ GLOBAL S,O,F,N @#@@@@ DIMENKR )@@G@@SION B(S) @]@@@@ LET W=1 @#@@@@ LET C=-99999 @#@@@@ IF S\28<>0 KS )@@G@@THEN @#@@@@ LET S=28*(1+S/28)@F@@@@ WRITE = 'BLOCK SIZE ROUNDED TO NEXTKT )@@G@@ HIGHEST SECTOR BOUNDARY',* @]@@@@ END IF @#@@@@ WRITE BLKSIZ S KU )@@G@@@C@@@@BLKSIZ: FORMAT 'BLOCK SIZE IS ',D,' WORDS',* @^@@@@ DIMENSION XKV )@@G@@(14),Y(1) @ @@@@START: LET =DISC$COMMAND @^@@@@ WHILE X(2)<>'BLOCKW )@@G@@K ' DO@B@@@@ IF X(2):H1='P! ' OR X(2):H1='P!,' THEN @#@@@@ LET X(1)=' KX )@@G@@DISC$'@#@@@@ LET X(2):NT1='PP'@]@@@@ END IF @A@@@@ IF X(2)='TOP ' KY )@@G@@LET X(2)='T ' @#@@@@ ERROR ERRLAB @]@@@@ XQT @[@@@@ ERRORKZ )@@G@@@]@@@@ GOTO RPT @^@@@@ERRLAB: DISC$GO @ @@@@RPT: LET =DISC$LA )@@G@@COMMAND @]@@@@ END WHILE @#@@@@ IF NWORDS=1 THEN @#@@@@ WRITE BLKSILB )@@G@@Z S @]@@@@ GOTO START @]@@@@ END IF @]@@@@ LET Y(1)=0 @B@@@@ WHILELC )@@G@@ Y(1):S1<>'Y' AND Y(1):S1<>'N' DO @H@@@@ TREAD 'THIS WILL DESTROY CURRLD )@@G@@ENT BUFFER CONTENTS, OK TO PROCEED (Y/N):', @]@@@@ END WHILE @ @@@@LE )@@G@@ IF Y(1):S1='N' GOTO START @^@@@@ LET S=VALUE() _@@@@@P ' LF )@@G@@LET X(2)='T ' @#@@@@ ERROR ERRLAB @]@@@@ XQT @[@@@@ ERRORLG )@@G@@@]@@@@ GOTO RPT @^@@@@ERRLAB: DISC$GO *[S@@@*SDFF*@]@@@@ ERRORLH )@@G@@ BARF @#@@@@ DIMENSION X(13) @]@@@@ PARAMETER X@^@@@@ GLOBAL B,W,S,O,F,LI )@@G@@C @#@@@@ LET I=VALUE() @[@@@@ ERROR@A@@@@ IF X(1):S1='+' OR X(1):LJ )@@G@@S1='-' THEN @]@@@@ LET W=W+I @[@@@@ ELSE @#@@@@ LET W=I+(1-O) @]@@@@LK )@@G@@ END IF @#@@@@ IF W<=1 THEN @#@@@@ WRITE = '*TOP*',*@]@@@@ LET WLL )@@G@@=1 @#@@@@ ELSE IF W>S THEN @#@@@@ WRITE EOF S-(1-O)@^@@@@EOF: FORMAT LM )@@G@@'EOF:',D,* @]@@@@ LET W=1 @]@@@@ END IF @]@@@@ DISC$$P @]@@@@LN )@@G@@ RETURN @#@@@@BARF: ERRPR,N @]@@@@ RETURN _@@@@@@]@@@@ LET WLO )@@G@@=W+I @[@@@@ ELSE @#@@@@ LET W=I+(1-O) @]@@@@ END IF @#@@@@ IF WSLQ )@@G@@*[S@@@*SDFF*@^@@@@ GLOBAL B,S,W,O,F,C @]@@@@ LET A=F @^@@@@ IF OPLR )@@G@@TS<>0 LET F=OPTS @^@@@@ WRITE = R,'DISC$$P ' @^@@@@ WRITE LIMIT O,S-(LS )@@G@@1-O) @^@@@@LIMIT: FORMAT X1,D,',',D@]@@@@ LET N=W @[@@@@ * @]@@@@LT )@@G@@ WRITE = R @]@@@@ LET W=N @]@@@@ LET F=A _@@@@@@C@@@@ WRITE = ' INVALID PARAMETER(S).',* @]@@@@ RETUR*[S@@@*SDFF*@#@@@@ DIMENLV )@@G@@SION N(8) @#@@@@ IF OPTS:T=1 THEN @#@@@@ PARAMETER N(1) @^@@@@ OPEN LW )@@G@@DISC,T EDIT=N(1) @[@@@@ ELSE @^@@@@ PARAMETER :'TPF$. ' @^@@@@ OPEN LX )@@G@@DISC EDIT= @]@@@@ END IF @]@@@@ DISC$$NAME @]@@@@ LET O=0 LY )@@G@@@]@@@@ LET O=0 @#@@@@ DISC$$ORIGIN 0 @#@@@@ LET F:O=1 @#@@@@LZ )@@G@@ DISC$$FORMAT,O @]@@@@ LET S=28 @]@@@@ DO FOREVER @]@@@@ DISC$DRIVERMA )@@G@@@]@@@@ END DO _@@@@@ETER N(1) @^@@@@ OPEN DISC,T EDIT=N(1) @[@@@@MB )@@G@@ ELSE @^@@@@ PARAMETER :'TPF$. ' @^@@@@ OPEN *[S@@@*SDFF*@G@@@@ @ DIVMC )@@G@@IDES 2 WD INPUT BY 1 WD INPUT, GIVING 2 WD RESULT + 1 WD REMAINDER@E@@@@MD )@@G@@ PARAMETER A,B,C @ PRODUCES AB / C @ @@@@ ME )@@G@@ DIM TOP(2),RSLT(3) @E@@@@ LET TOP(1)=A @ 1SMF )@@G@@T HALF OF DIVIDEND@E@@@@ LET TOP(2)=B @ 2ND HALFMG )@@G@@ OF DIVIDEND@^@@@@ LET REMAIN=0 @D@@@@ REPEAT D=1,1 MH )@@G@@ @ DIGIT NUMBER @H@@@@ LET X=[TOP:D,1] + REMAIN MI )@@G@@ @ LOAD NEXT DIGIT + PREVIOUS REMAINDER @D@@@@ LET [RSLT:D,1]MJ )@@G@@=X/C @ INTEGER RESULT@E@@@@ LET REMAIN=(X\C)*/1 MK )@@G@@ @ CARRY REMAINDER @#@@@@ UNTIL D=72@F@@@@ LET RSLT(3ML )@@G@@)=REMAIN*/-1 @ FINAL REMAINDER TO WORD 3 @^@@@@ RETURN _@@@@@ LET X=[TOP:D,1] + REMAIN @ LOAD NEXT DIGIT + PRMN )@@G@@EVIOUS REMAINDER @D@@@@*[S@@@*SDFF*@ @@@@ DIMENSION A(2),R(5),B(3) MO )@@G@@@A@@@@ DIMENSION K(23),M(23),X(23),L(1) @D@@@@ PARAMETER :'@@@@@@',MP )@@G@@:'@@@@@@',:'@@@@@@' @]@@@@ ERROR RECOV@#@@@@ IF A(1)<>0 THEN MQ )@@G@@@]@@@@ AREA @]@@@@ END IF @^@@@@ IF R(5)<>0 RECORD @]@@@@MR )@@G@@ LET S=RSEQ @#@@@@ IF OPTS:Z=1 THEN @#@@@@ LET =ALL(0) @^@@@@ ELSE MS )@@G@@IF OPTS:B=1 THEN @^@@@@ LET =ALL(' ') @^@@@@ ELSE IF K(1)=0 THMT )@@G@@EN @#@@@@ IF MODE=0 THEN @ @@@@ TREAD 'DMSCALC KEY:', @[@@@@MU )@@G@@ ELSE @C@@@@ WRITE = ' NO DMSCALC KEY SPECIFIED.',*@[@@@@ STOP MV )@@G@@@]@@@@ END IF @]@@@@ END IF @ @@@@ IF RDT[014]:S2**070=020 THEN MW )@@G@@@#@@@@ IF OPTS:Z=0 THEN @^@@@@ LET =ASCII() @[@@@@ ELSE @]@@@@MX )@@G@@ LET =@]@@@@ END IF @]@@@@ LET V=9 @]@@@@ LET Z='0'A @]@@@@MY )@@G@@ LET T=' 'A @[@@@@ ELSE @]@@@@ LET =@]@@@@ LET V=6 @]@@@@ LET ZMZ )@@G@@='0' @]@@@@ LET T=' ' @]@@@@ END IF @C@@@@ IF RDT[014]:S2**020<>0 NA )@@G@@THEN @ NON-COMP ITEM @#@@@@ IF OPTS:O=1 THEN @D@@@@ LET NUMBYTES = RDNB )@@G@@T[015]:H2 / V @ BYTES IN CALC KEY @^@@@@ LET BYTESPERWD= 36 / V @E@@@@NC )@@G@@ LET NUMWORDS = (NUMBYTES + BYTESPERWD - 1) / BYTESPERWD @B@@@@ REPEAND )@@G@@T I=1,1 @ LOOP THRU EACH 12 DIGITS @^@@@@ WRITE = 'LET X(I)=0' @ @@@@NE )@@G@@ WRITE 2WDS @#@@@@2WDS: FORMAT <2>F6@[@@@@ * @#@@@@NF )@@G@@ UNTIL I=NUMWORDS @]@@@@ END IF @^@@@@ LET I=DMSCALC() @#@@@@NG )@@G@@ ELSE @ COMP ITEM @A@@@@ LET I=1 @ BLANK OUT LEADING ZEROES @^@@@@ WHILENH )@@G@@ [K:I,V]=Z DO @#@@@@ LET [K:I,V]=T @]@@@@ LET I=I+1 @]@@@@ END WNI )@@G@@HILE @^@@@@ PWORD J9 35,RDT[015]:H2@]@@@@ LET L(1)=0 @D@@@@ ERROR GIGO NJ )@@G@@@ SEND APPROPRIATE MSG IF KEY IS TRASH @ @@@@ LET L(1):J9 = VALUE(NK )@@G@@) @]@@@@ ERROR RECOV@^@@@@ LET I=DMSCALC() @]@@@@ END IF NL )@@G@@@]@@@@ LET =@^@@@@ WRITE PGCHAI I:H1,I:H2 @E@@@@PGCHAI: FORMAT 'KENM )@@G@@Y CALCS TO PAGE ',D,', CHAIN ',D,'.',* @ @@@@ LET Q=ENCODE(ACODE,I:H1NN )@@G@@,I:H2)@]@@@@ LET D=Q @]@@@@NEWREC: @ @]@@@@ FIND D @#@@@@ IF RENO )@@G@@SULT=0 THEN @[@@@@ OFF B@B@@@@ WRITE = '*** RECORD NOT FOUND ***',* NP )@@G@@@]@@@@ RETURN @]@@@@ END IF @^@@@@ RECORD PAGE[$]:NT1 @^@@@@NQ )@@G@@ IF S<>RSEQ GOTO NOFIND @^@@@@ EXTRACTKEY,M $,014 @#@@@@ LET =WBUNR )@@G@@F() @C@@@@ IF RDT[014]:S2**020<>0 THEN @ NON-COMP ITEM @ @@@@ IF RDNS )@@G@@T[014]:S2**070=020 THEN @^@@@@ LET =ASCII() @]@@@@ LET =NT )@@G@@@ @@@@ LET N=(3+RDT[015]:H2/9)/4 @[@@@@ ELSE @ @@@@ LET N=(5+RDT[015]NU )@@G@@:H2/6)/6 @]@@@@ END IF @#@@@@ ELSE @ COMP ITEM @^@@@@ LET BYTESPENV )@@G@@RWD=36/V @A@@@@ LET N=(5+RDT[016]:S2)/BYTESPERWD @]@@@@ END IF NW )@@G@@@#@@@@ REPEAT I=1,1 @ @@@@ IF K(I)<>M(I) GOTO NOFIND @]@@@@ UNTILNX )@@G@@ I=N @]@@@@ WRITE = R @]@@@@ DUMPREC @]@@@@ RETURN @]@@@@NOFINDNY )@@G@@: @ @ @@@@ LET C = $ + RDT[5]:H2 - 1 @F@@@@ IF ART[3]:B35=1 LET C=CNZ )@@G@@-1 @ IF CALC PRIOR LINKS, BACK UP 1 WORD @#@@@@ LET D=PAGE[C] @A@@@@OA )@@G@@ WRITE RECNAM @A@@@@RECNAM: FORMAT '/',OB )@@G@@WA @]@@@@ IF D=Q THEN@E@@@@ WRITE = '...RECORD POINTS BACK TO CALC CHOC )@@G@@AIN HEADER.',* @B@@@@ WRITE = '*** RECORD NOT FOUND ***',* @]@@@@OD )@@G@@ RETURN @]@@@@ END IF @#@@@@ LET =DECODE(D)@#@@@@ WRITE SLOT OE )@@G@@B(3) @C@@@@SLOT: FORMAT '...RECORD POINTS TO PAGE SLOT ',D @^@@@@ IF B(OF )@@G@@2)=PGNUM THEN @ @@@@ WRITE = ' ON THIS PAGE.',* @[@@@@ ELSE @#@@@@OG )@@G@@ WRITE OTHRPG B(2)@A@@@@OTHRPG: FORMAT ' ON PAGE ',D,'.',* @]@@@@ END IOH )@@G@@F @]@@@@ GOTO NEWREC@]@@@@RECOV: ERROR@]@@@@ ERRPR,N @]@@@@ RETUROI )@@G@@N @C@@@@GIGO: WRITE = 'CALC KEY MUST BE NUMERIC.',* @]@@@@ RETUROJ )@@G@@N _@@@@@,* @B@@@@ WRITE = '*** RECORD NOT FOUND ***',* @]@@@@OK )@@G@@ RETURN @]@@@@ END I*[S@@@*SDFF*@E@@@@ DIMENSION PATCH$FILE(22),IMAGOL )@@G@@E$SO$FAR(22),NEW$VALUE(22) @]@@@@ WRITE = R @A@@@@ PARAMETER :'@@@@@@' @B@@@@ IF TABLE(1)<>'PAGE ' THEN @ NO CAN DO @C@@@@ON )@@G@@ WRITE = '* CURRENT TABLE MUST BE "PAGE" *',* @]@@@@ RETURN @]@@@@OO )@@G@@ END IF @B@@@@ IF OPTS:E=1 THEN @ ALL DONE...WRITE EOF @]@@@@ CLOSEOP )@@G@@ PATCH@D@@@@ WRITE = '* PATCH ELEMENT CREATED SUCCESSFULLY *',* @]@@@@OQ )@@G@@ RETURN @^@@@@ ELSE IF OPTS:F=1 THEN @D@@@@ IF PATCH$FILE(1)=0 LET OR )@@G@@='TPF$.PATCHELT' @ @@@@ OPEN SDFO PATCH= @E@@@@OS )@@G@@ WRITE = '* PATCH ELEMENT HAS BEEN OPENED - PROCEED *',* @]@@@@ RETUROT )@@G@@N @]@@@@ END IF @#@@@@ ERROR OPENED @F@@@@ OPEN SDFO PATCH=TOU )@@G@@PF$.PATCHELT @ IN CASE USER NEVER DID DPATCH,F @E@@@@ WRITE = R,'* PATCOV )@@G@@H ELEMENT HAS BEEN OPENED - PROCEED *',* @[@@@@ ERROR@B@@@@OPENED: WRITOW )@@G@@E LINE1 ,PGNUM,$ @H@@@@LINE1: FORMAT 'PATCH AREA ',<2>WF,' OX )@@G@@PAGE ',D,' WORD ',D,' REL TO TOP REP' @B@@@@ PUT PATCH * @ WRITE TO OY )@@G@@PATCH FILE... @ @@@@ WRITE * @ ...AND TERMINAL@^@@@@ WRITE LINE2OZ )@@G@@A PAGE[$] @A@@@@LINE2A: FORMAT 'O',O12,' WITH ' @^@@@@ IF PATCH$FIPA )@@G@@LE(1)=0 THEN@ @@@@ LET =WBUF() @A@@@@ TREAD , @^@@@@ LET DIDNT$ASK? = 0 @[@@@@ ELSE @^@@@@ LET DPC )@@G@@IDNT$ASK? = 1 @A@@@@ LET = @]@@@@ END IPD )@@G@@F @C@@@@ IF NEW$VALUE(1):S1='O' LET NEW$VALUE(1):S1=' ' @A@@@@ LET BPE )@@G@@INARY$VALUE=VALUE()@ @@@@ WRITE OCTAL BINARY$VALUE @ @@@@PF )@@G@@OCTAL: FORMAT 'O',O12,'.' @]@@@@ PUT PATCH *@^@@@@ IF DIDNT$ASK? WRIPG )@@G@@TE * @]@@@@ RETURN _@@@@@ ELSE @^@@@@ LET DIDNT$ASK? = 1 @A@@@@PH )@@G@@ LET = @]@@@@ END I*[S@@@*SDFF*@F@@@@ PI )@@G@@ @ SHIFTS 2 WD INPUT (AB) BY C BITS, GIVING 2 WD RESULT @^@@@@ PJ )@@G@@ DIM RSLT(3) @E@@@@ PARAMETER A,B,C @ PRODUCESPK )@@G@@ AB */ -C @G@@@@ IF C>71 THEN @ SHIFTED THE WHPL )@@G@@OLE THING OUT @^@@@@ LET RSLT(1)=0 @^@@@@ LET RSLTPM )@@G@@(2)=0 @E@@@@ ELSE IF C=0 THEN @ NO SHIFT AT ALL PN )@@G@@@^@@@@ LET RSLT(1)=A @^@@@@ LET RSLT(2)=B @D@@@@ PO )@@G@@ ELSE @ VALID SHIFT @^@@@@ PWORD J7PP )@@G@@ C-1,C@^@@@@ PWORD J8 35,C @ @@@@ PWORD J9 35,36-C PQ )@@G@@@G@@@@ LET RSLT(2)=B:J9 @ SHIFT 2ND WORD RIGHT "C" BPR )@@G@@ITS @G@@@@ LET RSLT(2):J8=A:J7 @ SHIFT "C" BITS FROM PS )@@G@@WD 1 TO WD 2@G@@@@ LET RSLT(1)=A:J9 @ SHIFT 1ST WORDPT )@@G@@ RIGHT "C" BITS @#@@@@ END IF @]@@@@ @ @^@@@@ PU )@@G@@ LET RSLT(3)=C @^@@@@ RETURN _@@@@@(2)=B @D@@@@ PV )@@G@@ ELSE @ VALID SHIFT *[S@@@*SDFF*@]@@@@ DIM DPW )@@G@@(6) @]@@@@ PARAMETER I@#@@@@ LET Y=I:J2+80 @#@@@@ LET =TDATE I PX )@@G@@@^@@@@ WRITE FMT I, @^@@@@ WRITE FMT2 @G@@@@FMT: FPY )@@G@@ORMAT 'DATE-TIME STAMP: ',O12,' DECODES TO: ',Z2,'/',Z2,'/',Z2,X1 @A@@@@PZ )@@G@@FMT2: FORMAT Z2,':',Z2,':',Z2,* _@@@@@TCH$FILE(1)=0 THEN@ @@@@ LET =WBUF() *[S@@@*SDFF*@]@@@@ DIM D(6) @#@@@@ ERROR ERRRTQB )@@G@@N @#@@@@ PARAMETER L:1 @A@@@@ IF OPTS:C=1 LET L=0377777777777 QC )@@G@@@#@@@@ REPEAT B=1,1 @]@@@@ GET ATT @#@@@@ IF L>1 WRITE * @^@@@@QD )@@G@@ WRITE BLOCK IOBUF[1]:H2@ @@@@BLOCK: FORMAT 'BLOCK ',D,':',*@ @@@@ IF IOQE )@@G@@BUF[0]:S1<>'U' THEN @B@@@@ WRITE = 'BLOCK IS NOT A DMS BLOCK.',* QF )@@G@@@[@@@@ ELSE @]@@@@ LET R=0 @]@@@@ LET P=0 @#@@@@ LET T=IOBUF[0]:S2QG )@@G@@@]@@@@ IF T=1 THEN@ @@@@ WRITE = ' BEFORE LOOK',* @]@@@@ LET R=1 QH )@@G@@@]@@@@ LET P=1 @^@@@@ ELSE IF T=2 THEN @ @@@@ WRITE = ' AFTER LQI )@@G@@OOK FOR' @]@@@@ LET R=1 @]@@@@ LET P=1 @^@@@@ ELSE IF T=3 THEQJ )@@G@@N @B@@@@ WRITE = ' DARP A/L: O/F PAGE UPDATE',* @B@@@@ WRITE AREAPQK )@@G@@G IOBUF[3]:NT1,IOBUF[3]:H2 @]@@@@ LET R=1 @^@@@@ ELSE IF T=4 THEQL )@@G@@N @B@@@@ WRITE = ' START OF RUN-UNIT BLOCK. ' @]@@@@ LET R=1 QM )@@G@@@^@@@@ ELSE IF T=5 THEN @B@@@@ WRITE = ' DARP A/L: ILL-PAGE UPDATEQN )@@G@@',* @]@@@@ LET R=1 @]@@@@ LET P=1 @^@@@@ ELSE IF T=6 THEN QO )@@G@@@A@@@@ WRITE = ' INITIAL LOAD BLOCK',* @]@@@@ LET R=1 @D@@@@ WRITEQP )@@G@@ T6 IOBUF[010]:T3,IOBUF[016]:H1,IOBUF[016]:H2 @E@@@@T6: FORMAT ' AREA QQ )@@G@@',D,', START PG ',D,', END PG ',D,'.',* @^@@@@ ELSE IF T=7 THEN QR )@@G@@@A@@@@ WRITE = ' START OF RUN-UNIT WITH ' @ @@@@ IF IOBUF[1]:S2=2 TQS )@@G@@HEN @#@@@@ WRITE = 'AFTER' @[@@@@ ELSE @#@@@@ WRITE = 'BEFORE' @]@@@@QT )@@G@@ END IF @^@@@@ WRITE = '-LOOK FOR' @]@@@@ LET R=1 @]@@@@ LET PQU )@@G@@=1 @^@@@@ ELSE IF T=010 THEN @ @@@@ WRITE = ' END OF RUN-UNIT.',*QV )@@G@@@]@@@@ LET R=1 @^@@@@ ELSE IF T=011 THEN @ @@@@ WRITE = ' RECOVERQW )@@G@@Y ERU',* @]@@@@ LET R=1 @^@@@@ ELSE IF T=012 THEN @ @@@@ WRITEQX )@@G@@ = ' P/A INITIAL LOAD',*@]@@@@ LET R=1 @^@@@@ ELSE IF T=014 THEN QY )@@G@@@^@@@@ WRITE = ' FREE BLOCK. '@]@@@@ LET R=1 @^@@@@ ELSE IF T=015 THEQZ )@@G@@N @B@@@@ WRITE = ' DARP A/L: OVERFLOW PAGE',* @]@@@@ LET R=1 RA )@@G@@@]@@@@ LET P=1 @^@@@@ ELSE IF T=016 THEN @A@@@@ WRITE = ' DARP A/RB )@@G@@L: ILL-PAGE',* @]@@@@ LET R=1 @B@@@@ WRITE T016 IOBUF[6]:H2,IOBUF[RC )@@G@@011]:H2 @B@@@@T016: FORMAT ' AREA ',D,', PAGE ',D,'.',* @^@@@@ ELSE RD )@@G@@IF T=017 THEN @A@@@@ WRITE T017 IOBUF[1]:H1,IOBUF[2] @H@@@@T017: RE )@@G@@FORMAT ' START OF REEL. RELATIVE REEL #',D,'. PRIOR REEL: ',F6,'.',* RF )@@G@@@^@@@@ ELSE IF T=022 THEN @ @@@@ WRITE = ' RECOVERY A/L',* @]@@@@RG )@@G@@ LET R=1 @]@@@@ LET P=1 @^@@@@ ELSE IF T=037 THEN @A@@@@ WRITERH )@@G@@ = ' END OF REEL WRITTEN BY ' @^@@@@ LET X=IOBUF[3] @#@@@@ IF RI )@@G@@ X=0 THEN @#@@@@ WRITE = 'TIMER' @#@@@@ ELSE IF X=1 THEN @ @@@@ WRITERJ )@@G@@ = 'DB DUMP ROUTINE' @[@@@@ ELSE @^@@@@ WRITE = 'LONG RECOVERY'@]@@@@RK )@@G@@ END IF @^@@@@ WRITE T037 IOBUF[2] @B@@@@T037: FORMAT '. NEXT REERL )@@G@@L: ',F6,'.',* @^@@@@ ELSE IF T=040 THEN @^@@@@ IF IOBUF[1]:S3=1 RM )@@G@@THEN @^@@@@ WRITE = ' CHECKPOINT' @[@@@@ ELSE @ @@@@ WRITE = ' RECOVERRN )@@G@@Y POINT' @]@@@@ END IF @]@@@@ LET R=2 @^@@@@ ELSE IF T=047 THERO )@@G@@N @A@@@@ WRITE = ' AUTOMATIC RECOVERY POINT'@]@@@@ LET R=2 @]@@@@RP )@@G@@ END IF @D@@@@ IF P=1 WRITE AREAPG IOBUF[011]:NT1,IOBUF[011]:H2 RQ )@@G@@@C@@@@AREAPG: FORMAT ' AREA ',D,', PAGE ',D,'.',* @]@@@@ IF R=1 THENRR )@@G@@@^@@@@ WRITE RUNID IOBUF[4] @^@@@@ LET =TDATE IOBUF[5] @#@@@@ WRITERS )@@G@@ DATIME @B@@@@RUNID: FORMAT ' WRITTEN BY ''',F6,''' ON '@E@@@@DATIMERT )@@G@@: FORMAT D,'/',D,'/',D,' AT ',Z2,':',Z2,':',Z2,'.',* @#@@@@ ELSE IF R=2RU )@@G@@ THEN @#@@@@ WRITE = ' AT ' @^@@@@ LET X=IOBUF[3] @C@@@@ WRITERV )@@G@@ DATIME X:S1,X:S2,X:S3+64,X:S4,X:S5,X:S6 @]@@@@ END IF @]@@@@ END IRW )@@G@@F @]@@@@ UNTIL B=L @]@@@@ RETURN @]@@@@ERRRTN: @ @[@@@@ ERRORRX )@@G@@@#@@@@ IF ECODE=75 THEN @C@@@@ WRITE = *,'END OF FILE ENCOUNTERED ON TAPRY )@@G@@E.',* @[@@@@ ELSE @[@@@@ ERRPR@]@@@@ END IF @]@@@@ RETURN _@@@@@RZ )@@G@@ERRRTN: @ @[@@@@ ERROR@#@@@@ IF ECODE=75 THEN *[S@@@*SDFF*@D@@@@NOTUSESA )@@G@@: FORMAT *,'*** RECORD NOT IN USE: HDR=',O12,*,*@E@@@@SETHD1: FORMAT 'P/SB )@@G@@A SET TYPE: ',D,' (',WA,'), DBP=',O12 @H@@@@SETHD2: FORMAT ' AT WORDSC )@@G@@S ',O,'-',O,', LENGTH: ',D,'. MEMBER DBP''S: ',D,* @B@@@@SETHD3: FORMSD )@@G@@AT ' RECORD FLAGS: ',O3,' (' @A@@@@SETHD4: FORMAT ', DBK=',O12,'.',* SE )@@G@@@ @@@@LINK: FORMAT ' [',D,'] ',O12@E@@@@PADBP: FORMAT ' = AREA ',D,', SF )@@G@@PAGE ',D,', PGSLOT ',D,'.' @I@@@@FOREGN: FORMAT *,'FOREIGN RECORD, MOSG )@@G@@VED HERE FROM PAGE ',D,', PAGE SLOT ',D,'.',* @E@@@@RECHD1: FORMAT *,'SH )@@G@@RECORD TYPE: ',D,' (',WA,'), DBP=',O12 @I@@@@RECHD2: FORMAT ' AT WORSI )@@G@@DS ',O,'-',O,', LENGTH: ',D,'. RECORD FLAGS: ',O3,' (' @A@@@@RECHD3SJ )@@G@@: FORMAT ', DBK=',O12,'.',* @D@@@@MFCW: FORMAT ' --MANUAL FLAG CONTROSK )@@G@@L WORD --> ',B36,*@A@@@@SETNAM: FORMAT ' --SET ',WA @ @@@@PTRTYPSL )@@G@@: FORMAT C31,' (',<2>F6 @A@@@@X2: FORMAT ' [',D,']',C51,'NEXT: ' @B@@@@SM )@@G@@X2PA: FORMAT ' [',D,']',C51,'OWNER: ' @A@@@@X4: FORMAT C46,'[',D,']'SN )@@G@@,C51,F6,' ' @A@@@@DBP-SH: FORMAT *,C59,D,'/',D,'/',D,*@D@@@@DBP-LG: FORMSO )@@G@@AT ' = AREA ',D,', PAGE ',D,', SLOT ',D,* @#@@@@X3: FORMAT O12 @^@@@@SP )@@G@@KEYNUM: FORMAT '(',D,')'@[@@@@ @ @#@@@@ PARAMETER Z:$ @^@@@@ DIMENSQ )@@G@@SION T(2),G(3) @#@@@@ LET H=PAGE[Z] @#@@@@ IF H:B21=0 THEN @#@@@@SR )@@G@@ WRITE NOTUSE H @]@@@@ GOTO POSITN@]@@@@ END IF @#@@@@ IF H:B22=1 SS )@@G@@THEN @^@@@@ LET D=PAGE[Z+H:H2-1] @]@@@@ LET R=0 @[@@@@ ELSE @^@@@@ST )@@G@@ LET S=RECLOCTOSLOT Z @ @@@@ LET D=ENCODE(ACODE,PGNUM,S) @^@@@@ LET RSU )@@G@@=RECSLOTTONUM S @ @@@@ LET R=ENCODE(ACODE,PGNUM,R) @]@@@@ END IF SV )@@G@@@^@@@@ IF ART[014]:S2=2 THEN @C@@@@ SET H:T1 @ MAKE THIS SESW )@@G@@T CURRENT @]@@@@ WRITE * @D@@@@ IF SRT[4]:H2 <> 0 THEN @ SORTED/INDSX )@@G@@EXED POINTER ARRAY@#@@@@ RECORD SRT[4]:H2 @#@@@@ LET I=3+RDT[1]:H1@^@@@@SY )@@G@@ WRITE = 'INDEXED ' @]@@@@ LET Y=3 @[@@@@ ELSE @]@@@@ LET I=1 SZ )@@G@@@]@@@@ LET Y=1 @]@@@@ END IF @#@@@@ LET E=H:H2-2 @B@@@@ IF H:TA )@@G@@B18=0 AND PAGE[Z+E]<>0 LET E=E+2 @E@@@@ LET X=SRT[1]:S3 TB )@@G@@ @ X IS # WDS IN SET NAME @D@@@@ WRITE SETHD1 SCODE,,D TC )@@G@@@ DUMP SET NAME @]@@@@ IF R=0 THEN@#@@@@ WRITE = '.',* @[@@@@ ELSE TD )@@G@@@#@@@@ WRITE SETHD4 R @]@@@@ END IF @A@@@@ WRITE SETHD2 Z,Z+H:H2-1TE )@@G@@,H:H2,E-I @#@@@@ WRITE SETHD3 H:S3@ @@@@ IF H:B23=1 WRITE = 'CALC, ' TF )@@G@@@A@@@@ IF H:B22=1 WRITE = 'FOREIGN, ' @ @@@@ IF H:B21=1 WRITE = 'IN TG )@@G@@USE, '@ @@@@ IF H:B20=1 WRITE = 'LAST, ' @ @@@@ IF H:B19=1 WRITE = 'MODTH )@@G@@, ' @ @@@@ IF H:B18=1 WRITE = 'DUP, ' @^@@@@ WRITE = X(-2),')',*,* TI )@@G@@@[@@@@ @ @A@@@@ IF H:B18=1 OR PAGE[Z+H:H2-2]=0 THEN@^@@@@ WRITE = '(TTJ )@@G@@HIS IS ' @#@@@@ IF H:B18=0 THEN @#@@@@ WRITE = 'PART 1' @]@@@@ LET FTK )@@G@@=1 @ @@@@ ELSE IF PAGE[Z+E+1]=-0 THEN @ @@@@ WRITE = 'THE FINAL PARTTL )@@G@@' @]@@@@ LET F=3 @[@@@@ ELSE @A@@@@ WRITE = 'AN INTERMEDIATE PARTTM )@@G@@' @]@@@@ LET F=2 @]@@@@ END IF @B@@@@ WRITE = ' OF A MULTI-PATN )@@G@@RT P/A.)',*,* @[@@@@ ELSE @]@@@@ LET F=0 @]@@@@ END IF @^@@@@TO )@@G@@ IF SRT[4]:H2<>0 THEN @A@@@@ WRITE = ' I/S LINK: ' @^@@@@TP )@@G@@ WRITE LINK 1,PAGE[Z+1] @^@@@@ IF PAGE[Z+1]<>0 THEN @ @@@@ LET =DECTQ )@@G@@ODE(PAGE[Z+1]) @#@@@@ WRITE PADBP @]@@@@ END IF @A@@@@ WRITETR )@@G@@ = *,' OWNER DBP: ' @^@@@@ WRITE LINK 2,PAGE[Z+2] @ @@@@ LET =DECODE(PAGE[Z+2]) @#@@@@ WRITE PADBP @]@@@@ WRITE *,* @#@@@@TT )@@G@@ LET K=RDT[010]:S6@]@@@@ LET W=014 @#@@@@ WRITE = 'IPA' @#@@@@ REPEATU )@@G@@T Q=1,1 @#@@@@ WRITE = C5,'KEY' @^@@@@ IF K>1 WRITE KEYNUM Q @#@@@@TV )@@G@@ WRITE = '=''' @#@@@@ EXTRACTKEY Z+1,W @#@@@@ WRITE = '''',* @]@@@@TW )@@G@@ LET W=W+3 @]@@@@ UNTIL Q=K @]@@@@ WRITE * @]@@@@ END IF @[@@@@TX )@@G@@ @ @#@@@@ LET L=3+MODE*3 @]@@@@ REPEAT @#@@@@ REPEAT J=1,1 TY )@@G@@@^@@@@ WRITE LINK Y,PAGE[I+Z] @]@@@@ LET I=I+1 @]@@@@ LET Y=Y+1 @#@@@@TZ )@@G@@ UNTIL J=L OR I=E @]@@@@ WRITE * @]@@@@ UNTIL I=E @]@@@@ WRITE * UA )@@G@@@[@@@@ @ @#@@@@ IF F>=2 THEN @A@@@@ WRITE = ' PRIOR P/A PART: UB )@@G@@ ' @^@@@@ WRITE LINK E,PAGE[Z+E] @ @@@@ LET =DECODE(PAGE[Z+E]) UC )@@G@@@#@@@@ WRITE PADBP @]@@@@ WRITE * @]@@@@ END IF @^@@@@ IF F=UD )@@G@@1 OR F=2 THEN @A@@@@ WRITE = ' NEXT P/A PART: ' @ @@@@ WRITEUE )@@G@@ LINK E+1,PAGE[Z+E+1] @ @@@@ LET =DECODE(PAGE[Z+E+1]) @#@@@@ WRITEUF )@@G@@ PADBP @]@@@@ END IF @#@@@@ IF F>0 WRITE * @]@@@@ GOTO POSITNUG )@@G@@@]@@@@ END IF @#@@@@ IF H:B22=1 THEN @B@@@@ LET =DECODE(PAUH )@@G@@GE[Z+H:H2-1]) @^@@@@ WRITE FOREGN G(2),G(3) @]@@@@ END IF @#@@@@UI )@@G@@ RECORD H:NT1 @#@@@@ LET X=RRT[1]:S3 @A@@@@ WRITE RECHD1 H:NT1,,D@]@@@@ IF R=0 THEN@#@@@@ WRITE = '.',* @[@@@@ ELSE @#@@@@UK )@@G@@ WRITE RECHD3 R @]@@@@ END IF @A@@@@ WRITE RECHD2 Z,Z+H:H2-1,H:H2,UL )@@G@@H:S3 @ @@@@ IF H:B23=1 WRITE = 'CALC, ' @A@@@@ IF H:B22=1 WRITE = 'FORUM )@@G@@EIGN, ' @ @@@@ IF H:B21=1 WRITE = 'IN USE, '@ @@@@ IF H:B20=1 WRITE UN )@@G@@= 'LAST, ' @ @@@@ IF H:B19=1 WRITE = 'MOD, ' @ @@@@ IF H:B18=1 WRITE UO )@@G@@= 'DUP, ' @^@@@@ WRITE = X(-2),')',*,* @^@@@@ LET W=014+3*RDT[010]:S6UP )@@G@@@]@@@@ LET N=1 @#@@@@ REPEAT I=1,1 @]@@@@ IF I=1 THEN@#@@@@ LET LUQ )@@G@@=RDT[3]:S1 @ @@@@ IF L<>0 LET ='OWNER)' @#@@@@ ELSE IF I=2 THEN UR )@@G@@@#@@@@ LET L=RDT[3]:S2 @A@@@@ IF L<>0 LET ='AUTO MEMBER)' @[@@@@US )@@G@@ ELSE @#@@@@ LET L=RDT[3]:S3 @^@@@@ IF RDT[010]:S5<>0 THEN @^@@@@ LET ='MAN. MEMBER)' @#@@@@ LET M=PAGE[Z+N] @#@@@@ WRITE MFCW M @]@@@@UU )@@G@@ LET B=35 @]@@@@ LET N=N+1 @]@@@@ END IF @^@@@@ LET C=N+RDT[010]:UV )@@G@@S5 @]@@@@ END IF @#@@@@ IF L<>0 THEN @#@@@@ REPEAT J=1,1 UW )@@G@@@]@@@@ LET A=1 @]@@@@ IF I=3 THEN@#@@@@ PWORD J9 B,1 @#@@@@ IF M:UX )@@G@@J9=0 THEN @]@@@@ LET A=0 @#@@@@ LET W=W+RDT[W]:H1@]@@@@ END IF UY )@@G@@@]@@@@ LET B=B-1 @]@@@@ END IF @]@@@@ IF A=1 THEN@^@@@@ LET S= RDT[UZ )@@G@@W+1]:H2 @[@@@@ SET S@#@@@@ LET X= SRT[1]:S3 @ @@@@ WRITE SETNAM @^@@@@ IF CHARSW>30 WRITE * @#@@@@ WRITE PTRTYP @#@@@@VB )@@G@@ REPEAT K=1,1 @#@@@@ LET X=RDT[W]:S5 @]@@@@ IF K=1 THEN@^@@@@ IF SDVC )@@G@@T[2]:S1 = 3 THEN @ @@@@ IF SDT[2]:H2 = RDT[1]:H2 THEN@]@@@@ WRITE X2 N VD )@@G@@@[@@@@ ELSE @#@@@@ WRITE X2PA N @]@@@@ END IF @[@@@@ ELSE @]@@@@VE )@@G@@ WRITE X2 N @]@@@@ END IF @#@@@@ ELSE IF K=2 THEN @]@@@@ IF X=2 THENVF )@@G@@@^@@@@ WRITE X4 N,'OWNER:' @[@@@@ ELSE @^@@@@ WRITE X4 N,'PRIOR:' VG )@@G@@@]@@@@ END IF @[@@@@ ELSE @^@@@@ WRITE X4 N,'OWNER:' @]@@@@ END IVH )@@G@@F @#@@@@ LET P=PAGE[Z+N] @]@@@@ WRITE X3 P @]@@@@ IF P=D THEN@#@@@@VI )@@G@@ IF MODE=0 THEN @^@@@@ WRITE = ' -EMPTY',* @[@@@@ ELSE @ @@@@ WRITEVJ )@@G@@ = ' (EMPTY SET)',* @]@@@@ END IF @[@@@@ ELSE @#@@@@ LET =DECVK )@@G@@ODE(P)@#@@@@ IF MODE=0 THEN @#@@@@ WRITE DBP-SH @[@@@@ ELSE @#@@@@VL )@@G@@ WRITE DBP-LG @]@@@@ END IF @]@@@@ END IF @]@@@@ LET N=N+1 VM )@@G@@@#@@@@ UNTIL K=RDT[W]:S4@#@@@@ LET X=RDT[W+2]:S4@]@@@@ LET W=W+3 @#@@@@VN )@@G@@ IF X<>0 THEN @#@@@@ WRITE = C7,'SORT'@#@@@@ REPEAT Q=1,1 @#@@@@VO )@@G@@ WRITE = C12,'KEY'@D@@@@ IF RDT[W]:S1**04 <> 0 THEN @ RECORD NAME IS SORVP )@@G@@T KEY @ @@@@ WRITE = ': RECORD NAME',* @ @@@@ ELSE @ DATA ITEM IS SORVQ )@@G@@T KEY @^@@@@ IF X>1 WRITE KEYNUM Q @#@@@@ WRITE = '=''' @#@@@@ EXTRAVR )@@G@@CTKEY Z,W @#@@@@ WRITE = '''',* @]@@@@ END IF @]@@@@ LET W=W+3 VS )@@G@@@]@@@@ UNTIL Q=X @]@@@@ END IF @]@@@@ END IF @]@@@@ UNTIL J=L VT )@@G@@@]@@@@ END IF @]@@@@ UNTIL I=3 @#@@@@ LET L= RDT[2]:S1 @^@@@@ IF L=VU )@@G@@2 OR L=3 THEN @E@@@@ WRITE = ' --CALC POINTERS --------------------VV )@@G@@----->' @^@@@@ LET X= 1+RDT[8]:S4 @#@@@@ ELSE IF L=5 THEN @E@@@@VW )@@G@@ WRITE = ' --INDEX SEQUENTIAL POINTERS ------------->' @#@@@@ LET XVX )@@G@@= RDT[8]:S4 @]@@@@ END IF @ @@@@ IF L=2 OR L=3 OR L=5 THEN @#@@@@VY )@@G@@ IF X<>0 THEN @]@@@@ LET N=C @]@@@@ WRITE X2 N @^@@@@ WRITE X3 PAVZ )@@G@@GE[Z+N] @^@@@@ IF PAGE[Z+N]<>0 THEN @ @@@@ LET =DECODE(PAGE[Z+NWA )@@G@@]) @#@@@@ IF MODE=0 THEN @#@@@@ WRITE DBP-SH @[@@@@ ELSE @#@@@@WB )@@G@@ WRITE DBP-LG @]@@@@ END IF @[@@@@ ELSE @]@@@@ WRITE * @]@@@@WC )@@G@@ END IF @]@@@@ LET N=N+1 @]@@@@ IF X=2 THEN@^@@@@ WRITE X4 N,'PRIORWD )@@G@@:' @^@@@@ WRITE X3 PAGE[Z+N] @^@@@@ IF PAGE[Z+N]<>0 THEN @ @@@@WE )@@G@@ LET =DECODE(PAGE[Z+N]) @#@@@@ IF MODE=0 THEN @#@@@@ WRITE DBP-SWF )@@G@@H @[@@@@ ELSE @#@@@@ WRITE DBP-LG @]@@@@ END IF @]@@@@ END IWG )@@G@@F @]@@@@ LET N=N+1 @]@@@@ END IF @]@@@@ END IF @#@@@@ LET NWH )@@G@@=RDT[010]:S6@#@@@@ IF N<>0 THEN @]@@@@ LET W=014 @]@@@@ IF L=5 THENWI )@@G@@@#@@@@ WRITE = C7,'I/S' @[@@@@ ELSE @#@@@@ WRITE = C7,'CALC'@]@@@@ END IWJ )@@G@@F @#@@@@ REPEAT Q=1,1 @]@@@@ IF L=5 THEN@#@@@@ WRITE = C11,'KEY'WK )@@G@@@[@@@@ ELSE @#@@@@ WRITE = C12,'KEY'@]@@@@ END IF @^@@@@ IF N>1 WRITWL )@@G@@E KEYNUM Q @#@@@@ WRITE = '=''' @#@@@@ EXTRACTKEY Z,W @#@@@@ WRITEWM )@@G@@ = '''',* @]@@@@ LET W=W+3 @]@@@@ UNTIL Q=N @]@@@@ END IF @]@@@@WN )@@G@@ END IF @]@@@@POSITN: ON B@]@@@@ Z PAGE @[@@@@ OFF B@]@@@@ RETURWO )@@G@@N _@@@@@ IF L=5 THEN@#@@@@ WRITE = C11,'KEY'*[S@@@*SDFF*@#@@@@ WRITEWP )@@G@@ = R,*-0 _@@@@@C]@@@ @]M@B4@]L@]L@@@@Y@@@@@@@@@@@@@@]@@@@ Z PAGE WQ )@@G@@@[@@@@ OFF B@]@@@@ RETURN _@@@@@4 @#@@@@ ELSE IF L=5 THEN @E@@@@WR )@@G@@*[S@@@*SDFF*@^@@@@ PARAMETER T:-1,S:0 @^@@@@ IF T<1 OR T>7 THEN WS )@@G@@@#@@@@ RETURN 'UNDF ' @#@@@@ ELSE IF T=2 THEN @#@@@@ RETURN 'ASMP ' WT )@@G@@@#@@@@ ELSE IF T=3 THEN @#@@@@ RETURN 'COBP' @#@@@@ ELSE IF T=4 THEN WU )@@G@@@#@@@@ RETURN 'FORP' @#@@@@ ELSE IF T=5 THEN @#@@@@ RETURN 'REL' WV )@@G@@@#@@@@ ELSE IF T=6 THEN @#@@@@ RETURN 'ABS' @#@@@@ ELSE IF T=7 THEN WW )@@G@@@#@@@@ RETURN 'OMN' @]@@@@ END IF @#@@@@ DIMENSION N(64) @^@@@@WX )@@G@@ LET =ALL('UNDF ') @C@@@@ LET ='SYM ELT ASM COB FOR WY )@@G@@ ' @C@@@@ LET ='ALG MAP DOC SEC SSG ' @C@@@@ LET ='APL BAS LSP PLS PL1 ' @C@@@@ LET ='CTS FLXA )@@G@@T PNC TCL MSM ' @A@@@@ LET ='MSD MAC APT ' @^@@@@XB )@@G@@ LET N(64)='DBE ' @ @@@@ IF S<0 OR S>63 RETURN 'UNDF' @#@@@@ RETURXC )@@G@@N N(S+1) _@@@@@='SYM ELT ASM COB FOR *[S@@@*SDFF*@C@@@@FNFORMXD )@@G@@: FORMAT WF,' FILENAME: "',<6>WF,'"',*,* @A@@@@VFORM: FORMAT C5,'"',<2XE )@@G@@>F6,'"',* @ @@@@OFORM: FORMAT C5,'"',F6,'"',*@A@@@@SCFORM: FORMAT *,'XF )@@G@@SCHEMA: ',<2>WF,* @A@@@@LVFORM: FORMAT *,'DMS LEVEL = ',D,* @H@@@@SSNFE:XG )@@G@@ FORMAT 'SUBSCHEMA ',<2>WF,' CANNOT BE LOCATED IN FILE ',<2>WF,'.',* XH )@@G@@@H@@@@SSNFT: FORMAT 'SUBSCHEMA ',<2>WF,' CANNOT BE LOCATED IN TIP FILE XI )@@G@@',WF,'.',* @^@@@@PCALL1: FORMAT '@',WF,D @^@@@@PCALL2: FORMAT ',',<2>WFXJ )@@G@@@^@@@@PCALL3: FORMAT <10>WF @ @@@@PCALL4: FORMAT ',',<10>WF @H@@@@XK )@@G@@SIFORM: FORMAT 'CANNOT READ INPUT FILE "',<10>WF,'". DMS LEVEL 8 ASSUMEXL )@@G@@D.',* @G@@@@PROCAL: FORMAT WF,'/ETC 1R1.7 ',F2,'/',F2,'/',F2,X2,F2,':',XM )@@G@@F2,':',F2,* @ @@@@NA4: FORMAT A4 @]@@@@ @ @G@@@@XN )@@G@@ IF OPTS:H WRITE,S = 'ETC PROCESSOR,DMR,OPTION-MAP,SI,RO,SO',* XO )@@G@@@]@@@@ @ @H@@@@ LET CSF = CSF('@ASG,I $$SL$$.') @ FREE SXP )@@G@@CHEMA LIST FILE WHEN DONE @G@@@@ LET CSF = CSF('@ASG,I CSINTNXQ )@@G@@AME$.') @ FREE DBE FILE WHEN DONE @]@@@@ @ @D@@@@ DIM XR )@@G@@PRCSR(1),DMR(1),SI$(10),RO$(10),SO$(10) @]@@@@ @ @F@@@@ XS )@@G@@ PARAMETER ,,OPTMAP,:0,:0,:0 @C@@@@ XT )@@G@@ LET LANG = PRCSR(1) @ PROGRAM LANGUAGE @E@@@@ LET DEBUG? = OPTXU )@@G@@S:Z @ OR OPTMAP:Z @ DEBUG OPTION @]@@@@ @ @I@@@@ WRITXV )@@G@@E PROCAL LANG,DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 XW )@@G@@@]@@@@ @ @D@@@@ LET READ$ = (SI$(1)=0) @ TRUE IF NO "SI"XX )@@G@@ FIELD@C@@@@ IF READ$ THEN @ READING FROM READ$ FILE @B@@@@ XY )@@G@@ LET CSF = CSF('@ASG,T $$ETC2$.')@E@@@@ IF CSF<0 WRITE,S = 'XZ )@@G@@"ETC" INTERNAL ERROR 4.',* @A@@@@ OPEN SDFO $$ETC2$=$$ETC2$.YA )@@G@@@B@@@@ ELSE @ READING FROM "SI" FILE @B@@@@ ERROR SIYB )@@G@@NFG @ IN CASE OF ERROR @A@@@@ OPEN SDFI $$ETC3$= @#@@@@YC )@@G@@ ERROR @#@@@@ END IF @]@@@@ @ @F@@@@ YD )@@G@@ DIM KWFLAGS(12), KWTABLE(12), DATA(15), PCT(3), INBUF(33) @G@@@@ YE )@@G@@ DIM VARIABLE(10,2), OPTIONAL(10), FILENAME(6), SS(2), SCH(2) @]@@@@YF )@@G@@ @ @C@@@@ LET RKEYWORD = 'K' @ REQUIRED KEYWORD @C@@@@YG )@@G@@ LET OKEYWORD = 'O' @ OPTIONAL KEYWORD @C@@@@ LET RVARIAYH )@@G@@BLE = 'V' @ REQUIRED VARIABLE @G@@@@ LET LVARIABLE = 'L' @ REQUIRYI )@@G@@ED VARIABLE: LONGER THAN 2 WORDS @]@@@@ @ @ @@@@ IF LYJ )@@G@@ANG='QLP ' THEN @ @@@@ LET KWFLAGS(1) = 'K'@A@@@@ LEYK )@@G@@T KWTABLE(1) = 'INVOKE' @E@@@@ LET KWFLAGS(2) = 'V' @ YL )@@G@@SUBSCHEMA NAME @ @@@@ LET KWTABLE(2) = '' @ @@@@ LEYM )@@G@@T KWFLAGS(3) = 'O'@A@@@@ LET KWTABLE(3) = 'IN ' @ @@@@ YN )@@G@@ LET KWFLAGS(4) = 'O'@A@@@@ LET KWTABLE(4) = 'OF ' @ @@@@YO )@@G@@ LET KWFLAGS(5) = 'O'@A@@@@ LET KWTABLE(5) = 'TIP ' YP )@@G@@@ @@@@ LET KWFLAGS(6) = 'O'@A@@@@ LET KWTABLE(6) = 'FIYQ )@@G@@LE ' @E@@@@ LET KWFLAGS(7) = 'L' @ FILE NAME / NUMBERYR )@@G@@@ @@@@ LET KWTABLE(7) = '' @]@@@@ @ @^@@@@ LEYS )@@G@@T NUMKW=7 @D@@@@ ELSE IF LANG='DMU ' OR LANG='ADMLP ' THEN YT )@@G@@@ @@@@ LET KWFLAGS(1) = 'K'@A@@@@ LET KWTABLE(1) = 'INYU )@@G@@VOKE' @ @@@@ LET KWFLAGS(2) = 'K'@A@@@@ LET KWTABLE(2)YV )@@G@@ = 'SUBSCH' @E@@@@ LET KWFLAGS(3) = 'V' @ SUBSCHEMA NAYW )@@G@@ME @ @@@@ LET KWTABLE(3) = '' @ @@@@ LET KWFLAGS(4)YX )@@G@@ = 'O'@A@@@@ LET KWTABLE(4) = 'IN ' @ @@@@ LET KWFLYY )@@G@@AGS(5) = 'O'@A@@@@ LET KWTABLE(5) = 'TIP ' @ @@@@ LEYZ )@@G@@T KWFLAGS(6) = 'O'@A@@@@ LET KWTABLE(6) = 'FILE ' @E@@@@ ZA )@@G@@ LET KWFLAGS(7) = 'L' @ FILE NAME / NUMBER@ @@@@ LEZB )@@G@@T KWTABLE(7) = '' @ @@@@ LET KWFLAGS(8) = 'O'@A@@@@ LEZC )@@G@@T KWTABLE(8) = 'OF ' @ @@@@ LET KWFLAGS(9) = 'K'@A@@@@ ZD )@@G@@ LET KWTABLE(9) = 'SCHEMA' @D@@@@ LET KWFLAGS(10) = 'V' ZE )@@G@@ @ SCHEMA NAME @ @@@@ LET KWTABLE(10) = ''@]@@@@ @ ZF )@@G@@@^@@@@ LET NUMKW=10 @A@@@@ ELSE IF LANG='SDDL ' THEN ZG )@@G@@@ @@@@ LET KWFLAGS(1) = 'K'@A@@@@ LET KWTABLE(1) = 'SUZH )@@G@@BSCH' @ @@@@ LET KWFLAGS(2) = 'O'@A@@@@ LET KWTABLE(2)ZI )@@G@@ = 'NAME ' @ @@@@ LET KWFLAGS(3) = 'O'@A@@@@ LET KWTAZJ )@@G@@BLE(3) = 'IS ' @E@@@@ LET KWFLAGS(4) = 'V' @ SUBSCHZK )@@G@@EMA NAME @ @@@@ LET KWTABLE(4) = '' @ @@@@ LET KWFLZL )@@G@@AGS(5) = 'O'@A@@@@ LET KWTABLE(5) = 'IN ' @ @@@@ LEZM )@@G@@T KWFLAGS(6) = 'O'@A@@@@ LET KWTABLE(6) = 'TIP ' @ @@@@ ZN )@@G@@ LET KWFLAGS(7) = 'O'@A@@@@ LET KWTABLE(7) = 'FILE ' @E@@@@ZO )@@G@@ LET KWFLAGS(8) = 'L' @ FILE NAME / NUMBER@ @@@@ ZP )@@G@@ LET KWTABLE(8) = '' @ @@@@ LET KWFLAGS(9) = 'O'@A@@@@ ZQ )@@G@@ LET KWTABLE(9) = 'OF ' @A@@@@ LET KWFLAGS(10) = 'K' ZR )@@G@@@A@@@@ LET KWTABLE(10) = 'SCHEMA'@D@@@@ LET KWFLAGS(11ZS )@@G@@) = 'V' @ SCHEMA NAME @ @@@@ LET KWTABLE(11) = ''@]@@@@ZT )@@G@@ @ @^@@@@ LET NUMKW=11 @]@@@@ ELSE@E@@@@ ZU )@@G@@ WRITE,S = 'UNKNOWN SUBSCHEMA LANGUAGE TYPE.',* @#@@@@ END ZV )@@G@@IF @]@@@@ @ @F@@@@ @ READ INPUT LINE-BY-LINE, UNTIL AZW )@@G@@ SCHEMA NAME IS FOUND @]@@@@ @ @^@@@@ LET KW^ = 1 ZX )@@G@@@#@@@@ LET O^ = 1@#@@@@ LET V^ = 1@^@@@@ LET DONE =ZY )@@G@@ 0 @]@@@@ @ @B@@@@ REPEAT @ LOOP THRU LINES OF DATA ZZ )@@G@@@]@@@@ @ @A@@@@ @ READ A LINE OF DATA @]@@@@ AA )@@G@@ @ @D@@@@ IF READ$ THEN @ READING FROM READ$ FILE @A@@@@AB )@@G@@ ERROR EOF @ JUST IN CASE@C@@@@ TREAD '', @AC )@@G@@ READ AN IMAGE @#@@@@ ERROR @F@@@@ PUT $$ETC2$ AD )@@G@@ @ WRITE IMAGE TO SAVEFILE@A@@@@ LET CHARSREAAE )@@G@@D = 6*NWORDS@B@@@@ ELSE @ READING FROM "SI" FILE @E@@@@ AF )@@G@@ GET $$ETC3$ (EOF=EOF) @ READ AN IMAGE @C@@@@ AG )@@G@@IF CHRSET = 1 THEN @ ASCII IMAGE @B@@@@ LET CHARSREAD = AH )@@G@@4 * NWORDS @A@@@@ IF NWORDS > 0 THEN @G@@@@ AI )@@G@@ WRITE NA4 @ PUT IT IN FIELDATA IN WBUF @E@@@@ AJ )@@G@@ LET = @ THEN COPY IT BACK @C@@@@ AK )@@G@@ WRITE = R @ CLEAR WRITE BUFFER @^@@@@ END IF @B@@@@AL )@@G@@ ELSE @ FIELDATA IMAGE READ @B@@@@ LET CHARSRAM )@@G@@EAD = 6*NWORDS @#@@@@ END IF@#@@@@ END IF @A@@@@AN )@@G@@ IF LANG='ADMLP ' THEN @F@@@@ IF CHARSREAD>72 LEAO )@@G@@T CHARSREAD=72 @ IGNORE COMMENTS @D@@@@ LET INBUF(1)=' AP )@@G@@ ' @ CLEAR COLS 1-6 @#@@@@ END IF @^@@@@ IF DEBUGAQ )@@G@@? THEN@A@@@@ WRITE = *,'LINE READ:',*@^@@@@ P!,F IAR )@@G@@NBUF @#@@@@ END IF @]@@@@ @ @^@@@@ LET IN^ AS )@@G@@= 1 @D@@@@ LET CONTIN? = 0 @ MARK AS NOT CONTINUED @C@@@@AT )@@G@@ REPEAT @ LOOP THRU WORDS ON A LINE @G@@@@ WHILE AU )@@G@@IN^ <= CHARSREAD AND [INBUF:IN^,6] = ' ' @ SPAN SPACES@A@@@@ AV )@@G@@ LET IN^ = IN^ + 1 @^@@@@ END WHILE @#@@@@ AW )@@G@@@ @#@@@@ @ @H@@@@ IF IN^>CHARSREAD OR [INBAX )@@G@@UF:IN^,6]=';' OR [INBUF:IN^,6]='.' THEN @D@@@@ LET CONTINAY )@@G@@? = 1 @ FLAG AS CONTINUED @H@@@@ ELSE IF LANG='QLP ' ANAZ )@@G@@D [INBUF:1,6]='*' THEN @ QLP: "*" IN COL 1@ @@@@ LET CONTINBA )@@G@@?=1 @I@@@@ ELSE IF LANG='ADMLP ' AND [INBUF:7,6]='*' THEN @BB )@@G@@ ADMLP: "*" IN COL 7 @ @@@@ LET CONTIN?=1 @I@@@@ BC )@@G@@ ELSE IF LANG='ADMLP ' AND [INBUF:7,6]='/' THEN @ ADMLP: "/" IN COLBD )@@G@@ 7 @ @@@@ LET CONTIN?=1 @#@@@@ ELSE @D@@@@BE )@@G@@ LET PCT(1) = IN^ @ CHAR # TO START WITH @C@@@@ BF )@@G@@ LET MAXCHARS = CHARSREAD - IN^ + 1@D@@@@ @ IF MAXCHARS > BG )@@G@@12 LET MAXCHARS = 12 @I@@@@ LET =BREAK ,' BH )@@G@@ ;.',MAXCHARS, @ GET REST OF WORD @F@@@@ IF PCT(3) CHARSREAD LET CONTIN? = 1 @#@@@@ BN )@@G@@ @ @ @@@@ LET LOOP? = 1 @ @@@@ WHILE LOOPBO )@@G@@? @H@@@@ IF KWFLAGS(KW^) = OKEYWORD THEN @ EXPECTING BP )@@G@@OPTIONAL KEYWORD @F@@@@ IF DEBUG? WRITE = 'EXPECTING OBQ )@@G@@PTIONAL KEYWORD',*@F@@@@ IF DATA(1) = KWTABLE(KW^) THENBR )@@G@@ @ FOUND A MATCH @F@@@@ IF DEBUG? WRITE = 'MATCHED OBS )@@G@@PTIONAL KEYWORD',*@G@@@@ LET OPTIONAL(O^) = DATA(1) @BT )@@G@@ SAVE OPTIONAL DATA @E@@@@ LET O^ = O^ + 1 @ PREPBU )@@G@@ARE FOR NEXT TIME @D@@@@ LET LOOP? = 0 @ END THIS LOOBV )@@G@@P @H@@@@ LET KEEPLOOKING? = 0 @ WE ALREADY KNOW WBW )@@G@@HAT KIND IT IS @B@@@@ ELSE @ NOT THIS ONE @G@@@@BX )@@G@@ IF DEBUG? WRITE = 'NO MATCH ON OPTIONAL KEYWORD',* BY )@@G@@@E@@@@ LET KW^ = KW^ + 1, 1 @ TRY NEXT ONE @D@@@@BZ )@@G@@ IF KW^ > NUMKW THEN @ HIT THE END?@D@@@@ CA )@@G@@ LET LOOP? = 0 @ STOP THIS LOOP @F@@@@ LECB )@@G@@T KEEPLOOKING? = 0 @ DON'T KEEP SEARCHING @D@@@@ LECC )@@G@@T KW^ = 1 @ START OVER AGAIN @A@@@@ LET V^ = 1 CD )@@G@@@A@@@@ LET O^ = 1 @ @@@@ END CE )@@G@@IF @^@@@@ END IF@E@@@@ ELSE @ NOT EXPCF )@@G@@ECTING AN OPTIONAL KEYWORD @C@@@@ LET LOOP? = 0 @ GECG )@@G@@T OUT NOW @E@@@@ LET KEEPLOOKING? = 1 @ AND CONTINUE CH )@@G@@SCAN @^@@@@ END IF @^@@@@ END WHILE @#@@@@CI )@@G@@ @ @A@@@@ IF KEEPLOOKING? THEN @@G@@@@ CJ )@@G@@ IF KWFLAGS(KW^) = RKEYWORD THEN @ LOOKING FOR A KEYWORD @F@@@@CK )@@G@@ IF DEBUG? WRITE = 'EXPECTING REQUIRED KEYWORD',*@F@@@@CL )@@G@@ IF DATA(1) = KWTABLE(KW^) THEN @ FOUND A KEYWORD@G@@@@CM )@@G@@ IF DEBUG? WRITE = 'MATCH ON REQUIRED KEYWORD',* CN )@@G@@@G@@@@ LET KW^ = KW^ +1 @ POINT TO NEXT KEYWORD TABLECO )@@G@@ ENTRY@C@@@@ ELSE @ NOT WHAT WE EXPECTED @I@@@@ CP )@@G@@ IF DEBUG? WRITE = 'NO MATCH ON REQUIRED KEYWORD. START AGACQ )@@G@@IN.',*@D@@@@ LET KW^ = 1 @ START OVER AGAIN @ @@@@CR )@@G@@ LET V^ = 1@ @@@@ LET O^ = 1@^@@@@CS )@@G@@ END IF@C@@@@ ELSE @ LOOKING FOR VARIABLCT )@@G@@E @I@@@@ IF DEBUG? WRITE = 'EXPECTING VARIABLE. WILCU )@@G@@L KEEP THIS ONE.',* @G@@@@ LET VARIABLE(V^,1) = DATCV )@@G@@A(1) @ SAVE VARIABLE DATA @C@@@@ LET VARIABLE(V^,2)CW )@@G@@ = DATA(2) @H@@@@ IF KWFLAGS(KW^)='L' LET = @ LONG VARIABLE @E@@@@ LET V^ = V^ + 1 @ PREPARCY )@@G@@E FOR NEXT TIME @F@@@@ LET KW^ = KW^ + 1 @ NEXT ENTRYCZ )@@G@@ IN KEYWORD TABLE @^@@@@ END IF @^@@@@ END DA )@@G@@IF @#@@@@ @ @B@@@@ IF KW^ > NUMKW LET DONDB )@@G@@E = 1 @#@@@@ END IF@#@@@@ @ @B@@@@ UNDC )@@G@@TIL CONTIN? = 1 OR DONE = 1 @]@@@@ @ @^@@@@ UNTIL DONEDD )@@G@@ = 1 @C@@@@ IF DEBUG? WRITE = 'END OF PARSING.',* @]@@@@ DE )@@G@@ @ @B@@@@ LET TIP?=0 @ ASSUME EXEC-8 FILE @F@@@@ IF ODF )@@G@@^>1 THEN @ CAN ONLY BE TIP IF OPTIONALS INCLUDE 'TIP' @C@@@@ REDG )@@G@@PEAT I=1,1 @ LOOP THRU ALL OPTIONALS@C@@@@ IF OPTIONAL(I)='TIDH )@@G@@P ' LET TIP?=1 @ @@@@ UNTIL I=O^ OR TIP?=1@#@@@@ END DI )@@G@@IF @]@@@@ @ @ @@@@ IF DEBUG? THEN @ DEBUG@F@@@@ DJ )@@G@@ WRITE FNFORM (TIP?=0)*'EXEC'+(TIP?*'TIP'), @A@@@@ DK )@@G@@ WRITE = 'VARIABLES: ',* @^@@@@ REPEAT I=1,1 @D@@@@ DL )@@G@@ WRITE VFORM VARIABLE(I,1),VARIABLE(I,2) @^@@@@ UNTIL I=DM )@@G@@V^-1 @A@@@@ WRITE = *,'OPTIONALS: ',* @^@@@@ IF O^>1 DN )@@G@@THEN @^@@@@ REPEAT I=1,1@B@@@@ WRITE OFORM OPTIDO )@@G@@ONAL(I) @^@@@@ UNTIL I=O^-1@#@@@@ END IF @#@@@@DP )@@G@@ END IF @]@@@@ @ @F@@@@ @ QLP SYNTAX DOES NOT DQ )@@G@@SPECIFY A SCHEMA NAME, SO WE MUST @F@@@@ @ READ THE SUBSCHEMA SDR )@@G@@PECIFIED FROM ITS FILE TO FIND TO @A@@@@ @ WHICH SCHEMA IT BELODS )@@G@@NGS. @]@@@@ @ @F@@@@ IF LANG='QLP ' THEN @ MUST READ DT )@@G@@SS TO FIND SCHEMA IF QLP@F@@@@ LET SS(1)=VARIABLE(1,1) @ DU )@@G@@SAVE SUBSCHEMA NAME @A@@@@ LET SS(2)=VARIABLE(1,2) @E@@@@DV )@@G@@ LET FILENAME(1)=VARIABLE(2,1) @ AND FILE NAME @B@@@@ DW )@@G@@ LET FILENAME(2)=VARIABLE(2,2) @E@@@@ LET TOC^ = -1 @ JUSTDX )@@G@@ IN CASE WE FAIL FILE READ @C@@@@ ERROR FILENG @ PREPARE FORDY )@@G@@ I/O ERROR @A@@@@ IF TIP?=0 THEN @ EXEC FILE@E@@@@ DZ )@@G@@LET TS = TOCSIZE @ FIND SIZE OF TOC @^@@@@ DIM TOEA )@@G@@C(TS) @D@@@@ LET = GETTOC @ READ TOC @ @@@@EB )@@G@@ ELSE @ TIP FILE @E@@@@ LET TS = TOCSIZE,T @ FIND SIZE OF TOC@^@@@@ DIM TOC(TS) @D@@@@ ED )@@G@@LET = GETTOC,T @ READ TOC@#@@@@ END IF @G@@@@EE )@@G@@ LET TOC^ = PFS,A , @ LOCATE SUBSCHEMA IN TOC EF )@@G@@@#@@@@FILENG: ERROR @B@@@@ IF TOC^ < 0 THEN @ NOT FOUND EG )@@G@@@ @@@@ IF TIP?=0 THEN @B@@@@ WRITE SSNFE EH )@@G@@, @#@@@@ ELSE @B@@@@ WRITE SSNFT EI )@@G@@,FILENAME(1)@#@@@@ END IF@F@@@@ STOP @ END IT ALL EJ )@@G@@HERE IF WE CAN'T LOCATE SUBSCHEMA! @#@@@@ END IF @]@@@@ EK )@@G@@ @ @^@@@@ IF TIP? THEN @B@@@@ OPEN DISC,T SCHFILEL )@@G@@= @#@@@@ ELSE @B@@@@ OPEN DISC SCHFIL= @#@@@@ END IF @F@@@@ GET SCHFIL(BLOCK=TOCEN )@@G@@(TOC^+010),NWORDS=28) @ READ SFD @^@@@@ CLOSE SCHFIL @E@@@@EO )@@G@@ LET = @ SAVE SCHEMA NAME @ @@@@ EP )@@G@@ ELSE @ OTHER THAN QLP @A@@@@ LET SCH(1) = VARIABLE(3,1)@A@@@@EQ )@@G@@ LET SCH(2) = VARIABLE(3,2)@#@@@@ END IF @G@@@@ ER )@@G@@ IF LANG='QLP ' AND SCH(1)=0 THEN @ MUST BE ADP APPLICATION @A@@@@ES )@@G@@ LET LEV=8 @ ASSUME LEVEL 8@D@@@@ GOTO BLDADD @ DON'T ET )@@G@@BOTHER WITH SCHEMA LIST @#@@@@ END IF @A@@@@ IF DEBUG? EU )@@G@@WRITE SCFORM @]@@@@ @ @ @@@@ @ READ SCHEMA LIST EV )@@G@@@]@@@@ @ @A@@@@ ERROR SLNFG @ JUST IN CASE @A@@@@ EW )@@G@@ OPEN DISC $$SL$$=$$SL$$ @G@@@@ GET $$SL$$ (BLOCK=0, NWORDS=EX )@@G@@1) @ READ # SCHEMAS IN LIST@F@@@@ GET $$SL$$ (BLOCK=1, NEY )@@G@@WORDS=IOBUF[0]*2) @ READ SCHEMA LIST@^@@@@ CLOSE $$SL$$ @#@@@@EZ )@@G@@ ERROR @B@@@@ LET CSF = CSF ('@FREE $$SL$$') @]@@@@FA )@@G@@ @ @E@@@@ @ SEARCH FOR SCHEMA NAME IN SCHEMA LIST (IN IOFB )@@G@@BUF) @]@@@@ @ @^@@@@ LET DONE = 0 @^@@@@ LET FC )@@G@@IO^ = 0 @^@@@@ WHILE DONE=0 @H@@@@ LET IO^ = SEARFD )@@G@@CH ( , SCH(1), IO^, 2) @ FIND 1ST WD OF SCHEMA @B@@@@ IFFE )@@G@@ IO^ < 0 THEN @ NOT IN LIST @^@@@@ LET DONE = 1@A@@@@ FF )@@G@@ ELSE @ MATCH ON 1ST WORD @F@@@@ IF IOBUF[IO^+1] = SCH(2)FG )@@G@@ THEN @ MATCH ON 2ND WORD TOO @ @@@@ LET DONE = 1 @B@@@@FH )@@G@@ ELSE @ 2ND WORD DOESN'T MATCH @D@@@@ LET IO^ = FI )@@G@@IO^ + 2 @ POINT TO NEXT ENTRY @#@@@@ END IF@#@@@@ ENFJ )@@G@@D IF @#@@@@ END WHILE @]@@@@ @ @B@@@@ IF IO^ < 0FK )@@G@@ THEN @ NOT IN LIST @B@@@@ LET LEV = 10 @ MUST BE LEVEL 10 FL )@@G@@@A@@@@ ELSE @ FOUND IN SCHEMA LIST @B@@@@ LET LEV = 8 @ FM )@@G@@MUST BE LEVEL 8 @#@@@@ END IF @A@@@@BLDADD: IF DEBUG? WRITE FN )@@G@@LVFORM LEV @A@@@@ IF DMR(1) = 'PDMS ' THEN @^@@@@ LEFO )@@G@@T AP = 1 @B@@@@ ELSE IF DMR(1) = 'TDMS ' THEN @^@@@@ FP )@@G@@ LET AP = 2 @B@@@@ ELSE IF DMR(1) = 'VDMS ' THEN @^@@@@FQ )@@G@@ LET AP = 3 @]@@@@ ELSE@C@@@@ WRITE,S = '"ETFR )@@G@@C" INTERNAL ERROR 2.',* @#@@@@ END IF @A@@@@ IF LEV=10 FS )@@G@@LET AP = AP + 3 @]@@@@ @ @E@@@@ @ BUILD ADD-STREAM CALFT )@@G@@LING THE APPROPRIATE PROCESSOR@]@@@@ @ @B@@@@ LET CSF = FU )@@G@@CSF('@ASG,T $$ETC1$.') @D@@@@ IF CSF<0 WRITE,S = '"ETC" INTERNALFV )@@G@@ ERROR 1.',*@A@@@@ OPEN SDFO $$ETC1$=$$ETC1$. @]@@@@ @ FW )@@G@@@A@@@@ WRITE PCALL1 ,AP @G@@@@ OPTBIT2ALPHA,WL FX )@@G@@OPTMAP @ ADD COMMA AND OPTIONS IF NECESSARY @^@@@@ WRITE = ' FY )@@G@@' @B@@@@ IF SI$(1)<>0 WRITE PCALL3 @B@@@@ IF RFZ )@@G@@O$(1)<>0 WRITE PCALL4 @B@@@@ IF SO$(1)<>0 WRITE PCALL4 @H@@@@ PUT $$ETC1$ * @ PROCEGB )@@G@@SSOR CALL LINE @ @@@@ IF DEBUG? WRITE * @#@@@@ WRITGC )@@G@@E = R @]@@@@ @ @^@@@@ IF READ$ THEN @D@@@@ CLGD )@@G@@OSE $$ETC2$ @ CLOSE INPUT IMAGE SAVEFILE @A@@@@ WRITE = '@ADD GE )@@G@@$$ETC2$.' @G@@@@ PUT $$ETC1$ * @GF )@@G@@ "@ADD INVOKE ..."@ @@@@ IF DEBUG? WRITE * @^@@@@ WRGG )@@G@@ITE = R @#@@@@ END IF @]@@@@ @ @B@@@@CLOSE1: CLOSGH )@@G@@E $$ETC1$ @ CLOSE @ADD FILE @]@@@@ @ @A@@@@ @ ADD THE GI )@@G@@FILE "$$ETC1$" @]@@@@ @ @E@@@@ IF DEBUG? WRITE = 'NOWGJ )@@G@@ @ADDING FILE "$$ETC1$"',* @B@@@@ LET CSF = CSF ('@ADD,L $$ETCGK )@@G@@1$.') @]@@@@ @ @ @@@@ @ THAT'S ALL FOLKS @]@@@@ GL )@@G@@ @ @]@@@@ STOP@]@@@@ @ @C@@@@SLNFG: WRITE = '"ETC" IGM )@@G@@NTERNAL ERROR 3.',* @]@@@@ STOP@]@@@@ @ @G@@@@SINFG:GN )@@G@@ ERROR @ CAN'T READ SI FILE @ @@@@GO )@@G@@ WRITE SIFORM @A@@@@ LET LEV=8 @ ASSUME LEVEL 8 GP )@@G@@@A@@@@ GO TO BLDADD @ AND CONTINUE @]@@@@ @ @#@@@@EOF: GQ )@@G@@ ERROR @L@@@@ WRITE = 'END OF FILE ENCOUNTERED BEFORE SCHEMAGR )@@G@@ NAME LOCATED. WILL ABORT JOB VIA "@ABORT"',* @B@@@@ LET CSF = GS )@@G@@CSF('@ASG,T $$ETC1$.') @D@@@@ IF CSF<0 WRITE,S = '"ETC" INTERNALGT )@@G@@ ERROR 1.',*@A@@@@ OPEN SDFO $$ETC1$=$$ETC1$. @H@@@@ WRITGU )@@G@@E = '@ABORT- . *** ABORT JOBSTREAM IF SCHEMA NAME NOT LOCATED!' @H@@@@GV )@@G@@ PUT $$ETC1$ * @ PROCESSOR CALL LIGW )@@G@@NE @ @@@@ IF DEBUG? WRITE * @#@@@@ WRITE = R @C@@@@GX )@@G@@ GOTO CLOSE1 @ CLOSE $$ETC1$ AND @ADD IT @]@@@@ @ @J@@@@GY )@@G@@ @ WRITE = 'END OF FILE ENCOUNTERED BEFORE SCHEMA NAME LOCATED. LEVGZ )@@G@@EL 8 ASSUMED.',* @A@@@@ @ LET LEV=8 @ ASSUME LEVEL 8 @A@@@@ @ HA )@@G@@ GO TO BLDADD @ AND CONTINUE _@@@@@RS, @ GET REST OF WORD @F@@@@HB )@@G@@ IF PCT(3)<7 LET DATA(2) = ' '*[S@@@*SDFF*@D@@@@ DIM CHC )@@G@@MP(1), EXP( RDT[1]:H1 + RDT[5]:H2), DO$LIST(1) @E@@@@ PARAMETER CMP, DOHD )@@G@@$LIST @ ACCEPT ARRAY OF COMPRESSED DATA @E@@@@ @ HE )@@G@@ & ADDR OF ARRAY FOR "D/O" VALUES@[@@@@ @ @E@@@@ IF RDT[2]:S2 = 0 HF )@@G@@RETURN @ NO ODO'S, RETURN INPUT @[@@@@ @ @#@@@@ LET DO$LISTHG )@@G@@^ = 1 @B@@@@ LET ODO^ = RDT[010]:H1 @ ODO ADDENDUM @C@@@@ LET DATA^ =HH )@@G@@ 1 + RDT[5]:H2 @ 1ST WD OF DATA @#@@@@ LET EXP^ = 1 @#@@@@ LET CHI )@@G@@MP^ = 1 @[@@@@ @ @ @@@@ REPEAT ODO# = RDT[2]:S2, -1 @D@@@@ LET DHJ )@@G@@O^ = DATA^ + RDT [ODO^+3]:H2 @ OFFSET TO DO ITEM@B@@@@ LET BIT^ = RDT[ODHK )@@G@@O^]:S5 @ STARTING BIT # @ @@@@ IF RDT [ODO^+3]:H1 > 36 THEN @G@@@@ WRITEHL )@@G@@ = ' "DEPENDING ON" ITEM IS > 1 WORD, TOO LONG.',* @]@@@@HM )@@G@@ RETURN @]@@@@ END IF @D@@@@ IF RDT [ODO^+3]:H1 > BIT^+1 THEN @ HN )@@G@@SPANS 2 WORDS @E@@@@ LET NUMBITS = RDT [ODO^+3]:H1 - BIT^ - 1 @ # BIHO )@@G@@TS IN 2ND WD@^@@@@ PWORD J9 35,NUMBITS @D@@@@ LET DO$VAL = CMP (DO^+1HP )@@G@@):J9 @ EXTRACT 2ND PORTION @[@@@@ @ @^@@@@ PWORD J9 BIT^, BIT^+1 HQ )@@G@@@B@@@@ PWORD J8 RDT [ODO^+3]:H1 - 1, BIT^+1 @D@@@@ LET DO$VAL:J8 = CHR )@@G@@MP (DO^):J9 @ EXTRACT 1ST PORTION @^@@@@ ELSE @ ALL IN ONE WORD @A@@@@HS )@@G@@ PWORD J9 BIT^, RDT [ODO^+3]:H1 @C@@@@ LET DO$VAL = CMP (DO^):J9 @ EHT )@@G@@XTRACT "DO" VALUE @]@@@@ END IF @[@@@@ @ @D@@@@ LET DO$LIST (DO$LHU )@@G@@IST^):H2 = DO$VAL @ SAVE IN DO$LIST @F@@@@ LET DO$LIST (DO$LIST^):H1 = RHV )@@G@@DT [ODO^+2]:H1 @ SAVE LEN OF 1 OCC @ @@@@ LET DO$LIST^ = DO$LIST^ + 1 HW )@@G@@@ @@@@ @ WRITE D DO$VAL @[@@@@ @ @E@@@@ LET LAST$WD = DO$HX )@@G@@VAL * RDT [ODO^+2]:H1 + 34 - RDT [ODO^]:S6@^@@@@ IF LAST$WD < 0 THEN HY )@@G@@@#@@@@ LET LAST$WD = 0 @[@@@@ ELSE @ @@@@ LET LAST$WD = LAST$WD / 36 HZ )@@G@@@]@@@@ END IF @G@@@@ LET LAST$WD = LAST$WD + 1 + DATA^ + RDT [ODO^+2IA )@@G@@]:H2 @ LAST WD OF ODO @E@@@@ IF RDT[ODO^]:S4 AND LAST$WD = RDT [ODO^+4IB )@@G@@]:H1 GOTO NXTODO @F@@@@ @ IF NEXT ITEM STARTS IN SAME WD WHERE THIS ONEIC )@@G@@ ENDS, GOTO NXTODO@[@@@@ @ @ @@@@ LET NUMWDS = LAST$WD - EXP^ @E@@@@ID )@@G@@ IF RDT[ODO^]:S6 = 35 AND DO$VAL = 0 THEN @ PRESERVE DMR BUG@^@@@@ LET NIE )@@G@@UMWDS = NUMWDS - 1@ @@@@ LET LAST$WD = LAST$WD - 1 @]@@@@ END IF IF )@@G@@@[@@@@ @ @ @@@@ @ WRITE SA EXP^ @ @@@@ @ WRITEIG )@@G@@ XFER NUMWDS@#@@@@ IF NUMWDS>0 THEN @E@@@@ LET = @ @@@@ LET CMP^ = CMP^ + NUMWDS @]@@@@II )@@G@@ END IF @[@@@@ @ @E@@@@ IF ODO#=1 AND RDT [ODO^]:S4 = 0 GOTO DONEIJ )@@G@@ @ NO FIXED AT END@D@@@@ LET EXP^ = DATA^ + RDT [ODO^+4]:H1 @ NEXT STARTIK )@@G@@ WORD @^@@@@ LET ODO^ = ODO^ + 4 @#@@@@ UNTIL ODO# = 1 @ @@@@ @ COPIL )@@G@@Y FIXED AREA AT END @E@@@@ LET NUMWDS = RDT[1]:H1 - RDT [ODO^]:H1 @ IM )@@G@@REST OF RECORD @E@@@@ LET = @[@@@@ @ @#@@@@DONE: RETURN @[@@@@ @ @ @@@@D: FORIO )@@G@@MAT 'DO VALUE = ',D,* @A@@@@SA: FORMAT 'START ADDRESS = ',O,* @A@@@@IP )@@G@@XFER: FORMAT '# WDS TO XFER = ',D,* _@@@@@ND RDT [ODO^]:S4 = 0 GOTO DONEIQ )@@G@@ @ NO FIXED AT END@D@@@@ LET EXP^ = DATA^ + RDT [ODO^+4]:H1 @ NEXT STARTIR )@@G@@ WORD @^@@@@ LET ODO^ = ODO^ + 4 @#@@@@ UNTIL*[S@@@*SDFF*@^@@@@ DIMENIS )@@G@@SION ARGUMENT(10) @^@@@@ PARAMETER :0 @E@@@@ IF ARGUMENT(1)=0 IT )@@G@@THEN @ REQUEST FOR EXPLANATION OF AN ERROR@A@@@@ IF ECODE < -1 THEN @ NOIU )@@G@@ ERROR YET @B@@@@ WRITE = R,'NO ERROR HAS OCCURRED YET',* @]@@@@ RETURIV )@@G@@N @[@@@@ ELSE @[@@@@ ERRPR@^@@@@ WRITE PRTMSG ECODE @E@@@@PRTMSGIW )@@G@@: FORMAT R,*,R,'PRT,N DBE$HELPLIB.E$',D,'/EXPLANATION'@[@@@@ * @]@@@@IX )@@G@@ END IF @B@@@@ ELSE @ SPECIFIC ERROR OR TOPIC REQUEST @]@@@@ ERRORIY )@@G@@ TOPIC@E@@@@ OPEN SDFI TEST=DBE$HELPLIB.E$/EXPLANATION IZ )@@G@@@[@@@@ CLOSE@C@@@@ ERROR @ IF IT MADE IT HERE: SPECIFIC ERROR @E@@@@JA )@@G@@ LET ERROR$CODE = VALUE() @ SO GET ERROR CODE # @B@@@@ ERRPRJB )@@G@@,N ERROR$CODE @ PRINT ERROR MESSAGE @C@@@@ WRITE PRTMSG ECODE @ NOW PREPJC )@@G@@ARE "PRT" REQUEST @]@@@@ * @ DO IT @]@@@@ RETURN @]@@@@TOPIC: ERRORJD )@@G@@@^@@@@ WRITE TOPICF @H@@@@TOPICF: FORMAT R,'LET STATUS = PRT,NJE )@@G@@ DBE$HELPLIB.T$',<2>WF,'/EXPLANATION' @]@@@@ * @ DO IT @^@@@@ IF STJF )@@G@@ATUS = 0 RETURN @A@@@@ IF STATUS = 86 OR STATUS = 27 THEN @^@@@@ WRITEJG )@@G@@ NOEXPL @H@@@@NOEXPL: FORMAT R,'THERE IS NO EXPLANATION FOR THJH )@@G@@E TOPIC OF "',<10>WF,'"',* @[@@@@ ELSE @[@@@@ ERRPR@]@@@@ END IF JI )@@G@@@]@@@@ END IF _@@@@@ NOEXPL @H@@@@NOEXPL: FORMAT R,'THERE JJ )@@G@@IS NO EXPLANATION FOR THE TOPIC OF "',<10>WF,'"',* @[@@@@ ELSE @[@@@@JK )@@G@@ ERRPR@]@@@@ END IF *[S@@@*SDFF*@^@@@@ DIM RECDATA(1), KIE(1) @A@@@@JL )@@G@@ PARAMETER RECDATA, KIE, PR$LIM:0 @[@@@@ @ @^@@@@ IF PR$LIM = 0 THEJM )@@G@@N @#@@@@ IF OPTS:C THEN @#@@@@ LET PR$LIM = 71 @[@@@@ ELSE @#@@@@JN )@@G@@ IF MODE = 0 THEN @#@@@@ LET PR$LIM = 76 @[@@@@ ELSE @#@@@@ LET PR$LIM JO )@@G@@= 132 @]@@@@ END IF @]@@@@ END IF @]@@@@ END IF @[@@@@ @ JP )@@G@@@#@@@@ PWORD J9 29,3 @^@@@@ LET ASCFD = KIE(1):J9 @^@@@@ LET TYPE = JQ )@@G@@KIE(1):S2**7@B@@@@ LET ST$WD = 1 + RDT[5]:H2 + KIE(1):H2 @^@@@@ LET SJR )@@G@@T$BIT = KIE(1):S3 @ @@@@ LET NUM$BITS = KIE(2):H2 @[@@@@ @ @ @@@@JS )@@G@@ IF ASCFD=0 OR ASCFD=2 THEN @^@@@@ LET BITSPERBYTE = 9 @^@@@@ LET BJT )@@G@@YTESPERWD = 4 @[@@@@ ELSE @^@@@@ LET BITSPERBYTE = 6 @^@@@@ LET BJU )@@G@@YTESPERWD = 6 @]@@@@ END IF @B@@@@ LET NUM$BYTES = NUM$BITS / BIJV )@@G@@TSPERBYTE @[@@@@ @ @E@@@@ IF ASCFD=0 AND TYPE>4 THEN @ FLOATING PT JW )@@G@@- CAN'T HANDLE @]@@@@ WRITE NFG @#@@@@ IF OPTS:P WRITE *@]@@@@ RETURJX )@@G@@N @G@@@@ ELSE IF ASCFD=0 OR ASCFD=4 AND NUM$BITS>36 THEN @ BINARY > JY )@@G@@36 BITS @]@@@@ WRITE NFG @#@@@@ IF OPTS:P WRITE *@]@@@@ RETURN JZ )@@G@@@]@@@@ END IF @[@@@@ @ @#@@@@ IF OPTS:P THEN @D@@@@ LET DATA$COKA )@@G@@L = CHARSW + 1 @ COLUMN WHERE DATA STARTS @G@@@@ LET CHARSPERLINE = PR$LKB )@@G@@IM - DATA$COL + 1 @ # CHARS TO PRINT PER LINE @]@@@@ END IF @[@@@@KC )@@G@@ @ @E@@@@ LET BYTE# = (ST$WD-1) * BYTESPERWD + 1 @ 1ST BYTE IN ST WD KD )@@G@@@G@@@@ LET BYTE# = BYTE# + (35 - ST$BIT) / BITSPERBYTE @ ACTUAL ST BYTE KE )@@G@@# @B@@@@ LET LAST$BYTE# = BYTE# + NUM$BYTES - 1 @D@@@@ LET LAST$BYKF )@@G@@TE = [RECDATA: LAST$BYTE#, BITSPERBYTE] @[@@@@ @ @C@@@@ IF ASCFD=2 KG )@@G@@OR ASCFD=6 THEN @ USAGE IS DISPLAY @A@@@@ LET QUOTE = 0 @ ASSUME NO QUOKH )@@G@@TES @C@@@@ IF TYPE <= 1 LET QUOTE=1 @ PIC X & A GET QUOTES@H@@@@ IF OPKI )@@G@@TS:P AND QUOTE LET CHARSPERLINE = CHARSPERLINE - 2 @ ALLOW FOR QUOTES KJ )@@G@@@[@@@@ @ @C@@@@ LET SIGN = 0 @ ASSUME NOT AN OVERPUNCHED FIELD @B@@@@KK )@@G@@ IF TYPE=3 OR TYPE=5 THEN @ OVERPUNCH @A@@@@ LET SIGN = '+' @ ASSUMEKL )@@G@@ POSITIVE @A@@@@ IF ASCFD=2 THEN @ ASCII OVERPUNCH @E@@@@ IF LAST$BYTKM )@@G@@E >= 0100 AND LAST$BYTE <= 0122 THEN @ DIGIT 1-9@C@@@@ IF LAST$BYTE <= 0KN )@@G@@111 THEN @ DIGIT +1 TO +9 @D@@@@ LET LAST$BYTE = LAST$BYTE - 020 @ RKO )@@G@@EMOVE OVERPUNCH @^@@@@ ELSE @ DIGIT -1 TO -9 @D@@@@ LET LAST$BYTE = LKP )@@G@@AST$BYTE - 031 @ REMOVE OVERPUNCH @#@@@@ LET SIGN = '-' @]@@@@ END IKQ )@@G@@F @D@@@@ ELSE IF LAST$BYTE = 0175 OR LAST$BYTE = 041 THEN @ -0@^@@@@KR )@@G@@ LET LAST$BYTE = 060 @#@@@@ LET SIGN = '-' @D@@@@ ELSE IF LAST$BYTEKS )@@G@@ = 0173 OR LAST$BYTE = 077 THEN @ +0@^@@@@ LET LAST$BYTE = 060 @]@@@@KT )@@G@@ END IF @ @@@@ ELSE @ FIELDATA OVERPUNCH @E@@@@ IF LAST$BYTE >= 0KU )@@G@@6 AND LAST$BYTE <= 027 THEN @ DIGIT 1-9 @B@@@@ IF LAST$BYTE <= 016 THEKV )@@G@@N @ DIGIT +1 TO +9@D@@@@ LET LAST$BYTE = LAST$BYTE + 053 @ REMOVE OVERPUKW )@@G@@NCH @^@@@@ ELSE @ DIGIT -1 TO -9 @D@@@@ LET LAST$BYTE = LAST$BYTE + 0KX )@@G@@42 @ REMOVE OVERPUNCH @#@@@@ LET SIGN = '-' @]@@@@ END IF @A@@@@KY )@@G@@ ELSE IF LAST$BYTE = 055 THEN @ -0 @^@@@@ LET LAST$BYTE = 060 @#@@@@KZ )@@G@@ LET SIGN = '-' @A@@@@ ELSE IF LAST$BYTE = 054 THEN @ +0 @^@@@@ LET LLA )@@G@@AST$BYTE = 060 @]@@@@ END IF @]@@@@ END IF @H@@@@ LET [RECDATLB )@@G@@A: LAST$BYTE#, BITSPERBYTE]= LAST$BYTE @ CORRECT OVERPUNCH CHAR @A@@@@LC )@@G@@ WRITE F1 SIGN @ WRITE SIGN CHAR @F@@@@ IF OPTS:P LET DATA$COL = DATALD )@@G@@$COL + 1 @ DATA NOW STARTS 1 PAST @]@@@@ END IF @[@@@@ @ @F@@@@LE )@@G@@ LET CHARS$REM = NUM$BITS / BITSPERBYTE @ TOTAL # CHARS REMAINING @[@@@@LF )@@G@@ @ @^@@@@ WHILE CHARS$REM > 0 DO @C@@@@ LET NUMTODO = CHARSPERLINE @ LG )@@G@@ASSUME FULL LINE @G@@@@ IF CHARS$REM < CHARSPERLINE LET NUMTODO = CHARSLH )@@G@@$REM @ LESS THAN FULL @[@@@@ @ @B@@@@ IF OPTS:P THEN @ GOING TO PRILI )@@G@@NT LINE @ @@@@ IF OPTS:C WRITE = C7,'*' @C@@@@ WRITE = C(DATA$COLJ )@@G@@L) @ POSITION TO START OF DATA@D@@@@ IF QUOTE WRITE = '''' @ BEGIN WITH LK )@@G@@QUOTE IF NEEDED @]@@@@ END IF @[@@@@ @ @#@@@@ REPEAT X = 1,1 LL )@@G@@@^@@@@ IF ASCFD=2 THEN @ ASCII@C@@@@ WRITE A1 [RECDATA: BYTE#, 9] @ WRITLM )@@G@@E A CHAR @]@@@@ ELSE @ FD @C@@@@ WRITE F1 [RECDATA: BYTE#, 6] @ WRITLN )@@G@@E A CHAR @]@@@@ END IF @^@@@@ LET BYTE# = BYTE# + 1 @#@@@@ UNTILLO )@@G@@ X = NUMTODO@A@@@@ IF OPTS:P THEN @ GOING TO PRINT IT @D@@@@ IF QUOTE WRLP )@@G@@ITE = '''' @ TRAILING QUOTE IF NEEDED @]@@@@ WRITE = * @]@@@@ END ILQ )@@G@@F @E@@@@ LET CHARS$REM = CHARS$REM - NUMTODO @ SUBTRACT WHAT WE DID LR )@@G@@@]@@@@ END WHILE @^@@@@ ELSE @ USAGE IS COMP @#@@@@ IF OPTS:P THEN LS )@@G@@@ @@@@ IF OPTS:C WRITE = C7,'*' @C@@@@ WRITE = C(DATA$COL) @ POSITIOLT )@@G@@N TO START OF DATA@]@@@@ END IF @[@@@@ @ @C@@@@ LET BITS1 = ST$BILU )@@G@@T+1 @ # BITS IN 1ST DATA WD @B@@@@ IF BITS1 > NUM$BITS LET BITS1 = NUMLV )@@G@@$BITS @E@@@@ LET BITS2 = NUM$BITS - BITS1 @ # BITS IN 2ND DATA WORD LW )@@G@@@[@@@@ @ @^@@@@ PWORD J4 ST$BIT, BITS1 @A@@@@ IF BITS2<>0 PWORD J5 35LX )@@G@@, BITS2 @[@@@@ @ @^@@@@ IF BITS2 <> 0 THEN @C@@@@ LET X = RECLY )@@G@@DATA (ST$WD):J4 */ BITS2 @ 1ST PART @C@@@@ LET X = X + RECDATA (ST$WD+1)LZ )@@G@@:J5 @ ADD 2ND PART@[@@@@ ELSE @ @@@@ LET X = RECDATA (ST$WD):J4 @]@@@@MA )@@G@@ END IF @[@@@@ @ @C@@@@ IF TYPE = 1 OR TYPE = 4 THEN @ SIGNED BINMB )@@G@@ARY @G@@@@ PWORD J4 NUM$BITS-1, NUM$BITS, EXTEND @ ONLY USED BITS, BUTMC )@@G@@ EXTEND @A@@@@ LET X = X:J4 @ EXTEND THE SIGN @[@@@@ @ @ @@@@MD )@@G@@ IF X:B35 THEN @ NEGATIVE @#@@@@ WRITE F1 '-' @ @@@@ LET X = -X ME )@@G@@@ COMPLEMENT IT @#@@@@ ELSE @ POSITIVE @#@@@@ WRITE F1 '+' @]@@@@MF )@@G@@ END IF @[@@@@ @ @]@@@@ END IF @[@@@@ @ @B@@@@ IF TYPE=0 AMG )@@G@@ND KIE(3):S2=0 THEN @ PIC 1 @A@@@@ WRITE BIN X @ WRITE IT IN BINARY MH )@@G@@@#@@@@ IF OPTS:P THEN @D@@@@ IF CHARSW >= PR$LIM-6 THEN @ TOO FAR FOR MI )@@G@@"BINARY" @]@@@@ WRITE * @ @@@@ IF OPTS:C WRITE = C(7),'*' @^@@@@MJ )@@G@@ WRITE = C(DATA$COL) @]@@@@ END IF @]@@@@ END IF @#@@@@ WRITEMK )@@G@@ = ' BINARY'@#@@@@ ELSE @ PIC 9 @]@@@@ WRITE DEC X@]@@@@ END IF ML )@@G@@@#@@@@ IF OPTS:P WRITE *@]@@@@ END IF @]@@@@ RETURN @#@@@@A1: FOMM )@@G@@RMAT A1 @#@@@@F1: FORMAT F1 @^@@@@DEC: FORMAT Z(KIE(3):S2)@^@@@@MN )@@G@@BIN: FORMAT B(KIE(2):H2)@A@@@@NFG: FORMAT ' ' _@@@@@MO )@@G@@*[S@@@*SDFF*@#@@@@ PARAMETER Z:$,W @#@@@@ PWORD J9 29,3 @#@@@@ LET FMP )@@G@@=RDT[W]:J9 @ @@@@RESTRT: LET T=RDT[W]:S2**7 @ @@@@ LET S=Z+RDT[5]:H2MQ )@@G@@+RDT[W]:H2 @#@@@@ LET B=RDT[W]:S3 @#@@@@ LET L=RDT[W+1]:H2@^@@@@ IF F=MR )@@G@@0 OR F=2 THEN @]@@@@ LET D=9 @]@@@@ LET E=4 @]@@@@ LET V=01000MS )@@G@@@[@@@@ ELSE @]@@@@ LET D=6 @]@@@@ LET E=6 @]@@@@ LET V=0100 @]@@@@MT )@@G@@ END IF @^@@@@ IF F=0 AND T>4 THEN @]@@@@ WRITE NFG @A@@@@ ELSE MU )@@G@@IF F=0 OR F=4 AND L>36 THEN @]@@@@ WRITE NFG @[@@@@ ELSE @]@@@@ LET CMV )@@G@@=L/D @^@@@@ IF C>132-CHARSW THEN @]@@@@ WRITE NFG @]@@@@ RETURN MW )@@G@@@]@@@@ END IF @#@@@@ LET M=(B+1)/D @#@@@@ IF M>C LET M=C @#@@@@MX )@@G@@ LET N=(C-M)/E @#@@@@ LET P=C-(N*E)-M @^@@@@ IF M<>0 PWORD J4 B,M*D MY )@@G@@@^@@@@ IF P<>0 PWORD J5 35,P*D@^@@@@ IF F=2 OR F=6 THEN @#@@@@ IF M0 THEN @]@@@@ IF F=2 THEN@^@@@@ WRITE A1 PAGE[S]:J4 @[@@@@ ELSE NA )@@G@@@^@@@@ WRITE F1 PAGE[S]:J4 @]@@@@ END IF @]@@@@ END IF @#@@@@NB )@@G@@ IF N<>0 THEN @]@@@@ IF F=2 THEN@^@@@@ WRITE A2 @[@@@@NC )@@G@@ ELSE @^@@@@ WRITE F2 @]@@@@ END IF @]@@@@ END IF ND )@@G@@@#@@@@ IF P<>0 THEN @]@@@@ IF F=2 THEN@^@@@@ WRITE A3 PAGE[S+N+1]:J5NE )@@G@@@[@@@@ ELSE @^@@@@ WRITE F3 PAGE[S+N+1]:J5@]@@@@ END IF @]@@@@ END INF )@@G@@F @[@@@@ ELSE @#@@@@ IF P<>0 THEN @]@@@@ LET X=1 @#@@@@ REPEANG )@@G@@T J=1,1 @]@@@@ LET X=X*V @]@@@@ UNTIL J=P @^@@@@ LET X=X*PAGE[S]:JNH )@@G@@4 @^@@@@ LET X=X+PAGE[S+1]:J5 @[@@@@ ELSE @#@@@@ LET X=PAGE[S]:J4 NI )@@G@@@]@@@@ END IF @]@@@@ WRITE DEC X@]@@@@ END IF @]@@@@ END IF NJ )@@G@@@A@@@@ IF OPTS:M=0 OR RDT[010]:S6=1 RETURN@]@@@@ LET W=W+3 @A@@@@ IF WA4 @#@@@@A3: FORMAT A(P) @#@@@@F1: FORMAT F(M) NM )@@G@@@#@@@@F2: FORMAT F6 @#@@@@F3: FORMAT F(P) @ @@@@DEC: FORMAT Z(RDT[NN )@@G@@W+2]:S2) @A@@@@NFG: FORMAT ' ' _@@@@@ IF C>132-CHNO )@@G@@ARSW THEN @]@@@@ WRITE NFG @]@@@@ RETURN @]@@@@ END IF @#@@@@NP )@@G@@ LET M=(B+1)/D @#@@@@ IF M>C LET M=C @#@@@@ LET N=(C-M)/E @#@@@@NQ )@@G@@*[S@@@*SDFF*@ @@@@ IF SCHLEV=0 THEN @ NO SCHEMA @B@@@@ WRITE = R,' NR )@@G@@NO SCHEMA IS LOADED',* @]@@@@ RETURN @]@@@@ END IF @^@@@@ WRITENS )@@G@@ TITLE @F@@@@TITLE: FORMAT C13,'FILE DESCRIPTION TABLE FOR SCNT )@@G@@HEMA ',<2>WF,* @F@@@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1NU )@@G@@,TIME:NT2,TIME:NT3@H@@@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',FNV )@@G@@2,' AT ',F2,':',F2,':',F2,* @]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'NW )@@G@@I',<29>'-','I',* @^@@@@ WRITE WORD 0,FDT[0] @B@@@@WORD: FORMAT '[',ONX )@@G@@,']',C7,O12,X1,'I ' @#@@@@ WRITE WO FDT[0] @ @@@@WO: FORMAT X7,O12,NY )@@G@@X9,'I ' @^@@@@ WRITE = 'CHECKSUM',* @]@@@@ WRITE BARS @^@@@@ WRITENZ )@@G@@ WORD 1,FDT[1] @^@@@@ WRITE 2WF @B@@@@2WF: FORMAT X6,'''OA )@@G@@',<2>F6,'''',X8,'I ' @B@@@@ WRITE = 'SCHEMA NAME (2 WDS, FDATA)',* OB )@@G@@@^@@@@ WRITE WORD 2,FDT[2] @]@@@@ WRITE BARS @^@@@@ WRITE WORD 3,FDT[OC )@@G@@3] @#@@@@ WRITE 1WA FDT[3] @B@@@@1WA: FORMAT X10,'''',A4,'''',X12,'I OD )@@G@@' @A@@@@ WRITE = '@DDL LEVEL (ASCII)',* @]@@@@ WRITE BARS @^@@@@OE )@@G@@ WRITE WORD 4,FDT[4] @C@@@@ WRITE FDADAT FDT[4]:NT1,FDT[4]:NT2,FDT[4]OF )@@G@@:NT3 @C@@@@FDADAT: FORMAT X9,F2,'/',F2,'/',F2,X11,'I ' @ @@@@ WRITEOG )@@G@@ = '@DDL DATE (FDATA)',*@]@@@@ WRITE BARS @^@@@@ WRITE WORD 5,FDT[5] OH )@@G@@@A@@@@ IF FDT[5]:H1 = 0 THEN @ EXEC SCHEMA@#@@@@ WRITE XH ':' @^@@@@OI )@@G@@XH: FORMAT X13,WF,' ' @^@@@@ WRITE H FDT[5]:H2,'I' @^@@@@H: FORMAT D7OJ )@@G@@,X6,WF,' ' @A@@@@ WRITE = 'SCRT SIZE IN WORDS',* @]@@@@ WRITE BARS OK )@@G@@@[@@@@ ELSE @^@@@@ WRITE H FDT[5]:H1,':' @^@@@@ WRITE H FDT[5]:H2,'I' OL )@@G@@@A@@@@ WRITE = 'SCHEMA TIP/DMS FILE #,',* @A@@@@ WRITE = C55,'SCRT SIZE OM )@@G@@IN WORDS' @]@@@@ WRITE BARS @]@@@@ END IF @^@@@@ WRITE WORD 6,FDT[ON )@@G@@6] @#@@@@ WRITE WD FDT[6] @^@@@@WD: FORMAT D15,X13,'I ' @A@@@@ WRITEOO )@@G@@ = 'SCRT SECTOR IN SCHEMA',* @]@@@@ WRITE DOT @^@@@@DOT: FORMAT C12,'.OP )@@G@@' @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@ WRITEOQ )@@G@@ BARS @B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*@^@@@@ WRITE WORD OR )@@G@@012,FDT[012]@#@@@@ WRITE WD FDT[012]@A@@@@ WRITE = 'SCRT SIZE IN SECTORSOS )@@G@@',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 013,FDT[013]@^@@@@ WRITE 3WA @B@@@@3WA: FORMAT X6,'''',<3>A4,'''',X8,'I ' @B@@@@ WRITEOU )@@G@@ = 'SCHEMA COPY LOCK (ASCII)',* @^@@@@ WRITE WORD 014,FDT[014]@]@@@@OV )@@G@@ WRITE BARS @^@@@@ WRITE WORD 015,FDT[015]@^@@@@ WRITE = X(-2),' ',* OW )@@G@@_@@@@@EL (ASCII)',* @]@@@@ WRITE BARS @^@@@@*[S@@@*SDFF*@#@@@@ WRITEOX )@@G@@ = *(-1) @C@@@@ WRITE = 'SYMBOL',C10,'OCTAL',C18,'BINARY',C27 @C@@@@OY )@@G@@ WRITE = 'SYMBOL',C36,'OCTAL',C44,'BINARY',C53 @C@@@@ WRITE = 'SYMBOL',OZ )@@G@@C62,'OCTAL',C70,'BINARY',*,* @#@@@@ REPEAT I=0,1 @C@@@@ WRITE BYTE PA )@@G@@I,I,I,I+21,I+21,I+21,I+42,I+42,I+42 @G@@@@BYTE: FORMAT F1,C10,O2,C18,B6,PB )@@G@@C27,F1,C36,O2,C44,B6,C53,F1,C62,O2,C70,B6 @]@@@@ WRITE * @]@@@@ UNTILPC )@@G@@ I=20 @^@@@@ WRITE BYTE 63,63,63 @]@@@@ WRITE * _@@@@@MBOL',C36,'OPD )@@G@@CTAL',C44,'BINARY',C53 @C@@@@ WRITE = 'SYMBOL',*[S@@@*SDFF*@#@@@@ DIMENPE )@@G@@SION B(3) @]@@@@ PARAMETER D@#@@@@ ERROR NOFIND @#@@@@ LET =DECPF )@@G@@ODE(D)@#@@@@ ERROR AREAER @#@@@@TOP: AREA,N B(1) @^@@@@AREART: ERROPG )@@G@@R NOFIND @]@@@@ PAGE B(2) @]@@@@ LET S=B(3) @#@@@@ PWORD J0 31,14 PH )@@G@@@D@@@@ IF OPTS:K=1 THEN @ == DBK REQUEST == @]@@@@ LET ZPI )@@G@@=-1 @]@@@@ REPEAT @D@@@@ LET Z=SEARCH(:J0,S,Z+1) @ FIND RECPJ )@@G@@ # IN SLOT @#@@@@ IF Z<0 RETURN 0 @E@@@@ UNTIL RSLOT[Z]:B34=0 PK )@@G@@@ CONTINUE IF FOREIGN REC @C@@@@ LET P=Z+NCSLOT @ COMPPL )@@G@@UTE PGSLOT #@D@@@@ IF NCSLOT=0 LET P=P+1 @ ALLOW FOR NCSLOT=0 PM )@@G@@@C@@@@ LET D=ENCODE(B(1),B(2),P) @ COMPUTE DBP @D@@@@ ELSE PN )@@G@@ @ == DBP REQUEST == @B@@@@ IF S<0 OR S>NCSLOT+NRSLPO )@@G@@OT GOTO NOFIND @D@@@@ IF S=DECPQ )@@G@@ODE(D) @ RIP IT APART@ @@@@ IF OPTS:N=0 WRITE CALC @H@@@@PR )@@G@@CALC: FORMAT 'CALC CHAIN POINTS TO AREA ',D,', PAGE ',D,', PGSLOT ',D,'.PS )@@G@@',* @C@@@@ GOTO TOP @ AND TRY AGAIN @]@@@@ END IPT )@@G@@F @C@@@@ LET Z=S-NCSLOT @ BIAS RSLOT # @D@@@@ IF NCPU )@@G@@SLOT=0 LET Z=Z-1 @ ALLOW FOR NCSLOT=0 @B@@@@ LET K=ENCODE(ACODPV )@@G@@E,PGNUM,RSLOT[Z]:J0) @]@@@@ END IF @B@@@@ IF RSLOT[Z]:B35=1 RETURPW )@@G@@N 0 @ DELETED @^@@@@ IF RSLOT[Z]:B33=1 THEN @C@@@@ LET R=RSLOT[Z]:J0PX )@@G@@ @ RECORD NUMBER @B@@@@ IF OPTS:N=0 WRITE FOREGN RSLOT[Z]:HPY )@@G@@2 @E@@@@FOREGN: FORMAT 'RECORD HAS BEEN MOVED TO PAGE ',D,'.',* PZ )@@G@@@#@@@@ PAGE RSLOT[Z]:H2 @]@@@@ LET Z=-1 @D@@@@ LET F=0 QA )@@G@@ @ ASSUME SEARCH IS BAD @]@@@@ REPEAT @D@@@@ LET Z=SEARCH(:J0,R,Z+1) @ FIND REC # IN SLOT @#@@@@ IF Z<0 RETURN 0 @B@@@@ IF RSQC )@@G@@LOT[Z]:B34=1 THEN @ FOREIGN @C@@@@ LET L=RSLOT[Z]:H2 @ REQD )@@G@@CORD LOCATION @B@@@@ LET L=L-1+PAGE[L]:H2 @ LAST WD IN REC@D@@@@QE )@@G@@ IF PAGE[L]=D LET F=1 @ RETURN DBP POINTS BACK @]@@@@ END IF QF )@@G@@@D@@@@ UNTIL F=1 @ LOOP UNTIL WE FIND IT @]@@@@ END IQG )@@G@@F @[@@@@ ON B @E@@@@ RSLOT[Z]:H2 PAGE @ POSITION TO REQH )@@G@@C START @[@@@@ OFF B@#@@@@ IF OPTS:K=0 THEN @]@@@@ RETURN K @[@@@@QI )@@G@@ ELSE @C@@@@ RETURN D @ RETURN DBP @]@@@@ END IQJ )@@G@@F @[@@@@ @ @ @@@@AREAER: IF ECODE=9 GOTO AREART@#@@@@NOFIND: RETUQK )@@G@@RN 0 _@@@@@N K @[@@@@*[S@@@*SDFF*@D@@@@ASGE: FORMAT ' ',<2>WF,QL )@@G@@' CAN NOT BE ASSIGNED' @B@@@@FAC: FORMAT ' - FACILITY STATUS = ',O12,* QM )@@G@@@G@@@@INFO: FORMAT C16,'FITEM$ INFORMATION FOR ',WF,' FILE ''',<2>WF,'''QN )@@G@@',* @F@@@@INFX: FORMAT C16,'FITEM$ INFORMATION FOR FILE ''',<2>WF,''''QO )@@G@@,* @C@@@@DATE: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2@B@@@@TIME: QP )@@G@@FORMAT ' AT ',F2,':',F2,':'F2,* @A@@@@BARS: FORMAT C20,'I',<29>'-','QQ )@@G@@I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @D@@@@WO: FORMAT 'QR )@@G@@[',O,']',C7,O12,X1,'I ',X7,O12,X9,'I ',* @^@@@@WD: FORMAT D17,X11,'I ' QS )@@G@@@A@@@@WF: FORMAT X9,'''',F6,'''',X11,'I ' @B@@@@2WF: FORMAT X6,'''',<2>FQT )@@G@@6,'''',X8,'I ' @^@@@@SO: FORMAT O2,X1,WF,X1 @^@@@@SD2: FORMAT D2,X1,QU )@@G@@WF,X1 @^@@@@SD3: FORMAT D3,X1,WF,X1 @^@@@@SB: FORMAT WF,X1,WF,X1 @A@@@@QV )@@G@@SBX: FORMAT '''',WF,'''',X1,WF,X1 @ @@@@TD: FORMAT X1,D4,X2,WF,X1 QW )@@G@@@ @@@@TDX: FORMAT X2,D4,X2,WF,X1 @ @@@@TDY: FORMAT X1,D4,X3,WF,X1 QX )@@G@@@B@@@@ASGO: FORMAT O,' : : ',O9,X6,WF,X1 @B@@@@HALF: FORMAT X3,D6QY )@@G@@,' : ',D6,X4,WF,X1@#@@@@ PWORD J1 35,3 @#@@@@ PWORD J2 25,26 QZ )@@G@@@[@@@@ @ @C@@@@ DIM FITEM$(13), FILENAME(2), CSFSTATEMENT(10) @^@@@@RA )@@G@@ PARAMETER FILENAME:0 @^@@@@ IF FILENAME(1) = 0 THEN@C@@@@ WRITE = ' FILENAME MUST BE ENTERED',* @[@@@@ ELSE @#@@@@ LET BYTE# = 12 RC )@@G@@@A@@@@ WHILE [FILENAME:BYTE#,6] = ' ' DO @^@@@@ LET BYTE# = BYTE# - 1 RD )@@G@@@]@@@@ END WHILE @A@@@@ IF [FILENAME:BYTE#,6] = '.' THEN @ @@@@ LET [RE )@@G@@FILENAME:BYTE#,6] = ' ' @]@@@@ END IF @A@@@@ LET = FITEM() @ @@@@ IF FITEM$(7):S1 = 0 THEN @E@@@@ LET = 'LET CSFSTATUS = CSF(''@USE DB' @B@@@@ LET RH )@@G@@= 'E$MACFITEM.,' @B@@@@ LET = @A@@@@RI )@@G@@ LET CSFSTATEMENT(10) = ' '')' @#@@@@ LET BYTE# = 54 @B@@@@ WHILERJ )@@G@@ [CSFSTATEMENT:BYTE#,6] = ' ' DO @^@@@@ LET BYTE# = BYTE# - 1 @]@@@@RK )@@G@@ END WHILE @A@@@@ LET [CSFSTATEMENT:BYTE#+1,6] = '.' @^@@@@ XQT @C@@@@ LET CSFSTATUS = CSF('@ASG,AY DBE$MACFITEM.') @ @@@@RM )@@G@@ IF CSFSTATUS:B35 = 0 THEN @A@@@@ LET = FITEM() RN )@@G@@@[@@@@ ELSE @^@@@@ WRITE ASGE @^@@@@ WRITE FAC CSFSTATUS RO )@@G@@@]@@@@ END IF @C@@@@ LET CSFSTATUS = CSF('@FREE,AR DBE$MACFITEM.') RP )@@G@@@]@@@@ END IF @ @@@@ IF FITEM$(7):S1 <> 0 THEN @#@@@@ LET EQUIPCORQ )@@G@@DE = 0@D@@@@ IF FITEM$(7):S1 > 010 AND FITEM$(7):S1 < 016 THEN @#@@@@RR )@@G@@ LET EQUIPCODE = 1@A@@@@ WRITE INFO 'TAPE', @A@@@@ ELSE RS )@@G@@IF FITEM$(7):S1 = 024 THEN @#@@@@ LET EQUIPCODE = 2@A@@@@ WRITE INFO RT )@@G@@'DISK', @A@@@@ ELSE IF FITEM$(7):S1 = 036 THEN @#@@@@RU )@@G@@ LET EQUIPCODE = 3@A@@@@ WRITE INFO 'DISK', @[@@@@ ELSE RV )@@G@@@^@@@@ WRITE INFX @]@@@@ END IF @B@@@@ WRITE DATE DATE:NRW )@@G@@T1,DATE:NT2,DATE:NT3 @B@@@@ WRITE TIME TIME:NT1,TIME:NT2,TIME:NT3 RX )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,FITEM$(1) @^@@@@ WRITE 2WF @ @@@@ WRITE = 'INTERNAL FILENAME',*@^@@@@ WRITE WORD 1,FITEM$(2) RZ )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 2,FITEM$(3) @^@@@@ WRITE 2WF @ @@@@ WRITE = 'EXTERNAL FILENAME',*@^@@@@ WRITE WORD 3,FITEM$(4) SB )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 4,FITEM$(5) @^@@@@ WRITE 2WF @^@@@@ WRITE = 'QUALIFIER',* @^@@@@ WRITE WORD 5,FITEM$(6) @]@@@@SD )@@G@@ WRITE BARS @^@@@@ IF EQUIPCODE <> 0 THEN @^@@@@ WRITE WORD 6,FITEM$(7) SE )@@G@@@ @@@@ WRITE SO FITEM$(7):S1,':' @ @@@@ WRITE SO FITEM$(7):S2,':' SF )@@G@@@^@@@@ IF EQUIPCODE = 1 THEN @ @@@@ WRITE SD2 FITEM$(7):S3,':' @[@@@@SG )@@G@@ ELSE @ @@@@ WRITE SO FITEM$(7):S3,':' @]@@@@ END IF @^@@@@ LET RSH )@@G@@EL# = FITEM$(7):S4@^@@@@ IF REL# > 037 THEN @^@@@@ LET REL# = 040 - SI )@@G@@REL# @#@@@@ IF REL# = 0 THEN @^@@@@ LET REL# = '______' @]@@@@ END ISJ )@@G@@F @^@@@@ WRITE SD3 REL#,':' @^@@@@ ELSE IF REL# > 0 THEN @^@@@@SK )@@G@@ WRITE SD3 REL#,':' @[@@@@ ELSE @^@@@@ WRITE SB '---',':' @]@@@@SL )@@G@@ END IF @ @@@@ WRITE TD FITEM$(7):T3,'I' @^@@@@ IF EQUIPCODE = 1 SM )@@G@@THEN @A@@@@ WRITE = 'EQUIP, MODES, UNITS,',* @[@@@@ ELSE @B@@@@ WRITESN )@@G@@ = 'EQUIP, MODES, GRANULARITY,',* @]@@@@ END IF @B@@@@ WRITE = C55SO )@@G@@,'REL F CYCLE, ABS F CYCLE' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 7,FITESP )@@G@@M$(8) @B@@@@ WRITE ASGO FITEM$(8):J1,FITEM$(8):J2,'I' @A@@@@ WRITE = 'INSQ )@@G@@DICATORS, NOT USED,',* @ @@@@ WRITE = C55,'ASSIGN OPTIONS' @]@@@@ WRITESR )@@G@@ BARS @^@@@@ WRITE WORD 8,FITEM$(9) @^@@@@ IF EQUIPCODE = 1 THEN @ @@@@SS )@@G@@ WRITE SD2 FITEM$(9):S1,':' @ @@@@ IF FITEM$(9):S2 <> 0 THEN @ @@@@ST )@@G@@ WRITE SBX FITEM$(9):S2,':' @[@@@@ ELSE @#@@@@ WRITE SB '--',':'@]@@@@SU )@@G@@ END IF @ @@@@ WRITE SD2 FITEM$(9):S3,':' @C@@@@ WRITE = C50,'I RESV )@@G@@EL COUNT, CHANNEL, NOISE,',* @^@@@@ WRITE = C55,'NOT USED' @ @@@@ ELSE SW )@@G@@IF EQUIPCODE = 2 THEN @^@@@@ WRITE WD FITEM$(9),'I' @ @@@@ WRITE = 'LESX )@@G@@NGTH IN WORDS',* @[@@@@ ELSE @B@@@@ WRITE HALF FITEM$(9):H1,FITEM$(9):HSY )@@G@@2,'I' @ @@@@ WRITE = 'INITIAL RESERVE,',* @ @@@@ WRITE = C55,'MAXIMUM RESZ )@@G@@SERVE'@]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITE WORD 9,FITEM$(10)TA )@@G@@@^@@@@ IF EQUIPCODE = 1 THEN @ @@@@ WRITE = C50,'I NOT USED',* @ @@@@TB )@@G@@ ELSE IF EQUIPCODE = 2 THEN @^@@@@ WRITE WD FITEM$(10),'I'@A@@@@ WRITETC )@@G@@ = 'MAXIMUM LENGTH IN WORDS',*@[@@@@ ELSE @C@@@@ WRITE HALF FITEM$(10):HTD )@@G@@1,FITEM$(10):H2,'I' @A@@@@ WRITE = 'HIGHEST TRACK WRITTEN,',* @B@@@@TE )@@G@@ WRITE = C55,'HIGHEST GRANULE ASSIGNED' @]@@@@ END IF @]@@@@ WRITETF )@@G@@ BARS @^@@@@ IF EQUIPCODE = 1 THEN @ @@@@ WRITE WORD 10,FITEM$(11) TG )@@G@@@ @@@@ WRITE TDX FITEM$(11):T1,':' @ @@@@ WRITE SD2 FITEM$(11):S3,':' TH )@@G@@@ @@@@ WRITE SD2 FITEM$(11):S4,':' @ @@@@ WRITE TDY FITEM$(11):T3,'I' TI )@@G@@@B@@@@ WRITE = 'RETENTION DAYS, CURR REEL,',* @B@@@@ WRITE = C55,'EOF TJ )@@G@@COUNT, BLOCK COUNT' @]@@@@ WRITE BARS @ @@@@ WRITE WORD 11,FITEM$(12TK )@@G@@) @^@@@@ WRITE WF FITEM$(12),':'@A@@@@ WRITE = 'CURRENT REEL NUMBER,TL )@@G@@',* @]@@@@ WRITE BARS @ @@@@ WRITE WORD 12,FITEM$(13) @^@@@@ WRITETM )@@G@@ WF FITEM$(13),':'@ @@@@ WRITE = 'NEXT REEL NUMBER,',*@]@@@@ WRITE BARS TN )@@G@@@]@@@@ END IF @[@@@@ ELSE @A@@@@ WRITE WO 6,FITEM$(7),FITEM$(7) TO )@@G@@@]@@@@ WRITE BARS @A@@@@ WRITE WO 7,FITEM$(8),FITEM$(8) @]@@@@ WRITETP )@@G@@ BARS @A@@@@ WRITE WO 8,FITEM$(9),FITEM$(9) @]@@@@ WRITE BARS @A@@@@TQ )@@G@@ WRITE WO 9,FITEM$(10),FITEM$(10) @]@@@@ WRITE BARS @]@@@@ END IF TR )@@G@@@]@@@@ END IF @]@@@@ END IF @]@@@@ RETURN _@@@@@REEL NUMBER,TS )@@G@@',* @]@@@@ WRITE BARS @ @@@@ WRITE WORD 12,FIT*[S@@@*SDFF*%#@@@@-1,111TT )@@G@@ . CDM146 @#@@[@ ERROR TRAP01 @D@@[@ IF SCHLEV=0 WRITE,R = ' TU )@@G@@NO SCHEMA IS LOADED',* @^@@[@ PARAMETER FRT#:FSEQ @H@@[@ IF FRT#<1 OTV )@@G@@R FRT# > SCRT[013]:H1 WRITE,R = ' INVALID FEATURE NUMBER',* @#@@[@TW )@@G@@ FEATURE # FRT# @[@@[@ @ @ @@[@ WRITE TITLE FRT#, @G@@[@TX )@@G@@TITLE: FORMAT C10,'FEATURE REFERENCE TABLE #',D,' FOR SCHEMA ',<2>WF,* TY )@@G@@@F@@[@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3TZ )@@G@@@H@@[@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT ',F2,':',F2UA )@@G@@,':',F2,* @]@@[@ WRITE BARS @A@@[@BARS: FORMAT C20,'I',<29>'-','I',* UB )@@G@@@[@@[@ @ @^@@[@ WRITE WORD 0,FRT[0] @B@@[@WORD: FORMAT '[',O,']',CUC )@@G@@7,O12,X1,'I ' @#@@[@ WRITE HX ':' @^@@[@HX: FORMAT X13,WF,' ' UD )@@G@@@^@@[@ WRITE HD FRT[0]:H2,'I' @^@@[@HD: FORMAT D7,X6,WF,X1 @ @@[@ WRITEUE )@@G@@ = 'FEATURE NUMBER',* @]@@[@ WRITE BARS @[@@[@ @ @^@@[@ WRITE WORD UF )@@G@@1,FRT[1] @^@@[@ WRITE SD FRT[1]:S1,':' @^@@[@SD: FORMAT D2,X1,WF,X1 UG )@@G@@@#@@[@ WRITE TX ':' @^@@[@TX: FORMAT X8,WF,X1 @^@@[@ WRITE HO FRUH )@@G@@T[1]:H2,'I' @ @@[@HO: FORMAT X3,O6,X4,WF,X1 @B@@[@ WRITE = 'ENTRY SIUI )@@G@@ZE, FEATURE FLAGS',* @]@@[@ WRITE BARS @[@@[@ @ @^@@[@ WRITE WORD UJ )@@G@@2,FRT[2] @^@@[@ WRITE HD FRT[2]:H1,':' @#@@[@ WRITE HX 'I' @B@@[@UK )@@G@@ WRITE = 'DBP DEFN. TABLE SIZE (WDS)',* @]@@[@ WRITE BARS @[@@[@ @ UL )@@G@@@^@@[@ WRITE WORD 3,FRT[3] @#@@[@ WRITE WD FRT[3] @^@@[@WD: FORMAT DUM )@@G@@15,X13,'I ' @A@@[@ WRITE = 'DBP DEFN. TABLE SECTOR',* @]@@[@ WRITE BARS UN )@@G@@@[@@[@ @ @D@@[@ IF FRT[0]:H2 = 1 THEN @ DESCRIBES THE DBPDTUO )@@G@@@^@@[@ LET FRTTYP = 'DBPDT' @G@@[@ ELSE IF FRT[0]:H2 > 010000 THEN @ DUP )@@G@@ESCRIBES A RECORD FEATURE TABLE @^@@[@ LET FRTTYP = 'RFT' @[@@[@UQ )@@G@@ ELSE @H@@[@ LET FRTTYP = 'GED' @ DESCRIBES A GLOBAL ENCODEUR )@@G@@/DECODE TABLE @]@@[@ END IF @[@@[@ @ @ @@[@ IF FRTTYP = 'DBPDUS )@@G@@T' THEN @^@@[@ WRITE TITLE2 FRT[3] @F@@[@TITLE2: FORMAT *,C17,'DAUT )@@G@@TA BASE PROCEDURE DEFINITION TABLE',*,* @]@@[@ WRITE BARS @[@@[@ @ UU )@@G@@@^@@[@ WRITE WORD 0,DBPDT[0] @#@@[@ WRITE WO DBPDT[0]@ @@[@WO: FORMAT XUV )@@G@@7,O12,X9,'I ' @^@@[@ WRITE = 'CHECKSUM',* @]@@[@ WRITE BARS @[@@[@UW )@@G@@ @ @^@@[@ WRITE WORD 1,DBPDT[1] @ @@[@ WRITE HD DBPDT[1]:H1,':' UX )@@G@@@ @@[@ WRITE HD DBPDT[1]:H2,'I' @B@@[@ WRITE = '# OF ENTRIES, IDENTIUY )@@G@@FIER',* @]@@[@ WRITE BARS @[@@[@ @ @]@@[@ LET BASE=2 @#@@[@ REPEAUZ )@@G@@T I=1,1 @[@@[@ PAUSE@#@@[@ WRITE ENTRY I @A@@[@ENTRY: FORMAT *,C3VA )@@G@@0,'ENTRY #',D,*,* @]@@[@ WRITE BARS @[@@[@ @ @ @@[@ WRITE WORD 0,DBPDVB )@@G@@T[BASE+0] @A@@[@ WRITE 2WF @B@@[@2WF: FORMAT VC )@@G@@X6,'''',<2>F6,'''',X8,'I ' @A@@[@ WRITE = 'DBP NAME (2 WDS, FDATA)',*VD )@@G@@@ @@[@ WRITE WORD 1,DBPDT[BASE+1] @]@@[@ WRITE BARS @[@@[@ @ @ @@[@VE )@@G@@ WRITE WORD 2,DBPDT[BASE+2] @ @@[@ WRITE SD DBPDT[BASE+2]:S1,':'@ @@[@VF )@@G@@ WRITE SD DBPDT[BASE+2]:S2,':'@#@@[@ WRITE SX ':' @^@@[@SX: FORMAT XVG )@@G@@3,WF,X1 @ @@[@ WRITE HO DBPDT[BASE+2]:H2,'I'@B@@[@ IF DBPDT[BASE+2]:VH )@@G@@S1=0 THEN @ DBP IN PGM @B@@[@ WRITE = 'PLACE, TYPE, PGM BDI INDEX',* VI )@@G@@@[@@[@ ELSE @A@@[@ WRITE = 'PLACE, TYPE, IBANK BDI',* @]@@[@ END IF VJ )@@G@@@]@@[@ WRITE BARS @[@@[@ @ @ @@[@ WRITE WORD 3,DBPDT[BASE+3] @ @@[@VK )@@G@@ WRITE HD DBPDT[BASE+3]:H1,':'@ @@[@ WRITE HO DBPDT[BASE+3]:H2,'I'@B@@[@VL )@@G@@ WRITE = 'DBP ENT PT #, DBANK BDI BASE',* @]@@[@ WRITE BARS @[@@[@ @ VM )@@G@@@ @@[@ WRITE WORD 4,DBPDT[BASE+4] @ @@[@ WRITE HO DBPDT[BASE+4]:H1,':'VN )@@G@@@#@@[@ WRITE HX 'I' @ @@[@ WRITE = 'DBP DRU DBANK BDI',*@]@@[@ WRITEVO )@@G@@ BARS @[@@[@ @ @#@@[@ LET BASE=BASE+5 @^@@[@ UNTIL I=DBPDT[1]:H1 VP )@@G@@@#@@[@ END IF @ DBPDT @[@@[@ @ @]@@[@ RETURN @#@@[@TRAP01: ERRPVQ )@@G@@R,N %@@@[\_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VS )@@G@@*[S@@@*SDFF*@#@@@@ EXPLAIN HELP _@@@@@C]@@@ @]M@B4@]L@]L@@@@Y@@@@@@@VT )@@G@@@@@@@@@]@@@@ RETURN @]@@@@ END IF @ @@@@ DIMENSION A(IOBUF[4]:H1VU )@@G@@) @A@@@@ GET GETTOC(*[S@@@*SDFF*@H@@@@DATIM: FORMAT C20,'PREPARED ONVV )@@G@@ ',F2,'/',F2,'/',F2,' AT ',F2,':',F2,':',F2,* @A@@@@BARS: FORMAT C20,'VW )@@G@@I',<29>'-','I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @ @@@@VX )@@G@@WO: FORMAT X7,O12,X9,'I ' @B@@@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'IVY )@@G@@ ' @B@@@@1WA: FORMAT X10,'''',A4,'''',X12,'I ' @^@@@@HX: FORMAT XVZ )@@G@@13,WF,' ' @^@@@@HD: FORMAT D7,X6,WF,' ' @ @@@@HO: FORMAT X1,O6,X6,WF,XWA )@@G@@1 @^@@@@TX: FORMAT X8,WF,X1 @^@@@@WD: FORMAT D15,X13,'I ' @^@@@@WB )@@G@@DOT: FORMAT C12,'.' @B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*WC )@@G@@@C@@@@NWA: FORMAT X6,'''',A4,'''',C50,'I ' @^@@@@SD: FORMAT DWD )@@G@@2,X1,WF,X1 @^@@@@SO: FORMAT O2,X1,WF,X1 @^@@@@SX: FORMAT X3,WF,X1 WE )@@G@@@ @@@@ IF SCHLEV=0 THEN @ NO SCHEMA @B@@@@ WRITE = R,' NO SCHEMA ISWF )@@G@@ LOADED',* @]@@@@ RETURN @]@@@@ END IF @ @@@@ DIMENSION REC$CHOWG )@@G@@ICE(14) @ @@@@ PARAMETER :0 @E@@@@ IF REC$CHOICE(1)0 THEN @ USER WANTS TO PICK A RECORD @[@@@@ ON B @^@@@@ RECORD @[@@@@ OFF B@D@@@@ ELSE IF RSEQ=0 THEN @ NO ARG & NO RECORD WJ )@@G@@CURRENT @B@@@@ WRITE = ' NO RECORD IS CURRENT',* @]@@@@ RETURWK )@@G@@N @]@@@@ END IF @^@@@@ LET NSIZE=RRT[1]:S3 @A@@@@ WRITE TITLEWL )@@G@@1 @^@@@@ WRITE TITLE2 @H@@@@TITLE1: FORMWM )@@G@@AT C(19-NSIZE*2),'ITEM DESCRIPTION TABLE FOR RECORD ',WA,* @B@@@@WN )@@G@@TITLE2: FORMAT C24,'OF SCHEMA ',<2>WF,* @F@@@@ WRITE DATIM DATE:NT1,DAWO )@@G@@TE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3@ @@@@ LET SECTOR = SCHADR+RRTWP )@@G@@[7] @A@@@@ IF SCRT[1]:S1=1 THEN @TIP SCHEMA @^@@@@ OPEN DISC,T IDT=SWQ )@@G@@CRT[2]@[@@@@ ELSE @ @@@@ OPEN DISC IDT=SCHEMA$FILE$. @]@@@@ END IF WR )@@G@@@ @@@@ DIMENSION IDT(RRT[6]:H1) @ @@@@ GET IDT(BLOCK=SECTOR) WS )@@G@@@]@@@@ CLOSE IDT @]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,IDT(1) @#@@@@WT )@@G@@ WRITE WO IDT(1) @^@@@@ WRITE = 'CHECKSUM',* @]@@@@ WRITE BARS @^@@@@WU )@@G@@ WRITE WORD 1,IDT(2) @^@@@@ WRITE HD IDT(2):H1,':' @^@@@@ WRITE HD IDWV )@@G@@T(2):H2,'I' @B@@@@ WRITE = 'REC SIZE (WDS), REC CODE',* @]@@@@ WRITEWW )@@G@@ BARS @^@@@@ WRITE WORD 2,IDT(3) @^@@@@ WRITE HD IDT(3):H1,':' @^@@@@WX )@@G@@ WRITE HD IDT(3):H2,'I' @A@@@@ WRITE = '1ST DATA WD, # ITEMS',* @]@@@@WY )@@G@@ WRITE BARS @]@@@@ LET WD#=3 @#@@@@ REPEAT I=1,1 @#@@@@ WRITE ENTRYWZ )@@G@@ I @A@@@@ENTRY: FORMAT *,C32,'ITEM #',D,*,* @]@@@@ WRITE BARS @ @@@@XA )@@G@@ WRITE WORD WD#,IDT(WD#+1) @ @@@@ WRITE SD IDT(WD#+1):S1,':' @^@@@@XB )@@G@@ LET TYPE=IDT(WD#+1):S2 @#@@@@ WRITE SD TYPE,':'@ @@@@ WRITE SD IDT(WD#+XC )@@G@@1):S3,':' @ @@@@ WRITE HD IDT(WD#+1):H2,'I' @^@@@@ WRITE = 'LEVEL#, XD )@@G@@TYPE' @#@@@@ IF TYPE=0 THEN @ @@@@ WRITE = ' (0=H9), 1STBIT',* @^@@@@XE )@@G@@ ELSE IF TYPE=1 THEN @ @@@@ WRITE = ' (1=SH9), 1STBIT',* @^@@@@ ELSE XF )@@G@@IF TYPE=3 THEN @ @@@@ WRITE = ' (3=H9P), 1STBIT',* @^@@@@ ELSE IF TYPXG )@@G@@E=4 THEN @ @@@@ WRITE = ' (4=SH9P), 1STBIT',*@^@@@@ ELSE IF TYPE = 5 XH )@@G@@THEN @A@@@@ WRITE = ' (5=COMP-1), 1STBIT',* @^@@@@ ELSE IF TYPE=6 THXI )@@G@@EN @A@@@@ WRITE = ' (6=COMP-2), 1STBIT',* @^@@@@ ELSE IF TYPE=16 TXJ )@@G@@HEN @ @@@@ WRITE = ' (16=A), 1STBIT',* @^@@@@ ELSE IF TYPE=17 THEN XK )@@G@@@ @@@@ WRITE = ' (17=X), 1STBIT',* @^@@@@ ELSE IF TYPE=18 THEN @ @@@@XL )@@G@@ WRITE = ' (18=9), 1STBIT',* @^@@@@ ELSE IF TYPE=19 THEN @ @@@@ WRITEXM )@@G@@ = ' (19=S9), 1STBIT',* @[@@@@ ELSE @^@@@@ WRITE = ', 1STBIT',* @]@@@@XN )@@G@@ END IF @B@@@@ WRITE = C55,'RELATIVE WORD IN RECORD' @]@@@@ WRITEXO )@@G@@ BARS @#@@@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,IDT(WD#+1) @ @@@@XP )@@G@@ WRITE HD IDT(WD#+1):H1,':' @ @@@@ WRITE HD IDT(WD#+1):H2,'I' @B@@@@XQ )@@G@@ WRITE = 'ITEM CODE, ITEM SIZE (BITS)',* @]@@@@ WRITE BARS @#@@@@ LET WXR )@@G@@D#=WD#+1 @ @@@@ WRITE WORD WD#,IDT(WD#+1) @B@@@@ IF TYPE = 16 OR TXS )@@G@@YPE = 17 THEN @PIC A/X @#@@@@ WRITE HX ':' @ @@@@ WRITE HO IDT(WD#+XT )@@G@@1):H2,'I' @A@@@@ WRITE = 'ITEM FEATURE FLAGS',* @]@@@@ WRITE BARS XU )@@G@@@[@@@@ ELSE @ @@@@ WRITE SD IDT(WD#+1):S1,':' @ @@@@ WRITE SD IDT(WD#+XV )@@G@@1):S2,':' @ @@@@ WRITE SD IDT(WD#+1):S3,':' @ @@@@ WRITE HO IDT(WD#+XW )@@G@@1):H2,'I' @B@@@@ WRITE = 'DEC PT, COMP SIZE, SCALE,',* @A@@@@ WRITEXX )@@G@@ = C55,'ITEM FEATURE FLAGS' @]@@@@ WRITE BARS @]@@@@ END IF @#@@@@XY )@@G@@ LET WD#=WD#+1 @ @@@@ WRITE WORD WD#,IDT(WD#+1) @ @@@@ WRITE HD IDXZ )@@G@@T(WD#+1):H1,':' @ @@@@ WRITE HD IDT(WD#+1):H2,'I' @B@@@@ WRITE = '==YA )@@G@@> ADDENDUM, ==> OCCURS',* @]@@@@ WRITE BARS @#@@@@ LET WD#=WD#+1 YB )@@G@@@#@@@@ UNTIL I=IDT(3):H2@B@@@@ IF WD#<=RRT[6]:H1 WDDUMP,O ,WD# YC )@@G@@_@@@@@ 1STBIT',* @^@@@@ ELSE IF TYPE=17 THEN @ @@@@ WRITE = ' (17=X),YD )@@G@@*[S@@@*SDFF*@G@@@@ WRITE = 'THE "SYM" MACRO ALLOWS YOU TO @SYM A SYMBIONYE )@@G@@T PRINT FILE',* @H@@@@ WRITE = 'TO A TIP PRINTER (CARRIAGE CONTROL WILYF )@@G@@L BE SIMULATED) AS FOLLOWS:',*@G@@@@ WRITE = *,' SYM .,[],',*,* @E@@@@ WRITE = 'THE DEFAULT VALUE IS 55',*,*,* @H@@@@ WRITE = 'THE "CARCTL" AND "PRTCN" VYI )@@G@@ARIABLES ARE DEFINED ONLY WHEN YOU ARE',* @H@@@@ WRITE = 'READING A SYMBYJ )@@G@@IONT PRINT FILE (OPEN SDFI). THEIR USES ARE AS',* @^@@@@ WRITE = 'FOYK )@@G@@LLOWS:',*,* @G@@@@ WRITE = ' CARCTL: LINE SPACING VALUE FOR MOST-RECENYL )@@G@@TLY READ IMAGE',* @D@@@@ WRITE = ' PRTCN: 0=LAST IMAGE WAS STANDARD TYM )@@G@@EXT',*@F@@@@ WRITE = ' 1=LAST IMAGE WAS PRTCN$/APRTCN$ IMAGE',YN )@@G@@*,* @H@@@@ WRITE = 'NEW USERS GUIDES AND PRMS ARE AVAILABLE REFLECTINGYO )@@G@@ THESE CHANGES',* _@@@@@,* @^@@@@ WRITE = 'FO*[S@@@*SDFF*@^@@@@DEC: FYP )@@G@@ORMAT <2>F6,D,* @[@@@@ @ @#@@@@ DIMENSION REC$(5)@ @@@@ PARAMETER :'@@@@@@' @ @@@@ IF REC$(5)<>0 RECORD @[@@@@ @ @C@@@@YR )@@G@@ LET L=RDT[9]:H2 @ LENGTH OF INDEX KEY (WDS)@D@@@@ DIMENSION K(L) YS )@@G@@ @ # WDS IN KEY @C@@@@ LET =ACCEPTISKEY @ BUILD CYT )@@G@@ONATENATED KEY @[@@@@ @ @ @@@@ AREA,N RDT[4]:H2 @ INDEX AREA@E@@@@YU )@@G@@ LET B=1 @ 1ST PG TO SEARCH @[@@@@ @ YV )@@G@@@]@@@@ REPEAT @]@@@@ PAGE B @D@@@@ LET R = PH[3]:H1 YW )@@G@@ @ # INDEXES ON PG @C@@@@ IF OPTS:Y WRITE DEC 'RANGE=',' YX )@@G@@ ',R@D@@@@ LET M = R/2 @ # INDEXES ON PG / 2 @C@@@@YY )@@G@@ IF OPTS:Y WRITE DEC 'CURREN','T IND=',M@]@@@@ REPEAT @F@@@@YZ )@@G@@ LET P= 012+(M*L) @ POSITION OF CURRENT INDEX @E@@@@ZA )@@G@@ LET I=P @ PREPARE FOR COMPARE @[@@@@ @ ZB )@@G@@@F@@@@ LET C=0 @ ASSUME KEYS ARE EQUAL ZC )@@G@@@#@@@@ REPEAT X=1,1 @]@@@@ IF X=1 THEN@D@@@@ IF OPTS:Y ZD )@@G@@ WRITE FMT2 K(1):H2,PAGE[I]:H2@D@@@@FMT2: FORMAT 'KEY=''',F6,''', INDEX=ZE )@@G@@''',F6,'''',* @ @@@@ IF K(1):H2 < PAGE[I]:H2 THEN @]@@@@ LET C=-1 ZF )@@G@@@A@@@@ ELSE IF K(1):H2 > PAGE[I]:H2 THEN @]@@@@ LET C=1 @]@@@@ END IZG )@@G@@F @[@@@@ ELSE @C@@@@ IF OPTS:Y WRITE FMT2 K(X),PAGE[I]ZH )@@G@@@^@@@@ IF K(X) < PAGE[I] THEN @]@@@@ LET C=-1 @ @@@@ ELSE IF K(X) > PAZI )@@G@@GE[I] THEN @]@@@@ LET C=1 @]@@@@ END IF @]@@@@ END IF @G@@@@ZJ )@@G@@ LET I=I+1 @ MOVE TO NEXT WD OF INDEX KEY ZK )@@G@@@F@@@@ UNTIL C<>0 OR X=L @ KEY >, <, OR = TILL END ZL )@@G@@@[@@@@ @ @#@@@@ IF OPTS:Y THEN @A@@@@ IF C<0 WRITE = 'KEY < INDEX',ZM )@@G@@*,* @A@@@@ IF C=0 WRITE = 'KEY = INDEX',*,* @A@@@@ IF C>0 WRITE = 'KZN )@@G@@EY > INDEX',*,* @]@@@@ END IF @[@@@@ @ @]@@@@ IF C<0 THEN@E@@@@ZO )@@G@@ LET R= R/2 @ NARROW DOWN RANGE @D@@@@ IF OPZP )@@G@@TS:Y WRITE DEC 'RANGE=',' ',R @C@@@@ LET F= (R+1) / 2 ZQ )@@G@@ @ DEFINE NEW OFFSET @D@@@@ IF OPTS:Y WRITE DEC 'OFZR )@@G@@FSET','= ',F @]@@@@ LET M= M-F @D@@@@ IF OPTS:Y WRITE DZS )@@G@@EC 'CURREN','T IND=',M @#@@@@ ELSE IF C>0 THEN @E@@@@ LET R= (R-1) / 2 ZT )@@G@@ @ NARROW DOWN RANGE @D@@@@ IF OPTS:Y WZU )@@G@@RITE DEC 'RANGE=',' ',R @C@@@@ LET F= (R/2) + 1 @ DEFINEZV )@@G@@ NEW OFFSET @C@@@@ IF OPTS:Y WRITE DEC 'OFFSET','= ',F @]@@@@ZW )@@G@@ LET M= M+F @C@@@@ IF OPTS:Y WRITE DEC 'CURREN','T IND=',M @]@@@@ZX )@@G@@ END IF @ @@@@ @ TREAD '*STOP*',Z @#@@@@ UNTIL C=0 OR R=0 ZY )@@G@@@[@@@@ @ @F@@@@ LET P= 012+(M*L) @ POSITION OF CURRZZ )@@G@@ENT INDEX @D@@@@ LET B= PAGE[P]:H1 @ NEW PG # AA )@@G@@@#@@@@ IF OPTS:Z THEN @G@@@@ WRITE FMT1 PAGE[P-2]:H2,PAGE[P-1],K(1):H2AB )@@G@@,K(2),PAGE[P]:H2,PAGE[P+1] @E@@@@FMT1: FORMAT '[',F3,F6,'] < [',F3,F6AC )@@G@@,'] < [',F3,F6,']',* @ @@@@ WRITE FMT3 M,P,B,PH[6]:H1 @H@@@@FMT3: AD )@@G@@FORMAT 'INDEX #',D,', LOC=',O,', NEW PG WILL BE ',O,', CURR LEV=',D,* AE )@@G@@@]@@@@ END IF @F@@@@ UNTIL PH[6]:H1 = 1 @ DONE WIAF )@@G@@TH LEVEL 1 INDEX @[@@@@ @ @B@@@@ AREA,N RDT[RDT[3]:H2]:H2 @ DATA AREAG )@@G@@A @]@@@@ PAGE B @^@@@@ WRITE NOW PGNUM,ACODE @D@@@@NOW: FORMAT AH )@@G@@' PRIME PAGE IS ',D,' IN AREA ',D,'.',* _@@@@@-2]:H2,PAGE[P-1],K(1):H2AI )@@G@@,K(2),PAGE[P]:H2,PAGE[P+1] @E@@@@FMT1: FORMAT '[',F3,F6,'] < [',F3,F6AJ )@@G@@,'] < [',F3,F6,']',* *[S@@@*SDFF*@B@@@@ DIMENSION FILENAME(14),FITEM$AK )@@G@@PKT(13) @^@@@@ PARAMETER :0 @D@@@@ IF FILENAME(1)=0 THEN @AL )@@G@@ REPORT CURRENT LIBRARY NAME @A@@@@ LET = FITEM('DBE$PF') AM )@@G@@@A@@@@ IF FITEM$PKT(3)=0 THEN @ NO LIBRARY@E@@@@ WRITE = R,'THERE IS PREAN )@@G@@SENTLY NO USER LIBRARY DEFINED',* @[@@@@ ELSE @H@@@@ WRITE LIBNAM 'CURAO )@@G@@REN','TLY',,,FITEM$PKT(7):T3 @H@@@@LIBNAMAP )@@G@@: FORMAT R,'THE USER LIBRARY IS ',<2>WF,X1,<2>WF,'*',<2>WF,'(',D,').',* AQ )@@G@@@]@@@@ END IF @[@@@@ ELSE @D@@@@ WRITE = R,'LET CSF$STATUS = CSF(''@AR )@@G@@USE DBE$PF.,' @^@@@@ WRITE FINAME @ @@@@FINAME: FORMAT <14AS )@@G@@>F6,''')' @[@@@@ * @A@@@@ IF CSF$STATUS < 0 THEN @ FAC REJECT@^@@@@AT )@@G@@ WRITE REJECT CSF$STATUS@]@@@@ RETURN @F@@@@ ELSE IF CSF$STATUS>0 ANAU )@@G@@D CSF$STATUS**(-0104200004200)<>0 THEN @^@@@@ WRITE WARN CSF$STATUS AV )@@G@@@]@@@@ END IF @B@@@@ LET CSF$STATUS=CSF('@ASG,AZ DBE$PF.') @^@@@@AW )@@G@@ IF CSF$STATUS<0 THEN @^@@@@ WRITE REJECT CSF$STATUS@]@@@@ RETURN AX )@@G@@@F@@@@ ELSE IF CSF$STATUS>0 AND CSF$STATUS**(-0104200004200)<>0 THEN AY )@@G@@@^@@@@ WRITE WARN CSF$STATUS @]@@@@ END IF @A@@@@ LET =FAZ )@@G@@ITEM('DBE$PF') @G@@@@ WRITE LIBNAM 'NOW',0,,,FITEM$PKT(7):T3 @]@@@@ END IF @B@@@@REJECT: FORMAT 'FACILITYBB )@@G@@ REJECTED: ',O12,*@B@@@@WARN: FORMAT 'FACILITY WARNING: ',O12,* _@@@@@BC )@@G@@*[S@@@*SDFF*%]@@@@-0 . CHG 101@I@@[@FMTS0: FORMAT ''' POINTER ',D,': SEBD )@@G@@T ''',WA,''' ',<2>WF,' POINTER',* @A@@@@FMTS0A: FORMAT '''BE )@@G@@ POINTER ',D,': ' @B@@@@FMTS0S: FORMAT 'SET ''',WA,'''' @B@@@@BF )@@G@@FMTS0P: FORMAT ' ',<2>WF,' POINTER',* @B@@@@FMTS1A: FORMAT ' ==> ',BG )@@G@@O12,' = AREA ' @E@@@@FMTS1B: FORMAT D,' (',O,'), PAGE ',D,' (',O,'), BH )@@G@@SLOT ',D,* @ @@@@COUNT: FORMAT ' ',D,' RECORD' @[@@@@ @ @A@@@@ DIMENBI )@@G@@SION B(3),X(14),PTR$TYPE(2) @ @@@@ PARAMETER PTR#:-1,REPSTODO:-1@#@@@@BJ )@@G@@ IF PTR#=-1 THEN @E@@@@ WRITE = ' A POINTER NUMBER MUST BE SPECIFBK )@@G@@IED.',* @]@@@@ RETURN @]@@@@ END IF @[@@@@ @ @D@@@@ LET TBL )@@G@@HIS$REC = PAGE[$]:NT1 @ THIS RECORD CODE @E@@@@ LET PA$AREA? = ARBM )@@G@@T[014]:S2=2 @ POINTER ARRAY AREA FLAG @G@@@@ LET OWNER? = 0 BN )@@G@@ @ SET IF THIS REC IS OWNER OF THE SET @F@@@@ LET EOC? = 0 BO )@@G@@ @ SET IF END-OF-CHAIN IS DETECTED @[@@@@ @ @ @@@@ IF OPBP )@@G@@TS:C=1 LET REPSTODO=-1 @#@@@@ IF PA$AREA? THEN @F@@@@ SET THIS$REC @ MABQ )@@G@@KE SET CURRENT (THIS$REC REALLY A SET CODE) @]@@@@ LET O=0 @]@@@@BR )@@G@@ LET Q=0 @A@@@@ IF SRT[4]:H2<>0 THEN @ IPA/SPA @#@@@@ RECORD SRT[BS )@@G@@4]:H2 @B@@@@ LET NUMPTRS = PAGE[$]:H2-RDT[1]:H1-1 @C@@@@ LET Q=RDT[1BT )@@G@@]:H1+3 @ FIRST VALID MEMBER POINTER @ @@@@ IF PTR#>2 LET O=RDT[1]:H1 BU )@@G@@@^@@@@ ELSE @ PLAIN OLD PA @D@@@@ LET NUMPTRS = PAGE[$]:H2-1 @ #PTRS BV )@@G@@IN THIS ARRAY @]@@@@ END IF @E@@@@ IF PTR#>2 AND PTR#NUMPTRS THEN @^@@@@ WRITE ERR2 NUMPTRS @F@@@@ERR2: BX )@@G@@FORMAT ' THIS POINTER ARRAY HAS ',D,' POINTERS.',* @[@@@@ STOP BY )@@G@@@]@@@@ END IF @#@@@@ ELSE @ NOT P/A @#@@@@ RECORD THIS$REC @ @@@@BZ )@@G@@ LET NUMPTRS = RDT[5]:H2-1 @^@@@@ IF RDT[010]:S5<>0 THEN @B@@@@ LET MCA )@@G@@FCW^ = RDT[011]:H1 @ MFCW WORD # @B@@@@ LET MFCW = PG[$+MFCW^] @ MCB )@@G@@FCW VALUE @^@@@@ IF PTR# = MFCW^ THEN @#@@@@ WRITE MFCW PTR# @F@@@@CC )@@G@@MFCW: FORMAT ' WORD ',D,' IS THE MANUAL FLAG CONTROL WORD, '@C@@@@CD )@@G@@ WRITE = 'AND CANNOT BE USED AS A POINTER.',* @[@@@@ STOP @]@@@@ END ICE )@@G@@F @]@@@@ END IF @A@@@@ IF PTR#<1 OR PTR#>NUMPTRS THEN @#@@@@CF )@@G@@ LET Y=RRT[1]:S3 @B@@@@ WRITE OUTRNG ,RCODE,NUMPTRS @J@@@@CG )@@G@@OUTRNG: FORMAT ' THIS RECORD (''',WA,''', CODE=',D,') HAS ',D,'CH )@@G@@ POINTERS.',* @[@@@@ STOP @]@@@@ END IF @]@@@@ END IF @[@@@@CI )@@G@@ @ @G@@@@ LET SET$TYPE = 0 @ FLAG THAT WE DON'T KNOW SET TCJ )@@G@@YPE YET @[@@@@ @ @G@@@@ LET CALC^ = RDT[5]:H2 - 1 - RDT[010]:S4 @CK )@@G@@ 1ST CALC PTR # (IF CALC) @F@@@@ LET IS^ = RDT[5]:H2 - RDT[010]:S4 CL )@@G@@ @ 1ST I/S PTR # (IF I/S) @F@@@@ IF RDT[2]:S1=2 OR RDT[2]:S1=3 AND PCM )@@G@@TR#>=CALC^ THEN @ CALC PTR? @^@@@@ LET SET$TYPE = 4 @ CALC@ @@@@ LET PCN )@@G@@TR$OFFSET = PTR# - CALC^@D@@@@ ELSE IF RDT[2]:S1=5 AND PTR#>=IS^ THEN @CO )@@G@@ I/S PTR? @^@@@@ LET SET$TYPE = 5 @ I/S @ @@@@ LET PTR$OFFSET = PTR# -CP )@@G@@ IS^ @C@@@@ ELSE IF RDT[3]:S3>0 THEN @ MANUAL PTR? @C@@@@ IF PTCQ )@@G@@R# > MFCW^ THEN @ LINK FOLLOWS MFCW @#@@@@ LET SET$TYPE = 3 @E@@@@CR )@@G@@ LET MPTR# = PTR# - MFCW^ @ RELATIVE # OF THIS MANUAL SET %^@@@@-73,73CS )@@G@@ . CHG 106 @C@@[@ LET SME^ = RDT[7]:H1 @ 1ST MAN MEMBER SME CT )@@G@@@C@@[@ LET SPTR# = 0 @ PTRS IN SETS SO FAR %@@@@[@#[@@@ REPEACU )@@G@@T SET# = 1,1@^@@@@ PWORD J9 36-SET#,1 %^@@@@-76,80 . CHG 106 CV )@@G@@@A@@[@ IF MFCW:J9=1 THEN @ SET IN USE @E@@[@ LET SPTR# = SPTR# + RDTCW )@@G@@[SME^]:S4 @ ADD # LINKS THIS SET @D@@[@ IF MPTR# <= SPTR# GOTO GOT$ITCX )@@G@@ @ REQ'D IS IN THIS SET @]@@[@ END IF @D@@[@ LET SME^ = SME^ + RDT[SCY )@@G@@ME^]:H1 @ BUMP TO NEXT SME @^@@[@ UNTIL SET# = RDT[3]:S3 @^@@[@ @ RANCZ )@@G@@ OUT OF SETS: @C@@[@ WRITE,S = ' MANUAL POINTER NOT IN USE',* DA )@@G@@@A@@[@GOT$IT: @ REQUESTED POINTER FOUND: @G@@[@ LET PTR$OFFSET = MPTR# DB )@@G@@- SPTR# + RDT[SME^]:S4 - 1 @ REL PTR # THIS SET %@@@@ @][@@@ END IF DC )@@G@@%^@@@@-82,85 . CHG 106 %@@@@^@][@@@ END IF %^@@@@-87,87 . DD )@@G@@CHG 106 %@@@@[@[[@@@ @ @F@@@@ IF SET$TYPE = 0 THEN @ USER DE )@@G@@ASKING FOR OWNER OR AUTO SET @C@@@@ SEARCH-SME,ROAP PTR# @ FIND OUDF )@@G@@T WHICH ONE @B@@@@ LET SME^ = RESULT:H2 @ POINT TO SME @G@@@@ LET PDG )@@G@@TR$OFFSET = PTR# - RDT[SME^+1]:H1 @ REL POS W/IN THIS SET'S PTRS @D@@@@DH )@@G@@ LET SET$TYPE = RESULT:S1 @ 1=OWNER, 2=AUTOMEMBER@]@@@@ END IF DI )@@G@@@[@@@@ @ @ @@@@ @ DETERMINE TYPE OF POINTER @D@@@@ IF SET$TYPE = 4 ODJ )@@G@@R SET$TYPE = 5 THEN @ CALC/IS PTR @B@@@@ LET PA$SET? = 0 @ DEFINITELY DK )@@G@@NOT P/A SET @^@@@@ IF PTR$OFFSET = 0 THEN @ @@@@ LET = 'FORWADL )@@G@@RD' @[@@@@ ELSE @ @@@@ LET = 'PRIOR' @]@@@@ END IF DM )@@G@@@[@@@@ ELSE @ @@@@ LET SETMD = RDT[SME^]:S5 %#@@@@-106,106 . CDM 117DN )@@G@@%@@@@[@^[@@@ IF PTR$OFFSET = 0 THEN @ @@@@ LET = 'FORWARD' DO )@@G@@@ @@@@ ELSE IF PTR$OFFSET = 1 THEN @C@@@@ IF SETMD:B0 THEN @DP )@@G@@ PRIOR PTRS EXIST @ @@@@ LET = 'PRIOR' @[@@@@ ELSE @ @@@@DQ )@@G@@ LET = 'OWNER' @]@@@@ END IF @^@@@@ ELSE @ PTR$OFFSETDR )@@G@@ = 2 @ @@@@ LET = 'OWNER' @]@@@@ END IF @]@@@@ END IDS )@@G@@F @[@@@@ @ @C@@@@ IF SET$TYPE<=3 THEN @ DEALING WITH SET CHAIN DT )@@G@@@D@@@@ SET RDT[SME^+1]:H2 @ MAKE THE SET CURRENT %#@@@@-121 DU )@@G@@ . CDM 117@D@@[@ LET PA$SET? = SDT[2]:S1=3 @ SET FLAG IF P/A SETDV )@@G@@@ @@@@ LET SETNMLEN = SRT[1]:S3 @^@@@@ DIM SETNM (SETNMLEN) @D@@@@DW )@@G@@ LET = @ SAVE SET NAME @[@@@@ @ @G@@@@DX )@@G@@ IF PA$SET? = 0 THEN @ DON'T BOTHER W/ MEMBERS IF P/A SET DY )@@G@@@D@@@@ DIM LINKTBL(SDT[2]:S3+1) @ 1/MEMBER + OWNER @]@@@@ LET IDZ )@@G@@=0 @E@@@@ REPEAT SME^ = SDT[4]:H2, SDT[SME^]:H1 @ LOOP THRU SET SME'SEA )@@G@@@]@@@@ LET I=I+1 @E@@@@ RECORD SDT[SME^+1]:H2 @ MAKE MEMBER RECOREB )@@G@@D CURRENT @E@@@@ SEARCH-SME,RAMC SCODE @ FIND THIS SET IN REC'S EC )@@G@@SME'S @F@@@@ IF RESULT:S1=3 LET LINKTBL(I):T1 = RDT[011]:H1 @ MFCW POSITED )@@G@@ION @G@@@@ LET LINKTBL(I):T2 = RDT[RESULT:H2+1]:H1 @ COPY PTR# FOR THIEE )@@G@@S RECORD @E@@@@ LET LINKTBL(I):T3 = RCODE @ COPY RECORDEF )@@G@@ CODE @#@@@@ UNTIL I=SDT[2]:S3@B@@@@ ELSE @ P/AEG )@@G@@ SET @E@@@@ DIM LINKTBL (1) @ ONLY NEED OWNER RECORD INFO EH )@@G@@%#@@@@-138 . CDM 118@]@@[@ LET I=0 @]@@@@ END IF @[@@@@ @ EI )@@G@@@B@@@@ @ NOW DO THE SAME FOR THE OWNER RECORD @D@@@@ RECORD SDT[2]:H2 EJ )@@G@@ @ MAKE OWNER CURRENT @E@@@@ SEARCH-SME,ROC SCODE EK )@@G@@ @ FIND SET IN OWNER'S SME'S @E@@@@ LET LINKTBL(I+1):T3 = SDT[2]:H2 @ NEL )@@G@@OW OWNER RECORD CODE @F@@@@ LET LINKTBL(I+1):T2 = RDT[RESULT:H2+1]:H1EM )@@G@@ @ AND POINTER NUMBER @E@@@@ LET OWNER$REC = SDT[2]:H2 @ SAVE OWNEEN )@@G@@R RECORD CODE @[@@@@ @ @F@@@@ IF THIS$REC = SDT[2]:H2 LET OWNER? EO )@@G@@= 1 @ SET IF THIS REC OWNS SET@F@@@@ @ SPECIAL CASE: 'ORDER LAST' AND CHEP )@@G@@OSE PRIOR LINK FROM OWNER -- @C@@@@ @ CHAIN ENDS WHEN WE HIT THE LAEQ )@@G@@ST IN SET @E@@@@ IF OWNER? AND SDT[2]:S1<>2 AND PTR$OFFSET=1 LET EOC?=ER )@@G@@1 @A@@@@ ELSE IF SET$TYPE=4 THEN @ CALC PTR @D@@@@ DIM LINKTBL (SCRTES )@@G@@[011]:H1) @ WORST CASE: # RECORDS @E@@@@ LET LT$LEN = 0 @ET )@@G@@ # ENTRIES IN LINKTBL SO FAR @A@@@@ ELSE IF SET$TYPE=5 THEN @ I/S PTR EU )@@G@@@E@@@@ DIM LINKTBL(1) @ ONLY 1 RECORD TYPE PER CHAIN @ @@@@EV )@@G@@ LET LINKTBL(1):T3 = RCODE %#@@@@-158,158 . CDM148 @^@@[@ LET LINKTBLEW )@@G@@(1):T2 = IS^%@@@@[@][@@@ END IF @[@@@@ @ @D@@@@ IF PA$SET? = 0 THEX )@@G@@EN @ SKIP THIS IF P/A SET @ @@@@ LET SLOT# = RECLOCTOSLOT $ EY )@@G@@@#@@@@ IF SLOT# < 0 THEN@G@@@@ WRITE = ' CURRENT RECORD CANNOT BE EZ )@@G@@LOCATED IN THE PAGE SLOTS.',* @[@@@@ STOP @]@@@@ END IF @B@@@@ LET SFA )@@G@@TARTDBP = ENCODE(ACODE,PGNUM,SLOT#) @A@@@@ IF PAGE[$+PTR#] = STARTDBP THFB )@@G@@EN @^@@@@ WRITE = 'RECORD ''' @^@@@@ DDL-SUB,R THIS$REC %#@@@@FC )@@G@@-171,171 . CHG 101@A@@[@ WRITE FMTS0 PTR#,,%@@@@[@^[@@@FD )@@G@@ WRITE FMTS1A STARTDBP @C@@@@ WRITE FMTS1B ACODE,ACODE,PGNUM,PGNUM,SLOTFE )@@G@@# @ @@@@ WRITE = ' SET IS EMPTY.',* @]@@@@ RETURN @]@@@@ END IFF )@@G@@F @B@@@@ ELSE @ P/A SET @A@@@@ @ COPY P/A,FG )@@G@@ PREPARE FOR LOOP .... @]@@@@ END IF @[@@@@ @ @F@@@@ REPEAT FH )@@G@@ @ ******* MAIN LINK LOOP ******** @ @@@@ LET THIS$REFI )@@G@@C = PG[$]:NT1 @C@@@@ RECORD THIS$REC @ MAKE RECORD CURRENT FJ )@@G@@@[@@@@ @ @B@@@@ @ GET PTR# IN THIS RECORD OCCURRENCE @G@@@@ LET LFK )@@G@@T^ = SEARCH (:NT3, RCODE) @ FIND THIS RCODE IN LINKTBL @D@@@@FL )@@G@@ IF LT^ < 0 THEN @ RECORD NOT IN TABLE @F@@@@ IF SET$TYPEFM )@@G@@=4 THEN @ OK FOR CALC, 1ST TIME FOR THIS RECORD@^@@@@ LET LT$LEN FN )@@G@@= LT$LEN + 1@#@@@@ LET LT^ = LT$LEN @ @@@@ LET LINKTBL(LT^):T3 = RCODE FO )@@G@@@F@@@@ LET LINKTBL(LT^):T2 = RDT[5]:H2 - 1 - ART[3]:B35 @ CALC PTR # FP )@@G@@@B@@@@ ELSE @ CHAIN SET @J@@@@ WRITE,S = 'FQ )@@G@@ DB INCONSISTENCY! THIS RECORD SHOULD NOT BE IN THE SET SELECTED.',* FR )@@G@@@]@@@@ END IF @D@@@@ ELSE @ RECORD FOUND IN TFS )@@G@@ABLE @C@@@@ LET LT^ = LT^ + 1 @ MAKE IT ORIGIN 1 @]@@@@ END IFT )@@G@@F @G@@@@ LET PTR# = LINKTBL(LT^):NT2 @ IF AUTO/OWNER, PTR # IS STRAIFU )@@G@@GHTFORWARD @F@@@@ IF LINKTBL(LT^):NT1 > 0 THEN @ THIS IS MAN MEM, MUST FV )@@G@@CHECK MFCW @ @@@@ LET MFCW^ = LINKTBL(LT^):NT1 @^@@@@ LET MFCW = PG[$+FW )@@G@@MFCW^]@D@@@@ PWORD J9 35-PTR#,1 @ THE BIT FOR THE SET WE NEED@D@@@@FX )@@G@@ IF MFCW:J9 = 0 THEN @ THIS OCCURRENCE NOT IN SET @F@@@@ WRITE,S = 'FY )@@G@@ DB INCONSISTENCY! MANUAL MEMBER NOT IN SET.',* @]@@@@ END IF FZ )@@G@@%#@@@@-207,207 . CDM 119@E@@[@ LET SME^ = RDT[7]:H1 @ POINT TO 1GA )@@G@@ST MANUAL SME @G@@[@ LET SPTR# = 1 @ 1ST OF CURR SET'GB )@@G@@S PTR IN MANUAL PTRS @#@@[@ IF PTR#>0 THEN %@@@@[@#[@@@ REPEAT BIT#GC )@@G@@ = 0,1@^@@@@ PWORD J9 35-BIT#,1 %#@@@@-210,212 . CDM 119@G@@[@ IF MFGD )@@G@@CW:J9=1 LET SPTR# = SPTR# + RDT[SME^]:S4 @ ADD THIS SET'S PTRS @D@@[@GE )@@G@@ LET SME^ = SME^ + RDT[SME^]:H1 @ MOVE TO NEXT SME @^@@[@ UNTIL BIT# GF )@@G@@= PTR# - 1 @]@@[@ END IF @G@@[@ LET PTR# = MFCW^ + SPTR# @ POIGG )@@G@@NT TO WORD REL TO START OF RECORD %@@@@#@][@@@ END IF @[@@@@ @ GH )@@G@@@E@@@@ LET PTR# = PTR# + PTR$OFFSET @ ALLOW FOR >1 PTR IN A SET @D@@@@GI )@@G@@ LET DBP=PAGE[$+PTR#] @ FETCH NEXT POINTER @[@@@@ @ @#@@@@GJ )@@G@@ IF DBP=0 THEN @A@@@@ WRITE = ' POINTER IS ZERO.',*@]@@@@ GOTO GK )@@G@@DONE @]@@@@ END IF @[@@@@ @ @^@@@@ LET =DECODE(DBP) @#@@@@GL )@@G@@ LET SLOT# = B(3) @C@@@@ @ BUILD 'FIND' MACRO CALL TO CHASE THE POINTER GM )@@G@@@#@@@@ WRITE = 'FIND,' @E@@@@ IF PA$AREA? WRITE = 'K' @ IF P/A, IT'GN )@@G@@S A DBK (K-OPTION)@E@@@@ IF OPTS:N WRITE = 'N' @ IF NO LISTING, DOGO )@@G@@ N-OPTION @E@@@@ IF CHARSW=5 WRITE = X(-1) @ ERASE COMMA IF NO OPTIOGP )@@G@@NS @#@@@@ WRITE = ' DBP' @D@@@@ * @ XQT TGQ )@@G@@HE 'FIND' CALL @G@@@@ IF RESULT=0 GO TO FNDERR @ IF DBP/DBKGR )@@G@@ CAN'T BE FOUND, ERROR @[@@@@ @ @^@@@@ LET B(3)=RECLOCTOSLOT $@#@@@@GS )@@G@@ IF OPTS:N=0 THEN @ @@@@ WRITE = <72>'-',*,'RECORD '''@]@@@@ DDL-SUB,R GT )@@G@@@#@@@@ WRITE FMTS0A PTR#@B@@@@ IF SET$TYPE=4 THEN @ CALC CHAIN GU )@@G@@@^@@@@ WRITE = 'CALC CHAIN' @B@@@@ ELSE IF SET$TYPE=5 THEN @ I/S CHAGV )@@G@@IN @^@@@@ WRITE = 'I/S CHAIN' @B@@@@ ELSE @ CGW )@@G@@HAIN SET @^@@@@ WRITE FMTS0S @]@@@@ END IF @^@@@@ WRITEGX )@@G@@ FMTS0P @#@@@@ WRITE FMTS1A DBP @B@@@@ WRITE FMTS1B B(1),B(1),GY )@@G@@B(2),B(2),B(3) @[@@@@ @ @ @@@@ LET PAGETYPE=PH[1]:S3**7 @F@@@@GZ )@@G@@ IF PAGETYPE=1 OR PAGETYPE=4 WRITE = '*** OVERFLOW PAGE ***',* @B@@@@HA )@@G@@ IF PAGETYPE=0 AND SLOT#<=PH[6]:H1 THEN @H@@@@ WRITE = *,'*** WENT THRHB )@@G@@U CALC CHAIN HEADER. FIRST RECORD ON CALC CHAIN:',* @]@@@@ END IF HC )@@G@@@[@@@@ @ @#@@@@ IF OPTS:S=0 THEN @]@@@@ DUMPREC @]@@@@ WRITE * HD )@@G@@@#@@@@ IF OPTS:D=1 THEN @[@@@@ DATA @]@@@@ WRITE * @]@@@@ END IF HE )@@G@@@]@@@@ END IF @]@@@@ END IF @[@@@@ @ @^@@@@ IF PA$AREA? RETURHF )@@G@@N @C@@@@ IF EOC? = 1 THEN @ END CHAIN HERE? @C@@@@ WRITEHG )@@G@@ = *,'PRIOR POINTER CHAIN ENDS HERE.',* @]@@@@ RETURN @]@@@@ END IHH )@@G@@F @[@@@@ @ @A@@@@ LET DBP = ENCODE(ACODE,PGNUM,B(3)) @ @@@@ LET RHI )@@G@@EPSDONE = REPSDONE+1 @^@@@@ IF DBP=STARTDBP THEN @C@@@@ WRITE = *,'HJ )@@G@@RETURNED TO STARTING RECORD.',* @]@@@@ GOTO DONE @]@@@@ END IF HK )@@G@@@C@@@@ IF OPTS:O THEN @ STOP AT OWNER @B@@@@ IF SET$TYPEHL )@@G@@ = 4 THEN @ CALC CHAIN @B@@@@ ELSE @ CHAIN SHM )@@G@@ET @C@@@@ IF PAGE[$]:NT1=OWNER$REC THEN @ THIS IS OWNER @B@@@@ WRITEHN )@@G@@ = *,'OWNER RECORD ENCOUNTERED.',* @]@@@@ GOTO DONE @]@@@@ END IF HO )@@G@@@]@@@@ END IF @]@@@@ END IF @A@@@@ IF OPTS:C=0 AND REPSTODO<0 THHP )@@G@@EN @#@@@@ IF MODE=1 THEN @]@@@@ GOTO DONE @[@@@@ ELSE @[@@@@ PAUSEHQ )@@G@@@]@@@@ END IF @]@@@@ END IF @ @@@@ UNTIL REPSDONE = REPSTODO HR )@@G@@@]@@@@ WRITE * @]@@@@DONE: @ @^@@@@ WRITE COUNT REPSDONE @ @@@@HS )@@G@@ IF REPSDONE<>1 WRITE = 'S' @^@@@@ WRITE = ' SELECTED.',* @]@@@@ RETURHT )@@G@@N @C@@@@FNDERR: WRITE = ' THE RECORD WITH DB ' @#@@@@ IF PAHU )@@G@@$AREA? THEN @#@@@@ WRITE = 'KEY ' @[@@@@ ELSE @^@@@@ WRITE = 'POINTER HV )@@G@@' @]@@@@ END IF @#@@@@ WRITE O12 DBP @#@@@@O12: FORMAT O12 HW )@@G@@@C@@@@ WRITE = ' CANNOT BE LOCATED IN THE DATABASE.',*@[@@@@ STOP @#@@@@HX )@@G@@GIGO: ERRPR,N @[@@@@ STOP _@@@@@ END IF @A@@@@ IF PTR#<1 OR PTR#HY )@@G@@>NUMPTRS THEN @#@@@@ LET Y=RRT[1]:S3 @B@@@@ WRITE OUTRNG ,RCODE,NUMPTRS @J@@@@OUTRNG: FORMAT ' T*[S@@@*SDFF*@A@@@@FMTS0AIA )@@G@@: FORMAT ''' POINTER ',D,': ' @B@@@@FMTS0S: FORMAT 'SET ''',WAIB )@@G@@,'''' @B@@@@FMTS0P: FORMAT ' ',<2>WF,' POINTER',* @B@@@@FMTS1A: FORMIC )@@G@@AT ' ==> ',O12,' = AREA ' @E@@@@FMTS1B: FORMAT D,' (',O,'), PAGE ',DID )@@G@@,' (',O,'), SLOT ',D,* @ @@@@COUNT: FORMAT ' ',D,' RECORD'@]@@@@ IE )@@G@@ @ @G@@@@ GLOBAL LINKTBL, PTR$OFFSET, REPSTODO @ TO BE CHANIF )@@G@@GED ***** @]@@@@ @ @F@@@@ LET OWNER$DBP = 0 IG )@@G@@ @ DON'T KNOW OWNER'S DBP YET@]@@@@ @ @F@@@@ @ IN FUTURE, FIX IH )@@G@@FOLLOWING SO THAT AREA/PAGE STUFF ISN'T DONE IF @A@@@@ @ WE'RE ALREADY III )@@G@@N POINTER AREA @[@@@@ @ @E@@@@ LET SAVE$AREA = ACODE @IJ )@@G@@ SAVE CURRENT LOCATION @ @@@@ LET SAVE$PAGE = PGNUM @ @@@@ IK )@@G@@ LET SAVE$ADDR = $ @E@@@@ AREA,PN SDT[1]:H1 @ GOIL )@@G@@ TO POINTER AREA @I@@@@ DIM PA (ART[011]:H2 - 10) @ CREATE LARGE ENOUGH TO HOLD A PAGE @E@@@@ LET PA^ = 0 IN )@@G@@ @ SHOW UNUSED SO FAR @E@@@@ LET PA$DBKS = 0 IO )@@G@@ @ SHOW UNUSED SO FAR @F@@@@ AREA,N SAVE$AREA @ BAIP )@@G@@CK TO WHERE WE WERE @^@@@@ PAGE SAVE$PAGE@]@@@@ ON BIQ )@@G@@@^@@@@ 0+SAVE$ADDR PAGE@#@@@@ OFF B @]@@@@ @ IR )@@G@@@G@@@@ REPEAT @ ******* MAIN LINK LOOP ******IS )@@G@@** @[@@@@ @ @D@@@@ @ DETERMINE IF CURRENT RECORD IS OWNER OR MEMBEIT )@@G@@R @[@@@@ @ @F@@@@ IF ART[014]:S2 = 2 THEN @ CURRENTLY IIU )@@G@@N POINTER AREA @H@@@@ LET OWNER? = 0 @ SHOW THAT WIV )@@G@@E ARE NOW WORKING W/ MEMBER @I@@@@ ELSE @IW )@@G@@ CURRENTLY IN EITHER OWNERS OR MEMBERS AREA @G@@@@ IF PG[IX )@@G@@$]:NT1 = LINKTBL(1):NT3 THEN @ THIS IS OWNER RECORD @G@@@@ IY )@@G@@ LET OWNER? = 1 @ FLAG CURRENT RECORD AS THE OWNER @#@@@@ IZ )@@G@@ ELSE @G@@@@ LET OWNER? = 0 @ FLAG CURRENT RECOJA )@@G@@RD AS A MEMBER @#@@@@ END IF@#@@@@ END IF @[@@@@JB )@@G@@ @ @A@@@@ @ LOAD DBK OF NEXT RECORD IN CHAIN @[@@@@ @ @E@@@@ JC )@@G@@ IF OWNER? = 1 THEN @ CURRENTLY AT OWNER @H@@@@ JD )@@G@@LET PA^ = 0 @ FORCE LOAD OF 1ST P/A PART INTO @H@@@@JE )@@G@@ LET PTR# = LINKTBL(1):T2 + PTR$OFFSET @ LINK # IN OWNER RECOJF )@@G@@RD @G@@@@ LET PA$DBP = PAGE [$ + PTR#] @ LOAD LINK OUT OF JG )@@G@@OWNER RECORD@F@@@@ LET SLOT# = RECLOCTOSLOT $ @ FIND OWNER'S JH )@@G@@SLOT NUMBER @G@@@@ LET OWNER$DBP = ENCODE (ACODE, PGNUM, SLOTJI )@@G@@#) @ OWNER'S DBP @G@@@@ IF OWNER$DBP = PA$DBP THEN @ OWNER'SJJ )@@G@@ LINK POINTS TO ITSELF @B@@@@ WRITE = 'SET IS EMPTY.',* JK )@@G@@@#@@@@ STOP@#@@@@ END IF@E@@@@ ELSE JL )@@G@@ @ CURRENTLY AT MEMBER @F@@@@ IF OWNER$DBPJM )@@G@@ = 0 THEN @ DON'T KNOW WHERE OWNER IS YET@E@@@@ @ SEARCH FJN )@@G@@OR OWNER POINTER IN MEMBER RECORD @B@@@@ @ (COPY 174-203 JO )@@G@@OF LINX) @C@@@@ @ LET OWNER$DBP = PAGE [$ + PTR#] @#@@@@JP )@@G@@ END IF@#@@@@ END IF @]@@@@ @ @D@@@@ @ SETJQ )@@G@@ "NEXT$DBP" TO BE THE DBP OF THE NEXT RECORD: @F@@@@ @ 1) IF STILL MJR )@@G@@ORE DBK'S IN CURRENT P/A PART, USE NEXT DBK @A@@@@ @ 2) IF NO MOREJS )@@G@@ IN CURRENT PART: @G@@@@ @ A) IF ANOTHER PART EXISTS, POINT "PA$DBPJT )@@G@@" AT IT & FORCE LOAD @D@@@@ @ OF THE NEXT PART (BY SETTING "PJU )@@G@@A^" TO 0) @G@@@@ @ B) IF WE HIT THE END OF THE PARTS, POINT TO THJV )@@G@@E OWNER RECORD @[@@@@ @ @E@@@@ IF PA^ > 0 THEN JW )@@G@@@ IF PA^ MEANINGFUL @G@@@@ IF PA^ > PA$DBKS THEN @ BEYJX )@@G@@OND END OF THIS P/A PART? @G@@@@ IF PA(1):B18=1 AND PA$NEJY )@@G@@XT<>-0 THEN @ ANOTHER PART EXISTS @F@@@@ LET PA$DBP = PA$JZ )@@G@@NEXT @ LOAD DBP OF NEXT PART @G@@@@ LET PA^ = 0 KA )@@G@@ @ FORCE LOAD OF NEXT P/A PART @E@@@@ ELSE KB )@@G@@ @ NO MORE P/A PARTS @E@@@@ LET NEXT$DBP = OKC )@@G@@WNER$DBP @ POINT BACK TO OWNER@E@@@@ LET NEXT$TYPE = 'P' KD )@@G@@ @ SHOW IT'S A DBP @#@@@@ END IF@G@@@@ ELSE KE )@@G@@ @ STILL WITHIN CURRENT P/A PART @D@@@@ KF )@@G@@LET NEXT$DBP = PA (PA^) @ LOAD NEXT DBK @E@@@@ LET NEXT$TYPKG )@@G@@E = 'K' @ SHOW IT'S A DBK @D@@@@ LET PA^ = PA^ + 1 KH )@@G@@ @ BUMP INDEX @#@@@@ END IF @#@@@@ END IF KI )@@G@@@]@@@@ @ @G@@@@ @ IF THE NEXT P/A PART NEEDS TO BE LOADED (PA^=KJ )@@G@@0), LOAD IT INTO , @E@@@@ @ THEN SET "PA$DBKS" TO THE NUMBER OF DBKKK )@@G@@'S IN THAT PART @[@@@@ @ @F@@@@ IF PA^ = 0 THEN KL )@@G@@ @ NEED TO LOAD NEXT P/A PART@D@@@@ FIND PA$DBP KM )@@G@@ @ GO FETCH P/A @E@@@@ IF RESULT = 0 THEN @ BAD POINKN )@@G@@TER TO P/A @C@@@@ WRITE = 'POINTER TO P/A IS BAD',* @#@@@@KO )@@G@@ STOP@#@@@@ END IF@#@@@@ @ @E@@@@KP )@@G@@ LET PA$HDR = PAGE[$] @ RECORD HEADER WORD @H@@@@ KQ )@@G@@ LET PA$PRIOR = PAGE[$+PAGE[$]:H2-2] @ NEXT TO LAST WD IN RECORD KR )@@G@@@F@@@@ LET PA$NEXT = PAGE[$+PAGE[$]:H2-1] @ LAST WD IN RECORDKS )@@G@@@#@@@@ @ @G@@@@ IF PA$HDR:B18=0 AND PA$PRIOR<>KT )@@G@@0 THEN @ SINGLE-PART ARRAY @G@@@@ LET PA$DBKS = PAGE[$]:KU )@@G@@H2 - 1 @ # PTRS IN THIS P/A PART @G@@@@ LET PA$PRIOR = 0KV )@@G@@ @ IT WASN'T REALLY A PRIOR PTR @D@@@@ LET PA$NEXKW )@@G@@T = 0 @ SAME HERE @F@@@@ LET PA$DBKS = PA$HDR:HKX )@@G@@2 - 1 @ # DBKS IN THE ARRAY @F@@@@ ELSE KY )@@G@@ @ THIS IS A MULTI-PART ARRAY@F@@@@ LET PA$DBKS = PA$HDR:HKZ )@@G@@2 - 3 @ # DBKS IN THE ARRAY @#@@@@ END IF@#@@@@ LA )@@G@@@ @I@@@@ LET = @ LB )@@G@@COPY DBKS INTO @#@@@@ @ @D@@@@ LET NELC )@@G@@XT$DBP = PA (1) @ LOAD FIRST DBK@E@@@@ LET NEXT$TYPE = 'KLD )@@G@@' @ SHOW IT'S A DBK @#@@@@ @ @E@@@@ LE )@@G@@LET PA^ = 2 @ POINT TO NEXT DBK @#@@@@ END IF LF )@@G@@@]@@@@ @ @E@@@@ @ "NEXT$DBP" NOW POINTS TO THE NEXT RECORD IN TLG )@@G@@HE CHAIN. @ @@@@ @ GO FETCH IT AND DUMP IT. @[@@@@ @ @C@@@@ LH )@@G@@ IF NEXT$TYPE = 'K' THEN @ DB KEY @D@@@@ FIND,K NEXT$LI )@@G@@DBP @ GO GET IT @D@@@@ ELSE LJ )@@G@@ @ DB POINTER @D@@@@ FIND NEXT$DBP @ GO GET ILK )@@G@@T @#@@@@ END IF @]@@@@ @ @B@@@@ IF RESULLL )@@G@@T=0 THEN @ NFG @F@@@@ WRITE = 'BAD DBK...',* @ TO BLM )@@G@@E ENHANCED LATER *** @#@@@@ STOP @#@@@@ END IF LN )@@G@@@]@@@@ @ @ @@@@ @ WE MADE IT!!!!! @F@@@@ GO TO CONTLO )@@G@@1 @ ************************************************ @A@@@@ LELP )@@G@@T THIS$REC = PG[$]:NT1 @E@@@@ RECORD THIS$REC @ MAKE LQ )@@G@@RECORD CURRENT @]@@@@ @ @C@@@@ @ GET PTR# IN THIS RLR )@@G@@ECORD OCCURRENCE @H@@@@ LET LT^ = SEARCH (:NT3, RCODELS )@@G@@) @ FIND THIS RCODE IN LINKTBL@E@@@@ IF LT^ < 0 THEN LT )@@G@@ @ RECORD NOT IN TABLE @H@@@@ IF SET$TYPE=4 THEN @ OKLU )@@G@@ FOR CALC, 1ST TIME FOR THIS RECORD @B@@@@ LET LT$LEN = LT$LV )@@G@@LEN + 1 @ @@@@ LET LT^ = LT$LEN@B@@@@ LET LW )@@G@@LINKTBL(LT^):T3 = RCODE @H@@@@ LET LINKTBL(LT^):T2 = RDT[5]LX )@@G@@:H2 - 1 - ART[3]:B35 @ CALC PTR # @D@@@@ ELSE LY )@@G@@ @ CHAIN SET @L@@@@ WRITE,S = ' DB INCONSILZ )@@G@@STENCY! THIS RECORD SHOULD NOT BE IN THE SET SELECTED.',* @#@@@@ MA )@@G@@ END IF@F@@@@ ELSE @ RECORD FOUND IMB )@@G@@N TABLE @E@@@@ LET LT^ = LT^ + 1 @ MAKE IT ORIGINMC )@@G@@ 1 @#@@@@ END IF @I@@@@ LET PTR# = LINKTBL(LT^):NTMD )@@G@@2 @ IF AUTO/OWNER, PTR # IS STRAIGHTFORWARD @H@@@@ IF LINKTME )@@G@@BL(LT^):NT1 > 0 THEN @ THIS IS MAN MEM, MUST CHECK MFCW @B@@@@ MF )@@G@@ LET MFCW^ = LINKTBL(LT^):NT1 @A@@@@ LET MFCW = PG[$+MMG )@@G@@FCW^] @F@@@@ PWORD J9 35-PTR#,1 @ THE BIT FOR THE SET WEMH )@@G@@ NEED @F@@@@ IF MFCW:J9 = 0 THEN @ THIS OCCURRENCE NOT INMI )@@G@@ SET @H@@@@ WRITE,S = ' DB INCONSISTENCY! MANUAL MEMMJ )@@G@@BER NOT IN SET.',*@#@@@@ END IF@E@@@@ LET I=0 MK )@@G@@ @ # MANUAL PTRS IN USE @ @@@@ REPEAT BIT# = 0,1 ML )@@G@@@A@@@@ PWORD J9 35-BIT#,1 @H@@@@ LET I = I MM )@@G@@+ MFCW:J9 @ COUNT HOW MANY MANUAL PTRS ARE IN USE @F@@@@ MN )@@G@@UNTIL BIT# = MPTR# @ FOUND THE NEEDED PTR WORD @G@@@@ MO )@@G@@LET PTR# = MFCW^ + I @ ADDR OF SET PTR IN THIS OCCURRENCE@#@@@@ MP )@@G@@ END IF @]@@@@ @ @F@@@@ LET PTR# = PTR# + PTR$OFFSMQ )@@G@@ET @ ALLOW FOR >1 PTR IN A SET@E@@@@ LET DBP=PAGE[$+PTR#] MR )@@G@@ @ FETCH NEXT POINTER @]@@@@ @ @^@@@@ IF DBP=0 THEN MS )@@G@@@C@@@@ WRITE = ' POINTER IS ZERO.',* @^@@@@ MT )@@G@@GOTO DONE @#@@@@ END IF @]@@@@ @ @ @@@@ LEMU )@@G@@T =DECODE(DBP) @ @@@@ LET SLOT# = B(3) @E@@@@ @ MV )@@G@@BUILD 'FIND' MACRO CALL TO CHASE THE POINTER @ @@@@ WRITE = MW )@@G@@'FIND,' @G@@@@ IF PA$AREA? WRITE = 'K' @ IF P/A, IT'S AMX )@@G@@ DBK (K-OPTION) @F@@@@ IF OPTS:N WRITE = 'N' @ IF NO LIMY )@@G@@STING, DO N-OPTION@F@@@@ IF CHARSW=5 WRITE = X(-1) @ ERASE COMZ )@@G@@MMA IF NO OPTIONS @^@@@@ WRITE = ' DBP'@E@@@@ * NA )@@G@@ @ XQT THE 'FIND' CALL @I@@@@ IF RESULT=0 GONB )@@G@@ TO FNDERR @ IF DBP/DBK CAN'T BE FOUND, ERROR @]@@@@ NC )@@G@@ @ @A@@@@ LET B(3)=RECLOCTOSLOT $ @ @@@@CONT1: IF OPTS:ND )@@G@@N=0 THEN @D@@@@ GO TO CONT2 @ *********************************NE )@@G@@@A@@@@ WRITE = 'RECORD ''' @^@@@@ DDL-SUB,R NF )@@G@@@ @@@@ WRITE FMTS0A PTR# @D@@@@ IF SET$TYPE=4 THENNG )@@G@@ @ CALC CHAIN @A@@@@ WRITE = 'CALC CHAIN' @D@@@@NH )@@G@@ ELSE IF SET$TYPE=5 THEN @ I/S CHAIN @A@@@@ NI )@@G@@ WRITE = 'I/S CHAIN' @D@@@@ ELSE @ CHNJ )@@G@@AIN SET @A@@@@ WRITE FMTS0S @#@@@@ NK )@@G@@END IF@A@@@@ WRITE FMTS0P @ @@@@ WRITE NL )@@G@@FMTS1A DBP @D@@@@ WRITE FMTS1B B(1),B(1),B(2),B(2),B(3) NM )@@G@@@ @@@@ WRITE = <72>'-',* @#@@@@ @ @A@@@@CONT2:NN )@@G@@ LET PAGETYPE=PH[1]:S3**7@H@@@@ IF PAGETYPE=1 OR PAGETYPNO )@@G@@E=4 WRITE = '*** OVERFLOW PAGE ***',* @#@@@@ @ @ @@@@NP )@@G@@ IF OPTS:S=0 THEN @^@@@@ DUMPREC @ @@@@ NQ )@@G@@ IF OPTS:D=1 DATA@#@@@@ END IF@#@@@@ END IF NR )@@G@@@]@@@@ @ @A@@@@ LET REPSDONE = REPSDONE+1 @F@@@@ NS )@@G@@GO TO CONT3 @ ********************************************* @C@@@@ NT )@@G@@ LET DBP = ENCODE(ACODE,PGNUM,B(3)) @ @@@@ IF DBP=STARTDBNU )@@G@@P THEN@D@@@@ WRITE = *,'RETURNED TO STARTING RECORD.',*@^@@@@NV )@@G@@ GOTO DONE @#@@@@ END IF @D@@@@ IF OPTS:NW )@@G@@O THEN @ STOP AT OWNER @D@@@@ IF SET$TYPE = 4 THNX )@@G@@EN @ CALC CHAIN @D@@@@ ELSE @ CHNY )@@G@@AIN SET @E@@@@ IF PAGE[$]:NT1=OWNER$REC THEN @ THIS IS NZ )@@G@@OWNER @E@@@@ WRITE = *,'OWNER RECORD ENCOUNTERED.',* OA )@@G@@@ @@@@ GOTO DONE @^@@@@ END IF @#@@@@OB )@@G@@ END IF@#@@@@ END IF @B@@@@CONT3: IF OPTS:C=0 ANOC )@@G@@D REPSTODO<0 THEN @ @@@@ IF MODE=1 THEN @^@@@@ OD )@@G@@ GOTO DONE @#@@@@ ELSE @^@@@@ PAUSE @#@@@@OE )@@G@@ END IF@#@@@@ END IF @A@@@@ UNTIL REPSDONE =OF )@@G@@ REPSTODO @#@@@@ WRITE * @]@@@@DONE: @ @ @@@@ WRITOG )@@G@@E COUNT REPSDONE @A@@@@ IF REPSDONE<>1 WRITE = 'S' @ @@@@ OH )@@G@@ WRITE = ' SELECTED.',*@#@@@@ RETURN @C@@@@FNDERR: WRITE = ' THE RECORD WITH DB ' @^@@@@ IF PA$AREA? THEN@^@@@@ OJ )@@G@@ WRITE = 'KEY '@]@@@@ ELSE@ @@@@ WRITE = 'POINTER ' OK )@@G@@@#@@@@ END IF @^@@@@ WRITE O12 DBP @#@@@@O12: FORMOL )@@G@@AT O12@E@@@@ WRITE = ' CANNOT BE LOCATED IN THE DATABASE.',* OM )@@G@@@]@@@@ STOP@#@@@@GIGO: ERRPR,N @]@@@@ STOP_@@@@@ @ON )@@G@@ CURRENTLY IN EITHER OWNERS OR MEMBERS AREA @G@@@@ IF PG[OO )@@G@@*[S@@@*SDFF*@^@@@@ DIMENSION X(30),S(30) @ @@@@ PARAMETER X:'* ',S:OP )@@G@@0 @#@@@@ IF S(1)=0 THEN @F@@@@ WRITE = ' SECOND PARAMETER ROQ )@@G@@EQUIRED, NONE SUPPLIED',* @]@@@@ RETURN 0 @]@@@@ END IF @#@@@@OR )@@G@@ LET N=SIZE(X) @#@@@@ LET N=(N*6+3)/4 @#@@@@ DIMENSION M(N) @^@@@@OS )@@G@@ LET =ASCII() @]@@@@ LET I=1 @]@@@@ LET J=1 @]@@@@ LET ZOT )@@G@@=0 @]@@@@ ERROR ERROR@ @@@@STATE1: IF [M:I,9]='*'A THEN @]@@@@ GOTO OU )@@G@@STATE2@ @@@@ ELSE IF [M:I,9]=' 'A THEN @]@@@@ GOTO STATE5@ @@@@ ELSE OV )@@G@@IF [M:I,9]=[S:J,9] THEN @]@@@@ LET I=I+1 @]@@@@ LET J=J+1 @]@@@@ GOTO OW )@@G@@STATE1@#@@@@ ELSE IF Z=0 THEN @]@@@@ RETURN 0 @]@@@@ END IF @]@@@@OX )@@G@@ LET I=Z @#@@@@ GO TO STATE3 @ @@@@STATE2: IF [M:I,9]='*'A THEN OY )@@G@@@]@@@@ LET I=I+1 @]@@@@ GOTO STATE2@ @@@@ ELSE IF [M:I,9]=' 'A THEN OZ )@@G@@@]@@@@ RETURN 1 @[@@@@ ELSE @]@@@@ LET Z=I @]@@@@ END IF @ @@@@PA )@@G@@STATE3: IF [S:J,9]=' 'A THEN @]@@@@ RETURN 0 @ @@@@ ELSE IF [M:I,9]=[PB )@@G@@S:J,9] THEN @]@@@@ LET I=I+1 @]@@@@ LET J=J+1 @]@@@@ GOTO STATE1@[@@@@PC )@@G@@ ELSE @]@@@@ LET J=J+1 @]@@@@ GOTO STATE3@]@@@@ END IF @A@@@@STATE4PD )@@G@@: IF [M:I,9]=[S:J,9] THEN @]@@@@ LET J=J+1 @]@@@@ GOTO STATE4@[@@@@PE )@@G@@ ELSE @]@@@@ LET I=I+1 @]@@@@ GOTO STATE1@]@@@@ END IF @ @@@@STATE5PF )@@G@@: IF [S:J,9]=' 'A THEN @]@@@@ RETURN 1 @#@@@@ ELSE IF Z<>0 THEN@]@@@@PG )@@G@@ LET I=Z @]@@@@ GOTO STATE3@[@@@@ ELSE @]@@@@ RETURN 0 @]@@@@ END IPH )@@G@@F @^@@@@ERROR: IF ECODE=51 THEN @ @@@@ IF [M:I,9]=' 'A RETURN 1 PI )@@G@@@]@@@@ RETURN 0 @]@@@@ END IF @]@@@@ ERRPR,N @]@@@@ RETURN 0 PJ )@@G@@_@@@@@@]@@@@ LET J=J+1 @]@@@@ GOTO STATE3@]@@@@ END IF @A@@@@STATE4PK )@@G@@: IF [M:I,9]=[S:J,9] THEN @]@@@@ LET J=J+1 @]@@@@ GOTO STATE4@[@@@@PL )@@G@@ ELSE @]@@@@ LET I=I+1 *[S@@@*SDFF*@^@@@@ DIMENSION M(30),S(30) @ @@@@PM )@@G@@ PARAMETER M:'* ',S:0 @#@@@@ IF S(1)=0 THEN @F@@@@ WRITE = ' SECOND PARAMETER REQUIRED, NONE SUPPLIED',* @]@@@@ RETURN 0 PO )@@G@@@]@@@@ END IF @]@@@@ LET I=1 @]@@@@ LET J=1 @]@@@@ LET Z=0 PP )@@G@@@]@@@@ ERROR ERROR@ @@@@STATE1: IF [M:I,6]='*' THEN @]@@@@ GOTO STATE2PQ )@@G@@@ @@@@ ELSE IF [M:I,6]=' ' THEN @]@@@@ GOTO STATE5@ @@@@ ELSE IF [M:PR )@@G@@I,6]=[S:J,6] THEN @]@@@@ LET I=I+1 @]@@@@ LET J=J+1 @]@@@@ GOTO STATE1PS )@@G@@@#@@@@ ELSE IF Z=0 THEN @]@@@@ RETURN 0 @]@@@@ END IF @]@@@@ LET IPT )@@G@@=Z @#@@@@ GO TO STATE3 @ @@@@STATE2: IF [M:I,6]='*' THEN @]@@@@PU )@@G@@ LET I=I+1 @]@@@@ GOTO STATE2@ @@@@ ELSE IF [M:I,6]=' ' THEN @]@@@@PV )@@G@@ RETURN 1 @[@@@@ ELSE @]@@@@ LET Z=I @]@@@@ END IF @ @@@@STATE3PW )@@G@@: IF [S:J,6]=' ' THEN @]@@@@ RETURN 0 @ @@@@ ELSE IF [M:I,6]=[S:J,6]PX )@@G@@ THEN @]@@@@ LET I=I+1 @]@@@@ LET J=J+1 @]@@@@ GOTO STATE1@[@@@@ ELSE PY )@@G@@@]@@@@ LET J=J+1 @]@@@@ GOTO STATE3@]@@@@ END IF @A@@@@STATE4: IF [PZ )@@G@@M:I,6]=[S:J,6] THEN @]@@@@ LET J=J+1 @]@@@@ GOTO STATE4@[@@@@ ELSE QA )@@G@@@]@@@@ LET I=I+1 @]@@@@ GOTO STATE1@]@@@@ END IF @ @@@@STATE5: IF [QB )@@G@@S:J,6]=' ' THEN @]@@@@ RETURN 1 @#@@@@ ELSE IF Z<>0 THEN@]@@@@ LET IQC )@@G@@=Z @]@@@@ GOTO STATE3@[@@@@ ELSE @]@@@@ RETURN 0 @]@@@@ END IF QD )@@G@@@^@@@@ERROR: IF ECODE=51 THEN @^@@@@ IF [M:I,6]=' ' RETURN 1@]@@@@ RETURQE )@@G@@N 0 @]@@@@ END IF @]@@@@ ERRPR,N @]@@@@ RETURN 0 _@@@@@ RETURQF )@@G@@N 0 @]@@@@ END IF @^@@@@ERROR: IF ECODE=51 THEN @^@@@@ IF [M:I,6]=QG )@@G@@' ' RETURN 1@]@@@@ RETUR*[S@@@*SDFF*@^@@@@ LET Z=$+PAGE[$]:H2 @#@@@@QH )@@G@@ LET V=PH[3]:H2 @]@@@@ IF V=0 THEN@^@@@@ LET V=NUMSLOTSATEND @#@@@@QI )@@G@@ LET V=PH[2]:H1-V @]@@@@ END IF @]@@@@ IF Z= 2 WRITE SKIP @A@@@@SKIP: FORMAT *,F6,*,* @#@@@@ LET A*[S@@@*SDFF*@#@@@@ LET N=PH[3]:H1 @A@@@@ IF PHQO )@@G@@[1]:S3**7=0 LET N=N+PH[6]:H1 @]@@@@ RETURN N _@@@@@OTSATEND @#@@@@QP )@@G@@ LET V=PH[2]:H1-V @]@@@@ END IF @]@@@@ IF Z<*[S@@@*SDFF*@^@@@@ DIMENQQ )@@G@@SION B(3),X(14) @ @@@@ PARAMETER PTR#:-1,REPSTODO:-1@#@@@@ IF PTR#=-1 QR )@@G@@THEN @E@@@@ WRITE = ' A POINTER NUMBER MUST BE SPECIFIED.',* QS )@@G@@@]@@@@ RETURN @]@@@@ END IF @[@@@@ @ @D@@@@ LET PA? = ART[014QT )@@G@@]:S2=2 @ POINTER ARRAY FLAG @[@@@@ @ @ @@@@ IF OPTS:C=1 LET RQU )@@G@@EPSTODO=-1 @]@@@@ IF PA? THEN@A@@@@ SET PAGE[$]:NT1 @ MAKE SET CURRENT QV )@@G@@@]@@@@ LET O=0 @]@@@@ LET Q=0 @A@@@@ IF SRT[4]:H2<>0 THEN @ IPA/SPQW )@@G@@A @#@@@@ RECORD SRT[4]:H2 @B@@@@ LET NUMPTRS = PAGE[$]:H2-RDT[1]:H1-QX )@@G@@1 @C@@@@ LET Q=RDT[1]:H1+3 @ FIRST VALID MEMBER POINTER @ @@@@ IF PTQY )@@G@@R#>2 LET O=RDT[1]:H1 @^@@@@ ELSE @ PLAIN OLD PA @D@@@@ LET NUMPTRSQZ )@@G@@ = PAGE[$]:H2-1 @ #PTRS IN THIS ARRAY @]@@@@ END IF @E@@@@ IF PTRA )@@G@@R#>2 AND PTR#NUMPTRS THEN @^@@@@ WRITE ERR2 RB )@@G@@NUMPTRS @F@@@@ERR2: FORMAT ' THIS POINTER ARRAY HAS ',D,' POINRC )@@G@@TERS.',* @[@@@@ STOP @]@@@@ END IF @#@@@@ ELSE @ NOT P/A @^@@@@RD )@@G@@ RECORD PAGE[$]:NT1 @ @@@@ LET NUMPTRS = RDT[5]:H2-1 @^@@@@ IF RDRE )@@G@@T[010]:S5<>0 THEN @ @@@@ IF PTR# = RDT[011]:H1 THEN @#@@@@ WRITE MFCW RF )@@G@@PTR# @F@@@@MFCW: FORMAT ' WORD ',D,' IS THE MANUAL FLAG CONTROL WRG )@@G@@ORD, '@C@@@@ WRITE = 'AND CANNOT BE USED AS A POINTER.',* @[@@@@ STOP RH )@@G@@@]@@@@ END IF @]@@@@ END IF @A@@@@ IF PTR#<1 OR PTR#>NUMPTRS THERI )@@G@@N @#@@@@ LET Y=RRT[1]:S3 @B@@@@ WRITE OUTRNG ,RCODE,NURJ )@@G@@MPTRS @J@@@@OUTRNG: FORMAT ' THIS RECORD (''',WA,''', CODE=',D,RK )@@G@@') HAS ',D,' POINTERS.',* @[@@@@ STOP @]@@@@ END IF @]@@@@ END IRL )@@G@@F @[@@@@ @ @A@@@@ LET C=RCODE @ RECORD CODE AT START @ @@@@ LET SRM )@@G@@LOT# = RECLOCTOSLOT $ @#@@@@ IF SLOT# < 0 THEN@G@@@@ WRITE = ' CRN )@@G@@URRENT RECORD CANNOT BE LOCATED IN THE PAGE SLOTS.',* @[@@@@ STOP @]@@@@RO )@@G@@ END IF @B@@@@ LET STARTDBP = ENCODE(ACODE,PGNUM,SLOT#) @A@@@@ IF PARP )@@G@@GE[$+PTR#] = STARTDBP THEN @B@@@@ WRITE = *,'RECORD POINTS TO ITSELF.RQ )@@G@@',* @]@@@@ RETURN @]@@@@ END IF @[@@@@ @ @]@@@@ REPEAT RR )@@G@@@D@@@@ LET DBP=PAGE[$+PTR#] @ FETCH NEXT POINTER @#@@@@ IF DBRS )@@G@@P=0 THEN @A@@@@ WRITE = ' POINTER IS ZERO.',*@]@@@@ GOTO DONE RT )@@G@@@]@@@@ END IF @#@@@@ IF OPTS:N=0 THEN @J@@@@ WRITE = *,'------------RU )@@G@@------------------------------------------------------------',* @]@@@@RV )@@G@@ END IF @^@@@@ LET =DECODE(DBP) @#@@@@ LET SLOT# = B(3) @ @@@@RW )@@G@@ IF PA? THEN @ P/A @]@@@@ FIND,K DBP @A@@@@ ELSE RX )@@G@@ @ NOT P/A @]@@@@ FIND DBP @]@@@@ END IF @G@@@@ IF RESULT=0RY )@@G@@ GO TO FNDERR @ IF DBP/DBK CAN'T BE FOUND, ERROR @#@@@@ IF OPRZ )@@G@@TS:N=0 THEN @^@@@@ LET B(3)=RECLOCTOSLOT $@^@@@@ WRITE FMTS1A PTR#,DBP SA )@@G@@@B@@@@ WRITE FMTS1B B(1),B(1),B(2),B(2),B(3) @]@@@@ END IF @D@@@@SB )@@G@@FMTS1A: FORMAT 'PTR ',D,':',C11,O12,' ==> AREA ' @E@@@@FMTS1B: FORMSC )@@G@@AT D,' (',O,'), PAGE ',D,' (',O,'), SLOT ',D,* @[@@@@ @ @ @@@@ LET PSD )@@G@@AGETYPE=PH[1]:S3**7 @#@@@@ IF OPTS:N=0 THEN @F@@@@ IF PAGETYPE=1 OR SE )@@G@@PAGETYPE=4 WRITE = '*** OVERFLOW PAGE ***',* @B@@@@ IF PAGETYPE=0 ANDSF )@@G@@ SLOT#<=PH[6]:H1 THEN @H@@@@ WRITE = *,'*** WENT THRU CALC CHAIN HEADESG )@@G@@R. FIRST RECORD ON CALC CHAIN:',* @]@@@@ END IF @]@@@@ END IF SH )@@G@@@[@@@@ @ @ @@@@ IF OPTS:S=0 AND OPTS:N=0 THEN@]@@@@ DUMPREC @#@@@@SI )@@G@@ IF OPTS:D=1 DATA @]@@@@ END IF @[@@@@ @ @#@@@@ IF PA? RETURN SJ )@@G@@@[@@@@ @ @A@@@@ LET DBP = ENCODE(ACODE,PGNUM,B(3)) @ @@@@ LET REPSDONSK )@@G@@E = REPSDONE+1 @^@@@@ IF DBP=STARTDBP THEN @C@@@@ WRITE = *,'RETURNSL )@@G@@ED TO STARTING RECORD.',* @]@@@@ GOTO DONE @]@@@@ END IF @^@@@@SM )@@G@@ IF PAGE[$]:NT1<>C THEN @C@@@@ WRITE = *,'DIFFERENT RECORD CODE FOUND.',SN )@@G@@* @]@@@@ GOTO DONE @]@@@@ END IF @A@@@@ IF OPTS:C=0 AND REPSTODSO )@@G@@O<0 THEN @#@@@@ IF MODE=1 THEN @]@@@@ GOTO DONE @[@@@@ ELSE @[@@@@SP )@@G@@ PAUSE@]@@@@ END IF @]@@@@ END IF @ @@@@ UNTIL REPSDONE = REPSTOSQ )@@G@@DO @]@@@@ WRITE * @]@@@@DONE: @ @^@@@@ WRITE COUNT REPSDONE SR )@@G@@@ @@@@COUNT: FORMAT ' ',D,' RECORD' @ @@@@ IF REPSDONE<>1 WRITE = 'S' SS )@@G@@@ @@@@ WRITE = ' ENCOUNTERED.',* @]@@@@ RETURN @D@@@@FNDERR: WRITST )@@G@@E = ' THE RECORD WITH DATABASE ' @]@@@@ IF PA? THEN@#@@@@ WRITESU )@@G@@ = 'KEY' @[@@@@ ELSE @#@@@@ WRITE = 'POINTER'@]@@@@ END IF @#@@@@SV )@@G@@ WRITE O12 @#@@@@O12: FORMAT O12 @C@@@@ WRITE = ' CANNOT BE LOCSW )@@G@@ATED IN THE DATABASE.',*@[@@@@ STOP @#@@@@GIGO: ERRPR,N @[@@@@ STOP SX )@@G@@_@@@@@OW PAGE ***',* @B@@@@ IF PAGETYPE=0 AND SLOT#<=PH[6]:H1 THEN SY )@@G@@@H@@@@ WRITE = *,'*** WE*[S@@@*SDFF*@]@@@@ DIM A(14) @^@@@@ TREAD 'MESSSZ )@@G@@AGE?', @^@@@@ WHILE A(1)<>' ' DO@#@@@@ TREAD,C , @^@@@@TA )@@G@@ WRITE REPLY @B@@@@REPLY: FORMAT 'CONSOLE REPLY: ',<14>F6,* TB )@@G@@@^@@@@ TREAD 'MESSAGE?', @]@@@@ END WHILE _@@@@@OW PAGE ***',* TC )@@G@@@B@@@@ IF PAGETYPE=0 AND SLOT#<=PH[6]:H1 THEN @H@@@@ WRITE = *,'*** WETD )@@G@@*[S@@@*SDFF*@#@@@@F1: FORMAT F1 @#@@@@5WF: FORMAT <5>WF @^@@@@ DIM BTE )@@G@@ITS(1),RESLT(5) @^@@@@ PARAMETER BITS(1):0 @ @@@@ LET = ALLTF )@@G@@(' ') @ @@@@ LET R^=1 @ POINTER INTO RESLT@D@@@@ IF BITS(1)**03777TG )@@G@@77777 <> 0 THEN @ SOMETHING IN THERE@D@@@@ IF OPTS:L THEN TH )@@G@@ @ NEED LEADING COMMA @ @@@@ LET [RESLT:1,6] = ',' @#@@@@ LTI )@@G@@ET R^=2 @]@@@@ END IF @]@@@@ END IF @#@@@@ REPEAT I=1,1 TJ )@@G@@@^@@@@ IF [BITS:I+10,1] THEN@G@@@@ LET [RESLT:R^,6] = 5+I @ COPTK )@@G@@Y FIELDATA OPTION TO RESULT ARRAY @#@@@@ LET R^=R^+1 @]@@@@ ENDTL )@@G@@ IF @#@@@@ UNTIL I = 26 @F@@@@ IF OPTS:W WRITE 5WF @ W-OTM )@@G@@PTION: COPY TO WRITE BUFFER @F@@@@ IF OPTS:C WRITE,C 5WF @ C-OTN )@@G@@PTION: COPY TO CONSOLE BUFFER @#@@@@ RETURN _@@@@@@@@@@@@@@@@@TO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@A@@@@ DIMENTP )@@G@@SION R(10),H(12) @ HISTOGRAM @]@@@@ LET M=0 @#@@@@ IF ASEQ=0 THEN TQ )@@G@@@B@@@@ WRITE = ' NO AREA IS CURRENT',*@]@@@@ RETURN @]@@@@TR )@@G@@ END IF @^@@@@ IF ART[3]:S6<8 THEN @B@@@@ WRITE = ' THITS )@@G@@S AREA NOT DARP',*@]@@@@ RETURN @]@@@@ END IF @ @@@@ PARAMETER XTT )@@G@@:0,Y:9999999999 @]@@@@ IF X>Y THEN@]@@@@ LET X=0 @#@@@@ LET Y=99999TU )@@G@@99999 @]@@@@ END IF @ @@@@ LET N=P0[013]:H2-P0[012]:H2 @]@@@@ IF N=TV )@@G@@0 THEN@E@@@@ WRITE = ' THIS AREA HAS NO OVERFLOW PAGES',* TW )@@G@@@]@@@@ RETURN @]@@@@ END IF @ @@@@ LET N=P0[013]:H2-P0[012]:H2 TX )@@G@@@#@@@@ DIMENSION O(N) @]@@@@ LET T=1 @A@@@@ WRITE TTL1 ,P0TY )@@G@@[012]:H2-1 @B@@@@ WRITE TTL1A DATE:NT1,DATE:NT2,DATE:NT3 @E@@@@TTL1: TZ )@@G@@FORMAT 'AREA:',C9,<2>F6,C38,'PRIME PAGES:',C54,D6 @C@@@@TTL1A: FORMAUA )@@G@@T C22,'DATE: ',F2,'/',F2,'/',F2,* @C@@@@ WRITE TTL2 ,N,N % (PUB )@@G@@0[013]:H2 - 1) @B@@@@ WRITE TTL2A TIME:NT1,TIME:NT2,TIME:NT3 @I@@@@UC )@@G@@TTL2: FORMAT 'SCHEMA:',C9,<2>F6,C38,'OVERFLOW PAGES:',C54,D6,' (',D,'% OUD )@@G@@F TOTAL)' @C@@@@TTL2A: FORMAT C22,'TIME: ',F2,':',F2,':',F2,* @^@@@@UE )@@G@@ REPEAT I=P0[012]:H2,1 @]@@@@ PAGE I @#@@@@ LET O(T)=PH[6]:H1@]@@@@UF )@@G@@ LET T=T+1 @^@@@@ UNTIL I+1=P0[013]:H2 @]@@@@ SORT UP@]@@@@ DIM CUG )@@G@@(N) @]@@@@ LET Z=1 @]@@@@ LET P=O(1) @]@@@@ LET T=1 @]@@@@ LET IUH )@@G@@=2 @#@@@@ WHILE I<=N DO @#@@@@ IF O(I)=P THEN @]@@@@ LET T=T+1 UI )@@G@@@[@@@@ ELSE @]@@@@ LET O(Z)=P @]@@@@ LET C(Z)=T @]@@@@ LET T=1 @]@@@@UJ )@@G@@ LET P=O(I) @]@@@@ LET Z=Z+1 @]@@@@ END IF @]@@@@ LET I=I+1 @]@@@@UK )@@G@@ END WHILE @]@@@@ LET O(Z)=P @]@@@@ LET C(Z)=T @D@@@@ LET =RANGE(,1,2,3,4,5,6,7,8,9,10,11,100) @ @@@@ WRITE TTL4 Z,Z%(P0[012]:H2-1)UM )@@G@@@^@@@@ WRITE TTL5 P0[013]:H2-1@D@@@@TTL4: FORMAT D,' PRIME PAGES (',D,'%UN )@@G@@) HAVE OVERFLOW' @B@@@@TTL5: FORMAT C38,'TOTAL PAGES:',C54,D6,* @]@@@@UO )@@G@@ WRITE TTL6 @]@@@@ WRITE TTL6A@]@@@@ WRITE TTL7 @]@@@@ WRITE TTL7A@E@@@@UP )@@G@@TTL6: FORMAT *,'VERTICAL AXIS SHOWS GROUPS OF POSSIBLE ' @D@@@@TTL6A:UQ )@@G@@ FORMAT 'OVERFLOW PAGE COUNTS (1, ... >99)',* @E@@@@TTL7: FORMAT ' HUR )@@G@@ORIZONTAL AXIS SHOWS COUNT OF PRIME ' @D@@@@TTL7A: FORMAT 'PAGES FALUS )@@G@@LING INTO EACH GROUP',*,* @]@@@@ DIM S(12) @D@@@@ LET ='1 UT )@@G@@ 2 3 4 5 6 ' @D@@@@ LET ='7 8 9 UU )@@G@@ 10 11-99 >99 ' @^@@@@ HISTOGRAM USING @#@@@@ IF MODE=0 TUV )@@G@@HEN @]@@@@ REPEAT @E@@@@ TREAD 'DO YOU WISH A DETAILED PAGE DISPLAUW )@@G@@Y (Y/N)?', @^@@@@ IF R(1):S1='N' RETURN @#@@@@ UNTIL R(1):S1='Y'UX )@@G@@@B@@@@ WRITE = 'ENTER A NULL INPUT TO HALT',* @#@@@@LOOP: ERROR ERRLABUY )@@G@@@]@@@@ REPEAT @B@@@@ TREAD 'ENTER MINIMUM CHAIN LENGTH:',X @B@@@@UZ )@@G@@ TREAD 'ENTER MAXIMUM CHAIN LENGTH:',Y @]@@@@ UNTIL X<=Y @[@@@@ ERRORVA )@@G@@@ @@@@ LET =RANGE(,X,Y+1) @#@@@@ IF R(1)=0 THEN @D@@@@ WRITEVB )@@G@@ = 'NO OVERFLOW CHAINS EXIST IN THAT RANGE',* @]@@@@ GOTO LOOP @]@@@@VC )@@G@@ END IF @]@@@@ END IF @]@@@@ LET K=0 @F@@@@ WRITE = *,*,*,C15VD )@@G@@,'FORMAT BELOW IS /',*,*,*@#@@@@ REPEAT I=1,1 VE )@@G@@@ @@@@ IF C(I)>=X AND C(I)<=Y THEN @^@@@@ WRITE PAGE O(I),C(I) @ @@@@VF )@@G@@PAGE: FORMAT C(1+15*K),D,'/',D@]@@@@ LET K=K+1 @]@@@@ IF K=5 THEN@]@@@@VG )@@G@@ WRITE * @]@@@@ LET K=0 @]@@@@ END IF @]@@@@ END IF @]@@@@VH )@@G@@ UNTIL I=Z @#@@@@ IF K<>0 WRITE * @^@@@@ IF MODE=0 GOTO LOOP @]@@@@VI )@@G@@ RETURN @ @@@@ERRLAB: IF ECODE=27 RETURN @[@@@@ ERRPR@]@@@@ RETURVJ )@@G@@N _@@@@@. >99)',* *[S@@@*SDFF*@A@@@@ DIMENSION M(30),A(SCRT[010]:HVK )@@G@@1) @^@@@@ PARAMETER M:'* ' @^@@@@ WRITE SCHNAM @G@@@@VL )@@G@@SCHNAM: FORMAT 'OVERFLOW LISTING FOR ALL DARP AREAS IN SCHEMA: ',<2>F6,*VM )@@G@@@]@@@@ WRITE = * @^@@@@ IF M(1)<>'* ' THEN @E@@@@ WRITE = 'NOTE: ONVN )@@G@@LY AREAS WHOSE NAMES CONFORM TO MASK : "' @#@@@@ LET S=SIZE(M) @]@@@@VO )@@G@@ LET S=S*6 @#@@@@ REPEAT J=1,1 @^@@@@ WRITE BYTE [M:J,6] @#@@@@VP )@@G@@BYTE: FORMAT F1 @ @@@@ UNTIL [M:J,6]=' ' OR J=S @B@@@@ WRITE = X(-VQ )@@G@@1),'" WILL BE REPORTED',* @]@@@@ END IF @]@@@@ WRITE = * @F@@@@VR )@@G@@ WRITE = 'THE FOLLOWING AREAS WILL BE ELIGIBLE FOR REPORTING:',*,*@]@@@@VS )@@G@@ LET N=0 @#@@@@ REPEAT I=1,1 @]@@@@ AREA,PN #I @^@@@@ MASKF , @A@@@@ IF ART[3]:S6>=010 AND RESULT=1 THEN@^@@@@ WRITE ANAMEVU )@@G@@ @^@@@@ANAME: FORMAT <2>F6 @#@@@@ ERROR RECVRY @]@@@@VV )@@G@@ AREA,N #I @ @@@@ IF P0[012]:H2=P0[013]:H2 THEN@D@@@@ WRITE = C20,'NOT VW )@@G@@REPORTED: AREA HAS NO OVERFLOW',* @[@@@@ ELSE @]@@@@ LET N=N+1 @]@@@@VX )@@G@@ LET A(N)=I @]@@@@ WRITE = * @]@@@@ END IF @]@@@@ GOTO REPEAT@^@@@@VY )@@G@@RECVRY: WRITE UNAVAI @A@@@@UNAVAI: FORMAT C20,'NOT REPORTED: ' @]@@@@VZ )@@G@@ ERRPR,W @]@@@@ WRITE * @#@@@@REPEAT: ERROR @]@@@@ END IF WA )@@G@@@^@@@@ UNTIL I=SCRT[010]:H1 @]@@@@ IF N=0 THEN@D@@@@ WRITE = *,*,'NO AWB )@@G@@REAS MEET REPORTING CRITERIA',* @]@@@@ RETURN @]@@@@ END IF WC )@@G@@@[@@@@ EJECT@#@@@@ REPEAT I=1,1 @#@@@@ AREA,N #A(I) @]@@@@ OVERFWD )@@G@@LOW @]@@@@ UNTIL I=N _@@@@@N THAT RANGE',* @]@@@@ GOTO LOOP @]@@@@WE )@@G@@ END IF @]@@@@ END I*[S@@@*SDFF*@H@@@@UNUSE1: FORMAT '[',O,']',C7,O1WF )@@G@@2,C20,'I 0 I UNUSED',*@H@@@@UNUSE2: FORMAT '['WG )@@G@@,O,']',C7,O12,C20,'I 0 : 0 I UNUSED',*@[@@@@ @ WH )@@G@@@E@@@@ IF ASEQ=0 OR ART[3]:S6<7 THEN @ NO AREA OR AREA NOT DARP @F@@@@WI )@@G@@ WRITE = R,' THERE IS NO DARP PAGE ZERO CURRENTLY AVAILABLE',*@]@@@@WJ )@@G@@ RETURN @]@@@@ END IF @C@@@@ DIMENSION AREAPAGEREC#(3),PAGE#(3),WK )@@G@@DATE$TIME(6)@A@@@@ WRITE TTL1 , @H@@@@TTL1: FORMATWL )@@G@@ C5,'HEADER FOR PAGE ZERO OF AREA ',<2>WF,' OF SCHEMA ',<2>WF,* @G@@@@WM )@@G@@ WRITE DATETIME DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 WN )@@G@@@H@@@@TETIME: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT ',F2,':',FWO )@@G@@2,':',F2,* @]@@@@ @ P0[0] @]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'WP )@@G@@I',<29>,'-','I',* @^@@@@ WRITE F0 P0[0],P0[0] @E@@@@F0: FORMAT '[0]',CWQ )@@G@@7,O12,X1,'I',X7,O12,C50,'I CHECKSUM',* @]@@@@ @ P0[1] @]@@@@ WRITEWR )@@G@@ BARS @C@@@@ WRITE F1 P0[1],P0[1]:NT1,P0[1]:S3,P0[1]:H2 @G@@@@F1: FOWS )@@G@@RMAT '[1]',C7,O12,X1,'I',X3,D,C30,': ',O,C35,':',X5,D,C50,'I' @B@@@@WT )@@G@@ WRITE = ' AREA-CODE, PG-TYPE, PG-NUM',* @]@@@@ @ P0[2] @]@@@@ WRITEWU )@@G@@ BARS @B@@@@ WRITE F2F3F6 2,P0[2],P0[2]:H1,P0[2]:H2 @F@@@@F2F3F6: FORMWV )@@G@@AT '[',O,']',C7,O12,X1,'I',X5,D,C35,':',X5,D,C50,'I' @ @@@@ WRITE = ' PWW )@@G@@G-SIZE, UNUSED',* @]@@@@ @ P0[3] @]@@@@ WRITE BARS @^@@@@ WRITE UNUSEWX )@@G@@2 3,P0[3] @]@@@@ @ P0[4] @]@@@@ WRITE BARS @^@@@@ WRITE F4 P0[4],P0WY )@@G@@[4] @G@@@@F4: FORMAT '[4]',C7,O12,X1,'I',X10,'''',F6,'''',C50,'I ALTERWZ )@@G@@ING-RU-ID',*@]@@@@ @ P0[5] @]@@@@ WRITE BARS @ @@@@ LET =XA )@@G@@ TDATE P0[5]@C@@@@ WRITE F5 P0[5],, @G@@@@XB )@@G@@F5: FORMAT '[5]',C7,O12,X1,'I',X6,Z2,'/',Z2,'/',Z2,X1,Z2,':',Z2,':',Z2 XC )@@G@@@B@@@@ WRITE = C50,'I DMS TIME/DATE STAMP',* @]@@@@ @ P0[6] @]@@@@XD )@@G@@ WRITE BARS @B@@@@ WRITE F2F3F6 6,P0[6],P0[6]:H1,P0[6]:H2 @A@@@@ WRITEXE )@@G@@ = ' UNUSED, ALTER-CMD-#',* @]@@@@ @ P0[7] @]@@@@ WRITE BARS @^@@@@XF )@@G@@ WRITE UNUSE1 7,P0[7] @]@@@@ @ P0[8] @]@@@@ WRITE BARS @^@@@@ WRITEXG )@@G@@ UNUSE1 8,P0[8] @]@@@@ @ P0[9] @]@@@@ WRITE BARS @^@@@@ WRITE UNUSEXH )@@G@@1 9,P0[9] @]@@@@ @ P0[10] @]@@@@ WRITE BARS @C@@@@ WRITE F10F11 10,PXI )@@G@@0[10],P0[10]:H1,P0[10]:H2 @F@@@@F10F11: FORMAT '[',O,']',C7,O12,X1,'XJ )@@G@@I',X5,D,C35,':',X5,D,C50,'I' @B@@@@ WRITE = ' DAE: ILLOGICAL INSERT PAGXK )@@G@@E,',* @A@@@@ WRITE = C57,'1ST OVERFLOW PAGE' @]@@@@ @ P0[11] @]@@@@XL )@@G@@ WRITE BARS @C@@@@ WRITE F10F11 11,P0[11],P0[11]:H1,P0[11]:H2 @B@@@@XM )@@G@@ WRITE = ' DAE: UNUSED OVERFLOW PAGE,',* @B@@@@ WRITE = C57,'NEXT O/F PXN )@@G@@AGE TO CREATE' @]@@@@ WRITE BARS @]@@@@ RETURN _@@@@@,C7,O12,X1,'XO )@@G@@I',X5,D,C35,':',X5,D,C50,'I' @ @@@@ WRITE = ' PG-SIZE, UNUSED',* @]@@@@XP )@@G@@ @ P0[3] @]@@@@ WRITE BARS @^@@@@ WRITE UNUSE*[S@@@*SDFF*@#@@@@ IF ASXQ )@@G@@EQ=0 THEN @C@@@@ WRITE = R,' NO AREA IS CURRENT',* @]@@@@XR )@@G@@ RETURN @]@@@@ END IF @#@@@@ ERROR CRUD01 @]@@@@ PAGE 1 XS )@@G@@@[@@@@ ERROR@B@@@@ LET AREA$TYPE=PH[1]:S3 ** 010@^@@@@ IF ARXT )@@G@@EA$TYPE = 0 THEN @^@@@@ LET AREA$TYPE = 'SARP' @[@@@@ ELSE @^@@@@ LET AXU )@@G@@REA$TYPE = 'DARP' @]@@@@ END IF @^@@@@ IF ART[014]:S2=0 THEN @^@@@@XV )@@G@@ LET AREA$MODE ='DATA' @ @@@@ ELSE IF ART[014]:S2=1 THEN @^@@@@ LET AXW )@@G@@REA$MODE ='INDEX' @[@@@@ ELSE @^@@@@ LET AREA$MODE ='POINTR'@]@@@@ END IXX )@@G@@F @G@@@@ DIMENSION SCALE(12),HISTP(12),HISTO(12),HISTT(12),RANGE$ARGXY )@@G@@S(2),XMIT(1)@H@@@@ PARAMETER :0,:0 @ CHEXZ )@@G@@CK FOR RANGE PRESENCE @F@@@@ PARAMETER FIRSTPG#:1,LASTPG#:999999999 @ YA )@@G@@NOW GET THEM FOR REAL @F@@@@ IF RANGE$ARGS(2)=0 AND RANGE$ARGS(1)<>0 LYB )@@G@@ET LASTPG#=FIRSTPG# @G@@@@ LET RANGE$ARGS(1) = RANGE$ARGS(1) ++ RANGYC )@@G@@E$ARGS(2) @ COMBINE THE TWO @#@@@@ LET OPT$P:P=1 @#@@@@ LET OPT$O:OYD )@@G@@=1 @#@@@@ LET OPT$T:T=1 @#@@@@ LET OPT$L:L=1 @F@@@@ IF OPTS:P=1YE )@@G@@ OR OPTS:O=1 OR OPTS:L=1 AND RANGE$ARGS(1) <> 0 THEN @F@@@@ WRITE = R,'YF )@@G@@ PAGE RANGE OVERRIDDEN BY OPTION(S)',* @^@@@@ LET RANGE$AYG )@@G@@RGS(1)=0 @#@@@@ LET FIRSTPG#=1 @^@@@@ LET LASTPG#=99999999 @]@@@@YH )@@G@@ END IF @B@@@@ IF FIRSTPG#>LASTPG# THEN @ YOU IDIOT! @B@@@@ WRITEYI )@@G@@ = R,' BAD PAGE RANGE',*@]@@@@ RETURN @]@@@@ END IF YJ )@@G@@@C@@@@ LET LEGAL$OPTS=OPT$P ++ OPT$O ++ OPT$T ++ OPT$L@D@@@@ IF OPTS ** YK )@@G@@(-LEGAL$OPTS)<>0 THEN @ EXTRA OPTIONS @F@@@@ WRITE = R,'YL )@@G@@ EXTRA OPTIONS SUPPLIED -- IGNORED',* @]@@@@ END IF @A@@@@ LET OYM )@@G@@PTIONS = OPTS ** LEGAL$OPTS @D@@@@ IF OPTIONS=0 OR AREA$MODE = 'INDEX'YN )@@G@@ LET OPTIONS=OPT$T@H@@@@ IF OPTIONS:L = 1 LET OPTIONS = OPT$P ++ OPT$O +YO )@@G@@+ OPT$T @ "L" MEANS "P,O,T" @^@@@@ LET NEXTPG# = FIRSTPG# @D@@@@ IF OPYP )@@G@@TIONS = OPT$O THEN @ ONLY SCANNING OVERFLOW @ @@@@ IF AREA$TYPE = 'SYQ )@@G@@ARP' THEN @D@@@@ IF ART[020]:H1 = 0 THEN @ NO INTERSPERSED OVERFLOW YR )@@G@@@D@@@@ IF ART[020]:H2 = 0 THEN @ NO AT-END OVERFLOW EITHER @^@@@@ WRITEYS )@@G@@ NO-O/F @G@@@@NO-O/F: FORMAT R,' AREA ',<2>WF,' HAYT )@@G@@S NO OVERFLOW PAGES',* @]@@@@ RETURN @C@@@@ ELSE @ START AT FIRST "YU )@@G@@AT-END" OVERFLOW PAGE @C@@@@ LET NEXTPG# = ART[010]:H1 - ART[020]:H2 +YV )@@G@@ 1 @]@@@@ END IF @]@@@@ END IF @]@@@@ ELSE @ DARP@D@@@@ IF P0YW )@@G@@[012]:H2 = P0[013]:H2 THEN @ NO OVERFLOW IN USE @^@@@@ WRITE NO-O/F @]@@@@ RETURN @C@@@@ ELSE @ START AT FIRST "AT-END" OVERFLOW PYY )@@G@@AGE @ @@@@ LET NEXTPG# = P0[012]:H2 @]@@@@ END IF @]@@@@ END IYZ )@@G@@F @]@@@@ END IF @D@@@@ IF OPTIONS = OPT$P THEN @ ONLY SCANNING PZA )@@G@@RIME PAGES @ @@@@ IF AREA$TYPE = 'SARP' THEN @D@@@@ IF ART[020]:H2 <>ZB )@@G@@ 0 THEN @ DON'T SCAN AT-END OVERFLOW@B@@@@ LET LASTPG# = ART[010]:H1 - AZC )@@G@@RT[020]:H2 @]@@@@ END IF @]@@@@ ELSE @ DARP@ @@@@ LET LASTPG# = P0[ZD )@@G@@012]:H2 - 1 @]@@@@ END IF @]@@@@ END IF @^@@@@ LET FIRSTPG# = NEZE )@@G@@XTPG# @ @@@@ IF AREA$TYPE = 'SARP' THEN @ @@@@ LET LASTPG = ART[010]:HZF )@@G@@1 @[@@@@ ELSE @ @@@@ LET LASTPG = P0[013]:H2 - 1 @]@@@@ END IF ZG )@@G@@@H@@@@ IF LASTPG# > LASTPG LET LASTPG# = LASTPG @ TRUNCATE SCAN TO LAST ZH )@@G@@PAGE IN AREA@#@@@@ LET TOTALT=0 @#@@@@ LET TOTALO=0 @#@@@@ LET TZI )@@G@@OTALP=0 @^@@@@ LET START$TIME = TIME @B@@@@ WHILE NEXTPG# <= LASTPGZJ )@@G@@# DO @ SCAN PAGES @#@@@@ PAGE NEXTPG# @C@@@@ IF PH[1]:H2<>2 OR AREA$ZK )@@G@@MODE <> 'INDEX' THEN @D@@@@ LET PAGE$PRIME? = PH[1]:S3**7<>1 AND PH[1ZL )@@G@@]:S3**7 <>4 @^@@@@ LET I = NUMSLOTSATEND @A@@@@ LET MAX$SPACE = PH[2]:HZM )@@G@@1 - 10 - I @B@@@@ LET AVAIL$SPACE = PH[2]:H2 % MAX$SPACE @ @@@@ LET IZN )@@G@@ = AVAIL$SPACE / 10 + 1 @#@@@@ IF I > 12 THEN @ @@@@ WRITE CORUPT PGNUZO )@@G@@M, @I@@@@CORUPT: FORMAT R,' PAGE ',D,' OF AREA ',<2ZP )@@G@@>WF,' MAY BE CORRUPTED',* @A@@@@ ELSE @ OK TO MODIFY HISTOGRAM ARRAYZQ )@@G@@@^@@@@ IF PAGE$PRIME? THEN @ @@@@ LET HISTP(I) = HISTP(I) + 1 @^@@@@ZR )@@G@@ LET TOTALP = TOTALP + 1@[@@@@ ELSE @ @@@@ LET HISTO(I) = HISTO(I) + 1 ZS )@@G@@@^@@@@ LET TOTALO = TOTALO + 1@]@@@@ END IF @ @@@@ LET HISTT(I) = HIZT )@@G@@STT(I) + 1 @^@@@@ LET TOTALT = TOTALT + 1@]@@@@ END IF @]@@@@ END IZU )@@G@@F @ @@@@ LET NEXTPG# = NEXTPG# + 1 @]@@@@ END WHILE @^@@@@ LET EZV )@@G@@ND$TIME = TIME @A@@@@ WRITE TITLE AREA$TYPE, @ @@@@TITLE:ZW )@@G@@ FORMAT R,WF,C7,<2>WF @E@@@@ LET ='0-9 10-19 20-29 30-39 ZX )@@G@@40-49 50-59 ' @D@@@@ LET ='60-69 70-79 80-89 90-99 100 ZY )@@G@@ ' @^@@@@ LET SCALE(12)='UNALOC' @G@@@@ IF AREA$TYPE = 'DARP' AND RANZZ )@@G@@GE$ARGS(1) = 0 THEN @ DARP AREA, FULL SCAN@#@@@@ LET LSTIDX=12 @G@@@@AA )@@G@@ LET HISTO(12) = MAXPG - (P0[012]:H2 - 1) - (P0[013]:H2 - P0[012]:H2) AB )@@G@@@ @@@@ LET HISTT(12) = HISTO(12) @[@@@@ ELSE @#@@@@ LET LSTIDX = 11 AC )@@G@@@]@@@@ END IF @#@@@@ WRITE = R,*(-1) @B@@@@ IF OPTIONS:T = 1 THEN @AD )@@G@@ PRINT TOTALS @A@@@@ WRITE TITLE AREA$TYPE, @ @@@@ IF RAAE )@@G@@NGE$ARGS(1) <> 0 THEN @ @@@@ IF FIRSTPG#=LASTPG# THEN @^@@@@ WRITEAF )@@G@@ PAGE FIRSTPG# @[@@@@ ELSE @ @@@@ WRITE PAGES FIRSTPG#,LASTPG# @]@@@@AG )@@G@@ END IF @A@@@@PAGE: FORMAT C20,'USAGE OF PAGE ',D @D@@@@PAGES: FORMAAH )@@G@@T C20,'USAGE OF PAGES ',D,' THROUGH ',D @[@@@@ ELSE @A@@@@ WRITE = C20AI )@@G@@,'TOTAL AREA PAGE USAGE'@]@@@@ END IF @B@@@@ WRITE DATE DATE:NT1,DATAJ )@@G@@E:NT2,DATE:NT3 @C@@@@DATE: FORMAT C(50+MODE*50),F2,'/',F2,'/',F2 AK )@@G@@@G@@@@ WRITE TIMES START$TIME:NT1,START$TIME:NT2,END$TIME:NT1,END$TIME:NAL )@@G@@T2 @^@@@@ WRITE MODE AREA$MODE @C@@@@TIMES: FORMAT X2,F2,':',F2,'-'AM )@@G@@,F2,':',F2,*(2) @#@@@@MODE: FORMAT WF,* @D@@@@ HISTOGRAM USING @^@@@@ WRITE TTLPGS TOTALT @H@@@@TTLPGSAO )@@G@@: FORMAT C(14+MODE*25),'TOTAL PAGES SCANNED IN THIS CATEGORY: ',D,*,* AP )@@G@@@]@@@@ END IF @B@@@@ IF OPTIONS:P = 1 THEN @ REPORT PRIME @A@@@@AQ )@@G@@ IF OPTIONS:T = 1 AND MODE = 0 THEN @#@@@@ WRITE EXPL01 @#@@@@ WRITEAR )@@G@@ EXPL02 @]@@@@ WRITE * @A@@@@ TREAD ' TO CONTINUE:', AS )@@G@@@]@@@@ END IF @A@@@@ WRITE TITLE AREA$TYPE, @A@@@@ WRITEAT )@@G@@ = C20,'PRIME PAGE USAGE' @B@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NAU )@@G@@T3 @G@@@@ WRITE TIMES START$TIME:NT1,START$TIME:NT2,END$TIME:NT1,END$AV )@@G@@TIME:NT2 @^@@@@ WRITE MODE AREA$MODE @B@@@@ HISTOGRAM AW )@@G@@USING @^@@@@ WRITE TTLPGS TOTALP @]@@@@ END IF @B@@@@AX )@@G@@ IF OPTIONS:O = 1 THEN @ REPORT OVERFLOW @D@@@@ IF OPTIONS:T = 1 OR OPTAY )@@G@@IONS:P = 1 AND MODE = 0 THEN @#@@@@ WRITE EXPL01 @#@@@@ WRITE EXPL0AZ )@@G@@2 @]@@@@ WRITE * @A@@@@ TREAD ' TO CONTINUE:', @]@@@@BA )@@G@@ END IF @A@@@@ WRITE TITLE AREA$TYPE, @A@@@@ WRITE = C20BB )@@G@@,'OVERFLOW PAGE USAGE' @B@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3 BC )@@G@@@G@@@@ WRITE TIMES START$TIME:NT1,START$TIME:NT2,END$TIME:NT1,END$TIME:NBD )@@G@@T2 @^@@@@ WRITE MODE AREA$MODE @D@@@@ HISTOGRAM USBE )@@G@@ING @^@@@@ WRITE TTLPGS TOTALO @]@@@@ END IF BF )@@G@@@#@@@@ WRITE EXPL01 @#@@@@ WRITE EXPL02 @H@@@@EXPL01: FORMAT C7,BG )@@G@@'VERTICAL AXIS IS PERCENTAGE OF AVAILABLE SPACE ON PAGE',* @I@@@@EXPL02BH )@@G@@: FORMAT C7,'HORIZONTAL AXIS IS NUMBER OF PAGES WITH THAT AVAILABLE SPACBI )@@G@@E',* @]@@@@ RETURN @#@@@@CRUD01: ERRPR,N @]@@@@ RETURN _@@@@@BJ )@@G@@DE = 0 THEN @#@@@@ WRITE EXPL01 @#@@@@ WRITE*[S@@@*SDFF*@A@@@@ DIMENBK )@@G@@SION M(30),A(SCRT[010]:H1) @^@@@@ PARAMETER M:'* ' @^@@@@ WRITEBL )@@G@@ SCHNAM @H@@@@SCHNAM: FORMAT 'PAGE-USAGE REPORT LISTING FOR ALBM )@@G@@L AREAS IN SCHEMA: ',<2>F6,* @]@@@@ WRITE = * @^@@@@ IF M(1)<>'* 'BN )@@G@@ THEN @E@@@@ WRITE = 'NOTE: ONLY AREAS WHOSE NAMES CONFORM TO MASK : "' BO )@@G@@@#@@@@ LET S=SIZE(M) @]@@@@ LET S=S*6 @#@@@@ REPEAT J=1,1 @^@@@@BP )@@G@@ WRITE BYTE [M:J,6] @#@@@@BYTE: FORMAT F1 @ @@@@ UNTIL [M:J,6]=' 'BQ )@@G@@ OR J=S @B@@@@ WRITE = X(-1),'" WILL BE REPORTED',* @]@@@@ END IBR )@@G@@F @]@@@@ WRITE = * @F@@@@ WRITE = 'THE FOLLOWING AREAS WILL BE ELIGBS )@@G@@IBLE FOR REPORTING:',*,*@]@@@@ LET N=0 @#@@@@ REPEAT I=1,1 @]@@@@BT )@@G@@ AREA,PN #I @^@@@@ MASKF , @#@@@@ IF RESULT=1 THEN @^@@@@BU )@@G@@ WRITE ANAME @^@@@@ANAME: FORMAT <2>F6 @#@@@@ ERROR RECVRBV )@@G@@Y @]@@@@ AREA,N #I @]@@@@ PAGE 1 @]@@@@ LET N=N+1 @]@@@@ LET ABW )@@G@@(N)=I @]@@@@ WRITE = * @]@@@@ END IF @]@@@@ GOTO REPEAT@ @@@@RECVRYBX )@@G@@: WRITE UNAVAI ECODE @A@@@@UNAVAI: FORMAT C20,'NOT REPORTED: ' @]@@@@BY )@@G@@ ERRPR,W @]@@@@ WRITE * @#@@@@REPEAT: ERROR @^@@@@ UNTIL I=SCRBZ )@@G@@T[010]:H1 @]@@@@ IF N=0 THEN@D@@@@ WRITE = *,*,'NO AREAS MEET REPORTINCA )@@G@@G CRITERIA',* @]@@@@ RETURN @]@@@@ END IF @#@@@@ REPEAT I=1,CB )@@G@@1 @#@@@@ AREA,N #A(I) @^@@@@ WRITE = R,'PAGE-USAGE' @A@@@@ LET BCC )@@G@@ITS = OPTS ** 000000046100 @#@@@@ IF BITS<>0 THEN @]@@@@ WRITE = ','CD )@@G@@@^@@@@ WRITE OPTION 'P'*BITS:P@^@@@@ WRITE OPTION 'O'*BITS:O@^@@@@ WRITECE )@@G@@ OPTION 'T'*BITS:T@^@@@@ WRITE OPTION 'L'*BITS:L@#@@@@OPTION: FORMAT WF CF )@@G@@@]@@@@ END IF @[@@@@ * @]@@@@ UNTIL I=N _@@@@@@^@@@@ UNTIL I=SCRCG )@@G@@T[010]:H1 @]@@@@ IF N=0 THEN@D@@@@ WRITE = *,*,'NO AREAS MEET REPORTINCH )@@G@@*[S@@@*SDFF*@#@@@@ ERROR PRTERR @B@@@@ DIMENSION J$DESIGNATOR(1),WBUCI )@@G@@F$SAVE(22) @C@@@@ PARAMETER NEW$VALUE:0,:'J0 ' @#@@@@CJ )@@G@@ PWORD J0 35,36 @C@@@@ IF TABLE(1)=0 THEN @ THERE IS NO CURRENT TABLE CK )@@G@@@B@@@@ WRITE = R,' NO TABLE IS CURRENT',*@]@@@@ RETURN @D@@@@CL )@@G@@ ELSE IF TABLE(2)<>0 THEN @ TRYING TO PATCH A VARIABLE@E@@@@ WRITE = R,'CM )@@G@@ USE ''LET'' TO MODIFY A VARIABLE',* @]@@@@ RETURN @]@@@@CN )@@G@@ END IF @D@@@@ LET =WBUF() @ SAVE CURRENT WBUF CONTENTS CO )@@G@@@A@@@@ LET WBUF$SIZE=CHARSW @ ...AND SIZE @E@@@@ LET LEFT$BRCKT = '[' * CP )@@G@@(TABLE(2)=0) ++ '(' * (TABLE(2)<>0) @E@@@@ LET RIGHT$BRCKT = ']' * (TABLCQ )@@G@@E(2)=0) ++ ')' * (TABLE(2)<>0)@H@@@@ WRITE BUILD ,LEFT$BRCKT,RIGHCR )@@G@@T$BRCKT @ BUILD LET TO GET CURRENT WORD @C@@@@BUILD: FORMAT R,'LET WORCS )@@G@@D$VALUE=',<3>WF,'$',WF @]@@@@ * @ DO IT @D@@@@ WRITE BUILD2 @ NOW MAKE THE CHANGE @D@@@@BUILD2: FORMAT R,'LET WORD$VALUE:',WCU )@@G@@F,'=NEW$VALUE' @[@@@@ * @D@@@@ WRITE BUILD3
@ FINALLY, REPCV )@@G@@LACE THE VALUE @C@@@@BUILD3: FORMAT R,'LET <',WF,':$,$>=WORD$VALUE' CW )@@G@@@[@@@@ * @ @@@@ WRITE = R @ CLEAR THE BUFFER @^@@@@ PRINT @ ECHO THE CX )@@G@@CHANGE@C@@@@ IF WBUF$SIZE=0 RETURN @ DONE IF WBUF WUZ EMPTY @D@@@@ WRITECY )@@G@@ RESTOR @ RESTORE THE WRITE BUFFER @A@@@@RESTOR: FORMAT <22CZ )@@G@@>F6,C(WBUF$SAVE+1)@]@@@@ RETURN @#@@@@PRTERR: ERRPR,N @#@@@@ ERRORDA )@@G@@ PRTERR _@@@@@ WRITE RESTOR @ RESTORE THE WRITE BUFFER DB )@@G@@@A@@@@RESTOR: FORMAT <22>F6,C(WBUF$SAVE+1)@]@@@@ RETURN @#@@@@PRTERRDC )@@G@@*[S@@@*SDFF*@^@@@@ IF SST[1]:S2<>1 THEN @D@@@@ WRITE = 'CURRENT SUBSCHDD )@@G@@EMA IS NOT LANGUAGE QLP.',* @]@@@@ RETURN @]@@@@ END IF @[@@@@DE )@@G@@ @ @ @@@@ WRITE HDG1 SFD[1],SFD[2] @E@@@@HDG1: FORMAT '* LIST OFDF )@@G@@ PATHS FOR SUBSCHEMA: ',F6,F6,* @E@@@@ WRITE HDG2 SFD[011],SFD[012],DG )@@G@@DATE:NT1,DATE:NT2,DATE:NT3 @G@@@@HDG2: FORMAT '*',C25,'SCHEMA: ',F6,FDH )@@G@@6,C55,'DATE: ',F2,'/',F2,'/',F2,* @]@@@@ WRITE DASH @]@@@@ WRITE DASH DI )@@G@@@E@@@@DASH: FORMAT '========================================' @]@@@@DJ )@@G@@ WRITE * @C@@@@ WRITE = C14,'PSEQ PRIV',C73,'# PATH',* @E@@@@DK )@@G@@ WRITE = ' PATH NAME NUM PDT FLAG',C35,'ROOT RECORD NAME'@B@@@@ WRITEDL )@@G@@ = C59,'ROOT LOC MODE STEPS',* @B@@@@ WRITE = '============ ==== ==DM )@@G@@= ==== ' @F@@@@ WRITE = '============================== =============DN )@@G@@ ======',* @[@@@@ @ @#@@@@ DIMENSION A(18) @#@@@@ DIMENSION F(2) DO )@@G@@@ @@@@ LET ='DIRECT ' @ @@@@ LET ='CALC/DUPS ' DP )@@G@@@ @@@@ LET ='CALC/NODUPS ' @ @@@@ LET ='IS/DUP ' DQ )@@G@@@ @@@@ LET ='IS/NODUPS ' @ @@@@ LET ='DCA ' DR )@@G@@@ @@@@ LET ='FNA/IS/DUPS ' @ @@@@ LET ='FNA/IS/NODUP' DS )@@G@@@ @@@@ LET ='FNA/OTHERS ' @[@@@@ @ @]@@@@ PATH #0 @E@@@@DT )@@G@@ LET N=PIT[0]:H2 @ # PATHS IN SUBSCH @G@@@@ DIMENDU )@@G@@SION W(N) @ INDICATES PATH ALREADY PROCESSED @[@@@@DV )@@G@@ @ @#@@@@ REPEAT I=1,1 @G@@@@ IF W(I)=1 GOTO NXTSEQ @ DW )@@G@@NEXT ONE IF WE'VE DONE THIS ONE @[@@@@ @ @#@@@@ ERROR ERRLB1 DX )@@G@@@]@@@@ PATH #I @[@@@@ @ @D@@@@ LET NAME^ = 3 + PIT[0]:S2 @ DY )@@G@@START OF NAME @C@@@@ LET NAME$LEN = PIT[0]:S1 @ NAME LENGTH DZ )@@G@@@E@@@@ WRITE NAME @ WRITE NAME @[@@@@EA )@@G@@ @ @H@@@@COMMON: LET W(PSEQ) = 1 @ MARK PATH AS ALREEB )@@G@@ADY PROCESSED @^@@@@ IF PIT[0]:S3=0 THEN @#@@@@ LET F(1)=' N'EC )@@G@@@[@@@@ ELSE @#@@@@ LET F(1)=' Y'@]@@@@ END IF @^@@@@ IF PIT[2]:HED )@@G@@1=0 THEN @#@@@@ LET F(2)=' N'@[@@@@ ELSE @#@@@@ LET F(2)=' Y'EE )@@G@@@]@@@@ END IF @ @@@@ WRITE DLINE2 PSEQ,F(2),F(1) @[@@@@ @ %#@@@@EF )@@G@@-59,67 . CHG 115 @E@@[@ SSREC PIT[01]:H2 @ MAKE ROOT REEG )@@G@@CORD CURRENT%@@@@D@[[@@@ @ @E@@@@ LET NAME^ = 010 @ EH )@@G@@START OF RECORD NAME @C@@@@ LET NAME$LEN = RRT[1]:S3 @ NAME LEI )@@G@@ENGTH @E@@@@ WRITE NAME @ WRITE NAME EJ )@@G@@@[@@@@ @ @G@@@@ LET L=PIT[0]:S6 * 2 @ INDEX ROOT LOCATIOEK )@@G@@N MODE INTO TABLE @E@@@@ WRITE LOCMOD @ WRITE ROOT LEL )@@G@@OCATION MODE@[@@@@ @ @B@@@@ IF PIT[2]:H1=0 THEN @ NO PDTEM )@@G@@@]@@@@ LET L=0 @[@@@@ ELSE @E@@@@ LET L=PDT[0]:Q1 @ # EN )@@G@@PATH STEPS FROM PDT @]@@@@ END IF @E@@@@ WRITE DLINE6 L EO )@@G@@ @ COMPLETES FIRST LINE @[@@@@ @ @F@@@@ IF OPTS:P=1 GOTO EP )@@G@@NXTSEQ @ IF P-OPTION, DON'T SHOW DUPES @[@@@@ @ @#@@@@ ERROREQ )@@G@@ NODUPE @D@@@@ PATH,D @ GET NEXT DUPLICATEER )@@G@@@G@@@@ @ @ (GO TO NODUPE IF THERE IS NOES )@@G@@NE) @F@@@@ GOTO COMMON @ GO BACK AND DISPLAY ITS ET )@@G@@INFO @[@@@@ @ @#@@@@NODUPE: ERROR @#@@@@NXTSEQ: UNTIL I=N @]@@@@EU )@@G@@ RETURN @[@@@@ @ @F@@@@ERRLB1: ERRPR EV )@@G@@ @ GENERAL ERROR ROUTINE@]@@@@ RETURN @[@@@@ @ @ @@@@NAME: FORMATEW )@@G@@ A4 @C@@@@DLINE2: FORMAT C14,D3,' ',F1,' ',F1,C28 EX )@@G@@@^@@@@LOCMOD: FORMAT C60,<2>F6@^@@@@DLINE6: FORMAT C76,D,* _@@@@@@@@@@@EY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EZ )@@G@@*[S@@@*SDFF*@^@@@@ IF SST[1]:S2<>1 THEN @D@@@@ WRITE = ' CUFA )@@G@@RRENT SUBSCHEMA NOT QLP',* @]@@@@ RETURN @]@@@@ END IF @#@@@@FB )@@G@@ IF PSEQ=0 THEN @C@@@@ WRITE = ' NO PATH IS CURRENT',* FC )@@G@@@]@@@@ RETURN @]@@@@ END IF @D@@@@ IF PIT[2]:H1=0 THEN FD )@@G@@ @ NO PDT, SO NO STEPS@#@@@@ LET NUM$STEPS = 0@C@@@@ ELSE FE )@@G@@ @ PDT EXISTS @ @@@@ LET NUM$STEPS = PDT[0]:Q1 @]@@@@FF )@@G@@ END IF @^@@@@ IF NUM$STEPS = 0 THEN @G@@@@ IF OPTS:N=0 WRITE = ' CURRENT PATH HAS NO PATH STEPS',* @]@@@@ RETURN @]@@@@FH )@@G@@ END IF @F@@@@ WRITE = *,'****************** ***********FI )@@G@@*********',*@[@@@@ PATH @B@@@@ LET N=PDT[0]:Q1 @ # OF PATH STEPS FJ )@@G@@@G@@@@ LET J=PDT[0]:H2 @ WORD OFFSET TO 1ST PATH STEP,REL THIS WORFK )@@G@@D @#@@@@ REPEAT I=1,1 @#@@@@ WRITE = ' ',* @C@@@@ LET B=0 FL )@@G@@ @ FIRST TIME INDICATOR @F@@@@ LET A=PDT[J+1]:H2 FM )@@G@@ @ ORIGINATION SS RECORD CODE @]@@@@RECSET: @ @]@@@@ IF B=0 THENFN )@@G@@@A@@@@ WRITE = C7,': PATH : RECORD: ' @[@@@@ ELSE @#@@@@ WRITE PATH1FO )@@G@@ I @]@@@@ END IF @D@@@@ SSRECORD #A @ PULL IN SCHEMFP )@@G@@A RRT,RDT @#@@@@ LET M=RRT[1]:S3 @ @@@@ WRITE PATH2 FQ )@@G@@@#@@@@ IF B<>0 THEN @]@@@@ WRITE * @]@@@@ LET J=J+2 @#@@@@ GOTO FR )@@G@@NEXTSTEP @]@@@@ END IF @^@@@@ WRITE = C73,'THRU',* @D@@@@ IF PDFS )@@G@@T[J+1]:H1=0 GOTO NEXTSTEP @ SS SET CODE = 0 @A@@@@ WRITE = C7,': STEFT )@@G@@P : SET: ' @F@@@@ LET SCT^ = PDT[J+1]:H1 * 2 - 1 @ POINT TO THIS FU )@@G@@SET'S SCT ENTRY @F@@@@ LET L=SCT[SCT^+1]:H2 @ OFFSET TO SET NFV )@@G@@AME REL TO SCT @D@@@@ LET M=SCT[SCT^+1]:H1 @ SET NAME LENGFW )@@G@@TH @ @@@@ WRITE PATH2 @B@@@@ LET C=0 @ FFX )@@G@@IRST TIME AGAIN @D@@@@ IF PDT[J]:B18=1 THEN @ BIT 0 : DATA QUAL REFY )@@G@@QUIRED@#@@@@ WRITE = ' (DQUAL'@B@@@@ LET C=1 @ TURN OFF INDIFZ )@@G@@CATOR @]@@@@ END IF @F@@@@ IF PDT[J]:B19=1 THEN @ BIT 1 : NO DATGA )@@G@@A RETRIEVAL ALLOWED @]@@@@ IF C=0 THEN@#@@@@ WRITE = ' (' @]@@@@GB )@@G@@ LET C=1 @[@@@@ ELSE @]@@@@ WRITE = '/'@]@@@@ END IF @#@@@@ WRITEGC )@@G@@ = 'NORETR' @]@@@@ END IF @E@@@@ IF PDT[J]:B20=1 THEN @ BIT 2 : GD )@@G@@SET OWNED BY PDT008 @]@@@@ IF C=0 THEN@#@@@@ WRITE = ' (' @]@@@@GE )@@G@@ LET C=1 @[@@@@ ELSE @]@@@@ WRITE = '/'@]@@@@ END IF @#@@@@ WRITEGF )@@G@@ = 'SETOWN' @]@@@@ END IF @E@@@@ IF PDT[J]:B21=1 THEN @ BIT 3 : GG )@@G@@SET IS MULTI-MEMBER @]@@@@ IF C=0 THEN@#@@@@ WRITE = ' (' @]@@@@GH )@@G@@ LET C=1 @[@@@@ ELSE @]@@@@ WRITE = '/'@]@@@@ END IF @#@@@@ WRITEGI )@@G@@ = 'MULTI' @]@@@@ END IF @D@@@@ IF PDT[J]:B22=1 THEN @ BIT 4 : GJ )@@G@@SET IS MANUAL @]@@@@ IF C=0 THEN@#@@@@ WRITE = ' (' @]@@@@ LET CGK )@@G@@=1 @[@@@@ ELSE @]@@@@ WRITE = '/'@]@@@@ END IF @#@@@@ WRITE = 'MAGL )@@G@@NUAL' @]@@@@ END IF @#@@@@ IF C<>0 THEN @]@@@@ WRITE = ')'@]@@@@GM )@@G@@ END IF @^@@@@ WRITE = C74,'TO',* @C@@@@ LET A=PDT[J]:H2 @GN )@@G@@ DESTINATION RECORD @D@@@@ LET B=1 @ TURN FIRST TIMGO )@@G@@E IND OFF @D@@@@ GOTO RECSET @ NOW PROCESS DEST RECORD GP )@@G@@@ @@@@XTSTEP: UNTIL I=PDT[0]:Q1 @C@@@@PATH1: FORMAT C7,': #',D2,' :GQ )@@G@@ RECORD: ' @^@@@@PATH2: FORMAT WA @]@@@@ RETURN _@@@@@GR )@@G@@W PROCESS DEST RECORD *[S@@@*SDFF*@]@@@@ PATH #0 @^@@@@ LET NUM$PATGS )@@G@@HS=PIT[0]:H2@#@@@@ REPEAT I=1,1 @]@@@@ PATH #I @]@@@@ PATHSTEPS,NGT )@@G@@@#@@@@ UNTIL I=NUM$PATHS_@@@@@@[@@@@ ELSE @]@@@@*[S@@@*SDFF*@B@@@@ IF MOGU )@@G@@DE <> 0 RETURN @ NO PAUSE IF BATCH %]@@@@-1 . CDM147 @#@@[@ ERROR ERRLBGV )@@G@@L @^@@@@ DIMENSION COMMAND(14) @B@@@@ TREAD ' TO CONTINUE: ',GW )@@G@@ @^@@@@ IF NWORDS=0 RETURN @^@@@@ LET = GX )@@G@@%]@@@@-5 . CDM147 @#@@[@ERRLBL: ERROR @[@@@@ STOP _@@@@@@@@@@@@@@@@@GY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@#@@@@ DIMENSION B(10) @#@@@@ PARAMGZ )@@G@@ETER @^@@@@ IF SST[1]:S2<>1 THEN @G@@@@ WRITE = 'CURRENT SUBSCHHA )@@G@@EMA NOT QLP THEREFORE PDT DOES NOT EXIST',* @]@@@@ RETURN @]@@@@HB )@@G@@ END IF @^@@@@ IF B(1)<>' ' THEN @#@@@@ ERROR NOPATH @]@@@@HC )@@G@@ PATH @[@@@@ ERROR@^@@@@ ELSE IF PSEQ=0 THEN @B@@@@ WRITE = ' NO PATH IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF @^@@@@HE )@@G@@ IF PIT[2]:H1=0 THEN @D@@@@ WRITE = ' SPECIFIED PATH HAS NO PDT HF )@@G@@ENTRY',* @]@@@@ RETURN @]@@@@ END IF @B@@@@ WRITE DATE DATE:NHG )@@G@@T1,DATE:NT2,DATE:NT3 @]@@@@ WRITE * @C@@@@ WRITE FMT0 PDT[0],PDT[0HH )@@G@@]:Q1,PDT[0]:Q2,PDT[0]:H2@]@@@@ WRITE NAME0@#@@@@ WRITE NAME0A @]@@@@HI )@@G@@ LET J=0 @D@@@@ IF PIT[0]:S6=6 THEN @ DIRECT CURRENCY ASSUMED HJ )@@G@@@#@@@@ LET J=PDT[0]:Q2 @#@@@@ REPEAT I=1,1 @ @@@@ WRITE FMT1 I,PDT[HK )@@G@@I],PDT[I] @]@@@@ WRITE NAME1@]@@@@ UNTIL I=J @]@@@@ END IF @^@@@@HL )@@G@@ IF PIT[0]:S6>6 THEN @#@@@@ LET J=PDT[0]:Q2/2@#@@@@ IF J=0 GOTO ONLY1HM )@@G@@@#@@@@ REPEAT I=1,1 @B@@@@ WRITE FMT2 I,PDT[I],PDT[I]:H1,PDT[I]:H2 HN )@@G@@@]@@@@ WRITE NAME2@]@@@@ UNTIL I=J @ @@@@ONLY1: IF (PDT[0]:Q2\2)>0 THENHO )@@G@@@]@@@@ LET J=J+1 @ @@@@ WRITE FMT3 J,PDT[J],PDT[J]:H1@]@@@@ WRITE NAME3HP )@@G@@@]@@@@ END IF @]@@@@ END IF @^@@@@ IF PDT[0]:H2<>0 THEN @#@@@@HQ )@@G@@ REPEAT I=1,1 @]@@@@ LET J=J+1 @B@@@@ WRITE FMT4 J,PDT[J],PDT[J]:H1HR )@@G@@,PDT[J]:H2 @]@@@@ WRITE NAME4@]@@@@ LET J=J+1 @B@@@@ WRITE FMT5 J,PDT[HS )@@G@@J],PDT[J]:H1,PDT[J]:H2 @]@@@@ WRITE NAME5@#@@@@ UNTIL I=PDT[0]:Q1@]@@@@HT )@@G@@ END IF @]@@@@ RETURN @#@@@@NOPATH: ERRPR,N @]@@@@ RETURN HU )@@G@@@F@@@@DATE: FORMAT 'PATH DESCRIPTION TABLE [PDT]',C35,F2,'/',F2,'/',F2,*HV )@@G@@@C@@@@FMT0: FORMAT 'PDT[0]',C11,O12,C24,D,' ',D,' ',D @E@@@@NAME0: FORMAHW )@@G@@T C35,'# PATH STEPS, #FNA OR DCA ENTRIES,',* @E@@@@NAME0A: FORMAT C35HX )@@G@@,'WORD OFFSET TO 1ST PATH STEP ENTRY',* @B@@@@FMT1: FORMAT ' [',O,'[HY )@@G@@',C11,O12,C24,O12 @E@@@@NAME1: FORMAT C35,'DBK FOR DCA(1 FOR EACH DBK SPHZ )@@G@@ECIFIED)',* @D@@@@FMT2: FORMAT ' [',O,']',C11,O12,C24,D,' ',D,' ' IA )@@G@@@C@@@@NAME2: FORMAT C35,'FNA AREA CODE, FNA AREA CODE'@B@@@@FMT3: FORMATIB )@@G@@ ' [',O,']',C11,O12,C24,D @A@@@@NAME3: FORMAT C35,'FNA AREA CODE',* IC )@@G@@@C@@@@FMT4: FORMAT ' [',O,']',C11,O12,C24,O6,' ',D @D@@@@NAME4: FORMAID )@@G@@T C35,'FLAG, REC CODE OF DESTINATION',* @C@@@@FMT5: FORMAT ' [',O,']IE )@@G@@',C11,O12,C24,D,' ',D @D@@@@NAME5: FORMAT C35,'SET CODE, ORIGINATION RIF )@@G@@EC CODE',* _@@@@@@E@@@@NAME1: FORMAT C35,'DBK FOR DCA(1 FOR EACH DBK SPIG )@@G@@ECIFIED)',* @D@@@@FMT2: FORMAT ' [',O,']',C11,O12,C24,D,' ',D,' ' IH )@@G@@@C@@@@NAME2: FORMAT C35,*[S@@@*SDFF*@ @@@@ DIMENSION T(1),E(2),V(2),A(1)II )@@G@@@A@@@@ PARAMETER T,E:0,V:0,P:0,O:OPTS,A:0 @#@@@@ LET S=SIZE(T) @B@@@@IJ )@@G@@ IF E(1)=0 AND V(1)=0 OR S=0 RETURN -1 @^@@@@ IF E(1)=0 LET ='*' IK )@@G@@@^@@@@ IF V(1)=0 LET =' ' @#@@@@ LET I=0200004600 @^@@@@ IF O**I=0 LIL )@@G@@ET O=O++I @]@@@@ IF P=0 THEN@]@@@@ LET P=141 @[@@@@ ELSE @]@@@@ LET PIM )@@G@@=P+10 @]@@@@ END IF @#@@@@ WHILE P<=S DO @#@@@@ LET I=T(P+3) IN )@@G@@@E@@@@ IF I:B35=1 AND O:D=1 OR I:B35=0 THEN @ PASSES DELETION TEST@]@@@@IO )@@G@@ LET I=I:S3 @]@@@@ LET J=0 @#@@@@ IF I<5 LET J:S=1 @#@@@@ IF I=5 LET IP )@@G@@J:R=1 @#@@@@ IF I=6 LET J:A=1 @#@@@@ IF I=7 LET J:O=1 @A@@@@ IF J**O<>0 IQ )@@G@@THEN @ PASSES TYPE TEST @]@@@@ LET I=1 @]@@@@ LET J=1 @C@@@@ IF E(IR )@@G@@1)<>'* ' LET I=MASKF , @C@@@@ IF V(1)<>'* ' LET JIS )@@G@@=MASKF , @C@@@@ IF I+J=2 THEN @ PASSES ELT/VERSION MASK TIT )@@G@@EST @B@@@@ IF A(1)=0 THEN @ ELT PASSES ALL TESTS @]@@@@ RETURN P IU )@@G@@@[@@@@ ELSE @A@@@@ LET I=ELT-TYPE T(P+3):S3,T(P+7):S1 @^@@@@ IF A(1)=I RIV )@@G@@ETURN P @]@@@@ END IF @]@@@@ END IF @]@@@@ END IF @]@@@@IW )@@G@@ END IF @]@@@@ LET P=P+10 @]@@@@ END WHILE @]@@@@ RETURN -1 _@@@@@IX )@@G@@@C@@@@ IF I+J=2 THEN @ PASSES ELT/VERSION MASK T*[S@@@*SDFF*@^@@@@ IY )@@G@@ DIM PAGE#(3) @A@@@@ PARAMETER :'@@@@@@' @^@@@@ IZ )@@G@@ ERROR PGERR @ @@@@ IF PAGE#(1) <> 0 THEN @^@@@@ PAJA )@@G@@GE @#@@@@ END IF @#@@@@ ERROR @D@@@@ JB )@@G@@ IF PGNUM < 0 WRITE,S = 'NO PAGE IS LOADED.',* @]@@@@ @ @C@@@@JC )@@G@@ DIM APR(3) @ AREA/REC/PG FOR DECODE @]@@@@ @ @C@@@@JD )@@G@@ LET DARP? = PH[1]:B21 @ DARP INDICATOR @G@@@@ LET PAGE$TJE )@@G@@YPE = PH[1]:S3**7 @ PRIME / OVERFLOW / INDEX / POINTER@]@@@@ @ JF )@@G@@@D@@@@ IF DARP? THEN @ GET 1ST OVERFLOW PG FROM DAE @B@@@@ JG )@@G@@ LET FIRSTOFLOW = P0[012]:H2 @A@@@@ ELSE @ SARP, GET IT FRJH )@@G@@OM ART@E@@@@ LET FIRSTOFLOW = ART[010]:H1 - ART[020]:H2 + 1 JI )@@G@@@#@@@@ END IF @E@@@@ @*********************************JJ )@@G@@**************@ @E@@@@ @ JK )@@G@@ @ @E@@@@ @ AREA CODE & PAGE NUMBER JL )@@G@@ @ @E@@@@ @ @ JM )@@G@@@E@@@@ @***********************************************@ @ @@@@JN )@@G@@ WRITE AREACD PH[1]:NT1@B@@@@AREACD: FORMAT C8,'AREA CODE ',D,' (JO )@@G@@' @#@@@@ DDL-SUB,A @]@@@@ @ @ @@@@ WRITE PAGEJP )@@G@@NM PH[1]:H2 @A@@@@PAGENM: FORMAT '), PAGE NUMBER ',D,*@E@@@@ @***JQ )@@G@@********************************************@ @E@@@@ @ JR )@@G@@ @ @E@@@@ @ PAGE TYPE JS )@@G@@ @ @E@@@@ @ JT )@@G@@ @ @E@@@@ @***************************JU )@@G@@********************@ @^@@@@ WRITE = C12 @^@@@@ IF DJV )@@G@@ARP? THEN @ @@@@ WRITE = 'DARP ' @]@@@@ ELSE@ @@@@JW )@@G@@ WRITE = 'SARP ' @#@@@@ END IF @]@@@@ @ JX )@@G@@@ @@@@ IF PAGE$TYPE = 0 THEN @ @@@@ WRITE = 'PRIME PAGE'JY )@@G@@@A@@@@ ELSE IF PAGE$TYPE = 1 THEN @A@@@@ IF DARP?=0 THEJZ )@@G@@N @ SARP @F@@@@ IF PGNUM < FIRSTOFLOW THEN @ PRECEDES GLOBKA )@@G@@AL OVERFLOW @B@@@@ WRITE = 'INTERSPERSED ' @#@@@@ KB )@@G@@ ELSE @A@@@@ WRITE = 'GLOBAL ' @#@@@@ KC )@@G@@END IF@#@@@@ END IF @^@@@@ IF DARP? THEN @A@@@@ KD )@@G@@ WRITE DARPOF PH[6]:H1 @C@@@@DARPOF: FORMAT 'OVERFLOW FOR PRIKE )@@G@@ME PAGE ',D @A@@@@ IF PH[011]:H2 = 0 THEN @D@@@@ KF )@@G@@ WRITE = ', LAST PAGE IN OVERFLOW CHAIN' @#@@@@ ELSE @B@@@@KG )@@G@@ WRITE DARPNX PH[011]:H2 @E@@@@DARPNX: FORMAT ', KH )@@G@@NEXT PAGE IN OVERFLOW CHAIN IS ',D @#@@@@ END IF@^@@@@ KI )@@G@@ ELSE @ SARP @A@@@@ WRITE = 'OVERFLOW PAGE' @#@@@@ KJ )@@G@@ END IF @A@@@@ ELSE IF PAGE$TYPE = 2 THEN @B@@@@ IFKK )@@G@@ PGNUM = 2 THEN @ TRAILER PAGE@D@@@@ WRITE = 'INDEX SEQUENTIAKL )@@G@@L TRAILER PAGE' @#@@@@ ELSE @A@@@@ WRITE INDXPGKM )@@G@@ PH[6]:H1 @C@@@@INDXPG: FORMAT 'LEVEL ',D,' INDEX PAGE' @#@@@@KN )@@G@@ END IF @A@@@@ ELSE IF PAGE$TYPE = 3 THEN @A@@@@ KO )@@G@@ WRITE = 'POINTER PAGE' @A@@@@ ELSE IF PAGE$TYPE = 4 THEN KP )@@G@@@B@@@@ WRITE = 'POINTER OVERFLOW PAGE' @#@@@@ END IF KQ )@@G@@@#@@@@ WRITE = * @E@@@@ @*********************************KR )@@G@@**************@ @E@@@@ @ KS )@@G@@ @ @E@@@@ @ LAST UPDATE KT )@@G@@ @ @E@@@@ @ @ KU )@@G@@@E@@@@ @***********************************************@ @ @@@@KV )@@G@@ WRITE LSTUPD PH[4] @D@@@@LSTUPD: FORMAT C12,'LAST UPDATED BY KW )@@G@@"',WF,'" ON ' @#@@@@ DIM D(6) @ @@@@ LET =TDATE PHKX )@@G@@[5] @A@@@@ WRITE LASTDT ,PH[6]:H2 @G@@@@LASTDT: FORMAT D,'KY )@@G@@/',Z2,'/',Z2,' AT ',Z2,':',Z2,':',Z2,', COMMAND #',D,*@E@@@@ @***KZ )@@G@@********************************************@ @E@@@@ @ LA )@@G@@ @ @E@@@@ @ PAGE SIZE LB )@@G@@ @ @E@@@@ @ LC )@@G@@ @ @E@@@@ @***************************LD )@@G@@********************@ @ @@@@ WRITE PAGESZ PH[2]:H1 @C@@@@PAGESZLE )@@G@@: FORMAT C12,'PAGE SIZE IS ',D,' WORDS:',*@E@@@@ @***************LF )@@G@@********************************@ @E@@@@ @ LG )@@G@@ @ @E@@@@ @ PAGE HEADER: ALWAYS 10 WORLH )@@G@@DS @ @E@@@@ @ LI )@@G@@ @ @E@@@@ @***************************************LJ )@@G@@********@ @^@@@@ WRITE PGHDR @D@@@@PGHDR: FORMAT C16,'PAGELK )@@G@@ HEADER',C36,' 10 WORDS',* @]@@@@ @ @C@@@@ IF PAGE$TYLL )@@G@@PE <> 2 THEN @ NOT INDEX PAGE @E@@@@ @***************************LM )@@G@@********************@ @E@@@@ @ LN )@@G@@ @ @E@@@@ @ COUNT OF IN-USE AND DELETED RECORDS LO )@@G@@ @ @E@@@@ @ LP )@@G@@ @ @E@@@@ @***********************************************@ LQ )@@G@@@D@@@@ LET INUSERECS = 0 @ COUNT OF IN-USE RECORDS @D@@@@ LR )@@G@@ LET INUSEWDS = 0 @ COUNT OF IN-USE WORDS @D@@@@ LET DELRLS )@@G@@ECS = 0 @ COUNT OF DELETED RECORDS @D@@@@ LET DELWDS = 0 @ COULT )@@G@@NT OF DELETED WORDS @]@@@@ @ @^@@@@ LET PG^ = 012 LU )@@G@@@E@@@@ LET TOOFAR = PH[3]:H2 @ JUST BEYOND LAST RECORD @D@@@@LV )@@G@@ IF TOOFAR = 0 THEN @ ABSOLUTELY NO VACANCY @B@@@@ LW )@@G@@LET TOOFAR = NUMSLOTSATEND @B@@@@ LET TOOFAR = PH[2]:H1-TOLX )@@G@@OFAR @#@@@@ END IF @E@@@@ WHILE PG^ < TOOFAR @ LOOP LY )@@G@@THRU ALL RECORDS ON PAGE@D@@@@ IF PAGE[PG^]:B21 THEN @ RECORDLZ )@@G@@ IN-USE @C@@@@ LET INUSERECS = INUSERECS + 1 @I@@@@MA )@@G@@ LET INUSEWDS = INUSEWDS + PAGE[PG^]:H2 @ ADD THIS RECORD'SMB )@@G@@ LENGTH @A@@@@ ELSE @ DELETED RECORD @B@@@@ MC )@@G@@ LET DELRECS = DELRECS + 1 @H@@@@ LET DELWDS = DELWDS + MD )@@G@@PAGE[PG^]:H2 @ ADD THIS RECORD'S LENGTH @#@@@@ END IF@F@@@@ME )@@G@@ LET PG^ = PG^ + PAGE[PG^]:H2 @ POINT TO NEXT RECORD @^@@@@MF )@@G@@ END WHILE @]@@@@ @ @B@@@@ WRITE IN-USE IMG )@@G@@NUSEWDS,INUSERECS @G@@@@IN-USE: FORMAT C16,'IN-USE RECORDS',C36,D4,' WMH )@@G@@ORDS IN ',D,' RECORD' @B@@@@ IF INUSERECS<>1 WRITE = 'S' MI )@@G@@@#@@@@ WRITE * @]@@@@ @ @ @@@@ IF DELRECS > 0MJ )@@G@@ THEN @B@@@@ WRITE DELETD DELWDS,DELRECS @G@@@@DELETD: MK )@@G@@FORMAT C16,'DELETED RECORDS',C36,D4,' WORDS IN ',D,' RECORD'@B@@@@ ML )@@G@@ IF INUSERECS<>1 WRITE = 'S' @^@@@@ WRITE * @#@@@@MM )@@G@@ END IF @E@@@@ @***************************************MN )@@G@@********@ @E@@@@ @ MO )@@G@@ @ @E@@@@ @ VACANCY @ MP )@@G@@@E@@@@ @ @ @E@@@@MQ )@@G@@ @***********************************************@ @B@@@@ MR )@@G@@ WRITE = C16,'VACANCY AT END',C36@D@@@@ LET V = PH[3]:H2 @ AMS )@@G@@DDRESS OF VACANCY ENTRY @B@@@@ IF V <> 0 THEN @ VACANCY EXISTS MT )@@G@@@A@@@@ WRITE VACNCY PAGE[V],V @E@@@@VACNCY: FORMAT D4,' MU )@@G@@WORDS STARTING AT ADDRESS ',O,* @ @@@@ ELSE @ NO VACANCY MV )@@G@@@A@@@@ WRITE = ' 0 WORDS',* @#@@@@ END IF @E@@@@MW )@@G@@ @***********************************************@ @E@@@@ MX )@@G@@ @ @ @E@@@@ @ REMY )@@G@@CORD SLOTS @ @E@@@@ @ MZ )@@G@@ @ @E@@@@ @***************NA )@@G@@********************************@ @A@@@@ WRITE RSLOTS PH[3]:HNB )@@G@@1 @D@@@@RSLOTS: FORMAT C16,'RECORD SLOTS',C36,D4,' WORD' @A@@@@NC )@@G@@ IF PH[3]:H1<>1 WRITE = 'S'@#@@@@ WRITE * @ @@@@ ND )@@G@@ ELSE @ INDEX PAGE @C@@@@ IF PGNUM <> 2 THEN @ NORMAL INDENE )@@G@@X PG @E@@@@ @***********************************************@ NF )@@G@@@E@@@@ @ @ @E@@@@NG )@@G@@ @ INDEX ENTRIES @ @E@@@@ NH )@@G@@ @ @ @E@@@@ @***NI )@@G@@********************************************@ @D@@@@ LET IXNJ )@@G@@ENTS = PH[3]:H1 @ NUMBER OF ENTRIES @E@@@@ LET IXLEN = PH[7]:NK )@@G@@H1 @ LENGTH OF EACH ENTRY @G@@@@ LET IXTOT = IXENTS * IXLNL )@@G@@EN @ TOTAL SPACE USED FOR INDEXES @C@@@@ WRITE IXENTS IXTOTNM )@@G@@,IXENTS,IXLEN @K@@@@IXENTS: FORMAT C16,'INDEX ENTRIES',C36,D4,' NN )@@G@@WORDS = ',D,' ENTRIES @ ',D,' WORDS EACH',* @A@@@@ ELSE @ INO )@@G@@NDEX TRAILER PAGE @B@@@@ LET IXTOT = 0 @ FOR NOW ! @#@@@@NP )@@G@@ END IF @E@@@@ @***************************************NQ )@@G@@********@ @E@@@@ @ NR )@@G@@ @ @E@@@@ @ UNUSED SPACE @ NS )@@G@@@E@@@@ @ @ @E@@@@NT )@@G@@ @***********************************************@ @B@@@@ NU )@@G@@ WRITE = C16,'UNUSED SPACE',C36 @A@@@@ LET UNUSED = PH[2]:HNV )@@G@@2 @C@@@@ IF UNUSED <> 0 THEN @ UNUSED EXISTS @B@@@@ NW )@@G@@ WRITE UNUSED UNUSED,10+IXTOT @E@@@@UNUSED: FORMAT D4,' WORDS NX )@@G@@STARTING AT ADDRESS ',O,* @#@@@@ END IF @#@@@@ END NY )@@G@@IF @E@@@@ @***********************************************@ NZ )@@G@@@E@@@@ @ @ @E@@@@OA )@@G@@ @ CALC SLOTS @ @E@@@@ OB )@@G@@ @ @ @E@@@@ @***OC )@@G@@********************************************@ @]@@@@ @ @H@@@@OD )@@G@@ IF PAGE$TYPE=0 AND PH[6]:H1>0 WRITE CSLOTS PH[6]:H1 @ CSLOTS AT OE )@@G@@END @E@@@@CSLOTS: FORMAT C16,'CALC SLOTS AT END',C36,D4,' WORDS',* OF )@@G@@@]@@@@ @ @E@@@@ @***************************************OG )@@G@@********@ @E@@@@ @ OH )@@G@@ @ @E@@@@ @ DMU PATCH FLAG @ OI )@@G@@@E@@@@ @ @ @E@@@@OJ )@@G@@ @***********************************************@ @]@@@@ OK )@@G@@ @ @G@@@@ IF PAGE$TYPE <> 1 AND PGNUM <> 2 THEN @ NOT I/S TRAIOL )@@G@@LER PAGE @H@@@@ IF PH[010]:S1=1 WRITE = C12,'PAGE HAS BEEN POM )@@G@@ATCHED WITH DMU!',* @#@@@@ END IF @]@@@@ @ @E@@@@ON )@@G@@ @***********************************************@ @E@@@@ OO )@@G@@ @ @ @E@@@@ @ CAOP )@@G@@LC CHAIN ZERO @ @E@@@@ @ OQ )@@G@@ @ @E@@@@ @***************OR )@@G@@********************************@ @B@@@@ IF PAGE$TYPE = 0 THEN OS )@@G@@@ PRIME PAGE@]@@@@ @ @ @@@@ IF SCHLEV < 82 THEN @B@@@@OT )@@G@@ LET NUMCALCCHAIN = ART[021]:H2 @]@@@@ ELSE@B@@@@ OU )@@G@@ LET NUMCALCCHAIN = ART[023]:H2 @#@@@@ END IF @]@@@@ OV )@@G@@ @ @B@@@@ WRITE = C12,'CALC CHAIN 0 ' @ @@@@ IFOW )@@G@@ PH[7] = 0 THEN @A@@@@ WRITE = 'IS UNUSED',* @#@@@@ OX )@@G@@ ELSE @B@@@@ LET = DECODE(PH[7]) @A@@@@ OY )@@G@@ IF APR(1) = ACODE THEN @E@@@@ IF APR(2) = PGNUM THENOZ )@@G@@ @ THIS AREA, THIS PAGE @D@@@@ LET SLOT# = 1+APR(3)-NUMCAPA )@@G@@LCCHAIN @A@@@@ WRITE F7A SLOT# @F@@@@F7A: PB )@@G@@ FORMAT 'POINTS TO RECSLOT ',D,' ON THIS PAGE',* @C@@@@ PC )@@G@@ ELSE @ THIS AREA, DIFFERENT PAGE @A@@@@ WRITE F7B APR(PD )@@G@@2) @E@@@@F7B: FORMAT 'POINTS TO PAGE ',D,', PGSLOT ',D,* PE )@@G@@@^@@@@ END IF @A@@@@ ELSE @ DIFFERENT AREA PF )@@G@@@B@@@@ WRITE F7C APR(2),APR(1) @F@@@@F7C: FORMPG )@@G@@AT 'POINTS TO AREA ',D,', PAGE ',D,', PGSLOT ',D@#@@@@ END IFPH )@@G@@@#@@@@ END IF @#@@@@ END IF @E@@@@ @*********PI )@@G@@**************************************@ @E@@@@ @ PJ )@@G@@ @ @E@@@@ @ INDEX AREA PAGE 2 INPK )@@G@@FORMATION @ @E@@@@ @ PL )@@G@@ @ @E@@@@ @*********************************PM )@@G@@**************@ @B@@@@ IF PAGE$TYPE = 2 THEN @ INDEX AREA@B@@@@PN )@@G@@ IF PGNUM = 2 THEN @ TRAILER PG @ @@@@ WRITE F7D PHPO )@@G@@[7]:H1@E@@@@F7D: FORMAT C12,'INDEX IS COMPOSED OF ',D,' LEVELS',*PP )@@G@@@ @@@@ WRITE F7E PH[7]:H2@H@@@@F7E: FORMAT C12,'HIGHESPQ )@@G@@T LEVEL INDEX IS ON PAGE ',D,' OF THIS AREA',* @E@@@@ IF PH[PR )@@G@@010] = 0 THEN @ COULD THIS EVER HAPPEN? @I@@@@ WRITE = C1PS )@@G@@2,'DBK OF LAST INITIALLY LOADED DATA RECORD IS EMPTY',* @#@@@@ PT )@@G@@ ELSE @B@@@@ LET = DECODE(PH[010]) @ @@@@ PU )@@G@@ WRITE F7F @H@@@@F7F: FORMAT C12,'LAST INIT LOADED DBK IS APV )@@G@@REA ',D,', PAGE ',D,', RECSLOT ',D,*@#@@@@ END IF@#@@@@ PW )@@G@@ END IF @#@@@@ END IF @#@@@@ RETURN @]@@@@ PX )@@G@@ @ @#@@@@PGERR: ERRPR,N @]@@@@ STOP_@@@@@ ELSE @A@@@@PY )@@G@@ WRITE INDXPG PH[6]:H1 @C@@@@INDXPG: FORMAT 'LEVEL ',D,PZ )@@G@@' INDEX PAGE' @#@@@@ END IF @A@@@@ ELSE IF PAGE$TYPQA )@@G@@*[S@@@*SDFF*@ @@@@ DIMENSION P(3),G(3),B(3),U(3)@#@@@@ IF ASEQ=0 THEN QB )@@G@@@B@@@@ WRITE = ' NO AREA IS CURRENT',* @]@@@@ RETURN @]@@@@QC )@@G@@ END IF @^@@@@ PARAMETER

:'@@@@@@' @#@@@@ IF P(1)<>0 THEN @]@@@@QD )@@G@@ ERROR BADPG@]@@@@ PAGE

@[@@@@ ERROR@]@@@@ END IF @#@@@@ IF PGQE )@@G@@NUM<0 THEN @B@@@@ WRITE = ' NO PAGE IS CURRENT',* @]@@@@ RETURQF )@@G@@N @]@@@@ END IF @^@@@@ IF PH[1]:S3**7>1 THEN @C@@@@ WRITE = ' AREA IS NOT A DATA AREA',* @]@@@@ RETURN @]@@@@ END IF QH )@@G@@@]@@@@ WRITE = *-0@B@@@@ WRITE TTL1 PH[1]:H2,, @B@@@@QI )@@G@@ WRITE TTL1A DATE:NT1,DATE:NT2,DATE:NT3 @B@@@@ WRITE TTL2 TIME:NT1,TIMQJ )@@G@@E:NT2,TIME:NT3 @]@@@@ WRITE STARZ@A@@@@ WRITE = '* PAGE HEADER',C76,'QK )@@G@@*',* @]@@@@ WRITE STARZ@[@@@@ PH,N @]@@@@ ON BRIEF @]@@@@ LET V=012 QL )@@G@@@#@@@@ LET E=PH[3]:H2 @]@@@@ IF E=0 THEN@^@@@@ LET E=NUMSLOTSATEND QM )@@G@@@#@@@@ LET E=PH[2]:H1-E @]@@@@ END IF @#@@@@ WHILE V,V @[@@@@ ON B @]@@@@ GOTO RPT @]@@@@ END IF @]@@@@ WRITE STARZQQ )@@G@@@A@@@@ WRITE INUSE PAGE[V]:H2, PAGE[V]:NT1@]@@@@ ERROR NOREC@^@@@@ RECORQR )@@G@@D PAGE[V]:NT1 @[@@@@ ERROR@A@@@@ WRITE RECNAM QS )@@G@@@]@@@@ WRITE STARZ@A@@@@ WRITE = 'RECORD HEADER WORD:',*,* @^@@@@ WRITEQT )@@G@@ OCTAL V, PAGE[V] @]@@@@ WRITE * @]@@@@ LET W=W+1 @^@@@@ IF RDT[3]:SQU )@@G@@1<>0 THEN @#@@@@ LET A=RDT[6]:H1 @H@@@@ WRITE = *,'OWNER POINTERS:',*QV )@@G@@,*,C9,'1ST MEMBER LAST MEMBER',C54,'SET',* @#@@@@ REPEAT I=1,1 QW )@@G@@@^@@@@ WRITE OCTAL W,PAGE[W] @B@@@@ IF RDT[A]:S4=2 WRITE PRIOR PAGE[W+1QX )@@G@@] @#@@@@ SET RDT[A+1]:H2 @A@@@@ WRITE SETNAM QY )@@G@@@^@@@@ LET =DECODE(PAGE[W])@]@@@@ WRITE D @]@@@@ LET W=W+1 @^@@@@QZ )@@G@@ IF RDT[A]:S4=2 THEN @^@@@@ LET =DECODE(PAGE[W])@#@@@@ WRITE DD @]@@@@ LET W=W+1 @]@@@@ END IF @]@@@@ WRITE * @#@@@@ LET ARB )@@G@@=A+RDT[A]:H1@#@@@@ UNTIL I=RDT[3]:S1@]@@@@ END IF @^@@@@ IF RDT[3]:SRC )@@G@@2<>0 THEN @#@@@@ LET A=RDT[6]:H2 @C@@@@ WRITE = *,'AUTOMATIC MEMBER PRD )@@G@@OINTERS:',*,* @D@@@@ WRITE = C9,'NEXT',C24,'PRIOR',C39,'OWNER',C54,'RE )@@G@@SET',*@#@@@@ REPEAT I=1,1 @^@@@@ WRITE OCTAL W, PAGE[W] @^@@@@ LET =DECODE(PAGE[W])@]@@@@ LET B(1)=0 @]@@@@ LET U(1)=0 @]@@@@ LET W=W+1 RG )@@G@@@^@@@@ IF RDT[A]:B6=1 THEN @^@@@@ WRITE PRIOR PAGE[W] @^@@@@ LET =DECODE(PAGE[W])@]@@@@ LET W=W+1 @]@@@@ END IF @^@@@@ IF RDT[A]:BRI )@@G@@7=1 THEN @^@@@@ WRITE OWNER PAGE[W] @^@@@@ LET =DECODE(PAGE[W])RJ )@@G@@@]@@@@ LET W=W+1 @]@@@@ END IF @#@@@@ SET RDT[A+1]:H2 @A@@@@ WRITERK )@@G@@ SETNAM @#@@@@ LET A=A+RDT[A]:H1@]@@@@ WRITE D RL )@@G@@@^@@@@ IF B(1)<>0 WRITE DD @ @@@@ IF U(1)<>0 WRITE DDD @]@@@@RM )@@G@@ WRITE * @#@@@@ UNTIL I=RDT[3]:S2@]@@@@ END IF @^@@@@ IF RDT[011]RN )@@G@@:H1>0 THEN @B@@@@ WRITE = *,'MANUAL FLAG CONTROL WORD:',*,*@#@@@@ LET MRO )@@G@@=PAGE[W] @^@@@@ WRITE BINARY W,M,M @]@@@@ WRITE * @]@@@@ LET WRP )@@G@@=W+1 @#@@@@ LET C=RDT[010]:S5@#@@@@ IF C<>0 THEN @B@@@@ WRITE = *,'RQ )@@G@@MANUAL MEMBER POINTERS:',*,* @D@@@@ WRITE = C9,'NEXT',C24,'PRIOR',C39,'RR )@@G@@OWNER',C54,'SET',*@#@@@@ LET A=RDT[7]:H1 @#@@@@ REPEAT I=35,-1 @#@@@@RS )@@G@@ PWORD J1 I,1 @#@@@@ IF M:J1=1 THEN @^@@@@ WRITE OCTAL W, PAGE[W] RT )@@G@@@^@@@@ LET =DECODE(PAGE[W])@]@@@@ LET B(1)=0 @]@@@@ LET U(1)=0 @#@@@@RU )@@G@@ LET C=C-RDT[A]:S4@]@@@@ LET W=W+1 @^@@@@ IF RDT[A]:B6=1 THEN @^@@@@RV )@@G@@ WRITE PRIOR PAGE[W] @^@@@@ LET =DECODE(PAGE[W])@]@@@@ LET W=W+1 RW )@@G@@@]@@@@ END IF @^@@@@ IF RDT[A]:B7=1 THEN @^@@@@ WRITE OWNER PAGE[RX )@@G@@W] @^@@@@ LET =DECODE(PAGE[W])@]@@@@ LET W=W+1 @]@@@@ END IF RY )@@G@@@#@@@@ SET RDT[A+1]:H2 @A@@@@ WRITE SETNAM @]@@@@RZ )@@G@@ WRITE D @^@@@@ IF B(1)<>0 WRITE DD @ @@@@ IF U(1)<>0 WRITE DDD @]@@@@ WRITE * @]@@@@ END IF @#@@@@ LET A=A+RDT[A]:H1@^@@@@SB )@@G@@ UNTIL I=35-RDT[3]:S3 @]@@@@ END IF @]@@@@ IF C>0 THEN@C@@@@ WRITESC )@@G@@ = *,'UNUSED MANUAL MEMBER POINTERS:',*,* @ @@@@ WDDUMP,O SD )@@G@@,W @[@@@@ ON B @]@@@@ LET W=W+C @]@@@@ END IF @]@@@@ END IF SE )@@G@@@B@@@@ IF RDT[2]:S1=02 OR RDT[2]:S1=03 THEN @E@@@@ WRITE = *,'CALC CSF )@@G@@HAIN LINK(S):',*,*,C9,'NEXT',C24,'PRIOR',*@^@@@@ WRITE OCTAL W, PAGE[W] SG )@@G@@@B@@@@ IF RDT[010]:S4>0 WRITE PRIOR PAGE[W] @]@@@@ WRITE * @^@@@@SH )@@G@@ LET =DECODE(PAGE[W])@]@@@@ WRITE D @]@@@@ LET W=W+1 @^@@@@ IF RDSI )@@G@@T[010]:S4>0 THEN @^@@@@ LET =DECODE(PAGE[W])@#@@@@ WRITE DD SJ )@@G@@@]@@@@ LET W=W+1 @]@@@@ END IF @]@@@@ WRITE * @ @@@@ ELSE IF RDTSK )@@G@@[2]:S1=5 THEN @#@@@@ LET T=RDT[010]:S4@]@@@@ IF T>0 THEN@D@@@@ WRITESL )@@G@@ = *,'INDEX SEQUENTIAL LINK(S):',*,*,C9,'NEXT' @A@@@@ IF T=2 WRITE = ' SM )@@G@@ PRIOR' @]@@@@ WRITE * @^@@@@ WRITE OCTAL W,PAGE[W] @ @@@@SN )@@G@@ IF T=2 WRITE PRIOR PAGE[W+1] @]@@@@ WRITE * @^@@@@ IF PAGE[W]<>0 THESO )@@G@@N @^@@@@ LET =DECODE(PAGE[W])@]@@@@ WRITE D @]@@@@ END IF SP )@@G@@@]@@@@ LET W=W+1 @]@@@@ IF T=2 THEN@^@@@@ IF PAGE[W]<>0 THEN @^@@@@SQ )@@G@@ LET =DECODE(PAGE[W])@#@@@@ WRITE DD @]@@@@ END IF @]@@@@SR )@@G@@ LET W=W+1 @]@@@@ END IF @]@@@@ WRITE * @]@@@@ END IF @]@@@@SS )@@G@@ END IF @^@@@@ WRITE = *,'DATA:',* @]@@@@ DATA V @[@@@@ ON B ST )@@G@@@^@@@@ IF PAGE[V]:B22=1 THEN @^@@@@ LET W=V+PAGE[V]:H2-1 @C@@@@ WRITESU )@@G@@ = *,'FOREIGN RECORD RETURN POINTER:',*,* @^@@@@ WRITE OCTAL W,PAGE[W] SV )@@G@@@]@@@@ WRITE * @^@@@@ LET =DECODE(PAGE[W])@]@@@@ WRITE D @]@@@@SW )@@G@@ WRITE * @]@@@@ END IF @^@@@@RPT: LET V=V+PAGE[V]:H2 @]@@@@ END WSX )@@G@@HILE @^@@@@ IF PH[3]:H2<>0 THEN @]@@@@ WRITE STARZ@B@@@@ WRITE = '* SY )@@G@@VACANT ENTRY WORD',C76,'*',* @]@@@@ WRITE STARZ@^@@@@ WRITE OCTAL V, PASZ )@@G@@GE[V] @]@@@@ WRITE * @^@@@@ LET C=PAGE[V]:H2-1 @]@@@@ LET V=V+1 TA )@@G@@@]@@@@ IF C>0 THEN@]@@@@ WRITE STARZ@A@@@@ WRITE = '* UNUSED SPACE',C76,TB )@@G@@'*',* @]@@@@ WRITE STARZ@ @@@@ WDDUMP,O ,V @[@@@@ ON B TC )@@G@@@]@@@@ END IF @]@@@@ END IF @[@@@@ @ @F@@@@ IF NRSLOT+NCSLOT>TD )@@G@@0 SLOTS @ PRINT SLOT INFO IF THERE IS SOME @[@@@@ @ @]@@@@ OFF BTE )@@G@@RIEF @]@@@@ RETURN @#@@@@BADPG: ERRPR,N @]@@@@ RETURN @]@@@@TF )@@G@@NOREC: ERROR@]@@@@ WRITE * @]@@@@ WRITE STARZ@A@@@@ WRITE = 'UNIDENTITG )@@G@@FIABLE RECORD:',* @]@@@@ WRITE STARZ@A@@@@ WDDUMP,O ,V @[@@@@ ON B @]@@@@ GOTO RPT @G@@@@TTL1: FORMAT 'DUMP OF PAGE: ',TI )@@G@@D,C23,'AREA: ',<2>F6,' SCHEMA: ',<2>F6 @B@@@@TTL1A: FORMAT ' ON: ',FTJ )@@G@@2,'/',F2,'/',F2,* @B@@@@TTL2: FORMAT C65,'AT: ',F2,':',F2,':',F2,*@K@@@@TK )@@G@@STARZ: FORMAT '*********************************************************TL )@@G@@*******************',* @D@@@@EMPTY: FORMAT '* ',D,' WORD UNUSED SLOT',CTM )@@G@@76,'*',* @F@@@@INUSE: FORMAT '*',C76,'*',C3 ,D,' WORD ENTRY FOR RECORTN )@@G@@D TYPE: ',D @B@@@@RECNAM: FORMAT '/',A4,C76,* @^@@@@OCTAL:TO )@@G@@ FORMAT O6,C9,O12 @B@@@@BINARY: FORMAT O6,C9,O12,' (',B36,')' @A@@@@TP )@@G@@SETNAM: FORMAT C54,A4,* @^@@@@PRIOR: FORMAT C24,O12 @^@@@@TQ )@@G@@OWNER: FORMAT C39,O12 @ @@@@D: FORMAT C9,D,'/',D,'/',D @ @@@@DD: FOTR )@@G@@RMAT C24,D,'/',D,'/',D @ @@@@DDD: FORMAT C39,D,'/',D,'/',D _@@@@@ PARAMTS )@@G@@ETER C:-1 @#@@@@ DIMENSION B(3) @#@@@@ IF C=-1 THEN @C@@@@ WRITETT )@@G@@ = ' NO PAGE SLOT NUMBER GIVEN',* @]@@@@ RETURN @]@@@@ END ITU )@@G@@*[S@@@*SDFF*@#@@@@ PARAMETER C:-1 @#@@@@ DIMENSION B(3) @#@@@@ IF C=TV )@@G@@-1 THEN @C@@@@ WRITE = ' NO PAGE SLOT NUMBER GIVEN',* @]@@@@TW )@@G@@ RETURN @]@@@@ END IF @#@@@@ LET S=PH[3]:H1 @#@@@@ LET Q=PH[1]TX )@@G@@:S3**7@]@@@@ IF Q=0 THEN@#@@@@ LET H=PH[6]:H1 @[@@@@ ELSE @]@@@@ LET HTY )@@G@@=0 @]@@@@ END IF @#@@@@ IF S+H=0 THEN @F@@@@ WRITE = 'TZ )@@G@@ THERE ARE NO SLOTS IN USE ON THIS PAGE.',* @]@@@@ RETURN @]@@@@UA )@@G@@ END IF @^@@@@ IF C<0 OR C>S+H THEN @#@@@@ WRITE BADSLT S+H @E@@@@UB )@@G@@BADSLT: FORMAT ' PAGE SLOT MUST BE IN RANGE 0-',D,* @[@@@@ STOP UC )@@G@@@]@@@@ END IF @]@@@@ IF C>H THEN@]@@@@ RECSLOT C-H@]@@@@ RETURN UD )@@G@@@]@@@@ END IF @ @@@@ LET D=ENCODE(ACODE,PGNUM,C) @]@@@@ FIND D UE )@@G@@@#@@@@ IF RESULT=0 THEN @B@@@@ WRITE = ' SLOT IS NOT IN USE.',* UF )@@G@@@[@@@@ STOP @]@@@@ END IF @]@@@@ DUMPREC @]@@@@ RETURN _@@@@@UG )@@G@@ THERE ARE NO SLOTS IN USE ON THIS PAGE.',* @]@@@@ RETURN @]@@@@UH )@@G@@ END IF @^@@@@ IF C<0 OR C>S+H THEN @#@@@@ WRITE BADSLT S+H @E@@@@UI )@@G@@*[S@@@*SDFF*@C@@@@ DIMENSION AREAPAGEREC#(3),PAGE#(3),DATE$TIME(6)@ @@@@UJ )@@G@@ PARAMETER :'@@@@@@' @]@@@@ ERROR PGERR@^@@@@ IF PAGE#(1) <> 0 UK )@@G@@THEN @#@@@@ PAGE @]@@@@ END IF @[@@@@ ERROR@D@@@@ IF PGUL )@@G@@NUM < 0 WRITE,S = ' NO PAGE IS LOADED.',* @#@@@@ IF OPTS:N=0 THEN UM )@@G@@@B@@@@ WRITE TTL1 PGNUM,, @H@@@@TTL1: FORMAT C8,'HUN )@@G@@EADER FOR PAGE ',D,' OF AREA ',<2>WF,' OF SCHEMA ',<2>WF,* @G@@@@ WRITEUO )@@G@@ DATETIME DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 @]@@@@UP )@@G@@ END IF @H@@@@TETIME: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AUQ )@@G@@T ',F2,':',F2,':',F2,* @[@@@@ @ @ @@@@ LET PAGE$TYPE = PH[1]:S3 ** 7UR )@@G@@@ @@@@ LET DARP? = PH[1]:S3 > 7 @B@@@@ LET ISTRAIL? = (PAGE$TYPE=2) US )@@G@@** (PGNUM=2)@]@@@@ @ PH[0] @]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'UT )@@G@@I',<29>,'-','I',* @^@@@@ WRITE F0 PH[0],PH[0] @E@@@@F0: FORMAT '[0]',CUU )@@G@@7,O12,X1,'I',X7,O12,C50,'I CHECKSUM',* @]@@@@ @ PH [1] @]@@@@ WRITEUV )@@G@@ BARS @C@@@@ WRITE F1 PH[1],PH[1]:NT1,PH[1]:S3,PH[1]:H2 @G@@@@F1: FOUW )@@G@@RMAT '[1]',C7,O12,X1,'I',X3,D,C30,': ',O,C35,':',X5,D,C50,'I' @B@@@@UX )@@G@@ WRITE = ' AREA-CODE, PG-TYPE, PG-NUM',* @]@@@@ @ PH [2] @]@@@@ WRITEUY )@@G@@ BARS @B@@@@ WRITE F2F3F6 2,PH[2],PH[2]:H1,PH[2]:H2 @F@@@@F2F3F6: FORMUZ )@@G@@AT '[',O,']',C7,O12,X1,'I',X5,D,C35,':',X5,D,C50,'I' @A@@@@ WRITE = ' PVA )@@G@@G-SIZE, #-UNUSED-WDS',* @]@@@@ @ PH [3] @]@@@@ WRITE BARS @B@@@@ WRITEVB )@@G@@ F2F3F6 3,PH[3],PH[3]:H1,PH[3]:H2 @A@@@@ IF PAGE$TYPE=2 THEN @ INDEX PVC )@@G@@AGE @B@@@@ IF ISTRAIL? THEN @ INDEX TRAILER PG @B@@@@ WRITE = ' IVD )@@G@@/S RECORD CODE, CONSTANT 0',* @A@@@@ ELSE @ OTHER INDEX PG VE )@@G@@@B@@@@ WRITE = ' # INDEX ENTRIES, CONSTANT 10',*@]@@@@ END IF @A@@@@VF )@@G@@ ELSE @ DATA PAGE @B@@@@ WRITE = ' # SLOTS, VACANCY-ADVG )@@G@@DRESS',* @]@@@@ END IF @]@@@@ @ PH [4] @]@@@@ WRITE BARS @^@@@@VH )@@G@@ WRITE F4 PH[4],PH[4] @G@@@@F4: FORMAT '[4]',C7,O12,X1,'I',X10,'''',F6VI )@@G@@,'''',C50,'I ALTERING-RU-ID',*@]@@@@ @ PH [5] @]@@@@ WRITE BARS @ @@@@VJ )@@G@@ LET = TDATE PH[5]@C@@@@ WRITE F5 PH[5],, @G@@@@F5: FORMAT '[5]',C7,O12,X1,'I',X6,Z2,'/',Z2,'/',Z2,X1,VL )@@G@@Z2,':',Z2,':',Z2 @B@@@@ WRITE = C50,'I DMS TIME/DATE STAMP',* @]@@@@VM )@@G@@ @ PH [6] @]@@@@ WRITE BARS @B@@@@ WRITE F2F3F6 6,PH[6],PH[6]:H1,PH[6]VN )@@G@@:H2 @#@@@@ IF DARP? THEN @^@@@@ WRITE = ' PRIME PG' @A@@@@ ELSE VO )@@G@@IF PAGE$TYPE = 2 @ INDEX PAGE @^@@@@ WRITE = ' INDEX LEVEL' @[@@@@ ELSE VP )@@G@@@ @@@@ WRITE = ' # CHAINS AT END' @]@@@@ END IF @ @@@@ WRITE = ', VQ )@@G@@ALTER-CMD-#',* @]@@@@ @ PH [7] @]@@@@ WRITE BARS @^@@@@ IF SCHLEV = DECODE(PH[7]) @ @@@@ WRITE DBP @A@@@@DBP: FORMAT X1,D,'/',D,'/',D,C50,'I'@C@@@@ WRITEVX )@@G@@ F7A 1+AREAPAGEREC#(3)-ART[CALCCHAIN#]:H2 @A@@@@ IF AREAPAGEREC#(1) = ACVY )@@G@@ODE THEN @A@@@@ IF AREAPAGEREC#(2) = PGNUM THEN @ @@@@ WRITE = C57VZ )@@G@@,'OF THIS PAGE' @[@@@@ ELSE @ @@@@ WRITE F7B AREAPAGEREC#(2) @]@@@@WA )@@G@@ END IF @[@@@@ ELSE @B@@@@ WRITE F7C AREAPAGEREC#(2),AREAPAGEREC#(1)WB )@@G@@@]@@@@ END IF @]@@@@ END IF @B@@@@ ELSE IF PAGE$TYPE = 2 THEN @ WC )@@G@@INDEX PAGE @B@@@@ IF PGNUM = 2 THEN @ INDEX TRAILER PG @ @@@@ WRITEWD )@@G@@ F7D PH[7]:H1,PH[7]:H2 @A@@@@ ELSE @ OTHER INDEX PG @^@@@@WE )@@G@@ WRITE F7E PH[7]:H1 @]@@@@ END IF @]@@@@ END IF @B@@@@F7A: FWF )@@G@@ORMAT ' STARTS AT RECSLOT: ',D,* @B@@@@F7B: FORMAT C55,'PAGE: ',D,' OWG )@@G@@F THIS AREA'@B@@@@F7C: FORMAT C55,'PAGE: ',D,' OF AREA: ',D @F@@@@F7D: FWH )@@G@@ORMAT X5,D,C35,':',X5,D,C50,'I # INDX LVLS,HI LVL INDX PG #'@E@@@@F7E: FWI )@@G@@ORMAT X5,D,C35,':',C50,'I LENGTH OF AN INDEX ENTRY' @ @@@@ WRITE = C20WJ )@@G@@,'I',C50,'I',* @]@@@@ @ PH [8] @]@@@@ WRITE BARS @#@@@@ WRITE F8 PHWK )@@G@@[8] @A@@@@F8: FORMAT '[010]',C7,O12,X1,'I' @#@@@@ IF ISTRAIL? THEN WL )@@G@@@A@@@@ LET = DECODE(PH[8]) @ @@@@ WRITE F8A @[@@@@ ELSE @^@@@@ WRITE F8B PH[8]:S1 @]@@@@ END IF @]@@@@WN )@@G@@ @ PH [9] @]@@@@ WRITE BARS @^@@@@ WRITE F9 PH[9],PH[9]:H2@B@@@@ IF ISWO )@@G@@TRAIL? THEN @ INDEX TRAILER PG @B@@@@ WRITE = ' PAGE # OF LAST DATAWP )@@G@@ RECORD',* @ @@@@ ELSE IF DARP? @ DARP PAGE@B@@@@ WRITE = ' NEXT O/WQ )@@G@@F PAGE ON DARP CHAIN',* @A@@@@ ELSE @ NON-DARP PAGE @^@@@@WR )@@G@@ WRITE = ' UNUSED',* @]@@@@ END IF @]@@@@ WRITE BARS @]@@@@ RETURWS )@@G@@N @[@@@@ @ @#@@@@PGERR: ERRPR,N @[@@@@ STOP @[@@@@ @ @G@@@@WT )@@G@@F8A: FORMAT X8,'LAST I/L DBP',C50,'I AREA ',D,' PG ',D,' PGSLOT ',D,* WU )@@G@@@B@@@@F8B: FORMAT X1,D,C25,':',C50,'I PATCH',* @D@@@@F9: FORMAT '[011]'WV )@@G@@,C7,O12,X1,'I',C35,':',X5,D,C50,'I' _@@@@@ST I/L DBP',C50,'I AREA ',D,' WW )@@G@@PG ',D,' PGSLOT ',D,* @B@@@@F8B: FORMAT X1,D,C25,':',C50,'I PATCH',* WX )@@G@@@D@@@@F9: FORMAT '[011]',C7,O12,X1,'I',C35,':',X*[S@@@*SDFF*@#@@@@ DIMENWY )@@G@@SION B(10) @#@@@@ PARAMETER @^@@@@ IF SST[1]:S2<>1 THEN @G@@@@WZ )@@G@@ WRITE = 'CURRENT SUBSCHEMA NOT QLP THEREFORE PIT DOES NOT EXIST',* XA )@@G@@@]@@@@ RETURN @]@@@@ END IF @^@@@@ IF B(1)<>' ' THEN @#@@@@XB )@@G@@ ERROR NOPATH @]@@@@ PATH @[@@@@ ERROR@^@@@@ ELSE IF PSEQ=0 THXC )@@G@@EN @B@@@@ WRITE = ' NO PATH IS CURRENT',* @]@@@@ RETURN XD )@@G@@@]@@@@ END IF @C@@@@ERROK: WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3 XE )@@G@@@]@@@@ WRITE * @E@@@@ WRITE FMT0 PIT[0],PIT[0]:S1,PIT[0]:S2,PIT[0]:S3XF )@@G@@,PIT[0]:S6 @]@@@@ WRITE NAME0@B@@@@ WRITE FMT1 PIT[1],PIT[1]:H1,PIT[1]:XG )@@G@@H2 @]@@@@ WRITE NAME1@B@@@@ WRITE FMT2 PIT[2],PIT[2]:H1,PIT[2]:H2 XH )@@G@@@]@@@@ WRITE NAME2@#@@@@ REPEAT K=1,1 @]@@@@ LET J=K+2 @ @@@@ WRITEXI )@@G@@ FMT3 J,PIT[J],PIT[J] @]@@@@ WRITE NAME3@#@@@@ UNTIL K=PIT[0]:S2@#@@@@XJ )@@G@@ LET I=2+PIT[0]:S2@#@@@@ REPEAT K=1,1 @]@@@@ LET J=I+K @ @@@@ WRITEXK )@@G@@ FMT4 J,PIT[J],PIT[J] @#@@@@ IF K = 1 THEN @ @@@@ WRITE = C35,'PATHXL )@@G@@ NAME',* @[@@@@ ELSE @^@@@@ WRITE = C35,' "',* @]@@@@ END IF XM )@@G@@@#@@@@ UNTIL K=PIT[0]:S1@]@@@@ RETURN @#@@@@NOPATH: ERRPR,N @^@@@@XN )@@G@@ IF ECODE=150 GOTO ERROK@]@@@@ RETURN @E@@@@DATE: FORMAT 'PATH INDEXXO )@@G@@ TABLE [PIT]',C35,F2,'/',F2,'/',F2,*@E@@@@FMT0: FORMAT 'PIT[0]',C8,O12,CXP )@@G@@21,D,' ',D,' ',D,' **** ',D @F@@@@NAME0: FORMAT C35,'NMLEN, BITMASK LEXQ )@@G@@N, PR FLAG, ROOT LCMODE',* @B@@@@FMT1: FORMAT ' [1]',C8,O12,C21,D,'XR )@@G@@ ',D @C@@@@NAME1: FORMAT C35,'PIT FLAGS, ROOT REC CODE',* @B@@@@FMT2: XS )@@G@@FORMAT ' [2]',C8,O12,C21,D,' ',D @D@@@@NAME2: FORMAT C35,'PDT LENGTH,XT )@@G@@ PDT SECTOR ADDR',* @B@@@@FMT3: FORMAT ' [',O,']',C8,O12,C21,O12 XU )@@G@@@C@@@@NAME3: FORMAT C35,'BIT MASK FOR RECS IN PATH',* @D@@@@FMT4: FORMATXV )@@G@@ ' [',O,']',C8,O12,C21,'''',A4,'''' _@@@@@ ',D @C@@@@NAME1: FORMAXW )@@G@@T C35,'PIT FLAGS, ROOT REC CODE',* @B@@@@FMT2: FORMAT ' [2]',C8,O12,CXX )@@G@@21,D,' ',D @D@@@@NAME2:*[S@@@*SDFF*@#@@@@ PARAMETER A2 @A@@@@ IF A2XY )@@G@@\2=0 THEN @ DIVISIBLE BY 2 @D@@@@ IF A2<=11 GOTO DONE @ IF 11 OR LESXZ )@@G@@S, WE'RE DONE @B@@@@ LET A2=A2-1 @ ELIMINATE 2 AS A DIVISOR @]@@@@YA )@@G@@ END IF @A@@@@ IF A2\3=0 THEN @ DIVISIBLE BY 3 @D@@@@ IF A2<=32 YB )@@G@@GOTO DONE @ IF 32 OR LESS, WE'RE DONE @B@@@@ LET A2=A2-2 @ ELIMINATYC )@@G@@E 3 AS A DIVISOR @]@@@@ END IF @A@@@@ IF A2\5=0 THEN @ DIVISIBLE BYYD )@@G@@ 5 @D@@@@ IF A2<=64 GOTO DONE @ IF 64 OR LESS, WE'RE DONE @B@@@@YE )@@G@@ LET A2=A2-6 @ ELIMINATE 6 AS A DIVISOR @]@@@@ END IF @A@@@@ IF A2YF )@@G@@\7=0 THEN @ DIVISIBLE BY 7 @D@@@@ IF A2<=300 GOTO DONE @ IF 300 OR LYG )@@G@@ESS, WE'RE DONE @B@@@@ LET A2=A2-30 @ ELIMINATE 7 AS A DIVISOR @]@@@@YH )@@G@@ END IF @#@@@@DONE: RETURN A2 _@@@@@^[=H9,G*)C@)HD&^@6A))H92^[?G(3YI )@@G@@IS?^[7G*$IL>^[=H9,G*)^@)@E@@@@^@)H->I))GC2B(-AK!A0)C@)G(?HD!HD,GD4G*)A0)YJ )@@G@@*[S@@@*SDFF*@G@@@@ DIMENSION BUFFER(33),FILENAME(13),FITEM$PKT(13),ELEMEYK )@@G@@NT(5),BREAK$PKT(3)@^@@@@ PARAMETER :0 @#@@@@ ERROR ERRLAB YL )@@G@@@ @@@@ OPEN SDFI FILE= @^@@@@ LET BREAK$PKT(1)=1 @E@@@@YM )@@G@@ LET = BREAK ,'. ',13*6, @G@@@@ IF BRYN )@@G@@EAK$PKT(2)='.' LET =BREAK ,' ',13*6,@A@@@@YO )@@G@@ LET = FITEM('FILE') @A@@@@ IF OPTS:N=0 THEN @ OK TO PRINYP )@@G@@T HDR @G@@@@ WRITE FINAME ,,FITEM$PKT(7):NYQ )@@G@@T3,@E@@@@FINAME: FORMAT R,*,<2>WF,'*',<2>WF,'(',D,').',<5>WF,*,YR )@@G@@* @]@@@@ END IF @#@@@@ LET SEQUENCE#=1 @]@@@@ DO FOREVER @ @@@@YS )@@G@@ GET FILE(EOF=EOF) @^@@@@ LET IMAGE$SIZE = NWORDS@A@@@@ IF CHYT )@@G@@RSET = 0 THEN @ FIELDATA IMAGE%#@@@@-18,18 . CDM136 @D@@[@ IF IMAGE$SIYU )@@G@@ZE >= 22 LET IMAGE$SIZE = 22 - OPTS:S %@@@@[@^[@@@ IF IMAGE$SIZE = 0YV )@@G@@ THEN @^@@@@ LET IMAGE$SIZE = 1 @^@@@@ LET BUFFER(1)=' ' @]@@@@YW )@@G@@ END IF @C@@@@ IF OPTS:S THEN @ PRINT W/ SEQUENCE NUMBERS @C@@@@YX )@@G@@ WRITE FMTFA SEQUENCE#, @A@@@@ ELSE @ PRINT W/O YY )@@G@@SEQUENCE NUMBERS @ @@@@ WRITE @]@@@@ END IF YZ )@@G@@@^@@@@ ELSE @ IMAGE IS ASCII %#@@@@-29,29 . CDM136 @D@@[@ IF IMAGE$SIZA )@@G@@ZE >= 33 LET IMAGE$SIZE = 33 - OPTS:S %@@@@[@^[@@@ IF IMAGE$SIZE = 0ZB )@@G@@ THEN @^@@@@ LET IMAGE$SIZE = 1 @^@@@@ LET BUFFER(1)=' 'A @]@@@@ZC )@@G@@ END IF @C@@@@ IF OPTS:S THEN @ PRINT W/ SEQUENCE NUMBERS @C@@@@ZD )@@G@@ WRITE FMTAA SEQUENCE#, @A@@@@ ELSE @ PRINT W/O ZE )@@G@@SEQUENCE NUMBERS @ @@@@ WRITE,A @]@@@@ END IF ZF )@@G@@@]@@@@ END IF @ @@@@ LET SEQUENCE# = SEQUENCE# + 1@A@@@@ @ IF SEQUENZG )@@G@@CE#\55 =0 WRITE *(-1) @]@@@@ END DO @#@@@@EOF: CLOSE FILE @]@@@@ZH )@@G@@ RETURN 0 @ @@@@ERRLAB: IF OPTS:N=0 ERRPR,N @#@@@@ RETURN ECODE ZI )@@G@@@B@@@@FMTFA: FORMAT D,':',C7,F6,* @A@@@@FMTAA: FORMAT D,':ZJ )@@G@@',A4,*_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZL )@@G@@*[S@@@*SDFF*@E@@@@ERR: FORMAT R,' PARAMETER #',D,' (',<14>WF,') ZM )@@G@@- ' @ @@@@ DIMENSION ARG(6,14),PKT(1) @I@@@@ PARAMETER PKT,:ZN )@@G@@0,:0,:0,:0,:0,:0 @^@@@@ LET AZO )@@G@@CTUAL=SIZE(PKT) @A@@@@ LET REQD=11 - (OPTS:C + OPTS:L) @#@@@@ REPEAZP )@@G@@T I=1,1 @A@@@@ LET REQD = REQD + (ARG(I,1)<>0)*2 @]@@@@ UNTIL I=6 ZQ )@@G@@@^@@@@ IF ACTUAL1)*'S' @H@@@@SMALL: FORMAT R,' SORT/MERGE PACKET IS ',D,' WZS )@@G@@ORD',WF,' TOO SMALL',* @]@@@@ RETURN -1 @]@@@@ END IF @C@@@@ DIMENZT )@@G@@SION BREAK$PKT(3),KEYWORD(1),FIELD(2) @^@@@@ LET PKT^=COREADR()ZU )@@G@@@E@@@@ LET PKT(1):H1=000000 @ STANDARD 000000000000 START ENTRY @^@@@@ZV )@@G@@ LET PKT(1):H2=PKT^ @A@@@@ LET PKT(2)=0160000000000 @ 'NOTAPE'@A@@@@ZW )@@G@@ LET PKT(3)=0160100000000 @ 'NODISK'@#@@@@ LET NEXT$WD#=4 @B@@@@ IF OPZX )@@G@@TS:C = 0 THEN @ NO CONSOLE MESSAGES @C@@@@ LET PKT(NEXT$WD#) = 063000000ZY )@@G@@0000 @ 'DELCON' @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 @]@@@@ END IF ZZ )@@G@@@B@@@@ IF OPTS:L = 0 THEN @ NO LOG MESSAGES @C@@@@ LET PKT(NEXT$WD#)AA )@@G@@ = 0650000000000 @ 'DELLOG' @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 @]@@@@AB )@@G@@ END IF @]@@@@ LET KEY#=1 @#@@@@ LET RSZWORD=0 @#@@@@ LET BYTESIZAC )@@G@@E=0 @]@@@@ LET CORE^=0@]@@@@ LET RSZ=0 @#@@@@ ERROR TRAP01 @#@@@@AD )@@G@@ REPEAT I=1,1 @C@@@@ IF ARG(I,1)<>0 THEN @ OK TO PARSE ARGUMENT AE )@@G@@@^@@@@ LET BREAK$PKT(1)=1 @C@@@@ LET =BREAK ,'=',6,AF )@@G@@ @ @@@@ IF BREAK$PKT(2)<>'=' THEN @^@@@@ WRITE ERR I+1, @E@@@@ARG: FORMAT R,' ARGUMENT #',D,' (',<14>WF,') - ' AH )@@G@@@^@@@@ WRITE = 'NO = FOUND',* @]@@@@ RETURN -1 @]@@@@ END IF @E@@@@AI )@@G@@ IF KEYWORD(1) = 'RSZ ' THEN @ RECORD SIZE SPECIFICATION @#@@@@ IF RSAJ )@@G@@Z<>0 THEN @^@@@@ WRITE ERR I+1, @A@@@@ WRITE = '"RSZ" ALREADY AK )@@G@@SPECIFIED',*@]@@@@ RETURN -1 @]@@@@ END IF @ @@@@ LET PKT(NEXT$WD#)AL )@@G@@:H1=010000 @C@@@@ LET =BREAK ,'@',12, @ @@@@AM )@@G@@ LET RSZ = VALUE() @#@@@@ IF RSZ < 1 THEN @^@@@@ WRITE ERR IAN )@@G@@+1, @ @@@@ WRITE = 'BAD RECORD SIZE',* @]@@@@ RETURN -1 @]@@@@AO )@@G@@ END IF @^@@@@ LET RSZWORD=NEXT$WD# @^@@@@ IF BYTESIZE <> 0 THEN AP )@@G@@@C@@@@ LET PKT(RSZWORD):H2 = (RSZ+BYTESIZE-1)/BYTESIZE@#@@@@ LET RSZWORDAQ )@@G@@=0 @]@@@@ END IF @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 @D@@@@ ELSE AR )@@G@@IF KEYWORD(1)='CORE ' THEN @ SET CORE LIMIT @^@@@@ IF CORE^ <> 0 THEAS )@@G@@N @^@@@@ WRITE ERR I+1, @B@@@@ WRITE = '"CORE" ALREADY SPECIAT )@@G@@FIED',* @]@@@@ RETURN -1 @]@@@@ END IF @]@@@@ WRITE = R @C@@@@AU )@@G@@ LET =BREAK ,'@',12, @#@@@@ ERROR TRAP02 AV )@@G@@@^@@@@ WRITE GLOBAL @A@@@@GLOBAL: FORMAT R,'GLOBAL ',<2>WF AW )@@G@@@[@@@@ * @^@@@@ WRITE GETADR @D@@@@GETADR: FORMAT R,'LET COAX )@@G@@RE^ = COREADR (<',<2>WF,'>)' @[@@@@ * @^@@@@ WRITE GETSIZ AY )@@G@@@D@@@@GETSIZ: FORMAT R,'LET CORESIZE = SIZE (',<2>WF,')' @[@@@@ * AZ )@@G@@@#@@@@ ERROR TRAP01 @ @@@@ IF CORESIZE < 02200 THEN @^@@@@ WRITEBA )@@G@@ ERR I+1, @D@@@@ WRITE SMALL2 02200-CORESIZE,(02200-CORESIZE>1)*BB )@@G@@'S' @F@@@@SMALL2: FORMAT '"CORE" ARRAY IS ',D,' WORD',WF,' TOO SMALL',BC )@@G@@* @]@@@@ RETURN -1 @]@@@@ END IF @C@@@@ LET PKT(NEXT$WD#)=02000BD )@@G@@00000000 ++ CORESIZE @C@@@@ LET PKT(NEXT$WD#+1)=0770000000000 ++ COREBE )@@G@@^ @ @@@@ LET NEXT$WD# = NEXT$WD# + 2 @D@@@@ ELSE IF KEYWORD(1)='KEYBF )@@G@@ ' THEN @ DETERMINE KEY @C@@@@ LET =BREAK ,'/',12, @ @@@@ LET START=VALUE() @C@@@@ LET =BREAKBH )@@G@@ ,'/',12, @ @@@@ LET KEYSIZE=VALUE() @C@@@@BI )@@G@@ LET =BREAK ,'/',12, @^@@@@ LET TYPE=FIELD(1)BJ )@@G@@:S1 @C@@@@ LET =BREAK ,'@',12, @^@@@@ LET OBK )@@G@@RDER=FIELD(1):S1 @^@@@@ LET PKT(NEXT$WD#):S1=03@ @@@@ LET VALID$TYPES=0BL )@@G@@322063760 @^@@@@ LET ASCII$TYPES=01720 @C@@@@ LET FDATA$TYPES=VALID$TBM )@@G@@YPES -- ASCII$TYPES @^@@@@ PWORD J0 ('Z'-TYPE),1 @ @@@@ IF ASCII$TYBN )@@G@@PES:J0=1 THEN @#@@@@ LET BYTESIZE = 9 @[@@@@ @ @ @@@@ ELSE IF FDABO )@@G@@TA$TYPES:J0=1 THEN@#@@@@ LET BYTESIZE = 6 @[@@@@ ELSE @^@@@@ WRITE ERR IBP )@@G@@+1, @B@@@@ WRITE = 'INVALID "TYPE" CHARACTER',* @]@@@@ RETURBQ )@@G@@N -1 @]@@@@ END IF @^@@@@ IF RSZWORD <> 0 THEN @C@@@@ LET PKT(RSZBR )@@G@@WORD):H2 = (RSZ+BYTESIZE-1)/BYTESIZE@#@@@@ LET RSZWORD=0 @]@@@@ END IBS )@@G@@F @ @@@@ LET PKT(NEXT$WD#):S2=TYPE @ @@@@ LET PKT(NEXT$WD#):S3=ORBT )@@G@@DER @B@@@@ IF ORDER <> 'A' AND ORDER <> 'D' THEN @^@@@@ WRITE ERR IBU )@@G@@+1, @A@@@@ WRITE = 'BAD "ORDER" CHARACTER',* @]@@@@ RETURN -1 BV )@@G@@@]@@@@ END IF @B@@@@ LET FIRSTBIT = BYTESIZE * (START - 1) @ @@@@BW )@@G@@ LET FIRSTWORD = FIRSTBIT / 36@A@@@@ LET FIRSTBIT = FIRSTBIT \ 36 + 1 BX )@@G@@@ @@@@ LET PKT(NEXT$WD#):S4=FIRSTBIT@ @@@@ LET PKT(NEXT$WD#):T3=KEY# BY )@@G@@@^@@@@ LET KEY# = KEY# + 1 @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 @A@@@@BZ )@@G@@ LET PKT(NEXT$WD#):H1 = FIRSTWORD @ @@@@ LET PKT(NEXT$WD#):S1=077 CA )@@G@@@B@@@@ LET PKT(NEXT$WD#):H2 = BYTESIZE * KEYSIZE@ @@@@ LET NEXT$WD# = NECB )@@G@@XT$WD# + 1 @[@@@@ ELSE @^@@@@ WRITE ERR I+1, @ @@@@ WRITE = 'UNCC )@@G@@KNOWN KEYWORD',* @]@@@@ RETURN -1 @]@@@@ END IF @]@@@@ END IF CD )@@G@@@]@@@@ UNTIL I = 6@^@@@@ LET FILE^=NEXT$WD# + 3 @D@@@@ LET PKT(NEXT$WD#)CE )@@G@@=0230000000000 ++ (PKT^ + FILE^) @A@@@@ LET = 'XACF )@@G@@' @^@@@@ LET FILE^ = FILE^ + 2 @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 CG )@@G@@@D@@@@ LET PKT(NEXT$WD#)=0230000000000 ++ (PKT^ + FILE^) @A@@@@ LET = 'XB' @ @@@@ LET NEXT$WD# = NEXT$WD# + 1 @B@@@@CI )@@G@@ LET PKT(NEXT$WD#) = 0710000000000 ++ PKT^@#@@@@ IF KEY# = 1 THEN @B@@@@CJ )@@G@@ WRITE = R,' NO "KEY" SPECIFIED',*@]@@@@ RETURN -1 @^@@@@ ELSE CK )@@G@@IF CORE^ = 0 THEN @C@@@@ WRITE = R,' NO "CORE" SPECIFIED',* CL )@@G@@@]@@@@ RETURN -1 @^@@@@ ELSE IF RSZ = 0 THEN @B@@@@ WRITE = R,' NO "RSZ" SPECIFIED',*@]@@@@ RETURN -1 @]@@@@ END IF @]@@@@ RETURCN )@@G@@N @ @@@@TRAP01: WRITE ERR I+1,@ @@@@ WRITE = 'CAUSED DBE ERRCO )@@G@@OR:',*@]@@@@ ERRPR,N @]@@@@ RETURN -1 @ @@@@TRAP02: WRITE ERR I+1,@^@@@@ IF FIELD(1):S1='<' THEN@D@@@@ WRITE = 'USE ARRAY NAME (NOT CQ )@@G@@SUBSET) FOR "CORE"',* @[@@@@ ELSE @A@@@@ WRITE = 'BAD "CORE" PARAMETERCR )@@G@@',* @]@@@@ END IF @]@@@@ RETURN -1 @]@@@@ END IF _@@@@@:H1 = CS )@@G@@FIRSTWORD @ @@@@ LET PKT(NEXT$WD#):S1=077 @B@@@@ LET PKT(NEXT$WD#)CT )@@G@@:H2 = BYTESIZE * KEYSIZE*[S@@@*SDFF*@#@@@@ DIMENSION B(10) @#@@@@ PARAMCU )@@G@@ETER @^@@@@ IF B(1)<>' ' THEN @]@@@@ ERROR NOREC@]@@@@ RECORCV )@@G@@D @[@@@@ ERROR@^@@@@ ELSE IF RSEQ=0 THEN @B@@@@ WRITE = ' NOCW )@@G@@ RECORD IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF @^@@@@ LET NCX )@@G@@SIZ = RRT[1]:S3 @#@@@@ IF NSIZ < 11 THEN@^@@@@ WRITE = C(22-2*NSIZ) CY )@@G@@@[@@@@ ELSE @]@@@@ WRITE = C1 @]@@@@ END IF @ @@@@ WRITE TITLE1 @^@@@@ WRITE TITLE2 @F@@@@ WRITE DATIM DATE:NT1,DADA )@@G@@TE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3@]@@@@ WRITE BARS @^@@@@ WRITEDB )@@G@@ WORD 0,RDT[0] @#@@@@ WRITE WO RDT[0] @]@@@@ WRITE = * @]@@@@ WRITEDC )@@G@@ BARS @^@@@@ WRITE WORD 1,RDT[1] @^@@@@ WRITE H RDT[1]:H1,':' @^@@@@DD )@@G@@ WRITE H RDT[1]:H2,'I' @B@@@@ WRITE = 'RECORD LENGTH, RECORD CODE',* DE )@@G@@@]@@@@ WRITE BARS @#@@@@ LET L=RDT[2]:S1 @^@@@@ WRITE WORD 2,RDT[2] DF )@@G@@@^@@@@ WRITE SD RDT[2]:S1,':' @^@@@@ WRITE SD RDT[2]:S2,':' @^@@@@ WRITEDG )@@G@@ SD RDT[2]:S3,':' @^@@@@ WRITE H RDT[2]:H2,'I' @A@@@@ WRITE = 'LOCMOD, DH )@@G@@#ODOS, #PTRS,',* @A@@@@ WRITE = C55, 'RECORD INTERVAL' @]@@@@ WRITEDI )@@G@@ BARS @^@@@@ WRITE WORD 3,RDT[3] @^@@@@ WRITE SD RDT[3]:S1,':' @^@@@@DJ )@@G@@ WRITE SD RDT[3]:S2,':' @^@@@@ WRITE SD RDT[3]:S3,':' @^@@@@ WRITE H RDTDK )@@G@@[3]:H2,'I' @A@@@@ WRITE = '#OWNERS, #AUTO, #MAN',* @A@@@@ WRITE = C55DL )@@G@@, '==> AREA WITHIN' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 4,RDT[4] DM )@@G@@@#@@@@ IF L= 5 THEN @#@@@@ WRITE = ' : ' @^@@@@ WRITE SD RDT[4]:SDN )@@G@@2,':' @#@@@@ WRITE = ' : ' @[@@@@ ELSE @^@@@@ WRITE H RDT[4]:H1,':' DO )@@G@@@]@@@@ END IF @^@@@@ WRITE H RDT[4]:H2,'I' @]@@@@ IF L=1 THEN@B@@@@DP )@@G@@ WRITE = 'DN CODE, DN CODE OF AREA KEY',* @^@@@@ ELSE IF L=2 OR L=3 THENDQ )@@G@@@ @@@@ WRITE = '==> CALC DBP',* @#@@@@ ELSE IF L=4 THEN @^@@@@ WRITEDR )@@G@@ = 'SET CODE',* @[@@@@ ELSE @A@@@@ WRITE = 'IS BIT, INDEX AREA CODE',*DS )@@G@@@]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITE WORD 5,RDT[5] @#@@@@DT )@@G@@ LET T=RDT[5] @^@@@@ WRITE H RDT[5]:H1,':' @^@@@@ WRITE H RDT[5]:H2DU )@@G@@,'I' @#@@@@ IF T:H1=0 THEN @A@@@@ WRITE = '1ST DATA WORD OFFSET',* DV )@@G@@@[@@@@ ELSE @B@@@@ WRITE = 'SPA SET CODE, 1ST DATA WORD',* @^@@@@ WRITEDW )@@G@@ = C70, 'OFFSET' @]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITE WORD DX )@@G@@6,RDT[6] @^@@@@ WRITE H RDT[6]:H1,':' @^@@@@ WRITE H RDT[6]:H2,'I' DY )@@G@@@B@@@@ WRITE = '==>OWNERS, ==>AUTO MEMBERS',* @]@@@@ WRITE BARS @^@@@@DZ )@@G@@ WRITE WORD 7,RDT[7] @^@@@@ WRITE H RDT[7]:H1,':' @^@@@@ WRITE H RDTEA )@@G@@[7]:H2,'I' @ @@@@ WRITE = '==> MAN MEMBERS,',* @A@@@@ WRITE = C52, 'AREEB )@@G@@A ID DBDN CODE' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 010,RDT[8] @^@@@@EC )@@G@@ WRITE H RDT[8]:H1,':' @^@@@@ WRITE SD RDT[8]:S4,':' @^@@@@ WRITE SD RDED )@@G@@T[8]:S5,':' @^@@@@ WRITE SD RDT[8]:S6,'I' @ @@@@ WRITE = '==> ODOS, LINKEE )@@G@@S,',* @ @@@@ WRITE = C52, '#MANPTR, #KEYS'@]@@@@ WRITE BARS @[@@@@ PAUSEEF )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 011,RDT[9] @^@@@@ WRITE H RDT[9]:H1EG )@@G@@,':' @^@@@@ WRITE H RDT[9]:H2,'I' @]@@@@ IF L=5 THEN@B@@@@ WRITE = 'REEH )@@G@@C MFCW LOC, IDX ENTRY SIZE',* @[@@@@ ELSE @ @@@@ WRITE = 'RECORD MFCW LOEI )@@G@@CN',* @]@@@@ END IF @]@@@@ WRITE BARS @^@@@@ WRITE WORD 012,RDT[10] EJ )@@G@@@^@@@@ WRITE HO RDT[10]:H1,':'@^@@@@ WRITE H RDT[10]:H2,'I' @B@@@@ WRITEEK )@@G@@ = 'REC FEAT FLGS,==>REC FEATURE',* @^@@@@ WRITE = C65, 'ADDENDUM'@]@@@@EL )@@G@@ WRITE BARS @^@@@@ WRITE WORD 013,RDT[11] @#@@@@ WRITE = ' : ' @^@@@@EM )@@G@@ WRITE SD RDT[11]:S2,':'@^@@@@ WRITE SD RDT[11]:S3,':'@^@@@@ WRITE H RDTEN )@@G@@[11]:H2,'I' @B@@@@ WRITE = 'DBP, MAX DE, ITEM FEAT IND',* @]@@@@ WRITEEO )@@G@@ BARS @#@@@@ LET K=RDT[010]:S6@]@@@@ LET W=12 @ @@@@ IF L=2 OR L=3 OR EP )@@G@@L=5 THEN @#@@@@ REPEAT I=1,1 @#@@@@ WRITE KID I,K @]@@@@ WRITEEQ )@@G@@ BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE SD RDT[W]:S1,':' @^@@@@ER )@@G@@ WRITE SD RDT[W]:S2,':' @^@@@@ WRITE SD RDT[W]:S3,':' @^@@@@ WRITE H RDTES )@@G@@[W]:H2,'I' @A@@@@ WRITE = 'LV#/KD, TYPE, 1ST BIT,',* @ @@@@ WRITE = C60ET )@@G@@, 'REL REC LOCN' @]@@@@ WRITE BARS @]@@@@ LET W=W+1 @^@@@@ WRITE WORD EU )@@G@@W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' @^@@@@ WRITE H RDT[W]:H2,'I' EV )@@G@@@A@@@@ WRITE = 'ITEM CODE, TOTAL BITS',* @]@@@@ WRITE BARS @]@@@@ LET WEW )@@G@@=W+1 @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE SD RDT[W]:S1,':' @^@@@@EX )@@G@@ WRITE SD RDT[W]:S2,':' @^@@@@ WRITE SD RDT[W]:S3,':' @^@@@@ WRITE H RDTEY )@@G@@[W]:H2,'I' @A@@@@ WRITE = 'DEC PT, CMPSIZ, SCALE,',* @A@@@@ WRITE = C60EZ )@@G@@, 'ITEM FEAT FLAGS' @]@@@@ WRITE BARS @]@@@@ LET W=W+1 @]@@@@ UNTILFA )@@G@@ I=K @]@@@@ END IF @ @@@@ IF L=2 OR L=3 OR L=5 THEN @[@@@@ PAUSEFB )@@G@@@]@@@@ END IF @#@@@@ REPEAT I=1,1 @]@@@@ LET L=0 @C@@@@ IF I=FC )@@G@@1 AND RDT[6]:H1 <>0 THEN @@@ OWNER SME @@@@#@@@@ LET L=RDT[3]:S1 @ @@@@FD )@@G@@ LET =' OWNER SME ' @E@@@@ ELSE IF I=2 AND RDT[6]:H2 <>0 THEN FE )@@G@@@@@ AUTO MEMBER SME @@@ @#@@@@ LET L=RDT[3]:S2 @ @@@@ LET ='AUTOMATFF )@@G@@IC SME ' @E@@@@ ELSE IF I=3 AND RDT[7]:H1 <> 0 THEN @@@ MAN. MEMBER SFG )@@G@@ME @@@@#@@@@ LET L=RDT[3]:S3 @ @@@@ LET =' MANUAL SME ' @]@@@@FH )@@G@@ END IF @#@@@@ IF L<>0 THEN @#@@@@ REPEAT J=1,1 @^@@@@ WRITEFI )@@G@@ SME ,J,L @]@@@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@FJ )@@G@@ WRITE H RDT[W]:H1, ':' @^@@@@ WRITE SD RDT[W]:S4,':' @^@@@@ WRITE SD RDFK )@@G@@T[W]:S5,':' @^@@@@ WRITE SD RDT[W]:S6,'I' @B@@@@ WRITE = 'ENTRY SIZE, #LFL )@@G@@INKS, LNK+MD,',* @^@@@@ WRITE = C65, 'MEMTYP' @]@@@@ WRITE BARS @]@@@@FM )@@G@@ LET W=W+1 @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1, ':' FN )@@G@@@^@@@@ WRITE H RDT[W]:H2, 'I' @A@@@@ WRITE = 'REC LINK LOCN, SET CODE',*FO )@@G@@@]@@@@ WRITE BARS @]@@@@ LET W=W+1 @^@@@@ WRITE WORD W,RDT[W] @^@@@@FP )@@G@@ WRITE H RDT[W]:H1, ':' @^@@@@ WRITE SD RDT[W]:S4,':' @^@@@@ WRITE SD RDFQ )@@G@@T[W]:S5,':' @^@@@@ WRITE SD RDT[W]:S6,'I' @B@@@@ WRITE = 'KEY SIZE, #KEYFR )@@G@@S, DUPS, ORDER',* @]@@@@ WRITE BARS @#@@@@ LET M=RDT[W]:S4 @]@@@@ LET WFS )@@G@@=W+1 @#@@@@ IF M<>0 THEN @#@@@@ REPEAT K=1,1 @#@@@@ WRITE SKI KFT )@@G@@,M @]@@@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE SD RDFU )@@G@@T[W]:S1,':' @^@@@@ WRITE SD RDT[W]:S2,':' @^@@@@ WRITE SD RDT[W]:S3,':' FV )@@G@@@^@@@@ WRITE H RDT[W]:H2,'I' @A@@@@ WRITE = 'LV#/KD, TYPE, 1ST BIT,',* FW )@@G@@@ @@@@ WRITE = C65, 'REL REC LOCN' @]@@@@ WRITE BARS @]@@@@ LET W=W+1 FX )@@G@@@^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' @^@@@@ WRITEFY )@@G@@ H RDT[W]:H2,'I' @A@@@@ WRITE = 'ITEM CODE, TOTAL BITS',* @]@@@@ WRITEFZ )@@G@@ BARS @]@@@@ LET W=W+1 @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE SD RDGA )@@G@@T[W]:S1,':' @^@@@@ WRITE SD RDT[W]:S2,':' @^@@@@ WRITE SD RDT[W]:S3,':' GB )@@G@@@^@@@@ WRITE H RDT[W]:H2,'I' @A@@@@ WRITE = 'DEC PT, CMPSZ, SCALE,',* GC )@@G@@@A@@@@ WRITE = C60, 'ITEM FEAT FLAGS' @]@@@@ WRITE BARS @]@@@@ LET WGD )@@G@@=W+1 @]@@@@ UNTIL K=M @]@@@@ END IF @]@@@@ UNTIL J=L @]@@@@ END IGE )@@G@@F @]@@@@ UNTIL I=3 @#@@@@ IF L <> 0 THEN @[@@@@ PAUSE@]@@@@ END IGF )@@G@@F @^@@@@ IF RDT[3]:H2<>0 THEN @B@@@@ WRITE = C26, 'AREA WITHIN ENTGG )@@G@@RIES',* @]@@@@ REPEAT @]@@@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[GH )@@G@@W] @^@@@@ WRITE SD RDT[W]:S1,':' @^@@@@ WRITE SD RDT[W]:S2,':' @^@@@@GI )@@G@@ WRITE SD RDT[W]:S3,':' @^@@@@ WRITE H RDT[W]:H2,'I' @B@@@@ WRITE = 'NEGJ )@@G@@XT,LBOUND,UBOUND,AREA CODE',* @]@@@@ WRITE BARS @]@@@@ LET T=W @]@@@@GK )@@G@@ LET W=W+1 @#@@@@ UNTIL RDT[T]:S1=0@]@@@@ END IF @^@@@@ IF RDT[2]:SGL )@@G@@2<>0 THEN @#@@@@ REPEAT I=1,1 @^@@@@ WRITE ODO I,RDT[2]:S2 @]@@@@GM )@@G@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' GN )@@G@@@^@@@@ WRITE SD RDT[W]:S4,':' @^@@@@ WRITE SD RDT[W]:S5,':' @^@@@@ WRITEGO )@@G@@ SD RDT[W]:S6,'I' @A@@@@ WRITE = 'XFER START ADR, NEXT,',* @ @@@@ WRITEGP )@@G@@ = C60, '1ST DO, 1ST OD'@]@@@@ WRITE BARS @]@@@@ LET W=W+1 @^@@@@ WRITEGQ )@@G@@ WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' @^@@@@ WRITE H RDT[W]:H2GR )@@G@@,'I' @A@@@@ WRITE = 'LOW OCCURS, HIGH OCCURS',*@]@@@@ WRITE BARS @]@@@@GS )@@G@@ LET W=W+1 @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' GT )@@G@@@^@@@@ WRITE H RDT[W]:H2,'I' @B@@@@ WRITE = '#BITS/OCCUR, OFFSET TO ODOGU )@@G@@',* @]@@@@ WRITE BARS @]@@@@ LET W=W+1 @^@@@@ WRITE WORD W,RDT[W] GV )@@G@@@^@@@@ WRITE H RDT[W]:H1,':' @^@@@@ WRITE H RDT[W]:H2,'I' @B@@@@ WRITEGW )@@G@@ = 'SIZE OF DO, OFFSET TO DO',* @]@@@@ WRITE BARS @]@@@@ LET W=W+1 GX )@@G@@@#@@@@ UNTIL I=RDT[2]:S2@A@@@@ WRITE = C28, 'ODO FINAL WORD',* @]@@@@GY )@@G@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITE H RDT[W]:H1,':' GZ )@@G@@@ @@@@ WRITE = ' I ' @A@@@@ WRITE = 'START ADDR FOR XFER'HA )@@G@@,* @]@@@@ WRITE BARS @]@@@@ LET W=W+1 @]@@@@ END IF @#@@@@ LET LHB )@@G@@=RDT[2]:S1 @^@@@@ IF L=2 OR L=3 THEN @A@@@@ WRITE = C27, 'CALC DBP HC )@@G@@ADDENDUM',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD W,RDT[W] @^@@@@ WRITEHD )@@G@@ SD RDT[W]:S1,':' @#@@@@ WRITE = ' : ' @^@@@@ WRITE SD RDT[W]:S3,':' HE )@@G@@@^@@@@ WRITE H RDT[W]:H2,'I' @B@@@@ WRITE = 'NUM, TYPE, DBP/LITERAL PTRHF )@@G@@',* @]@@@@ WRITE BARS @]@@@@ LET W=W+1 @]@@@@ END IF @]@@@@ RETURHG )@@G@@N @#@@@@NOREC: ERRPR,N @]@@@@ RETURN @A@@@@BARS: FORMAT C20,'HH )@@G@@I',<29>'-','I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @ @@@@HI )@@G@@WO: FORMAT X7,O12,X9,'I ' @^@@@@DOT: FORMAT C12,'.' @B@@@@SKIP: HJ )@@G@@FORMAT C12,'.',C20,'/',<29>' ','/',*@^@@@@H: FORMAT D7,X6,WF,' ' @B@@@@HK )@@G@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'I ' @^@@@@SD: FORMAT D2,X1,WF,X1 HL )@@G@@@^@@@@FS6: FORMAT C45,': ' @^@@@@FS5: FORMAT C40,': ' @ @@@@TD: FOHM )@@G@@RMAT X2,D4,X2,WF,X3 @^@@@@WD: FORMAT D15,X13,'I ' @F@@@@TITLE1: FORMHN )@@G@@AT 'RECORD DESCRIPTION TABLE FOR RECORD ',WA,* @B@@@@TITLE2: FORMHO )@@G@@AT C24, 'OF SCHEMA ', <2>WF,* @D@@@@KID: FORMAT C22, 'KEY ITEM DESCRIPTIHP )@@G@@ON ',D,' OF ',D,* @H@@@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',FHQ )@@G@@2,' AT ',F2,':',F2,':',F2,* @A@@@@SME: FORMAT C22,<3>F6,D,' OF ', D,* HR )@@G@@@D@@@@SKI: FORMAT C22,'SORT KEY ITEM ENTRY ',D,' OF ',D,* @D@@@@ODO: FHS )@@G@@ORMAT C22,'OCCURS DEPENDING ON ',D,' OF ',D,* @ @@@@HO: FORMAT X3,O7,XHT )@@G@@3,WF,' ' _@@@@@@]@@@@ END IF @#@@@@ LET L=RDT[2]:S1 @^@@@@ IF L=HU )@@G@@*[S@@@*SDFF*@]@@@@ RESTORE-ENV_@@@@@Y)@)@[C]@@@ @]M@B4@]L@]L@@@@Y@@@@@@@HV )@@G@@@@@@@@HO: FORMAT X3,O7,X3,WF,' ' _@@@@@@]@@@@ END IF @#@@@@ LET LHW )@@G@@=RDT[2]:S1 @^@@@@ IF L=*[S@@@*SDFF*@#@@@@ ERROR RETURN @]@@@@ LET THX )@@G@@=0 @ @@@@ PARAMETER A:1,B:99999999 @E@@@@ DIMENSION C(SCRT[011]:HHY )@@G@@1),H(SCRT[011]:H1),S(SCRT[011]:H1) @^@@@@ IF ART[3]:S6>7 THEN @^@@@@HZ )@@G@@ LET L=P0[013]:H2-1 @[@@@@ ELSE @#@@@@ LET L=ART[010]:H1@]@@@@ END IIA )@@G@@F @#@@@@ IF B>L LET B=L @^@@@@ IF A>L OR A<1 LET A=1 @#@@@@ WRITEIB )@@G@@ TITLE0 @^@@@@TITLE0: FORMAT <56>'*',*@A@@@@ WRITE TITLE1 ,IC )@@G@@ART[0]:H2 @H@@@@TITLE1: FORMAT '* GROSS RECORD COUNTS FOR AREA ',<2>WFID )@@G@@,', CODE ',D,C56,'*',* @^@@@@ WRITE TITLE2 L,A,B @H@@@@TITLE2: FORMIE )@@G@@AT '* TOTAL PAGES: ',D,C27,'REPORT LIMITS: ',D,'-',D,C56,'*',* @B@@@@IF )@@G@@ WRITE TITLE3 DATE:NT1,DATE:NT2,DATE:NT3 @B@@@@ WRITE TITLE4 TIME:NT1,TIG )@@G@@IME:NT2,TIME:NT3 @C@@@@TITLE3: FORMAT '* DATE: ',F2,'/',F2,'/',F2 IH )@@G@@@C@@@@TITLE4: FORMAT C27,'TIMES: ',F2,':',F2,':',F2 @#@@@@ COUNT :AII )@@G@@,B @B@@@@ WRITE TITLE5 TIME:NT1,TIME:NT2,TIME:NT3 @C@@@@TITLE5: FORMIJ )@@G@@AT ' - ',F2,':',F2,':',F2,C56,'*',* @#@@@@ WRITE TITLE0 @E@@@@ WRITEIK )@@G@@ = '* RECORD OCCURRENCE',C36,'RECORD',C56,'*',* @D@@@@ WRITE = '* IL )@@G@@ CODE COUNT',C37,'NAME',C56,'*',* @H@@@@ WRITE = '* ====== ===IM )@@G@@======= ==============================',C56,'*',* @]@@@@ LET L=0 IN )@@G@@@]@@@@ LET J=0 @A@@@@ REPEAT I=SCRT[011]:H2,SCRT[I+1]:S1 @]@@@@ LET LIO )@@G@@=L+1 @#@@@@ IF C(L)>0 THEN @#@@@@ LET T=T+C(L) @]@@@@ LET J=J+1 IP )@@G@@@E@@@@ WRITE ITEM SCRT[I]:H2,C(L), @B@@@@IQ )@@G@@ IF SCRT[I]:H2>010000 THEN @ P/A RECORD @A@@@@ WRITE SETNUM SCRT[I]:H2IR )@@G@@-010000 @B@@@@SETNUM: FORMAT C29,'RECORD FOR SET ',D,* @^@@@@ SET SIS )@@G@@CRT[I]:H2-010000 @B@@@@ WRITE ITEM2 SRT[0]:H2,@[@@@@IT )@@G@@ ELSE @]@@@@ WRITE * @]@@@@ END IF @E@@@@ITEM: FORMAT '* ',D6,C1IU )@@G@@2,D10,C24,A4,C56,'*' @E@@@@ITEM2: FORMAT '* ',C24,'(',WA,')',C56,'*',* @#@@@@ LET H(J)=C(L) @^@@@@ WRITE RCODEIW )@@G@@ SCRT[I]:H2 @#@@@@RCODE: FORMAT R,D @^@@@@ LET =WBUF(1,6) @]@@@@IX )@@G@@ WRITE = R @]@@@@ END IF @^@@@@ UNTIL L=SCRT[011]:H1 @#@@@@ WRITEIY )@@G@@ TOTAL T @G@@@@TOTAL: FORMAT '*',C12,'----------',C56,'*',*,'* TOTALIZ )@@G@@: ',D10,C56,'*',*@#@@@@ WRITE TITLE0 @ @@@@ IF OPTS:H=0 OR J=0 RETUJA )@@G@@RN @G@@@@ WRITE = R,*,'THE FOLLOWING SHOWS THE ABOVE RESULTS HISTOGRAJB )@@G@@MED BY' @ @@@@ WRITE = ' RECORD CODE',*,* @A@@@@ HISTOGRAM JC )@@G@@ USING @]@@@@ RETURN @^@@@@RETURN: ERROR NOMSG @#@@@@JD )@@G@@ IF ECODE=78 THEN @]@@@@ WRITE * @#@@@@ WRITE TITLE0 @F@@@@ WRITEJE )@@G@@ = ' THIS AREA IS NOT A DATA/POINTER AREA',* @]@@@@ RETURJF )@@G@@N @[@@@@ ELSE @[@@@@ ERRPR@]@@@@ RETURN @]@@@@ END IF @#@@@@JG )@@G@@NOMSG: RETURN _@@@@@ = ' THIS AREA IS NOT A DATA/POINTER JH )@@G@@AREA',* @]@@@@ RETURN @[@@@@ ELSE @[@@@@*[S@@@*SDFF*@I@@@@ DIMENJI )@@G@@SION M(30),A(SCRT[010]:H1),C(SCRT[011]:H1),T(SCRT[011]:H1),S(SCRT[011]:HJJ )@@G@@1) @^@@@@ PARAMETER M:'* ' @^@@@@ WRITE SCHNAM @H@@@@JK )@@G@@SCHNAM: FORMAT 'RECORD COUNTS FOR ALL DATA/POINTER AREAS IN SCHEMA: ',<2JL )@@G@@>F6,* @]@@@@ WRITE = * @^@@@@ IF M(1)<>'* ' THEN @E@@@@ WRITE = 'NOJM )@@G@@TE: ONLY AREAS WHOSE NAMES CONFORM TO MASK : "' @#@@@@ LET Z=SIZE(M) JN )@@G@@@]@@@@ LET Z=Z*6 @#@@@@ REPEAT J=1,1 @^@@@@ WRITE BYTE [M:J,6] JO )@@G@@@#@@@@BYTE: FORMAT F1 @ @@@@ UNTIL [M:J,6]=' ' OR J=Z @B@@@@ WRITEJP )@@G@@ = X(-1),'" WILL BE REPORTED',* @]@@@@ END IF @]@@@@ WRITE = * JQ )@@G@@@F@@@@ WRITE = 'THE FOLLOWING AREAS WILL BE ELIGIBLE FOR REPORTING:',*,*JR )@@G@@@]@@@@ LET N=0 @#@@@@ REPEAT I=1,1 @#@@@@ ERROR RECVRY @]@@@@JS )@@G@@ AREA,N #I @^@@@@ IF ART[3]:S6<8 THEN @]@@@@ PAGE 1 @[@@@@ ELSE JT )@@G@@@]@@@@ PAGE 0 @]@@@@ END IF @[@@@@ ERROR@^@@@@ MASKF , @D@@@@ IF RESULT=1 AND (ART[014]:S2=0 OR ART[014]:S2=2) THEN@^@@@@JV )@@G@@ WRITE ANAME @^@@@@ANAME: FORMAT <2>F6,* @]@@@@ LET N=N+1 JW )@@G@@@]@@@@ LET A(N)=I @]@@@@ END IF @]@@@@ GOTO REPEAT@#@@@@RECVRY: AREAJX )@@G@@,PN #I@ @@@@ WRITE UNAVAI ,ECODE @H@@@@UNAVAI: FORMAT <2>F6,C20JY )@@G@@,'NOT REPORTED: AREA UNAVAILABLE (DBE ERROR #',D,')',*@#@@@@REPEAT: ERROJZ )@@G@@R @^@@@@ UNTIL I=SCRT[010]:H1 @]@@@@ IF N=0 THEN@D@@@@ WRITE = *,*KA )@@G@@,'NO AREAS MEET REPORTING CRITERIA',* @]@@@@ RETURN @]@@@@ END IKB )@@G@@F @#@@@@ REPEAT I=1,1 @#@@@@ AREA,N #A(I) @^@@@@ IF ART[014]KC )@@G@@:S2=0 THEN @#@@@@ WRITE = *(-1) @#@@@@ IF OPTS:H=1 THEN @^@@@@ LET =REC-COUNT,H @[@@@@ ELSE @#@@@@ LET =REC-COUNT@]@@@@ END IF KE )@@G@@@#@@@@ REPEAT K=1,1 @^@@@@ LET T(K)=T(K)+C(K) @^@@@@ UNTIL K=SCRKF )@@G@@T[011]:H1 @]@@@@ END IF @]@@@@ UNTIL I=N @^@@@@ IF OPTS:T=0 RETURKG )@@G@@N @]@@@@ LET L=0 @]@@@@ LET P=0 @]@@@@ LET J=0 @]@@@@ LET KKH )@@G@@=0 @]@@@@ LET N=0 @A@@@@ REPEAT I=SCRT[011]:H2,SCRT[I+1]:S1 @]@@@@KI )@@G@@ IF L=0 THEN@]@@@@ LET P=P+1 @]@@@@ WRITE T1 P @H@@@@T1: FORMAT R,'TOTAKJ )@@G@@L RECORD COUNTS FOR ALL SELECTED AREAS',C60,'PAGE: ',D,*(-1)@#@@@@ LET LKK )@@G@@=20+MODE*30 @C@@@@ WRITE = *,'RECORD OCCURRENCE RECORD',* @B@@@@KL )@@G@@ WRITE = ' CODE COUNT NAME',*@G@@@@ WRITE = '====== ===KM )@@G@@======= ==============================',* @]@@@@ END IF @]@@@@KN )@@G@@ LET J=J+1 @#@@@@ IF T(J)>0 THEN @]@@@@ LET K=K+1 @#@@@@ LET N=N+T(JKO )@@G@@) @E@@@@ WRITE ITEM SCRT[I]:H2,T(J), KP )@@G@@@C@@@@ITEM: FORMAT R,D6,C10,D10,C23,A4,*@#@@@@ LET C(K)=T(KQ )@@G@@J) @^@@@@ WRITE RCODE SCRT[I]:H2 @#@@@@RCODE: FORMAT R,D @^@@@@ LET =WBUF(1,6) @]@@@@ END IF @^@@@@ UNTIL J=SCRT[011]:H1 @#@@@@KS )@@G@@ WRITE TOTAL N @E@@@@TOTAL: FORMAT R,C10,'----------',*,'TOTAL: ',C10KT )@@G@@,D10,*,* @^@@@@ IF OPTS:H=0 RETURN @ @@@@ IF OPTS:H=0 OR K=0 RETUKU )@@G@@RN @G@@@@ WRITE = R,*,'THE FOLLOWING SHOWS THE ABOVE RESULTS HISTOGRAKV )@@G@@MED BY' @ @@@@ WRITE = ' RECORD CODE',*,* @A@@@@ HISTOGRAM KW )@@G@@ USING _@@@@@RN @G@@@@ WRITE = R,*,'THE FOLLOWING SHOWS THKX )@@G@@E ABOVE RESULTS HISTOGRAMED BY' @ @@@@ WRITE*[S@@@*SDFF*@B@@@@RECCODKY )@@G@@: FORMAT C12,'RECORD CODE IS ',D,* @C@@@@INTERV: FORMAT C12,'INTERVAL IKZ )@@G@@S ',D,' PAGES',* @C@@@@MANPTR: FORMAT C12,'RESERVE ',D,' POINTERS',* LA )@@G@@@A@@@@LEVEL: FORMAT C(COL(LVL)),Z2,' ' @^@@@@PICSUB: FORMAT '(',D,')'LB )@@G@@@J@@@@BITS: FORMAT C7,'*',C(COL(LVL)+4),'START WD: ',O,', BIT: ',D,', LELC )@@G@@NGTH: ',D,' BITS',* @B@@@@OCC: FORMAT C(COL(LVL)+4),'OCCURS ',D LD )@@G@@@C@@@@OCC2: FORMAT ' TO ',D,' TIMES DEPENDING ON ' @B@@@@USETBL: FORMLE )@@G@@AT *,C40,'USE TABLE-',D,* @#@@@@F1: FORMAT F1 @]@@@@F: FORMAT F6LF )@@G@@@#@@@@FB: FORMAT F(B) @#@@@@BF: FORMAT F6 @]@@@@A: FORMAT A4@#@@@@LG )@@G@@AB: FORMAT A(B) @#@@@@BA: FORMAT A4 @]@@@@Z: FORMAT Z @#@@@@ZB: FOLH )@@G@@RMAT Z(B) @]@@@@D: FORMAT D %#@@@@-20,20 . CDM156 @B@@[@ DIM REC$(10LI )@@G@@),COL(49),PGDATA(3),TEMP(3) %@@@@[@[[@@@ @ @D@@@@ IF OPTS:A THEN LJ )@@G@@ @ ALL RECORDS WANTED @ @@@@ LET NUM$RECS = SCRT[011]:H1 LK )@@G@@@]@@@@ RECORD #0 @^@@@@ LET REC$(1) = '+1 ' @[@@@@ ELSE @#@@@@ LET NLL )@@G@@UM$RECS = 1 @#@@@@ PARAMETER @]@@@@ END IF @[@@@@ @ @A@@@@LM )@@G@@ REPEAT NUM$RECS = NUM$RECS, -1 @^@@@@ LET PGDATA(1) = ACODE @#@@@@LN )@@G@@ IF ACODE<>0 THEN @E@@@@ IF AREAP LET PGDATA(1) = -ACODE @ MAKE NEG IF ALO )@@G@@REA,P DONE @]@@@@ END IF @^@@@@ LET PGDATA(2) = PGNUM @F@@@@ IF TALP )@@G@@BLE(1)='PAGE ' OR TABLE(1)='PG ' AND TABLE(2)=0 THEN @#@@@@ LET PLQ )@@G@@GDATA(3) = $@]@@@@ END IF @[@@@@ @ @ @@@@ IF OPTS:V AND PGNUM<>-1LR )@@G@@ THEN @#@@@@ LET V$OPT = 1 @^@@@@ PARAMETER PGDATA(3):$ @^@@@@ IF PGLS )@@G@@DATA(3)<>$ THEN @[@@@@ ON B @#@@@@ PGDATA(3) PAGE @[@@@@ OFF B@]@@@@LT )@@G@@ END IF @]@@@@ ERROR NOREC@^@@@@ RECORD PAGE[$]:NT1 @[@@@@ ERRORLU )@@G@@@B@@@@ DIM EXP( RDT[1]:H1 + RDT[5]:H2), TIDT(4) @^@@@@ IF RDT[2]:S2 > 0 LV )@@G@@THEN @^@@@@ DIM DO$LIST( RDT[2]:S2)@E@@@@ LET = EXPAND$REC , @^@@@@ ELSE @ NO ODO ITEMS @B@@@@ LET = @]@@@@ END IF @[@@@@ ELSE @#@@@@LY )@@G@@ LET V$OPT = 0 @ @@@@ IF OPTS:A=0 PARAMETER @ @@@@ IF REC$(1)' ' THEN @]@@@@ ERROR NOREC@#@@@@ RECORD @[@@@@ ERRORMA )@@G@@@^@@@@ ELSE IF RSEQ=0 THEN @C@@@@ WRITE = ' NO RECORD IS CURMB )@@G@@RENT',* @]@@@@ RETURN @]@@@@ END IF @]@@@@ END IF @[@@@@MC )@@G@@ @ @#@@@@ LET DO$LIST^ = 0 @F@@@@ LET REC$FLAGS = RDT[012]:H1 MD )@@G@@ @ REC FEATURE FLAGS @F@@@@ LET REC$ADDM = RDT[012]:H2 ME )@@G@@ @ REC FEATURE ADDENDUM @[@@@@ @ @#@@@@ ERROR ERREXT @[@@@@MF )@@G@@ @ @ @@@@ WRITE = C8,'RECORD NAME IS ' @]@@@@ DDL-SUB,R @]@@@@ WRITEMG )@@G@@ * @^@@@@ WRITE RECCOD RCODE @[@@@@ @ @A@@@@ WRITE = C12,'LOCAMH )@@G@@TION MODE IS ' @E@@@@ LET LOCMODE = RDT[2]:S1 @ LOCAMI )@@G@@TION MODE @D@@@@ IF LOCMODE = 1 THEN @ DIRECT MJ )@@G@@@#@@@@ WRITE = 'DIRECT '@^@@@@ DDL-SUB,N RDT[4]:H2 @#@@@@ WRITE = ', MK )@@G@@' @^@@@@ DDL-SUB,N RDT[4]:H1 @]@@@@ WRITE * @C@@@@ ELSE IF LOCML )@@G@@MODE=2 OR LOCMODE=3 THEN @ CALC@#@@@@ WRITE = 'CALC ' @F@@@@ LET DMM )@@G@@BP$ADDM = RDT[4]:H2 @ PTR TO DBP ADDENDUM @A@@@@ LET DMN )@@G@@BPTYPE = RDT [DBP$ADDM]:S3 @D@@@@ IF DBPTYPE = 010 THEN MO )@@G@@ @ DMSCALC @#@@@@ WRITE = 'DMSCALC'@D@@@@ ELSE IF DBPTYPE = 011 TMP )@@G@@HEN @ RANDENTIAL @^@@@@ WRITE = 'RANDENTIAL' @D@@@@ ELSE MQ )@@G@@ @ USER CALC @ @@@@ DDL-SUB,D RDT[DBPMR )@@G@@$ADDM]:H2 @]@@@@ END IF @#@@@@ WRITE *,C16,'IN '@^@@@@ DDL-SUB,N MS )@@G@@RDT[4]:H1 @^@@@@ WRITE = *,C16,'USING ' @#@@@@ LET IDT^ = 014 @E@@@@MT )@@G@@ REPEAT KEY# = RDT[010]:S6, -1 @ LOOP THRU ALL KEYS@]@@@@ WRITEMU )@@G@@ = C22@E@@@@ DDL-SUB,I RDT[IDT^+1]:H1 @ PRINT ITEM NAME MV )@@G@@@]@@@@ WRITE * @E@@@@ LET IDT^ = IDT^ + 3 @ MOVE TMW )@@G@@O NEXT ENTRY@#@@@@ UNTIL KEY# = 1 @ @@@@ WRITE = C16,'DUPLICATES ARE 'MX )@@G@@@ @@@@ IF LOCMODE=3 WRITE = 'NOT ' @^@@@@ WRITE = 'ALLOWED',* @D@@@@MY )@@G@@ ELSE IF LOCMODE = 4 THEN @ VIA SET @#@@@@ WRITE = 'VIMZ )@@G@@A ' @C@@@@ DDL-SUB,S RDT[4]:H2 @ PRIME PATH SET CODE @#@@@@ WRITENA )@@G@@ = ' SET',* @E@@@@ IF RDT[2]:XH2<>0 AND RDT[2]:XH2<>-0 WRITE INTERV RDT[NB )@@G@@2]:H2 @C@@@@ ELSE IF LOCMODE = 5 THEN @ I/S @ @@@@ WRITENC )@@G@@ = 'INDEX SEQUENTIAL',* @E@@@@ IF RDT[4]:H2 = 0 THEN @ ND )@@G@@MULTI-AREA I/S @#@@@@ WRITE = C16,'IN '@^@@@@ DDL-SUB,N RDT[7]:H2 NE )@@G@@@]@@@@ WRITE * @]@@@@ END IF @^@@@@ WRITE = C16,'USING ' @E@@@@NF )@@G@@ LET ISBITS = RDT[4]:S2 @ I/S FLAG BITS @^@@@@ IF ISNG )@@G@@BITS**040 = 0 THEN@^@@@@ WRITE = 'ASCENDING ' @[@@@@ ELSE @^@@@@ WRITENH )@@G@@ = 'DESCENDING ' @]@@@@ END IF @A@@@@ IF ISBITS**010 WRITE = 'RANGENI )@@G@@ ' @#@@@@ WRITE = 'KEY',* @#@@@@ LET IDT^ = 014 @E@@@@ REPEAT KEY#NJ )@@G@@ = RDT[010]:S6, -1 @ LOOP THRU ALL KEYS@]@@@@ WRITE = C22@ @@@@NK )@@G@@ DDL-SUB,I RDT[IDT^+1]:H1 @]@@@@ WRITE * @E@@@@ LET IDT^=IDT^+3 NL )@@G@@ @ MOVE TO NEXT ENTRY@#@@@@ UNTIL KEY# = 1 @E@@@@NM )@@G@@ IF RDT[4]:H2 <> 0 THEN @ SINGLE-AREA I/S @ @@@@ WRITENN )@@G@@ = C16,'INDEX AREA IS ' @^@@@@ DDL-SUB,A RDT[4]:H2 @]@@@@ WRITE * NO )@@G@@@]@@@@ END IF @E@@@@ LET LINKS = RDT[010]:S4 @ TYPE ONP )@@G@@F LINKS @D@@@@ IF LINKS<>0 THEN @ HAS LINKS NQ )@@G@@@ @@@@ WRITE = C16,'LINKS ARE NEXT' @A@@@@ IF LINKS=2 WRITE = ' AND PRIONR )@@G@@R' @]@@@@ WRITE * @]@@@@ END IF @ @@@@ WRITE = C16,'DUPLICATESNS )@@G@@ ARE '@ @@@@ IF ISBITS**020 WRITE = 'NOT '@^@@@@ WRITE = 'ALLOWED',* NT )@@G@@@E@@@@ IF RDT[2]:XH2<>0 AND RDT[2]:XH2<>-0 WRITE INTERV RDT[2]:H2 @]@@@@NU )@@G@@ END IF @[@@@@ @ @E@@@@ IF RDT[3]:H2 <> 0 THEN NV )@@G@@@ WITHIN'S EXIST @^@@@@ WRITE = C12,'WITHIN ' @E@@@@ REPEAT AWE = RDT[NW )@@G@@3]:H2, RDT[AWE]:S1 @ LOOP THRU AWE'S @]@@@@ WRITE = C19@^@@@@ DDL-SNX )@@G@@UB,A RDT[AWE]:H2 @D@@@@ IF RDT[AWE]:S2 <> 0 THEN @ RANGE EXNY )@@G@@ISTS @]@@@@ WRITE = ' '@C@@@@ IF RDT[AWE]:S2 = 1 THEN @ LITENZ )@@G@@RAL @^@@@@ WRITE D RDT[AWE+1]:H1 @C@@@@ ELSE OA )@@G@@ @ DATA NAME @ @@@@ DDL-SUB,N RDT[AWE+1]:H1 @]@@@@ END IF OB )@@G@@@#@@@@ WRITE = ' THRU ' @C@@@@ IF RDT[AWE]:S3 = 1 THEN @ LITEOC )@@G@@RAL @^@@@@ WRITE D RDT[AWE+1]:H2 @C@@@@ ELSE OD )@@G@@ @ DATA NAME @ @@@@ DDL-SUB,N RDT[AWE+1]:H2 @]@@@@ END IF OE )@@G@@@]@@@@ END IF @]@@@@ WRITE * @D@@@@ IF LOCMODE=5 AND RDT[4]:H2 = OF )@@G@@0 THEN @ MULTI-AREA I/S@ @@@@ WRITE = C16,'INDEX AREA IS ' @^@@@@ DDL-SOG )@@G@@UB,A RDT[AWE+2]:H1@]@@@@ WRITE * @E@@@@ IF RDT[AWE]:S1 <> 0 WRITE = COH )@@G@@12,'WITHIN ' @ MORE TO DO @]@@@@ END IF @^@@@@ UNTIL RDT[AWE]:S1OI )@@G@@=0 @]@@@@ END IF @[@@@@ @ @F@@@@ IF RDT[010]:S5>0 WRITE MANPTROJ )@@G@@ RDT[010]:S5 @ RESERVED MANUAL PTRS @[@@@@ @ @ @@@@ WRITE = C12,'RECOOK )@@G@@RD MODE IS '@D@@@@ IF REC$FLAGS**04000 THEN @ FD COBOL OL )@@G@@@^@@@@ WRITE = 'FIELDATA' @D@@@@ ELSE OM )@@G@@ @ ASCII @#@@@@ WRITE = 'ASCII' @]@@@@ END IF @^@@@@ WRITEON )@@G@@ = ' COBOL',* @[@@@@ @ @E@@@@ IF REC$FLAGS**020 THEN OO )@@G@@ @ CHECK EXISTS @^@@@@ WRITE = C12,'CHECK IS '@E@@@@ IF REC$FLAGOP )@@G@@S**040 THEN @ CHECK IS PICTURE @#@@@@ WRITE = 'PICTURE'OQ )@@G@@@[@@@@ ELSE @F@@@@ LET CHK$ENT = REC$ADDM + RDT[REC$ADDM]:H2 @ PTR TO CHOR )@@G@@ECK ADDENDUM@D@@@@ IF RDT [CHK$ENT]:S3 = 0 THEN @ CHK BY DBP OS )@@G@@@^@@@@ WRITE = 'PROCEDURE ' @ @@@@ DDL-SUB,D RDT[CHK$ENT]:H2 @D@@@@OT )@@G@@ ELSE IF RDT [CHK$ENT]:S3 = 1 @ BY DATA TYPE @^@@@@ WRITE = 'DAOU )@@G@@TA-TYPE' @]@@@@ END IF @]@@@@ END IF @]@@@@ WRITE * @]@@@@OV )@@G@@ END IF @[@@@@ @ @F@@@@ IF REC$FLAGS**0400 THEN OW )@@G@@@ ENCODE/DECODE EXISTS @F@@@@ LET ENC$ENT = REC$ADDM + RDT [REC$ADDM+3]OX )@@G@@:H1 @ PTR TO ENCODE ADDM@A@@@@ WRITE = C12,'FOR ENCODING CALL ' @ @@@@OY )@@G@@ DDL-SUB,D RDT[ENC$ENT]:H2 @]@@@@ WRITE * @F@@@@ LET DEC$ENT = RECOZ )@@G@@$ADDM + RDT [REC$ADDM+3]:H2 @ PTR TO DECODE ADDM@A@@@@ WRITE = C12,'FOR PA )@@G@@DECODING CALL ' @ @@@@ DDL-SUB,D RDT[DEC$ENT]:H2 @]@@@@ WRITE * PB )@@G@@@]@@@@ END IF @[@@@@ @ @F@@@@ IF REC$FLAGS**010 THEN PC )@@G@@ @ ACCESS CONTROL EXISTS @F@@@@ LET AC$ENT = REC$ADDM + RDT [REC$ADPD )@@G@@DM+1]:H2 @ ACCESS CTRL ADDM @A@@@@ REPEAT AC# = RDT [AC$ENT]:H2, -1 PE )@@G@@@D@@@@ LET AC$SUB = AC$ENT + 2 @ A/C SUB-ENTRY @A@@@@ WRITEPF )@@G@@ = C12,'ACCESS CONTROL LOCK ' @D@@@@ LET AC$BITS = RDT [AC$ENT]:XH1 PG )@@G@@ @ A/C FLAG BITS @E@@@@ IF AC$BITS <> -0 THEN @ "FOR ...PH )@@G@@" SPEC'D @#@@@@ WRITE = 'FOR ' @B@@@@ IF AC$BITS ** 01 WRITE = 'PI )@@G@@INSERT ' @B@@@@ IF AC$BITS ** 02 WRITE = 'REMOVE ' @B@@@@ IF ACPJ )@@G@@$BITS ** 04 WRITE = 'STORE ' @B@@@@ IF AC$BITS ** 010 WRITE = 'PK )@@G@@DELETE ' @B@@@@ IF AC$BITS ** 020 WRITE = 'MODIFY ' @A@@@@ IF ACPL )@@G@@$BITS ** 040 WRITE = 'FIND '@A@@@@ IF AC$BITS ** 0100 WRITE = 'GET ' PM )@@G@@@A@@@@ IF AC$BITS ** 0200 WRITE = 'KEEP '@B@@@@ IF AC$BITS ** 0400 WRIPN )@@G@@TE = 'FETCH ' @]@@@@ END IF @ @@@@ IF CHARSW > 55 WRITE = *,C18 PO )@@G@@@#@@@@ WRITE = 'IS ' @C@@@@ IF RDT [AC$SUB]:S3 = 5 THEN @ LIPP )@@G@@TERAL @#@@@@ WRITE = '''' @D@@@@ LET B=3 PQ )@@G@@@ # WDS IN LITERAL@D@@@@ WRITE BA @ PRINT LITEPR )@@G@@RAL @#@@@@ WRITE = '''' @C@@@@ ELSE IF RDT [AC$SUB]:S3 = 0 THEN PS )@@G@@ @ BY DBP @^@@@@ WRITE = 'PROCEDURE ' @ @@@@ DDL-SUB,D RDT[AC$SUB]:HPT )@@G@@2 @]@@@@ END IF @]@@@@ WRITE * @[@@@@ @ @D@@@@ IF RDT [AC$PU )@@G@@ENT+1]:H2 <> 0 THEN @ A/C KEY SPEC'D@B@@@@ WRITE = C12,'ACCESS CONPV )@@G@@TROL KEY IS ' @ @@@@ DDL-SUB,N RDT [AC$ENT+1]:H2 @]@@@@ WRITE * PW )@@G@@@]@@@@ END IF @[@@@@ @ @E@@@@ LET AC$ENT = AC$ENT + RDT [AC$ENT+1PX )@@G@@]:H1 @ NEXT AC ENTRY @#@@@@ UNTIL AC# = 1 @]@@@@ END IF @[@@@@PY )@@G@@ @ @ @@@@ @ BEGIN ITEM LISTING @[@@@@ @ @F@@@@ PWORD J1 5,PZ )@@G@@3 @ 1ST 1/2 OF SIXTH-WD @#@@@@ LET

=AQA )@@G@@LL(0) @F@@@@ LET COL(1)=8 @ COLUMN FOR 01-LEQB )@@G@@VEL @[@@@@ @ @E@@@@ LET ITEM# = IDT [2]:H2 -1 @ # ITEMS -1 (0QC )@@G@@1-LEVEL) @D@@@@ LET IDT^ = 7 @ SKIP HDR & 01-LEVELQD )@@G@@@E@@@@ IF ITEM# = 0 THEN @ NO ITEMS DEFINED@E@@@@QE )@@G@@ LET ITEM# = 1 @ JUST DO 01-LEVEL @D@@@@ LET IQF )@@G@@DT^ = 3 @ PT TO 01-LEVEL IDT @^@@@@ ELSE IF OPTS:S THQG )@@G@@EN @B@@@@ GOTO EXIT @ GET OUT HERE IF S-OPTION @]@@@@ END IF QH )@@G@@@[@@@@ @ @F@@@@ WHILE ITEM# > 0 DO @ LOOP THRU QI )@@G@@ALL ITEMS @E@@@@ LET ADDM = IDT^ + IDT [IDT^+3]:H1 @ ITEM ADDM ADDQJ )@@G@@RESS @[@@@@ @ @D@@@@ LET LVL = IDT [IDT^]:S1 @ LEVEL QK )@@G@@# @G@@@@ IF COL(LVL)=0 THEN @ HAVEN'T HIT THIS LQL )@@G@@EVEL YET @G@@@@ REPEAT Y = LVL-1, -1 @ FIND HIGHER LEQM )@@G@@VEL THAT'S DONE @#@@@@ UNTIL COL(Y)<>0 @G@@@@ LET COL(LVL)=COL(Y)+4 QN )@@G@@ @ MAKE NEW LEVEL 4 PAST LAST DONE @F@@@@ LET =ALL(0) @ ZERO ALL LOWER LEVELS @]@@@@ END IF @E@@@@QP )@@G@@ IF LVL=1 THEN @ DOING 01-LEVEL @E@@@@ LET XQQ )@@G@@=12 @ PIC GOES IN COL 12 @[@@@@ ELSE @#@@@@QR )@@G@@ WRITE LEVEL LVL @E@@@@ DDL-SUB,I IDT[IDT^+1]:H1 @ PRINT ITQS )@@G@@EM NAME @[@@@@ @ @G@@@@ LET X=36 @ ASQT )@@G@@SUME 'PIC' GOES IN COL 36 @ @@@@ IF CHARSW>=35 LET X=CHARSW+2 @]@@@@QU )@@G@@ END IF @[@@@@ @ @B@@@@ LET GROUP? = 0 @ ASSUME ELEMENTARY ITEM QV )@@G@@@C@@@@ IF ITEM# <> 1 THEN @ FINAL ITEM MUST BE ELEM @G@@@@ IF LVL < IDQW )@@G@@T [IDT^ + 4]:S1 LET GROUP? = 1 @ THIS LEVEL < NEXT ITEM @]@@@@ END IQX )@@G@@F @[@@@@ @ @C@@@@ LET PRINTPIC? = 1 @ ASSUME WE'LL PRINT PIC QY )@@G@@@#@@@@ IF GROUP? THEN @B@@@@ IF OPTS:G THEN @ ONLY DO GROUPS IF G-OPT QZ )@@G@@@B@@@@ WRITE = *,C7,'*' @ BUT COMMENT THE PIC @#@@@@ ELSE @ NO G-OPT RA )@@G@@@B@@@@ LET PRINTPIC? = 0 @ SO DON'T PRINT IT @]@@@@ END IF @]@@@@RB )@@G@@ END IF @[@@@@ @ @A@@@@ IF PRINTPIC? WRITE = C(X),'PIC ' @ @@@@RC )@@G@@ LET TYPE$D1 = IDT [IDT^]:S2 @F@@@@ LET TYPE$D2 = TYPE$D1 ** 7 RD )@@G@@ @ SECOND DIGIT OF TYPE @E@@@@ LET TYPE$D1 = TYPE$D1:J1 RE )@@G@@ @ 1ST DIGIT OF TYPE @E@@@@ LET PIC = '9' @ RF )@@G@@ASSUME NUMERIC @D@@@@ IF TYPE$D1=2 OR TYPE$D1=6 THEN @ DISPLARG )@@G@@Y @C@@@@ IF TYPE$D2 = 0 THEN @ PIC A @#@@@@ LET PRH )@@G@@IC = 'A' @C@@@@ ELSE IF TYPE$D2 = 1 THEN @ PIC X @#@@@@RI )@@G@@ LET PIC = 'X' @]@@@@ END IF @]@@@@ END IF @D@@@@ IF PIC = '9RJ )@@G@@' THEN @ NUMERIC @C@@@@ IF TYPE$D1=0 OR TYPE$D1RK )@@G@@=4 THEN @ BINARY @C@@@@ IF TYPE$D2=1 OR TYPE$D2>=4 WRITE = 'S' @ RL )@@G@@SIGNED@C@@@@ ELSE @ DISPLAY @C@@@@ IF TYRM )@@G@@PE$D2=3 OR TYPE$D2=5 WRITE = 'S' @ SIGNED @]@@@@ END IF @]@@@@ END IRN )@@G@@F @[@@@@ @ @G@@@@ LET BITS$PER$CHR = 9 @ ASSUMERO )@@G@@ ASCII: 9 BITS/CHAR @F@@@@ IF TYPE$D1=4 OR TYPE$D1=6 LET BITS$PER$CHRP )@@G@@R=6 @ FD: 6 BITS/CHAR @E@@@@ LET RDIGITS=0 @ RQ )@@G@@ASSUME UNSCALED @D@@@@ IF PIC = '9' THEN @ NUMERIRR )@@G@@C @G@@@@ LET LDIGITS = IDT [IDT^+2]:S2 @ ASSUME ALL DIGITS TORS )@@G@@ LEFT OF "V"@C@@@@ IF IDT [IDT^+2]:S3 <> 0 THEN @ SCALED @E@@@@RT )@@G@@ LET RDIGITS = IDT [IDT^+2]:S3 @ # DIGITS TO RT OF "V" @G@@@@ LET LRU )@@G@@DIGITS = LDIGITS - RDIGITS @ ACTUAL # DIGITS TO LEFT OF "V" @]@@@@RV )@@G@@ END IF @D@@@@ ELSE @ NON-NUMERIC RW )@@G@@@F@@@@ LET LDIGITS = IDT [IDT^+1]:H2 / BITS$PER$CHR @ #BITS -> #CHARS RX )@@G@@@]@@@@ END IF @[@@@@ @ @#@@@@ IF PRINTPIC? THEN@[@@@@ @ @D@@@@RY )@@G@@ IF PIC='9' AND LDIGITS=0 THEN @ NO DIGITS MEANS PIC 1@B@@@@ LET PIC='1'RZ )@@G@@ @ FIX FOR THE TIME BEING @B@@@@ LET LDIGITS = IDT [IDT^+1]:H2 @ # BSA )@@G@@ITS @]@@@@ END IF @[@@@@ @ @#@@@@ WRITE F1 PIC @^@@@@ @ IFSB )@@G@@ LDIGITS=2 THEN @#@@@@ @ WRITE F1 PIC @ @@@@ @ ELSE IF LDIGITS >= 3SC )@@G@@ THEN @^@@@@ WRITE PICSUB LDIGITS @]@@@@ @ END IF @F@@@@ IF RDIGITS SD )@@G@@<> 0 THEN @ ... V9(?) IF SCALED @#@@@@ WRITE = 'V9SE )@@G@@' @^@@@@ @ IF RDIGITS=2 THEN @#@@@@ @ WRITE = '9' @ @@@@ @ ELSF )@@G@@SE IF RDIGITS >= 3 THEN @^@@@@ WRITE PICSUB RDIGITS @]@@@@ @ END IF SG )@@G@@@]@@@@ END IF @]@@@@ END IF @[@@@@ @ @B@@@@ IF PIC <> '1' THESH )@@G@@N @ NO USAGE FOR PIC 1 @G@@@@ LET X=51 @ SI )@@G@@ASSUME 'USAGE' GOES IN COL 51 @ @@@@ IF CHARSW>=50 LET X=CHARSW+2 @F@@@@SJ )@@G@@ IF RDT[012]:H1 ** 04000 = 0 THEN @ RECORD MODE IS ASCII @F@@@@SK )@@G@@ IF TYPE$D1 <> 2 THEN @ OTHER THAN ASCII DISPLAY @^@@@@SL )@@G@@ @ IF GROUP? WRITE * @^@@@@ WRITE = C(X),'USAGE ' @D@@@@ IF IDT [IDTSM )@@G@@^]:S2 = 05 THEN @ 1-WD FLOATING PT@#@@@@ WRITE = 'COMP-1' @D@@@@SN )@@G@@ ELSE IF IDT [IDT^]:S2 = 06 THEN @ 2-WD FLOATING PT@#@@@@ WRITE = 'COSO )@@G@@MP-2' @C@@@@ ELSE IF TYPE$D1 = 0 THEN @ ASCII COMP@#@@@@ WRITESP )@@G@@ = 'COMP' @C@@@@ ELSE IF TYPE$D1 = 4 THEN @ FD COMP @#@@@@SQ )@@G@@ WRITE = 'COMP-4' @C@@@@ ELSE IF TYPE$D1 = 6 THEN @ FD DISPLAYSR )@@G@@@#@@@@ WRITE = 'DISP-1' @]@@@@ END IF @]@@@@ END IF @E@@@@ ELSE SS )@@G@@ @ RECORD MODE IS FD @#@@@@ IF GROUP? WST )@@G@@RITE *@D@@@@ IF TYPE$D1 = 4 WRITE = C(X),' USAGE COMP' @ FD COMP @]@@@@SU )@@G@@ END IF @ @@@@ ELSE @ FIX UP PIC 1 AGAIN @A@@@@ LET PIC='9' @ SHOSV )@@G@@W IT AS NUMERIC @C@@@@ LET LDIGITS=0 @ LET SYSTEM FIGURE # DIGITS SW )@@G@@@]@@@@ END IF @]@@@@ WRITE * @[@@@@ @ @F@@@@ IF OPTS:B WRITE BSX )@@G@@ITS IDT[IDT^]:H2, IDT[IDT^]:S3, IDT[IDT^+1]:H2 @[@@@@ @ @[@@@@ @ SY )@@G@@@E@@@@ IF IDT [IDT^+2]:H2 ** 01000 THEN @ OCCURS CLAUSE @F@@@@SZ )@@G@@ LET OCC$ADDM = IDT^ + IDT [IDT^+3]:H2 @ PT TO OCCURS ADDENDUM@E@@@@TA )@@G@@ LET Y = IDT [OCC$ADDM]:S3 @ # OF DIMENSIONS @F@@@@ IF IDTB )@@G@@T [OCC$ADDM]:H2 = 0 THEN @ NOT "DEPENDING ON" @D@@@@ LET OTC )@@G@@CCURS = IDT [OCC$ADDM+Y]:H2 @ # OCCURRENCES @#@@@@ WRITE OCC OCCURS TD )@@G@@@^@@@@ WRITE = ' TIMES',* @E@@@@ LET BITSIN1OCC = IDT [IDT^ + 1]:H2 TE )@@G@@@ # BITS IN 1 OCCUR @D@@@@ ELSE @ "DTF )@@G@@EPENDING ON"@ @@@@ WRITE OCC IDT [OCC$ADDM+Y]:H1@F@@@@ WRITE OCC2 IDT [OTG )@@G@@CC$ADDM+Y]:H2, IDT [IDT [OCC$ADDM]:H2+1]:H1 @B@@@@ DDL-SUB,I IDT [IDTH )@@G@@T [OCC$ADDM]:H2+1]:H1 @]@@@@ WRITE * @[@@@@ @ @#@@@@ IF V$OPT THTI )@@G@@EN @ @@@@ LET DO$LIST^ = DO$LIST^ + 1 @D@@@@ LET OCCURS = DO$LIST (DTJ )@@G@@O$LIST^):H2 @ # OCCURRENCES @E@@@@ LET BITSIN1OCC = DO$LIST (DO$LIST^)TK )@@G@@:H1 @ # BITS IN 1 OCCUR @]@@@@ END IF @]@@@@ END IF @F@@@@ ELSE TL )@@G@@IF IDT [IDT^+2]:H2 ** 02000 THEN @ ELEMENTARY OCCURS ITEM @C@@@@ @ "OCTM )@@G@@CURS" VALUE IS GOTTEN FROM LAST GROUP ITEM@F@@@@ @ SAME FOR "BITSIN1OCC"TN )@@G@@ VALUE, WHICH IS # BITS TO NEXT OCCURRENCE@^@@@@ ELSE @ NOT "OCCURS" TO )@@G@@@C@@@@ LET OCCURS = -1 @ PRINT JUST SINGLE OCCURRENCE @]@@@@ END IF TP )@@G@@@[@@@@ @ @#@@@@ IF V$OPT THEN @C@@@@ IF OCCURS < 0 THEN @ PRINT SITQ )@@G@@NGLE OCCURRENCE @A@@@@ WRITE = C(COL(LVL)+4),'VALUE ' @B@@@@ EXTRATR )@@G@@CTITEM,PC , @C@@@@ ELSE IF OCCURS > 0 THEN @ PRITS )@@G@@NT MULTIPLE VALUES@F@@@@ LET = @ COPY IDT ENTTT )@@G@@RY TO TEMP IDT @C@@@@ REPEAT X = 1, 1 @ LOOP THRU ALL OCCURRENCES TU )@@G@@@A@@@@ WRITE = C(COL(LVL)+4),'VALUE(' @]@@@@ WRITE D X @#@@@@ WRITETV )@@G@@ = '): ' @ @@@@ EXTRACTITEM,PC , @B@@@@ LET Y = 35 - TIDTTW )@@G@@(1):S3 + BITSIN1OCC @F@@@@ LET TIDT(1):H2 = TIDT(1):H2 + Y / 36 @ COTX )@@G@@MPUTE WD OF NEXT OCC @F@@@@ LET TIDT(1):S3 = 35 - Y \ 36 @ COMPUTE STTY )@@G@@ART BIT OF NEXT OCC @#@@@@ UNTIL X = OCCURS @]@@@@ END IF @]@@@@TZ )@@G@@ END IF @[@@@@ @ @D@@@@ IF IDT [IDT^+2]:H2 ** 020 THEN @ UA )@@G@@CHECK EXISTS@^@@@@ WRITE = C36,'CHECK IS '@E@@@@ REPEAT CHK$ENT = ADDM +UB )@@G@@ IDT [ADDM]:H1, IDT [CHK$ENT]:S1 @E@@@@ IF IDT [CHK$ENT]:S3=1 THEN UC )@@G@@ @ CHECK IS DATA-TYPE @^@@@@ WRITE = 'DATA-TYPE',* @D@@@@ ELSE UD )@@G@@IF IDT [CHK$ENT]:S3=2 THEN @ CHECK IS VALUE @^@@@@ WRITE = C45,'VALUUE )@@G@@E ' @F@@@@ LET CHK$SUB = CHK$ENT + IDT [CHK$ENT]:H2 @ SUB-ENTRY ADDRESUF )@@G@@S @[@@@@ @ @E@@@@ REPEAT CHK$TOC = RFT [2]:H2, 1 @ FIND ITEM CODEUG )@@G@@ IN TOC @B@@@@ UNTIL RFT [CHK$TOC]:H1 = IDT [IDT^+1]:H1 @D@@@@ LET CUH )@@G@@HK$POOL = RFT [CHK$TOC]:H2 @ POOL START ADDRESS @[@@@@ @ @D@@@@ LET FUI )@@G@@LAG=0 @ CLEAR "THRU" FLAG @C@@@@ REPEAT CHK$SUB = UJ )@@G@@CHK$SUB, IDT [CHK$SUB]:S1 @C@@@@ REPEAT CHK$SUB = CHK$SUB, IDT [CHK$UK )@@G@@SUB]:S2 @^@@@@ IF FLAG=0 WRITE = C51 @B@@@@ IF IDT [CHK$SUB]:S3=2 TUL )@@G@@HEN @ 'NOT' @#@@@@ WRITE = 'NOT ' @B@@@@ ELSE IF IDT [CHK$SUB]:SUM )@@G@@3=3 THEN @ < OR = @B@@@@ IF FLAG=1 THEN @ ... THRU ...@^@@@@UN )@@G@@ WRITE = C45,' THRU ' @B@@@@ LET FLAG=0 @ RESET FLAG UO )@@G@@@[@@@@ ELSE @#@@@@ WRITE = 'MAX ' @]@@@@ END IF @B@@@@ ELSE IF IDTUP )@@G@@ [CHK$SUB]:S3=4 THEN @ > OR = @D@@@@ IF IDT [CHK$ENT+1]:S1>0 AND IDT [CHUQ )@@G@@K$SUB+1]:S3=3 THEN@C@@@@ LET FLAG=1 @ SET "THRU" FLAG UR )@@G@@@[@@@@ ELSE @#@@@@ WRITE = 'MIN ' @]@@@@ END IF @]@@@@ END IF US )@@G@@@[@@@@ @ @G@@@@ LET CHK$LIT = CHK$POOL + IDT [CHK$SUB]:H2 @ POINT TO UT )@@G@@LITERAL START @[@@@@ @ @C@@@@ IF TYPE$D1=0 OR TYPE$D1=4 THEN @ COUU )@@G@@MP ITEM @D@@@@ LET B = LDIGITS @ # DIGITS IN LITERAL UV )@@G@@%^@@@@-486 . CDM156 L @D@@[@ IF IDT [IDT^+1]:H2>36 THEN @ # BITSUW )@@G@@ IN LITERAL >36 @I@@[@ LET =DSL RFT[CHK$LIT],RFT[CHK$LIT+1],72-UX )@@G@@IDT[IDT^+1]:H2 @ NORMALIZE VALUE @B@@[@ LET =BIN2FD @ CUY )@@G@@ONVERT TO FD@#@@[@ REPEAT B=B,-1 @ @@[@ WRITE F1 [TEMP:19-B,6] UZ )@@G@@@]@@[@ UNTIL B=1 @]@@[@ WRITE * @#@@[@ ELSE @ SIZE OK @D@@@@ PWORDVA )@@G@@ J8 35, IDT [IDT^+1]:H2 @ # BITS IN LITERAL @ @@@@ WRITE ZB RFT [CHKVB )@@G@@$LIT]:J8 %#@@@@-488 . CDM156 @]@@[@ END IF @C@@@@ ELSE VC )@@G@@ @ DISPLAY ITEM @C@@@@ LET WDS = LDIGITS / BITS$PER$VD )@@G@@CHR @ # WHOLE WDS @D@@@@ LET B = LDIGITS \ BITS$PER$CHR @ # CHARS REMAINVE )@@G@@ING @#@@@@ LET X = WDS - 1 @E@@@@ IF B>0 LET X=X+1 @ TOTAL VF )@@G@@# WDS IN LITERAL -1 @E@@@@ LET FLAG1=0 @ CLEAR "NON-NVG )@@G@@ULL LITERAL" FLAG @#@@@@ REPEAT Y=0,1 @E@@@@ IF RFT [CHK$LIT+Y]<>0 LVH )@@G@@ET FLAG1=1 @ SET FLAG IF NON-NULL @^@@@@ UNTIL Y=X OR FLAG1=1 @#@@@@VI )@@G@@ IF FLAG1=0 THEN @#@@@@ WRITE = 'NULL' @B@@@@ ELSE VJ )@@G@@ @ NON-NULL LIT@C@@@@ IF PIC <> '9' WRITE = '''' @ SKIP IF NUMERIC VK )@@G@@@A@@@@ IF TYPE$D1 = 2 THEN @ ASCII @C@@@@ IF WDS>0 WRITE A @#@@@@ IF B<>0 THEN @#@@@@ PWORD J8 35,9*B VM )@@G@@@ @@@@ WRITE AB RFT [CHK$LIT+WDS]:J8@]@@@@ END IF @A@@@@ ELSE VN )@@G@@ @ FIELDATA@C@@@@ IF WDS>0 WRITE F @#@@@@ IF B<>0 THEN @#@@@@ PWORD J8 35,6*B @ @@@@ WRITE FB RFVP )@@G@@T [CHK$LIT+WDS]:J8@]@@@@ END IF @]@@@@ END IF @C@@@@ IF PIC <> 'VQ )@@G@@9' WRITE = '''' @ SKIP IF NUMERIC @]@@@@ END IF @]@@@@ END IF VR )@@G@@@]@@@@ WRITE * @F@@@@ UNTIL IDT [CHK$SUB]:S2=0 @ LOOP THRU ALL VS )@@G@@TRUE CONDITIONS @F@@@@ UNTIL IDT [CHK$SUB]:S1=0 @ LOOP THRU ALVT )@@G@@L FALSE CONDITIONS@[@@@@ @ @D@@@@ ELSE IF IDT [CHK$ENT]:S3=0 THEN VU )@@G@@@ CHECK IS DBP @ @@@@ WRITE = C45,'PROCEDURE ' @ @@@@ DDL-SUB,D IVV )@@G@@DT[CHK$ENT]:H2 @]@@@@ WRITE * @]@@@@ END IF @G@@@@ UNTIL IDT [VW )@@G@@CHK$ENT]:S1=0 @ LOOP THRU ALL CHECK CLAUSES @]@@@@ END IVX )@@G@@F @[@@@@ @ @F@@@@ IF IDT [IDT^+2]:H2 ** 0400 THEN @ ENCODEVY )@@G@@/DECODE EXISTS @A@@@@ WRITE = C36,'FOR ENCODING TO ' @D@@@@ LET IVZ )@@G@@1$ADDM = 3 + IDT [6]:H1 @ ITEM #1 ADDM@H@@@@ REPEAT EDT = I1$AWA )@@G@@DDM + IDT [I1$ADDM+1]:H2, IDT [EDT]:S1 @ LOOP THRU EDT'S @G@@@@ UNTILWB )@@G@@ IDT [EDT+1]:S3=IDT [IDT^]:S3 AND IDT [EDT+2]:H2=IDT [IDT^]:H2 @ @@@@WC )@@G@@ @ MATCH ON ITEM START BYTE/WD@[@@@@ @ @C@@@@ IF IDT [EDT]:S3=1 THEN WD )@@G@@ @ BY DBP @E@@@@ WRITE D IDT [EDT+3]:H1 @ # BIWE )@@G@@TS IN ENCODED ITEM@ @@@@ WRITE = ' BITS',*,C40,'CALL '@^@@@@ DDL-SUB,D IWF )@@G@@DT[EDT]:H2 @]@@@@ WRITE * @A@@@@ WRITE = C36,'FOR DECODING CALL ' WG )@@G@@@^@@@@ DDL-SUB,D IDT[EDT+1]:H2@]@@@@ WRITE * @D@@@@ ELSE IF IDT [EDT]WH )@@G@@:S3=2 THEN @ BY LOCAL TABLE@F@@@@ REPEAT ED$TOC = RFT [3]:H2, 1WI )@@G@@ @ SEARCH E/D TOC FOR ITEM CODE @B@@@@ UNTIL RFT [ED$TOC]:H1 = IDT [WJ )@@G@@IDT^+1]:H1 @D@@@@ LET EDL = RFT [ED$TOC]:H2 @ PT TO E/D LITERAL TBL WK )@@G@@@[@@@@ @ @E@@@@ LET ETYPE = RFT [EDL]:S2 @ ENCODED ITEM TYPWL )@@G@@E @C@@@@ LET ETYPE = ETYPE:J1 @ 1ST DIGIT @E@@@@ LET EWM )@@G@@PIC = '9' @ ASSUME PIC NUMERIC @C@@@@ IF ETYPE=2 WN )@@G@@OR ETYPE=6 THEN @ DISPLAY @B@@@@ IF RFT [EDL]:S2**7 = 0 THEN WO )@@G@@ @ PIC A @#@@@@ LET EPIC='A' @B@@@@ ELSE IF RFT [EDL]:S2**7 = 1 TWP )@@G@@HEN @ PIC X @#@@@@ LET EPIC='X' @]@@@@ END IF @]@@@@ END IF WQ )@@G@@@[@@@@ @ @E@@@@ LET DTYPE = RFT [EDL]:S3 @ DECODED ITEM TYPWR )@@G@@E @C@@@@ LET DTYPE = DTYPE:J1 @ 1ST DIGIT @E@@@@ LET DWS )@@G@@PIC = '9' @ ASSUME PIC NUMERIC @C@@@@ IF DTYPE=2 WT )@@G@@OR DTYPE=6 THEN @ DISPLAY @B@@@@ IF RFT [EDL]:S3**7 = 0 THEN WU )@@G@@ @ PIC A @#@@@@ LET DPIC = 'A' @B@@@@ ELSE IF RFT [EDL]:S3**7 = 1 TWV )@@G@@HEN @ PIC X @#@@@@ LET DPIC = 'X' @]@@@@ END IF @]@@@@ END IF WW )@@G@@@[@@@@ @ @C@@@@ IF ETYPE=0 OR ETYPE=4 THEN @ BINARY @B@@@@WX )@@G@@ WRITE D IDT [EDT+3]:H1 @ # BITS@#@@@@ WRITE = ' BITS',*@C@@@@WY )@@G@@ ELSE @ DISPLAY @C@@@@ WRITE D IDT [EDT+WZ )@@G@@3]:H1 / BITS$PER$CHR @ # CHARS@^@@@@ WRITE = ' CHARS',* @]@@@@ END IXA )@@G@@F @ @@@@ @ LOOP THRU 'REPLACE' ENTRIES@F@@@@ LET ELIT = EDL + 4 XB )@@G@@ @ START OF ENCODE LITERALS @D@@@@ LET DLIT = EDL + 4 + RFXC )@@G@@T [EDL]:H2 * RFT [EDL+1]:H1 @^@@@@ REPEAT REPLACE# = 1,1 @^@@@@ WRITEXD )@@G@@ = C40,'REPLACE ' @D@@@@ IF DTYPE=0 OR DTYPE=4 THEN @ BINARY INPUTXE )@@G@@ FIELD@E@@@@ PWORD J8 35,IDT [EDT+3]:H2 @ # BITS IN INPUT FIELD XF )@@G@@@C@@@@ WRITE Z RFT [DLIT]:J8 @ PRINT LITERAL @E@@@@ ELSE XG )@@G@@ @ DISPLAY INPUT FIELD @ @@@@ IF DPIC<>'9' WRITXH )@@G@@E = '''' @D@@@@ LET B=IDT [EDT+3]:H2 / 36 @ # FULL WDS TO PRINT XI )@@G@@@]@@@@ LET WDS=B @D@@@@ LET BITS=IDT [EDT+3]:H2 \ 36 @ # BITS IN LASTXJ )@@G@@ WD @#@@@@ PWORD J7 35,BITS @C@@@@ IF DTYPE=2 THEN @ ASXK )@@G@@CII DISPLAY @B@@@@ IF WDS>0 WRITE BA @#@@@@ IF BIXL )@@G@@TS>0 THEN @C@@@@ LET B=BITS / 9 @ # CHARS IN LAST WD@ @@@@XM )@@G@@ WRITE AB RFT [DLIT+WDS]:J7 @]@@@@ END IF @C@@@@ ELSE XN )@@G@@ @ FD DISPLAY @B@@@@ IF WDS>0 WRITE BF @#@@@@ IF BITS>0 THEN @C@@@@ LET B=BITS / 6 @ # CHARXP )@@G@@S IN LAST WD@ @@@@ WRITE FB RFT [DLIT+WDS]:J7 @]@@@@ END IF @]@@@@XQ )@@G@@ END IF @ @@@@ IF DPIC<>'9' WRITE = '''' @]@@@@ WRITE * @]@@@@XR )@@G@@ END IF @D@@@@ LET DLIT=DLIT+RFT [EDL+1]:H2 @ BUMP LITERAL PTR XS )@@G@@@[@@@@ @ @^@@@@ WRITE = C43,'WITH ' @E@@@@ IF ETYPE=0 OR ETYPE=4 TXT )@@G@@HEN @ BINARY OUTPUT FIELD @E@@@@ PWORD J8 35,IDT [EDT+3]:H1 XU )@@G@@ @ # BITS IN INPUT FIELD @C@@@@ WRITE Z RFT [ELIT]:J8 @ PRXV )@@G@@INT LITERAL @E@@@@ ELSE @ DISPLAY OUTPUT FIEXW )@@G@@LD @ @@@@ IF EPIC<>'9' WRITE = '''' @D@@@@ LET B=IDT [EDT+3]:H1 / XX )@@G@@36 @ # FULL WDS TO PRINT @]@@@@ LET WDS=B @D@@@@ LET BITS=IDT [EDTXY )@@G@@+3]:H1 \ 36 @ # BITS IN LAST WD @#@@@@ PWORD J7 35,BITS @C@@@@ IF ETXZ )@@G@@YPE=2 THEN @ ASCII DISPLAY @B@@@@ IF WDS>0 WRITE BA @#@@@@ IF BITS>0 THEN @C@@@@ LET B=BITS / 9 YB )@@G@@ @ # CHARS IN LAST WD@ @@@@ WRITE AB RFT [ELIT+WDS]:J7 @]@@@@ END IYC )@@G@@F @C@@@@ ELSE @ FD DISPLAY @B@@@@ IF WDYD )@@G@@S>0 WRITE BF @#@@@@ IF BITS>0 THEN @C@@@@ LET BYE )@@G@@=BITS / 6 @ # CHARS IN LAST WD@ @@@@ WRITE FB RFT [ELIT+WDS]YF )@@G@@:J7 @]@@@@ END IF @]@@@@ END IF @ @@@@ IF EPIC<>'9' WRITE = ''YG )@@G@@'' @]@@@@ END IF @D@@@@ LET ELIT=ELIT+RFT [EDL+1]:H1 @ BUMP LYH )@@G@@ITERAL PTR @]@@@@ WRITE * @ @@@@ UNTIL REPLACE#=RFT [EDL]:H2 @E@@@@YI )@@G@@ ELSE IF IDT [EDT]:S3=3 THEN @ BY GLOBAL TABLE @C@@@@ FEATUYJ )@@G@@RE IDT [EDT]:H2 @ OBTAIN ACCESS TO GED @C@@@@ LET ETYPE = GED [6]:S2 YK )@@G@@ @ ENCODED ITEM TYPE @C@@@@ LET ETYPE = ETYPE:J1 @ 1ST YL )@@G@@DIGIT @C@@@@ IF ETYPE=0 OR ETYPE=4 THEN @ BINARY @B@@@@ WRITEYM )@@G@@ D IDT [EDT+3]:H1 @ # BITS@#@@@@ WRITE = ' BITS' @C@@@@ ELSE YN )@@G@@ @ DISPLAY @C@@@@ WRITE D IDT [EDT+3]:H1 YO )@@G@@/ BITS$PER$CHR @ # CHARS@#@@@@ WRITE = ' CHARS' @]@@@@ END IF @ @@@@YP )@@G@@ WRITE USETBL IDT [EDT]:H2 @]@@@@ END IF @]@@@@ END IF @[@@@@YQ )@@G@@ @ @F@@@@ IF IDT [IDT^+2]:H2 ** 010 THEN @ ACCESS CONTROL EXIYR )@@G@@STS @E@@@@ LET AC$ENT = ADDM + IDT [ADDM]:H2 @ 1ST AC ADDM ENTRY YS )@@G@@@D@@@@ LET AC# = IDT [AC$ENT]:H2 @ # AC ENTRIES @]@@@@ REPEAYT )@@G@@T @D@@@@ LET AC$SUB = AC$ENT + 2 @ A/C SUB-ENTRY @C@@@@YU )@@G@@ WRITE = C(COL(LVL)+4),'ACCESS CONTROL LOCK ' @C@@@@ LET AC$BITS = IDTYV )@@G@@ [AC$ENT]:XH1 @ A/C BITS @D@@@@ IF AC$BITS <> -0 THEN YW )@@G@@@ "FOR ..." SPEC'D@#@@@@ WRITE = 'FOR ' @B@@@@ IF AC$BITS ** 04 WRIYX )@@G@@TE = 'STORE ' @B@@@@ IF AC$BITS ** 020 WRITE = 'MODIFY ' @A@@@@YY )@@G@@ IF AC$BITS ** 0100 WRITE = 'GET ' @B@@@@ IF AC$BITS ** 0400 WRITE = 'YZ )@@G@@FETCH ' @]@@@@ END IF @B@@@@ IF CHARSW > 55 WRITE = *,C(COL(LVL)ZA )@@G@@+6) @#@@@@ WRITE = 'IS ' @C@@@@ IF IDT [AC$SUB]:S3 = 5 THEN @ZB )@@G@@ LITERAL @#@@@@ WRITE = '''' @D@@@@ LET B=3 ZC )@@G@@ @ # WDS IN LITERAL @D@@@@ WRITE BA @ PRINZD )@@G@@T LITERAL @#@@@@ WRITE = '''' @C@@@@ ELSE IF IDT [AC$SUB]:S3 = 0 TZE )@@G@@HEN @ BY DBP @^@@@@ WRITE = 'PROCEDURE ' @ @@@@ DDL-SUB,D IDT[AC$ZF )@@G@@SUB]:H2 @]@@@@ END IF @]@@@@ WRITE * @[@@@@ @ @D@@@@ IF IDZG )@@G@@T [AC$ENT+1]:H2 <> 0 THEN @ A/C KEY SPEC'D @C@@@@ WRITE = C(COL(LVLZH )@@G@@)+4),'ACCESS CONTROL KEY IS ' @ @@@@ DDL-SUB,N IDT [AC$ENT+1]:H2 @]@@@@ZI )@@G@@ WRITE * @]@@@@ END IF @[@@@@ @ @E@@@@ LET AC$ENT = AC$ENT + IZJ )@@G@@DT [AC$ENT+1]:H1 @ NEXT AC ENTRY @#@@@@ LET AC# = AC# - 1@#@@@@ UNTILZK )@@G@@ AC# = 0 @]@@@@ END IF @[@@@@ @ @F@@@@ IF IDT [IDT^+2]:H2 ** 0ZL )@@G@@20000 THEN @ DERIVED FORMATS 1 OR 2 @D@@@@ LET RES$ENT = ADDM + IDZM )@@G@@T [ADDM + 2]:H2 @ RESULT ENTRY@A@@@@ WRITE = C(COL(LVL)+4),'RESULT OF ' ZN )@@G@@@C@@@@ IF IDT [RES$ENT]:S3 = 0 THEN @ PROCEDURE@^@@@@ WRITE = 'PRZO )@@G@@OCEDURE ' @ @@@@ DDL-SUB,D IDT[RES$ENT]:H2 @B@@@@ ELSE IF IDT [RES$ZP )@@G@@ENT]:S3 = 2 THEN @ SUM@#@@@@ WRITE = 'SUM' @]@@@@ END IF @ @@@@ZQ )@@G@@ WRITE = ' ON THIS RECORD',* @D@@@@ LET RES$ITEM# = IDT [RES$ENT]:S1 ZR )@@G@@ @ # USING ITEMS @D@@@@ IF RES$ITEM# <> 0 THEN @ "USING" ZS )@@G@@EXISTS@A@@@@ WRITE = C(COL(LVL)+6),'USING ' @G@@@@ LET MEM$COL = CHAZT )@@G@@RSW + 1 @ SAVE COL WHERE MEMBER NAME GOES @D@@@@ LET RES$SUBZU )@@G@@ = RES$ENT + 1 @ RESULT SUB-ENTRY@D@@@@ LET ODD$EVEN = 0 ZV )@@G@@ @ HALF-WD PTR @]@@@@ REPEAT @^@@@@ WRITE = C(MEM$COLZW )@@G@@) @^@@@@ IF ODD$EVEN = 0 THEN @B@@@@ DDL-SUB,I IDT [IDT [RES$SUB]:ZX )@@G@@H1 + 1] :H1 @C@@@@ ELSE @ ODD$EVEN=1 @B@@@@ZY )@@G@@ DDL-SUB,I IDT [IDT [RES$SUB]:H2 + 1] :H1 @ @@@@ LET RES$SUB = RES$SUB +ZZ )@@G@@ 1 @]@@@@ END IF @C@@@@ IF RES$ITEM# <> 1 THEN @ NOT LAST TIME THAA )@@G@@ROUGH @ @@@@ WRITE = ',',*,C(MEM$COL) @ @@@@ ELSE @ LAST TIME THROUGAB )@@G@@H @]@@@@ WRITE = * @]@@@@ END IF @D@@@@ LET ODD$EVEN = 1 - ODD$AC )@@G@@EVEN @ FLIP ODD$EVEN @ @@@@ LET RES$ITEM# = RES$ITEM# - 1@^@@@@AD )@@G@@ UNTIL RES$ITEM# = 0 @]@@@@ END IF @]@@@@ END IF @[@@@@ @ AE )@@G@@@F@@@@ IF IDT [IDT^+2]:H2 ** 040000 THEN @ DERIVED FORMATS 3 OR 4 AF )@@G@@@D@@@@ LET RES$ENT = ADDM + IDT [ADDM + 2]:H2 @ RESULT ENTRY@A@@@@ WRITEAG )@@G@@ = C(COL(LVL)+4),'RESULT OF ' @C@@@@ IF IDT [RES$ENT]:S3 = 0 THEN AH )@@G@@ @ PROCEDURE@^@@@@ WRITE = 'PROCEDURE ' @ @@@@ DDL-SUB,D IDT[RES$ENT]:AI )@@G@@H2 @ @@@@ WRITE = ' ON',*,C(COL(LVL)+6)@C@@@@ ELSE IF IDT [RES$ENT]:SAJ )@@G@@3 = 1 THEN @ COUNT @^@@@@ WRITE = 'COUNT ON ' @B@@@@ ELSE IF IDTAK )@@G@@ [RES$ENT]:S3 = 2 THEN @ SUM@#@@@@ WRITE = 'SUM ON '@]@@@@ END IF AL )@@G@@@D@@@@ LET SET$ENT = RES$ENT + 1 @ 1ST SET ENTRY @F@@@@ LET SAM )@@G@@ET$COL = CHARSW + 1 @ SAVE COL WHERE "SET" GOES @E@@@@ REPEAAN )@@G@@T SET# = IDT [RES$ENT]:S1, -1 @ LOOP THRU SET ENTRIES@ @@@@ WRITE = C(SAO )@@G@@ET$COL),'SET ' @ @@@@ DDL-SUB,S IDT[SET$ENT]:H2 @ @@@@ LET REC$ENTAP )@@G@@ = SET$ENT + 2 @^@@@@ WRITE = ' MEMBER ' @G@@@@ LET MEM$COL = CHAAQ )@@G@@RSW + 1 @ SAVE COL WHERE MEMBER NAME GOES @F@@@@ REPEAT REC#AR )@@G@@ = IDT [SET$ENT + 1]:S5, -1 @ LOOP THRU REC ENTRIES @]@@@@ LET R=RCODEAS )@@G@@@^@@@@ WRITE = C(MEM$COL) @ @@@@ DDL-SUB,R IDT[REC$ENT]:H2 @A@@@@AT )@@G@@ RECORD R @ RESTORE ORIGINAL RECORD @]@@@@ WRITE * @[@@@@ @ @E@@@@AU )@@G@@ LET X=0 @ ASSUME NO "USING" CLAUSE@D@@@@ IF IDAV )@@G@@T [RES$ENT]:S3 = 2 THEN @ "SUM" ALWAYS HAS IT@]@@@@ LET X=1 @E@@@@AW )@@G@@ ELSE IF IDT [RES$ENT]:S3 = 0 THEN @ "PROCEDURE" SOMETIMES @C@@@@ IF IDAX )@@G@@T [REC$ENT+1]:S4 = 1 THEN @ "MEMB ONLY" @C@@@@ WRITE = C(COL(LVL)+6),'AY )@@G@@USING MEMBERSHIP ONLY',*@E@@@@ ELSE @ NOT "MEMAZ )@@G@@BERSHIP ONLY" @]@@@@ LET X=1 @]@@@@ END IF @]@@@@ END IF BA )@@G@@@E@@@@ IF X=1 THEN @ "USING" CLAUSE EXISTS @C@@@@BB )@@G@@ LET USING$ENT = REC$ENT + 2 @ "USING" ENTRY @A@@@@ WRITE = C(COL(LVLBC )@@G@@)+6),'USING ' @G@@@@ LET MEM$COL = CHARSW + 1 @ SAVE COL WBD )@@G@@HERE MEMBER NAME GOES @D@@@@ LET USING# = IDT [REC$ENT + 1]:S5 @ # USIBE )@@G@@NG ENTRIES @ @@@@ REPEAT USING# = USING#, -1 @C@@@@ LET ICODE = IDT [BF )@@G@@USING$ENT+1]:H1 @ ITEM CODE @C@@@@ RECORD IDT [REC$ENT]:H2 @ GO TO MEMBG )@@G@@BER RECORD @#@@@@ DDL-SUB,I ICODE @A@@@@ RECORD R @ BACK TO OWNER RECOBH )@@G@@RD @C@@@@ IF USING# <> 1 THEN @ NOT LAST TIME THROUGH @ @@@@ WRITEBI )@@G@@ = ',',*,C(MEM$COL) @ @@@@ ELSE @ LAST TIME THROUGH @]@@@@ WRITEBJ )@@G@@ = * @]@@@@ END IF @ @@@@ LET USING$ENT = USING$ENT + 2@#@@@@ UNTILBK )@@G@@ USING# = 1 @]@@@@ END IF @[@@@@ @ @B@@@@ LET REC$ENT = REC$ENT +BL )@@G@@ IDT [REC$ENT]:H1 @#@@@@ UNTIL REC# = 1 @B@@@@ LET SET$ENT = SET$ENT +BM )@@G@@ IDT [SET$ENT]:H1 @#@@@@ UNTIL SET# = 1 @]@@@@ END IF @[@@@@ @ BN )@@G@@@F@@@@ LET IDT^ = IDT^ + 4 @ MOVE TO NEXT IDT ENTRYBO )@@G@@@D@@@@ LET ITEM# = ITEM# - 1 @ DEC COUNTER @]@@@@ END WBP )@@G@@HILE @]@@@@ GOTO EXIT @[@@@@ @ @#@@@@ERREXT: ERRPR,L @[@@@@ ERRORBQ )@@G@@@]@@@@EXIT: @ @#@@@@ IF PGDATA(1) THEN@A@@@@ IF PGDATA(1) > 0 THEN @BR )@@G@@ DO 'AREA' @#@@@@ AREA,N PGDATA(1) @^@@@@ ELSE @ DO 'AREA,P' @ @@@@BS )@@G@@ LET PGDATA(1) = - PGDATA(1) @#@@@@ AREA,NP PGDATA(1)@]@@@@ END IF BT )@@G@@@^@@@@ IF PGDATA(2)<>-1 THEN @#@@@@ PAGE PGDATA(2) @[@@@@ ON B @#@@@@BU )@@G@@ PGDATA(3) PAGE @[@@@@ OFF B@]@@@@ END IF @ @@@@ IF V$OPT RECORD PBV )@@G@@AGE[$]:NT1 @]@@@@ END IF @[@@@@ @ @^@@@@ IF V$OPT=0 WRITE * BW )@@G@@@[@@@@ @ @^@@@@ UNTIL NUM$RECS = 1 @]@@@@ RETURN @[@@@@ @ BX )@@G@@@[@@@@ @ @#@@@@NOREC: ERRPR,N @[@@@@ STOP _@@@@@ = ' BITS',*,C40,'BY )@@G@@CALL '@^@@@@ DDL-SUB,D IDT[EDT]:H2 @]@@@@ WRITE * @A@@@@ WRITE = C36BZ )@@G@@*[S@@@*SDFF*@#@@@@ PARAMETER L:$ @]@@@@ LET Z=-1 @]@@@@ REPEAT CA )@@G@@@D@@@@ LET Z=SEARCH(:H2,L,Z+1) @ FIND PG LOC IN SLOTS@#@@@@ IF Z:J0,R,Z+1) @ FIND REC # IN SLOT @#@@@@ IF Z<0 RETUCG )@@G@@RN -1 @E@@@@ UNTIL RSLOT[Z]:B34=0 @ CONTINUE IF FOREIGN REC CH )@@G@@@C@@@@ LET S=Z+NCSLOT @ COMPUTE PGSLOT #@D@@@@ IF NCSLOT=0CI )@@G@@ LET S=S+1 @ ALLOW FOR NCSLOT=0 @]@@@@ RETURN S _@@@@@ CJ )@@G@@ @ COMPUTE PGSLOT #@D@@@@ IF NCSLOT=0 LET S=S+1 @ ALLOW FOR CK )@@G@@NCSLOT=0 @]@@@@ RETURN S _@@@@@ : ' @^@@@@*[S@@@*SDFF*@ @@@@ LET PCL )@@G@@AGSIZE=17 + MODE*30 @#@@@@ DIMENSION M(30) @^@@@@ PARAMETER M:'* CM )@@G@@ ' @#@@@@ LET NOLINES=999 @#@@@@ REPEAT I=1,1 @^@@@@ IF NOLINES>CN )@@G@@PAGSIZE THEN@#@@@@ LET NOLINES=0 @^@@@@ IF M(1)='* ' THEN @^@@@@CO )@@G@@ WRITE ALL @D@@@@ALL: FORMAT 'ALL RECORDS FOR SCHEMA: ',<2>CP )@@G@@F6,*(-1),* @[@@@@ ELSE @#@@@@ LET MSIZE=SIZE(M)@D@@@@ WRITE = 'ALL RECOCQ )@@G@@RDS WHOSE NAMES CONFORM TO MASK "' @#@@@@ REPEAT J=1,1 @^@@@@ WRITECR )@@G@@ BYTE [M:J,6] @#@@@@BYTE: FORMAT F1 @A@@@@ UNTIL J=MSIZE*6 OR [M:JCS )@@G@@,6]=' ' @^@@@@ WRITE MORE @D@@@@MORE: FORMAT X(-1),'" FOCT )@@G@@R SCHEMA: ',<2>F6,*(-1),* @]@@@@ END IF @E@@@@ WRITE = C37,'LOCACU )@@G@@TION -SIZES (WDS)-- ---- SETS ----',* @G@@@@ WRITE = 'CODE NAME',C37CV )@@G@@,'MODE DATA PTRS TOT OWN AUTO MAN',* @H@@@@ WRITE = '----',X1CW )@@G@@,<30>'-',' ----------- ---- ---- ---- ---- ---- ----',* @]@@@@ END ICX )@@G@@F @]@@@@ RECORD #I @A@@@@ MASKA ,@^@@@@CY )@@G@@ IF RESULT = 1 THEN @D@@@@ WRITE RECORD RRT[0]:H2, @^@@@@ LET NOLINES=NOLINES + 1@A@@@@ IF RDT[2]:S1=1 THEN @ DDA )@@G@@IRECT RECORD@^@@@@ WRITE = 'DIRECT ' @C@@@@ ELSE IF RDT[2]:S1 = 2 TDB )@@G@@HEN @ CALC (W/ DUPS) @^@@@@ WRITE = 'CALC W/DUPS' @C@@@@ ELSE IF RDTDC )@@G@@[2]:S1 = 3 THEN @ CALC (NO DUPS) @^@@@@ WRITE = 'CALC ' @B@@@@DD )@@G@@ ELSE IF RDT[2]:S1 = 4 THEN @ VIA SET @^@@@@ WRITE = 'VIA SET ' DE )@@G@@@B@@@@ ELSE IF RDT[2]:S1 = 5 THEN @ INDX SEQ @^@@@@ WRITE = 'INDEX SEDF )@@G@@Q ' @[@@@@ ELSE @^@@@@ WRITE = '???????????' @]@@@@ END IF @G@@@@DG )@@G@@ WRITE SIZES RDT[1]:H1,RDT[5]:H2-(1+RDT[3]:S3>0),RDT[5]:H2+RDT[1]:H1 DH )@@G@@@B@@@@ WRITE SIZES RDT[3]:S1,RDT[3]:S2,RDT[3]:S3@]@@@@ WRITE * @]@@@@DI )@@G@@ END IF @B@@@@RECORD: FORMAT D4,X1,A4,C37 @^@@@@SIZES:DJ )@@G@@ FORMAT <3>D5 @^@@@@ UNTIL I=SCRT[011]:H1 _@@@@@@[@@@@ ELSE @^@@@@DK )@@G@@ WRITE = '???????????' *[S@@@*SDFF*@#@@@@ PARAMETER C:-1 @#@@@@ IF C=DL )@@G@@-1 THEN @D@@@@ WRITE = ' NO RECORD SLOT NUMBER GIVEN',* DM )@@G@@@]@@@@ RETURN @]@@@@ END IF @ @@@@ IF C<1 OR C>PH[3]:H1 THEN DN )@@G@@@^@@@@ IF PH[3]:H1<>0 THEN @^@@@@ WRITE TOOBIG PH[3]:H1 @C@@@@TOOBIGDO )@@G@@: FORMAT ' SLOT MUST BE 1-',D,* @[@@@@ ELSE @G@@@@ WRITE = ' THERE ARE NO RECORD SLOTS IN USE ON THIS PAGE.',* @]@@@@ END IDQ )@@G@@F @[@@@@ STOP @]@@@@ END IF @^@@@@ LET C=C-1 @ RSLOT BIAS @^@@@@DR )@@G@@ IF RSLOT[C]<0 THEN @B@@@@ WRITE = '**** RECORD IS DELETED ****',* DS )@@G@@@]@@@@ RETURN @]@@@@ END IF @^@@@@ IF RSLOT[C]:B33=1 THEN @#@@@@DT )@@G@@ PWORD J1 31,14 @A@@@@ WRITE OFFPG RSLOT[C]:H2,RSLOT[C]:J1@I@@@@OFFPG:DU )@@G@@ FORMAT 'THIS RECORD HAS BEEN MOVED TO PAGE ',D,', RECORD NUMBER ',D,'.'DV )@@G@@,* @]@@@@ RETURN @]@@@@ END IF @^@@@@ DUMPREC RSLOT[C]:H2 DW )@@G@@_@@@@@[C]:J1@I@@@@OFFPG: FORMAT 'THIS RECORD HAS BEEN MOVED TO PAGE ',D,DX )@@G@@', RECORD NUMBER ',D,'.',* @]@@@@ RETURN @]@@@@ END IF @^@@@@DY )@@G@@ DUMPREC RSLOT[C]:H2 *[S@@@*SDFF*@#@@@@ PARAMETER S:-1 @#@@@@ IF S = FITEM ('$SAVE'EE )@@G@@) @ @@@@ IF FITEM$(7):S1 = 0 THEN @A@@@@ WRITE = '',* @[@@@@ STOP @[@@@@ ELSE @A@@@@ LET STATUS = CSF ('@ADD $SAVEEG )@@G@@. . ')@]@@@@ END IF @[@@@@ STOP _@@@@@@[@@@@ @ @[@@@@ @ @#@@@@EH )@@G@@NOREC: ERRPR,N @[@@@@ STOP _@@@@@ENT+1]:H1 @ *[S@@@*SDFF*@ @@@@ DIMENEI )@@G@@SION AREA$CHOICE(14) @ @@@@ PARAMETER :0 @[@@@@ @ EJ )@@G@@@#@@@@ ERROR AREANG @E@@@@ IF AREA$CHOICE(1)<>0 THEN @ USER WANTS EK )@@G@@TO PICK AN AREA @^@@@@ AREA,NP @F@@@@ ELSE IF ASEQ=0 THEL )@@G@@EN @ NO PARAMETER & NO AREA CURRENT @C@@@@ WRITE,S = ' NO AREA IS CURRENT',* @]@@@@ END IF @[@@@@ @ @D@@@@ RLISTEN )@@G@@$ @ CALL "RLIST" PROCESSOR @[@@@@ STOP @[@@@@ @ EO )@@G@@@ @@@@AREANG: WRITE = ' ' @]@@@@ ERRPR,W @]@@@@ WRITE * EP )@@G@@@[@@@@ STOP _@@@@@ RLIST$ @ CALL "RLIST" PROCESSOR EQ )@@G@@@[@@@@ STOP @[@@@@ @ @ @@@@AREANG: WRITE = ' ' @]@@@@ ERRPRER )@@G@@*[S@@@*SDFF*@H@@@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' ATES )@@G@@ ',F2,':',F2,':',F2,* @A@@@@BARS: FORMAT C20,'I',<29>'-','I',* @B@@@@ET )@@G@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' @ @@@@WO: FORMAT X7,O12,X9,'I EU )@@G@@' @B@@@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'I ' @B@@@@1WA: FORMAT EV )@@G@@X10,'''',A4,'''',X12,'I ' @^@@@@HX: FORMAT X13,WF,' ' @^@@@@HD: FOEW )@@G@@RMAT D7,X6,WF,' ' @ @@@@HO: FORMAT X1,O6,X6,WF,X1 @^@@@@TX: FORMAT XEX )@@G@@8,WF,X1 @^@@@@WD: FORMAT D15,X13,'I ' @^@@@@DOT: FORMAT C12,'.' EY )@@G@@@B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*@C@@@@NWA: FORMAT X6,'''EZ )@@G@@',A4,'''',C50,'I ' @^@@@@SD: FORMAT D2,X1,WF,X1 @^@@@@SO: FOFA )@@G@@RMAT O2,X1,WF,X1 @^@@@@SX: FORMAT X3,WF,X1 @ @@@@ IF SCHLEV=0 THEN FB )@@G@@@ NO SCHEMA @B@@@@ WRITE = R,' NO SCHEMA IS LOADED',* @]@@@@ RETURFC )@@G@@N @]@@@@ END IF @ @@@@ DIMENSION REC$CHOICE(14) @ @@@@ PARAMFD )@@G@@ETER :0 @E@@@@ IF REC$CHOICE(1)<>0 THEN @ USER WANTS TO FE )@@G@@PICK A RECORD @[@@@@ ON B @^@@@@ RECORD @[@@@@ OFF BFF )@@G@@@D@@@@ ELSE IF RSEQ=0 THEN @ NO ARG & NO RECORD CURRENT @B@@@@ WRITEFG )@@G@@ = ' NO RECORD IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF FH )@@G@@@^@@@@ LET NSIZE=RRT[1]:S3 @A@@@@ WRITE TITLE1 FI )@@G@@@^@@@@ WRITE TITLE2 @H@@@@TITLE1: FORMAT C(19-NSIZE*2),'RECORDFJ )@@G@@ REFERENCE TABLE FOR RECORD ',WA,* @B@@@@TITLE2: FORMAT C24,'OF SFK )@@G@@CHEMA ',<2>WF,* @F@@@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1FL )@@G@@,TIME:NT2,TIME:NT3@]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,RRT[0] @#@@@@FM )@@G@@ WRITE HX ':' @^@@@@ WRITE HD RRT[0]:H2,'I' @^@@@@ WRITE = 'RECORD CFN )@@G@@ODE',*@]@@@@ WRITE BARS @^@@@@ WRITE WORD 1,RRT[1] @^@@@@ WRITE SD RRFO )@@G@@T[1]:S1,':' @#@@@@ WRITE SX ':' @^@@@@ WRITE SD RRT[1]:S3,':' @^@@@@FP )@@G@@ WRITE HO RRT[1]:H2,'I' @A@@@@ WRITE = 'RRT SIZE, NAME SIZE,',* @ @@@@FQ )@@G@@ WRITE = C55,'FEATURE FLAGS' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 2,RRT[FR )@@G@@2] @^@@@@ WRITE HD RRT[2]:H1,':' @#@@@@ WRITE HX 'I' @ @@@@ WRITEFS )@@G@@ = 'RDT SIZE (WORDS)',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 3,RRT[3] FT )@@G@@@^@@@@ WRITE WD RRT[3],'I' @A@@@@ WRITE = 'RDT SECTOR ADDRESS',* FU )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 4,RRT[4] @#@@@@ WRITE HX ':' FV )@@G@@@^@@@@ WRITE HD RRT[4]:H2,'I' @^@@@@ WRITE = 'ITEM CODE',* @]@@@@ WRITEFW )@@G@@ BARS @^@@@@ WRITE WORD 5,RRT[5] @^@@@@ WRITE HD RRT[5]:H1,':' @^@@@@FX )@@G@@ WRITE HO RRT[5]:H2,'I' @B@@@@ WRITE = 'SPA SET CODE, FEAT. FLAGS',* FY )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 6,RRT[6] @^@@@@ WRITE HD RRT[6]:HFZ )@@G@@1,':' @#@@@@ WRITE HX 'I' @ @@@@ WRITE = 'IDT SIZE (WORDS)',* @]@@@@GA )@@G@@ WRITE BARS @^@@@@ WRITE WORD 7,RRT[7] @#@@@@ WRITE WD RRT[7] @A@@@@GB )@@G@@ WRITE = 'IDT SECTOR ADDRESS',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD GC )@@G@@010,RRT[010]@ @@@@ WRITE NWA @A@@@@ WRITE = 'RECORD NGD )@@G@@AME (ASCII)',* @A@@@@ IF NSIZE>1 WRITE WORD 011,RRT[011] @]@@@@ WRITEGE )@@G@@ BARS @#@@@@ LET NSIZE=NSIZE-2@#@@@@ LET WORD=012 @#@@@@ WHILE NSIZEGF )@@G@@>0 DO @ @@@@ WRITE WORD WORD,RRT[WORD] @]@@@@ WRITE * @#@@@@ LET NGG )@@G@@SIZE=NSIZE-1@#@@@@ LET WORD=WORD+1 @]@@@@ END WHILE @]@@@@ RETURN GH )@@G@@_@@@@@' @^@@@@ WRITE SD RRT[1]:S3,':' @^@@@@ WRITE HO RRT[1]:H2,'I' GI )@@G@@@A@@@@ WRITE = 'RRT SIZE, NAME SIZE,',* @ @@@@ WRITE = C55,'FEATURE FLGJ )@@G@@AGS' @]@@@@ WRITE BARS *[S@@@*SDFF*@^@@@@ IF OPTS:C+OPTS:N=2 THEN@B@@@@GK )@@G@@ WRITE = R,' CONFLICTING OPTIONS',* @]@@@@ RETURN @]@@@@ END IGL )@@G@@F @^@@@@ LET COMPRESS?=OPTS:C @B@@@@ IF OPTS:N=0 AND OPTS:C=0 THENGM )@@G@@ @ INDENT @#@@@@ LET INDENT?=1 @[@@@@ ELSE @#@@@@ LET INDENT?=0 GN )@@G@@@]@@@@ END IF @#@@@@ LET MHBSIZE = 12 @#@@@@ LET SHBSIZE = 4 @A@@@@GO )@@G@@ DIMENSION MACRONAME(2),FILENAME(14)@B@@@@ DIMENSION LINE(22),BYTES(1),TGP )@@G@@RANSITION(6)@^@@@@ DIMENSION FITEM$PKT(13)@#@@@@ REPEAT I=1,1 @^@@@@GQ )@@G@@ LET TRANSITION(I)=I+1 @]@@@@ UNTIL I=5 @^@@@@ LET BYTES(1)=' THEN ' GR )@@G@@@C@@@@ PARAMETER MACRONAME:'@@@@@@',FILENAME:'TPF$. ' @C@@@@ IF MACRONAMGS )@@G@@E(1)=0 THEN @ NO MACRO NAME SUPPLIED@D@@@@ WRITE = R,' A MACRO NAMGT )@@G@@E MUST BE SUPPLIED',* @]@@@@ RETURN @]@@@@ END IF @C@@@@ LET MGU )@@G@@ASIZE = SIZE(MA) @ GET SIZE OF MACRO AREA @E@@@@ REPEAT MA^ = 1,MA(MA^+2GV )@@G@@):H1 @ LOCATE MACRO IN MACRO AREA @D@@@@ IF MA^ >= MASIZE THEN @ NO MOGW )@@G@@RE ROOM IN MACRO AREA @^@@@@ WRITE NAME @G@@@@NAME: FORMATGX )@@G@@ R,' MACRO "',<2>WF,'" IS NOT CURRENTLY LOADED',* @]@@@@ RETURGY )@@G@@N @F@@@@ ELSE IF MA(MA^) = ' ' THEN @ END OF AREA AND STILL NOTGZ )@@G@@ THERE@^@@@@ WRITE NAME @]@@@@ RETURN @]@@@@ END IF HA )@@G@@@D@@@@ UNTIL MA(MA^)=MACRONAME(1) AND MA(MA^+1)=MACRONAME(2)@^@@@@ WRITEHB )@@G@@ USE @E@@@@USE: FORMAT R,'LET I=CSF(''@USE SAV$FIL$NAM,',<1HC )@@G@@4>WF,''')' @[@@@@ * @]@@@@ WRITE = R @A@@@@ LET I=CSF('@ASG SAV$FILHD )@@G@@$NAM.') @B@@@@ LET =FITEM('SAV$FIL$NAM') @H@@@@ WRITEHE )@@G@@ SAVETO ,,FITEM$PKT(7):NT3, HF )@@G@@@F@@@@SAVETO: FORMAT R,'SAVED TO: ',<2>WF,'*',<2>WF,'(',D,').',<2>WF,* HG )@@G@@@B@@@@ OPEN SDFO SAVFIL=SAV$FIL$NAM. @#@@@@ LET COUNT = 0 HH )@@G@@@^@@@@ LET MA^ = MA^+MHBSIZE @]@@@@ LET COL=9 @F@@@@ WHILE MA(MA^+3):HHI )@@G@@1<>0 DO @ AS LONG AS SHB HAS A STMNT NUMBER... @ @@@@ LET TEXTSIZE=MA(MHJ )@@G@@A^+1):H1 @ @@@@ LET TEXTLOCN = MA^ + SHBSIZE @#@@@@ IF INDENT? THEN HK )@@G@@@^@@@@ LET W1=MA(TEXTLOCN) @H@@@@ IF W1='UNTIL ' OR W1='END WH' OR W1HL )@@G@@='END DO' OR W1='END IF' LET COL=COL-2 @A@@@@ IF W1*/-6='ELSE ' LET CHM )@@G@@OL=COL-2 @^@@@@ IF COL<9 LET COL=9 @]@@@@ END IF @C@@@@ WRITEHN )@@G@@ LABEL MA(MA^),(':'*(MA(MA^)<>' ')) @ @@@@ IF COMPRESS? LET COL=CHHO )@@G@@ARSW+2@C@@@@ WRITE TEXT @#@@@@ IF INHP )@@G@@DENT? THEN @H@@@@ IF W1='REPEAT' OR W1='WHILE ' OR W1='DO FOR' OR W1*/-HQ )@@G@@6='ELSE ' LET COL=COL+2 @^@@@@ IF W1:H1='IF ' THEN @^@@@@ LET LIMIT=THR )@@G@@EXTSIZE*6 @C@@@@ LET = @#@@@@HS )@@G@@ REPEAT BYTE^=1,1 @ @@@@ UNTIL [LINE:BYTE^,6] = ' ' @]@@@@ LET STATE=1HT )@@G@@@^@@@@ WHILE BYTE^ <= LIMIT DO@B@@@@ IF [LINE:BYTE^,6]=[BYTES:STATE,6] THU )@@G@@HEN @A@@@@ LET NEWSTATE=TRANSITION(STATE):H2 @I@@@@ IF BYTE^=LIMIT ANHV )@@G@@D NEWSTATE=6 LET NEWSTATE=0 @ SPECIAL CASE, ENDS WITH ' THEN' @[@@@@HW )@@G@@ ELSE @#@@@@ LET NEWSTATE=1 @]@@@@ END IF @^@@@@ IF NEWSTATE=0 THEHX )@@G@@N @ OK@#@@@@ LET COL=COL+2 @#@@@@ LET BYTE^ = 99999@[@@@@ ELSE @^@@@@HY )@@G@@ LET BYTE^ = BYTE^ + 1 @^@@@@ LET STATE=NEWSTATE @]@@@@ END IF HZ )@@G@@@]@@@@ END WHILE @]@@@@ END IF @]@@@@ END IF @ @@@@ LET MA^ = TIA )@@G@@EXTLOCN + TEXTSIZE@^@@@@LABEL: FORMAT R,WF,WF @A@@@@TEXT: FORMAT C(COLIB )@@G@@),F6 @C@@@@ REPEAT BYTE^=CHARSW,-1 @ REMOVE TRAILING SPACESIC )@@G@@@ @@@@ UNTIL [WBUF:BYTE^,6]<>' ' @^@@@@ WRITE = C(BYTE^+1) @#@@@@ID )@@G@@ PUT SAVFIL * @^@@@@ LET COUNT = COUNT + 1 @]@@@@ END WHILE @#@@@@IE )@@G@@ CLOSE SAVFIL @#@@@@ WRITE FINAL COUNT@C@@@@FINAL: FORMAT R,'SAVE COIF )@@G@@MPLETE. LINES: ',D,* _@@@@@F @C@@@@ WRITE LABEL MA(MA^),(':'*(MA(IG )@@G@@MA^)<>' ')) @ @@@@*[S@@@*SDFF*@]@@@@ ERROR ERR @ @@@@ IF SCHFILE(IH )@@G@@1)=' ' THEN @B@@@@ WRITE = 'NO SCHEMA HAS BEEN INVOKED.',* @[@@@@II )@@G@@ STOP @]@@@@ END IF @[@@@@ @ @D@@@@ LET STATUS = CSF ('@ASG,T DBEIJ )@@G@@$SAVE$ENV.,F/1 . ') @ @@@@ OPEN SDFO $SAVE=DBE$SAVE$ENV.@[@@@@ @ IK )@@G@@@B@@@@ IF SCHFILE(1):H1 <> 0 THEN @ EXEC SCHEMA @^@@@@ WRITE $S-E8 @#@@@@ ELSE @ TIP SCHEMA@ @@@@ WRITE $S-TIP SCHFILE(1):H2 @]@@@@IM )@@G@@ END IF @[@@@@ @ @A@@@@ WRITE $2WF @ ELEMENT NAME @[@@@@IN )@@G@@ @ @ @@@@ IF SCHVER(1) <> ' ' THEN@]@@@@ WRITE = '/'@^@@@@ WRITEIO )@@G@@ $2WF @]@@@@ END IF @[@@@@ @ @A@@@@ IF SCHNAME(1) <> IP )@@G@@' ' THEN @]@@@@ WRITE = ' '@^@@@@ WRITE $2WF @]@@@@IQ )@@G@@ END IF @[@@@@ @ @]@@@@ PUT $SAVE *@]@@@@ WRITE * @[@@@@ @ IR )@@G@@@C@@@@ IF SSFILE(1)<>' ' THEN @ SUBSCHEMA INVOKED@C@@@@ IF SSFILE(1IS )@@G@@):H1 <> 0 THEN @ EXEC SUBSCHEMA @^@@@@ WRITE $SS-E8 @#@@@@IT )@@G@@ ELSE @ TIP SCHEMA@ @@@@ WRITE $SS-TIP SSFILE(1):H2 @]@@@@ END IF IU )@@G@@@[@@@@ @ @^@@@@ WRITE $2WF @ @@@@ IF SSVER(1) <> ' 'IV )@@G@@ THEN @]@@@@ WRITE = '/'@^@@@@ WRITE $2WF @]@@@@ END IF IW )@@G@@@[@@@@ @ @ @@@@ IF SSNAME(1) <> ' ' THEN@]@@@@ WRITE = ' '@^@@@@IX )@@G@@ WRITE $2WF @]@@@@ END IF @[@@@@ @ @]@@@@ PUT $SAVE *IY )@@G@@@]@@@@ WRITE * @]@@@@ END IF @[@@@@ @ @ @@@@ IF QUAL(1)<>' IZ )@@G@@ ' THEN @^@@@@ WRITE $QUAL @]@@@@ PUT $SAVE *@]@@@@ WRITEJA )@@G@@ * @]@@@@ END IF @[@@@@ @ @#@@@@ IF ACODE<>0 THEN @#@@@@ WRITEJB )@@G@@ = 'AREA,N' @^@@@@ IF AREAP WRITE = 'P' @#@@@@ WRITE $AREA ACODE@]@@@@JC )@@G@@ PUT $SAVE *@]@@@@ WRITE * @]@@@@ END IF @[@@@@ @ @^@@@@ IF PGJD )@@G@@NUM <> -1 THEN @#@@@@ WRITE $PAGE PGNUM@]@@@@ PUT $SAVE *@]@@@@ WRITEJE )@@G@@ * @]@@@@ END IF @[@@@@ @ @#@@@@ IF RCODE<>0 THEN @#@@@@ WRITEJF )@@G@@ $REC RCODE @]@@@@ PUT $SAVE *@]@@@@ WRITE * @]@@@@ END IF @[@@@@JG )@@G@@ @ @#@@@@ IF SCODE<>0 THEN @#@@@@ WRITE $SET SCODE @]@@@@ PUT $SAVE *JH )@@G@@@]@@@@ WRITE * @]@@@@ END IF @[@@@@ @ @#@@@@ IF PSEQ<>0 THEN JI )@@G@@@#@@@@ WRITE $PATH PSEQ @]@@@@ PUT $SAVE *@]@@@@ WRITE * @]@@@@ END IJJ )@@G@@F @[@@@@ @ @B@@@@ IF TABLE(1) <> 0 THEN @ TABLE IN USE @^@@@@JK )@@G@@ WRITE $TABLE $,
@]@@@@ PUT $SAVE *@]@@@@ WRITE * @]@@@@ END IJL )@@G@@F @[@@@@ @ @]@@@@ CLOSE $SAVE@]@@@@ RETURN @[@@@@ @ @]@@@@JM )@@G@@ERR: ERROR @]@@@@ ERRPR,N @[@@@@ STOP @[@@@@ @ @A@@@@$S-E8: FORMAJN )@@G@@T 'SCHEMA',C12,<8>WF,'.'@A@@@@$S-TIP: FORMAT 'SCHEMA,T',C12,D,' ' @#@@@@JO )@@G@@$2WF: FORMAT <2>WF@B@@@@$SS-E8: FORMAT 'SUBSCH',C12,<8>WF,'.' @A@@@@JP )@@G@@SS-TIP: FORMAT 'SUBSCH,T',C12,D,' ' @ @@@@$QUAL: FORMAT 'QUAL',C12,<2>WFJQ )@@G@@@^@@@@$AREA: FORMAT C12,D @ @@@@$PAGE: FORMAT 'PAGE',C12,D @ @@@@JR )@@G@@$REC: FORMAT 'RECORD',C12,D @^@@@@$SET: FORMAT 'SET',C12,D@ @@@@$PATH:JS )@@G@@ FORMAT 'PATH',C12,'#',D@ @@@@$TABLE: FORMAT D,C12,<2>WF _@@@@@ FORMAJT )@@G@@T 'PAGE',C12,D @ @@@@$REC: FORMAT 'RECORD',C12,D @^@@@@$SET: FORMATJU )@@G@@*[S@@@*SDFF*@A@@@@ IF SCHLEV = 0 THEN @ NO SCHEMA @C@@@@ WRITE = NO SCHEMA IS LOADED',* @]@@@@ RETURN @]@@@@ END IF JW )@@G@@@[@@@@ EJECT@[@@@@ FDT @]@@@@ WRITE = R,*@[@@@@ SCRT @#@@@@ REPEAT I=1,JX )@@G@@1 @[@@@@ EJECT%#@@@@-11,11 . CHG 104 @]@@[@ AREA #I @[@@[@ ART JY )@@G@@%@@@@[@^[@@@ UNTIL I=SCRT[010]:H1 @#@@@@ REPEAT I=1,1 @[@@@@ EJECTJZ )@@G@@%#@@@@-15,15 . CHG 104 @]@@[@ RECORD #I @[@@[@ RRT %@@@@[@][@@@ WRITEKA )@@G@@ = R,*@[@@@@ RDT @^@@@@ UNTIL I=SCRT[011]:H1 @ @@@@ IF SCRT[012]:H1 >KB )@@G@@ 0 THEN @#@@@@ REPEAT I=1,1 @[@@@@ EJECT%#@@@@-22,22 . CHG 104 KC )@@G@@@]@@[@ SET #I @[@@[@ SRT %@@@@[@][@@@ WRITE = R,*@[@@@@ SDT @^@@@@KD )@@G@@ UNTIL I=SCRT[012]:H1 @]@@@@ END IF @#@@@@ REPEAT I=1,1 @[@@@@KE )@@G@@ EJECT@[@@@@ FRT I@^@@@@ UNTIL I=SCRT[013]:H1 _@@@@@@@@@@@@@@@@@@@@@@@KF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@ @@@@ IF SCKG )@@G@@HLEV=0 THEN @ NO SCHEMA @B@@@@ WRITE = R,' NO SCHEMA IS LOADED',* KH )@@G@@@]@@@@ RETURN @]@@@@ END IF @^@@@@ WRITE TITLE @F@@@@KI )@@G@@TITLE: FORMAT C13,'SCHEMA REFERENCE TABLE FOR SCHEMA ',<2>WF,* @F@@@@KJ )@@G@@ WRITE DATIM DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3@H@@@@KK )@@G@@DATIM: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT ',F2,':',F2,':',FKL )@@G@@2,* @]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'I',<29>'-','I',* @^@@@@KM )@@G@@ WRITE WORD 0,SCRT[0] @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I ' KN )@@G@@@#@@@@ WRITE WO SCRT[0] @ @@@@WO: FORMAT X7,O12,X9,'I ' @^@@@@ WRITEKO )@@G@@ = 'CHECKSUM',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 1,SCRT[1] @^@@@@KP )@@G@@ WRITE SD SCRT[1]:S1,':'@^@@@@SD: FORMAT D2,' ',WF,' '@#@@@@ WRITE XT ':KQ )@@G@@' @ @@@@XT: FORMAT ' ',WF,' ' @^@@@@ WRITE OH SCRT[1]:H2,'I'KR )@@G@@@ @@@@OH: FORMAT X3,O6,X4,WF,' ' @A@@@@ WRITE = 'TIP FLAG, FEATURE FLKS )@@G@@AGS',*@]@@@@ WRITE BARS @^@@@@ WRITE WORD 2,SCRT[2] @A@@@@ IF SCRT[1]:KT )@@G@@S1=0 THEN @EXEC SCHEMA @^@@@@ WRITE 2WF @B@@@@2WF: FORMAT KU )@@G@@X6,'''',<2>F6,'''',X8,'I ' @B@@@@ WRITE = 'SCHEMA FILE (2 WDS FDATA)'KV )@@G@@,* @^@@@@ WRITE WORD 3,SCRT[3] @]@@@@ WRITE BARS @^@@@@ WRITE WORD KW )@@G@@4,SCRT[4] @^@@@@ WRITE 2WF @B@@@@ WRITE = 'SCHEMA QUAL (2KX )@@G@@ WDS FDATA)',* @^@@@@ WRITE WORD 5,SCRT[5] @]@@@@ WRITE BARS @#@@@@KY )@@G@@ ELSE @TIP SCHEMA @#@@@@ WRITE WD SCRT[2] @^@@@@WD: FORMAT D15,X13,'I ' KZ )@@G@@@A@@@@ WRITE = 'SCHEMA TIP/DMS FILE #',* @]@@@@ WRITE DOT @]@@@@ WRITELA )@@G@@ BARS @]@@@@ END IF @]@@@@ WRITE SKIP @[@@@@ PAUSE@]@@@@ WRITE DOT LB )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 7,SCRT[7] @^@@@@ WRITE DH SCRT[7]:LC )@@G@@H1,':'@#@@@@ WRITE HX 'I' @ @@@@ WRITE = '==> ACCESS CTL',* @]@@@@LD )@@G@@ WRITE BARS @B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*@^@@@@DOT: FLE )@@G@@ORMAT C12,'.' @ @@@@ WRITE WORD 010,SCRT[010] @ @@@@ WRITE DH SCLF )@@G@@RT[010]:H1,':' @^@@@@DH: FORMAT D7,X6,WF,' ' @^@@@@HX: FORMAT X13,WF,LG )@@G@@' ' @ @@@@ WRITE DH SCRT[010]:H2,'I' @A@@@@ WRITE = '# AREAS, 1ST ALH )@@G@@RT OFFSET',*@]@@@@ WRITE BARS @ @@@@ WRITE WORD 011,SCRT[011] @ @@@@LI )@@G@@ WRITE DH SCRT[011]:H1,':' @ @@@@ WRITE DH SCRT[011]:H2,'I' @B@@@@LJ )@@G@@ WRITE = '# RECORDS, 1ST RRT OFFSET',* @]@@@@ WRITE BARS @ @@@@ WRITELK )@@G@@ WORD 012,SCRT[012] @ @@@@ WRITE DH SCRT[012]:H1,':' @ @@@@ WRITELL )@@G@@ DH SCRT[012]:H2,'I' @A@@@@ WRITE = '# SETS, 1ST SRT OFFSET',* @]@@@@LM )@@G@@ WRITE BARS @ @@@@ WRITE WORD 013,SCRT[013] @ @@@@ WRITE DH SCRT[013LN )@@G@@]:H1,':' @ @@@@ WRITE DH SCRT[013]:H2,'I' @B@@@@ WRITE = '# FEATURLO )@@G@@ES, 1ST FRT OFFSET',* @]@@@@ WRITE BARS @ @@@@ WRITE WORD 014,SCRT[014LP )@@G@@] @ @@@@ WRITE SD SCRT[014]:S1,':' @ @@@@ WRITE SD SCRT[014]:S2,'LQ )@@G@@:' @]@@@@ WRITE X1 @^@@@@X1: FORMAT X18,'I ' @ @@@@ WRITE = '# LR )@@G@@AREA BITS, ',* @]@@@@ WRITE DOT @A@@@@ WRITE = C55,'# AREA SHIFT BITLS )@@G@@S' @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @B@@@@ IF SCRT[7]:H1 <> 0 ACCELT )@@G@@SS$CNTL SCRT[7]:H1_@@@@@*[S@@@*SDFF*@^@@@@ DIMENSION SETNAME(10) @^@@@@LU )@@G@@ PARAMETER @ @@@@ IF SETNAME(1)<>' ' THEN @#@@@@ SET @^@@@@ ELSE IF SSEQ=0 THEN @A@@@@ WRITE = ' NO SET ILW )@@G@@S CURRENT',*@]@@@@ RETURN @]@@@@ END IF @^@@@@ LET NAMESIZE=SRT[LX )@@G@@1]:S3 @^@@@@ IF NAMESIZE < 6 THEN @ @@@@ WRITE = C(12-2*NAMESIZE) LY )@@G@@@[@@@@ ELSE @]@@@@ WRITE = C1 @]@@@@ END IF @B@@@@ WRITE = 'SET DESCLZ )@@G@@RIPTION TABLE FOR SET ' @B@@@@ WRITE TITLE , MA )@@G@@@C@@@@TITLE: FORMAT WA,' OF SCHEMA ',<2>WF,*@F@@@@ WRITE DATE MB )@@G@@DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 @H@@@@DATE: FORMATMC )@@G@@ C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT ',F2,':',F2,':',F2,* @]@@@@MD )@@G@@ WRITE BARS @A@@@@BARS: FORMAT C20,'I',<29>'-','I',* @^@@@@ WRITE F0 SDME )@@G@@T[0],SDT[0] @D@@@@F0: FORMAT '[0]',X3,O12,' I',X8,O12,C50,'I CHECKSUM',*MF )@@G@@@]@@@@ WRITE BARS @A@@@@ WRITE F1 SDT[1],SDT[1]:H1,SDT[1]:H2@D@@@@F1: FOMG )@@G@@RMAT '[1]',X3,O12,' I',X5,D,C35,':',X5,D,C50,'I'@A@@@@ WRITE = ' POINTERMH )@@G@@ AREA CODE,',* @^@@@@ WRITE = C55,'SET CODE' @]@@@@ WRITE BARS @E@@@@MI )@@G@@ WRITE F2 SDT[2],SDT[2]:S1,SDT[2]:S2,SDT[2]:S3,SDT[2]:H2 @H@@@@F2: FOMJ )@@G@@RMAT '[2]',X3,O12,' I ',D,C25,': ',D,C30,': ',D,C35,':',X5,D,C50,'I' MK )@@G@@@A@@@@ WRITE = ' MODE, ORDER, # MEMBERS',*@A@@@@ WRITE = C57,'OWNER RECOML )@@G@@RD CODE' @]@@@@ WRITE BARS @ @@@@ WRITE F3 SDT[3],SDT[3]:H1 @D@@@@MM )@@G@@F3: FORMAT '[3]',X3,O12,' I',X5,D,C35,':',C50,'I' @ @@@@ WRITE = ' IMN )@@G@@NDEX AREA CODE',* @]@@@@ WRITE BARS @ @@@@ WRITE F4 SDT[4],SDT[4]:H2 MO )@@G@@@D@@@@F4: FORMAT '[4]',X3,O12,' I',C35,':',X5,D,C50,'I' @A@@@@ WRITEMP )@@G@@ = ' OFFSET TO SUBENTRY',* @]@@@@ WRITE BARS @^@@@@ LET OFFSET=SDT[4]MQ )@@G@@:H2 @#@@@@ REPEAT I=1,1 @[@@@@ PAUSE@]@@@@ WRITE * @^@@@@ WRITEMR )@@G@@ HEAD1 I,SDT[2]:S3@D@@@@HEAD1: FORMAT C24,'SET MEMBER ENTRY ',D,' OF ',DMS )@@G@@,* @]@@@@ WRITE * @]@@@@ WRITE BARS @#@@@@ LET T=SDT[OFFSET]@B@@@@MT )@@G@@ WRITE HSSS OFFSET,T,T:H1,T:S4,T:S5,T:S6 @I@@@@HSSS: FORMAT '[',O,']',CMU )@@G@@7,O12,' I',X5,D,C35,': ',D,C40,': ',D,C45,': ',D,C50,'I' @A@@@@ WRITEMV )@@G@@ = ' ENTRY SIZE, # LINKS,',* @A@@@@ WRITE = C55,'LINK+MD, MEMTYPE' MW )@@G@@@]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@ LET T=SDT[OFFSET]MX )@@G@@@ @@@@ WRITE HH OFFSET,T,T:H1,T:H2 @E@@@@HH: FORMAT '[',O,']',C7,O12,' MY )@@G@@I',X5,D,C35,':',X5,D,C50,'I' @A@@@@ WRITE = ' REL POSN. OF LINKS,',* MZ )@@G@@@ @@@@ WRITE = C55,'MEMBER CODE' @]@@@@ WRITE BARS @^@@@@ LET OFFSET=NA )@@G@@OFFSET+1 @#@@@@ LET T=SDT[OFFSET]@B@@@@ WRITE HSSS OFFSET,T,T:H1,T:S4NB )@@G@@,T:S5,T:S6 @A@@@@ WRITE = ' KEY LENGTH, # KEYS,',* @ @@@@ WRITE = C56NC )@@G@@,'DUPS, ORDER' @]@@@@ WRITE BARS @#@@@@ LET KEYS#=T:S4 @^@@@@ LET OND )@@G@@FFSET=OFFSET+1 @#@@@@ LET T=SDT[OFFSET]@^@@@@ WRITE F8 OFFSET,T,T:H1 NE )@@G@@@D@@@@F8: FORMAT '[',O,']',C7,O12,' I',X5,D,C35,':',C50,'I' @^@@@@ WRITENF )@@G@@ = ' FIRST DATA',*@]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@NG )@@G@@ LET T=SDT[OFFSET]@ @@@@ WRITE HH OFFSET,T,T:H1,T:H2 @ @@@@ WRITE = ' SNH )@@G@@ET SEL. OFFSET,',*@ @@@@ WRITE = C56,'A C POINTER' @]@@@@ WRITE BARS NI )@@G@@@^@@@@ LET OFFSET=OFFSET+1 @#@@@@ IF KEYS#>0 THEN @#@@@@ REPEAT J=1,NJ )@@G@@1 @[@@@@ PAUSE@^@@@@ WRITE HEAD2 J,KEYS# @E@@@@HEAD2: FORMAT C19,NK )@@G@@'SORT KEY DESCRIPTION ENTRY ',D,' OF ',D,*@]@@@@ WRITE BARS @#@@@@ LET TNL )@@G@@=SDT[OFFSET]@B@@@@ WRITE SSSH OFFSET,T,T:S1,T:S2,T:S3,T:H2 @I@@@@SSSH: NM )@@G@@FORMAT '[',O,']',C7,O12,' I ',D,C25,': ',D,C30,': ',D,C35,':',X5,D,C50,'NN )@@G@@I' @A@@@@ WRITE = ' LV#/KD, TYPE, 1STBIT,',* @ @@@@ WRITE = C55,'REL NO )@@G@@ADR IN REC' @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@ LET TNP )@@G@@=SDT[OFFSET]@ @@@@ WRITE HH OFFSET,T,T:H1,T:H2 @A@@@@ WRITE = ' ITEM CONQ )@@G@@DE, TOTAL BITS',* @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@NR )@@G@@ LET T=SDT[OFFSET]@B@@@@ WRITE SSSH OFFSET,T,T:S1,T:S2,T:S3,T:H2 @A@@@@NS )@@G@@ WRITE = ' DEC PT, CMPSIZ, SCALE,',*@A@@@@ WRITE = C56,'ITEM FEATURE FLANT )@@G@@G' @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@ UNTIL J=KEYNU )@@G@@S# @]@@@@ END IF @B@@@@ WRITE = C20,X6,'SET SELECTION ENTRY',* NV )@@G@@@]@@@@ WRITE BARS @^@@@@LOOP: LET T=SDT[OFFSET] @^@@@@ LET ALIAS$IND=T:SNW )@@G@@3 @^@@@@ LET NEXTSSEADR=T:H2 @B@@@@ WRITE SSSH OFFSET,T,T:S1,T:S2NX )@@G@@,T:S3,T:H2 @A@@@@ WRITE = ' TYPE, #KEYS, ALSIND,',* @A@@@@ WRITE = C56NY )@@G@@,'NEXT SSE ADDRESS' @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 NZ )@@G@@@#@@@@ LET T=SDT[OFFSET]@ @@@@ WRITE HH OFFSET,T,T:H1,T:H2 @A@@@@ WRITEOA )@@G@@ = ' SET CODE, RECORD CODE',* @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSETOB )@@G@@+1 @^@@@@ IF NEXTSSEADR<>0 THEN @B@@@@ IF NEXTSSEADR=6 OR NEXTSSEADROC )@@G@@=3 THEN @#@@@@ LET T=SDT[OFFSET]@^@@@@ WRITE F11 OFFSET,T,T @C@@@@OD )@@G@@F11: FORMAT '[',O,']',C7,O12,' I',C35,D,C50,'I' @C@@@@ WRITE = ' SOS DESOE )@@G@@C. OFFSET/1ST IDT OFFSET',* @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSETOF )@@G@@+1 @]@@@@ END IF @^@@@@ IF NEXTSSEADR>3 THEN @#@@@@ LET T=SDT[OOG )@@G@@FFSET]@C@@@@ WRITE = C20,' SET SELECT KEY DESCRIPTION',* @]@@@@ WRITEOH )@@G@@ BARS @B@@@@ WRITE SSSH OFFSET,T,T:S1,T:S2,T:S3,T:H2 @A@@@@ WRITE = ' LOI )@@G@@V#/KD, TYPE, 1STBIT,',* @ @@@@ WRITE = C55,'REL ADR IN REC' @]@@@@ WRITEOJ )@@G@@ BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@ LET T=SDT[OFFSET]@ @@@@ WRITEOK )@@G@@ HH OFFSET,T,T:H1,T:H2 @A@@@@ WRITE = ' ITEM CODE, TOTAL BITS',* @]@@@@OL )@@G@@ WRITE BARS @^@@@@ LET OFFSET=OFFSET+1 @#@@@@ LET T=SDT[OFFSET]@B@@@@OM )@@G@@ WRITE SSSH OFFSET,T,T:S1,T:S2,T:S3,T:H2 @A@@@@ WRITE = ' DEC PT, CMPSION )@@G@@Z, SCALE,',*@A@@@@ WRITE = C56,'ITEM FEATURE FLAG' @]@@@@ WRITE BARS OO )@@G@@@^@@@@ LET OFFSET=OFFSET+1 @]@@@@ GO TO LOOP @]@@@@ END IF @]@@@@OP )@@G@@ END IF @#@@@@ UNTIL I=SDT[2]:S3_@@@@@ WRITE = C56,'ITEM FEATURE FLAOQ )@@G@@*[S@@@*SDFF*@]@@@@ SAVE-ENV _@@@@@Y)@)@[C]@@@ @]M@B4@]L@]L@@@@Y@@@@@@@OR )@@G@@@@@@@@FSET,T,T:H1,T:H2 @A@@@@ WRITE = ' ITEM CODE, TOTAL BITS',* @]@@@@OS )@@G@@ WRITE BARS @^@@@@ LET O*[S@@@*SDFF*@#@@@@ PARAMETER PARAM @#@@@@ LET SOT )@@G@@ME$TYPE = 0 @[@@@@ @ @G@@@@ LET OTODO = OPTS:O AND RDT[3]:S1>0 @ SET OU )@@G@@IF OWNER SME'S NEED SEARCHING @D@@@@ LET ATODO = OPTS:A AND RDT[3]:S2>0 OV )@@G@@@ AUTO @D@@@@ LET MTODO = OPTS:M AND RDT[3]:S3>0 @ MEMOW )@@G@@BER @[@@@@ @ @E@@@@ DO FOREVER @ OK WAY TO DO THIS WITHOUT INTERNALOX )@@G@@ SUBROUTINES@D@@@@ IF OTODO THEN @ STILL NEED TO SEARCH OWNER SME'SOY )@@G@@@B@@@@ LET SME^ = RDT[6]:H1 @ START OF SME'S @B@@@@ LET NUMSMES = RDTOZ )@@G@@[3]:S1 @ COUNT OF SME'S @A@@@@ LET SME$TYPE = 1 @ OWNER SME'S @A@@@@PA )@@G@@ LET OTODO = 0 @ CLEAR FLAG @D@@@@ ELSE IF ATODO THEN @ STILL NEPB )@@G@@ED TO SEARCH AUTO SME'S @B@@@@ LET SME^ = RDT[6]:H2 @ START OF SME'S PC )@@G@@@B@@@@ LET NUMSMES = RDT[3]:S2 @ COUNT OF SME'S @A@@@@ LET SME$TYPE = 2 PD )@@G@@ @ AUTO SME'S @A@@@@ LET ATODO = 0 @ CLEAR FLAG @D@@@@ ELSE PE )@@G@@IF MTODO THEN @ STILL NEED TO SEARCH MAN. SME'S @B@@@@ LET SME^ = RDT[7]PF )@@G@@:H1 @ START OF SME'S @B@@@@ LET NUMSMES = RDT[3]:S3 @ COUNT OF SME'S PG )@@G@@@A@@@@ LET SME$TYPE = 3 @ MANUAL SME'S@A@@@@ LET MTODO = 0 @ PH )@@G@@CLEAR FLAG @ @@@@ ELSE @ NOTHING LEFT TO DO @D@@@@ WRITE,S = ' SCHEMA CONSISTENCY ERROR',* @]@@@@ END IF @[@@@@ @ @D@@@@PJ )@@G@@ REPEAT SME^ = SME^, RDT[SME^]:H1 @ LOOP THRU SME'S @C@@@@ IF OPTS:P TPK )@@G@@HEN @ SEARCH FOR PTR # @D@@@@ LET LOLINK^ = RDT[SME^+1]:H1 PL )@@G@@@ POS OF 1ST POINTER @E@@@@ LET HILINK^ = LOLINK^ + RDT[SME^]:S4 - 1 PM )@@G@@@ POS OF LAST PTR @F@@@@ IF LOLINK^ <= PARAM AND PARAM <= HILINK^ GOTO DPN )@@G@@ONE @ PTR IN RANGE@C@@@@ ELSE IF OPTS:C THEN @ SEARCH FOR CODE PO )@@G@@@D@@@@ IF RDT[SME^+1]:H2=PARAM GOTO DONE @ IF PARAM MATCHES @]@@@@ END IPP )@@G@@F @ @@@@ LET NUMSMES = NUMSMES - 1 @#@@@@ UNTIL NUMSMES=0 @[@@@@PQ )@@G@@ @ @D@@@@ END DO @ TRY ANOTHER TYPE @[@@@@PR )@@G@@ @ @ @@@@DONE: LET R:S1 = SME$TYPE @#@@@@ LET R:H2 = SME^ @]@@@@PS )@@G@@ RETURN R _@@@@@E = 1 @ OWNER SME'S @A@@@@ LET OTODO = 0 @ PT )@@G@@CLEAR FLAG @D@@@@ ELSE IF ATODO THEN @ STILL NEED TO SEARCH AUTO SME'S PU )@@G@@@B@@@@ LET SME^ = RDT[6]*[S@@@*SDFF*@[@@@@ OFF N@[@@@@ OFF H@[@@@@ ON D PV )@@G@@@]@@@@ WRITE MSG @D@@@@MSG: FORMAT 'OUTPUT TO TERMINAL IS NOW RESUMED',PW )@@G@@* _@@@@@@D@@@@ LET LOLINK^ = RDT[SME^+1]:H1 *[S@@@*SDFF*@#@@@@ DIM SPX )@@G@@ET$(10) @[@@@@ @ @C@@@@ IF OPTS:A THEN @ ALL SETS WPY )@@G@@ANTED @ @@@@ LET NUM$SETS = SCRT[012]:H1 @G@@@@ IF NUM$SETS = 0 WRITE,RPZ )@@G@@ = ' THIS SCHEMA CONTAINS NO SETS',* @]@@@@ SET #0 @^@@@@QA )@@G@@ LET SET$(1) = '+1 ' @[@@@@ ELSE @#@@@@ LET NUM$SETS = 1 @#@@@@ PARAMQB )@@G@@ETER @]@@@@ END IF @[@@@@ @ @A@@@@ REPEAT NUM$SETS = NUM$SQC )@@G@@ETS, -1 @ @@@@ IF SET$(1)<>' ' THEN @]@@@@ ERROR NOSET@]@@@@QD )@@G@@ SET @[@@@@ ERROR@^@@@@ ELSE IF SSEQ=0 THEN @B@@@@ WRITE = ' NO SET IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF @[@@@@QF )@@G@@ @ @ @@@@ WRITE = C8,'SET NAME IS ' @]@@@@ DDL-SUB,S @]@@@@ WRITEQG )@@G@@ * @[@@@@ @ @ @@@@ WRITE = C12,'SET CODE IS ' @#@@@@ WRITE D SCOQH )@@G@@DE @]@@@@ WRITE * @[@@@@ @ @^@@@@ WRITE = C12,'MODE IS ' @^@@@@QI )@@G@@ LET SETMODE = SDT[2]:S1@^@@@@ IF SETMODE = 1 THEN @#@@@@ WRITE = 'CHQJ )@@G@@AIN' @ @@@@ ELSE IF SETMODE = 2 THEN @ @@@@ WRITE = 'CHAIN LINKED PQK )@@G@@RIOR' @ @@@@ ELSE IF SETMODE = 3 THEN @D@@@@ WRITE = 'POINTER ARRAY'QL )@@G@@,*,C16,'POINTER AREA IS ' @^@@@@ DDL-SUB,A SDT[1]:H1 @]@@@@ END IQM )@@G@@F @]@@@@ WRITE * @[@@@@ @ @^@@@@ WRITE = C12,'ORDER IS '@^@@@@QN )@@G@@ LET ORDER = SDT [2]:S2 @#@@@@ IF ORDER = 1 THEN@ @@@@ IF SETMODE = 3 THQO )@@G@@EN @ P/A @A@@@@ WRITE = 'SORTED BY DATABASE-KEY' @[@@@@ ELSE @#@@@@QP )@@G@@ WRITE = 'FIRST' @]@@@@ END IF @^@@@@ ELSE IF ORDER = 2 THEN @#@@@@QQ )@@G@@ WRITE = 'LAST' @^@@@@ ELSE IF ORDER = 3 THEN @#@@@@ WRITE = 'NEXT' QR )@@G@@@^@@@@ ELSE IF ORDER = 4 THEN @#@@@@ WRITE = 'PRIOR' @^@@@@ ELSE IF ORDQS )@@G@@ER = 5 THEN @B@@@@ WRITE = 'SORTED' @ 'BY DEFINED KEYS' @^@@@@ ELSE QT )@@G@@IF ORDER = 6 THEN @A@@@@ WRITE = 'SORTED WITHIN RECORD-NAME'@ @@@@ ELSE QU )@@G@@IF ORDER = 045 THEN @C@@@@ WRITE = 'SORTED INDEXED',*,C16,'INDEX AREQV )@@G@@A IS '@^@@@@ DDL-SUB,A SDT[3]:H1 @G@@@@ WRITE = *,C16,'BY DEFINED KEYQW )@@G@@S',*,C16,'DUPLICATES ARE SYSTEM ORDERED' @]@@@@ END IF @]@@@@ WRITEQX )@@G@@ * @[@@@@ @ @F@@@@ IF SDT[3]:H2 <> 0 THEN @ ACCEQY )@@G@@SS CONTROL EXISTS @C@@@@ LET AC$ENT = SDT [3]:H2 @ ACCESS CONTROL ENTRY QZ )@@G@@@A@@@@ REPEAT AC# = SDT [AC$ENT]:H2, -1 @D@@@@ LET AC$SUB = AC$ENT + 2RA )@@G@@ @ A/C SUB-ENTRY @A@@@@ WRITE = C12,'ACCESS CONTROL LOCK ' RB )@@G@@@D@@@@ LET AC$BITS = SDT [AC$ENT]:XH1 @ A/C FLAG BITS @E@@@@ IF ACRC )@@G@@$BITS <> -0 THEN @ "FOR ..." SPEC'D @#@@@@ WRITE = 'FORD )@@G@@R ' @B@@@@ IF AC$BITS ** 01 WRITE = 'INSERT ' @B@@@@ IF AC$BITS RE )@@G@@** 02 WRITE = 'REMOVE ' @A@@@@ IF AC$BITS ** 040 WRITE = 'FIND 'RF )@@G@@@B@@@@ IF AC$BITS ** 0400 WRITE = 'FETCH ' @B@@@@ IF AC$BITS ** 010RG )@@G@@00 WRITE = 'ACQUIRE ' @]@@@@ END IF @ @@@@ IF CHARSW > 55 WRITE = RH )@@G@@*,C18 @#@@@@ WRITE = 'IS ' @C@@@@ IF SDT [AC$SUB]:S3 = 5 THEN RI )@@G@@ @ LITERAL @#@@@@ WRITE = '''' @D@@@@ LET B=3 RJ )@@G@@ @ # WDS IN LITERAL@D@@@@ WRITE BA @ PRINRK )@@G@@T LITERAL @#@@@@ WRITE = '''' @C@@@@ ELSE IF SDT [AC$SUB]:S3 = 0 TRL )@@G@@HEN @ BY DBP @^@@@@ WRITE = 'PROCEDURE ' @ @@@@ DDL-SUB,D SDT [ACRM )@@G@@$SUB]:H2 @]@@@@ END IF @]@@@@ WRITE * @[@@@@ @ @D@@@@ IF SDRN )@@G@@T [AC$ENT+1]:H2 <> 0 THEN @ A/C KEY SPEC'D@B@@@@ WRITE = C12,'ACCERO )@@G@@SS CONTROL KEY IS ' @ @@@@ DDL-SUB,N SDT [AC$ENT+1]:H2 @]@@@@ WRITERP )@@G@@ * @]@@@@ END IF @[@@@@ @ @E@@@@ LET AC$ENT = AC$ENT + SDT [ACRQ )@@G@@$ENT+1]:H1 @ NEXT AC ENTRY @#@@@@ UNTIL AC# = 1 @]@@@@ END IF RR )@@G@@@[@@@@ @ @^@@@@ WRITE = C12,'OWNER IS '@^@@@@ DDL-SUB,R SDT[2]:H2 RS )@@G@@@]@@@@ WRITE * @[@@@@ @ @D@@@@ LET SME^ = SDT[4]:H2 @ START OF SETRT )@@G@@ MEMBER ENTRY @A@@@@ REPEAT MEMBER# = SDT[2]:S3, -1 @ @@@@ WRITERU )@@G@@ = C16,'MEMBER IS ' @ @@@@ DDL-SUB,R SDT [SME^+1]:H2 %#@@@@-113,1RV )@@G@@13 . CDM127 @ @@[@ IF CHARSW > 46 WRITE = *,C25 %@@@@[@[[@@@ @ @ @@@@RW )@@G@@ IF SDT [SME^]:S6 ** 01 THEN %#@@@@-116,116 . CDM127 @#@@[@ WRITE = ' MRX )@@G@@ANUAL'%@@@@[@[[@@@ ELSE %#@@@@-118,118 . CDM127 @^@@[@ WRITE = ' AUTOMATRY )@@G@@IC' %@@@@[@][@@@ END IF @D@@@@ IF SDT [SME^]:S6 ** 02 WRITE = ' LIRZ )@@G@@NKED TO OWNER' @]@@@@ WRITE * @[@@@@ @ @B@@@@ IF SDT [SME^+2]:SSA )@@G@@4 THEN @ KEYS DEFINED @C@@@@ LET KEY^ = SME^ + 5 @ START OF KEY ITEM ISB )@@G@@DT @A@@@@ REPEAT IDT# = SDT [SME^+2]:S4, -1 @]@@@@ WRITE = C20@ @@@@SC )@@G@@ IF SDT [KEY^]:S1 ** 02 THEN @^@@@@ WRITE = 'DESCENDING ' @[@@@@ ELSE SD )@@G@@@^@@@@ WRITE = 'ASCENDING ' @]@@@@ END IF @B@@@@ IF SDT [KEY^]:S1 SE )@@G@@** 01 WRITE = 'RANGE ' @#@@@@ WRITE = 'KEY IS '@ @@@@ IF SDT [KEY^]:S1 SF )@@G@@** 04 THEN @^@@@@ WRITE = 'RECORD NAME',*@[@@@@ ELSE @#@@@@ LET X = CHASG )@@G@@RSW+1 @ @@@@ DDL-SUB,I SDT [KEY^+1]:H1 @]@@@@ WRITE * @C@@@@ IF RESH )@@G@@SULT=0 THEN @ COULD ONLY PRINT "ITEM-X" @ @@@@ WRITE = C7,'*',C(X),'OFSI )@@G@@ ' @]@@@@ DDL-SUB,R @^@@@@ WRITE = ' RECORD',* @]@@@@ END IF SJ )@@G@@@]@@@@ END IF @A@@@@ LET KEY^ = KEY^ + 3 @ NEXT SORT KEY@#@@@@ UNTILSK )@@G@@ IDT# = 1 @]@@@@ END IF @[@@@@ @ @C@@@@ IF SDT [SME^+4]:H2 THENSL )@@G@@ @ ACCESS CONTROL EXISTS@E@@@@ LET AC$ENT = SME^ + SDT [SME^+4]:H2 @ ACCSM )@@G@@ESS CONTROL ENTRY @A@@@@ REPEAT AC# = SDT [AC$ENT]:H2, -1 @D@@@@ LET ASN )@@G@@C$SUB = AC$ENT + 2 @ A/C SUB-ENTRY @A@@@@ WRITE = C12,'ACCESO )@@G@@SS CONTROL LOCK ' @D@@@@ LET AC$BITS = SDT [AC$ENT]:XH1 @ A/C FLAGSP )@@G@@ BITS @E@@@@ IF AC$BITS <> -0 THEN @ "FOR ..." SPEC'D SQ )@@G@@@#@@@@ WRITE = 'FOR ' @B@@@@ IF AC$BITS ** 01 WRITE = 'INSERT ' SR )@@G@@@B@@@@ IF AC$BITS ** 02 WRITE = 'REMOVE ' @A@@@@ IF AC$BITS ** 040SS )@@G@@ WRITE = 'FIND '@B@@@@ IF AC$BITS ** 0400 WRITE = 'FETCH ' @]@@@@ST )@@G@@ END IF @ @@@@ IF CHARSW > 55 WRITE = *,C18 @#@@@@ WRITE = 'IS ' SU )@@G@@@C@@@@ IF SDT [AC$SUB]:S3 = 5 THEN @ LITERAL @#@@@@ WRITE = '''SV )@@G@@' @D@@@@ LET B=3 @ # WDS IN LITERAL@D@@@@SW )@@G@@ WRITE BA @ PRINT LITERAL @#@@@@ WRITE = '''SX )@@G@@' @C@@@@ ELSE IF SDT [AC$SUB]:S3 = 0 THEN @ BY DBP @^@@@@ WRITESY )@@G@@ = 'PROCEDURE ' @ @@@@ DDL-SUB,D SDT [AC$SUB]:H2 @]@@@@ END IF SZ )@@G@@@]@@@@ WRITE * @[@@@@ @ @D@@@@ IF SDT [AC$ENT+1]:H2 <> 0 THEN TA )@@G@@ @ A/C KEY SPEC'D@B@@@@ WRITE = C12,'ACCESS CONTROL KEY IS ' @ @@@@TB )@@G@@ DDL-SUB,N SDT [AC$ENT+1]:H2 @]@@@@ WRITE * @]@@@@ END IF @[@@@@TC )@@G@@ @ @E@@@@ LET AC$ENT = AC$ENT + SDT [AC$ENT+1]:H1 @ NEXT AC ENTRY TD )@@G@@@#@@@@ UNTIL AC# = 1 @]@@@@ END IF @[@@@@ @ @E@@@@ LET SSE^ = TE )@@G@@SME^ + SDT [SME^+4]:H1 @ SET SELECTION ENTRY @C@@@@ WRITE = C20,'SET TF )@@G@@OCCURRENCE SELECTION IS THRU '@ @@@@ IF SDT[SSE^]:S1 = 1 THEN @ @@@@TG )@@G@@ WRITE = 'CURRENT OF SET',* @[@@@@ ELSE @A@@@@ WRITE = 'LOCATION MODE TH )@@G@@OF OWNER',* @[@@@@ @ @C@@@@ WHILE SDT[SSE^]:H2 <> 0 DO @ LOCATE FINALTI )@@G@@ SSE @D@@@@ LET SSE^ = SSE^ + SDT[SSE^]:H2 @ MOVE TO NEXT ENTRY @]@@@@TJ )@@G@@ END WHILE @[@@@@ @ @C@@@@ LET SSI^ = SSE^ + 2 @ POINT TO ITS KEY IDTK )@@G@@T @B@@@@ IF SDT [SSI^]:S1 ** 020 THEN @ ALIAS @A@@@@ REPEAT KEY#TL )@@G@@ = SDT [SSE^]:S2, -1 @^@@@@ WRITE = C24,'ALIAS ' @C@@@@ IF SDT [SSITM )@@G@@^]:S1 ** 010 THEN @ "ALIAS OF ..." @#@@@@ WRITE = 'OF ' @ @@@@ DDL-STN )@@G@@UB,N SDT [SSI^]:H2 @^@@@@ ELSE @ "ALIAS FOR ..." @#@@@@ WRITE = 'FOTO )@@G@@R ' @A@@@@ RECORD SDT[2]:H2 @ OWNER RECORD @D@@@@ REPEAT IDT^ = 7, TP )@@G@@4 @ SEARCH OWNER'S IDT'S FOR MATCH @J@@@@ UNTIL SDT[SSI^]**07777777777 TQ )@@G@@= IDT[IDT^]**07777777777 AND SDT[SSI^+1]:H2=IDT[IDT^+1]:H2 @ @@@@ DDL-STR )@@G@@UB,I IDT [IDT^+1]:H1 @]@@@@ END IF @#@@@@ WRITE = ' IS ' @ @@@@TS )@@G@@ DDL-SUB,N SDT [SSI^+1]:H1 @]@@@@ WRITE * @C@@@@ LET SSI^ = SSI^ +TT )@@G@@ 3 @ MOVE TO NEXT KEY IDT @#@@@@ UNTIL KEY# = 1 @D@@@@ IF SDT [SSETU )@@G@@^+2]:S1 ** 010 = 0 THEN @ "ALIAS FOR ..." @ @@@@ WRITE = C7,'*',C34,'OF TV )@@G@@' @]@@@@ DDL-SUB,R @^@@@@ WRITE = ' RECORD',* @]@@@@ END IF TW )@@G@@@^@@@@ ELSE @ "USING ..." @^@@@@ WRITE = C24,'USING ' @A@@@@ REPEATX )@@G@@T KEY# = SDT [SSE^]:S2, -1 @ @@@@ DDL-SUB,I SDT [SSI^+1]:H1 @#@@@@TY )@@G@@ WRITE = ', ' @C@@@@ LET SSI^ = SSI^ + 3 @ MOVE TO NEXT KEY IDT TZ )@@G@@@#@@@@ UNTIL KEY# = 1 @^@@@@ WRITE = X(-2),' ',* @ @@@@ WRITE = C7,UA )@@G@@'*',C30,'OF ' @A@@@@ DDL-SUB,R SDT[2]:H2 @ OWNER CODE @^@@@@ WRITEUB )@@G@@ = ' RECORD',* @]@@@@ END IF @]@@@@ END IF @[@@@@ @ @C@@@@UC )@@G@@ LET SME^ = SME^ + SDT [SME^]:H1 @ NEXT SME @#@@@@ UNTIL MEMBER# = 1UD )@@G@@@[@@@@ @ @]@@@@ WRITE * @[@@@@ @ @^@@@@ UNTIL NUM$SETS = 1 UE )@@G@@@]@@@@ RETURN @[@@@@ @ @#@@@@NOSET: ERRPR,N @[@@@@ STOP @[@@@@UF )@@G@@ @ @]@@@@D: FORMAT D @#@@@@BA: FORMAT A4 _@@@@@@@@@@@@@@@@@@@@@@@UG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UH )@@G@@*[S@@@*SDFF*@#@@@@ DIMENSION M(30) @^@@@@ PARAMETER M:'* ' @^@@@@UI )@@G@@ IF M(1)='* ' THEN @^@@@@ WRITE ALL @C@@@@ALL: FORMAT UJ )@@G@@'ALL SETS FOR SCHEMA: ',<2>F6,*,* @[@@@@ ELSE @#@@@@ LET I=SIZE(M) UK )@@G@@@D@@@@ WRITE = 'ALL SETS WHOSE NAMES CONFORM TO MASK "' @#@@@@ REPEAUL )@@G@@T J=1,1 @^@@@@ WRITE BYTE [M:J,6] @#@@@@BYTE: FORMAT F1 @ @@@@UM )@@G@@ UNTIL J=I*6 OR [M:J,6]=' ' @^@@@@ WRITE MORE @C@@@@MORE: UN )@@G@@FORMAT X(-1),'" FOR SCHEMA: ',<2>F6,*,* @]@@@@ END IF @ @@@@ IF SCUO )@@G@@RT[012]:H1 = 0 THEN @C@@@@ WRITE = ' THIS SCHEMA INCLUDES NO SETS.'UP )@@G@@,* @]@@@@ RETURN @[@@@@ ELSE @#@@@@ REPEAT I=1,1 @]@@@@ SET #UQ )@@G@@I @A@@@@ MASKA , @E@@@@ IF RESULT=1 WRITUR )@@G@@E SET SRT[0]:H2, @A@@@@SET: FORMAT D,':',C7,A4,*@^@@@@ UNTIL I=SCRT[012]:H1 @]@@@@ END IF _@@@@@1> UT )@@G@@@E@@@@ IF RESULT=1 WRITE SET SRT[0]:H2, @A@@@@UU )@@G@@SET: FORMAT D,':',C7,A4,*@^@@@@ UNTIL I=SCRT[012]:H1 @]@@@@UV )@@G@@*[S@@@*SDFF*@^@@@@ WRITE DATE DATE:NT1 @ @@@@ WRITE DATE1 DATE:NT2,DAUW )@@G@@TE:NT3@F@@@@DATE: FORMAT 'SUBSCHEMA FILE DESCRIPTION TABLE [SFD] ',F2,'UX )@@G@@/', @ @@@@DATE1: FORMAT F2,'/',F2,*,* @^@@@@ WRITE SF0 SFD[0],SFD[0]UY )@@G@@@^@@@@ WRITE SF1 SFD[1],SFD[1]@^@@@@ WRITE SF2 SFD[2],SFD[2]@^@@@@ WRITEUZ )@@G@@ SF3 SFD[3],SFD[3]@D@@@@ WRITE SF4 SFD[4],SFD[4]:NT1,SFD[4]:NT2,SFD[4]:NVA )@@G@@T3 @B@@@@ WRITE SF5 SFD[5],SFD[5]:H1,SFD[5]:H2 @^@@@@ WRITE SF6 SVB )@@G@@FD[6],SFD[6]@B@@@@ WRITE SF7 SFD[7],SFD[7]:H1,SFD[7]:H2 @^@@@@ WRITEVC )@@G@@ SF8 SFD[8],SFD[8]@^@@@@ WRITE SF9 SFD[9],SFD[9]@ @@@@ WRITE SF10 SFD[10VD )@@G@@],SFD[10] @^@@@@ IF SFD[05]:H1<>0 THEN @ @@@@ WRITE SF11A SFD[11],SFDVE )@@G@@[11] @F@@@@ WRITE = C10,'*** WORDS 014-016 ARE UNUSED FOR TIP SCHEMAS *VF )@@G@@**',* @[@@@@ ELSE @ @@@@ WRITE SF11B SFD[11],SFD[11] @ @@@@ WRITE SF12 VG )@@G@@SFD[12],SFD[12] @ @@@@ WRITE SF13 SFD[13],SFD[13] @ @@@@ WRITE SF14 VH )@@G@@SFD[14],SFD[14] @]@@@@ END IF @ @@@@ WRITE SF15 SFD[15],SFD[15] VI )@@G@@@B@@@@ IF SST[1]:S2=1 WRITE SF16 SFD[16],SFD[16]@]@@@@ RETURN @D@@@@VJ )@@G@@SF0: FORMAT 'SFD[0]',C10,O12,' ',O12,C36,'CHECKSUM',* @F@@@@SF1: FORMAT VK )@@G@@' [1]',C10,O12,' ''',F6,'''',C36,'SUBSCHEMA-NAME',* @F@@@@SF2: FORMAT VL )@@G@@' [2]',C10,O12,' ''',F6,'''',C36,' " ',* @F@@@@SF3: FORMAT VM )@@G@@' [3]',C10,O12,' ''',A4,'''',C36,'SDDL-LEVEL',* @G@@@@SF4: FORMAT VN )@@G@@' [4]',C10,O12,' ',F2,'/',F2,'/',F2,C36,'SDDL-DATE',* @G@@@@SF5: FVO )@@G@@ORMAT ' [5]',C10,O12,' ',D,' ',D,C36,'TIP-CODE, SST-SIZE',* @E@@@@VP )@@G@@SF6: FORMAT ' [6]',C10,O12,' ',D,C36,'SST-FILE-ADDR',* @G@@@@SF7: FVQ )@@G@@ORMAT ' [7]',C10,O12,' ',D,' ',D,C36,'SSCD-SIZE, SCH-TIP-CODE',*@E@@@@VR )@@G@@SF8: FORMAT ' [010]',C10,O12,' ',D,C36,'SSCD-FILE-ADDR',* @F@@@@SF9: FVS )@@G@@ORMAT ' [011]',C10,O12,' ''',F6,'''',C36,'SCHEMA-NAME',* @E@@@@SF10: VT )@@G@@FORMAT ' [012]',C10,O12,' ''',F6,'''',C36,' "',*@G@@@@SF11A: FORMAVU )@@G@@T ' [013]',C10,O12,' ',D,C36,'SCHEMA TIP/DMS FILE CODE',* @G@@@@SF11B:VV )@@G@@ FORMAT ' [013]',C10,O12,' ''',F6,'''',C36,'SCHEMA-FILE-NAME',* @F@@@@VW )@@G@@SF12: FORMAT ' [014]',C10,O12,' ''',F6,'''',C36,' "',* @G@@@@VX )@@G@@SF13: FORMAT ' [015]',C10,O12,' ''',F6,'''',C36,'SCHEMA-QUALIFIER',* VY )@@G@@@F@@@@SF14: FORMAT ' [016]',C10,O12,' ''',F6,'''',C36,' "',* VZ )@@G@@@E@@@@SF15: FORMAT ' [017]',C10,O12,' ',D,C36,'REL-END-SUB-SS',*@E@@@@WA )@@G@@SF16: FORMAT ' [020]',C10,O12,' ',D,C36,'SHT-START-ADR',* _@@@@@ FORMAWB )@@G@@T ' [013]',C10,O12,' ',D,C36,'SCHEMA TIP/DMS F*[S@@@*SDFF*@^@@@@ IF SSWC )@@G@@T[1]:S2<>1 THEN @G@@@@ WRITE = 'CURRENT SUBSCHEMA NOT QLP THEREFORE SHWD )@@G@@T DOES NOT EXIST',* @]@@@@ RETURN @]@@@@ END IF @#@@@@ PWORDWE )@@G@@ J1 17,12 @B@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3 @G@@@@DATE: WF )@@G@@FORMAT 'SUBSCHEMA HEADER TABLE [SHT]',C35,F2,'/',F2,'/',F2,*,* @^@@@@WG )@@G@@ WRITE SH0 SHT[0],SHT[0]@^@@@@ WRITE SH1 SHT[1],SHT[1]@^@@@@ WRITE SH2 SWH )@@G@@HT[2],SHT[2]@^@@@@ WRITE SH3 SHT[3],SHT[3]@^@@@@ WRITE SH4 SHT[4],SHT[4]WI )@@G@@@^@@@@ WRITE SH5 SHT[5],SHT[5]@^@@@@ WRITE SH6 SHT[6],SHT[6]@D@@@@ WRITEWJ )@@G@@ SH7 SHT[7],SHT[7]:NT1,SHT[7]:NT2,SHT[7]:NT3 @^@@@@ WRITE SH8 SHT[8],WK )@@G@@SHT[8]@^@@@@ WRITE SH9 SHT[9],SHT[9]@ @@@@ WRITE SH10 SHT[10],SHT[10] WL )@@G@@@ @@@@ WRITE SH11 SHT[11],SHT[11] @ @@@@ WRITE SH12 SHT[12],SHT[12] WM )@@G@@@B@@@@ WRITE SH13 SHT[13],SHT[13]:H1,SHT[13]:H2 @B@@@@ WRITE SH14 SHT[14WN )@@G@@],SHT[14]:H1,SHT[14]:H2 @B@@@@ WRITE SH15 SHT[15],SHT[15]:H1,SHT[15]:H2 WO )@@G@@@B@@@@ WRITE SH16 SHT[16],SHT[16]:H1,SHT[16]:H2 @B@@@@ WRITE SH17 SHT[17WP )@@G@@],SHT[17]:H1,SHT[17]:H2 @B@@@@ WRITE SH18 SHT[18],SHT[18]:H1,SHT[18]:H2 WQ )@@G@@@B@@@@ WRITE SH19 SHT[19],SHT[19]:H1,SHT[19]:H2 @B@@@@ WRITE SH20 SHT[20WR )@@G@@],SHT[20]:H1,SHT[20]:H2 @B@@@@ WRITE SH21 SHT[21],SHT[21]:H1,SHT[21]:H2 WS )@@G@@@B@@@@ WRITE SH22 SHT[22],SHT[22]:H1,SHT[22]:H2 @B@@@@ WRITE SH23 SHT[23WT )@@G@@],SHT[23]:H1,SHT[23]:H2 @B@@@@ WRITE SH24 SHT[24],SHT[24]:H1,SHT[24]:H2 WU )@@G@@@B@@@@ WRITE SH25 SHT[25],SHT[25]:H1,SHT[25]:J1 @]@@@@ RETURN @F@@@@WV )@@G@@SH0: FORMAT 'SHT[0]',C10,O12,' ''',A4,'''',C35,'SUBSCHEMA NAME',* @E@@@@WW )@@G@@SH1: FORMAT ' [1]',C10,O12,' ''',A4,'''',C35,' "',* @E@@@@SH2: FWX )@@G@@ORMAT ' [2]',C10,O12,' ''',A4,'''',C35,' "',* @F@@@@SH3: FORMAT WY )@@G@@' [3]',C10,O12,' ''',A4,'''',C35,'SCHEMA NAME',* @E@@@@SH4: FORMAT WZ )@@G@@' [4]',C10,O12,' ''',A4,'''',C35,' "',* @E@@@@SH5: FORMAT ' [5XA )@@G@@]',C10,O12,' ''',A4,'''',C35,' "',* @F@@@@SH6: FORMAT ' [6]',C10XB )@@G@@,O12,' ''',A4,'''',C35,'SDDL-LEVEL ',* @G@@@@SH7: FORMAT ' [7]',C10XC )@@G@@,O12,' ',F2,'/',F2,'/',F2,C35,'SDDL-DATE',* @F@@@@SH8: FORMAT ' [0XD )@@G@@10]',C10,O12,' ''',F6,'''',C35,'QLP-SAVE-FILE',*@E@@@@SH9: FORMAT ' [0XE )@@G@@11]',C10,O12,' ''',F6,'''',C35,' "',*@G@@@@SH10: FORMAT ' [012]',XF )@@G@@C10,O12,' ''',A4,'''',C35,'LOCK-FOR-INVOKE',* @G@@@@SH11: FORMAT ' [XG )@@G@@013]',C10,O12,' ''',A4,'''',C35,' LITERAL-KEY',* @G@@@@SH12: FORMATXH )@@G@@ ' [014]',C10,O12,' ''',A4,'''',C35,' ',* @G@@@@SH13: XI )@@G@@FORMAT ' [015]',C10,O12,' ',D,' ',D,C35,'ACT-SIZE, ACT-ADDR',* @G@@@@XJ )@@G@@SH14: FORMAT ' [016]',C10,O12,' ',D,' ',D,C35,'RCDT-SIZE, RCDT-ADDR',*XK )@@G@@@G@@@@SH15: FORMAT ' [017]',C10,O12,' ',D,' ',D,C35,'SCT-SIZE, SCT-ADDXL )@@G@@R',* @G@@@@SH16: FORMAT ' [020]',C10,O12,' ',D,' ',D,C35,'DCT-SIZE, DXM )@@G@@CT-ADDR',* @G@@@@SH17: FORMAT ' [021]',C10,O12,' ',D,' ',D,C35,'ICT-SXN )@@G@@IZE, ICT-ADDR',* @G@@@@SH18: FORMAT ' [022]',C10,O12,' ',D,' ',D,C35,XO )@@G@@'NHT-SIZE, NHT-ADDR',* @G@@@@SH19: FORMAT ' [023]',C10,O12,' ',D,' ',XP )@@G@@D,C35,'PIT-SIZE, PIT-ADDR',* @G@@@@SH20: FORMAT ' [024]',C10,O12,' ',XQ )@@G@@D,' ',D,C35,'RIT-SIZE, RIT-ADDR',* @G@@@@SH21: FORMAT ' [025]',C10,O1XR )@@G@@2,' ',D,' ',D,C35,'SIT-SIZE, SIT-ADDR',* @G@@@@SH22: FORMAT ' [026]',XS )@@G@@C10,O12,' ',D,' ',D,C35,'D$W-SIZE, D$W-ADDR',* @G@@@@SH23: FORMAT ' [XT )@@G@@027]',C10,O12,' ',D,' ',D,C35,'DNS-SIZE, DNS-ADDR',* @G@@@@SH24: FORMATXU )@@G@@ ' [030]',C10,O12,' ',D,' ',D,C35,'PDT-SIZE, PDT-ADDR',* @G@@@@SH25: XV )@@G@@FORMAT ' [031]',C10,O12,' ',D,' ',D,C35,'#NHT-PGS, NHT-PG-SZ',* _@@@@@XW )@@G@@R',* @G@@@@SH24: FORMAT*[S@@@*SDFF*@[@@@@ OFF H@#@@@@ PARAMETER S:-1 XX )@@G@@@#@@@@ IF S>-1 THEN @#@@@@ HARDCOPY,T S @[@@@@ ELSE @ @@@@ IF DEXY )@@G@@VICE:S1=0 HARDCOPY 1,PR @]@@@@ END IF @#@@@@ LET P=DEVICE:S1 @B@@@@XZ )@@G@@ WRITE = R,'OUTPUT NOW REDIRECTED TO ' @]@@@@ IF P=0 THEN@#@@@@ WRITEYA )@@G@@ PID DEVICE @^@@@@PID: FORMAT 'PID ',D,* @[@@@@ ELSE @^@@@@ WRITE DEVICYB )@@G@@E DEVICE @^@@@@DEVICE: FORMAT F6,* @]@@@@ END IF @[@@@@ ON N YC )@@G@@@[@@@@ ON H @[@@@@ OFF D_@@@@@EVICE @^@@@@PID: FORMAT 'PID ',D,* @[@@@@YD )@@G@@ ELSE @^@@@@ WRITE DEVIC*[S@@@*SDFF*@#@@@@BYTE: FORMAT F1 @ @@@@NOFLOWYE )@@G@@: FORMAT C31,'*UNALLOC*'@E@@@@LINE2: FORMAT R,C19,D4,' ---TREG INFORMATIYF )@@G@@ON--- ',C48,D6,* @K@@@@LINED: FORMAT R,'-------------------------------YG )@@G@@---------------------------------------------',*@E@@@@TITLE1: FORMAT 'SIYH )@@G@@ZE REPORT FOR AREAS IN SCHEMA: ',<2>F6 @E@@@@TITLE2: FORMAT C48,F2,'/YI )@@G@@',F2,'/',F2,' ',F2,':',F2,':',F2 @A@@@@TTLE2A: FORMAT C69,'PAGE ',D3,YJ )@@G@@*(-1) @F@@@@TITLE3: FORMAT '-------AREA------ PAGE -----CURRENT USED---YK )@@G@@--' @D@@@@TTLE3A: FORMAT ' -MAX # PAGES- -O/FLOW GROWTH-',* @G@@@@YL )@@G@@TITLE4: FORMAT 'NAME',C14,'CODE',C19,'SIZE',C24,'PRIME',C31,'OVERFLOW' YM )@@G@@@F@@@@TTLE4A: FORMAT C41,'TOTAL',C49,'FILE',C55,'SCHEMA',C62,'MAX.' YN )@@G@@@B@@@@TTLE4B: FORMAT C68,'CURR.',C74,'PCT',* @F@@@@TITLE5: FORMAT '==YO )@@G@@========== ==== ==== ====== ========= ====== ' @C@@@@TTLE5A: FORMAT '==YP )@@G@@==== ====== ===== ===== ===',*@#@@@@NAME: FORMAT <2>F6@#@@@@CODE: FORMATYQ )@@G@@ C14,D@^@@@@PGSIZE: FORMAT C19,D4 @^@@@@$PRIME: FORMAT C24,D6 @^@@@@YR )@@G@@O/FLOW: FORMAT C31,D9 @ @@@@OFLOW1: FORMAT C31,D,'-',D @B@@@@OFLOW2YS )@@G@@: FORMAT C31,' ',X(-J),<2>WF@^@@@@TOTAL: FORMAT C41,D6 @^@@@@YT )@@G@@FILE: FORMAT C48,D6 @^@@@@SCHEMA: FORMAT C55,D6 @^@@@@$MAX: FORMATYU )@@G@@ C62,D5 @^@@@@CURR: FORMAT C68,D5 @#@@@@PCT: FORMAT C74,D3@^@@@@YV )@@G@@FLAG: FORMAT C77,'*' @I@@@@ENDM1: FORMAT '''*'' AFTER THE PCT FIGURYW )@@G@@E DENOTES AN AREA WHOSE OVERFLOW GROWTH',*@D@@@@ENDM3: FORMAT ' HASYX )@@G@@ FALLEN UNDER ',D,'% ',* @I@@@@ENDM4: FORMAT '''+'' AFTER THE ''OYY )@@G@@VERFLOW'' USED NUMBER DENOTES A SARP AREA',* @K@@@@ENDM8: FORMAT R,''YZ )@@G@@'A-B'' IN THE ''OVERFLOW'' COLUMN INDICATES CHAINED UNUSED OVERFLOW PAGEZA )@@G@@S',* @J@@@@ENDM8A: FORMAT ' WHERE ''A'' IS THE NUMBER OF ALLOCATZB )@@G@@ED OVERFLOW PAGES AND ''B''',*@I@@@@ENDM8B: FORMAT ' IS THE NUMBEZC )@@G@@R OF ALLOCATED, BUT UNUSED, OVERFLOW PAGES',* @D@@@@NAVAIL: FORMAT <2>ZD )@@G@@F6,C14,D,C18,'** UNAVAILABLE: ' @A@@@@FAC: FORMAT 'FAC REJECT ',O12,ZE )@@G@@* @I@@@@PRCNT1: FORMAT C11,' ** ONLY THOSE AREAS FALLING BELOW THE 'ZF )@@G@@,D,'% THRESHOLD **' @F@@@@PRCNT2: FORMAT *,C18,' FOR OVERFLOW EXPANSZG )@@G@@ION WILL BE PRINTED ',* @H@@@@TREGER: FORMAT C11,' **NOTE: TREG INFORMATZH )@@G@@ION PROVIDED FOR EACH AREA **',* @[@@@@ @ @A@@@@ DIMENSION AREAMASZI )@@G@@K(30),H(2),V(10) @D@@@@ LET FLAGS?=0 @ SET WHEN ANY FLAGS SHOWN IN LASZJ )@@G@@T COL @F@@@@ LET LINEAGE=(14-OPTS:T*10)+MODE*(34-OPTS:T*22) @ LINEAGE ZK )@@G@@COUNT @E@@@@ LET ANY$SP$SARP = 0 @ NOBODY HIT SPECIAL SARP CASE YET ZL )@@G@@@]@@@@ ERROR E27 @D@@@@ LET NUM$AREAS = SCRT[010]:H1 @ # AREAS IN SCHEMZM )@@G@@A @B@@@@ PARAMETER THRESHOLD:10,AREAMASK:'* ' @[@@@@ ERROR@]@@@@ZN )@@G@@ GOTO OK @^@@@@E27: IF ECODE<>27 THEN @]@@@@ ERRPR,N @]@@@@ RETURZO )@@G@@N @]@@@@ END IF @[@@@@ ERROR@#@@@@ LET THRESHOLD=10 @ @@@@ PARAMZP )@@G@@ETER AREAMASK:'* ' @^@@@@OK: LET LINECT=9999999 @#@@@@ REPEAT I=1,ZQ )@@G@@1 @D@@@@ ERROR AREANG @ REGISTER ERROR-TRAP @]@@@@ZR )@@G@@ AREA,N #I %#@@@@-61,61 . CDM131 @#@@[@AWARN: ERROR %@@@@[@B[@@@ZS )@@G@@ LET OFLOW?=1 @ ASSUME THERE IS O/FLOW @^@@@@ LET UNUSED$OFLOW=0 ZT )@@G@@@^@@@@ IF LINECT>LINEAGE THEN @#@@@@ LET LINECT=0 @#@@@@ LET V(4)=V(ZU )@@G@@4)+1 @]@@@@ WRITE * @^@@@@ WRITE TITLE1 @G@@@@ WRITE TITLEZV )@@G@@2 DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 @#@@@@ WRITEZW )@@G@@ TTLE2A V(4)@#@@@@ IF OPTS:F=1 THEN @^@@@@ WRITE PRCNT1 THRESHOLD @#@@@@ZX )@@G@@ WRITE PRCNT2 @]@@@@ END IF @#@@@@ IF OPTS:T=1 THEN @#@@@@ WRITEZY )@@G@@ TREGER @]@@@@ END IF @ @@@@ IF AREAMASK(1)<>'* ' THEN@^@@@@ZZ )@@G@@ LET R=SIZE(AREAMASK) @E@@@@ WRITE = ' *** ONLY AREAS WHOSE NAMES CONAA )@@G@@FORM TO MASK "' @#@@@@ REPEAT J=1,1 @ @@@@ WRITE BYTE [AREAMASK:J,AB )@@G@@6] @A@@@@ UNTIL J=R*6 OR [AREAMASK:J,6]=' ' @A@@@@ WRITE = X(-1),'" AC )@@G@@ARE SHOWN ***',* @]@@@@ END IF @]@@@@ WRITE * @#@@@@ WRITE TITLEAD )@@G@@3 @#@@@@ WRITE TTLE3A @#@@@@ WRITE TITLE4 @#@@@@ WRITE TTLE4AE )@@G@@A @#@@@@ WRITE TTLE4B @#@@@@ WRITE TITLE5 @#@@@@ WRITE TTLE5AF )@@G@@A @]@@@@ END IF @ @@@@ MASKF , @^@@@@ IF REAG )@@G@@SULT = 1 THEN @C@@@@ LET DARP? = ART[3]:S6 > 7 @ SET IF DARP AREA AH )@@G@@@G@@@@ LET SP$SARP? = DARP?=0 AND OPTS:S AND ART[010]:H2=0 @ SPECIAL SARAI )@@G@@P @E@@@@ LET EMPTY$WDS = ART[011]:H2 - 10 @ # WDS ON AN EMPTY PAGE AJ )@@G@@@[@@@@ @ @^@@@@ WRITE NAME @^@@@@ WRITE CODE ART[0]:H2 AK )@@G@@@ @@@@ WRITE PGSIZE ART[011]:H2 @A@@@@ IF DARP? THEN @ DARP AL )@@G@@AREA @D@@@@ LET PRIME=P0[012]:H2-1 @ NO OF PRIME PAGES @[@@@@AM )@@G@@ ELSE @A@@@@ LET PRIME=ART[010]:H1-ART[020]:H2 @]@@@@ END IF @[@@@@AN )@@G@@ @ %#@@@@-109 . CHG 114 @D@@[@ ERROR AREANG @ TREAT ANY PAGE ERRORAO )@@G@@S AS AREA ERRORS @A@@@@ IF DARP? THEN @ DARP AREA @D@@@@ LET AAP )@@G@@TEND=P0[013]:H2-P0[012]:H2 @ NO OF O/FLOW PAGES@^@@@@ LET UNUSED$OFLOW=AQ )@@G@@0 @#@@@@ LET J=P0[013]:H1 @]@@@@ WHILE J<>0 @A@@@@ LET UNUSED$OFLOW=AR )@@G@@UNUSED$OFLOW+1 @]@@@@ PAGE J @^@@@@ LET J=PAGE[011]:H2 @]@@@@AS )@@G@@ END WHILE @]@@@@ ELSE @ SARP@C@@@@ IF ART[020]:H2=0 THEN @ NO AT-ENDAT )@@G@@ O/FLOW @C@@@@ IF SP$SARP? THEN @ SPECIAL SARP HANDLING @D@@@@AU )@@G@@ LET ANY$SP$SARP = 1 @ SHOW THAT SP$SARP HAS BEEN HIT @^@@@@ LET UNUSED$AV )@@G@@PRIME = 0 @#@@@@ LET END$LOOP = 0 @D@@@@ REPEAT J = PRIME, -1 @ BACKWAAW )@@G@@RDS FROM LAST PRIME PAGE@]@@@@ PAGE #J @B@@@@ IF PH[2]:H2 = EMPTY$WDSAX )@@G@@ THEN @ EMPTY PAGE@A@@@@ LET UNUSED$PRIME = UNUSED$PRIME + 1@C@@@@ ELSE AY )@@G@@ @ HIT FINAL USED PRIME PAGE @#@@@@ LET END$LOOP = 1 @]@@@@AZ )@@G@@ END IF @^@@@@ UNTIL END$LOOP=1 OR J=0@[@@@@ @ @F@@@@ LET ATEND =BA )@@G@@ UNUSED$PRIME @ MAKE BELIEVE UNUSED PRIME ARE O/F @E@@@@ LET PRIME =BB )@@G@@ PRIME - ATEND @ & PRIME IS ONLY USED PAGES @C@@@@ ELSE BC )@@G@@ @ NORMAL SARP HANDLING @]@@@@ LET ATEND=0@#@@@@ LET OFLOW?=0 BD )@@G@@@]@@@@ END IF @[@@@@ ELSE %#@@@@-140 . CHG 108 @D@@[@ LET SP$SARPBE )@@G@@?=0 @ SPECIAL SARP NO LONGER IN EFFECT @]@@[@ LET ATEND=0@B@@@@ REPEABF )@@G@@T J=(ART[010]:H1-ART[020]:H2+1),1 @]@@@@ PAGE #J @A@@@@ IF PH[3]:H2BG )@@G@@>10 LET ATEND=ATEND+1 @A@@@@ UNTIL J=ART[010]:H1 OR PH[3]:H2=10 @]@@@@BH )@@G@@ END IF @]@@@@ END IF %#@@@@-146 . CHG 114 @B@@[@ ERROR @ DE-BI )@@G@@REGISTER PAGE ERROR HANDLING @^@@@@ WRITE $PRIME PRIME @ @@@@ IF SPBJ )@@G@@$SARP? WRITE = C30,'&' @[@@@@ @ @^@@@@ IF UNUSED$OFLOW>0 THEN @A@@@@BK )@@G@@ WRITE OFLOW1 ATEND,UNUSED$OFLOW @^@@@@ LET =WBUF(31,CHARSW)@#@@@@BL )@@G@@ LET J=CHARSW-30 @#@@@@ WRITE OFLOW2 @]@@@@ LET V(1)=9 @[@@@@ ELSE BM )@@G@@@^@@@@ WRITE O/FLOW ATEND @]@@@@ END IF @A@@@@ IF OFLOW?=0 WRITEBN )@@G@@ = C31,'*UNALLOC*'@#@@@@ IF DARP?=0 THEN @C@@@@ IF SP$SARP? = 0 THEN BO )@@G@@ @ STANDARD SARP @#@@@@ WRITE = C40,'+' @]@@@@ END IF @]@@@@BP )@@G@@ END IF @^@@@@ WRITE TOTAL ATEND+PRIME@#@@@@ WRITE FILE MAXPG %#@@@@BQ )@@G@@-167,171 . CDM139 @F@@[@ LET S$ALLOC = 1*/ART[3]:S4-1 @ MAX # PGS BASEDBR )@@G@@ ON # PAGE-BITS %@@@@ @^[@@@ WRITE SCHEMA S$ALLOC @A@@@@ IF OFLOW? TBS )@@G@@HEN @ OVERFLOW EXISTS @B@@@@ IF SP$SARP? THEN @ SPECIAL SARP HANDLING BT )@@G@@@#@@@@ WRITE $MAX MAXPG @#@@@@ WRITE CURR ATEND @A@@@@ LET GROWTH$PCT = BU )@@G@@ATEND % MAXPG @^@@@@ ELSE @ NORMAL HANDLING @E@@@@ LET MAX=MAXPG-PRIBV )@@G@@ME @ MAX # OF O/FLOW PGS AVAIL @#@@@@ WRITE $MAX MAX @#@@@@BW )@@G@@ WRITE CURR ATEND %#@@@@-182,182 . CDM149 @D@@[@ IF DARP?=0 THEN BX )@@G@@ @ SARP @F@@[@ LET GROWTH$PCT=(MAX-ATEND)%MAX BY )@@G@@ @ % GROWTH AVAIL @D@@[@ ELSE BZ )@@G@@ @ DARP @F@@[@ LET GROWTH$PCT=(MAX-ATEND+UNUSED$OFLOW)%MAX @ %CA )@@G@@ GROWTH AVAIL @]@@[@ END IF %@@@@[@][@@@ END IF @^@@@@ WRITECB )@@G@@ PCT GROWTH$PCT @E@@@@ IF GROWTH$PCT<=THRESHOLD THEN @ FLAG IF % BELOWCC )@@G@@ CUTOFF @]@@@@ WRITE FLAG @C@@@@ LET FLAGS?=1 @ SHOW WE FOUND 1 BELOCD )@@G@@W CUTOFF @]@@@@ END IF @[@@@@ ELSE @B@@@@ WRITE = C62,'*****',C68CE )@@G@@,'*****',C74,'***'@]@@@@ END IF @#@@@@ IF OPTS:F=1 THEN @#@@@@ IF FLCF )@@G@@AGS?=1 THEN @ @@@@ WRITE * @ DISPLAY LINE @^@@@@ IF DARP?=0 LET V(CG )@@G@@2)=9 @B@@@@ LET LINECT=LINECT+1 @ BUMP LINE COUNT @[@@@@ ELSE @ @@@@CH )@@G@@ WRITE = R @ ERASE BUFFER @]@@@@ END IF @[@@@@ ELSE @C@@@@ WRITECI )@@G@@ * @ DISPLAY LINE @^@@@@ IF DARP?=0 LET V(2)=9 CJ )@@G@@@B@@@@ LET LINECT=LINECT+1 @ BUMP LINE COUNT@]@@@@ END IF @#@@@@CK )@@G@@ IF OPTS:T=1 THEN @#@@@@ IF OPTS:F=1 THEN @#@@@@ IF FLAGS?=1 THEN @B@@@@CL )@@G@@ WRITE LINE2 TREG[07]:NT1,TREG[011]:H2 @]@@@@ WRITE LINED@]@@@@ END ICM )@@G@@F @[@@@@ ELSE @B@@@@ WRITE LINE2 TREG[07]:NT1,TREG[011]:H2 @]@@@@CN )@@G@@ WRITE LINED@]@@@@ END IF @]@@@@ END IF @]@@@@ END IF @]@@@@CO )@@G@@RECVRY: @ @#@@@@ UNTIL I=NUM$AREAS@[@@@@ @ @]@@@@ WRITE = R,*@A@@@@CP )@@G@@ IF FLAGS? THEN @ FLAGS PRINTED @C@@@@ WRITE * CQ )@@G@@ @ SKIP A LINE @]@@@@ WRITE ENDM1@^@@@@ WRITE ENDM3 THRESHOLD @]@@@@CR )@@G@@ END IF @#@@@@ IF V(2)<>0 THEN @]@@@@ WRITE = R,*@]@@@@ WRITE ENDM4CS )@@G@@@]@@@@ END IF @C@@@@ IF ANY$SP$SARP THEN @ HIT A SPECIAL SARP CASE CT )@@G@@@I@@@@ WRITE = '''&'' AFTER THE ''PRIME'' NUMBER DENOTES SPECIAL SARP CU )@@G@@PROCESSING:',* @F@@@@ WRITE = ' TRAILING UNUSED PRIME IS TREATEDCV )@@G@@ AS OVERFLOW.',* @]@@@@ END IF @#@@@@ IF V(1)<>0 THEN @]@@@@ WRITECW )@@G@@ = R,*@]@@@@ WRITE ENDM8@#@@@@ WRITE ENDM8A @#@@@@ WRITE ENDM8B CX )@@G@@@]@@@@ END IF @#@@@@ WRITE = R,*(-1) @B@@@@ RETURN CY )@@G@@ @ QUIT %#@@@@-242,242 . CDM131 @]@@[@AREANG: @ @F@@[@ CZ )@@G@@ IF ECODE=9 GO TO AWARN @ FAC WARNING IS RECOVERABLE@B@@[@ DA )@@G@@ WRITE UNAVAIL ,ART[0]:H2 %^@@@@-243,243 . CHG 111 @^@@[@DB )@@G@@ LET TIP? = ART[1]:S2 @B@@[@ IF TIP? AND ECODE=75 AND EINFO=021 THEN DC )@@G@@%@@@@]@^[@@@ WRITE = 'TPFREE''D',* %^@@@@-245,245 . CHG 111 @A@@[@DD )@@G@@ ELSE IF TIP?=0 AND ECODE=10 THEN %@@@@[@#[@@@ WRITE FAC EINFO @^@@@@DE )@@G@@ ELSE @ OTHER ERROR @]@@@@ ERRPR,WN @]@@@@ WRITE * @]@@@@ END IDF )@@G@@F @]@@@@ GOTO RECVRY%#@@@@-251 . CDM149 @[@@[@ @ @[@@[@ @ DG )@@G@@@C@@[@ @ FILE LAYOUT FOR NORMAL (NON-S-OPTION) CASE @[@@[@ @ @H@@[@DH )@@G@@ @ ! DI )@@G@@ !@H@@[@ @ !<-----------------"MAXPG" (SYSVAR BASED ON FILE LIMITS)DJ )@@G@@---------------> !@H@@[@ @ ! DK )@@G@@ !@H@@[@ @ ! <--"PRIME"--> ! <-------------DL )@@G@@-----------"MAX"-----------------------> !@H@@[@ @ ! ! DM )@@G@@ TOTAL # OVERFLOW PGS FILE COULD HOLD !@H@@[@ @ ! DN )@@G@@ ! !@H@@[@DO )@@G@@ @ ! ! <----------"ATEND"-------------> ! <--------------DP )@@G@@---> !@H@@[@ @ ! ! ALLOCATED ! UDQ )@@G@@NALLOCATED O/F !@H@@[@ @ ! ! AT END OVERFLOW INCLUDIDR )@@G@@NG ! PAGES !@H@@[@ @ ! ! "UNUSEDS )@@G@@D$OFLOW", ! !@H@@[@ @ ! ! DT )@@G@@ WHICH IS THE # OF DARP PGS ! !@H@@[@ @ ! DU )@@G@@ ! ON THE UNUSED-O/F CHAIN ! !@[@@[@DV )@@G@@ @ @H@@[@ @ GROWTH PERCENTAGE IS DEFINED TO BE (# UNUSED O/F PGS) /DW )@@G@@ (TOTAL O/F PGS) @H@@[@ @ WHERE (# UNUSED O/F PAGES) IS THE SUM OFDX )@@G@@ THE UNALLOCATED O/F PAGES @H@@[@ @ DY )@@G@@ AND THE # PGS ON THE UNUSED O/F CHAIN _@@@@@LINED: FORMAT R,'-------DZ )@@G@@*[S@@@*SDFF*@^@@@@ DIMENSION B(3),P(3) @#@@@@ IF ASEQ=0 THEN @B@@@@EA )@@G@@ WRITE = ' NO AREA IS CURRENT',* @]@@@@ RETURN @]@@@@ END IEB )@@G@@F @^@@@@ PARAMETER

:'@@@@@@' @#@@@@ IF P(1)<>0 THEN @]@@@@ ERROREC )@@G@@ BADPG@]@@@@ PAGE

@[@@@@ ERROR@]@@@@ END IF @#@@@@ IF PGNUM<0 ED )@@G@@THEN @B@@@@ WRITE = ' NO PAGE IS CURRENT',* @]@@@@ RETURN EE )@@G@@@]@@@@ END IF @^@@@@ IF NRSLOT+NCSLOT=0 THEN@G@@@@ WRITE = ' EF )@@G@@THIS PAGE HAS NO SLOTS OR CALC CHAINS ALLOCATED',* @]@@@@ RETURN EG )@@G@@@]@@@@ END IF @^@@@@ LET W=NUMSLOTSATEND @#@@@@ LET W=PH[2]:H1-W EH )@@G@@@#@@@@ IF NRSLOT>0 THEN @]@@@@ WRITE STARZ@A@@@@ WRITE = '* RECORD SLOTSEI )@@G@@',C76,'*',* @]@@@@ WRITE STARZ@#@@@@ PWORD J1 31,14 @^@@@@ REPEAT S=NREJ )@@G@@SLOT,-1 @A@@@@ WRITE SLOT W,RSLOT[S-1],S+NCSLOT-1 @^@@@@ IF RSLOT[S-EK )@@G@@1]>0 THEN @ @@@@ IF RSLOT[S-1]:B33=0 THEN @B@@@@ WRITE RECORD RSLOEL )@@G@@T[S-1]:J1,RSLOT[S-1]:H2 @[@@@@ ELSE @B@@@@ WRITE OFFPG RSLOT[S-1]:J1,RSLEM )@@G@@OT[S-1]:H2 @]@@@@ END IF @[@@@@ ELSE @ @@@@ WRITE = '*** DELETED **EN )@@G@@*',* @]@@@@ END IF @]@@@@ LET W=W+1 @]@@@@ UNTIL S=1 @]@@@@ END IEO )@@G@@F @#@@@@ IF NCSLOT>0 THEN @]@@@@ WRITE STARZ@D@@@@ WRITE = '* END-OFEP )@@G@@-PAGE CALC CHAIN SLOTS',C76,'*',* @]@@@@ WRITE STARZ@^@@@@ REPEAT H=NCEQ )@@G@@SLOT-1,-1 @]@@@@ IF H=0 THEN@]@@@@ WRITE STARZ@D@@@@ WRITE = '* PAGE HER )@@G@@EADER CALC CHAIN SLOT',C76,'*',* @]@@@@ WRITE STARZ@]@@@@ LET W=7 ES )@@G@@@]@@@@ END IF @^@@@@ WRITE CALC W,CSLOT[H],H@^@@@@ IF CSLOT[H]=0 THEET )@@G@@N @ @@@@ WRITE = '*** EMPTY ***',* @[@@@@ ELSE @ @@@@ LET =DECEU )@@G@@ODE(CSLOT[H]) @^@@@@ IF B(2)=PGNUM THEN @^@@@@ LET X=B(3)+1-NCSLEV )@@G@@OT @^@@@@ IF NCSLOT=0 LET X=X-1 @#@@@@ WRITE RECSLT X @[@@@@ ELSE EW )@@G@@@^@@@@ WRITE PGSLOT B(3),B(2) @]@@@@ END IF @]@@@@ END IF @]@@@@EX )@@G@@ LET W=W+1 @]@@@@ UNTIL H=0 @]@@@@ END IF @]@@@@ RETURN @#@@@@EY )@@G@@BADPG: ERRPR,N @]@@@@ RETURN @K@@@@STARZ: FORMAT '***************EZ )@@G@@*************************************************************',* @B@@@@FA )@@G@@SLOT: FORMAT O6,C9,O12,' SLOT #',D,C34 @B@@@@CALC: FORMAT O6,C9,O12,'FB )@@G@@ CHAIN #',D,C34 @D@@@@RECORD: FORMAT 'RECORD #',D,' STARTS AT WORD: ',FC )@@G@@O,* @F@@@@OFFPG: FORMAT 'RECORD #',D,' HAS BEEN MOVED TO PAGE ',D,'.',FD )@@G@@* @E@@@@RECSLT: FORMAT 'STARTS AT RECORD SLOT ',D,' OF THIS PAGE.',*FE )@@G@@@E@@@@PGSLOT: FORMAT 'STARTS AT PGSLOT ',D,' OF PAGE ',D,'.',* _@@@@@FF )@@G@@ SLOT #',D,C34 @B@@@@CALC: FORMAT O6,C9,O12,'*[S@@@*SDFF*@G@@@@TITLE:FG )@@G@@ FORMAT *(-0),C44,'SIZE REPORT SUMMARY FOR SCHEMA "',<2>WF,'"' @E@@@@FH )@@G@@DATIM: FORMAT C116,F2,'/',F2,'/',F2,' AT ',F2,':',F2,*,*3 @ @@@@ALINE:FI )@@G@@ FORMAT F6,* @A@@@@AINFO: FORMAT <2>WF,C15,D4,C21 @^@@@@FJ )@@G@@DEC: FORMAT F6,D,* @#@@@@TDFORM: FORMAT WF @A@@@@FILE: FORMAT 'DBFK )@@G@@E*SRSAVE(-',D,').'@B@@@@OPEN: FORMAT 'OPENING FILE ',<6>WF,* @B@@@@FL )@@G@@CLOSE: FORMAT 'CLOSING FILE ',<6>WF,* @D@@@@BADOPN: FORMAT 'ERROR ONFM )@@G@@ OPEN OF FILE ',<6>WF,' ' @B@@@@FACREJ: FORMAT 'FAC STATUS: ',O12,'.FN )@@G@@ ' @]@@@@ @ @ @@@@ PARAMETER MAXCYCLES:9 @G@@@@ FO )@@G@@ IF MAXCYCLES>9 WRITE,S = ' TOO MANY CYCLES REQUESTED.',*@]@@@@FP )@@G@@ @ @G@@@@ DIM A$CODE(1), P$RIME(2), O$FLOW(3), D$ATE(1),FQ )@@G@@ T$IME(1), FILE(6)@D@@@@ DIM ABITS((SCRT[010]:H1+5)/6) @ 1 BIT/ARFR )@@G@@EA @E@@@@ DIM DATA(MAXCYCLES,SCRT[010]:H1), TD(MAXCYCLES,2) FS )@@G@@@]@@@@ @ @C@@@@ LET CYCX=0 @ ACTUAL CYCLES AVAILABLE FT )@@G@@@D@@@@ REPEAT CYC# = 1, 1 @ LOOP THRU BACK CYCLES @E@@@@ FU )@@G@@ WRITE FILE MAXCYCLES-CYC# @ CREATE ACTUAL FILENAME@ @@@@ LEFV )@@G@@T =WBUF() @A@@@@ WRITE = R @ CLEAR WBUF NOW@B@@@@ FW )@@G@@ IF OPTS:Z WRITE OPEN @D@@@@ LET OPNERR=0 @ SHOW FX )@@G@@WE HAVEN'T ERRORED YET @^@@@@ ERROR OPNERR @A@@@@ OPFY )@@G@@EN SDFI $$SR$$= @#@@@@OPNRET: ERROR @B@@@@ IF OPNERFZ )@@G@@R THEN @ ERROR ON OPEN @A@@@@ WRITE BADOPN @D@@@@GA )@@G@@ IF FAC<0 WRITE FACREJ FAC @ FAC REJECT @B@@@@ GB )@@G@@WRITE = 'FILE IGNORED.',* @^@@@@ ELSE @ OPEN OK@A@@@@ GC )@@G@@ LET CYCX = CYCX + 1 @E@@@@ LET GOT$TD=0 @ SHOW WE DGD )@@G@@ON'T HAVE TIME/DATE YET @^@@@@ DO FOREVER @B@@@@ GE )@@G@@ GET $$SR$$ (EOF=RDDONE) @C@@@@ IF NWORDS=015 THEN @ RGF )@@G@@IGHT LENGTH @J@@@@ IF GOT$TD=0 AND IOBUF[0]='SIZE R' AND GG )@@G@@IOBUF[1]='EPORT ' THEN @ FOUND T/D @E@@@@ REPEAT I=1,1GH )@@G@@ @ LOAD DATE INTO @D@@@@ LET [D$ATE:I,6] GI )@@G@@= [IOBUF:47+I,6] @D@@@@ LET [T$IME:I,6] = [IOBUF:56+GJ )@@G@@I,6] @ @@@@ UNTIL I=5 @E@@@@ LET GOGK )@@G@@T$TD=1 @ SHOW WE'VE GOT TIME/DATE @F@@@@ LET TD(CYCX,GL )@@G@@1)=D$ATE(1) @ SAVE DATE IN

@F@@@@ LET TD(CYCX,GM )@@G@@2)=T$IME(1) @ SAVE TIME IN @B@@@@ ELSE @ NOT TIMGN )@@G@@E/DATE LINE @F@@@@ LET OK? = IOBUF[0]:S1<>' ' AND IOBUFGO )@@G@@[2]:S1=' ' @D@@@@ LET OK? = OK? AND IOBUF[3]:S1=' ' GP )@@G@@@C@@@@ IF OK? THEN @ GOT A WINNER @^@@@@ GQ )@@G@@ @ @F@@@@ REPEAT I=1,1 @ LOAD AREA CODE INTOGR )@@G@@ @E@@@@ LET [A$CODE:I,6] = [IOBUF:13+I,6GS )@@G@@] @ @@@@ UNTIL I=4 @F@@@@ LET GT )@@G@@A=VALUE() @ EVALUATE AREA CODE @G@@@@ ERROGU )@@G@@R DUNARE @ SKIP IT IF NOT IN SCHEMA ANYMORE @D@@@@ GV )@@G@@ AREA,PN (A) @ GET THAT AREA'S INFO@ @@@@ ERROR GW )@@G@@@H@@@@ LET [ABITS:ASEQ,1] = 1 @ SET BIT SHOWING THIS GX )@@G@@AREA SAVED @^@@@@ @ @F@@@@ REPEGY )@@G@@AT I=1,1 @ LOAD # PRIME PGS INTO @E@@@@ LEGZ )@@G@@T [P$RIME:I,6] = [IOBUF:23+I,6] @ @@@@ UNTIL I=6 HA )@@G@@@F@@@@ LET P=VALUE() @ EVALUATE PRIME PGS HB )@@G@@@^@@@@ @ @F@@@@ IF IOBUF[5]:S1<>HC )@@G@@'*' THEN @ OVERFLOW EXISTS @G@@@@ REPEAT I=1,1 @HD )@@G@@ LOAD # OVERFLOW PGS INTO @E@@@@ LET [OHE )@@G@@$FLOW:I,6] = [IOBUF:30+I,6] @A@@@@ UNTIL I=9 HF )@@G@@@G@@@@ LET O=VALUE() @ EVALUATE OVERFLOW PGHG )@@G@@S @C@@@@ ELSE @ NO OVERFLOW EXISTS @ @@@@ HH )@@G@@ LET O=0 @ @@@@ END IF @^@@@@ HI )@@G@@ @ @H@@@@ LET DATA(CYCX,ASEQ):H1=P @ SHJ )@@G@@AVE # PRIME FOR THIS AREA @F@@@@ LET DATA(CYCX,ASHK )@@G@@EQ):H2=O @ & # OFLOW TOO @^@@@@DUNARE: @ @^@@@@ HL )@@G@@ END IF@^@@@@ END IF @^@@@@ END HM )@@G@@IF @#@@@@ END DO@#@@@@RDDONE: @ @B@@@@ HN )@@G@@IF OPTS:Z WRITE CLOSE @^@@@@ CLOSE $$SR$$@#@@@@ HO )@@G@@ END IF @ @@@@ UNTIL CYC#=MAXCYCLES @]@@@@ @ @E@@@@HP )@@G@@ IF CYCX=0 WRITE,S = ' NO DATA AVAILABLE.',* @]@@@@ HQ )@@G@@ @ @ @@@@ WRITE TITLE @F@@@@ WRITE DATIM DATEHR )@@G@@:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2 @]@@@@ @ @A@@@@ HS )@@G@@ @ NOW PRODUCE THE HEADINGS @]@@@@ @ @B@@@@ WRITE = ' HT )@@G@@ ',C15,'AREA',C21@D@@@@ REPEAT I=1,1 @ LOOP THRU ALL VALIDHU )@@G@@ FILE CYCLES@ @@@@ WRITE TDFORM TD(I,1)@A@@@@ WRITE = HV )@@G@@X1,' ',X1 @^@@@@ UNTIL I=CYCX @#@@@@ WRITE * HW )@@G@@@]@@@@ @ @B@@@@ WRITE = 'AREA NAME',C15,'CODE',C21@D@@@@HX )@@G@@ REPEAT I=1,1 @ LOOP THRU ALL VALID FILE CYCLES@ @@@@ WRHY )@@G@@ITE TDFORM TD(I,2)@B@@@@ IF I,ACODE @ @@@@ REPEAT CYC#=1,1 @E@@@@ II )@@G@@ LET THIS = DATA(CYC#,AREA#):H1 @ PRIME PAGES @A@@@@ IJ )@@G@@ WRITE VALUES THIS @ @@@@VALUES: FORMAT D5,X2 @D@@@@ IK )@@G@@ IF CYC#0 THEN @ SHOW %@B@@@@ WRITE GROWTH GROWTH @A@@@@IO )@@G@@GROWTH: FORMAT D3,'% ' @A@@@@ ELSE @ 0% GROWIP )@@G@@TH @ @@@@ WRITE = X6 @^@@@@ END IF IQ )@@G@@@^@@@@ END IF @ @@@@ UNTIL CYC#=CYCX @^@@@@IR )@@G@@ WRITE * @#@@@@ END IF @A@@@@ UNTIL AREAIS )@@G@@#=SCRT[010]:H1 @#@@@@ RETURN @]@@@@ @ @^@@@@OPNERRIT )@@G@@: @ ERROR ON OPEN @^@@@@ LET OPNERR=1 @ @@@@ GO TO OPNRIU )@@G@@ET @ RETURN _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IV )@@G@@*[S@@@*SDFF*@^@@@@FAC: FORMAT F6,X1,O12,* @A@@@@ LET X=CSF('@FREE DBE*SRIW )@@G@@SAVE.') @ @@@@ IF X<>0 WRITE FAC 'FREE1:',X @A@@@@ LET X=CSF('@CAT,PIX )@@G@@ DBE*SRSAVE(+1).')@ @@@@ IF X<>0 WRITE FAC 'CAT: ',X @A@@@@ LET X=CSF('IY )@@G@@@ASG,A DBE*SRSAVE.') @ @@@@ IF X<>0 WRITE FAC 'ASG: ',X @B@@@@ LET XIZ )@@G@@=CSF('@USE $$SR$$.,DBE*SRSAVE.') @ @@@@ IF X<>0 WRITE FAC 'USE: ',X JA )@@G@@@A@@@@ LET X=CSF('@BRKPT PRINT$/$$SR$$') @ @@@@ IF X<>0 WRITE FAC 'BRKPJB )@@G@@1:',X @#@@@@ SIZE-REPORT *A* @ @@@@ LET X=CSF('@BRKPT PRINT$') @ @@@@JC )@@G@@ IF X<>0 WRITE FAC 'BRKP2:',X @A@@@@ LET X=CSF('@FREE DBE*SRSAVE.') JD )@@G@@@ @@@@ IF X<>0 WRITE FAC 'FREE2:',X _@@@@@^[(G0)J@/B00^[7IL(I->^[&GD<^@$JE )@@G@@G12G(>AC'^8?J@)^@)@D@@@@*[S@@@*SDFF*@^@@@@ DIMENSION SETNAME(10) @^@@@@JF )@@G@@ PARAMETER @A@@@@ IF SETNAME(1) <> ' ' THEN @#@@@@JG )@@G@@ SET @^@@@@ ELSE IF SSEQ=0 THEN @A@@@@ WRITE = ' NOJH )@@G@@ SET IS CURRENT',*@]@@@@ RETURN @]@@@@ END IF @^@@@@ LET NAMESIZJI )@@G@@E=SRT[1]:S3 @^@@@@ IF NAMESIZE < 6 THEN @ @@@@ WRITE = C(12-2*NAMESIZEJJ )@@G@@) @[@@@@ ELSE @]@@@@ WRITE = C1 @]@@@@ END IF @B@@@@ WRITE = 'SEJK )@@G@@T REFERENCE TABLE FOR SET ' @B@@@@ WRITE TITLE , @C@@@@TITLE: FORMAT WA,' OF SCHEMA ',<2>WF,*@F@@@@ WRITEJM )@@G@@ DATE DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3 @H@@@@DATE: JN )@@G@@FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT ',F2,':',F2,':',F2,* JO )@@G@@@]@@@@ WRITE BARS @A@@@@BARS: FORMAT C20,'I',<29>'-','I',* @ @@@@ WRITEJP )@@G@@ F0 SRT[0],SRT[0]:H2 @D@@@@F0: FORMAT '[0]',X3,O12,' I',C35,':',X5,D,JQ )@@G@@C50,'I' @^@@@@ WRITE = ' SET CODE',* @]@@@@ WRITE BARS @C@@@@ WRITEJR )@@G@@ F1 SRT[1],SRT[1]:S1,SRT[1]:S3,SRT[1]:H2 @F@@@@F1: FORMAT '[1]',X3,O12,JS )@@G@@' I ',D,C25,':',C30,': ',D,C35,':',X5,O6 @B@@@@ WRITE = C50,'I ENTRY-SIJT )@@G@@ZE, NAME-SIZE,',* @ @@@@ WRITE = C59,'FEATURE FLAGS' @]@@@@ WRITE BARS JU )@@G@@@ @@@@ WRITE F2F5 2,SRT[2],SRT[2]:H1@E@@@@F2F5: FORMAT '[',O,']',X3,O12,JV )@@G@@' I',X5,D,C35,':',C50,'I' %#@@@@-33,33 . CHG 116 @^@@[@ WRITE = ' SJW )@@G@@DT SIZE',* %@@@@[@][@@@ WRITE BARS @^@@@@ WRITE F3 SRT[3],SRT[3] @G@@@@JX )@@G@@F3: FORMAT '[3]',X3,O12,' I',C34,D,C50,'I REL. SDT SECTOR ADDRESS',* JY )@@G@@@]@@@@ WRITE BARS @C@@@@ WRITE F4 SRT[4],SRT[4]:S1,SRT[4]:S2,SRT[4]:H2 JZ )@@G@@@G@@@@F4: FORMAT '[4]',X3,O12,' I ',D,C25,': ',D,C30,':',C35,':',X5,D,C5KA )@@G@@0 @ @@@@ WRITE = 'I MODE, ORDER,',* @ @@@@ WRITE = C61,'SPA RECORDKB )@@G@@ CODE'@]@@@@ WRITE BARS @ @@@@ WRITE F2F5 5,SRT[5],SRT[5]:H1@A@@@@ WRITEKC )@@G@@ = ' OWNER RECORD CODE',* @]@@@@ WRITE BARS @^@@@@ WRITE F6A 6,SRT[6KD )@@G@@] @A@@@@F6A: FORMAT '[',O,']',C7,O12,' I' @^@@@@ IF NAMESIZE < 7 TKE )@@G@@HEN @#@@@@ LET OFFSET=7 @^@@@@ LET WORDNUM=NAMESIZE @ @@@@ WRITEKF )@@G@@ F6B @^@@@@ LET NAMESIZE=NAMESIZE-1@ @@@@ WRITE = ' SKG )@@G@@ET NAME (ASCII)',*@F@@@@F6B: FORMAT C(20+(29-4*WORDNUM+2)/2),'''',A4,'''',C50,'I'@[@@@@ ELSE @#@@@@ LET OFFSET=010 @#@@@@ LET WORDNUMKI )@@G@@=6 @^@@@@ WRITE F6B @ @@@@ WRITE = ' SET NAME (ASCII)',*KJ )@@G@@@^@@@@ LET WORDNUM=NAMESIZE-6 @^@@@@ WRITE F6A 7,SRT[7] @ @@@@ WRITEKK )@@G@@ F6B @]@@@@ WRITE * @^@@@@ LET NAMESIZE=NAMESIZE-2KL )@@G@@@]@@@@ END IF @ @@@@ IF NAMESIZE = 0 GO TO DONE @A@@@@LOOP: WRITE KM )@@G@@F6A OFFSET,SRT[OFFSET] @#@@@@ WRITE = C50,'I' @^@@@@ LET OFFSET=OFFSETKN )@@G@@+1 @^@@@@ LET NAMESIZE=NAMESIZE-1@ @@@@ IF NAMESIZE = 0 GO TO DONE KO )@@G@@@]@@@@ WRITE * @]@@@@ GO TO LOOP @#@@@@DONE: WRITE BARS @]@@@@ RETURKP )@@G@@N _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@#@@@@ DIMENKQ )@@G@@SION M(30) @^@@@@ PARAMETER M:'* ' @]@@@@ ERROR ERR1 @^@@@@ IF M(KR )@@G@@1)='* ' THEN @^@@@@ WRITE ALL @C@@@@ALL: FORMAT 'ALL AKS )@@G@@REAS FOR SUBSCHEMA: ',<2>F6,* @#@@@@ LET SCH$COL=18 @[@@@@ ELSE @#@@@@KT )@@G@@ LET I=SIZE(M) @D@@@@ WRITE = 'ALL AREAS WHOSE NAMES CONFORM TO MASK KU )@@G@@"' @#@@@@ REPEAT J=1,1 @^@@@@ WRITE BYTE [M:J,6] @#@@@@BYTE: KV )@@G@@FORMAT F1 @ @@@@ UNTIL J=I*6 OR [M:J,6]=' ' @ @@@@ WRITE = X(-1),'" KW )@@G@@FOR SUB' @^@@@@ LET SCH$COL=CHARSW+1 @^@@@@ WRITE MORE KX )@@G@@@A@@@@MORE: FORMAT 'SCHEMA: ',<2>F6,* @]@@@@ END IF @^@@@@ WRITEKY )@@G@@ SCHEMA @C@@@@SCHEMA: FORMAT C(SCH$COL),'SCHEMA: ',<2>F6,*,* KZ )@@G@@@#@@@@ REPEAT I=1,1 @]@@@@ LET E=0 @]@@@@ LET T=0 @]@@@@ ERRORLA )@@G@@ ERR2 @]@@@@ SSAREA,N #I@]@@@@RTN2: ERROR @^@@@@ MASKF , LB )@@G@@@#@@@@ IF RESULT=1 THEN @]@@@@ ERROR ERR3 @^@@@@ IF ART[3]:S6<8 THEN LC )@@G@@@]@@@@ PAGE 1 @[@@@@ ELSE @]@@@@ PAGE 0 @]@@@@ END IF @]@@@@LD )@@G@@RTN3: ERROR @A@@@@ WRITE AREA SSACODE,ACODE, @^@@@@ IF ART[3]:SLE )@@G@@6<8 THEN @#@@@@ WRITE = ' SARP' @[@@@@ ELSE @#@@@@ WRITE = ' DARP' LF )@@G@@@]@@@@ END IF @^@@@@ IF ART[1]:S2=0 THEN @#@@@@ WRITE = ' EXEC' LG )@@G@@@[@@@@ ELSE @#@@@@ WRITE = ' TIP ' @]@@@@ END IF @^@@@@ IF E=75 ANDLH )@@G@@ T=021 THEN @A@@@@ WRITE = ' UNAVAILABLE: TPFREE''D' @#@@@@ ELSE IF E=7LI )@@G@@5 THEN@]@@@@ WRITE I/O T@#@@@@ ELSE IF E=10 THEN@#@@@@ WRITE FACREJ T LJ )@@G@@@#@@@@ ELSE IF E=79 THEN@D@@@@ WRITE = ' UNAVAILABLE: PAGE HEADER INCONSLK )@@G@@ISTENCY' @#@@@@ ELSE IF E=80 THEN@C@@@@ WRITE = ' UNAVAILABLE: AREA ILL )@@G@@S UNINITIALIZED' @ @@@@ ELSE IF E<>9 AND E<>0 THEN @#@@@@ WRITE ERRORLM )@@G@@ E @ @@@@ ELSE IF PH[1]:S3**7 = 0 THEN @#@@@@ WRITE = ' DATA' @ @@@@LN )@@G@@ ELSE IF PH[1]:S3**7 = 2 THEN @#@@@@ WRITE = ' INDEX' @ @@@@ ELSE IF PH[LO )@@G@@1]:S3**7 = 3 THEN @^@@@@ WRITE = ' POINTER' @[@@@@ ELSE @^@@@@ WRITELP )@@G@@ = ' ?UNKNOWN?' @]@@@@ END IF @]@@@@ WRITE * @]@@@@ END IF LQ )@@G@@@^@@@@LOOP: UNTIL I=SST[7]:H1 @]@@@@ RETURN @#@@@@ERR1: ERRPR,N LR )@@G@@@]@@@@ RETURN @#@@@@ERR2: LET T=EINFO @]@@@@ LET E=ECODE@]@@@@ IF E=LS )@@G@@6 THEN@D@@@@ IF M(1)='* ' THEN @ ONLY IF THEY WANTED ALL... @^@@@@LT )@@G@@ WRITE INCNST I,ACODE @ @@@@INCNST: FORMAT D,':',C7,D,':' @B@@@@ WRITELU )@@G@@ = C14,'------------ ---- ---- ' @D@@@@ WRITE = 'UNAVAILABLE: CODE NOLV )@@G@@T FOUND IN SCHEMA',* @]@@@@ END IF @]@@@@ GOTO LOOP @]@@@@ END ILW )@@G@@F @]@@@@ ERROR ERR3 @B@@@@ SSAREA,PN #I @ JUST MAKE ART AVAILABLE LX )@@G@@@]@@@@ GOTO RTN2 @A@@@@ERR3: IF E=0 THEN @ NO ERROR SO FAR @]@@@@ LET TLY )@@G@@=EINFO@]@@@@ LET E=ECODE@]@@@@ END IF @]@@@@ GOTO RTN3 @B@@@@AREA: LZ )@@G@@FORMAT D,':',C7,D,':',C14,<2>F6 @B@@@@I/O: FORMAT ' UNAVAILABLE: I/OMA )@@G@@ ERROR ',O @C@@@@FACREJ: FORMAT ' UNAVAILABLE: FAC REJECT: ',O12 @D@@@@MB )@@G@@ERROR: FORMAT ' UNAVAILABLE: GENERAL DBE ERROR ',D _@@@@@RTN2 @A@@@@MC )@@G@@ERR3: IF E=0 THEN @ NO ERROR SO FAR @]@@@@ LET T=EINFO@]@@@@ LET E=ECODEMD )@@G@@@]@@@@ END IF @]@@@@*[S@@@*SDFF*@#@@@@ DIMENSION M(30) @^@@@@ PARAMME )@@G@@ETER M:'* ' @^@@@@ IF M(1)='* ' THEN @^@@@@ WRITE ALL @D@@@@ALL: FORMAT 'ALL RECORDS FOR SUBSCHEMA: ',<2>F6,* @#@@@@MG )@@G@@ LET SCH$COL=20 @[@@@@ ELSE @#@@@@ LET I=SIZE(M) @D@@@@ WRITE = 'ALMH )@@G@@L RECORDS WHOSE NAMES CONFORM TO MASK "' @#@@@@ REPEAT J=1,1 @^@@@@MI )@@G@@ WRITE BYTE [M:J,6] @#@@@@BYTE: FORMAT F1 @ @@@@ UNTIL J=I*6 OR [MMJ )@@G@@:J,6]=' ' @ @@@@ WRITE = X(-1),'" FOR SUB' @^@@@@ LET SCH$COL=CHARSMK )@@G@@W+1 @^@@@@ WRITE MORE @A@@@@MORE: FORMAT 'SCHEMA: ',<2>F6,ML )@@G@@* @]@@@@ END IF @^@@@@ WRITE SCHEMA @C@@@@SCHEMA: FORMMM )@@G@@AT C(SCH$COL),'SCHEMA: ',<2>F6,*,* @C@@@@ ERROR NOGOOD @MN )@@G@@ IN CASE OF E$114 @#@@@@ REPEAT I=1,1 @]@@@@ SSRECORD #I@A@@@@ MASKAMO )@@G@@ , @F@@@@ IF RESULT=1 WRITE RECORD SSRCODE,RMP )@@G@@CODE, @D@@@@RECORD: FORMAT D,':',C7,D,':',C14,A4,* @]@@@@ GOTO CNTNUE@B@@@@NOGOOD: @ SUBSCHEMA/SCHEMA INCMR )@@G@@ONSISTENCY @G@@@@ IF M(1)='* ' WRITE INCNST I,RCODE @ ONLY IF THEY MS )@@G@@WANTED ALL... @F@@@@INCNST: FORMAT D,':',C7,D,':',C14,'',* @ @@@@CNTNUE: UNTIL I=SST[010]:H1 _@@@@@ @MU )@@G@@ IN CASE OF E$114 @#@@@@ REPEAT I=1,1 @]@@@@ SSRECORD #I@A@@@@ MASKAMV )@@G@@ , @F@@@@ IF RESULT=1 WRITE RECORD SSRCODE,RMW )@@G@@*[S@@@*SDFF*@#@@@@ DIMENSION M(30) @^@@@@ PARAMETER M:'* ' @^@@@@MX )@@G@@ IF M(1)='* ' THEN @^@@@@ WRITE ALL @C@@@@ALL: FORMAT MY )@@G@@'ALL SETS FOR SUBSCHEMA: ',<2>F6,* @#@@@@ LET SCH$COL=17 @[@@@@ ELSE MZ )@@G@@@#@@@@ LET I=SIZE(M) @D@@@@ WRITE = 'ALL SETS WHOSE NAMES CONFORM TO NA )@@G@@MASK "' @#@@@@ REPEAT J=1,1 @^@@@@ WRITE BYTE [M:J,6] @#@@@@NB )@@G@@BYTE: FORMAT F1 @ @@@@ UNTIL J=I*6 OR [M:J,6]=' ' @ @@@@ WRITE = X(-NC )@@G@@1),'" FOR SUB' @^@@@@ LET SCH$COL=CHARSW+1 @^@@@@ WRITE MORE @A@@@@MORE: FORMAT 'SCHEMA: ',<2>F6,* @]@@@@ END IF @^@@@@NE )@@G@@ WRITE SCHEMA @C@@@@SCHEMA: FORMAT C(SCH$COL),'SCHEMA: ',<2>F6NF )@@G@@,*,* @A@@@@ IF SST[011]:H1 = 0 THEN @ NO SETS @C@@@@ WRITE = ' THIS SNG )@@G@@UBSCHEMA INCLUDES NO SETS.',* @]@@@@ RETURN @[@@@@ ELSE @C@@@@ ERRORNH )@@G@@ NOGOOD @ IN CASE OF E$115@#@@@@ REPEAT I=1,1 @E@@@@NI )@@G@@ SSSET #I @ GET SET BY SUBSCHEMA CODE @A@@@@ MASKANJ )@@G@@ , @E@@@@ IF RESULT=1 WRITE SET SSSCODE,SCODNK )@@G@@E, @C@@@@SET: FORMAT D,':',C7,D,':',C14,NL )@@G@@A4,* @]@@@@ GOTO CNTNUE@B@@@@NOGOOD: @ SUBSCHEMA/SCHEMA INCONSISTENCY NM )@@G@@@G@@@@ IF M(1)='* ' WRITE INCNST I,SCODE @ ONLY IF THEY WANTED ALL..NN )@@G@@. @F@@@@INCNST: FORMAT D,':',C7,D,':',C14,'',* @ @@@@CNTNUE: UNTIL I=SST[011]:H1 @]@@@@ END IF _@@@@@@E@@@@NP )@@G@@ SSSET #I @ GET SET BY SUBSCHEMA CODE @A@@@@ MASKANQ )@@G@@ , @E@@@@ IF RESULT=1 WRITE SET SSSCODE,SCODNR )@@G@@*[S@@@*SDFF*@B@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3 @G@@@@DATE: NS )@@G@@FORMAT 'SUBSCHEMA REFERENCE TABLE [SST]',C37,F2,'/',F2,'/',F2,*,* @ @@@@NT )@@G@@ WRITE SS0 SST[0],SST[0]:H2 @C@@@@ WRITE SS1 SST[1],SST[1]:S1,SST[1]:SNU )@@G@@2,SST[1]:H2 @^@@@@ IF SST[1]:S1=1 THEN @ @@@@ WRITE SS2A SST[2],SST[2NV )@@G@@] @F@@@@ WRITE = C12,'*** WORDS 3-5 ARE UNUSED FOR TIP SUBSCHEMAS **NW )@@G@@*',* @[@@@@ ELSE @ @@@@ WRITE SS2B SST[2],SST[2] @^@@@@ WRITE SS3 SNX )@@G@@ST[3],SST[3]@^@@@@ WRITE SS4 SST[4],SST[4]@^@@@@ WRITE SS5 SST[5],SST[5]NY )@@G@@@]@@@@ END IF @^@@@@ WRITE SS6 SST[6],SST[6]@B@@@@ WRITE SS7 SST[7],NZ )@@G@@SST[7]:H1,SST[7]:H2 @B@@@@ WRITE SS8 SST[8],SST[8]:H1,SST[8]:H2 OA )@@G@@@B@@@@ WRITE SS9 SST[9],SST[9]:H1,SST[9]:H2 @B@@@@ WRITE SS10 SST[10OB )@@G@@],SST[10]:H1,SST[10]:H2 @G@@@@SS0: FORMAT 'SST[0]',C10,O12,' ****** ',D,OC )@@G@@C37,'******, SCRT-CORE-ADDR',*@H@@@@SS1: FORMAT ' [1]',C10,O12,' ',D,'OD )@@G@@ ',D,' ** ',O6,C37,'TIP, HST-LNG, FEAT',* @F@@@@SS2A: FORMAT ' [2]',C1OE )@@G@@0,O12,' ',D,C37,'TIP/DMS FILE CODE',* @F@@@@SS2B: FORMAT ' [2]',C1OF )@@G@@0,O12,' ''',F6,'''',C37,'FILE-NAME',* @E@@@@SS3: FORMAT ' [3]',C10OG )@@G@@,O12,' ''',F6,'''',C37,' " ',*@F@@@@SS4: FORMAT ' [4]',C10,O12,'OH )@@G@@ ''',F6,'''',C37,'FILE-QUALIFIER',* @E@@@@SS5: FORMAT ' [5]',C10,O12,'OI )@@G@@ ''',F6,'''',C37,' "',* @E@@@@SS6: FORMAT ' [6]',C10,O12,' ',D,COJ )@@G@@37,'ELEMENT-FILE-ADDR',*@G@@@@SS7: FORMAT ' [7]',C10,O12,' ',D,' ',D,COK )@@G@@37,'#S-ARTS, BEGIN-S-ARTS',* @G@@@@SS8: FORMAT ' [010]',C10,O12,' ',DOL )@@G@@,' ',D,C37,'#S-RRTS, BEGIN-S-RRTS',*@G@@@@SS9: FORMAT ' [011]',C10,O12OM )@@G@@,' ',D,' ',D,C37,'#S-SRTS, BEGIN-S-SRTS',*@H@@@@SS10: FORMAT ' [012]',ON )@@G@@C10,O12,' ',D,' ',D,C37,'#S-FDTS, BEGIN-S-FDTS',* _@@@@@SST[4]@^@@@@OO )@@G@@ WRITE SS5 SST[5],SST[5]*[S@@@*SDFF*@A@@@@ DIMENSION BUFFER(33),FILENAMEOP )@@G@@(12) @A@@@@ PARAMETER ,LINECT:60,PID @ @@@@ OPEN SDFI SYM= @^@@@@ IF FITYPE<>'P' THEN @C@@@@ WRITE = R,' FILE IOR )@@G@@S NOT A PRINT FILE',* @]@@@@ RETURN @]@@@@ END IF @[@@@@ OFF HOS )@@G@@@#@@@@ HARDCOPY,T PID @[@@@@ ON N @[@@@@ ON H @]@@@@ LET LINE#=0@]@@@@OT )@@G@@ DO FOREVER @ @@@@ GET SYM(EOF=EOF) @#@@@@ LET SIZE = NWORDSOU )@@G@@@#@@@@ IF SIZE = 0 THEN @D@@@@ LET BUFFER(1) = ' 'A*CHRSET ++ (CHRSETOV )@@G@@=0)*' '@#@@@@ LET SIZE = 1 @]@@@@ END IF @^@@@@ LET SPACINGOW )@@G@@ = CARCTL @#@@@@ IF PRTCN = 1 THEN@ @@@@ LET FLAGA = BUFFER(1):H1 OX )@@G@@@ @@@@ LET FLAGF = BUFFER(1):NT1 @G@@@@ IF FLAGA = 'L,'A OR FLAGA = 'OY )@@G@@.L'A OR FLAGF = 'L,' OR FLAGF = '.L' THEN @#@@@@ LET SPACING = -1 @#@@@@OZ )@@G@@ LET LINE# = 0 @]@@@@ END IF @C@@@@ ELSE IF SPACING:B35 = 1 OR LIPA )@@G@@NE# > LINECT THEN @#@@@@ LET SPACING = -1 @#@@@@ LET LINE# = 0 @]@@@@PB )@@G@@ END IF @^@@@@ IF SPACING <> 0 THEN @D@@@@ IF SPACING > 1 OR SPACIPC )@@G@@NG < 0 WRITE = R,*(SPACING-1) @#@@@@ IF PRTCN = 0 THEN@ @@@@ IF CHRSET =PD )@@G@@ 0 THEN @FDATA @^@@@@ WRITE @]@@@@ ELSE @ASCII@^@@@@PE )@@G@@ WRITE,A @]@@@@ END IF @B@@@@ IF SPACING > 0 LET LINEPF )@@G@@#=LINE#+SPACING @]@@@@ END IF @]@@@@ END IF @]@@@@ END DO PG )@@G@@@ @@@@EOF: WRITE = R,*(-1),*(-1) @]@@@@ CLOSE SYM @[@@@@ OFF H@[@@@@PH )@@G@@ OFF N@C@@@@ WRITE = R,'FILE HAS BEEN SYMED TO PRINTER',* _@@@@@@]@@@@PI )@@G@@ END IF @[@@@@ OFF H@#@@@@ HARDCOPY,T PID @[@@@@ ON N @[@@@@ ON H PJ )@@G@@@]@@@@ LET LINE#=0@]@@@@*[S@@@*SDFF*@^@@@@ DIMENSION ARGUMENT (10)@^@@@@PK )@@G@@ PARAMETER :0 @]@@@@ ERROR ERR @D@@@@ IF ARGUMENT(1)=0 THEN PL )@@G@@@ PRINT EXPLANATION OF SYNTAX@F@@@@ WRITE = R,'"SYNTAX X" PRINTS THE COPM )@@G@@MMAND SYNTAX OF COMMAND "X"',*@]@@@@ RETURN @[@@@@ ELSE @^@@@@ WRITEPN )@@G@@ SYNMSG @G@@@@SYNMSG: FORMAT R,'LET STATUS = PRT,N DBE$HELPLIBPO )@@G@@.S$',<2>WF,'/SYNTAX' @[@@@@ * @^@@@@ IF STATUS = 0 RETURN @A@@@@PP )@@G@@ IF STATUS = 86 OR STATUS = 27 THEN @^@@@@ WRITE NOEXPL @H@@@@PQ )@@G@@NOEXPL: FORMAT R,'THERE IS NO EXPLANATION FOR THE SYNTAX OF "',<10>WF,'"PR )@@G@@',* @]@@@@ RETURN @[@@@@ ELSE @[@@@@ ERRPR@]@@@@ END IF @]@@@@PS )@@G@@ END IF @]@@@@ERR: ERROR @B@@@@ WRITE = R,'ERROR IN MACRO "SYNTAX"'PT )@@G@@,* _@@@@@"',<10>WF,'"',* @]@@@@ RETURN @[@@@@ ELSE @[@@@@ ERRPRPU )@@G@@@]@@@@ END IF @]@@@@ END IF @]@@@@ERR: ERROR @B@@@@ WRITE = R,'PV )@@G@@*[S@@@*SDFF*@B@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3 @B@@@@ WRITEPW )@@G@@ TIME TIME:NT1,TIME:NT2,TIME:NT3 @C@@@@DATE: FORMAT 'TODAY IS ',F2,'/PX )@@G@@',F2,'/',F2,'. ' @D@@@@TIME: FORMAT 'THE TIME IS ',F2,':',F2,':',F2,'.'PY )@@G@@,* _@@@@@@B@@@@ WRITE TIME TIME:NT1,TIME:NT2,TIME:NT3 @C@@@@DATE: PZ )@@G@@FORMAT 'TODAY IS ',F2,'/',F2,'/',F2,'. ' @D@@@@*[S@@@*SDFF*@A@@@@ DIMENQA )@@G@@SION E(2),V(2),S(1),X(8),Z(3) @#@@@@ ERROR BADARG @#@@@@ IF OPTS:T=0QB )@@G@@ THEN @^@@@@ DIMENSION F(8),Q(13) @#@@@@ PARAMETER X:0,S:0@]@@@@ LET ZQC )@@G@@(1)=1 @ @@@@ LET =BREAK ,'.',48, @#@@@@ IF Z(2)<>'.' THEN@#@@@@QD )@@G@@ LET ='TPF$.' @]@@@@ LET Z(1)=1 @[@@@@ ELSE @^@@@@ LET [F:Z(3)+1,6]=QE )@@G@@'.' @]@@@@ END IF @#@@@@ LET I=TOCSIZE @B@@@@ IF I<0 GOTO NOPFEQF )@@G@@ @ NOT PROGRAM FILE @]@@@@ DIM T(I) @^@@@@ LET =GETTOC QG )@@G@@@^@@@@ LET =FITEM('TOCSIZ')@[@@@@ ELSE @ @@@@ PARAMETER E:0,X:' QH )@@G@@',S:0 @#@@@@ LET F=VALUE() @^@@@@ LET I=TOCSIZE,T @B@@@@ IF I=GETQJ )@@G@@TOC,T @]@@@@ LET Z(1)=1 @]@@@@ END IF @ @@@@ LET =BREAK QK )@@G@@,'/ ',12,@ @@@@ IF E(1)=' ' LET ='*' @ @@@@ IF Z(2)=' ' OR Z(QL )@@G@@2)=0 THEN @]@@@@ LET ='*'@[@@@@ ELSE @ @@@@ LET =BREAK ,' ',1QM )@@G@@2, @]@@@@ END IF @[@@@@ ERROR@]@@@@ LET L=99 @#@@@@ LET B=20+30QN )@@G@@*MODE @]@@@@ LET N=0 @]@@@@ LET O=OPTS @]@@@@ LET P=0 @ @@@@ LET PQO )@@G@@=PFS ,,,P,O,@#@@@@ WHILE P>=0 DO @A@@@@ LET A=ELT-TYPE T(QP )@@G@@P+3):S3,T(P+7):S1 @]@@@@ IF L>B THEN@]@@@@ LET L=0 @]@@@@ LET N=N+1 QQ )@@G@@@#@@@@ IF OPTS:T=0 THEN @A@@@@ WRITE EXEC ,,Q(7):NT3@B@@@@QR )@@G@@EXEC: FORMAT <2>WF,'*',<2>WF,'(',D,').' @[@@@@ ELSE @]@@@@ WRITE TIP FQS )@@G@@@ @@@@TIP: FORMAT 'TIP/DMS FILE #',D@]@@@@ END IF @F@@@@ WRITE DTP DQT )@@G@@ATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIME:NT3,N@H@@@@DTP: FORMAT QU )@@G@@C45,' ',F2,'/',F2,'/',F2,' ',F2,':',F2,':',F2,' PAGE: ',D,*(-1) @L@@@@QV )@@G@@ IF S(1)<>0 OR E(1)<>'* ' OR V(1)<>'* ' OR OPTS:S=1 OR OPTS:A=1 QW )@@G@@OR OPTS:R=1 OR OPTS:O=1 THEN @B@@@@ IF E(1)<>'* ' OR V(1)<>'* 'QX )@@G@@ THEN @C@@@@ WRITE = 'ELEMENT/VERSION MUST MATCH MASK ' @A@@@@ IF E(QY )@@G@@1)<>'* ' WRITE EMASK @A@@@@ IF V(1)<>'* ' WRITE VMASK QZ )@@G@@@^@@@@EMASK: FORMAT <2>WF @^@@@@VMASK: FORMAT '/',<2>WF @#@@@@ WRITERA )@@G@@ = ', ' @]@@@@ END IF @D@@@@ IF OPTS:A=1 OR OPTS:S=1 OR OPTS:R=1RB )@@G@@ OR OPTS:O=1 THEN @^@@@@ WRITE = 'TYPE MUST BE '@ @@@@ IF OPTS:A=1 WRITERC )@@G@@ = 'ABS, ' @ @@@@ IF OPTS:R=1 WRITE = 'REL, ' @ @@@@ IF OPTS:O=1 WRITERD )@@G@@ = 'OMN, ' @ @@@@ IF OPTS:S=1 WRITE = 'SYM, ' @]@@@@ END IF @#@@@@RE )@@G@@ IF S(1)<>0 THEN @#@@@@ WRITE TMASK S(1) @B@@@@TMASK: FORMAT 'TYPE MUSTRF )@@G@@ BE ',WF,' ' @]@@@@ END IF @^@@@@ WRITE = X(-2),' ',* @[@@@@RG )@@G@@ ELSE @]@@@@ WRITE = * @]@@@@ END IF @]@@@@ WRITE TITLE@G@@@@TITLE:RH )@@G@@ FORMAT 'SEQ',C8,'ELEMENT',C21,'VERSION',C34,'TYPE',C41,'DATE' @#@@@@RI )@@G@@ WRITE TITLE2 @D@@@@TITLE2: FORMAT C50,'TIME',C58,'SIZE',C67,'LOCN',RJ )@@G@@* @]@@@@ END IF @#@@@@ LET I=(P-131)/10 @A@@@@ WRITE SEV I,, @A@@@@SEV: FORMAT D,C8,<2>F6,C21,<2>F6 @A@@@@ IF T(RL )@@G@@P+3):B35=1 WRITE = C6,'*' @#@@@@ WRITE TYPE A @^@@@@TYPE: FORMATRM )@@G@@ C34,WF @#@@@@ LET M=T(P+9):S4 @#@@@@ LET D=T(P+9):S5 @^@@@@ LET YRN )@@G@@=T(P+9):S6+64 @#@@@@ WRITE DATE M,D,Y @A@@@@DATE: FORMAT C39,Z2,'/',RO )@@G@@Z2,'/',Z2 @#@@@@ LET Y=T(P+9):H1 @]@@@@ LET C=Y\60 @]@@@@ LET Y=Y/60 RP )@@G@@@]@@@@ LET M=Y\60 @]@@@@ LET H=Y/60 @#@@@@ WRITE TIME H,M,C @A@@@@TIME: RQ )@@G@@FORMAT C48,Z2,':',Z2,':',Z2 @ @@@@ WRITE SL T(P+7):H2,T(P+8) @^@@@@RR )@@G@@SL: FORMAT C57,D5,C64,D7@#@@@@ LET A=T(P+3) @B@@@@ IF A:S3<5 AND A:BRS )@@G@@28=1 WRITE = C72,'Q' @C@@@@ IF A:S3=6 OR A:S3=5 AND A:B25=1 WRITE = CRT )@@G@@72,'Q'@E@@@@ IF A:S3=6 OR A:S3=5 AND A:B35=0 AND A:B24=1 WRITE = C6,'E' RU )@@G@@@]@@@@ WRITE * @]@@@@ LET L=L+1 @ @@@@ LET P=PFS ,,,P,O,RV )@@G@@@]@@@@ END WHILE @]@@@@ RETURN @[@@@@ @ @C@@@@BADARG: WRITE,S = RW )@@G@@R,' BAD ARGUMENT(S)',* @[@@@@ @ @^@@@@NOPFE: WRITE NOPFE$ RX )@@G@@@D@@@@NOPFE$: FORMAT '"',<8>WF,'" IS NOT A PROGRAM FILE.',* @[@@@@ STOP RY )@@G@@@[@@@@ @ @^@@@@NOPFT: WRITE NOPFT$ F @E@@@@NOPFT$: FORMAT 'TIP/DMS RZ )@@G@@FILE ',D,' IS NOT A PROGRAM FILE.',*@[@@@@ STOP _@@@@@ A:B25=1 WRITE = CSA )@@G@@72,'Q'@E@@@@ IF A:S3=6 OR A:S3=5 AND A:B35=0 AND A:B24=1 WRITE = C6,'E' SB )@@G@@@]@@@@ WRITE * @]@@@@*[S@@@*SDFF*@#@@@@ EXPLAIN TOPICS _@@@@@C]@@@ SC )@@G@@@]M@B4@]L@]L@@@@Y@@@@@@@@@@@@@ END IF @A@@@@ERROR: IF ECODE=113 GOTOSD )@@G@@ RECOVR @]@@@@ ERRPR,N @#@@@@ ERROR RETUR*[S@@@*SDFF*@#@@@@ DIMENSE )@@G@@SION A(10) @#@@@@ PARAMETER @ @@@@ IF OPTS:P=0 AND OPTS<>0 THEN SF )@@G@@@ @@@@ WRITE = ' BAD OPTION',*@]@@@@ RETURN @]@@@@ END IF SG )@@G@@@^@@@@ IF A(1)<>' ' THEN @#@@@@ ERROR ERRLAB @#@@@@ IF OPTS:P=1SH )@@G@@ THEN @]@@@@ AREA,P @[@@@@ ELSE @]@@@@ AREA @]@@@@ END IF SI )@@G@@@[@@@@ ERROR@^@@@@ ELSE IF ASEQ=0 THEN @B@@@@ WRITE = ' NO AREASJ )@@G@@ IS CURRENT',* @]@@@@ RETURN @]@@@@ END IF @ @@@@RTN: IF ART[SK )@@G@@1]:S2 = 0 THEN @C@@@@ WRITE = ' THIS AREA IS NOT A TIP AREA',* SL )@@G@@@]@@@@ RETURN @]@@@@ END IF @A@@@@ WRITE INFO ART[0]:H2, @F@@@@ WRITE DATE DATE:NT1,DATE:NT2,DATE:NT3,TIME:NT1,TIME:NT2,TIMSN )@@G@@E:NT3 @G@@@@INFO: FORMAT C15,'TIP REG. INFO [TREG] FOR AREA: ',D,' [',<2SO )@@G@@>WF,']',* @H@@@@DATE: FORMAT C20,'PREPARED ON ',F2,'/',F2,'/',F2,' AT SP )@@G@@',F2,':',F2,':'F2,* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 0,TREG[0] SQ )@@G@@@#@@@@ WRITE WO TREG[0] @^@@@@ WRITE = 'STATUS',* @]@@@@ WRITE DOT SR )@@G@@@]@@@@ WRITE BARS @]@@@@ WRITE DOT @]@@@@ WRITE SKIP @]@@@@ WRITE DOT SS )@@G@@@]@@@@ WRITE BARS @^@@@@ WRITE WORD 3,TREG[3] @^@@@@ WRITE H TREG[3]:HST )@@G@@1,':' @^@@@@ WRITE H TREG[3]:H2,'I' @B@@@@ WRITE = 'TRAIN-FILE-#, TIP-FISU )@@G@@LE-#',* @]@@@@ WRITE BARS @^@@@@ WRITE WORD 4,TREG[4] @^@@@@ WRITESV )@@G@@ 2WF @B@@@@ WRITE = 'FCSS FILENAME (2 WDS, FDATA)',* @^@@@@SW )@@G@@ WRITE WORD 5,TREG[5] @]@@@@ WRITE BARS @^@@@@ WRITE WORD 6,TREG[6] SX )@@G@@@^@@@@ WRITE SD TREG[6]:S1,':'@^@@@@ WRITE SD TREG[6]:S2,':'@^@@@@ WRITESY )@@G@@ SD TREG[6]:S3,':'@]@@@@ WRITE FS6 @ @@@@ WRITE SD TREG[6]:S6,'I ' SZ )@@G@@@A@@@@ WRITE = 'DEV-IDX, FIL-TYPE,',* @A@@@@ WRITE = C55,'STG-TYPE, TA )@@G@@F-BACK' @]@@@@ WRITE BARS @^@@@@ WRITE WORD 7,TREG[7] @ @@@@ WRITETB )@@G@@ TD TREG[7]:NT1,':' @]@@@@ WRITE FS5 @^@@@@ WRITE SD TREG[7]:S5,':'TC )@@G@@@ @@@@ WRITE SD TREG[7]:S6,'I ' @B@@@@ WRITE = 'REC-LEN, AUDIT-#, COTD )@@G@@PY-1-ST',* @]@@@@ WRITE BARS @ @@@@ WRITE WORD 010,TREG[010] @]@@@@TE )@@G@@ WRITE FS6 @ @@@@ WRITE SD TREG[010]:S6,'I ' @ @@@@ WRITE = 'COPY-2-STF )@@G@@TATUS',* @]@@@@ WRITE BARS @ @@@@ WRITE WORD 011,TREG[011] @^@@@@TG )@@G@@ WRITE WD TREG[011] @ @@@@ WRITE = 'NUMBER-OF-RECORDS',*@]@@@@ WRITETH )@@G@@ BARS @ @@@@ WRITE WORD 012,TREG[012] @^@@@@ WRITE WD TREG[012] TI )@@G@@%#@@@@-74,74 . CDM140 @B@@[@ WRITE = 'EXEC-FILE-START-WORD [1]',* TJ )@@G@@%@@@@[@][@@@ WRITE DOT @]@@@@ WRITE BARS @]@@@@ WRITE SKIP @[@@@@ PAUSETK )@@G@@@]@@@@ WRITE BARS @ @@@@ WRITE WORD 013,TREG[013] @ @@@@ WRITE 2WF @A@@@@ WRITE = 'EXEC-FILENAME-COPY-1',* @ @@@@ WRITETM )@@G@@ WORD 014,TREG[014] @]@@@@ WRITE BARS @ @@@@ WRITE WORD 015,TREG[015TN )@@G@@] @^@@@@ WRITE WD TREG[015] %#@@@@-87,87 . CDM140 @B@@[@ WRITETO )@@G@@ = 'EXEC-FILE-START-WORD [2]',* %@@@@[@][@@@ WRITE BARS @ @@@@ WRITETP )@@G@@ WORD 016,TREG[016] @ @@@@ WRITE 2WF @A@@@@ WRITETQ )@@G@@ = 'EXEC-FILENAME-COPY-2',* @ @@@@ WRITE WORD 017,TREG[017] @]@@@@TR )@@G@@ WRITE BARS @]@@@@ WRITE DOT @]@@@@ WRITE SKIP @]@@@@ WRITE DOT @]@@@@TS )@@G@@ WRITE BARS @ @@@@ WRITE WORD 036,TREG[036] @ @@@@ WRITE H TREG[036]TT )@@G@@:H1,':' @ @@@@ WRITE H TREG[036]:H2,'I ' @B@@@@ WRITE = 'LOG-FILETU )@@G@@-#-1, LOG-FILE-#-2',* @]@@@@ WRITE BARS @]@@@@ RETURN @A@@@@BARS: TV )@@G@@FORMAT C20,'I',<29>'-','I',* @B@@@@WORD: FORMAT '[',O,']',C7,O12,X1,'I TW )@@G@@' @ @@@@WO: FORMAT X7,O12,X9,'I ' @^@@@@DOT: FORMAT C12,'.' TX )@@G@@@B@@@@SKIP: FORMAT C12,'.',C20,'/',<29>' ','/',*@^@@@@H: FORMAT D7,X6,WFTY )@@G@@,' ' @B@@@@2WF: FORMAT X6,'''',<2>F6,'''',X8,'I ' @^@@@@SD: FORMAT DTZ )@@G@@2,X1,WF,X1 @^@@@@FS6: FORMAT C45,': ' @^@@@@FS5: FORMAT C40,': ' UA )@@G@@@ @@@@TD: FORMAT X2,D4,X2,WF,X3 @^@@@@WD: FORMAT D15,X13,'I ' @#@@@@UB )@@G@@ERRLAB: ERRPR,N @[@@@@ ERROR@D@@@@ IF ECODE<>0 RETURN @ WHICH ERRORS SUC )@@G@@HOULD CONTINUE? @#@@@@ WRITE = R,*,*,* @]@@@@ GOTO RTN _@@@@@@@@@@@UD )@@G@@*[S@@@*SDFF*@^@@@@ DIMENSION BUFFER(1) @ @@@@ PARAMETER BUFFER,FIRST$UE )@@G@@WD#:$ @ @@@@ LET LAST$WD# = SIZE(BUFFER) @C@@@@ IF OPTS = 0 OR OPTS**(-UF )@@G@@0304004000)<>0 THEN @D@@@@ WRITE = R,' INVALID OPTION(S) SPEUG )@@G@@CIFIED',* @]@@@@ RETURN @]@@@@ END IF @ @@@@ LET WORD$COUNT = UH )@@G@@LAST$WD# @A@@@@ LET PRINT$WIDTH = 68 + MODE*56 @^@@@@ LET COLS$INUI )@@G@@$USE = 0 @A@@@@ IF OPTS:O LET COLS$IN$USE = 13 @D@@@@ IF OPTS:B LUJ )@@G@@ET COLS$IN$USE = COLS$IN$USE + 36 + OPTS:O@F@@@@ IF OPTS:F LET COLS$IN$UUK )@@G@@SE = COLS$IN$USE + 6 + OPTS:O + OPTS:B @G@@@@ IF OPTS:A LET COLS$IN$UUL )@@G@@SE = COLS$IN$USE + 4 + OPTS:O + OPTS:B + OPTS:F @C@@@@ LET WDS$PER$LINE UM )@@G@@= PRINT$WIDTH / COLS$IN$USE @#@@@@ LET AVAIL$COL = 8@A@@@@ IF OPTS:O TUN )@@G@@HEN @ SET UP OCTAL STUFF@^@@@@ LET OCT$COL = AVAIL$COL@C@@@@ LET OCT$DASUO )@@G@@HES = 7 + 13*(WDS$PER$LINE - 1) @C@@@@ LET AVAIL$COL = AVAIL$COL + 6UP )@@G@@ + OCT$DASHES @]@@@@ END IF @B@@@@ IF OPTS:B THEN @ SET UP BINARUQ )@@G@@Y STUFF @ @@@@ LET BIN$COL = AVAIL$COL - 1 @B@@@@ LET BIN$DASHES = UR )@@G@@30 + 37*(WDS$PER$LINE-1)@C@@@@ LET AVAIL$COL = AVAIL$COL + 7 + BIN$DASHEUS )@@G@@S @]@@@@ END IF @A@@@@ IF OPTS:F THEN @ SET UP FDATA STUFF@^@@@@UT )@@G@@ LET FDA$COL = AVAIL$COL@E@@@@ LET FDA$DASHES = (WDS$PER$LINE>1) * (6 * UU )@@G@@WDS$PER$LINE - 8) @C@@@@ LET AVAIL$COL = AVAIL$COL + 9 + FDA$DASHES UV )@@G@@@]@@@@ END IF @A@@@@ IF OPTS:A THEN @ SET UP ASCII STUFF@^@@@@ LET AUW )@@G@@SC$COL = AVAIL$COL@E@@@@ LET ASC$DASHES = (WDS$PER$LINE>1) * (4*WDS$PER$UX )@@G@@LINE - 5) @]@@@@ END IF @D@@@@ IF OPTS:O WRITE = C(OCT$COL),'OCTALUY )@@G@@','-' @E@@@@ IF OPTS:B WRITE = C(BIN$COL+1),'BINARY','-' @E@@@@ IF OPTS:F WRITE = C(FDA$COL),'FIELDATA','VA )@@G@@-' @D@@@@ IF OPTS:A WRITE = C(ASC$COL),'ASCII','-' @]@@@@VB )@@G@@ WRITE * @A@@@@ LET SKIPED$VALUE = 0777770077777 @^@@@@ LET FLAG$CHVC )@@G@@AR = ' ' @#@@@@ LET LINE^ = 1 @]@@@@ REPEAT @A@@@@ IF WORD$COUVD )@@G@@NT <= WDS$PER$LINE THEN @ @@@@ LET WDS$ON$LINE = WORD$COUNT @^@@@@ LET FVE )@@G@@OUND$A$WD? = 1 @[@@@@ ELSE @A@@@@ LET WDS$ON$LINE = WDS$PER$LINE VF )@@G@@@^@@@@ LET FOUND$A$WD? = 0 @^@@@@ REPEAT BUFFER^ =1,1 @G@@@@ IF SKVG )@@G@@IPED$VALUE <> BUFFER (LINE^ - 1 + BUFFER^) LET FOUND$A$WD? = 1 @C@@@@VH )@@G@@ UNTIL FOUND$A$WD? OR BUFFER^ = WDS$ON$LINE @]@@@@ END IF @^@@@@VI )@@G@@ IF FOUND$A$WD? THEN @A@@@@ WRITE WDNUM FIRST$WD#,FLAG$CHAR @E@@@@VJ )@@G@@ IF OPTS:O WRITE OCTAL @E@@@@ IF OPVK )@@G@@TS:B WRITE BINARY @E@@@@ IF OPTS:F WVL )@@G@@RITE FDATA @E@@@@ IF OPTS:A WRITE AVM )@@G@@SCII @]@@@@ WRITE * @^@@@@ LET FVN )@@G@@LAG$CHAR = ' ' @[@@@@ ELSE @^@@@@ LET FLAG$CHAR = '*' @]@@@@ END IVO )@@G@@F @C@@@@ LET SKIPED$VALUE = BUFFER(LINE^-1+WDS$ON$LINE) @B@@@@ LET FVP )@@G@@IRST$WD# = FIRST$WD# + WDS$ON$LINE @A@@@@ LET LINE^ = LINE^ + WDS$ON$LIVQ )@@G@@NE @B@@@@ LET WORD$COUNT = WORD$COUNT - WDS$ON$LINE@^@@@@ UNTIL WORD$VR )@@G@@COUNT = 0 @]@@@@ RETURN @^@@@@WDNUM: FORMAT O6,F1,X1 @C@@@@OCTAL:VS )@@G@@ FORMAT C(OCT$COL-1),O13,X1 @C@@@@BINARY: FORMAT C(BIN$COLVT )@@G@@),B37,X1 @C@@@@FDATA: FORMAT C(FDA$COL),F6,XVU )@@G@@1 @C@@@@ASCII: FORMAT C(ASC$COL),A4,X1 _@@@@@@C@@@@VV )@@G@@BINARY: FORMAT C(BIN$COL*[S@@@*SDFF*@C@@@@ RETURN (DATE:NT3)*0100000000 VW )@@G@@++ DATE/010000 _@@@@@@@@@@@@E@@@@ IF OPTS:F WRITE FDATA @E@@@@ IF OPTS:A WRITE A======@@^@@ @@@@@@@@@@@@VY )@@G@@@@ ^J'@@@@BO@@#@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@I>=BNY@@@@@@@@@^@^VZ )@@G@@@@@@M<@@@C@@@@@@@@@@@@@@@@@@@@@@BC@G@#V@@A@@M@[O@PD@@@@@Y@@^@@@C;C@@@M[CC@@>RD.@@@C@W@@@C^[@@@YC )@@G@@G^D@C)/!KAY.RA8@@:/\)B$Q(@@@@G')T@@?[@C@@(/SG)@@[^C@@&[@S@@$R]8@@[@S@@$RD.@@@RDC@@>/!KAZ C^S@@>C^7@@^[^.@@@RA8@@?YL )@@G@@/\)B$Q/@@AYX[^S@@>;C@@@M[CC@@>RD.@@@C^!@@@C@W@@@C@C@@=[@*@@=/!KAY.C@S@@$YM )@@G@@C^H@@@G8@@@#*@C@@*/K@AY2[@C@@&/K@AW5NCS@@(C^C@@(C@T@]H&;@@@[&;K@@[M#W)@@YN )@@G@@[@S@@%C@S@@$C^X@@@G^T@C)&;@@@@!@@@@H/K@AYDG8@@@#N^S@@*C@S@@%&;@@@[&;K@@[YO )@@G@@M#W)@@[@C@@&C@D@]H&FC@@*[@C@@( @C@@*/K@AW5 4B@@#&BD@C)9*B@@^C8@@@K[0B@@#YP )@@G@@C@@@@B'=@@@[/K @@@0@B@@#'=@@@A*4B@@#')(@@?R^$@@^R@8@@=O^9@C)PC9@C)CCM@@]YQ )@@G@@:8K@@[/K@AZOCC#@@]G8@@@[%@@@@H'-D@@?C@@@@](^D@#%/K@AZXKCD@C)H8K@@[/,0AQ*YR )@@G@@C@@@@]%@?@@@')9@@?C@W@@[/CKAZ$;*K@@[;CK@@[[@O@@@C@B@@AH8@@@[[@B@@AD8@@@@YS )@@G@@/K @@@A@)@@#OC(@C)C^$@@^G^(@C)%@)@@]/K@AZH[@O@@@G^G@@]*@D@]DG8@@@[&#@@@^YT )@@G@@/K @@@@@C@@CZ_____)@@@@@[@D@[E[@T@[F^@T@[GC8@A<0C8T@[LN8K@@EG@KA<1M#W)@@YU )@@G@@C@D@[E+8@J__H8K@@%T8K@@K;*@@@E;C@@@)G@@@@H[@D@[KC8K@@>&'0@@@/,0BOE/K@A)-YV )@@G@@C^W@@@[@T@[D @@@@IC4W@@[:8K@@_C^?@@[(@@@@IC^(@[][C(@[D/?KBO:R@T@@]C@D@[KYW )@@G@@C@GA+(;*@@@S;C@@@S ^D@@=R]9@[D*CD@@@/K@A)ZR]T@@>/KF@@@R]T@@>B,;@@@C@@A<2YX )@@G@@C8T@[LG@KA<1N8K@@#M#W)@@C@D@[KC^WA+(;*K@@AG8K@@ [CT@[O(?GA+(/K@A-%C8D@[VYY )@@G@@9*(@[>9(D@[$C@T@@"9!H@@@9(G@@@C4.@@#[)9@[('=@@[9!D@[$ZD )@@G@@C@D@[KC4WA+([CT@#FC8T@[L[^T@#F @D@#EC8T@[%**GA+(&;K@@][@T@#GC8K GN[CT@[RZE )@@G@@C8D@#E'=@@@C(^D@#E/K@A-_C4D@[%%8@@@G:8@@@A/K@A-_/K@A+^C@D@[EN@T@[G+@@A<7ZF )@@G@@*@@@@H/K@A+)C@D@[KA](@[V(8@)^N'=@@@)&'))^NB,)@C[R](@[VN8K@@#C8D@[V&;@@@[ZG )@@G@@C@KA<8M#H)@@N8K@@ @@@@GC^T@@\;*K@@M;*@@@#;?@@@#8KKA+O)@@A<9[@T@[YC8D@[VZH )@@G@@&;@@[^'=@@@IN@T@[GC@D@@"C@T@[F'=@@@)C@D@@"C@T@[F/KF@@@SORT ERROR CODE = ZI )@@G@@***ERROR ADDRESS= @@@@@@O@@@B1O@@@B2O@@@B3O@@@B6O@@@B7O@@@B8O@@@M0O@@@M1ZJ )@@G@@O@@@M2O@@@M3O@@@M4O@@@M5O@@@M6O@@@E0O@@@E1O@@@E2O@@@E3O@@@E4O@@@E5O@@@K1ZK )@@G@@O@@@K2O@@@K9O@@@D0O@@@D4O@@@D5O@@@D6O@@@D7O@@@F0O@@@F4O@@@F5O@@@F6O@@@F7ZL )@@G@@O@@@X0O@@@X4O@@@X5O@@@X6O@@@X7O@@@M7O@@@D8O@@@P0O@@@S1O@@@C1=@[@A0O@@@A1ZM )@@G@@$@[[A2$@[[A3O@@@F8$@[[A5=@[@A6$@[[A7=@[@A8O@@@L1O@@@L2O@@@L3O@@@L4O@@@L5ZN )@@G@@O@@@X8O@@@B7O@@@B9O@@@M8O@@@C2O@@@C3O@@@C4O@@@E7O@@@K3O@@@K4O@@@G1O@@@G2ZO )@@G@@O@@@B0O@@@B4 @@[@@@@@[A+<000/000 000 000 ON DAS@@@)@@@@[A+&000000ZP )@@G@@A]9@#=C^J@@@%8J@@@'-T@@,C8K@@K&'0@@@/,0BOE/K@A=LC4W@@[%8K@@_')(@@%C^W@@[ZQ )@@G@@[CT@[![@T@@8@@K@/K@A=/C8C@@]C@KB./'=@@@4ZU )@@G@@C)S@@]/^KA=/(8@B!K/K@A=//,0B!K[@9@@- 0D@@=C8K@@ &'0@@@/,0BOE/K@A>#C8)@@[ZV )@@G@@[0(@@=C8K@@[&'0@@@/,0BOE/K@A>HC^?@@@/@)A>H*0D@@=G8)@@[[@(@[?/K@A>I')T@@%ZW )@@G@@ @D@]DC8K@@]&'0@@@/,0BOE/K@A>UC^W@@@/@KA>U*0D@@=G8K@@[[@T@]D?@)@@H'+(@@!ZX )@@G@@CCT@[,H@T@[?0@@@@H')9@@%[CT@[4R](@@1C^W@@@ ^D@[I[@T@]* @D@]EZZ )@@G@@C8K@@)&'0@@@/,0BOE/K@A&^*@D@]D'<9@@!C^W@@@[@T@[@ @@@@IC4W@@[:8K@@_C^?@@[AA )@@G@@(@@@@IC^(@[][C(@[@C8KBP#[@T@]E[^T@[IC8K@@+&'0@@@/,0BOE/K@A&LC@W@@@[^T@#KAB )@@G@@ @@@@IC4W@@[:8K@@_C^?@@[(@@@@IC^(@[][C(@#K @D@#MC8K@@<&'0@@@/,0BOE/K@A&ZAC )@@G@@C^W@@@[@T@#M @@@@IC4W@@[:8K@@_C^?@@[(@@@@IC^(@[][C(@#M @D@#OC8K@@=&'0@@@AD )@@G@@/,0BOE/K@A&!C@?@@@[@(@#O @@@@IC4W@@[:8K@@_C^?@@[(@@@@IC^(@[][C(@#O @D@C+AE )@@G@@R'D@[VR99@]'&90@@[C@0B/J[@8@@E @D@]% @D@],C80$C,[@9@]7C80 [C8@@FC8K@@NAF )@@G@@&'0@@@/,0BOE/K@A*$Q#W@@@9?X@@@9*S@@@C[K@@GC8C@@@&;@Z__'=@@@U(4G@@A/K@A*TAG )@@G@@C4W@@A?8K@@K/K@A$6?8K@@Q/K@A$=?8K@@S'-(@@%!8K@@)'-(@@%C@(@C+G8)@@[[@(@C+AH )@@G@@C^?@@CT8)@W@*?G@@AT8)@[@!C(@[,:C(@[,/K@A*T(@D@]%/K@A$Z9?9@]:9/8@@@/K@A$&AI )@@G@@/K@A*T[@T@]([@(@]%9?S@@@9*T@]:/K@A*TC@?@@D/K@A$Q*@D@],/K@A*T?@(@]%/K@A$\AJ )@@G@@[@T@]![@(@],9?S@@@9*T@]\/K@A*TC@9@](C[D@]%[@9@]![[D@],9?9@]:9*9@]\/K@A$ZAK )@@G@@%8K@@H/K@A$;C@?@@B=8)@]@C8K@@KN8K@@KR]0B..24V$/Z'-(@@%C0:B/Y*4D@]7/K@A* AL )@@G@@[4(@]8AA9@]8/K@A*B%4(@]8/K@A*YC4(@]7G8)@@[!8)@@T/K@A*T[4(@]7C8) [C*@@FAM )@@G@@C^(@]7[^*@@FG8)@[@[^(@]79?8@@@9*8@@GC@@B/J[@C@@EC8C@@E&;@@@^'=@@@JC8K@@NAN )@@G@@&'0@@@/,0BOC/K@A*$/K@A&.C09@]7!80@@K/K@A*TC@@@@LC G@@@[[B)@@G80@@[[09@]7AO )@@G@@/K@A*TC@@B/J[@C@@E @D@CM @D@CR @D@CP CD@C-C@D@C+?8@@@#/K@A%,C@9@#)CCT@[4AP )@@G@@C^D@[!N8K@@1H@K@[[H@@@[[[CT@[4[^D@[!8KKA*9C@K@@G&;K@@[ @H)@@8KKA*;[@D@#)AQ )@@G@@[^/@@[C8K@@N&'0@@@/,0BOE/K@A%,/K@A(NC8K@@N&'0@@@/,0BOC/K@A%0C@T@CM/@KA(NAR )@@G@@R[9@CO&90@@EQ#?@@@9?,@@@8#KA(J9/$)@@/K@A(M/K@A(^8#KA(JC^W@@@C8C@@@9?!@@@AS )@@G@@9**@@@'=@@[GC4W@@A;CK@@#%8K@@#/K@A(^C^S@@CCDC@@C*?C@@AT8K@[@T8K@W@*?C@@AAT )@@G@@T9@@[@T9@@W@(@@@@KC[@@@H!CT@[,:CT@[,/K@A(^*@D@CR?@T@CR[@T@CR*@D@CP?[D@CPAU )@@G@@[[D@CPCCT@[4C^D@[!N8K@@EH@K@[[H@@@[[[CT@[4[^D@[!8KKA(7C@K@@G&;K@@[ @H)@@AV )@@G@@8KKA(9R[0@@G[@D@CO9*$@@@C8T@CU&;@@@]&;K@@[[@D@CW[@T@CYC8@@#@C8K@C@;*@@@MAW )@@G@@;*K@@M[@D@CV[@T@CXC8D@CV&;@@@^'=@@[I(?G@@]/K@A%LC4C@@AC@GB.S[@D@CUC@D@CUAX )@@G@@N8K@@OC@KB."%@H$/18KKA%O&;K@@@(CD@C-[CT@C-CCD@C-C^GB.U?^HB.U[CT@C-C@D@CMAY )@@G@@G8@@@[[@D@CM9/(@]\/K@A%< @D@],9/(@]:/K@A(^9?D@]\9?(@]!9*D@]:9*(@]( @D@],AZ )@@G@@C@D@CM:@D@C+/K@A%0/K@A(^ @D@C+/K@A?QC@D@CM?8@@@]/K@A%, 4D@]7 0D@]7/K@A?QBA )@@G@@C8@@@@C@K@@LW@@@@IG8@@@]C@K@@JH8K@@G;GK@@=W@K@@GH8K@@B*@D@]DH8K@@[H8@@@[BB )@@G@@!@T@[?/K@A:B!8@@@#/K@A%'/KF@@@*@D@]D/K@A:.;GK@@=W@T@[?T@T@[?K8K@@#[@)@@JBC )@@G@@?9@@@X/K@A:6R'D@[V[@*@@][@*@@# @C@@ C@8@@]?@9@[?/K@A:!G80@[\;G0@@=W80@[0BD )@@G@@T80@[0[@8@@^C@8@@]T80@[=;G0@@=W@8@@^!80@[P/K@A::C[C@@]C@*@@ ?@)@@J[[C@@#BE )@@G@@?@)@@J[@8@@ H[D@[?[[C@@]/K@A:OC@8@@][@8@@#C@*@@#C@0@@IC@K@@IH8K@@#G80@[\BF )@@G@@;G0@@=W80@[0T80@[0/K@A?F?9@@@S/K@A?FG80@@V;G0@@=W80@@WT80@@W/K@A?FG8K@@[BG )@@G@@C@)@@HL@(@[??@9@[?;G)@@>K8K@@#C@K@@JG80@@#?9@@@X/K@A?DG80@[!/K@A?F!9@@@SBH )@@G@@G80@@TC9@@@@W[@@@JT[@@@HC80@[0T@0@@GG@0@@IH@0@@LH[@@@J0@@@@K/KF@@@/KF@@[BI )@@G@@ @D@]BC8K@@S&'0@@@/,0BOE/K@A?)[CT@]BC8K@@E&'0@@@/,0BOE/K@A,OC8K@@T&'0@@@BJ )@@G@@/,0BOE/K@A?:*CD@]B'-D@@%[CT@]BC8K@@E&'0@@@/,0BOE/K@A,OC8K@@U&'0@@@/,0BOEBK )@@G@@/K@A?6*CD@]B'-D@@%[CT@]BC8K@@E&'0@@@/,0BOE/K@A,OC8K@@V&'0@@@/,0BOE/K@A?.BL )@@G@@*CD@]B'-D@@%[CT@]BC8K@@W&'0@@@/,0BOE/K@A!][^T@]BC8K@@X&'0@@@/,0BOE/K@A!DBM )@@G@@*^D@]B'-D@@%[^T@]BC8K@@Y&'0@@@/,0BOE/K@A!K*^D@]B'-D@@%[^T@]BC8K@@Z&'0@@@BN )@@G@@/,0BOE/K@A!R*^D@]B'-D@@%[^T@]BC8K@@$&'0@@@/,0BOE/K@A!Y*^D@]B'-D@@%[^T@]BBO )@@G@@C^9@]BCDD@]BC5T@]7:80@@W/K@A!7:80@@Y/K@A!7:80@@X/K@A!2:80@@Z/K@A!2%80@@$BP )@@G@@/K@A,@:9@@@V/K@A, %9@@@S'-D@@%?9K@@#'-D@@%/K@A, :9@@@S/K@A!\:9@@@U/K@A, BQ )@@G@@'-D@@%:9@@@S/K@A!.%9@@@T'-D@@%/ KA,<'-D@@%?9K@@#'-D@@%/K@A,<*@@@@K:9@@@SBR )@@G@@/K@A,<:9@@@T/K@A!;C@9@]W[DZ@@DC8T@]X[^Z@@@C^T@[!HCT@[4[^Z@@CH@T@[?[^Z@@EBS )@@G@@CCT@[4[CZ@@CC8)@@Z[@(@]FR]9@#=/KF@@@')D@@,RA9@]8S8)@@SC^FB/YS8@@@#G@0@@HBT )@@G@@C^FB/YS?FB/YS8K[F@C8K@@@W@K@@JS8K@@DW8K@@ES@K@@L/KB@@@C5T@]7G1T@]7 CD@[6BU )@@G@@/[KA0 *@D@]D/K@A,1C8K@#C;GK@@=W@T@[?*@@@@IG8K@@[T@T@[?G8K@@^/K@A,5C@T@[?BV )@@G@@G8K@@A?8K@#CC8K@#C[@T@#>G9K@@]CCD@[4;G@@@=W@@@@L!@D@#>/K@A\CCCD@[4;G@@@=BW )@@G@@W@D@#>H8@@@]?4D@]7/K@A\ H4D@]7[0D@]7/K@A\B[4D@]7 0D@]7C@D@#>C@T@[?G8K@@ABX )@@G@@?8K[[*/K@A\IC@@@@H/K@A\K!8@[[*C8@[[**@D@]D/K@A\RH8@@@^;G@@@=W@D@[?T@D@[?BY )@@G@@G8@@@^[CD@[6C@)@@GC[K@@GH9K@@^*@D@]DH9K@@]/!0A,P[@(@[7C[D@],/[@A\&!@)@@KBZ )@@G@@/K@A\,C[@@@I[[D@],/K@A\,C[D@]%/[@A\!!@)@@K/K@A\,C[@@@I[[D@]%/K@A\,CDD@[4CA )@@G@@C5T@]7G1T@]7[ T@[2?9K@@]/K@A0 %9K@@]/K@A\"CC9@]B:80@@T/K@A0 C@(@[7G@(@[7CB )@@G@@![@@@I/K@A0 C@T@]V/K@A0HH9K@@[?[D@[7/K@A0BC@(@[7T@)@@L?[@@@I/K@A\/ @D@]PCC )@@G@@/K@A0C@)@@HW^AB.UCM )@@G@@T^AB.U%@@@@IC@@@@^R@0@@GC^T@["G8K@@[;CK@@[H8H@@#(@D@[I/K@A2IC@@@@#H8@@@#CN )@@G@@C@)@@G @@@@HW@T@[?H@@@@IC!AB. ;(@@@[C@K@[[S@K@@#W@K@@GC[K@@H;GK@@=W^QB. CO )@@G@@R]0@@H;?@@@>C@)@@L @@@@HW@K@@^T@K@@KO]0@@HO]0@@FG@@@@HC@)@@L @@@@HW@K@@#CP )@@G@@T@K@@KG@@@@H!@D@CS/K@A3RC@)@@BH8<@@KC[D@CMG9#@@ @@@@HW@K@@K?@T@CM/K@A1ICQ )@@G@@R@K@@H!@K@[]/K@A3CC[@@[]C@)@@K @@@@HW@K@@]*@@@@IG8K@@[?8L@@[/K@A2/G@@@@FCR )@@G@@C[@@@H/K@A22C@)@@KH@)@@[P8)@@[ @@@@HW@K@@]O8)@@[T@K@@]/@)A3 G8Y@@[S@K@@FCS )@@G@@W@K@@KG@@@@HC[D@CMH9@@@[C@K@@[;GK@@=W@K@@K!8)@@]/K@A1\!@D@CS/K@A1\ACT@CNCT )@@G@@A^(@CNAC9@C)A D@C)[@D@CS/K@A1\C@@@@#G^AB.UN@0@@G/K@A1\(^D@C)'+T@@!C[D@CMCU )@@G@@H9@@@[CCD@CN;G@@@=W@@@@K*@@@@HG8@@@[?^D@CNC^D@CN[^D@C-C@T@CR @@@@GW^D@C)CV )@@G@@H^D@C-[@D@CZT@@@@ T@@@@KC^T@C);GK@@=WCT@C)T@@@@HCC(@C)H8)@@#*@D@]DO9K@@[CW )@@G@@ @@@@HW@K@@ T@@@@HC@9@#)[@J@@AC@D@CR;G@@@=W^D@C)H8@@@[S^D@C)W8@@@WG8@@@[CX )@@G@@[@D@CQR[9@CO&90@@ECCT@[4C^D@[!N^T@C-H@K@[[H@@@[[[CT@[4[^D@[!8KKA4HC@K@@GCY )@@G@@&;K@@[ @H)@@8KKA4J[CB)@D8^@A4 CD@[2R'D@[V CD@[;C T@C)(@@@@LCDT@[6CC9@[4CZ )@@G@@;(K@@[H@0@@LC[T@],/[KA40;DK@@[?[T@]%[[T@]%C@(@]%CCD@[,T8@@@#?@)@@G')T@@,DA )@@G@@9!D@]!/,0A%6/K@A5=[CD@[2[C(@[8[[D@[1CC9@[4T8)@@#H@0@@IHC9@[2[@9@#&9!D@](DB )@@G@@/[KA5&CC(@[4S@(@]*W8)@@FC^9@#&/,0A%6')(@@,:CD@[;/K@A5$[CD@[;[^(@[8[[D@['DC )@@G@@CC9@[4T8)@@#H@0@@IHC9@[2H@0@@G[C9@[9C@(@[?*@D@]DC@(@]DS@0@@IG8)@@[*@D@]DDD )@@G@@G8)@@[W@0@@IS@9@]*W80@@ET@0@@G?@9@['/K@A5Y*CD@[2%8@@@[/K@A5$CCD@[2CC(@[8DE )@@G@@9!D@]!9(D@](9!D@]\9(D@]:C[D@[1 CD@[2 @D@],/K@A4;C@9@#&9!D@](/,0A%9'-D@@:DF )@@G@@/K@A49')(@@, @D@],/K@A40[C9@[9C9K@@[[[T@#YC@9@]R[5Z@@[C8@@@[[4J@@]C^D@[!DG )@@G@@HCD@[4CCT@[9[^Z@@DK@K@@GH@D@[?[@D@]HC8@@@@C[D@[?G9@@@[W@@@@KS@D@[?[@Z@@ADH )@@G@@C9@@@](CD@[;/K@A6U*4D@#T'+(@@?C@D@]S[^J@@@[@0@@H[@@@@J[CZ@@@G9K@@[[5Z@@[DI )@@G@@[5J@@][C\@@CC^D@[8[^J@@DCCD@[;[CJ@@DC@D@['[@J@@AC^D@[!HCD@[2HCD@[;[CJ@@JDJ )@@G@@ @@@@IC@T@](!8K@@SC8)@@[!8K@@XC8)@@][4\@@#G9@@@[(CD@[2/K@A68C@D@]T[^J@@@DK )@@G@@[@0@@HC@0@@G[CZ@@@G9K@@[[5Z@@[[5J@@]C^D@[!HCD@[2[CJ@@JCCT@[8[^Z@@DT8K@@#DL )@@G@@H@@@@H[CJ@@CC@T@[1[@Z@@ACCT@[2[CZ@@D @@@@IC@T@]!!8K@@SC8)@@[!8K@@XC8)@@]DM )@@G@@[4\@@#C9@@@#(@D@C+/K@A7G*?D@#T'+(@@?C@D@#)C@K@@J[^J@@@C@0@@GG9K@@[[CZ@@@DN )@@G@@[5Z@@[[5J@@]C^(@CNC^T@C)C^D@[![C\@@D[^Z@@DH@@@@HH@@@@H[CJ@@CC@D@]P(@@@@GDO )@@G@@/K@A7G@@@:8K@@D CD@#(:8)@@F CD@#%:80@@T ^D@#(:9@@@K ^D@#%C8K@@6&'0@@@EN )@@G@@/,0BOE/K@A/FC??@@@C^W@@@:8)@@^[^T@#%:8)@@#[^T@#(:8)@@][CT@#%:8)@@[[CT@#(EO )@@G@@C8K@@6&'0@@@/,0BOC/K@A/F/K@A;/C9@@@@C8K@@1&'0@@@/,0BOE/K@A/LC G@@@[DD@]1EP )@@G@@C9@@@@C8K@@2&'0@@@/,0BOE/K@A/SC G@@@[ D@]1(CD@[;/K@A/YC^D@[8C@T@](/,@A/=EQ )@@G@@(CD@[2/K@A/,CCD@[8C@T@]!/,@A/=/K@A/,:8K@@S/K@A/::8K@@T/K@A/:!CD@]1/KC@@@ER )@@G@@'-9@@?!^D@]1/KC@@@'<9@@?R]9@#=/KF@@[A]9@#=R'D@[VC@@B/K[@C@@@9?@B/L9*C@@[ES )@@G@@9?@B/N9*C@@#9?@B/P9*C@@A9?@B/R9*C@@C'=@@@N*8@@@@/K@A.#(*D@#T/K@A.#*4D@["ET )@@G@@/K@A"%C[T@[_/ KA.AC9K@@[H@D@]6[@@@@H'=@@@?;=@@@=;*K@@A;CK@@Y%?T@]7G@@B"AEU )@@G@@T8@@@E;G@@@=W@@@@L/,0B&3[!S@@#;DK@@A[5S@@#;DK@@A[-S@@];DK@@A[>S@@]C@D@[_EV )@@G@@/,0B&3[[S@@ [-C@@^;D@@@A[>C@@^C@D@]J/,0B&3[5S@@C;DK@@A[[S@@B[5C@@B;D@@@AEW )@@G@@[-C@@AC@(@]@;G)@@=(@D@[_/K@A.'W@(@[_G8)@@[(@D@]D/K@A.4G8)@@[C[D@]DG9@@@]EX )@@G@@![@@@IC@)@@KCC9@[9;G0@@=W@0@@IC[D@#Y%9@@@[/K@A."C9@ [-C@@DC9KSEQ/K@A"HEY )@@G@@C@D@[_;G@@@=W@@@@J*@@@@HG8@@@[T8@@@E;G@@@=W@@@@K?8@@@EC8@@@E!8@]WK/K@A.'EZ )@@G@@/,0B&3[-S@@D;DK@@A[(S@@D;[K@@A[!S@@D;-K@@A;DK@@G[1S@@D**D@#T/K@A")C8S@@[FA )@@G@@&;K@@L[@T@#EC8D@#D(8@@@@'=@@@CC8S@@^&;K@@=[@T@#E(8@@@@'=@@@CC8C@@@&;@@@EFB )@@G@@*8@@@@/K@A"$(4D@["'=@@@J/K@A"%C8C@@[&;@@[D'=@@@I/K@A"?A]9@#=C8@@@Z[)D@#SFC )@@G@@C@D@[#*@D@]3'=@@@= @D@]3R]9@#=/KF@@@R]D@#ZAA8@@, CC@@,(@D@],/K@A";:89@^KFD )@@G@@/K@A_UN8K@@!R#@@@C/,0BN"C8@B#7C8KB^5C[KBAWR'0@@C*@D@]D/K@A_E*@D@]EC@D@]EFE )@@G@@C[D@[?[DC@@IC8)@@#/K@A_FC@)BAX[@*@@AA28@@:[@C@@-[@S@@Y[[S@@EO'0@@C[[S@@GFF )@@G@@C@@BAY[[S@@HA28@@>C9@@@@[@C@@+[@C@@<[@C@@*[@C@@(C9D@]:CCT@#(:89@^K/K@A_)FG )@@G@@CCT@#%C9D@]\[CZ@@K[DJ@@EC8@A_6C8KB@IC8)B]-C9@B]][^J@@][^Z@@#[^\@@^[ J@@ FH )@@G@@ @J@@BCDJ@@D[ J@@KCDJ@@J[ J@@J @J@@F @J@@IC@J@@A&'0@@@/,0BDWR]D@#Z/KCK@,FI )@@G@@R]D@#ZAA8@@,CCJ@@E9?G@@@9*C@@*C4J@@#[0C@@KCCJ@@C[@C@@^K@C@@A[^S@@EK^J@@DFJ )@@G@@[^S@@ G^Z@@D[CS@@ C8K@@#[CW@@[ CC@@]CCJ@@K[@C@@R9?J@@I[@C@@F[^S@@G/KCK@,FK )@@G@@R]D@#ZAA8@@,C[J@@FG9@@@[[[J@@FC[C@@I*@D@]DC[@@@G;D@@@MN@K@@KKDC@@AC@S@@^FL )@@G@@GDX@@[! Z@@D: Z@@D/K@B@+/,0B@?C[@@[[KDC@@AG9K@@#[DX@@[C@*@@E*@D@]D[ I)@@FM )@@G@@&;@@@[M#?)@@[@*@@E*@D@]D[DI@@@/KCK@,[@8@@SCDC@@]G9@@@[[DC@@]9?S@@^[DH@@]FN )@@G@@CDX@@[;^K@@M;@K@@M9*S@@^%9@@@[/K@B@.C@*@@GC[C@@F[[I)@@[@*@@G/K@B[Z[ Y@@[FO )@@G@@(@C@@R/K@B[^&#*@@R/\0B[*C^*@@ [[I@@@0@C@@:'=@@@A*4C@@:/K@BA[(^I@@[/K@B[+FP )@@G@@&F,@@[C@8@@F9**@@?C8*@@*C08@@K%80@@]/K@B[RCC8@@?G80@[\;G0@@=W80@[0T80@[0FQ )@@G@@[C8@@?C08@@K[?8@@K/\0B[3[[C@@F[@C@@BC8C@@*'=@@@[C@C@@BK@S@@A[^*@@E/KF@@@FR )@@G@@CDY@@]%9K@@[/K@B[EC@8@@S&B\@@D/K@B[F @@@@KCDY@@[;^)@@MH9K@@]W9I@@@H9@@@[FS )@@G@@;=)@@M;H@@@=G[I)@]8^KB[0/KJ@@@CDI@@^C!S@@K/[KB]@%9K@@]/K@B[.G9@@[\;H@@@=FT )@@G@@W9@@[0;(@@@]/K@B]@G9@@@V;H@@@=W9@@@WG[I@@ /KJ@@@R]D@#ZAA8@@,C J@@KH9@@@[FU )@@G@@/H@BA [ J@@K/,0B@? CH@@[/,0B@!C9@@@#[DH@@[ CC@@]0@C@@:'=@@@A*4C@@:/K@BA[FV )@@G@@/KCK@,C@C@@^CCW@@[:8K@@#/K@B](/,0B]]C@8@@TC@D@]F*^J@@K!4J@@[/K@B](9!C@@FFW )@@G@@[[J@@I[ Z@@J/K@BE+R]D@#ZAA8@@,[@8@@T(@J@@F/K@B 'C5J@@]:9@@@#/K@B]NC^_@@@FX )@@G@@/,0BD/R]D@#ZC@8@@TC J@@@[ C@@PC J@@E[ C@@H[[C@@#CDJ@@K[[C@@QCCJ@@E9?G@@@FY )@@G@@9*C@@+C4J@@#[4C@@KC J@@D[ C@@UA@S@@CA@*@@DA@8@@BRC_@@JRCZ@@DP^Z@@KA^S@@]FZ )@@G@@RA_@@CA]8@@VC@@@@[C@T@@+/\)B$[R]D@#ZC@@@@[K@@@@[G8K@@CR@)@@HO]0@@HA]8@@WGA )@@G@@C@T@@+/\)B$[R]D@#ZO@)@@F @C@@XC@)@@]&#*@@UC@3@@@C@K@@#/,0B^./,0B ]R]8@@WGB )@@G@@/\)B$MR]D@#ZC^C@@&G@C@@A&#D@[?(@D@]D/K@B#<&BG@@@G8@@@[C@K@@#R]8@@V/\)B$MGC )@@G@@R]D@#ZO80@@[O@*@@UP8K@@[*@@@@[/K@B#NC9KB^5[[S@@Y @C@@N @C@@OA@*@@ZR@S@@CGD )@@G@@R@*@@DR@8@@B/K@B^ID/@@@@/K@B^HC^8@@PC@C@@#/,_K@#R]D@#ZC[C@@NG9@@@[[[C@@NGE )@@G@@C@C@@@C@*@@HNCS@@@*@D@]D^CS@@#&;@@@[M#?)@@C C@@@% C@@[/K@B^WCC8@@[(^J@@[GF )@@G@@/K@B#5[@8@@Z/,0B ][@C@@JR]8@@W/\)B$QR]D@#Z/@@B ([@C@@[;C@@@M*^G@@[/,0B^8GG )@@G@@CCC@@J;*@@@M;K@@@M/@@B^-&;@@@@G@C@@A&#D@[?(@D@]D/K@B^-&BG@@@G8@@@[R]8@@VGH )@@G@@/\)B$QR#*@@Y[@C@@@&;@@@@C^S@@#/,"@@@/K@BAD/K@B#7R#*@@-/,"@@@/K@B#7C@8@@TGI )@@G@@C@\@@HG@(@[?[@\@@HC[C@@OG9@@@[[[C@@O/K@B#"C[D@@+[[C@@Y/K@B#"CDG@@][[C@@XGJ )@@G@@C@*@@Z&B?@@[C@/@@@9**@@&C8C@@+ @C@@)'=@@@[/KF@@@0@C@@>'=@@@A*4C@@>/K@BAHGK )@@G@@C^C@@&(@C@@Q/K@B IC@)@@G&#*@@Q/\0B[*%[G@@@/K@B -C[C@@XG9@@@[%DG@@]/K@BASGL )@@G@@CDG@@[C8*@@+C48@@K[?8@@K/\0B[4[[G@@@GCG@@[HCC@@A*@D@]D/K@B YH^D@[?/K@B ZGM )@@G@@HCG@@@&BC@@&/KF@@@C@8@@)G80@@[!80@@E/K@BAL[@8@@)C8C@@+'=@@@[/K@B ]C^8@@PGN )@@G@@C@C@@#/,_K@#R]D@#ZC@8@@TC[C@@NG9@@@[K[C@@O%[Z@@F/K@BA G[J@@B[[J@@BR'0B 8GO )@@G@@AA8@@,/K@A_:C^8@@P/K@BCSC^_@@@/,0BD/R]D@#ZC@8@@TC J@@@[[C@@P/K@B 5C@8@@SGP )@@G@@%89@^K'<(@@:'+T@@:C@8@@T%89@^K'C4Z@@]HI )@@G@@?8K@@]/K@BDT?@J@@G/K@BD0%@J@@G/K@BD,!4\@@[/K@BD0C@J@@GC4\@@[CC_@@@/K@BD>HJ )@@G@@:4T@[./K@BD6C^_@@@/K@BE@CDD@]B*^D@]B/K@BEW%9@@@TC89@]X/K@BEWA]9@#R[@D@[VHK )@@G@@ CD@#RCC\@@@C4Z@@[!@T@]F/K@BEW&;0@@@C@D@]F%8@@@Z/K@BEQ(@D@]B*@D@]P/K@BEQHL )@@G@@:@9@]T/K@BEU%@9@]S/K@BEQC^J@@@%@D@]T/K@BEO(0G@@[/K@BD2/K@BEQ:8D@]X/K@BD2HM )@@G@@:@9@]S/K@BEW:@9@]T/K@BEW(0J@@[/K@BD2C@D@[VC8K@@[[0Z@@[[^"@@@/,_K@]/KDK#RHN )@@G@@(@J@@H/K@BE:C@J@@GH@D@]@G@J@@H @J@@H[@9@#W/,0BDWC@9@#W(CD@]B/K@BB&C4J@@[HO )@@G@@%4D@[./K@BE5C@T@[0[@T@[\C@T@]GG8K@@[[@T@]GC@)@@JCC_@@@[^\@@@:89@#:/K@BB&HP )@@G@@ 0J@@[/K@BE5A]9@#U CD@#UCCT@]B!8K@@U/K@BFJ:8K@@T/K@BFFC8@@@Z:@D@]F/K@BFJHQ )@@G@@CC_@@@:@9@]R')(@@,C@(@]@!@(@]['-D@@:*^J@@K'-D@@:/\@B*IC@D@#U&;@@@@[@D@#VHR )@@G@@C8@@@Z[?D@#S[*D@#S[=D@#S )D@#SR]9@@&/KF@@@A]9@@&*)D@#S'-9@@!/KDK#VC@K@@GHS )@@G@@(0D@@=/K@BF@@@CG9@^@[^(@#_?80@@[/K@BN*IW )@@G@@H@9@]DNGT@^@!80@@[N@T@]D[G9@^@G@)BN7C@0BN7QF9@#_M#\)@@[C9@#_/K@BK./!KBK.IX )@@G@@C80BLW[^9@^GC@0BL$[@9@^FC80BJ [^9@^H[^D@^[C^9@#:/,0BD//K@BNM/!KBK.C^T@#5IY )@@G@@R[D@@+/,4@@@/K@BJH/S@@@@[^D@^[C^9@#:C@D@#5/,_K@#C@KBN7Q#T@#5C^D@^[G@D@]DIZ )@@G@@CC?@@@H@D@]D+8)Z__[C9@#5:CD@^@/K@BNVG@@BN7/K@BL4N@K@@J!^9@]DN^T@]DH^9@]DJA )@@G@@M#W)@@Q#G@@@!80@@[/K@BL2C^(@^[C^T@#_[^(@#_CG9@^@?80@@[/K@BN*H@9@]DNGT@^@JB )@@G@@!80@@[N@T@]D[G9@^@G@T@]D[^!@@@H@T@]DG@)BN7C@0BN7QF9@#_M#\)@@[C9@#_C^9@#_JC )@@G@@ @@@@IHC9@^]W^(@^]GC(@^[;G)@@[/@(K^HG@(@^I/C0BMV ^I@@@CCI@@@;*@@@M;K@@@MJD )@@G@@/K@BMX CI@@@CGI@@@H@(@^I/@@BMMG@D@]DC@/@@@H@D@]D-@9@#//D@BK*/K@BM(R[D@@+JE )@@G@@/,4@@@/K@BM(C@@@@H;G)@@[/@)BN[G@(@^I/C0BM2CCY@@@;*K@@M;KK@@M[^I@@@/K@BM4JF )@@G@@CGY@@@[CI@@@H@(@^I/@KBM(R[@@@HO[D@]D')D@^D/K@BM>/K@BK;CC9@#.)^9@#/G@D@]DJG )@@G@@[DG@@@H@D@]D/K@BM(/!KBK.[^D@^[C^9@#:C@D@#5/,_K@#C@D@^DC@T@^E[@T@^D[@D@^EJH )@@G@@C@D@#/;@@@@M[@D@#/C^9@#:/,_K@ C@(@#YG8)@@[[@(@#YC^9@#:C^J@@K%8@@@[/K@BL&JI )@@G@@ @@@@GC^9@#:&'0@@@/,0BD /K@BL&N@T@]D[^D@#_G@@BN7M#W)@@H@9@]D?80@@[/K@BN&JJ )@@G@@N@K@@JQ#D@#.G@D@]DM#W)@@R]9@^J/KF@@@G@T@]D ^H@@@R]9@^J/KF@@@ @D@^@R'0BN\JK )@@G@@A]9@^JC^9@#_G@9@]D ^J@@@H@9@]D/K@BMI)@@@@@@[@@@@Z_____@@[@@@@#@@@@/CJ@@@JL )@@G@@/GJ@@@0@^@@@1@^@@@ &;@@@[8KKBO[/KF@@@ @G)@@8KKBO[/KF@@@&;@@@[&;K@@[JM )@@G@@M#W)@@/KF@@@C@D@@)/K@BOFC@D@@-&;@@@[[4T@@=C4W)@[:8K@@8/K@BOQ:8K@@9/K@BOUJN )@@G@@%4T@@=/K@BOH[@D@@)/KF@@[Q#W@@@[^H@@@Q#G@@@/K@BOHC^W@@@:^T@@-/KF@@@Q#H@@@JO )@@G@@/K@BOHA@T@@[A@(@@#^@T@@X^@(@@Y^@9@@ZR@KB"B&8)@@[Q8(@@]N8K@@JM@-)@]R@T@@[JP )@@G@@/K[@@@A@T@@[R@KB"B&8)@@[Q8(@@]A]K@@WN8K@@JM@M)@]R]K@@WR@(@@#N@T@@XN@(@@YJQ )@@G@@N@9@@ZR@T@@[/K[@@@@@@@@@[@D@@"A]9@@_C^D@@\H8@@@[C@G@@@/,0AZ6R]9@@_C@D@@"JR )@@G@@/KDK@\R[T@[@/K@BPAR[T@[[[@9@[HA@T@[EA@(@[FA@9@[GA]D@[CA]9@[D9*D@@$C@D@[^JS )@@G@@*@@@@G/K@BPRC@@B"C'=@@[0&;@@@@G@@B"D'=@@[0&;@@@@[@D@[^C[@@@ ;(@@@M;D@@@MJT )@@G@@![@@@G/K@BP,C@@@@ ;C@@@M:@D@[B/K@BP,C@@@@ ;C@@@M(@@@@G/K@BP,R]0@@ 9?D@@$JU )@@G@@A]K@@J&BK@@J;C0@@M&B@@@JB,5@@@/K@BP7/K@BP'/K@BP.9?D@@$A]K@@J&BK@@J;C0@@MJV )@@G@@&B@@@J/,5@@@/K@BP7/K@BP'/K@BP./,0BQ@R]9@[D/KF@@@/,0BQ@R]9@[D/KF@@[/,0BQ@JW )@@G@@R]9@[D/KF@@];C@@@M&AK@@G;CK@@MQAK@@H9?D@@$R@T@[ER@(@[FR@9@[GR]D@[CC@9@[HJX )@@G@@/KF@@@B@@BS5U@@BR/H@BS2;G@@@=KK )@@G@@H8K@@AK^R@@[W8@@@AW8K@@AL8K@@[T@)@@H;C)@@[G@@@@IT8@@@#G@@@@HG8@B-R/K@BR>KL )@@G@@D^B@@[;K@@@[/K@BS0C9@B)E[DJ@@[/,0BTK[0J@@@/K@BR&C9@B):/K@BS6C8KB))/,0BT[KM )@@G@@/,0BTI;D@@@A/K@BVWC9@@@AC9K@@A[CZ@@[;G@@@=W@@@@K/^KBTHC*$@@@H8)@@[W@K@@KKN )@@G@@[0Z@@@?@K@@L/@:@@@'+T@@%?8@@@]/K@BTHC*B@@@H8@@@[K^B@@[D9@@@@H8K@@=/GKBTTKO )@@G@@;GK@@=W8K@@=/K@BTXC^$@@[C9K@@@; I@@=;GK@[C;DG@@@[[J@@][^Z@@[D9K@@@;DY@@@KP )@@G@@][Z@@#C1R@@@[5Z@@^C(R@@@[1Z@@^C R@@[[ Z@@^/KF@@@C8KB+F/,0BT[/K@BT1C8KB<6KQ )@@G@@?8K@@MC8KB<;/,0BV6[4Z@@@/,0BTK/K@BR&C8KB)R/,0BT[/,0BVK/,0BTIC8@@@A/K@BUFKR )@@G@@C8KB/H@BV2C8@@@$>9@@C@C8@@@+:9@_8@C8@@@:/K@BV*LB )@@G@@C^B@@[T8@WWWG8@@@)/K@BV*C9@@@DC9K@@^[1U@@@/K@BT#(0D@@=/K@BWC*?E@@ /K@BWCLC )@@G@@C^E@@B*@@@@GG8@@@[C@)B"H)@@@@IC@)B"I9*T@[VR;D@[V[?%@@ /K@BR4 0E@@ C^E@@[LD )@@G@@!^E@@]/K@BXTG8@@@CC^W@@@T8K@@=G0W@@^H8K@@[C^?@@^G@)@@HH8)@@[C^'@@[G80@@CLE )@@G@@!@0@@G/K@BWEC J@@@T9@@@=G1J@@^H9@@@[C Z@@^G[K@@KH9K@@[?@)@@K/K@BWP?[K@@HLF )@@G@@/K@BWP*0E@@ /K@BW/9*D@[V9*(@[X9(D@[Z @@@@GW8@@@=*@@@@HG8@@@[ @@@@HW8K@@=LG )@@G@@ @@@@JW80@@=*@@@@KG80@@[ @@@@KW9@@@=C8)@@[!@K@@J?[@@@G @@@@I[0%@@ 9?D@[VLH )@@G@@9?(@[X9!D@[ZC5J@@^C5W@@^:9K@@U/K@BWP:9K@@A/K@BX :9K@@S/K@BXJ'Y@@@K)I@@@')FB)2[-Y)@@8KKB)4/KBB-BK=I@@@')FB)2[>Y@@@K*I@@@')FB)2[(Y@@@ME )@@G@@K?I@@@')FB)2[!Y@@@K0I@@@')FB)2[1Y@@@K4I@@@')FB)2[5Y@@@/K@B)IK0I@@@')FB)2MF )@@G@@[1Y@@@/K@B)IK0I@@@')FB)2[1Y@@@K?I@@@')FB)2[!Y@@@/K@B)IK0I@@@')FB)2[1Y@@@MG )@@G@@K?I@@@')FB)2[!Y@@@K*I@@@')FB)2[(Y@@@/K@B)IK0I@@@')FB)2[1Y@@@K?I@@@')FB)2MH )@@G@@[!Y@@@K*I@@@')FB)2[(Y@@@K=I@@@')FB)2[>Y@@@/K@B)IC4Y@@@C0Y@@@C?Y@@@C*Y@@@MI )@@G@@C=Y@@@C)Y@@@C4Y@@[[5Y@@@[1Y@@@[!Y@@@[(Y@@@[>Y@@@[-Y@@@[5Y@@[G@)@[[0@J@@#MJ )@@G@@G8)@@[')BB-'')FB+J')BB+[/K@B+XCDXB=5C XB=5')BB+(')FB+3')BB+,R5_@@@G@)@[[MK )@@G@@0@J@@#G8)@@[')BB+=!8K@["/K@B)I')FB++')BB+,>9K@^@/K@B)IC@%@@#G^\@@@/K@B)9K@^@/K@B)IMT )@@G@@/K@B)KKI@@@')FB)2?^U@@^[LY@@@KSI@@@')FB)2MX )@@G@@?^U@@^[TY@@@/K@B=>])O5\*]*P57(]0Q5_%]8R6B:#@S6J?#CT6R!#KF6Z,#SG6$\#)H6\0MY )@@G@@#*I0RM#0JA@0#8KAC1^@LAK2^CMAS3^KNA)4^Z7A*5^$8A06^\9A87^7'B@8^_;BC9 B/@@@MZ )@@G@@ J.@C[ R"@K] Z_@S# )U@)^ *V@* 0W@0S 8X@8TA@Y[@UACZ[CVAK)[KWAS-[SXA)+[)YNA )@@G@@"0<[*ZA*=[0)A0>[8-A8&]@+B@$]CBS%])&B):]*$B*?]0*B0!]8(B8E#@%NB )@@G@@CB6#C:CC,#K,CK\#S\[KE#)@[SF#*@[)G#0@[*H#8@[0I^@@[8J^K@]@K^S@]CL^)@]KM^*@NC )@@G@@]SN^0@D*'^8'D0; @;D8/ C/E@. K.EC" S"[K_ )_EK@ *@[S@ 0@[)@ 8@[*@@@@[0@@@@ND )@@G@@[8@@@@]@@@@@]C@@@@]K@@@@]S@@@@"8@@@@_@@@@@_C@@@@_K@BK@_S@BS@_)@B)@_*@B*@NE )@@G@@_0@B0@_8@C@@ES@ES@E)@E)@E*@E*@E0@E0@E8@E8@F@@F@@FC@FC@FK@FK@FS@FS@F)@F)@NF )@@G@@F*@F*@F0@F0@F8@F8@G@@G@@GC@GC@GK@GK@GS@GS@G)@G)@G*@G*@G0@G0@G8@G8@H@@H@@NG )@@G@@HC@HC@HK@HK@HS@HS@H)@H)@H*@H*@H0@H0@H8@H8@I@@I@@IC@IC@IK@IK@IS@IS@I)@I)@NH )@@G@@I*@I*@I0@I0@I8@I8@J@@J@@JC@JC@JK@JK@[K@@@@J)@J)@"0@@@@C80@[C9!@B"N;G@@@=NI )@@G@@W8@@@EG8K@@:G K@@H; @@@AH80@@A/^@B&5; J@@@/KF@@@C@0B$.C[@B$//K@B$]9?0B$/NJ )@@G@@[^:@@ 9*;@@@Q;0B$'[@;@@][@V@@# @F@@^;@@@@/,0B&3[>S@@#;DK@@A[!S@@#;DK@@ANT )@@G@@[1S@@#;DK@@A[5S@@#C@@B*HQ;C@@@'=@@@IC@@@[E'-T@@: CD@@@/K@B( AET@@@[@K@@WNU )@@G@@C@K@@D;CK@@M @D@@)?8K@C<[@9@@)[@D@[EC8@@C[@9@@-/?KBOZC8@IZD[^D@@=A]9@#KN8K@B.C8@B,:*^D@@@NX )@@G@@C8D@@&C@T@#K/,0BN"[@T@#K;CK@@M[^T@[]C8@B!QC8KB6*(^D@@@/K@B(9C8D@C/KF@@@R]T@@>B,;@@@[@K@@WOB )@@G@@C8T@@@%^T@@@'<(@@!C@K@@WA]K@@W/K@B%OC )@@G@@/?KBOZC^(@@=%8)IZD/K@B!^R](@@/?KBOZC^(@@=%8)IZDOE )@@G@@/K@B!^R](@@/KF@@@R]T@@>OF )@@G@@B,;@@@[@K@@WC8T@@@%^T@@@'<(@@!C@K@@WA]K@@W/K@B:PA]K@@WR'KB, ^D@@@A@T@@]OG )@@G@@R@K@@WA@T@@>/?KBOZC^(@@=%8)IZD/K@B!^R](@@<(@D@#MA]9@#M/,0BC;/?KBO:R@T@@]OH )@@G@@R]9@#M*CD@@@/K@B:$R]T@@>/KF@@@R]T@@>B,;@@@[@K@@WC8T@@@%^T@@@'<(@@!C@K@@WOI )@@G@@A]K@@W/K@B:3A]K@@WR'KB, ^D@@@A@T@@]R@K@@WA@T@@>/?KBOZC^(@@=%8)IZD/K@B!^OJ )@@G@@R](@@/KF@@[R]T@@>B,;@@[OK )@@G@@/?KBO:R@T@@]*CD@@@/K@B?GR]T@@>/KFK@@R]T@@>B,;@@@[@K@@WC8T@@@%^T@@@'<(@@!OL )@@G@@C@K@@WA]K@@W/K@B?SA]K@@WR'KB, ^D@@@A@T@@]R@K@@WA@T@@>/?KBOZC^(@@=%8)IZDOM )@@G@@/K@B!^A]9@#N/,0BF2/?KBO:R@T@@]*CD@@@/K@B?$R]T@@>/KF@@@R]T@@>B,;@@@[@K@@WON )@@G@@C8T@@@%^T@@@'<(@@!C@K@@WA]K@@W/K@B?3A]K@@WR'KB, ^D@@@A@T@@]R@K@@WA@T@@>OO )@@G@@/?KBOZC^(@@=%8)IZD/K@B!^/,0B!I9*D@@H/?KBO:R@T@@]*CD@@@/K@B!]R]T@@>/KF@@@OP )@@G@@R]T@@>B,;@@@C8@B!C&;@@[ '=@@@I'=@@@) SORT IS NOT INITIALIZED '^D@@\OQ )@@G@@I@@@@@I@@@@@/KF@@@@@@B(U@@@B%)@@@B:M@@@B:0@@@B?P@USE @LOG SORT: T/R=XXOR )@@G@@X.XMS, IC=XX, OC=XX X, BIA=XXX.XM1 M2 M1 BLOCK SIZ MERGE POWER EQP TOS )@@G@@YPE [#S@G)]#S@G)# S@G)^ S@G) ^S@K*A^S@K*B#S@G)C S@G)D#S@G)E#S@G)F^S@-OOT )@@G@@G^S@-OH^S@-OI]=@J*J[S@#'KAS]]GFII FIII D8414 D8424 D8425 FH880 F8460 OU )@@G@@D8440 D84050D84054D8433 D8430 D8434 D8450 D8450FFH1782FH432 D8470 D8470FOV )@@G@@B7013 C7013 '@<@@U'@<@@*-@H@@1-@H@@1)@H@@1@@L@@/7@U@[Y-@H@[+@@D@[:@@D@[:OW )@@G@@-@D@]HX@D@]HY@D@#]R@D@#1@@D@#1@@L@#0@@ @#0R@D@ 7@@D@ 7@@[@U#@@[@U#@@W@@WOX )@@G@@@@W@@W@[0@[0@[0@[0@[0@[0@@W@@W@[0@[0@[0@[0@[0@[0@[0@[0@[0@[0@[0@[0@[0@[0OY )@@G@@@B@@B@@B@@B@@@W@@W@@W@@W@B@@B@@B@@B@@@W@@W@@W@@W@@@@@@FIII NOTUSEFH432 OZ )@@G@@FH880 FH1782D8414 D8440 C7013 R$CORE )@@@@@)@[@@@@@[@#Z@@[@@[@@[__"PA )@@G@@Z_____@_____ FILE EST.DK.I/O.TIME @ D>0@@@[@@[)@@@@@)@[@@@@@[@@@PB )@@G@@@@B__8Z;_Z;_#UAE@@_@@@@V%[@@@L/K@BY./KF@@]______ @@@@@@@@@@@@PC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PD )@@G@@[N(^PF@@U (R@@E !L@@M !"@@M 10@^X 20@@E 9.@@G ;=@@E .Z@@M "#@OT ".)@< *4PE )@@G@@)#) (1)@< !V)#) ,K)@, 2])]0 7H)[X 'B)[\ ;0)@U .()@* "P@@@___@@@___@@@___PF )@@G@@@@@___@@@___@@@___@@@___G@@ (0?@@ (\?@@ (,/K@^PQK@K@@GH8)@@[!@) (\/K@^PQPG )@@G@@H@@ (,G8@ (1/KF@@@9*@ (?;G@@@=W8@@@W:@@ !Q/K@^P&[@@ !QS8@@@WC8@ !L'=@@@#PH )@@G@@K^K !O9*K (,C4@ !O%8@@@ /^@^P!9?@ (?/K@^PGC@@ (?C^K !OG@K (,H@K@@G*@@@@HPI )@@G@@/CK^PGC8@@@ C@K !QR]0 (V/KF@@@@@@ !L9*@ (X9*) (Z/\0^P./K@^Q1D8@@@[R]0 (VPJ )@@G@@/KF@@@9*@ !LA]0 (VC@@@@IC8;@@[/K@^QAA]0 (V*@@ !L/KJ@@@C@@ !R'=@@@49?@ %9PK )@@G@@9*@ !LC@@ %;&\@ %; @@ (0 @@ (, @@ (\T8@@@W[@@ (MC8K@@W/,0^PF&;@@@[C@K !SPL )@@G@@N8K@@WM#W)@@/K@^QTG@@@@H;OK@@=W8K@@WH@@@@I*@@@@IG8@@@W/KJ@@@C@@ (AT8@@@WPM )@@G@@G@@ (M[@0@[#C^K (I/\0^QM[@@ (SCCK (H/\0^QM[@@ (-C^K (H/\0^QM[@@ (+C^K (GPN )@@G@@/\0^QM[@@ (C@0@[#/KJ@@@CC@ (X/@@^Q5PO )@@G@@ @@@@H/K@^Q7&;@)@@'=@@[09*@ (&C^@ (H;O@@@=W8@@@#H8@@@[N@K@@G @@@[]C@K (-PP )@@G@@[@K (09!@ (Z/,0^SMC8/@]T9.G)@#/K@^RDC[K@[]G9W@@@H[K@@J/K@^RH8KK^RF/K@^P5PQ )@@G@@8K0^R#/K@^R[9?0 (&C8@@@#0@@@@J&;0@@@;=0@@M8#@^RJC@@ (+[@@ (09*0 (*;?0@@[PR )@@G@@9)0 (*'O0 !T'P@ !TC8@@@#C@K !U;=0@@M[ H>(*8#@^RWC@0 !UN8K@@#CGJ>(* @J ($PS )@@G@@/G@^R%!^@ (G/K@^R%C8K@@#/,0^PFC@G@@][@J ($8KK^R-C@@ (<[@@ (0C@0 !UC[@ (YPT )@@G@@N^Z (*NC\ (*8KK^R3/K@^SF/,0^SM% W)@#/K@^SBC@W@@[;GK@@S;C)@@S%@)@@K/K@^SBPU )@@G@@=8K@C@/K@^SIC@?@@]CCW@@]?^K (X/K@^P5CCW@@@C^G@@]/@@^P5G^@ (XR]0 (V/KF@@[PV )@@G@@8KK^SD/K@^SF8K0^R4/K@^R3$;0@@#/K@^R\/K@^P5C^G@@]C8K@@#/,0^PF/K@^R.A]0 (WPW )@@G@@C@@@[]C8K@]QK@K@@G[@)@[]/,0^PFN80@@1H8@@@#&;@@@#R]0 (W/KF@@@9*@ (X/\0^P.PX )@@G@@C^@ (G;O@@@=W8@@@#N@K@@GC@0@@G8KK^S&/K@^S7C@@ (+[@@ (0 @@@[]9!@ (X/,0^SMPY )@@G@@9.G)@#/K@^S3C@@@@JH@@@[[G8@@@#R]0 (V @@@@H/KF@@[8KK^S5/K@^S78K0^S:/K@^S%PZ )@@G@@ @@@@GR]0 (V/KF@@@9*@ (X/\0^P.C^K (G/@K^S7NCK */8KK^T[N8K@@@C@@ (S[@@ (0QA )@@G@@ @@@[]9!@ (XC@@@[]C8K@#CK@K@@G[@)@[]/,0^PFN80@@1H8@@@^&;@@@^9.G)@^/K@^TRQB )@@G@@CC@ */(@@@@GC8@@@[H@@@[[H8@@@[R]0 (V @@@@H/KF@@[8KK^TT/K@^S78K0^TH/K@^T QC )@@G@@[@K (0;O@@@=W8@@@#N@K@@G8KK^T-/KJ@@@ @@@[]9!@ (X/,0^SM9.G)@#/K@^T$/KJ@@[QD )@@G@@8KK^T(/KJ@@@8K0^T=/K@^T<9*@ (X/\0^P.CC@ (JC@K (>/\0^TV/K@^T5 @@@@HC@G@@]QE )@@G@@R]0 (V/KF@@[CC@ (IC@K (=/\0^TV/K@^S7C W@@]C@) (<[@) (0CCG@@]C8K@@#/,0^PFQF )@@G@@CCW@@@C^G@@]G@@@@LR]0 (V/KF@@[G@@ ,J?@@ ,I?@@ ,H/K@^UJK@K@@GH8)@@[!@) ,IQG )@@G@@/K@^UJH@@ ,HG8@ ,K/KF@@@9*@ ,F;G@@@=W8@@@W:@@ 15/K@^UZ[@@ 15S8@@@WC8@ 10QH )@@G@@'=@@@#K^K 139*K ,HC4@ 13%8@@@ /^@^U&9?@ ,F/K@^U C@@ ,FC^K 13G@K ,HH@K@@GQI )@@G@@*@@@@H/CK^U C8@@@ 9?) 17;H@@[CC@K 15 @@ 16R]0 ,#/KF@@@@@@ 10/\0^VK/K@^WCQJ )@@G@@C^@ ,] @@@@H9?) 19;H@@[C @@ 16R]0 ,#/KF@@[C^@ ,]H@@@@KH8@@@[R]0 ,#/KF@@[QK )@@G@@C8@@@@C/K__"K^WC@[CC/C@[\^) ,]/K@^VDK^WC@]CC/C@]\^) ,]/K@^VDC^GC@@/^@^U.QL )@@G@@C^@ ,]/K@^U\/K@^W09*@ 10[@@ ,EA]0 ,#C@@@@IC8;@@[/K@^VW[@@ ,]A]0 ,#&;@@@@QM )@@G@@*@@ 10/KJ@@@C@@ 1;'=@@@49?@ \S9*@ 10C@@ \U&\@ \U @@ ,E @@ ,J @@ ,H @@ ,IQN )@@G@@T8@@@W[@@ !9C8K@@W/,0^U^&;@@@[C@K 1/N8K@@WM#W)@@/K@^V\G@@@@H;OK@@=W8K@@WQO )@@G@@H@@@@I*@@@@IG8@@@W/KJ@@@C@@ !!T8@@@WG@@ !9[@0@[#C^K !5/\0^V*[@@ !_CCK !4QP )@@G@@/\0^V*[@@ ,^C^K !4/\0^V*[@@ , C^K !3/\0^V*[@@ ,ACCK !3/\0^V*[@@ ,BCCK !5QQ )@@G@@/\0^V*[@@ ,CC@0@[#C^@ ,]/KJ@@@(^@ !3/K@^U\(@@ ,E/K@^WKC8@@@^[@@ ,DD8@@@[QR )@@G@@/K@^W0CC@ ,]/^@^WPC^@ ,]'=@@[0/@@^U\0/G@@@/K@^U\;*@@@S;C@@@S[@@ ,D @@@@GQS )@@G@@(8@C@@/K@^W0(0@C@@/K@^U;C/)__"C@K@@GCC.C@];C0@@A:@0 ,D/K@^W?!@0 ,D/K@^W(QT )@@G@@C^XC@]/^K^W-C^GC@@/^@^W)/K@^W0K^!C@[CDHC@[,^0 ,]/K@^W(C@0@@GC@@ , [@@ ,JQU )@@G@@C@@ ,DH8@@@^/G@^U\T8@@@#!^@ !3/K@^XXC8K@@#/,0^U^N^W@@]NC?@@]8KK^W"C@@ ,AQV )@@G@@[@@ ,JC@@@[]C8K@]QK@K@@G[@)@[]/,0^U^N80@@1H8@@@#&;@@@#%C/)@#/C0^XOC@?@@[QW )@@G@@=@) 1./K@^XO=@) 1"/K@^XOC G@@]H9@@@[KDG@@]\ @ ,]/K@^XZ8KK^XR/G0^XT/K@^XXQX )@@G@@8K0^XC/K@^X@C@@ ,DG8@@@[[@@ ,D/K@^W1C^@ ,]/K@^U\[@) 16C@) ,^[@) ,JC^G@@@QY )@@G@@C8K@@]/,0^U^9??@@@C@K 16;*K@@G;CK@@S/K@^U6/\0^VK:8@@@[/K@^X"0/G@@@/K@^Y@QZ )@@G@@H8@@@^/G@^Y@T8@@@#!^@ !3/K@^Y@C@K , [@K ,JC8K@@]/,0^U^9?G@@@R]0 ,#/KF@@[RA )@@G@@C@K 1_R]0 ,#/KF@@[C@@ 2@/K@^X; @@@@GR]0 ,#/KF@@@/\0^VK/G@^Y@!C@ !/K@^ZH/K@^ZQC@@AK"'=@@@IRH )@@G@@C^@^'%C@W@@@=@K 6V/K@ >?G@K 6V[@W@@@/K@ >?C@@AK_'=@@@I =@ 20/K@^>? =@ 20RI )@@G@@/K@^\:%8@@@[/K@^Z-C^@^YP:8@ F0/K@ B8C8@ 5R'=@@[Q/K@^ZJ/K@@@@ =@ 20'^@^)HRJ )@@G@@*0@ 21/K@^Z;C@@ ;6C?K^YP>@H 6T/K@^Z.CCK^YP[CW@@@C@K^YQ[@W@@[C8M@@@H8K@@[RK )@@G@@[^W@@@R8?@@][3) 21**@ 20/K@^)FC@@AL@'^@ U\/K@^)FC@@AL['^@ U\C?K^YPC8@@ 8RL )@@G@@>@H 6C/K@^)P%8K@@C/K@^)FC4@^YP%8@@@]/K@^)DC@@AL]'=@@@I/K@^)FC8@ 3J'=@@@CRM )@@G@@C^@^Z=/KG@@[/K@@@@C?K^YP/@K^)H%8K@@[/K@^)U'^@ PYC@@AL#/K@^)3[7) 61 @@ 7CRN )@@G@@ *@ 20 ?@ 20/K@^Z=%8K@@]/K@^)='^@ PYC@@AL^C0)^YPC@Y 5-9*@ 9"'^@ O'C8@@@GRO )@@G@@/K@^)6%8K@@C/K@^)\C4@^YP =@ 20%8@@@]/K@^)!*0@ 20/K@^-[/K@^)HC@)AL /K@^-]RP )@@G@@%8K@@B/K@^)_'^@ PYC@@ALA[@@ 9"'^@ O'C8@@@A'^@ PSC^@ 6#'^@^=NN)K 21[<) 21RQ )@@G@@C@@ALB'^@ U\^)K 21/K@^)H!8K@@B/K@^-KC@! 5&'^@ PY[@) 9"'^@ O'C8@@@A'^@ PSRR )@@G@@C^@ 6#'^@^=NN)K 21[<) 21C@@ALB'^@ U\^)K 21 0@ 21/K@^)H%8K@@E/K@^+B'^@ PYRS )@@G@@'^@ O'C4K^YPC@H 5,C8)@@A'^@ QYC80@@ ')B>O"C0@^YP;G@@@#;*@@@#;?@@@DG8@00 RT )@@G@@C8)@@A'^@ QYC80@@ ')B>O"C8]@@@H8@@@['^@^=NC4@^YP%8@@@[:8@@@ /K@^-:/K@^+^RU )@@G@@C80@@ ')B>O"')B>O"C@@ALCC8)@@A'^@ QYC^@^YQC8)@@A'^@ P'C4@^YP%8@@@[/K@^+^RV )@@G@@C0@^YP:8@@@N/K@^+^C80@@ ')B>O"')B>O"C8@@@G9?KALD'^@ Q%C^K^YQC8@@@G9?X@@@RW )@@G@@'^@ Q%C@@ALB'=@@@I/K@^)H'^@ PYC@@ALF/K@^)39?@ 67C@) 69C[K 6'/K@@@@*)@ 20RX )@@G@@/K@^+H9*@ 67[@) 69[[K 6'**@ 6,/K@^+:0@@ 3P/K@^<6C@@ 3PG8@@@[(*@ 21(4@ 21RY )@@G@@/K@^+X[@@ 3PC@@ 7A?@@ 3P/K@^<6D8@@@[[@@ 3P[<) 20**@ 20 @@ 7C *@ 20[7) 61RZ )@@G@@/K@^+EC@@ALG'=@@@I/K@^++ *@ 6,*0@ "O/K@^+"C^) "OH8)@@[ @@@@JC@I "P?8@@]@SA )@@G@@G8@ 8HC@W@@@%@Y ">C80@@[[@Y ">8#)^+1*4@ "O/@0^+PC@@ALH'=@@@I/K@^++C K "OSB )@@G@@H9K@@['^@ PY'^@ O'C@)@@LC@I "P?8@@]@G8@ 8HC@W@@@:@Y ">/K@^<4C@I "P?8@@]@SC )@@G@@/^@^O"C8@@@]SE )@@G@@'^@ PKC@)@@LC@I ">C8)@@G'^@ QBC80@@/')B>O"C@)@@LC@Y "P?8K@]@G8K 8HC@H@@@SF )@@G@@[@I ">C8)@@G'^@ QBC@@ALB'=@@@I8^K^<@/K@^+P(@@ "#/K@^+EN@K "#C8]@@@C@KALISG )@@G@@2@H>"^/K@^+EC@@ 6'>@@ 6I/K@^+**@@@@V*=@ 6?/K@^+*/K@^+E/K@@@@C8)@@ +8@@@_SH )@@G@@!8K@@0!8K@@8/K@^=F/K@^=H;C@@@A8#)^=AC8)@@ ;G@@@#;C@@@#8#)^=I;?@@@M/K@^=^SI )@@G@@/K@@@@C[@@@G&;@@@@C8)@@A'^@ P'C@@@@K;C@@@M/@@^=YC80@@/')B>O"'^@ P%C80@@=SJ )@@G@@')B>O"C@@@@K?8@@]@/K@^=4'^@ >29*) 5V[@K 5XC8)@@A'^@ P'C8@,$(C8)@@A'^@ QYSK )@@G@@C@@ 5X'^@ P%C8@@),C8)@@A'^@ QYC8@@@G9?K 5V'^@ Q%/K@^=N?8@@@G?8@@@@/K@^=/SL )@@G@@C^GA@'G8@X@@C8)@@A'^@ QY/K@^=N?8@@@)?8@@@G/K@^>]C^GA@,G8@A@@/K@^=9?8@@[KSM )@@G@@?8@@[@/K@^=F9*)A@=C@@ 7B9?)ALJ;G@@@=W8@@@EG8.@@:;^)@@A/^@^>N9*)A@*C@@ALL'=@@@ISO )@@G@@/K@^>CC4I 2+C0I 2+C?I 2+C*I 2+C=I 2+'^@^>+/K@@@@C)I 2+$_)__"/K@^>*Q;0@@ISP )@@G@@/K@^>+Q;0@@@/K@^>+'^@^>:/K@@@@C@@@[#/@@^&A'=@@[]=@@ 6$/K@^&)*0@ 22>@@ 6%SQ )@@G@@/K@^>5/K@^>?C4K 2+:8K@@%/K@^&DQ;)@@@C8W@@@H8K@@[[^K^>=(8G@@@/K@^&AQ;0@@[SR )@@G@@C4@ 2+/K@^>:C@@@[#9*) 3\;GK@[C @@@@J/K@^&?C@@ALP'=@@@I/K@^>?C@@ALQ'=@@@I/K@^>?SU )@@G@@/K@@@@[@@@[#9?) 3\')J=>W:8@@@ /K@^&&'^@^$N*@@@[[/K@^$L @@@@KC[K@@GN8)@@ESV )@@G@@$;0@@B/K@^&2/K@^$B')J^>V'^@^$N*@@@[[/K@^$D;!@@@AG[K@@G8K)^&\$;0@@B/K@^&/SW )@@G@@/K@^$B')J^>V'^@^$N*@@@[[/K@^$D/K@^&99*) 3\C@@@[#9?K@@KC80@@FH@0@[]/K@^&C@@ 6[G8@@@[;=K@@A+8)@@_TG )@@G@@%80@@P/K@^*8C@@@@];=K@@A+8)@@_%80@@-/K@^$6C[@@@GC@@@@H'^@^=^H[@@@GC@@@@KTH )@@G@@/K@^$6/K@@@@9*K ;Q;GK@@Y?8K@@)/K@^(H%8K@@$/K@^(F9?K ;QN^K^(@^^K^$-/K@^$+TI )@@G@@'^@^=^/K@^(@9?@ ;Q/,0^T:/K@^(L/K@^(@CC@ ;QC4K ;QC@0ALRN8K@@K2CJ&@;/K@^(TTJ )@@G@@C8J@@@/K@^(@Q;0@@#N8K@@^2CJ&[J/K@^(Y/K@^(RQ;0__"N8K@@KN8)@__9@J&@;/K@^%#TK )@@G@@C@)@@BC9J@@@ @@@@L%8)@@]/K@^(0[@K@[[C=) 5X;*)@@^G)) 5X;*)@@U'^@ *QC[ZAGNTL )@@G@@C@K@[[%8K@@X/K@^(7 @@@@G=[K 6DD8@@@GG@@@@K/K@^(@%8K@@A/K@^(.C8@@@G=[K 6DTM )@@G@@ @@@@G/K@^(5%8K@@R/K@^%#C8@@[@=[K 6G @@@@G/K@^(5D8@@@[/K@^(@/K@@@@(4@ 61TN )@@G@@/K@^%I'^@ O''^@ PY*@@ ;X'^@ >.'^@ JK 4@ 61 )@ 20C8@ 3M'^@^&O"*8I@@@UA )@@G@@/K@^?YC80@@:')B>O"C80@@ ')B>O"')B>O":8K@@I/K@^?5:8K@@H/K@^!.C@G@@@C8)@@GUB )@@G@@'^@ P'C8)@@IC80@@ ')B>O"')B>O"/K@^!\C[G@@@C@)@@K'^@ *QC[K@@JC@JAGNC8)@@^UC )@@G@@'^@ QYC80@@ G8K@@]')B>O"8#K^?"C@@@@K;G@@@YC[@@@HC8)@@]'^@ P'C80@@ ')B>O"UD )@@G@@N8K@@]C@@@@K;G@@@)C[@@@HC8)@@]'^@ P'C80@@ ')B>O"8KK^!CC@@@@K;G@@@+C[@@@HUE )@@G@@C8)@@['^@ P'C80@@ ')B>O"C@@@@K;C@@@OC8)@@A'^@ P'%9K@[M/K@^!!;D@@@OC@@ALZUF )@@G@@N8K@@.2DG)@]/K@^!!C80@@ ')B>O"C@G@@[C8)@@A+8@@@_%8K@@$ @@@@L'^@ QY/ K^!!UG )@@G@@C80@@$')B>O"Q'T@@[C8)@@YC8B@@@C8T@@@:8@@@A @@@@GT8K@@AG@@@@HG@@@@I')@ N1UH )@@G@@/K@^?MC@@ALB'=@@@I'^@ O''^@ PY/K@^?MC@?@@@ @@@@JC8K@@ ;=)@@A')B>O"8#K^,@UI )@@G@@C8)@@C/K@^?1*8D@@@/K@^,RC8?@@@!8) 8H!8) 'H/K@^,GH8) 8H;*)@@MC8K@@] @@@@JUJ )@@G@@;=)@@#;*0@@A;=)@@#G80A@0')B>PD8#K^,IC80BK)')B>PDCC/@@@')B>PDC^/@@@')B>PDUK )@@G@@C80^@)')B>PDC8B@@@C8T@@@%8@@@] @@@@G;*K@@];*@@@[G@@@@HG8@@@A')@ N1/K@^?MUL )@@G@@C@@ALB'=@@@8'^@ O''^@ P=/K@^?M @@@@G'^@^&<;?@@@A @@ 7C%8@@@N/K@^,5[\) 20UM )@@G@@[:) 20/K@^%J%8@@@P/K@^,;C*K 20 *@ 20[\) 20/K@^\-%8@@@C/K@^,_[\) 21/K@^%JUN )@@G@@%8@@@E/K@^\# ?@ 21/K@^%J%8@@@I/K@^\NC8@ 3R'^@^&<(@@@@J&;K12 C@@@@H'^@^=^UO )@@G@@!8@@@O"C@@ALB'=@@@IC@0 5Z:80@@,/K@^0-UY )@@G@@/K@^%JC8]@@@%8@ >,/K@^1EC@@AL-'=@@@I/K@^%J[<) 20/K@ [F9*K 3BC8@ 3-'^@^&@@ 6WVA )@@G@@/K@^1ZC@@AL+'=@@@I/K@^1K9?@ 5V'^@^:GC0K 6,:8K@@*/K@^1$ ^@ 3\C8@@@I[^@ 30VB )@@G@@C@K 5W:8K@@I/K@^1_C8@ 3>'^@^&'^@^&[K 6G/K@^2O+8K@@J[*) 5X;CK@@^8[0^2T;CK@@^=[K 6F/K@^2TVF )@@G@@?8K@IK/K@^2W+8K@@J[?) 5XP90@@[;CK@@^[0K 5XP90@@[C@@ 5XC8R@@[T8K@@A;CH@@@VG )@@G@@[@@ 5XC8@ 3>'^@^&'^@^&'^@^&.<'=@@@I/K@^6YR])ALIC0@ 6,:8@@@?/K@^7A:8@@@+/K@^62 4@ "O 0@ "OWC )@@G@@%8@@@*/K@^6\[7) "O/K@^67:8@@@![3) "O/K@^67QA) "O/K@^67C0@ 6,%8@@@,/K@^7^WD )@@G@@C8@ 3-'^@^&$')@@JWE )@@G@@/K@^64AA) "O/K@^%JC@@AL0*0@ "OQ;@AL1(0@ "O*4@ "O'=@@@I$A) "O/K@^7J/K@^%JWF )@@G@@'^@ PY'^@ O'C@E "O'^@^=NC@@ALB'=@@@I/K@^7G'^@^7S/K@^%J/K@^7SC@@AL4'=@@@IWG )@@G@@R])ALI(@E "5/K@^7S'^@ PY'^@ O'(CE "5/K@^7%CCE "5G8@@@['^@ P%C80@@:')B>O"WH )@@G@@C80@@ ')B>O"')B>O"C^E "5H8@@@['^@^=NC@@ALB'=@@@I$')@@B/K@^7W/K@^%J9*K 3BWI )@@G@@C0K 6,:8K@@*/K@^79 ^@ 3\C8@@@I[^@ 30C8@ 3!'=@@[]9?) ;&9*) 9"&;G@@@Q;@ '@WJ )@@G@@()@ 21/^)^8#'=@@[Z/@)^%J'K@AL5'=@@[!/K@^%JC0@ 6,R])AL6:8@@@?/K@^8.%8@@@+WK )@@G@@/K@^80Q]) "./K@^8MC0@ 6,%8@@@,/K@^8,AA) ".C8@ 3-'^@^&4=WQ )@@G@@/K@^\:0@@@@E/K@^9)')G 4+C0@ 6,:8@@@,/K@^9F/K@^%JC0@ 6,:8@@@?/K@^9$R")__"WR )@@G@@/K@^9FC@)AL9')G 44=C@KAL9WS )@@G@@')E 4&;@)@['=@@[0=@K 6PG9@@@[;[@@@AC8W@@@;C@@@MH8K@@[XI )@@G@@0@@@@H;G@@[C;^@@@=9*[)@@;^)@@M8KK^/)/K@^/NR8K@@@R8+@@[*^@^_GR^)^_G ^@^_GXJ )@@G@@ @@@@#R]@AL_C8]@@@'=@@[0=@@ 6VR8K@@[*0@ 20 @@ ;6CC@ ;6)8@@:_C8@^YP'=@@[[XK )@@G@@(4@ 20/K@^.F'^@ Q5 *@ 21 ^@ 3\C8@@@I[^@ 30/K@^.G[:) 21**@ 22/K@^"Q'^@ PYXL )@@G@@'^@ O'C@@AM@[@@ 9"Q'K@@[Q90@@[C@@ 2[C8)@@A'^@ QYC80@@-')B>O"')B>O"'=@@@MXM )@@G@@C@)@@GC9@@@]C9K@@[N8K@@[N8)@@:;=K@@A+8)@@_')B>O"8^K^.)8^@^.&/K@^.%C@0@[]XN )@@G@@')B>O"C9K@@[/K@^.)8KK^.?/K@^.2C80@@-')B>O"C9@@@]C9K@@[N8)@@//K@^.)C80@@ XO )@@G@@')B>O"')B>O"C@@AM[C8)@@A'^@ QYC^@ N1'^@ P%C@@ALB'=@@@IC@@AM]*?@ 6!'=@@@IXP )@@G@@(*@ 6!/K@^" C@@AM#*4@ 6\&;@@[ '=@@@I'^@ PY'^@ O'9?@AM^C@)AMA9*@ 9"[@) '@XQ )@@G@@Q'K@@#Q90@@[C8]@@@'^@^=NC@@ALB'=@@@I'^@^"_*4@ 20/K@^"Q'^@ R#'^@ Q5 @@ 7 XR )@@G@@(0@ 20/K@ @6'^@^)H*@@^YP*4@ 20/K@ @6C?K^YPC8@@ 8>@H 6C/K@ >!/K@^_!/K@@@@XS )@@G@@N8)@@['^@ PY'^@ O'')[AK/G8)@<@[@) 9"Q'K@@[Q90@@@C@@AMBC8)@@A'^@ QYC@E@@MXT )@@G@@G8@@@[C8)@@A'^@ P'C80@@-')B>O"C@E)@NC8)@@A'^@ P'8K)^";C@@ALB'=@@@I/K@^"+XU )@@G@@C8@@@#'^@ PKC@@AMC/K@^"?/K@@@@C@)AMDR])AL\'^@^"+()@ 6!/K@^"_9')^_B/K@^_CXV )@@G@@9;@^"_Q')@@^C@)AME'^@^"+/K@^"_/S@@@@*^@^'?/K@O_G'^@^'%@@@@@@/S@@@@9*@ 8TXW )@@G@@[@) 8VC^@^_LK8@@@][^K^'%G8K@@[[^K^_LCCW@@@K8K@@[[C?@@@!CW@@[/K@^_$H^W@@@XX )@@G@@/GK^_$(^G@@[/K@^_>;OK@@=W^W@@[/^)^_$C8K^'%[^K^_L9?@ 8TC@) 8V/K@O_L/S@@@@XY )@@G@@/K@O_% 0@ 6,A^) @.XZ )@@G@@'^@ JK'^@ Q5*4@ 20/K@^_.C@@AMG'=@@@I(*@ 22'^@^>CC8@@@IC0K 6,%8K@@*[^@ 30YA )@@G@@C8@ @C*4@ 20/K@^YI'^@ R#'^@ Q5C@KAMH*0@ 20[@K ;6C@@ ;6CCK ;6&;@@@@'=@@[[YB )@@G@@ @@^YPC8@@@@*4@ 6!C8@@@^*0@ 6!G8@@@]C@WA@2G@WA@3R@KAL'R@)AL;N8K@@XM@M)@@YC )@@G@@Q8K@[]Q8) 9JN8K@@IM@M)@@R@K 8IR@) 8JN@K 9I ^@^'?/K@@@@>[K 6I/K@ @6*@@@@VYD )@@G@@*=@ 6?/K@ @1[7) 60N'@@@E'^@^+H*)@ 20/K@ @0(=@ 20/K@ [VP8)@@[[#0 9I(^@ "OYE )@@G@@/K@ @6C80@[[/,0 BFC@@@@]%8@@@@:8@^_:/K@^_?%8@^':/K@ @_C^@^'%G8@@@[R@)@@GYF )@@G@@%8@^_M/K@ [BC^@^_LCCW@@@G8K@@[[CW@@@G8@@@#R@)@@G ?@ 61'^@^+H*)@ 20'^@^% YG )@@G@@(=@ 20/K@ [J'^@^Z=/K@ >\C@@ 7A+@@ ;=:@K ;='^@^>CN'@@@EC@@@@]'^@ C=C@!@@@YH )@@G@@'^@ *QR@0@@JC[NACL @@ 6?*@@ 7 ^[0P7 @@ 7 ()@ 6?'^@ G>C@@ 7AG8@@@[()@ 6?YI )@@G@@[@@ 7A8M@ [&/K@ C^+8)J__C@@@@J>[K 6O/K@ [!+@) _\!@0AMI[\) 6?+@) _0/^0 [3YJ )@@G@@(?@ 6?/K@ ]^C8I@@@/K@ #G;C0@@MC@K@@F/,0 BFR]0@@HC@Z 8H'K@@@HC8G@@@/VH)@@YK )@@G@@>8))@@/K@ ]^=[K 6I*@@ 9I/K@ ][/K@ ]^N[0@@HC8Z 8H[@K 7 [@@ 7#>[K 6C=8)K@@YL )@@G@@/K@ ]H(?@ 6?=[K 6D/K@ ]4?8@@]@/K@ ]4 =@ 6,')[AK*/K@ ]Q')[AK:/K@ ]V(0@ 62YM )@@G@@/K@ ]4/K@ ]&/K@ ]4')[AK,/K@ ]V(4@ 62/K@ ]4/K@ ]&*4@ 6,/K@ ]Z[3) 6?/K@ ]4YN )@@G@@[$) 6,')[AK$/K@ ]\')[AK%[3) 6?(*@ 62/K@ ]4>[K 6N/K@ ]4=[K 6I*)@ 6?/K@ ]?YO )@@G@@/K@ ]4>8)K@@[3) 6?/K@ ]4')[AK![3) 6?(?@ 62/K@ ]4/K@ ]&>8)K@@/K@ #G(0@ 6?YP )@@G@@/K@ ]9/K@ B"N@) _1R]K 7^R]@AL_N8K@@#*@@ 7^M]D)@@ @@ 7^'^@ C=<@!@@@C@)@@JYQ )@@G@@+8)J__C@@@@J[\) 600@@ 3P/K@ [VC[@ 3PG9@@@[[[@ 3P/K@ [V>[K 6K/K@ #Q[3) 60YR )@@G@@*0@ 6?/K@ B"C[@ 3P/H@ [PG9@@@[[[@ 3P/K@ [P(*@ 6?R8+@@[>[K 6I/K@ #<*)@ 6?YS )@@G@@/K@ #<**@ 6?/K@ #-C#0 9I/#0 @6[:) 6?H;0@@[N8K@@[>[K 6M=[K 6N/K@ #$/K@ ^=YT )@@G@@*0@ 6?/K@ B"()@ 6?R]0ALIN9K@@@=[K 6LN9K@@[A60 6?*?@ 6?/K@ ^GR])ALIN@)@[[YU )@@G@@N^K "O2@E>"P/K@ #7[:) 6,N@K@[]?8@@]@/K@ ^M'^@ C=>[K 6M/K@ ^Y>[K 6O/K@ ^XYV )@@G@@*4@ 6\(*@ 6!/K@ ^H>@) 6>>@) 6=/K@ ^H+@) _\;C0@@UR[\ _4C@.@@@;C6@@@+80@B_YW )@@G@@/K@ ^ZK8@@@@N@) _2<@) ^K[@0 ^KC[H@@@/K@ ^Z*?@ 61'^@ I3=[K 6N?8@@@)/K@ ^UYX )@@G@@!8@@[[!8@@[K/K@ C[ 0@ 6?K8@ 8HG@K 6>G@K 6:C[H@@@[[F 6/[@V>6"*@@@[ C8G@@[YY )@@G@@8LK #,R5#ACLN@= _,<@";A@) "5R8?@@@ZC )@@G@@L;-@@@*=@ 6,R@K@@V$9@@@D$9@@@C>[K 6N')^AKL>[K 6P/K@ + 4@ 6! 0@ 6!/4@ )ZD )@@G@@[3) 6!//@ +[7) 6!(?@ 6?>[K 6N/K@ @==[K 6H/K@ @=R]0ALIN5K 6?C[F 6/C@V>6"ZE )@@G@@/GK />[K 6O/K@ /*4@ 6\(*@ 6!/K@ A@>@) 6>>@) 6=/K@ A@+@) _\;C0@@UR[\ _4ZF )@@G@@C@.@@@N8)@B_;@6)@@<@0@@K;[A@@@=[K 6I(@@@[ [[H@@@/K@ AAN@) _2<@) A [@0 A ZG )@@G@@=[K 6I(@@@[ [[H@@@8LK (/K@ @=/V@@@@C@5 8TC[ 8U/K@PAC/V@@@@[@5 8T[[ 8UZH )@@G@@/K@PAG/V@@@@C@5 8TN@) 9J/K@PAK/V@@@@C@5 8TC[ 8UN@) 9J/K@PAO/V@@@@C@5 8TZI )@@G@@C[ 8U[[K@@VC[P 8V/K@PAT/V@@@@[@5 8T[[ 8U[[P 8VC[K@@V/K@PAZ/V@@@@*)@ 6?ZJ )@@G@@/K@ A6[<) 6?R9)@@@+@) _7H@)@@J;G0@@Q(@@@@K;G0@@^;D@@@);@0@@^;^0@@2G@)@@KZK )@@G@@*)@ 6?/K@ [V/K@PA> )@ 6?[7) 6?C8@@@[N8K@@[/K@ A%/V@@@@C@5 9H*8 @@@/K@PA;ZL )@@G@@=[K 6M/K@ C[/K@PA;/V@@@@C@5 8HC;5@@@?;0@[[?;0@@)!;0@[K/K@ C[/K@PB]G80@@GZM )@@G@@R])ALIN^K "O2@'>"P/KF@@@[:) 6,/KF@@@G80@[@/K@ BFC9@@@]G80@@FK@0@@KR])ALIZN )@@G@@N^K "O6@'>"P/KF@@@[:) 6,/KF@@@C9@@@#/K@ BON@)@@F/,0 BER]0@[]**@ 6,/KF@@@ZO )@@G@@C80@[]/K@ BFN@)@@F/,0 BN/K@ B)Q;2@@@/K@ #*)@ 6?/K@ B5C82@@@[^0 6/*0@ 6"ZP )@@G@@[@0 6/[<) 6?R]0ALIC@@ 7#C[KAML/K@ ]^C[KAMM'K@AMN/K@ #C8@@@[ @@@@H/K@ CFZQ )@@G@@C8@@[]C8K@@^/K@ CFC8@@]]C8K@@C/K@ CFC8@@#]C8K@@K/K@ CFC8@@^]C8K@@)/K@ CFZR )@@G@@C8@@A]/K@ CEC8@@B]C8K@@][C@^YPA^)^YP[CK^YQA^) 6#[$) 20/K@ @=+@)AMO[C0A#SZS )@@G@@ 0@ 6?(0@ 21/K@ CV**@ 20/K@ CUC@@AMP'^@ U\ 0@ 21N8K@@"C@KALZC8@@]+2C.)@]ZT )@@G@@/V@@@@C@H@@[[@@ 7CC^H@@@/KG@@@/V@@@@C@K@@G*?@ 61/K@ I??8K@@@G8K 6//K@PC=ZU )@@G@@/V@@@@(0@ 6!/K@PC:/K@ #/V@@@@*0@ 6!/K@PC\/K@ #/V@@@@(4@ 6!/K@PC3/K@ #ZV )@@G@@/V@@@@*4@ 6!/K@PC7/K@ #+@0AMQ;D@@@MCCL 63:8K@@^/K@ D: @@ ;X/K@ DH 0@ 6?ZW )@@G@@')[AK*/K@ DC')[AK:[3) 6?/K@ DE')[AK,[3) 6?B\0 DF[CL 63/K@ B*/G0 DM?9@@@^ZX )@@G@@:9@@@[/K@ DM/K@ D]C#0@@LN[@@@GC@@@@J;C@@@M&;@)@['=@@[0=@K 6N/K@ D,')[AK4ZY )@@G@@=@K 6P')[AK8'K@AMRC.G@@@;C@@@MC.W@@@')[AK0C[K@@VC@@@[^C@K@@J;CK@@M/K@ D]ZZ )@@G@@C@@AMS'=@@@IP8)@@[/K@^_!C@@AMT'=@@@I/K@ D(C@@AMU'=@@@I/K@ D(+@0AMQ;D@@@MAA )@@G@@C^L 63:@K 65/K@ D: @@ ;X/K@ E# 0@ 6?')[AK*/K@ D"')[AK:[3) 6?/K@ E@')[AK,AB )@@G@@[3) 6?B:0 E[[^L 63/K@ B*/G0 EC?9@@@^:9@@@[/K@ EC/K@ D8C#0@@LN[@@@GC@@@@JAC )@@G@@;C@@@M&;@)@['=@@[0=@K 6N/K@ D,')[AK6=@K 6P')[AK''K@AMRC.G@@@;C@@@MC.W@@@AD )@@G@@')[AK2C@@@[^C[K@@VC@K@@J;CK@@M/K@ D8CCK .-?8K@@-/K@ B8+@0 6(C@K@@K+@0AMQAE )@@G@@;D@@@M;CK@@-=@0 6%/K@ E:CF. 63:;0@@^/K@ D:/K@ E,CB. 63:#0 65/K@ D: @@ ;XAF )@@G@@/G0 E4?9@@@^:9@@@[/K@ E4/K@ FUR[0@@HC#0@@LN[@@@GC@@@@J;C@@@M&;@)@['=@@[0AG )@@G@@=@K 6N/K@ D,=@0 6%/K@ F#')BAK4=@K 6P')BAK8/K@ FA')BAK6=@K 6P')BAK'C9G@@@AH )@@G@@;C@@@MH9@@@[C9W@@@G9K@B_0@@@@K;H@@[C>@0 6%')BAK0=@0 6%')BAK2C@@@@JC[K@@VAI )@@G@@;C@@@M+8@$__ 4@ 6,(@@@@R*@@@@T[7) 6,C@@@[^ 0@ 6? =@ 6,')[AK*/K@ F-')[AK:AJ )@@G@@/K@ F=/K@ F0')[AK,/K@ F=/K@ F0*4@ 6,/K@ F*[3) 6?/K@ F0[$) 6,')[AK$/K@ F,AK )@@G@@')[AK%[3) 6?/K@ F0')[AK![3) 6?B_0 F1>@0 6%[CR 63=@0 6%[^R 63/K@ B*/K@@@@AL )@@G@@()@ 6!/K@ G[ *@ 6! ?@ 6!=@@ 6F[:) 6!=@@ 6C[\) 6!B0G@@@/K@ F6+8@@[-/^K GKAM )@@G@@C[@@@GC8@@@H=[@ 6EG@@ 6:=[@ 6DG@@ 6* *@ 6!>[@ 6F/K@ GIG@@ 6T[:) 6!'=@@[\AN )@@G@@/K@ F6C@@^WE @@@@H/K@ CF/K@@@@()@ 6!/K@ GVB4@@@JN@) 6G<@1 6F[ @ 6//K@ GNAO )@@G@@ @@@@G'=@@[\=@K 6:G@@ 6E=@K 6*G@@ 6D=@K 6TG@@ 6F[^@ 6//K@ GN/V@@@@*4@ 61AP )@@G@@'^@ JKCC@ 60 4@ 61 ^@ 61[@@ 60[@) 7@A@0 7[A@) 7]R]@AL_9*) 679(@ 69'^@ O'AQ )@@G@@'^@ PY'^@ >.9?) 679!@ 69(*@ 20*?@ 20/K@ I(C@3AGN+@0 66*@@ 66/[@PG>+@) _3AR )@@G@@=[K 6J+@) _4;C0@@QR[K@@JC@3AGN=[K 6J/K@ HD+@0AMV/[@ IB/K@ H-C8 @@@?8@@@GAS )@@G@@?8@@@@/K@ HKC@GA@'G@@AMW/K@ HV?8@@@)?8@@@G/K@ HQC@GA@,G@@AMX/K@ HV?8@@[KAT )@@G@@?8@@[@/K@ HVC@G _'G@@AMY[@C)@@C[ 8H[[C)@@C9 8H[[C)@@/K@ IB>@0 6D/K@ H2AU )@@G@@R'K@@@=@0 6ER'K@@[=@0 6CR'K@@]C[ A@'G[@AMX[[C)@@C[ 8T[[C)@@C9 8T[[C)@@AV )@@G@@O9K@@[8]K H*/K@ IBC[ A@'>@0 6J/K@ H'G[@AMW$9K@@G/K@ H'C[@AMXG[ A@,=@0 6GAW )@@G@@G[@AMY[[C)@@=@0 6JC[ 8H=@0 6GC[ 9H[[C)@@=@0 6JC9 8H=@0 6GC9 9H[[C)@@AX )@@G@@+@) _0/@0 ISA]@ 7^;C0@@MR[K@@JC[@AMW$9K@@G/K@ IMC[@AMXG[ A@,/K@ ING[ A@'AY )@@G@@[[C)@@C[ 8H[[C)@@C9 8H[[C)@@>[K 6I/K@ I)C[@AMZ[[C)@@C[@ 9I[[C)@@C9@ 9IAZ )@@G@@[[C)@@C[#AGN>[@ 6I/K@ I(C[@AM)[[C)@@C[@ 9J[[C)@@C9@ 9J[[C)@@[\) 61[7) 61BA )@@G@@/K@PG>[@S)@@?8K@@@G8K 6/R[.@@@A[8)@@[@S)@@/K@PC=/V@@@@?8@@@G?8@@@@/K@ I'BB )@@G@@C@KAMWG@WA@'/K@ JB?8@@@)?8@@@G/K@ J@C@KAMXG@WA@,/K@ JB?8@@[K?8@@[@/K@ JABC )@@G@@C@KAMYG@W _'/K@ JBK8@ 8H[@S)@@R[/ 8HA[8)@@K8@ 8H[@S)@@/K@PI39?) 679!@ 69BD )@@G@@C#0 6;/K@@@@**@ 20/K@ JK9*) 679(@ 69[#0 6;'^@ O''^@ PYK#) 7B[#0 7BC@@AM-BE )@@G@@*=@ 60C@@AM+*)@ 60C@@AM<**@ 60C@@AM=[@@ 9"C8@@@^'^@ PSC@@ ;VC8)@@A'^@ P'BF )@@G@@C80@@@**@ 61C80@@S*=@ 61C80@@J*@@@@J')B>O"R]0 7[C#;AGNC8@@@L*4@ 20H8@@@#BG )@@G@@'^@ QPC@@@@VC8)@@^'^@ QYC[@ 7@>#0 6F/K@ K +[@ _\/[K K C80@@,')B>O";DK@@UBH )@@G@@C@K@@LC@HA@'**@ 6!C@HA[IC8)@@#'^@ QYC8@@@U*4@ 20H8@@@ '^@ QP=#0 6N/K@ KIBI )@@G@@:#0AHF/K@ K-/K@ K/C8@@@@=#0 6DC@@AMX=#0 6JC@@AMW=#0 6GC@@AMY+[@ _3;DK@@QBJ )@@G@@C@)@@L:@@AMW?8)@@G/K@ KXC@@AMXH8)@@GG^IA@'C8)@@A'^@ QY/K@ K'+[@ _4C@@@@LBK )@@G@@;C@@@Q?8@@@G?8@@@@/K@ K%C@GA@'G@@AMW/K@ K5?8@@@)?8@@@G/K@ K0C@GA@,G@@AMXBL )@@G@@/K@ K5?8@@[K?8@@[@/K@ K9C@G _'G@@AMY;@@@@MC8)@@#'^@ QY*8@@@@'^@ P%C80@@,BM )@@G@@')B>O"(@@ 7C/K@ LEC@@ 7C @@ 7CC8)@@A%#0AH>/K@ L8+8@@@_:8K@@$/K@ L8'^@ QYBN )@@G@@C80@@$')B>O"/K@ M=C@) 7[C@,ACL>@) 6O/K@ LM+[@AM>%[KAMI:[KAM&/K@ MQ>9@K@@BO )@@G@@/K@ LQC80@@*')B>O"+9@J__C@@@@LC@K 7[C@!ACL>@) 6C=@) 6D/K@ L'+[@AM$(@@@@LBP )@@G@@:8K@[E/K@ L'=@) 6O+[@AM&![KAMI/K@ L'?8@@@G?8@@@@/K@ L:C^WA@'G@KAMW/K@ L6BQ )@@G@@?8@@@)?8@@@G/K@ L1C^WA@,G@KAMX/K@ L6?8@@[K?8@@[@/K@ L'C^W _'G@KAMY;^@@@MBR )@@G@@C8)@@#'^@ QY/K@ M=+[@AM*>9@K@@>#0 6N/K@ M@(8G@@@(@@@@L'^@ ON/[K M=C80@@,BS )@@G@@')B>O"C80@@*=9@)@@')B>O"C80@@X![KAM(C80@@A%80@@A%9K)@@')B>O"C@@@@L;C@@@MBT )@@G@@:80@@AH8@@@GC8)@@]C^GA@';@@@@G'^@ QY/K@ M=C^@ 7@=[@ 6+CG@ 7@C80@@-/C@ MZBU )@@G@@')B>O"E@@@@G'^@ P%/K@ M=*?@ 22/K@ M<'^@ P%/K@ M='^@ ONC8@@@!*4@ 20H8@@@CBV )@@G@@*?@ 20/K@ OK'^@ QPC[K@@CH9K@@[R]@AL_?[K@@C/K@ OKC@C@@@C8S@@@H8K 7H;GK@@=BW )@@G@@W8K@@#N8X@@@C@KAM%2@H)@@/K@ M'O'@@@#/K@ M!C8D@@@T8@@@A*4@ 20/K@ N>G8B@@PBX )@@G@@C@S@@[C@*@@]%@Y@@@G8@@@H?8@@]#/K@ NFC@@ALB'^@ U\'^@ O''^@ PYC8@@@!'^@ PSBY )@@G@@C8@@@]'^@ PKC^C@@@C8)@@A*CC@@@'^@ QY(CC)@@'^@ P'C80@@=')B>O"C[C)@@C@@@@KBZ )@@G@@C8)@@G'^@ QBC@8)@@:[J@@@/K@ M!C80@@/')B>O"C8C@@@H8@@@[C@G@@@C@G@@@C8)@@GCA )@@G@@'^@ QB/K@ M!G8B@@A(CC@@@G8@@@#C@S@@['^@ N_G@@@@IC@S@@]C@X@@@:@S@@[/K@ N1CB )@@G@@'^@ N_G8I@@[?8@@]^/K@ NFC@@ALB'^@ U\'^@ O''^@ PY*?@ 21/K@ NHC8@@@NC^K N1CC )@@G@@?8K@@6C8@@@#'^@ PS/K@ NF/K@@@@/GK OD;S)@@HC8)@@*!80@@)C80@@>H@)@@J;O)@@=CD )@@G@@W8)@@#/K@ N_;S)@@H!80@@O/K@ OIC8)@@H/K@ N_G8@@@[/K@ O]C@@ALB'^@ U\/K@ JHCE )@@G@@/V@@@@(C@ 7D/K@ O+C^K 7D'KKAL8NCK 7D8KK O=CC!@@]=@) 6D(CH@@#/K@ O+NCX@@#CF )@@G@@C^X@@#'KKAL8/K@ OT'^@ P%/K@PON?CH)@#?^H@@@/K@ OTH^H@@][@@@[[=F!@@]/K@ O5CG )@@G@@C@H@@[C8)@@A'^@ QYE@@@[[/@@PONC80@@+0@@@[[C80@@-')B>O"/K@ O+C^!@@[C8@@@GCH )@@G@@9?Y@@@'^@ Q%/K@ O,/V@@@@R[0ALIR]KALI/K@PO'[49 9"[09 9"[?9 9"[*9 9"[=9 9"CI )@@G@@[)9>9"/!0 P P90@@[A 0 PCQ90@@@/K@@@@[C9 9"[^9>9"/!0 PGP90@@[A 0 PJQ90@@@CJ )@@G@@/K@@@@/V@@@@C8K@@A%8R@@@G8B@@@T8T@@@G8H@@@'^@ PS/K@PPK/V@@@@;G@@@=W8@@@ACK )@@G@@Q9.@@@Q'W@@@/K@PPS/V@@@@R;@@@PC@KAM-[@W 9"8#@ P-/K@PPY/K@@@@C8@@@PC@KAM:CL )@@G@@[@W 9"8#@ P$/K@ P=/V@@@@C8)@@@;G@@@#/@@ P3G8)@@[;G@@@#/^@ P,C80@@0')B>O"CM )@@G@@;^K@@=C80@@@;^)@[ G80@@0')B>O"8#K P4/K@PP%/V@@@@C8Y@@@G8Y@@@G8Y@@@;GH@@@CN )@@G@@;^K@@=8#K Q]/K@PP'C80@@@;^)@[ G80@@0')B>O"/K@ Q@/K@@@@*4@ 20/K@ QG'^@ P'CO )@@G@@/K@ QB/C@ QN;SK@@G?8)@@O/K@ QNE@@@@GC80@@-')B>O"'^@ P%/K@ QB/K@@@@*4@ 20CP )@@G@@(?@ 21/K@ QWC80@@ ')B>O"/K@ QP'^@ PS/K@ QP/V@@@@C@K@@IC@)@@G8#K QO"/K@ Q-/K@@@@8#@ Q!/K@ Q%;=K@@A+8)@@_CR )@@G@@:80@@ /K@ Q%*@@@@J')B>O"8#@ Q!/K@ Q%/V@@@@**@ 20/K@PQ5C8@AM?C@KAM!N8K@@QCS )@@G@@*4@ 20N8K@@ M#W)@@C@@ALW*4@ 20&;@@[ '^@ U\/K@PQ5/V@@@@C@@AM,'=@@@I'^@ SLCT )@@G@@'^@ S4'^@ R>C@@AM\'=@@@IR])AM0N8K@@C'^@ PY'^@ O'C4E@@@[4@ 9"C0E@@@*4@ 20CU )@@G@@H8@@@]'^@ PSN?%@@@RA')@@&'0@@[8K) RZ*)@ 20/K@PR#C@@ALB'=@@@I8KK RH/K@PR#CV )@@G@@C@F)@@C8)@@G'^@ P'C8@@@]'^@ PK/K@ RS/K@@@@C@@AM1(4@ 6!C@@AM2[@@A@#C@@AM1CW )@@G@@(0@ 6!C@@AM2[@@A@CC@@AM3'=@@@I/K@ R>/K@@@@R])AM0N8K@@]C^@ R1[^@ R#/K@ RHCX )@@G@@/K@@@@R])AM4N8K@@#C^@ R7/K@ R5/K@@@@R])AM5N8K@@[C^@ R//K@ R5N[@@@G/,8@@@CY )@@G@@/K@ SC9?K@@GC8@@@G'^@ Q%/KE@@@C@@@[^'^@ P%/KE@@@C80@@**@@@@G')B>O"C80@@,CZ )@@G@@')B>O"/KE@@@/K@@@@'^@ PY'^@ O'C@@AM6C@KAM79*@ 9"C8@@@:[4@ '@Q'K@@]Q90@@#DA )@@G@@R'@^X%CC@ 63*@@@@G/,) S[C4@ 62/,) SFC^@ 63*@@@@G/,) S[C0@ 62/,) SFCC@ 64DB )@@G@@*@@@@G/,) S[C?@ 62/,) SFC^@ 64*@@@@G/,) S[C80@@***@ 62')B>O"C@@ALB'=@@@IDC )@@G@@/K@ SL/K@@@@A[) ;Q'^@ PY'^@ O'C@@AM6C@KAM89*@ 9"Q'K@@]Q90@@#R'@^Y#*8@C@@DD )@@G@@/K@ T# @@@@G/,) S[/K@ TU @@@@AC@@@@A;C@@@]/,) S[()@ 20(^AC@@/K@ TUC80@@,DE )@@G@@')B>O"C8D@@@T8@@@AG8B@@@G8@@@H')@ N1/K@ TSC@@ALB'=@@@I'^@ PY'^@ O'Q'K@@]DF )@@G@@Q90@@#R &C@@/K@ T^C@@ALB'=@@@IR[) ;Q/K@ S4/V@@@@[@@ 7E, ) 7E\A@ 7E/K@ T=DG )@@G@@/K@PTY&;@@@[C@KAM9N0K 7EM#W)@@/K@PTY/V@@@@(*@ 20*?@ 20/K@PT(, ) 7E\A@ 7EDH )@@G@@/K@ T1/K@PT('^@ PY'^@ O'9?@AM'9*@ 9"R[KAM9R ) 7E&9)@@[N0K 7EC^@ 7EG4@ 7EDI )@@G@@N@)@@G8KK U[8KK T_/K@PT('^@ PY'^@ O'Q'K@@]Q90@@@C8A@@@C8)@@A%@@@[]/K@ UKDJ )@@G@@'^@ P'9? @@@9*@ ']9?@AM/9*@ '^O9K@@]O9)@@]8KK U%/K@ U%'^@ P'C8@@@A'^@ PKDK )@@G@@C@ @@@C8)@@G'^@ P'C@A)@@:@ )@@/K@ UXC8)@@GC80@@/')B>O"'^@ P'(@@ 7G/K@ U%DL )@@G@@C8A@@@H8@@@[%^@ 7F/K@ U%*8B@@@Q'T@@[9?@AM"9*D 9"C@@ 7G[@D '@ @@ 7GC@@ALBDM )@@G@@'^@ U\*)@ 20/K@PT(/K@ T./K@@@@*@@ ;&/K@ U4'=@@@I/K@ U\[@@ ;>*)@ 21'=@@@IDN )@@G@@C8@ ;>'=@@[=/K@ U\/K@@@@*@@ ;&/K@ U_'=@@@8/K@ U'[@@ ;>*)@ 21'=@@@8C8@ ;>DO )@@G@@'=@@@9/K@ U'/K@@@@C@0 7C/@0 VJ;)0@@A+80@@_/[@ VC%9@@@A/K@ VJ'^@ U'/K@ V DP )@@G@@'^@ U\/K@ V /K@@@@C8@ ;**@@ ;&/K@ VR'=@@]@/K@ VL*)@ 21'=@@]@9?0 ;&9*0 ;*DQ )@@G@@'=@@]@C80@@I[@0 ;* @@ ;(/K@ VL/K@@@@C80@@G*^@ "O/,0 BFC@@ 8TC[@AN@[[C)@@DR )@@G@@[@C)@@C9@ 8T[[C)@@/K@ V)/K@@@@C80@@H*^@ "O/,0 BFC@K 8UC[@AN[[[C)@@[@S)@@DS )@@G@@C9@ 8U[[C)@@/K@ V:CCH@@@?8@@)@?8@@K@/K@ V;/K@ W[[^@ V"'^@ V)'^@ V:'=@@@@DT )@@G@@9*@ 8T/K@ ^.[^@ WNC#0@@LR[0AN]R]KAN@N9@@@[N9K@@ R]$ 8HR'7 8HA]S)@@A]*)@@DU )@@G@@A]8)@@A]$)@@O'K@[@8LK WBQ90@[[Q'KR1 N9K@@]8L@ WB'=@@@@/K@ WR[:) 61R8+@@[DV )@@G@@^@K 9I^@) 9J^@0 9K9*@ 8T9*) 8V9(@ 8XC[K@@V/K@ ^.CCH@@@[^@ W+'^@ V)'=@@@@DW )@@G@@[@@ 8T/K@ ^.CCH@@@[^@ W*'^@ V:'=@@@@[@K 8U/K@ ^.C@@AN#'^@ U\/K@ >!SORRY DX )@@G@@- THIS ER CANNOT BE SIMULATED [^0 W/'^@ V)'^@ Q5C@@ 8TN@)AN^<@@AN C@@@@HDY )@@G@@()@ 21'=@@@I*@@ ;&'^@ V '^@ Q5/K@ ^.[^0 X^'^@ V)&;@ XS'=@@@H&'/@[@QA0 8TDZ )@@G@@[@@ 8T(@@ ;&(4@ 20/K@ XG/K@ ^.**@ 20/K@ ^.N)) 21 )@ 21'^@ Q5C@@@@FC@K 8TEA )@@G@@>@K 6$'^@ V '^@ Q5^)) 21/K@ ^.CCK 8T[^K XV[@@ 8TC8@@@@/K@ #[^0 X$'^@ V)EB )@@G@@**@ 20/K@ X&'^@ Q5C@@ 8TG@@ 6)'^@ V '^@ Q5C@@ 8T'=@@[S[@@ 8T/K@ ^.CCH@@@EC )@@G@@[^@ X5'^@ V)**@ 20/K@ X4'^@ Q5C@@ 8TG@@ 6)'^@ V '^@ Q5C@@ 8T'=@@@@[@@ 8TED )@@G@@/K@ ^.[^0 YC'^@ V)**@ 20/K@ YB'^@ Q5C^@ 8T&;@[#@'^@ TY'^@ T(C^@ 7E&\G@@@EE )@@G@@QBG@@@G@@ 6-'^@ V '^@ Q5C@@ 8T'=@@[=[@@ 8T/K@ ^.[^0 YT'^@ V)**@ 20/K@ YOEF )@@G@@'^@ Q5C@@ 8T&;@[#@'^@ TY'^@ T(C@@ 8TCCW@@@[^K Y?C8K Y&[CW@@@'=@@@+C^K 8TEG )@@G@@[@@ 8TC^@ Y?[CH@@@**@ 20/K@ ^.&B@ 8TQBH@@@G@@ 6-'^@ V '^@ Q5/K@ ^.C^K 8TEH )@@G@@[@@ 8TC^@ Y?[CH@@@(*@ 20'^@ Q5C8@@@@/K@ #[^0 Y"'^@ V)**@ 20/K@ Y.'^@ Q5EI )@@G@@C^@ 8T&;@[#@'^@ TY'^@ T(C^@ 7E&\G@@@QBG@@@G@@ 6-'^@ V '^@ Q5C@@ 8T'=@@[>EJ )@@G@@[@@ 8T/K@ ^.[^0 ZH'^@ V)**@ 20/K@ ZH'^@ Q5C@@ 8TG@@ANA(C@ 8T&;@@[I'^@ V EK )@@G@@'^@ Q5C@@ 8T'=@@@J[@@ 8T/K@ ^.C@@ 7]H8@@@[C@G@@@+@@ANB;CK@@M*@@@@HC^X 8HEL )@@G@@'K@@@H[^@ ZT0@@@@@'=@@@A/K@ ^.CCH@@@[^@ Z0C@KANCN8K@@ 2^H)@[/V@@@@E@@ 8TEM )@@G@@&FH@@@'^@ TY'^@ V)'^@ V:C80@@I*^@ "O/,0 BFC@) 8VC[@AND[[C)@@[@*)@@C9@ 8VEN )@@G@@[[C)@@'=@@@@9*@ 8T[@) 8V'^@ T(/K@ ^.[^0 )G'^@ V)'^@ Q5C@@ 8T&;@#]@'^@ TYEO )@@G@@'^@ T(C@@ 8TC@G@@@N)) 21 )@ 21*4@ 20(@@ ;&/K@ )^'^@ V C@@ 8TCCW@@[[^K )+EP )@@G@@9?G@@@&;K )X9*@ 5YC8@ 5Y^)) 21'=@@[] )@ 21C^K 8T[@@ 8T&B@ 8TQBH@@[G@@ 6-EQ )@@G@@C@K 8T=@K 6$/K@ )U*4@ 20(@@ ;&/K@ )U'^@ V ^)) 21'^@ Q5/K@ ^.C^K 8T[@@ 8TER )@@G@@C^@ )+[CH@@['^@ Q5C8@@@@/K@ #'=@@[#/K@ ^.'^@ V)*?@ 8T/K@ W:/@@ )?(C@ 8TES )@@G@@/K@ )0[^@ ;6;C@@@S[C@ ;6/K@ )4'^@ V:[^@ ;6[CK ;6C@@@@H)8@@:_C8@^YP'=@@[[ET )@@G@@/K@ ^.CCH@@@[^@ -]'^@ V)&;@@A@C0W@@#;CK@@#:8K@@#&;@@C@'^@ TYC@@ 8T'=@@@@EU )@@G@@[@@ 8T'^@ T(/K@ ^.[^0 -J'^@ V)&;@@D@:80@[<&;@@E@:80@@U&;@@H@'^@ TYC@@ 8TEV )@@G@@'=@@@@[@@ 8T:80@@U/K@ -P'^@ T(/K@ ^.(*@ 20*?@ 20/K@ ^.N8K@@D*@G@@](4G@@AEW )@@G@@/K@ -&C5G@@A!9@@@)/K@ -&N8K@@H?9@@@K/K@ -&%9@@@X:9@@@Y/K@ -&N8K@@E^0K 7EEX )@@G@@/K@ -NR90@@[/K@ -: @@@@BCC@ 8TCD@ 8T+8@@B_[^0 W+C^@ 8T/^K -9 @@@@D')[AK>EY )@@G@@R'K@@]*@@@@[O'K@@^/K@ +A')[AK>C [ 63 @@@@D:D@ 63/K@ +AR'K@@]: @ 63/K@ +AEZ )@@G@@R'K@@^:D@ 64/K@ +AR'K@@A: @ 64/K@ +A/K@ W-C@9@@N)8@@B_')B +F[@T@@N/K@ W-FA )@@G@@!@@@@J!@0@@G'^@ V)'^@ V: @@ ;XC@) 8VC9G@@@:9@)@@/K@ +>C[@AND[[C)@@[@*)@@FB )@@G@@C9@ 8V[[C)@@/@K +W[^K +'K@ANG'^@ TYC@@ 8T'=@@]@[@@ 8T**@ 20/K@ >*(4G@@#*0G@@#FN )@@G@@/K@ >*CCW@@]C^?@@#C@/@@^C G@@][@0 ;?:8K@@!/K@ >*%8K@@K:8K@@>/K@ =3/K@ =.FO )@@G@@=8))@@/K@ >*%8K@@K/K@ =. ^@ ;%=8)@@[[B) ;%C^/@@ [C0 ;?/K@ >@ ^@ ;%=9@@@[FP )@@G@@[B) ;%9?/@@@/[@ >^'^@ VL/K@ >*:80@[S/K@ >]%8K@@+:8K@@!/K@ >]N)) 21:8K@@>FQ )@@G@@/K@ >U%8K@@K/K@ >R(@@ ;&(4@ 20/K@ >M/K@ >**4@ 20 )@ 21'^@ VL^)) 21/K@ >*FR )@@G@@(@@ ;&/K@ >*/K@ >N*@@ ;&/K@ >+*4@ 20/K@ >*&B/@@DQB/@@C[@0 ;?/K@ >O )@ 21FS )@@G@@'^@ VLC@@ 8T(4@ 20^)) 21/K@ >Y(*@ 20'^@ T('^@ Q5/K@ ^.[7) 61/?)^_!'=@@@DFT )@@G@@[7) 61/?)^_?'=@@@D/K@@@@A]0 ;Q[@@ ;R/,0^U!/K@ >9R]0 ;Q/K@ >2C^@ ;RC8K@@@FU )@@G@@9?)ANH/K@ >7/K@@@@C@@ 7]9?K ;W\@K@@G/K@ &<'^@ >29(@ ;W[@@ ;V ?@ 6,9/) ;SFV )@@G@@/K@ &F:@K ;U/K@ >.[\) 6,9*) ;S[@K ;U(*@ 20/K@ &Q(*@ 21*=@ 21/K@ &&(4@ 21FW )@@G@@/K@ &&*?@ 6,/K@ &&9?K ;S9*K ;YC8@@@G'^@ Q%C8@,$(C8)@@A'^@ QYC@@ ;U[@@ ;)FX )@@G@@'^@ P%C80@@)')B>O"/K@ &&H8H@@[[@@ ;V/K@ >.9?@ ;S9/@ANJ/K@ &%/K@ $+9/@ANHFY )@@G@@/K@ &!/\K $NC@K 16*4@ 22/K@ &2=@K 6%/K@ &.(@@ .+/K@ $)N@K .+C@@AL59?) ;SFZ )@@G@@2@?>.>/K@ $)%@/ .=/K@ &7*4@ 22/K@ $+9?@ANL**@ 21/K@ $L(*@ 20*4@ 21/K@ $^GA )@@G@@/K@ $F(*@ 20/K@ $G*4@ 21*=@ 21/K@ $G*?@ 6,/K@ $G9*D 9_*4@ 21/K@ $%C*@ 20GB )@@G@@[:) 20[=@ 21[7) 21/K@ $%C^@ 7]'=@@[0>@@ 6T/KH@@@&;@)@['=@@[0C9G@@@C[K@@GGC )@@G@@H9@@@[;DK@@M9(@ ;W9?@ANN/K@ &"*4@ 22/K@ &.(4@ 21/K@ $% 4@ 21**@ 21/K@ $%GD )@@G@@C=@ 21[*@ 20 @@ 7C(8D@@@*8B@@@/K@ $,/K@ $1C@@ALB'^@ U\'^@ O''^@ PY/K@ >.GE )@@G@@/K@@@@A]0 ;Q/,0^P1/K@ $9R]0 ;Q/K@ $3D8@@@[/K@ $7/K@@@@^@K 9,A@K 8,A@) 8\GF )@@G@@R@KAL'R@)ANPN8K@@XM@-)@@Q8K@[]Q8) 9\N8K@@IM@-)@@/K@ $;/K@@@@R@KAL'R@)ANPGG )@@G@@N8K@@XM@M)@@Q8K@[]Q8) 9\N8K@@IM@M)@@R@K 8,R@) 8\N@K 9, @@ 9./K@ *C/K@@@@GH )@@G@@+@) _,;C0@@U?80@IK;C0@@^!80@IKH80@HR*4JA^J/K@ *QC@@@@J*0JA^J/K@ *&+@) _\GI )@@G@@;C0@@UG^/A^J/K@ *X:80@@ *)@ 6,/K@ *%/K@ *\+@) _3;C0@@Q()@ 6!*?GA^J/K@ *0GJ )@@G@@ @@@@J!0/A^JC0/A^JG^/A^J/K@ *X@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@@ @@@@@@@@@@@@@@@@@@GL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@K@@@@@#) (1GM )@@G@@@@@@@@@#) (1@@[ *6@@G@@G@@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GO )@@G@@@@@@@@@@@@@@@K@@@@@#) ,K@@@@@@@@@@@@INPUT ERROR *ABSOLUTE* @#) ,K@@[ !XGP )@@G@@C@@@@@[@@@@@ PCTBD$@@@3.7@@@@@@@@@@@@@@@@@@/K@@@@ENTER CONTINGENCY GQ )@@G@@MODE NO CONTINGENCY POINT EXISTS FOR RBK EXIT$ TERMINATION--TON$ NOT POGR )@@G@@SSIBLEINVALID COMMAND: CSF$ ERROR SNOOPY--II NOT ACTIVE GS )@@G@@@@@@@@@@S 3F@@@@@@@[[ 3O^% 2+C--________"COUNT:@[[ 3Q^% 2+ELT NAME--__GT )@@G@@@[] 3T^% 2+LC--__@[[ 3X^% 2+LOCN--@[[ 3)^% 2+NEW VAL--___@[] 3<^% 2+GU )@@G@@BDI--_@[[ 3$^% 2+FLAG--@[[ 3%^% 2+@[[ 4R^% '@@@[@@@@@[@@IGO @@@^% GV )@@G@@TOFF$ @@@^_!EXIT$ @@@ >!DUMP @@@^%'PRINT @@@^,?SKIP @@@^\6STEP @@@^\1GW )@@G@@BREAK @@@^0]RELAD @@@^0-RBK @@@^%\TON$ @@@^1^CHANGE@@@^1GJUMP @@@^3[GX )@@G@@ABSAD @@@^3ZLINE @@@^4VALTPRT@@@^4\RLIB @@@^5@@A R7@@X R1@@R R/@@B SL@@S S4@@L^"_@@E^)H@@N^>C@@@@@@@@@@@@HH )@@G@@@@@@@@CORE SPEC OUTSIDE LIMITS@@@@@[@@@@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@[@HI )@@G@@@@@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@[@@@@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@[@@@HJ )@@G@@@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@[@@@@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@[@@@@@HK )@@G@@]@@@@@^@@@@@C@@@@@K@@@@@)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL )@@G@@@@@@@@@@@@@@@@@@@^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HO )@@G@@@@@@J_@@@@@@@@@@@@@@@@@@@@@@@I@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@[@@@@@@@@@HP )@@G@@@@# .D@@Q@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'^@^'%@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%HS )@@G@@@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%HT )@@G@@@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%HU )@@G@@@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@'^@^'%HV )@@G@@@@@@@@@@@@@@/K@@@@/K@@@@/K@@@@_/@@@@@/@@@@@@J@@@@@J____#____@#0@@@@Z0@@@HW )@@G@@_______/J___@#_@@@@@@@@M@@@@@@@@M@@D__!@@VDUMP OF PROGRAM STATUS CARHX )@@G@@RY TOGGLE: @@@@@@ OVERFLOW TOGGLE: @@@@@@REGISTER CONTENTS XOB 8IHY )@@G@@ A^ 8P @@@@@AAC 8T AC 8- A^ 8( @@@@@ROB 9I AC 9PQUARTER-WORD MODE (SIMULHZ )@@G@@ATED) *** LEAVE TRACE MODE *** INSTRUCTION CYCLE COUNT: @@@@@@IA )@@G@@@@@@@@, PRINTED: @@@@@@@@@@@@CHARACTER ADDRESSING MODE (NOT IMPLEMEIB )@@G@@NTED) @@@@@@@@@@@@K@@@@@K@@@@@@@@@@@______\_____\_____W @0 H2 @1 H1 @2 IC )@@G@@XH2@3 XH1@4 T3 @5 T2 @6 T1 @7 S6 @8 S5 @9 S4 @10S3 @11S2 @12S1 @13U @14ID )@@G@@XU @15 @16 @17 @18 @19XXX@@@H2 @@@H1 @@@XH2@@@Q2 @@@Q4 @@@Q3 @@@IE )@@G@@Q1 @@@S6 @@@S5 @@@S4 @@@S3 @@@S2 @@@S1 @@@U @@@XU @@@@@D >0@EXIT$@@) WZIF )@@G@@@@ERR$@@E WZABORT$@@H X[@READ$@@I W4PRINT$@@J Z[@@CSF$@@3 WZ@@OPT$@@0 W>IG )@@G@@TWAIT$@@M V6@DATE$@@? WZTDATE$@@N WZ@TIME$@@6 WZ@COND$@@5 WZ@SETC$@[S XXIH )@@G@@PUNCH$@[Z X%PRTCN$@[4 X%PCHCN$@[! X%PRTCA$@[5 X%PCHCA$@[= X8PRNTA$@@+ YFII )@@G@@READA$@[> Y,PNCHA$@@[ )8@@@IO$@@# )8@@IOW$@@A ZK@WAIT$@[ ZW@@PFS$@[^ ZWIJ )@@G@@@@PFI$@[C ZW@PFWL$@[B ZWPFUWL$@[A ZW@@PFD$@[] Z5TREAD$@[# )=SWAIT$@[[ )&IK )@@G@@@IALL$@[G -AFACIL$@[< -AFACIT$@@< -%MCORE$@@= -*LCORE$@[\ +(@@PSR$@[D +HIL )@@G@@@LOAD$@[Q <<@SNAP$@@F +0@FORK$@@G +0TFORK$@[6 X[AREAD$@@8 W4APRINT@@' XXIM )@@G@@APUNCH@@/ X%APRTCN@@. X%APCHCN@@" X%APRTCA@@_ X%APCHCA@[7 YFAREADA@@9 X8IN )@@G@@APRNTA@@; Y,APNCHA@@U -AFITEM$@[P @0 6/� 6/$#0 6/*@@ 6/(@@ 6/IX )@@G@@%@0 6/:@0 6/?@0 6/!@0 6/,@0 6/\@0 6/0@@ 6/1@@ 6/2@0 6/3@0 6/4@0 6/5@0 6/IY )@@G@@6@0 6/7@0 6/8#0 #9@0 6/9^0 6/9C0 6/9G0 6/9K0 6/9O0 6/9S0 6/9W0 6/9)0 6/IZ )@@G@@9=0 6/9*0 6/9?0 6/900 6/940 6/980 #9/0 6//K@ B8/K@ B%'C0 #'G0 #'K0 6/JA )@@G@@'O0 6/'S0 6/'W0 6/')@@@G/K@ CL/K@ B8'?@ #/K@ B8@#@@#G@^@@#K/K@ B8;@/@@@JB )@@G@@;^/@@@;C/@@@;G/@@@;K/@@@;O/@@@;S0 6/;W0 6/;)/@@@;=/@@@;*/@@@;?/@@@@H[@#PJC )@@G@@;7@@@@@][@#<@#@@#&/@0 #/^0 #/C0 #/G0 #/K@ #/O@ #/V@@@@/W@ #/)0 #JD )@@G@@/=0 #/:0 #/K@ B*@^@@#%@^@@#\'^@ C3'^@ C7/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8JE )@@G@@/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8"@0 6/JF )@@G@@"^0 6/"C0 6/"G0 6/"K0 6/"O0 6/"S0 6/"W0 6/")0 6/"=0 6/"*0 6/"?0 6/"00 6/JG )@@G@@"40 6/"80 6/"/0 6//K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8JH )@@G@@/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8 @@ 6/ @K 6/ @) 6/ @0 6/ [@ 6/JI )@@G@@ [K 6/ [) 6/ [0 6/ ]@ 6/ ]K 6/ ]) 6/ ]0 6/ #@ 6/ #@ 6/ #@ 6/ #@ 6//K@ B8JJ )@@G@@/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ D1/K@ C;'^@ F6JK )@@G@@'^@ GN@]@@#D/K@ EX/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8JL )@@G@@/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8JM )@@G@@;2K@@G;2)@@G/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8/K@ B8;/@P6";/KP6";/)P6"/K@ B8JN )@@G@@'^@ C:/0K #/0) #/00 #/K@ B8'^@ C\/4K #/4) #/40 #/K@ B8B]@@@DB]@@@DJO )@@G@@B@@@@EB@@@)CB]@@@DB#@[)@B#@[K@B@@@0@B@@@@[B]@@@[B@@@@[B@@@@[B@@@@[B@@@@[JP )@@G@@B@@@@@B[@[)@B[@[)@B[@[)@B#@[)@B@@[)@B]@[)@B@@@@@B[@[K@B[@[K@B[@[K@B[@[K@JQ )@@G@@B[@#K@B[@#K@B[@#K@B[@#K@B^@#K@B^@#K@BB@[1@B#@[K@B]@#K@B]@#K@B]@[K@B]@[K@JR )@@G@@B^@[K@B[@[K@B^@[K@B@@@@@B^@[K@B^@[K@B^@[K@B@@@@@B^@[K@B^@[K@B^@[K@BA@[K@JS )@@G@@B[@[K@B[@[K@B]@[K@B]@[K@B@@[K@B@@[K@B[@[K@B[@[K@B[@[K@B[@[K@B^@[K@B^@[K@JT )@@G@@B@@[K@B@@[K@B[@[L@B[@[L@B[@[L@B[@[L@B^@[L@B^@[L@BD@@][B @@L@B @@L@B @@L@JU )@@G@@B @@L@BA@@L@BA@@L@B @@L@B @@L@B^@]S@B^@]S@B^@@8@B^@@S@B^@@S@B^@@S@B^@@@[JV )@@G@@B^@@S@B@@@@@B@@@0@B[@@@[B[@@@[B[@@K@B[@@K@B[@@K@B[@@K@B@@@^[B@@@@[B@@@@@JW )@@G@@B@@^@[B@@^)@B@@^K@B@@^K@B@@@@@B[@@@]B^@@@]B[@@@]B^@@@]B[@@@]B^@@@]B^@@K@JX )@@G@@BC@@S@B[@@@]B^@@@]B[@@@]B^@@@]B@@^@@B@@^@@B@@^@@B@@@K@B[@@@[B[@@@[B[@@@[JY )@@G@@B[@@@[C@@@@[B@@@@[B@@@@[B@@@@[B[@@@[B[@@@[B]@@@[B]@@@[B@@@@[B@@@@[B@@@@[JZ )@@G@@B@@@@[B@@^K@B@@^K@B@@^@[B@@^@@B@@^K@B@@^K@B@@^@[B@@^@@B@@^K@B@@^K@B@@^@[KA )@@G@@B@@^@@B@@^@@B@@^@@B@@^@@B@@^@@B^@@K@B^@@K@B^@@K@B^@@K@B^@@K@B^@@K@B^@@K@KB )@@G@@B^@@K@B^@@S@B^@@S@B^@@S@B^@@S@BC@@S@BC@@S@B^@@K@B[@@S@B@@@@[B@@@@[B@@@@[KC )@@G@@B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[B@@@@[KD )@@G@@B@@@@[B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@KE )@@G@@B@@[)@B@@[)@B@@[)@B@@[)@B@@[)@B[@^@GB[@^@GB[@^@GB[@^@GB[@^@GB[@^@GB[@^@GKF )@@G@@B[@^@GB@@^KGB@@^KGB]@@@DB]@@@DB@@@@EB@@@)CB@@@@@B]@@@DB@@^KOB@@^*OB@@@@@KG )@@G@@B@@^KKB@@^SKB@@^SKB@@@@@B@@^KKB@@^KKB@@^)KB@@^)KB@@@@@B@@^@@B@@^@@B@@^@@KH )@@G@@B@@^@@B@@@@@B@@@@@B@@@@@B@@@@@B@@^@KB@@^@KB@@^@KB@@^@KB@@^@KB@@@@@B@@^KKKI )@@G@@B@@^KKB@@@@@B@@@00B@@@00B@@@00B@@@@@B@@@@LB@@@@LB@@@@LB@@@@LB@@@@@B@@@@LKJ )@@G@@B@@@@LB@@@@LB@@@@LB@@@@@LDJ &@LIJ &@LPD @@SPD @@LBJ &@SR )SLR )SSLJ ^@KK )@@G@@ER ^@LMJ &@JO ^@JNO ^@JC ^@JNC ^@00 )CSA )ESNA )ESMA )ESR )SSZ @CKL )@@G@@SX +C07 )CLA )ELNA )ELMA )ELNMA)EAA )EANA )EAMA )EANMA)EAU )IANU )IKM )@@G@@BT +*LR )SAX +CANX +CLXM +CLX +CMI )IMSI )EMF )I33 )CDI )IDSF )IKN )@@G@@DF )I37 )COR )IXOR )IAND )IMLU -ITEP =ETOP =ELXI +CTLEM&CTZ ^CTNZ ^CKO )@@G@@TE =ETNE =ETLE =ETG =ETW =ITNW =ITP ^CTN ^CSE =%SNE =%SLE =%SG =%KP )@@G@@SW =,SNW =,JGD ^@MSE >+MSNE>+MSLE>+MSG >+MSW >&MSNW>&MASL>+MASG>+DA )AKQ )@@G@@DAN )ADS )ADL )ADLN )ADLM )ADJZ =ADTE =A7200)@SLJ ^@JPS =]JNS =]AH )]KR )@@G@@ANH )]AT )]ANT )]EX ^@ER ^@7212)@PAIJ^@SCN @@LPS @@LSL @@7217)@SSC )]KS )@@G@@DSC )ASSL )]DSL )ASSA )]DSA )ALSC )ADLSC)#LSSC)]LDSC)ALSSL)]LDSL)AIII )@KT )@@G@@SIL )@LCR @@TS @@JZ =]JNZ =]JP =]JN =]J ^@HJ =@NOP )@AAIJ^@JNB =]KU )@@G@@JB =]JMGI&@LMJ &@JO ^@JNO ^@JC ^@JNC ^@LIC )@LICM)@JIC =@DIC )@LOC )@KV )@@G@@LOCM)@JOC =@DOC )@LFC )@LFCM)@JFC =@7513)@AACI@@PACI@@7516)@7517)@FA )AKW )@@G@@FAN )AFM )AFD )ALUF )ALCF )AMCDU)ACDU )ADFA )ADFAN)ADFM )ADFD )ADFU )#KX )@@G@@DFP )#FEL )AFCL )]7700)@7701)@7702)@7703)@7704)@7705)@7706)@7707)@7710)@KY )@@G@@7711)@7712)@7713)@7714)@7715)@7716)@7717)@SZ @CSNZ @CSP1 @CSN1 @CSFS @CKZ )@@G@@SFZ @CSAS @CSAZ @CINC ^CDEC ^CINC2^CDEC2^CENZ ^CENZ ^CENZ ^CENZ ^CSIA )]LA )@@G@@SOA )]SIP )]SOP )]LIA )]LOA )]LIP )]LOP )]LCB )@LPI )@LDJ &@LIJ &@LPD @@LB )@@G@@SPD @@0716@@LBJ &@LBR @@SJS @@0716)@LPS @@LMP @@LUP @@7215)@LSL @@LUS @@LC )@@G@@SL @@SUL @@7216)@III )@III )@III )@III )@7314)@7314)@7314)@7314)@ESDC@@LD )@@G@@EDC @@DDC @@CES @@ES @@7314)@LCR @@LLA @@7316)@TS @@TSS ^@TCS ^@7317)@LE )@@G@@JO ^@JFU ^@JFO ^@JDF ^@7414)@JNO ^@JNFU^@JNFO^@JNDF^@7415)@/V@@@@C@5 8TLF )@@G@@C@5 8H'^@ A;'^@ AC'^@ AK'^@ AO'^@ A>'^@ AT'^@ B]/V@@@@[@5 8T[@5 8H[@5 9HLG )@@G@@'^@ AG[@5 8T'^@ AG/V@@@@'^@ AZ[@5 8H/V@@@@/,0 BE/,0 BF/,0 BL/,0 BN/,0 BYLH )@@G@@/,0 B>/V@@@@/,0 BW/,0 BF?]@@@G?#@@@G!'/@@@!9/@@@!'/@@@,;G@@@,'G@@@,;G@@@LI )@@G@@,'?@@@,9?@@@,'?@@@9!)@@K9,)@@K9,@@@K9\@@@K 4@ 62 ?@ 62 0@ 62 *@ 62[7) 62LJ )@@G@@[\) 62[3) 62[:) 62(8E@@@*8E@@@@[ 3^@[] 3D@[^ 24@[E 44@[A 28IOPR IGDM LK )@@G@@II ABORT @[Q 9"@@PKT:@@@FILENAME:BRKPT @[[ 3_@[[ 4N@@[@@@ LL )@@G@@@[FA@Z000000@[] 9"0 @[[ALO@[] 5P@@[__"@@] 3\___@@@_@@@@@@[A 4,@[Q 9"LM )@@G@@@@[ 57@[^ 6^@@]A[W$P @[A 2"@[# 5M@@[__0 NOT IN CORE@BRKPT @@^ 9"LN )@@G@@@ASG,T NOT FASTRND@[^ '@@[ .D@@]@@@@[[ 5MWATCH JUMP HISTORY@[]AL2LO )@@G@@@@]__.@@A@@@/K@@@@@@#__/ ON @@[@@#@@[ 8K@[T ;0________.@@S@@[ 7HSNOOPYLP )@@G@@@LINE=@[CA@%@[#A@PSTARTING ADDRESS: IBANK:DBANK:MAIN UTIL TOFF$ @[ A@ULQ )@@G@@@:_^9.@8@@@@__"@@@__"@@[B@@@@[B@@@0@@@@@@[@@J___@[^ 4%@__@@@@B___"@[ 5BLR )@@G@@@[A 5G@[C 5^@@@@]M@@@X@@@@@A@@@@@R@@@@[R1 @@[R2 EX: IND: REP: LS )@@G@@@/J@@@@/@@@@@@J0@@@@J)@@@@G@@@@@# 7H^@)^@)- - - @@[ 9"@[^ _/@[#A@D@@[A@GLT )@@G@@SET CLEAR @[DA@@@@[A@J@@[A@NACTIVE BANKS SEGS:@@[ 'QPACKET: (FILELU )@@G@@ NAME) FUNCTION: __"A0 __"A1 @@[@@G@[A W,__@@@@@[@@@@@[@@@@@@J@@@@@[A#TLV )@@G@@__"A2 @[A 4"@@]A#X@]@@@@*ABSOLUTE* SNOOPY (RLIB$ ELT)(COMMON BNK)LW )@@G@@@@[ 80@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^HF@C@)]5^PF@@@___@@2C@@LY )@@G@@@@>C[C@@)C]T@@EC#*@ &C#/@@ECE8@]NCFP@#*CIS@@3CME@@LCO0@@ECW5@@ECXM@@(CX*LZ )@@G@@)@QC@2)@?C[!)@\C]9)@EC#2)[QCD+)@NCF])@0CH*)@ECM@)[3CM.)B4CP[)@NCW_)@GCXWMA )@@G@@DL-H0)C1>GK)D(-IK)CD0IK)D(-JC)DL5H0)DL5H))CD5G8)ET>I@)D9GS)MB )@@G@@ET5H0)D(\H0)E-5G*)E9>G))E-*I*)C12HC)ET-I))[W*@@@[K*@@@[S*@@@/\K@CR[O*)@@MC )@@G@@Q'K@@@C0?@@[G8)@@[[0?@@[???@@[/KH@@@1@@@@J/K@@F\/K@@FT @@@@IW8)@@E[@K@[[MD )@@G@@C8,@@0')D)CNC8\@@0')D)CNC@K@[[/KH@@@C@0@@G/GK@C3C@@@@H;CK@@Y/^K@C4[@J@@^ME )@@G@@'=@@@?[@J@@#/K@@C/'=@@@?[@J@@#C?Z@@@%8K@@#/K@@C/C@@@@I0@@@@G'=@@@N[@J@@^MF )@@G@@C@@@@J =G@@@ 0G@@[ GG@@[A]@@[]A]K@[#C-W@@@%9K@@[/K@@GCB4@@@J=80@@C/K@@DFMG )@@G@@G80@@CB0J@@@[>W@@@C1W@@@!9K@@D/K@@F_C!G@@@!9@@@^/K@@G]99@@G Q]G@@]Q6W@@[MH )@@G@@&'@@@[&'K@@[/[K@E-C?W@@#/>K@D)C9H@Y? @@@@JW80@[=/\K@C-C@0@@K/\K@C-/K@@D=MI )@@G@@C8.@[@!80@[=H80@[=/\K@C-!9K@@ /K@@D7%9K@@#:9K@@^/K@@D,C4/@@#/\K@C-C0/@@#MJ )@@G@@/\K@C-/K@@ERC8)@@!')D)CNC4/@@#/\K@C-C8)@@!')D)CNC0/@@#/\K@C-/K@@ERC8)@@)MK )@@G@@')D)CNC4/@@#CW\@B_')D)CNCK\@B_')D)CNCS\@B_')D)CNC8)@@)')D)CNC0/@@#/\K@C-ML )@@G@@?9K@@B/K@@ERC8)@@)')D)CNC?/@@#C4?@@#T80@Q5G@"@GG;C0@@]C0?@@#G8"@@] @@@@IMM )@@G@@W8)@@BCW\@CG')D)CNCK\@CG')D)CNCS\@CG')D)CN(?G@@@/K@@FH**G@@@!9K@@ /K@@EZMN )@@G@@C8)@@!')D)CN/K@@E-C8)@@)')D)CNC!W@@@:9K@@#/K@@E2C G@@# @@@@JW80@8K/\K@C-MO )@@G@@ @@@@JW80@@//\K@C-%9K@@]/K@@FHC8)@@'')D)CNC@0@@K/\K@C-/K@@FHC[G@@^ @@@@JMP )@@G@@W@0@GF/\K@C- @@@@JW80I()/\K@C-C8)@@'')D)CN @@@@JW80@J*/\K@C-C8)@@,')D)CNMQ )@@G@@ @@@@JW80@[=C8\@@0')D)CN/[@@FH @@@@JW80@@EC8\@@0')D)CN/[@@FHC@0@@KC8\@@0MR )@@G@@')D)CNC1G@@[C/0__";(@@@]G[@@@DC8(@@@H5G@@[[4?@@[(8D@@@/K@@FTC8)@@)')D)CNMS )@@G@@/K@@FOC0/@@[[1G@@[C[K@GG!?/@@[/K@@F-[[S)@@G80@@[/K@@FWR]@@[]R]K@[#(=G@@@MT )@@G@@/K@@F*B4@@@JH80@@CB0J@@@CGW@@[0@@@@H/KF@@@C0W@@[C@?@@]C4/@@[/KF@@[C0W@@@MU )@@G@@C?/@@@C[H@GT/@K@F5*@@@@JG9@@@[G[J@G+;*)@@]H4?@@[[0?@@[ 4G@@[!@)@@K/K@@F-MV )@@G@@C8K__"[GW@@[/K@@F-C8K__.[GW@@[/K@@F-C8K__/[GW@@[/K@@F-C8K__;[GW@@[/K@@F-MW )@@G@@C8K__'[GW@@[/K@@F-@@H,'@^@)^@)@@@@@#@@@@[_@@@@#0@@@@ ?@@@@B=@@@@D)@@@@FSMX )@@G@@@@@@HO@@@@JK@@@@LC@@@@N^@@@@O/@@@@@@@@@@@A@@@@@C@@@@@C@@@@@E@@@@@D@@@@@FMY )@@G@@@@@@@H@@@@@J@@@@@@@@@@@^@@@@@B@@@@@F@@?@[@@@?@[V@@?@[X@@?@@<@@?@[Y@@?@@)MZ )@@G@@@@?@[[@@?@[]@@?@[#@@?@[^@@?@[ @@?@[A@@?@[B@@?@[C@@?@[D@@?@[E@@?@[F@@?@[GNA )@@G@@@@?@[H@@?@[I@@?@[J@@?@[K@@?@[L@@?@[M@@?@[N@@?@[O@@?@[P@@?@[Q@@?@[R@@?@[SNB )@@G@@@@?@[T@@?@[U@@ @@(@@!@@!@@"@@:@@#@@/@@$@@.@@%@@"@@&@@&@@'@@=@@(@@%@@)@@*NC )@@G@@@@*@@>@@+@@'@@,@@_@@-@@-@@.@@?@@/@[W@@0@@0@@1@@1@@2@@2@@3@@3@@4@@4@@5@@5ND )@@G@@@@6@@6@@7@@7@@8@@8@@9@@9@@:@@$@@;@@;@@<@@\@@=@@,@@>@@+@@?@[Z@@@@@@@@A@@@NE )@@G@@@@B@@@@@C@@@@@D@@@@@E@@@@@F@@@@@G@@@@@H@@@@@I@@@@@J@@@@@K@@@@@L@@@@@M@@@NF )@@G@@@@N@@@@@O@@@@@P@@@@@Q@@@@@R@@@@@S@@@@@T@@@@@U@@@@@V@@@@@W@@@@@X@@@@@Y@@@NG )@@G@@@@Z@@@@@[@@@@@\@@@@@]@@@@@^@@@@@_@@@@@@@@@@@A@@@@@B@@@@@C@@@@@D@@@@@E@@@NH )@@G@@@@F@@@@@G@@@@@H@@@@@I@@@@@J@@@@@K@@@@@L@@@@@M@@@@@N@@@@@O@@@@@P@@@@@Q@@@NI )@@G@@@@R@@@@@S@@@@@T@@@@@U@@@@@V@@@@@W@@@@@X@@@@@Y@@@@@Z@@@@@[@@@@@\@@@@@]@@@NJ )@@G@@@@^@@@@@_@@@ )G@@@A]/@@DC0/@@@%80@@[/K@@NY =G@@@B4@@@I=8)@@C/K@@I2G8)@@CNK )@@G@@B0I@@@[=?@@@C@)@N,CWW@@[=8K@@CC@)@N\[@?@@EC^/@@[C(W@@@;G0@@=W80@@^[[@@[#NL )@@G@@C[@@@LC@W@@]C@?@@#:@K@@I/K@@J$&;K@@[&;)@@[N@K@@J?[K@@JN@K@@LM#Y)@@?@0@@LNM )@@G@@/K@@J+[@)@[]C8?@@EH@K@@KG)?@@@[@0@[[C?/@@@H80@@FH)/@@@?80@@@/K@@JYC)/@@@NN )@@G@@?80@@[/K@@JSC@0@N,[@"@@@[!I@@@[^Y@@@C)?@@@G@K@@KG8)@@[[)?@@@C@0@[[C@)@[]NO )@@G@@H@0@@L/K@@J#C[@@[#/[@@K^N8K@@[M#Y@@@/K@@K^?@0@@L/K@@K#G@K@@K[@)@[]C8?@@ENP )@@G@@H@K@@KG)?@@@[@0@[[C?/@@@H80@@FH)/@@@?80@@@/K@@J_C)/@@@?80@@[/K@@J9C@0@N,NQ )@@G@@[@"@@@[!I@@@[^Y@@@C)?@@@G@K@@KG8)@@[[)?@@@C@0@[[C@)@[]H@0@@L/K@@J$G@K@@JNR )@@G@@C@)@[#&;K@@[&;)@@[CXW@@[=9K@@]/K@@LVC9@@@IG9I@@#;H@@@=W9@@@^*@@@@LG9@@@[NS )@@G@@K@0@@K%(G@@@?(G@@@/K@@K4(8I@@@/K@@KUC9@@@)')I)N&*8I@@@/K@@KQC[@@@J[@)@[]NT )@@G@@C8?@@EH@K@@KG)?@@@[@0@[[C?/@@@H80@@FH)/@@@?80@@@/K@@K0C)/@@@?80@@[/K@@K%NU )@@G@@C@0@N,[@"@@@[!I@@@[^Y@@@C)?@@@G@K@@KG8)@@[[)?@@@C@0@[[C@)@[]C80@@@/K@@K8NV )@@G@@:8"@@@/@0@K8C9@@@)')I)N&C9@@@*')I)N&C9I@@]C9K@@^!9@@@ G9K@@[[4/@@^C9@@@]NW )@@G@@C80@@[[@W@@A[4?@@ [0/@@^[!G@@^[!W@@ C@W@@BC/)__"C8G@@^&'0@@@/,0@C%/K@@N+NX )@@G@@H8@@@^C4/@@^C1G@@ C4?@@ ;H@@@=W9@@@^?@)@@LG9@@@[C@W@@AG@K@@KG@0@@K&;)@@[NY )@@G@@&;K@@[C9@@@(')I)N&C[W@@BC[G@@C[[W@@C[[G@@BCXW@@[=9K@@^/K@@L$C9K@@C[1W@@^NZ )@@G@@C9@@@AC9Y@@#/K@@L:C9K@@[[1W@@^C9@@@^C9Y@@]!9K@@^G9@@@[K@0@@K%(G@@@?(G@@@OA )@@G@@/K@@ML(8I@@@/K@@L7C9@@@)')I)N&*8I@@@/K@@L3C[@@@J[@)@[]C8?@@EH@K@@KG)?@@@OB )@@G@@[@0@[[C?/@@@H80@@FH)/@@@?80@@@/K@@MHC)/@@@?80@@[/K@@MBC@0@N,[@"@@@[!I@@@OC )@@G@@[^Y@@@C)?@@@G@K@@KG8)@@[[)?@@@C@0@[[C@)@[]C80@@@/K@@MNC9@@@)')I)N&[@W@@AOD )@@G@@[4?@@ H@W@@]CLW@@[H9X@@@C9@@@][!W@@ [!G@@^[4/@@^C@W@@BC/)__"C8G@@^&'0@@@OE )@@G@@/,0@C%/K@@N+H8@@@^C@W@@AC5G@@^C?/@@ C(W@@@H[K@@K?[K@@JC@0@@LG@K@@JG[@@@JOF )@@G@@[@)@[]C8?@@EH@K@@KG)?@@@[@0@[[C?/@@@H80@@FH)/@@@?80@@@/K@@N[C)/@@@?80@@[OG )@@G@@/K@@M;C@0@N,[@"@@@[!I@@@[^Y@@@C)?@@@G@K@@KG8)@@[[)?@@@C@0@[[C@)@[]C[W@@BOH )@@G@@C[G@@C[[W@@C[[G@@BCXG@@[(=G@@@/K@@NHB4@@@JH80@@CB0J@@@R]/@@D0GG@@ /KF@@@OI )@@G@@C@/@@E>9@@@K/K@@NWC8G@@@C8W@@EC)?@@@H8)@@[N@K@@IC@H@@@'=@@@8G8K@@[8KK@NSOJ )@@G@@C@@@@J/KF@@[C/K__" @@@@I[GW@@ /K@@N#H8@@@^C@)@@H @@@@H/K@@N#[XH@@@[LH@@@OK )@@G@@[TH@@@/,0@N%[PH)@@Q;)@@@G80@@[/KF@@@@[@@@@__@@@@N8)@@[/K@@N4N8)@@@/K@@N4OL )@@G@@C^W@@DC^?@@C&;K@@[&;)@@[C@.)@@[@/@@E;C0@@Y:80@@_/KF@@[C@/@@E;K0@@S0@@@@JOM )@@G@@C0/@@EC W@@B![K@@J/K@@OE(@@@[]/K@@ODC9@@@^C[K@@J/KF@@@C@0@@L[^W@@DK^/@@DON )@@G@@*@G@@A/K@@OKH G@@^/K@@OLH G@@AHDG@@^/D@@QAN@K@@JM#!)@@[^W@@DC@/@@E;K0@@SOO )@@G@@0@@@@JC0/@@EL^/@@B?9@@@[/K@@P[G G@@D[ G@@D*@G@@A/K@@O9@@@)/K@@PTQBW@@DOS )@@G@@C5H@@@:9@@@(/KF@@]C1G@@D+9@@@Z[1W@@D/KF@@]%9@@@1/K@@PUQBW@@DC5H@@@%9@@@(OT )@@G@@/KF@@]C1G@@D)9@@@)[1W@@D/KF@@] 4G@@EQBW@@DC5H@@@%9@@@(/KF@@]C[@@@JK1H)@@OU )@@G@@(@@@[]/K@@P(C80@Z_0@G@@EC80@@_!@0@@L/K@@P(C9@@@A/KF@@@C^/@@B*@@@[]!@0@@LOV )@@G@@/K@@P\C9@@@ /KF@@@[1W@@E0@G@@E/K@@P5;[K@@A[5W@@E;-K@@A[^W@@D?@0@@L/K@@P;OW )@@G@@H[K@@KC@0@@L/K@@OF?[@@@J/K@@Q^H[K@@KC[@@@LC@/@@E;K0@@S0@@@@JC0/@@E/K@@OXOX )@@G@@H@0@@K/K@@OFH@0@@KN@K@@JM#!)@@C@0@@K(@G@@A/K@@QR0@G@@#'=@@@A/\K@SB(@G@@AOY )@@G@@/K@@QR/\K@UC[ W@@D/\K@RG(?^[NI9-I[0G(=^@)@[C@UH9*@C@+9*)C@=PU )@@G@@;*@@@]G8@C@@C8K@@DC8)@@C%0W@@@:0?@@@/K@@U)/K@@U_C8W@@@CCH@@[C0)C@@:8)@@MPV )@@G@@/K@@U!/@@@U*G@@C@-'=@@@;(@@@G/[K@XQ[[G@@@/,0@X>;[@@@GG G@@@[ G@@@;D@@@SQJ )@@G@@;(@@@S[[G@@[/[K@X+/,0@X>[ G@@[;D@@@M[!G@@[G8@@@]/[K@XU/K@@X#G9@@ [[G@@@QK )@@G@@%[@@X0G8@@@[C8?@@@;C@@@MH8?@@@(@@@@IC8)@@[R]0@[[C8I@@@/KF@@@G[@@X1G8@@@[QL )@@G@@/K@@XRC9@@)@C@!)@@H9K@@[;))@@D+8)@[_;(@@@AGDJ@G&/D@@X*/KF@@@^@)@@@^@)^@)QM )@@G@@ @@ C^W@@D&;K@@[C@/@@E[@.)@@;K0@@S0@@@@JC0/@@E[^/@@BC^?@@C&;)@@[QN )@@G@@[^W@@DK^/@@D*@G@@A/K@@Y]H G@@^/K@@Y#H G@@AHDG@@^/D@@YDN^W@@BM#Y)@@[^W@@DQO )@@G@@/KF@@[L G@@B#[K@[[M#Y)@@[ G@@B0@G@@#'=@@@AC[W@@ GDW@@B[[W@@ C5W@@#/[K@Y!QP )@@G@@C9@@@@%9K@@]/KF@@@*=G@@]/K@@Y$C80@@D/\K@ZEC80@-%&;0@@KC[G@@^[@/@@^C80@@CQQ )@@G@@/\K@ZEC80@@D/\K@ZE/\K@ZEC80@@C[[G@@^[0/@@#[@@@@H&;@@@@'=@@[XC@@@-''=@@@8QR )@@G@@C@@@@H(@G@@A/K@@Y6C[W@@A[ W@@^;[K@@M[[W@@A[ W@@D'=@@@[/K@@Y9C W@@^[ W@@DQS )@@G@@'=@@@#C^W@@D&;K@@[C^/@@BC-G@@]/[@@X.KDG@@BT9@@@W[DW@@BGDG@@^C[W@@ H-W@@]QT )@@G@@ )G@@]0@G@@#'=@@@A[[W@@ [DG@@^/K@@X.[0/@@#'=@@@#C5W@@#%9K@@]:9K@@@/KH@@@QU )@@G@@C9@@@@/KF@@@&;@__"/K@@ZP&;@@@@*@G@@A/K@@ZTC^W@@^/K@@ZUC^W@@A 4G@@#[^W@@DQV )@@G@@ )G@@]C@?@@ CCW@@B+8)@@#+8K@@#?8K@@^/K@@Z898)@Z8/G@@Z19??@@@C@K@@G9??@@@QW )@@G@@C^G@@D9*?@@@&;@@@E'=@@@UC4?@@AC@@@@H!8)@@S!8)@@)/K@@Z8CC?@@B+/)__/C@W@@ QX )@@G@@+8K@@#[)?@@]H@0@@I[C/@@BCDG@@BL[G@@ T9@@@W][W@@ [DG@@^[@@@@H9!G@@@C^G@@DQY )@@G@@9(G@@@&;@Z__'=@@@UC4?@@AC80@@JC@@@@H[*?@@]C^G@@D?@0@@I/K@@)>C@/@@B=80K@@QZ )@@G@@/K@@)>C80@@K9(G@@[[@/@@@C8?@@#N8K@@J&;)@@[ @I)@@8KK@)N&;@@@N'=@@[+1@@@@GRA )@@G@@/K@@)-[@G@@@C??@@@:8)@@_/K@@)>:8)@@E/K@@)>:8)@@I/K@@)>C@@@@HC8)@@[[=?@@]RB )@@G@@/KF@@@C@@@@H =G@@]/KF@@@0@G@@#'=@@@ACDG@@BK[G@@ [[W@@ C5W@@#%9K@@]:9K@@@RC )@@G@@/K@@)3C9@@@@/KF@@@(@G@@A/K@@)7C^W@@A[^W@@^C^W@@DC@)@-;[@!@@@*@G@@A/K@@)"RD )@@G@@H^W@@^/K@@)_H^W@@AG8K@@W;GK@@=W8K@@W*)G@@]/K@@-D?9@@@^/K@@-FK8K@@#+/)__/RE )@@G@@/K@@-GK-G@@][DW@@BC@0@@HT80@@WG@W@@ [C/@@^'=@@@#[@W@@ C5W@@#C9@@@@%9K@@]RF )@@G@@/ V@@@C*?@@]C9@@@B/@:@@@C9@@@@!8)@@J/KF@@[C8K@@D[0W@@#'=@@@#C5W@@#%9K@@]RG )@@G@@/ V@@@/KF@@[ET^C1JBK)^[JI(4I[5I))E--I[>^[MG(>H))IT7GD0I[>G))?I@@@@C(JEK=RH )@@G@@C(JEK=C(JEK=C(JEK=C(JEK=C(JEK=C(JEK=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RI )@@G@@@@@@@@@@@@@@@[C@-+_@@@@@@@@@@@9*@@+-C^K@-/CCH@@[[^@@+EC^H@@[;*@@@]G8@C@@RJ )@@G@@1@G@@@/K@@+DC^H@@[C8K@+D/K@@UQ9?@@+-/K@@@@@@@@@@9*@@+-[@)@+@@@&%RN )@@G@@/K@@+.>@@@&:/K@@&TC8H@@@?8I@@@/K@@+!C@@@&(C8K@@#/K@@<^C@@@&YC8K@@[/K@@<^RO )@@G@@[@@C@!C@@@&=C8K@@]/K@@<^/K@@&SL8@@@[C@)C@?G8)@@[*@I@@@?CY@@@/K@@@H9@@@[T9@@@ART )@@G@@G>G@@@')H@>CG)G@@@G8@@@[/K@@<>:9K@@[/K@@=AC*?@@@:8)@@.N8)@@[%[K@[[/K@@<"RU )@@G@@/K@@<5%@)@&?[5@C@':@)@&?[-KC@'/K@@<"(@@@[]:(KC@;/K@@=N[(KC@; @@C@':[K@[[RV )@@G@@/K@@=XG9K@@[(@G@@@/K@@=U!4W@@@/K@@<= @@C@' @@C@;/K@@&S:(KC@; *@C@;9?KC@'RW )@@G@@98K@&SC8@@@-[=@C@;(?@C@;/K@@&TC@@C[BD8)@@@C80@@@C!@C@;8^@@=01@@@@I!8)@[@RX )@@G@@C80@@E[))C@;[=0C@;/K@@&TC8K@@@;=@@@A?8K@@'?8K@@0/K@@=;(@@@@JC80@[@H8K@@0RY )@@G@@T8)@@EG8!@@@/K@@=(/^0@=?%8K@@+:8K@@-C8.@@@/@0@=?/K@@=(9*)C@/9*)C@"[@)C[@RZ )@@G@@[@)C[[[@)C[]9*)C[#9*)C[ [@)C[B/K@@=D[1@C@'[!@C@'[(@C@'[>@C@'[5@C@;[1@C@;SA )@@G@@[!@C@;C80@@F+8K@@_:8)@@ ;^@@@A8#0@>M9*@C@\Q;@C@2&;@@@[C@K@&!Q;)C@2&;)@@[SB )@@G@@N8K@@BC@0@&?[@")@@8KK@>YN4KC@'9!@C@//\)@&HC9K@@*(4@C@'*)@C@'')H)@@N0KC@'SC )@@G@@9!@C@"*@@@[[/K@@>!C[@@&,N8K@@^/\)@&HN?KC@'(@@@[[/K@@>7C9K@@(')H)@@C[@C[@SD )@@G@@/\)@&HC9K@@)')H)@@(*@C@'*=@C@'/K@@>"&;@@@GQ;@C@,'=@@@J/K@@&SC9K@@/')H)@@SE )@@G@@N*KC@'C[@C[[/\)@&HN=KC@'(@@@[[/K@@>'C9K@@/')H)@@C[@C[]/\)@&H/K@@>';>@@@ASF )@@G@@')H)@@8KK@&F/KI@@@[5W@@@[1W@@@[!W@@@[(W@@@[>W@@@/\0@&P[-W)@@Q;K@&J/KJ@@@SG )@@G@@/KF@@@/KF@@[PROCESSOR CALL ERROR @[^@&UABNORMAL RETURN FROM READ$ SH )@@G@@@[ @&ZTOO MANY SPECIFICATIONS @[^@&>]@@@@@[@@@@@ @@[@&JTPF$ A^W@@#SI )@@G@@A@?@@^A@/@@ Q8W@@@ ?[@@]R@)@%*Q^1@@@&80@@]C?-@@@+8)@@B;C)@@#9?@@%(/K@@$@SJ )@@G@@9*#)@@9*#)@@9*#)@@9*#)@@8#)@&/C8)@@G&80@@[N@K@@JM@")@@Q^1@@@/KF@@@A^W@@#SK )@@G@@A@?@@^A@/@@ Q8W@@@&8)@@[Q4-@@[&80@@[Q01@@[O^1@@@/KF@@@A4-@@[P^1@@@A01@@[SL )@@G@@C8[@@@C0L@@[C8+@@@/@)@$U%8)@@AG8K@@[Q^L@@#R@?@@^R@/@@ /KF@@@[4<@@@[0<@@@SM )@@G@@[?<@@@[*<@@@[=<@@@[)<)@@[4<@@@[0<@@@[?<@@@[*<@@@[=<@@@/?)@$%[)<)@@A^-@@]SN )@@G@@Q8)@@@/K[K@]C4!@@@C0!@@@C?!@@@C*!@@@C=!@@@C)!)@@C4!@@@C0!@@@C?!@@@C*!@@@SO )@@G@@C=!@@@/\@@$'C)!)@@[^[@@]Q;@@@@/K[K@]C8?@@@')])$Y/KF@@@;G@@@=W8@@@AG^[@@@SP )@@G@@Q8!@@@Q8/@@@/KF@@@C8M@@@!8K@@AH8K@@AG@@@@HC8N@@@H^L@@@T8K@@AG8H@@@/K@@*[SQ )@@G@@C8M@@@!8K@@AH8K@@AC8#@@@H^[@@@T8@@@AG@@@@H/KF@@@C80@@ /K@@*VC80@@F;^@@[]SR )@@G@@+8K@@_%8)@@ :8)@@@/K@@*-')])$Y8#0@*V/KF@@@C8.@@@;G@@@M;CK@@M&;@@@[&;K@@[SS )@@G@@/K@@*:')G)$,')])$Y8#0@*(/KF@@@C8.@@@;G@@@M;CK@@M&;@@@[&;K@@[/K@@*6')G)$,ST )@@G@@*@@@@I')])$Y8#0@*3/KF@@@C?[@@[C^L@@[/K@@*.;G@@@M;CK@@M&;@@@[&;K@@[')G)$,SU )@@G@@:0-@@@/K@@(^')])$Y/K@@*_[?[@@[[^L@@[/KF@@@C80@@@;G@@@#/@@@(JG80@@[;G@@@#SV )@@G@@/^@@(EC8)@@0')])$YC8)@@@;=K@@#G8)@@0')])$Y8#0@(J/KF@@@C8.@@@T8K@@#;GH@@@SW )@@G@@H80@@[/K@@(JN8X@@@C80@@@/C@@(-C8)@@-')])$YD@@@@G8KK@(-;O@@@=W8@@@E;?)@@ASX )@@G@@G8.@@08KK@(&/^@@(-9?@@@IC8)@@0/K@@(:')])$Y8KK@(%+8K@@_')])$Y;G@@@A/^K@(?SY )@@G@@/KF@@@N8X@@@&'0@@@C80@@@/C@@(8&'0@@-D@@@@G8KK@(8;O@@@=W8@@@E;?)@@AG8.@@0SZ )@@G@@8KK@(./^@@(89?@@@IC8)@@ /K@@%]')])$Y8KK@%[C@)@@F;C)@@M*@@@@I')])$Y+8K@@_TA )@@G@@')])$Y;G@@@A/^K@%B/KF@@@C80@@@/C@@%LC8)@@-')])$YD@@@@G;O@@@=W8@@@E;?)@@ATB )@@G@@G8.@@0/^@@%L9?@@@I+8K@@_')])$Y;G@@@A/^K@%R/KF@@@;*@@@AC8N@@@H^L@@@C8+@@@TC )@@G@@/@)@%<%8)@@AG8K@@[G@@@@H;*@@@MQB[@@@'=@@@I/K@@$L@@[@@@ N@0@@GTD )@@G@@D8@@@[C8K@@[C8)@@'&;)@@[C9@@@['=@@KW?8@@@T/K@@%''=@@K#C8K@[='=@@@0C80@@[TE )@@G@@'=@@K]/K@@%?C@@@[#/K@@%.G8@@@[C8/K@[C^Z@@@CC\@@@/@K@:BC8/K@@CDZ@@@C^J@@@TF )@@G@@'=@@KH'=@@@)/@V@@@'=@@KB/KF@@@MRLIB$ C@@@C@CRLIB$ @[CC@@@[E-@@@@2-TH )@@G@@MDBE-011 C]D[HACCLOSE @@@C]D@@X[HACGET @@KC]D@B<[H[+7@@@@3IMDBE-010 C]6[>WCDMSCATK )@@G@@LC @@'C]6@[L[>WCGS11 @@@C#0@[*[&!@@@@4LMDBE-009 C#0[*PCBRKPTTL )@@G@@ @@@C#0@]<[*PCDEBUG @@@C#0@@*[%8CGO @@@C#0@@ [:)CMONITTM )@@G@@OR @^@C#0@BQ[:>CSTEP @@[CB0@@N[2;CTRACE @@@CB1@[H[3ICTRAP TN )@@G@@ @@@CB1@[6[4V@@@@4MMDBE-008 CB1[6LCCALL @@@CB1@[S[6LCDELETTO )@@G@@E @@]CB1@@*[7(CMACRO @@@CB3@@P[8LCLIST @@#CB3@^^[8&@@@@5JTP )@@G@@MDBE-007 CB6[/%CEVALUATE @@@CB6@@9[/%CHARDCOPY @@ICB6@[0[.CRPT TV )@@G@@ @@@CE6@]P]=TCRETURN @@[CE6@[+]&,CSTOP @@[CE7@@\]*KCSORT TW )@@G@@ @@ACE8@@_]*_CSORT-MERGE @@[CE"@["]("CTREAD @@]CE_@]&]:/CWAIT TX )@@G@@ @@^CF[@[N],+CWRITE @@>CF @A:]\5@@@@6=MDBE-005 CF%]6)CAREA TY )@@G@@ @@NCF%@ V]6)CFEATURE @@ECF.@[8];;CPAGE @@ACGB@]'].3CQUAL TZ )@@G@@ @@@CGH@@U#@!CRECORD @@BCGH@#O#[BCREWRITE @@@CGO@[*#^VCSCHEMUA )@@G@@A @@CPRINTUD )@@G@@-I @@@CIS@@R#Z>CPRINT-II @@KCIS@#[#Z/CPRINT-III @@@CI*@@^#+.CPRINTUE )@@G@@-IV @@@CI*@@-#<[CPRINT-V @@@CI*@@E#<+CPRINT-VI @@@CI*@@H##@@@@99MDBE-003 CI*#>ZCERROR @#GCI*@#(#>Z@@@@']UH )@@G@@MDBE-002 CL4#(CCCHARS @@YCL4@]Z#(CCCOPTIONS @@@CMM@@H#:$CEVAL UI )@@G@@ @]LCMM@HD#:4CTIP-IO @CSCO<@]W#8.CIO @AQCW;@HC#;TCALOC UJ )@@G@@ @@@C SCH/SUBSCH/AREA/PG CTRL INFO UQ )@@G@@@@*EN8 TABLE INFORMATION @[6EO) MACRO AREA UR )@@G@@^@REQQ DYNAMIC BUFFER @@@@@@______@@@[C?MDBE-000B C1)^PFUS )@@G@@C**DBE-001**@@VC1)@@@^PFC**DBE-999**@@VC1;@@@^PF@@@[DS@@CC6Y__@C[D@ABORTUT )@@G@@@BRKPT PRINT$ . @CAT,P DBE$$$(+1). . @ASG,A DBE$$$. . DBE INTERNALUU )@@G@@ ERROR@##@2,DUMP BEING TAKEN @[#@22@BRKPT PRINT$/DBE$$$ . REGISTERS UV )@@G@@ @][@2/000000 LITERAL POOL @]#@2_DUMP COMPLETE @[#@3#@FREE UW )@@G@@DBE$$$. . @SYM DBE$$$.,,,,DBE . @@[C3L@@[@@@@@@@@ @@@@, @@[C]P@@@@ (UX )@@G@@@@ :,(IOBUF Z_____@@[C]O@@@@= EOF ERR SIZE NWORDSBLOCK @@[C]G@@@ ,)UY )@@G@@@@[C3-@@@@ ,TAPE DISC DISK SDFO SDFI *[@@@@@ASCII*[@@@[@@[C3M@@@@@=UZ )@@G@@@@[C3%@USE @@[C3PTPF$ . @ASG,Z@]@@@@@@[C3R@C@@@@@K@@@@@[0@@@@@^@@@VA )@@G@@@@[C]T@@@@@[@@#C3$@@^@@@TAPE: *** NONE ***& FILE: BLOCK: VB )@@G@@ *** NOT AVAILABLE *** TAPE: & @@NDMN@FREE TAPE "&" REMAINS ASSIGNEVC )@@G@@D.& [9[#S[@@)@@@@@[C3M@@[@@@@@@@@F@@@@@ BREAKPOINT(S) SET IN MACRO "&"VD )@@G@@& * BREAKPOINT ENCOUNTERED AT LINE & OF MACRO "&"& @@[C#/@@@@@@VE )@@G@@DEBUG MODE: VARIABLES TO BE MONITORED IN MACRO &*MONITOR* OF: & AT LIVF )@@G@@NE: & OF MACRO: & *MONITOR* TRAP ON VARIABLE "&" AT LINE & OF MACRO "&VG )@@G@@"& @@]@@@TRACE MODE IS ON FOR MACRO "& * VARIABLES TO BE TRVH )@@G@@APPED IN MACRO & @@@@@@@@[EM%@@[ENS@@[C?S@@[@@@@@@@@F@@@@ ,@@[EQX@@@@@ VI )@@G@@@@[C3NEND __UNTIL ELSE _IF ___ @@@@@[C6& THEN REPEATDO FORWHILE MACRO VJ )@@G@@SPACE REMAINING: WORDS@@[C_M@@[@@@@@@@@ @@[@@@@]@@@@@[@@@@@@)@@@@@K@@@VK )@@G@@@@[@@@@BRKPT ALT$FILE$$$$ . @FREE ALT$FILE$$$$. . @SYM DBE$ . VL )@@G@@@@COPYCOPIES OF HARDCOPY LISTING SENT TO HARDCOPY FILE "DBE$ " HELDVM )@@G@@. CSINTNAME$ DBE$PF @FREE,I ALT$FILE$$$$. . @USE ALT$FILE$$$$.VN )@@G@@,DBE$ (+1). . @ASG,CP ALT$FILE$$$$.,///4096 . 0@@@@@@ASG,CP ALT$VO )@@G@@FILE$$$$.,///999 . Z_____@@@@@@C@@@@@@@C@@@@@[@@@*WARNING* PAGE HEAVP )@@G@@DER FORMAT ERROR, PAGE: **VACANT SPACE ERROR ON PAGE: **ACTIVE SLOT POINVQ )@@G@@TS TO DELETED RECORD ON PAGE: DO FOREND DO@@@___@@@@@ @WHILE@USING__"@@ VR )@@G@@THEN IF ___ELSE _END IF@@[C3O@@[@@@ THEN @ELSE @@ELSE@ :=([____@@@@[C3.VS )@@G@@@@@@@F@@@(, @@[C3!@@@@@'@@[EM%^@)^@)@@@@@,@@[C3S@@[__" @@[CD+@@@@]#VT )@@G@@@@QCD+@@@@[J@@UCD+Z__C4 @@[C4 @@^@@@@@ (,:@@[ENSEXTENDREPEATUNTIL @@@@@=VU )@@G@@WHILE END WH(RETURN TO MACRO '&')& ENVIRONMENT RESTORED TO & CONVERVV )@@G@@SATIONAL-MODE STATUS& LINE & OF MACRO & @@@@ =EOF @@[C3N@@@@ )@@[C3PVW )@@G@@@])@@@@@)@@@@@[CF[@@@@@^@@H,'@@@@I()_____,@]@@@@@])@A@@[@@@@AREA$FILE$ VX )@@G@@TRAINING AREA FILE: AREA FILE: TIP/DMS FILE: (PAGES NOT AVAILAVY )@@G@@BLE) @FREE,A AREA$FILE$. . @USE AREA$FILE$., . . @@@@@@@@@@@GPH VZ )@@G@@PAGE CSLOT RSLOT ART P0 TREG SART ACT TIP/DMS FILE (TRAIWA )@@G@@NING) FRT GED @@[C_+@@[@@@@@@@@F@@@@@ @@[C_>RDT RRT RFT IDT WB )@@G@@SRRT INT RIT ICT @@[C3LFDT @@@@@WSCRT SDT SUBSCH@FREE,A SCHEWC )@@G@@MA$FILE$. . @@[CG*@@@@@0@@@@. SCHEMA$FILE$@@[CG1@@@@ /@@[CG3@@[CG5@@@@@AWD )@@G@@AAAAAA000000@[@@@@SCHEMADBPDT @@[C8ZSRT SSRT SIT @@[CHKSUBSCH$FILE$WE )@@G@@@@[CHT@@[CHV@@[CHXPIT PDT SFD SST DDT DNT INI SSCD SHT WF )@@G@@NHT DCT DSW DNS SCT RCDT TIP/DMS FILE @@K@@@@@[CID@@[CI^WG )@@G@@@@@@@X@[@@@@EOF:@@\_____SYNTAX IS NOW 'FMT,' @[ @9/SUB/SCHEMA FWH )@@G@@ILE NAME ABSENT OR POORLY FORMATTED&FAC REJECT: & ON @ASG OF SUB/SCHEMA WI )@@G@@FILE& SUB/SCHEMA NAME ABSENT OR BADLY FORMATTED&SUB/SCHEMA NOT FOUND& WJ )@@G@@UNEXPECTED END-OF-STRING ENCOUNTERED& AREA NOT FOUND IN SUB/SCHEMA& WK )@@G@@FAC WARNING: & ON @ASG OF SUB/SCHEMA FILE&NO SCHEMA IN CORE&FAC WARNING:WL )@@G@@ & ON @ASG OF AREA FILE&FAC REJECT: & ON @ASG OF AREA FILE& NO AREA IS CWM )@@G@@URRENT& '&' IS AN ILLEGAL RELATIONAL OPERATOR& NO PAGE IS LOADED&WN )@@G@@'&' IS NOT A TABLE OR IS NOT PRESENTLY IN USE& INVALID PRTCN REQUEST& WO )@@G@@FAC WARNING: & ON @ASG,A OF HELP LIBRARY FILE& FAC REJECT: & ON @ASG,A WP )@@G@@OF HELP LIBRARY FILE& OPTION: & IS NOT PRESENTLY IN USE& & IS NOT A LWQ )@@G@@EGAL OPTION LETTER& INVALID PAGE REQUEST& PAGE NOT FOUND& INVALIWR )@@G@@D MACRO NAME& ILLEGAL OPTION(S)&INVALID TIP/DMS FILE NUMBER& TIP/DMWS )@@G@@S FILE #& NOT A PGM FILE OR IS TPFREE'D& ABSOLUTE NOT SUB/SCHEMA OR HASWT )@@G@@ WRONG NAME&SYNTAX ERROR& MISSING RIGHT PARENTHESIS& FEATURE IS NWU )@@G@@OT AVAILABLE& USER VARIABLE '&' IS NOT DEFINED& INVALID RECEIVING WV )@@G@@FIELD&BAD TABLE OFFSET VALUE: && MONITOR MACRO LIMIT EXCEEDED& MONITOWW )@@G@@R VARIABLE LIMIT EXCEEDED& EOF ENCOUNTERED WHILE READING FILE& MACRO WX )@@G@@'&' NOT DELETED - NOT CURRENTLY LOADED& MACRO AREA OVERFLOW& COMMANWY )@@G@@D ILLEGAL IN MACRO MODE&ATTEMPT TO READ FROM FILE OPENED FOR OUTPUT& WZ )@@G@@COMMAND ILLEGAL IN CONVERSATIONAL MODE& LABEL '&' IS UNDEFINED& THE '&XA )@@G@@' STATEMENT IS ILLEGAL HERE& & IS AN ILLEGAL BIT NUMBER (MUST BE 35-0)&XB )@@G@@J-DESIGNATOR SIZE & IS ILLEGAL (MUST BE 1-36)& STATEMENT IS UN-TERMINATXC )@@G@@ED& DEBUG MODE NOT ACTIVE& STATEMENT IS DANGLING OR MISPLACED& J-DESIXD )@@G@@GNATOR WILL ALWAYS YIELD A ZERO VALUE& BRKPT LINE LIMIT EXCEEDED& XE )@@G@@'WRITE' CANNOT HAVE MORE THAN 132 EXPRESSIONS& ARRAY BOUNDARY VIOLATIONXF )@@G@@& '&' IS AN ILLEGAL FORMAT CHARACTER& & IS AN ILLEGAL VALUE FOR THISXG )@@G@@ FORMAT ITEM& WRITE BUFFER OVERFLOW& OPTION '&' CANNOT BE ALTERED BXH )@@G@@Y A BATCH RUN& '&' IS NOT A USER-DEFINABLE J-DESIGNATOR& NO MACRO IS XI )@@G@@PRESENTLY SUSPENDED& SCALAR USED AS ARRAY& ARRAY USED AS SCALAR& XJ )@@G@@INCORRECT NUMBER OF FUNCTION ARGUMENTS& & IS AN ILLEGAL STEP COUNT& XK )@@G@@ARRAY "&" TOO LARGE - NOT DIMENSIONED& ARRAY DIMENSION/USAGE INCOMPATXL )@@G@@ABILITY& PRINT IMAGE IS TOO LONG&MORE THAN & PARAMETERS REQUESTED - IXM )@@G@@LLEGAL& INVALID OR INCOMPLETE SORT/MERGE PACKET& TOO MANY PARAMETERXN )@@G@@S - EXCESS IGNORED& SUBSET SIZE <> SORT PACKET RECORD SIZE& 'STARTXO )@@G@@' AND 'STOP' EXPRESSIONS ARE REVERSED& & IS AN ILLEGAL FORMAT ITEM REXP )@@G@@PETITION VALUE& REQUESTED MACRO CANNOT BE FOUND& AN 'IF' MAY HAVE AXQ )@@G@@T MOST ONE 'ELSE'&EOF ENCOUNTERED WHILE READING FROM SORT FILE& I/O ERXR )@@G@@ROR &&NUMBER OF RECORD TYPES IN SCHEMA > SUBSET SIZE& BAD RECORD SLOT ORXS )@@G@@ HEADER ON PAGE &&'COUNT' COMMAND LEGAL ONLY FOR A DATA AREA& PAGE HXT )@@G@@EADER INCONSISTENCY, TYPE &.& ATTEMPT TO REFERENCE UNINITIALIZED AREA& XU )@@G@@INVALID COPY LOCK - SCHEMA ACCESS DENIED& EVALUATION STACK OVERFLOW - SIXV )@@G@@MPLIFY EXPRESSION&NO TABLE IS CURRENT - COMMAND IGNORED& UNRECOVERABLXW )@@G@@E SORT/MERGE ERROR& DBE NOT AVAILABLE NOW, TRY LATER.& ELEMENT NOT XX )@@G@@FOUND&INVALID 'OPEN' MODE& MAXIMUM NO. OF FILES (&) ALREADY OPEN& XY )@@G@@FILE '&' IS ALREADY OPEN& ATTEMPT TO WRITE TO FILE OPENED FOR INPUT&XZ )@@G@@STATEMENT IS TOO LONG (>132 CHARS)& HARDCOPY FILE IS ALLOCATED AT ONLY 9YA )@@G@@99 TRACKS& FILE '&' IS NOT OPEN& RECORD SIZE EXCEEDS LIMIT (2047 WORDYB )@@G@@S)& ATTEMPT TO USE DATA FILE AS A PROGRAM FILE& ATTEMPT TO USE PROYC )@@G@@GRAM FILE AS A DATA FILE& NO FEATURE IS CURRENT, OR IS NOT A GED TABYD )@@G@@LE& FEATURE NOT FOUND IN SCHEMA& RECEIVING FIELD IS TOO SMALL& BAD FUYE )@@G@@NCTION ARGUMENT(S)& & NOT INCLUDED IN SUBSCHEMA& I/O ERROR & WRITINYF )@@G@@G SECURITY FILE. FILE MUST BE RE-CREATED.&TABLE SUBSETS ILLEGAL HERE& YG )@@G@@DATA AND SCALE SUBSETS MUST BE SAME SIZE& ERROR ON @ADD. CONTINGENCY CODYH )@@G@@E: &.&FAC REJECT: & ON @ASG,A OF USER LIBRARY FILE& FAC WARNING: & ON YI )@@G@@@ASG,A OF USER LIBRARY FILE& REMOTE BREAK REQUESTED& BAD USER FILENAME YJ )@@G@@OR BAD FILEID& FAC REJECT: & ON @ASG OF USER FILE& RECORD NOT FOUND IYK )@@G@@N SCHEMA/SUBSCHEMA& SET NOT FOUND IN SCHEMA/SUBSCHEMA& BAD TABLE NAYL )@@G@@ME ON THIS COMMAND& CURRENT AREA IS NOT AVAILABLE&ILLEGAL 'END' STATYM )@@G@@EMENT&INTERNAL ERROR: & - REPORT PROBLEM& USER NOT REGISTERED& TERMINYN )@@G@@AL NOT REGISTERED&FAC REJECT: & ON @ASG,CP OF HARDCOPY FILE&FAC WARNING:YO )@@G@@ & ON @ASG,CP OF HARDCOPY FILE& & IS TOO MANY COPIES, 63 IS MAXIMUM YP )@@G@@ALLOWABLE& FAC WARNING: & ON @ASG,A OF SYSTEM MACRO LIBRARY& SYNTAXYQ )@@G@@ ERROR ON CSF$ STATEMENT& ILLEGAL DURING HARDCOPY MODE& ILLEGAL PRINYR )@@G@@TER PID SPECIFICATION& NO RECORD IS CURRENT& LOCATION MODE OF CURRENTYS )@@G@@ REC NOT VIA DMSCALC& CURRENT RECORD CAN'T BE STORED IN CURRENT AREA& YT )@@G@@ARGUMENT MUST BE AT LEAST & WORDS LONG& EXTERNAL ERROR CODE & RETURNEDYU )@@G@@ BY DMSCALC&FAC REJECT: & ON @ASG,A OF SYSTEM MACRO LIBRARY&NO SET IS CUYV )@@G@@RRENT&NO DARP PAGE ZERO IS CURRENT& CURRENT AREA (IF ANY) IS NOT TIP& YW )@@G@@SCHEMA/SUBSCHEMA ELEMENT IS MARKED IN ERROR& NO SUBSCHEMA IN CORE& YX )@@G@@SUBSCHEMA IS NOT TYPE QLP& PATH NOT FOUND IN SUBSCHEMA& NO PATH IS CYY )@@G@@URRENT-NEXTDUP OPTION NOT ALLOWED& CURRENT PATH HAS NO DUPLICATE ENTRY&YZ )@@G@@NO PATH IS CURRENT& BLOCK NUMBER MUST BE GREATER THAN ZERO& DEVICEZA )@@G@@ DOES NOT MATCH ACTUAL DEVICE TYPE& LOSS OF POSITION ON TAPE. COMMAND IGZB )@@G@@NORED&NO TAPE IS CURRENT& TAPE SPECIFIED HAS NOT BEEN OPENED& @ERRORZC )@@G@@@@@@@ @@)@@@@@)@@C@]@@@@@@[@@@ #T$#SM@@]CW5[)@@@@[KE[KE^@)^@)MAC:__ZD )@@G@@@@WC6@DBE$PF @ASG,A DBE$PF. . @@[C *@C3SN9@@@ R'@[LB/,0#(C^,0C3S:9)@@8K@@^'+0^O\C@KC]KT@KC]LBP )@@G@@[@KC]K%8@@@#/K@[O# @@C]QC@@C]RC^GC_:[@@C]P9?@C3L/KF@@@R[@C3UR[KC3VC[)C3WBQ )@@G@@/K@[N1A]0C]J:9)@@=/K@[OLN9@@@ R'@#(H/,0#(C%9)@@='+0^O\N9@@@ R'@#(H/,0#(CBR )@@G@@R]0C]J/KF@@@A]0C]J^#0C]GR[)@3YR[0@3J')B*L'N[@@3ZR'@#(YC@@@3K/,0#(IR]0C]JBS )@@G@@/KF@@@C@)C]HC@KC]OC^IEQ)%@K@3TC^IEQZ/^F@@[A]0C]JC@@C]G;G@@@A;CK@@Y:8K@@ BT )@@G@@/K@[O(;*K@@Y;?@@@A/,0^H,'+K^O0C@)C]HR]0C]J/KF@@@C8@@@<[@@C"6 @@C"7C@@C]HBU )@@G@@C^GEQ)(@@@@G')0^O0[@@EQV/K@^L9C8@@[F[@@C"6[[KC"7C@@C]HC^GEQZ(@@@@G'+0^O2BV )@@G@@[@@EQV/K@^L9 @@C3VC])EN6N9@@@ R'@#(H/,0#(C^#0C3-R[)@3)R[0@3J')B*L'N[@@3-BW )@@G@@R'@#(YC@@@3K/,0#(I 4@C3W^+0C3WC8K^IY[@KC3)C[KC3-[[KC3T%[K@3+/K@[PY^60C3WBX )@@G@@C8K^I?[@KC3):[K@3< )@C3W:[K@3= )@C3W @@@@GC@KC3)/,.@@@'+@^O3[@KC3L*4@C3WBY )@@G@@/K@[QP*)@C3W/K@[P8 4@C3X%9)@@,/K@[QP') *L4R'@#%MN[@@3K/,0#(_%9KTIP:9K@@TBZ )@@G@@*8@@@@'+0^O\^60C3X/K@[QPC8@@@_C[KC3T:[K@3> @@@@G:[K@3&C8@@@[:8@@@_'-0^O3CA )@@G@@[4@C3V[[KC3T *@C3VC@@@3$[@@C3U%9)@@,/K@[QP') *L4R'@#%MN[@@3K/,0#(_:[K@3*CB )@@G@@/K@[QJ%9K@@A'+0^O\C[KC3T%[K@3>'+0^O\C@@@3([@@C3U^%0C3V^#0C3M^#0C3NN9@@@ CC )@@G@@R'@#(H/,0#(CR[)@3%R[0@3J')B*L'N[@@3:R'@#(YC@@@3K/,0#(IC@@C3MC@KC3)/,.@@@CD )@@G@@*8@@@@'+K^O3C@@C3M[@@C_O*4@C3W/K@[RE()@C3W(4@C3X/K@[REN9@@@ R'@#(H/,0#(CCE )@@G@@%9)@@C0@C3W[*@C3WN9@@@ R'@#(HCI )@@G@@/,0#(CC9K@@[/K@[R((0@C3W/K@[R*C8^@@@:@@C3Z/K@[R7') *L4/[)[R7:9)@@C*@C3W[0@C3W/K@[SQC8@@30C8K@@#/,0@*/K@^L9DI )@@G@@C@@C3P%@@@[J'+0^O\R])C3L&;@]@@Q;@@@@[@EC_:C@@C3M[@EC_%/K@^L9 4@C3MN9@@@ DJ )@@G@@R'@[W7/,0#(C^#0C3LR[)@3IR[0@3J')B*L'N[@@3-R'@#(YC@@@3K/,0#(I^60C3MC@@C3LDK )@@G@@/,0^I?'-)^O8C@@C3L[@@C_OR])@@HA])DM>/K@[W/*4@C3M/K@^L9R])DM>(@@@@E'-K^O8DL )@@G@@N'@@@D^2E@@#/,0^A6/,0^A6*@@@@L'+0^O2N'@@@(^2E@@#/,0^A6%9K@@['+0^O2/,0^A6DM )@@G@@%9K@@['+0^O2N'@@@*^2E@@#/,0^A6%9K@@['+0^O2/,0^A./K@[WC8@@@*:9)@@-C8@@@([@@C3MN9@@@ R'@#(H/,0#(C:9)@@#') *L4/,0#:6[@@C3NDP )@@G@@N9@@@ R'@[X_/,0#(CR[)@3IR[0@3J^#0C3L')B*L'N[@@3KR'@#(YC@@@3K/,0#(IC@@C3LDQ )@@G@@/,0^I?'-)^O8C@@C3L[@@C_OR])@@HA])DM>/K@[Y^R])DM>*0@C3O/K@[Z-(@@@@E'-K^O8DR )@@G@@*0@C3O/K@[Z-C@@C3N=])@3;/K@[Y?*4@C3O/K@[YP0@E@@K'-@^O8H8@@@[H@E@@K/@@[Y(DS )@@G@@C8K@@*0@@@@GC8K@@([@KC3ME@@@@G0@E@@K/K@[YZC@KC3MC@%@@KK@)@@G%8K@@*L@)@@GDT )@@G@@0@@@@J')K^O8[@'@@K/@@[Y(N@K@@G8KK[Y+N]@C3M^2E@@#^60C2U/,0^A6/ K[Y%8KK[Y>DU )@@G@@ 4@C2U/K@^L9 4@C2U'+0^O2C4KC3O/@K[Y8%8K@@+D@@@@GC@U@@J(0E@@G/K@[Y5;GK@@=DV )@@G@@W8K@@#G8K@@[G@@@@H/K@[Y.C@U@@J(0E@@G/K@[Y.;GK@@=W8K@@#G8K@@[H@@@@H(@@@@GDW )@@G@@D8@@@@C8K@@%0@@@@GC8K@@:[0U@@##@@@[]1@@@@G8K)[ZC^60C2U/,0^A6:9K@@[/K@[ZJDX )@@G@@/[K[ZJ 4@C2U'+0^O28K)[ZD 4@C2UC0E@@#%8@@@:/K@[ZTN'@@@%^2E@@#/,0^A6/,0^A.DY )@@G@@/K@[Z)N'@@@*^2E@@#/,0^A6N'@@@(^2E@@#/,0^A6/,0^A./K@^L9*4@C2V/,0^CW/,0@&4DZ )@@G@@C8@@3/(@@@@E/K@[)UC8@@4@C8K@@B/,0@*N9@@@ R'@[+)/,0#(C^20C3%:9)@@*EJ )@@G@@/K@[+^:9)@@!8@@)@'<)^O3;*@@@SR]KC3M[@D@@J[^T@@HC8D@@ /,0@X2/K@[O.EM )@@G@@/[)^L9:9)@@,/K@[-R'+0^O\C@KC"2G8K@@ @@@@GW8@@@A(@@@@GC8@@@[C8KC6/*@@C]SEN )@@G@@/K@[-\(4@C3%/K@[-\C8)C3O/,0@V5C8KC3O/K@[-\R])C3M!@@C]NC@@C]N[CE@@^[^U@@^EO )@@G@@/,0^A6*@@@@L/K@[O.C@E@@K1@@@@GG8@@@[[@E@@K/K@[+@*0@C3%/K@^L9C@@EQMC8KDO EP )@@G@@/K@[-2?@@C]N[@@C]N[@KC]M/[)[+!N9@@@ R'@[+!/,0#(C'+0^O\^&0C2U9?@C]PN]@C]KEQ )@@G@@N]KC]MN])C]N/,0^B* =@C2U*@@@@L/K@[O./K@[+@A]0C]-[@K@@E;CK@@[T8K@#0G@KC_4ER )@@G@@[@K@@D*4EC_:/K@[')]@@/K@[=YN'@@@D^2E@@#/,0^A6/,0^A6/ K[>AN'@@@(^2E@@#/,0^A6EZ )@@G@@/[K[=Y/ K[>A>')@^@/K@[==N'@@@)^2E@@#/,0^A6/ K[>A>])@3;/K@[=5/,0@&4C8@@4FFA )@@G@@C8K@@A/,0@*[(4@C3N/K@[>[/,0@&4C8@@4G/,0@*;C@E@@@/,0@*S/,0@*8^,0C2V&;@@[QQB[@@@FC )@@G@@/,0^CJ/,0@&4 @E@@@ @@DM>R]0C]-/KF@@@(4@C2W'+0^O2*4@C2V/,0^CW/,0@&4C8@C]0FD )@@G@@/,0@*;C@@@@L/,0@(B/,0@*8C@EC_%/,0@*S/,0@*8&;@@[QQB[@@@/,0^CJ*4@C2V/,0^CWFE )@@G@@/K@[>^^60C3N @@@@Q/K@[<6A]0C]6[@@C]7(@@C"0'+0^O,(@@C_ '-K^O6RA)EO4C4U@@]FF )@@G@@:8K@@]/K@[>*%8K@@#'-)^O6C^U@@^G@K@@EC?!@@@%8)@@C'-)^O6C^U@@#G@K@@EC^)EO=FG )@@G@@C^I@@@:^H@@@/K@[>7(4H@@@'-0^O6G4X@@@/K@[>1 @@C#< @@C#& @@C#$CCI@@C[C@C#=FH )@@G@@C^I@@C[^@C#=CCI@@K[C@C#>C^I@@K[^@C#>C^I@@NC@KC_B?8K@[MC^I@@L[C@C#&C)I@@#FI )@@G@@[*@C#&^&0C#&C8K@@GG@K@@EC0H@@@C^X@@[ @@@@I!8@@@QC8)@@[G@YC#* @@@@GW@IC#?FJ )@@G@@CC0C]7[W@C]7C@K@@GG@YC#% @@@@GW@IC#,?@0@@G'+@^O6(@@@@IC8)@@-[?)C]7C@@@4LFK )@@G@@'8@C]9R'KC#K[$C?9K@@G/K@[$WH9K@@[C80@@@C[@@@LW80@@#/ @[$J?9K@@-/K@[$WH9K@@]C80@@@FO )@@G@@C[@@@LW80@@ / @[$Q?9K@[[/K@[$WH9K@@AC80@@@C[@@@LW80@@B/ @[$W!9K@^!H9K@@YFP )@@G@@[[K@@#CEF@@@;E@@@AG,F@@@H'@@@[C90@@@W[0@@G/A@[$&H90@@[C]@@@GN@K@@N&9)@@[FQ )@@G@@Q[:@@@C[Q)@@C!F@@@H9@@@[T[@@@HR[0@@K;(R@@@;DR@@@C9@@@@ @@@[](@@@[[/K@[* FR )@@G@@N8)@@[8KK[$8C[@@@LC[Q)@@+9K@@[;H@@@[W[@@@#T9K@@]G[K@@M![K@@#H[K@@#(@@@[]FS )@@G@@/K@[*F8KK[$6 @@@[]C[@@@LC[Q)@@C[0@@GH[0@@OT[0@@HR[0@@N;HB@@@/K@[$8 @@@@KFT )@@G@@W[@@@CG9@@@[;(K@@M;!@@@M[[@@@#C#0@@# @D@@^O'0@@[/KF@@@N9@@@ R'@[(]/,0#(CFU )@@G@@(0@C2V'<)^O0C@@EN6 @@C3L/@@[*)%@@@4M'-0^O\^]0C3L^#0C3M^#0C3NR[)@4NR[0@4OFV )@@G@@')B*L'N[@@4QR'@#(YC@@@4P/,0#(I9?@C3M/,0[2@/,0[2IN9@@@ R'@#(H/,0#(C/,0#:6FW )@@G@@*@@C3L/K@[*8/,0[%>/,0[%\C0EC^IG8@@@[[0EC^I/K@[*"/,0[%>/K@[*" @DC^OC0EC^IFX )@@G@@H8@@@[[0EC^I:9K@@,/K@[*?/,0[22/K@^L9/,0@&4 @@@@E(0EC^I/K@[(+C@@@@E;*@@@^FY )@@G@@[@@@@DC8@@4R/,0@*;C@@@@E;*@@@[9?GC#//,0@*U/,0@*8&;@@[QQB[@@@/,0^CJ/,0@&4FZ )@@G@@N9@@@JC/@@@^/,0@*[C@DC^O/@@[(W/,0@%GC/@@@[/,0@*BO'K@@[8L@[(R&;@@[QQB[@@@GA )@@G@@/,0^CJ/,0@&4O')@@[C8@@@A%@@@@E/K@[(^/K@^L9(0@C2V/KF@@@(*@C2W/K@[(7[@@@@WGB )@@G@@C@@CB0H8@@@[[@@CB0C@@@@W1@@CB0/K@[(7 ?@C2R^60C2S 4@C2V *@C2W/K@^L9(=@C2WGC )@@G@@/K@[(; =@C2W/KF@@@A]0C3O9*@C3QCCXEQ)[@KC3P9?GEQX9*@C3M/,0[2@*8@@@@/K@[%CGD )@@G@@C@@@4X^#0@@H/,0[2@/K@[%+(0EC^I/K@[%+C@@C3P?8@@@[/K@[%+/,0[%>/K@[%+ ?@C2RGE )@@G@@^60C2S *@C2W @@CB0/,0@&4C8@@4Y/,0@*;C@@C3P/,0@%G/,0@*89?@C3M/,0@*U/,0@*8GF )@@G@@&;@@[QQB[@@@/,0^CJ/,0@&4 4@C2V/K@^L99?@C3QR]0C3O/KF@@@C@K@@E;*K@@^[@K@@DGG )@@G@@&'K@@[N8K@@K2@D*^O/KF@@@&'K@@@P'K@@[/KF@@[[@@@@WA]0@@X @@@@G/,0[%>')K^O1GH )@@G@@C@@@@WR]0@@X[@DC^O/KF@@@/,0[:L/K@[:^/K@[:] 0@C2V 4@C2VN8K@#=C@@@4&C8K@4$GI )@@G@@M#H)@@/K@^L9^20C2V/K@^L9/,0@&4C8@@4*C8K@@G/,0@*+8@@@)GQ )@@G@@C@@C#8)@@@@H')E[::C*EC^IG8@@@[[*EC^I:9)@@,/K@[?L/K@^L99?@C3M/,0[2@/K@^L9GR )@@G@@N9@@@ R'@#(H/,0#(CN9@@ ,/,0^I8'+0^O\/,0[2V/K@[!AC8@@@[;*D@@@D@@@@G+@EC^CGS )@@G@@[@UC^C/,0[22')E[:>+8@@@)')E[::C*EC^IH8@@@[[*EC^I*@DCA//K@[!AC@@@@D;*@@@[GT )@@G@@ @GC 4 @GC 5:9)@@,/K@[??/K@^L9/,0@&4 @@@@E(@EC#//K@[!9C@@@@E;C@@@[(*GC^IGU )@@G@@/K@[!9C8@@4%/,0@*;9?EC#//,0@*UC/@@@:/,0@$"&;@@[QQB[@@@/,0^CJ/,0@&4 @@@@DGV )@@G@@C@@@@E;C@@@[')G[:>+8@@@Z/@K[!5[@KC#8C/@@@^/,0@*[C8D@@@;*@@@[9?GC 4/,0@*UGW )@@G@@C/@@@:/,0@$"C/@@@M/,0@*[C@@C#8H8@@@[;*@@@[9?GCB)/,0@*U&;@@[QQB[@@@/,0^CJGX )@@G@@/,0@&4O'K@@[C8@@@=%@@@@D/K@[!WO')@@]C8@@@G%@@@@E/K@[!F/K@^L9(0@C2V/KF@@@GY )@@G@@A]0C#7[[)C#;9?G@@@/@V@@@9*@C#1/,0[2V*8@@@@/K@[,GC@@@4X^#0@@H/,0[2V/K@[,RGZ )@@G@@C@@EQU9?GEQX/@@[,M/,0[2@/K@[,M/K@[,WC@@@4X^#0@@H/,0[2@/K@[,R/K@[,W(*@C2WHA )@@G@@/K@[2\ @@C#9 @@@@G/K@[,$')E[:>*@@@@G/K@[,+(@@C#'/K@[,M/K@[2\+8@@@Z[@@C#9HB )@@G@@/@K[1>C@@@@HH8@@@[[@@C#8/,0@&4C8@@40/,0@*;9?@C#1/,0@*U(?@C2R/K@[,8C8@@43HC )@@G@@/,0@*;C@@EQWCCGEQ)/,0@%G/,0@*8C@@EQU9?GEQX/,0@*U&;@@[QQB[@@@/,0^CJ9?@C#1HD )@@G@@/,0^FO@ABORTC]@@@E;E@@@M[]@C#3C9)@@@C90@@[&')@@[C@K@@O(@@@@HC8K@4$CAH@@@HE )@@G@@*CH@@@TEH@@@[]@@@HC8)@@F @@@@G;?@@@#/^@[\K8#)[\GG8)@@^[@)C#0*@@@@OH'@@@[HF )@@G@@/,0@&4C8@@47C8K@@E/,0@*C@E)@@/,0#%&/K@[1GC8K@@EC@E)@@/,0#%_HP )@@G@@/]@[1VG90@@[H'@@@[8LK[0 C^KC#8!8K@@^!8K@@A/K@[1QC/@@@'/,0@$"&;@@[QQB[@@@HQ )@@G@@/,0^CJH9)@@[/K@[\OC^KC#8!8K@@^!8K@@A/K@[1-C/@@@'/,0@$"&;@@[QQB[@@@/,0^CJHR )@@G@@/,0@&4C@@C#9=8@@@)/K@[1(/K@[2\/,0@&4C8@@49/,0@*;9?@C#1/,0@*U/,0@*8C@@EQWHS )@@G@@CCGEQ)/,0@%G/,0@*8C@@EQU9?GEQX/,0@*U/,0@*8&;@@[QQB[@@@/,0^CJ/,0@&4 ?@C2RHT )@@G@@^60C2S 4@C2V *@C2W/K@^L9 @@C#':@@@4X^]0C#'N8K@@AR])@5[2@E*#//KF@@@%@UC#;HU )@@G@@/K@[2 C8E@@@H8@@@];C@@@[[@@@@E/KF@@[A]0C#7[[)C#;9*@@@W @@@@G @@@@H/,0[2@HV )@@G@@')K^O09?@@@WA])@@WO])@@E9*EC#/R])@@W/K@[2\N8K@@=R]K@5[2@D* 4/KF@@@%@TC 3HW )@@G@@/K@[2XC8D@@@H8@@@];C@@@[[@@@@D/KF@@[9*@@@N @@@@G @@@@HA]0C#7/,0[2V'))^O0HX )@@G@@C@@@@D;*@@@[9(/C 4C[)C#;R]0C#7/KF@@@*@EC 4/KF@@@*@EC^I/KF@@@C@@@@E;*@@@[HY )@@G@@ @GC#/ @GC#./KF@@@C8@@@[/K@[3#(0@C2V'<)^O0N9@@@ R'@#(H/,0#(C/,0#:6(4@C2SHZ )@@G@@'+K^O1?8@@@[')8@@@)')E[::C?EC^IG8@@@[[?EC^I:9)@@,IK )@@G@@/K@[44/K@^L99?@C3M/,0[2@/K@^L9N9@@@ R'@#(H/,0#(CN9@@ ,/,0^I8'+0^O\/,0[2VIL )@@G@@/K@[5+8@@@Z')E[::C?EC^IH8@@@[IM )@@G@@[?EC^I(@DCA/ @DC 4:9)@@,/K@[5H/K@^L9/,0@&4 @@@@E(@EC#//K@[6GC@@@@E;C@@@[IN )@@G@@(?GC^I/K@[6GC8@@5D/,0@*;9?EC#//,0@*UC/@@@:/,0@$"&;@@[QQB[@@@/,0^CJ/,0@&4IO )@@G@@ @@@@DC@@@@E;C@@@[')G[:>>8@@@)/K@[6CC/@@@^/,0@*[C8D@@@;*@@@[9?GC 4/,0@*UIP )@@G@@&;@@[QQB[@@@/,0^CJ/,0@&4O'K@@[C8@@@=%@@@@D/K@[59O')@@]C8@@@G%@@@@E/K@[5*IQ )@@G@@/K@^L9*?@C2R/K@[6U @@@@EC^)EQT:@)@@E/K@[6U =EEQZOE%EQZ/K@[6P9?@C?S/,0^H @@C_G @@C_H @@EO)*?@C2R/K@[6?A])C3LIS )@@G@@*4@C2S/,0]*?R])C3L^#)EQSC@@EQUC@KEQV[CEEQ)[^UEQ)^&'EQZAA)EQU @EEQ-^B%EQ+IT )@@G@@C@@EN6[@EEQ<(?@C2U/K@[7@ ?@C2UC@@CD/[CEEQ=C@@CD.[^EEQ=9?@CD"9*EEQ>/K@[7^IU )@@G@@ ^EEQ= @EEQ> @EEQ& CEEQ=O')@@GAA)EQVC@K@[IC8@@AK/,0^C-R])EQU[@K@@G[CUEQ*IV )@@G@@G8K@#C[^UEQ$ CEEQ$C8K@5J&;@@@[N8K@#CM#H)@@*?@C2R/K@[7+C8@C8M[@@C8Y/,0@$LIW )@@G@@C@KC8Y[@@C8YC@@@@H/,0@$B/,0@&4/,0@$LC@KC8Y[@@C8YC@@@@H/,0@$B^,0C2RN8K@@JIX )@@G@@C@@@5KC@K@5LM#W)@@/,0[4D/K@^L9*?@C2R'-)^O0^#0C?S^#0C?TR[)@5MR[0@5NN9@@@ IY )@@G@@R'@^L9/,0#(C:9)@@*/K@[8^')B*L'N[@@5PR'@[7;C@@@5O/,0#(IA[@CB1A[KCB29?@C?SIZ )@@G@@/,0^^%/K@[8[R[@CB1R[KCB2/K@[7:9?@C?S'-@^O0/K@[7"N8K^@@C@@@5QC8K@[JM#H)@@JA )@@G@@ @@EQTC8@^@@C8K^@G[@@EQU[@KEQVC8@^@@[@@EQQ[@@EQR/K@^L9*?@C2R'-)^O0N9@@@ JB )@@G@@R'@#(H/,0#(CR[)@5MR[0@5N^#0C?S^#0C?T')B*L'N[@@5RR'@[8ZC@@@5O/,0#(IC0@C?SJC )@@G@@:8@@@ '-)^O\ 0@C2R9?@C?S/,0^@4/K@^L9*?@C2R'-)^O0C8@@@J[@@CB5[@@C3= @@C38@[@@/K@[8'^]0C3-C8@@@CJE )@@G@@[@@CB5[@@C3=>8@^@@/K@[9[^%0C2U @@C3-C8@@@P[@@CB5[@@C3=N9@@@ R'@[;\/,0#(CJF )@@G@@C8@@@[C8KJ__9*@C3LR[)@5SR[0@5N^#0C3N^#0C3O')B*L'N[@@5RR'@[93C@@@5O/,0#(IJG )@@G@@**@C2U/K@[9+N9@@@ R'@[9+/,0#(C/,0#:6[@@C3L[@@C3M/[K[9+C9)@@,;>K@@=%[K@@MJH )@@G@@'+0^O\N9@@@ R'@#(H/,0#(C/,0#:6[@@C3M9?@C3N9*@CB3/,0^HC/@@@ JX )@@G@@/,0@*[C8EEQZC8K@@G/,0@*<&;@@[QQB[@@@/,0^CJ/,0@&4/K@[/*C@@C3+G^EEQY[@@C3+JY )@@G@@O')@@^/K@[93C'@@@@/,0#<[/,0@&4N9@@@ R'@[/4/,0#(C9(0C3N/,0#:69!0C3N[@@C"9JZ )@@G@@C@@C"9C@KEN(/KH[/7/K@[/_/K@[.[/K@[.#/K@[.G/K@[.G/K@[.#/K@[.T/K@[.W/,0@(BKA )@@G@@/K@[.Y/,0@%G/K@[.Y[@@C3LC/@@@'/,0@$"C8@C3LC8K@@A/,0@*#0@50/KF@@@A]0C3MKP )@@G@@C@@@@VD@)@50+@@@@I[@K@@V*0@C2T/K@]@_(0@C2S/K@]@.C8@@51/,0^A<@ABORTC8@@55KQ )@@G@@/,0^A<@ABORTC/@C8G/,0@&\(@@C_L/K@]@,C8@@59C8K@@D/,0@*;0@^@/KF@@@D8)@^@C@@@@V+@@@@I[@K@@VKZ )@@G@@9?@@6D9?)@6F9*@EM&9*)EM*/KF@@@C@@@@VD8K@[@+@@@@H[@K@@V/KF@@@*@@C"_'-0^O1LA )@@G@@C@@@@VD8K@@^+@@@@H[@K@@V/KF@@@C@@@@VD8)@@]+@@@@I[@K@@V/KF@@@>;0@@[/KF@@@LB )@@G@@A]0C3MC@@@@VD8)@@[+@@@@I[@K@@V/,0C@YR]0C3M/KF@@@N9@@@ R'@#(H/,0#(C,#K@@MLC )@@G@@')0^O\C@@@@MH8@@@AR'0^L9/KGCCYC@@@@V)@@@5?[@K@@V/KF@@@C@@@@V)@@@5![@K@@VLD )@@G@@/KF@@@C@@@@V)@@@5,[@K@@V/KF@@@C@@@@V)@@@5\[@K@@V @@C"_/KF@@@=#0@50/KF@@@LE )@@G@@A]0C3LC@@@@V)@@@50[@K@@VC8@@6H/,0^A<@ABORT*0@C2T/K@]#BC@@C_-C/@C8G/,0@&\LF )@@G@@C8@@6LC8K@@R/,0@*LQ )@@G@@C@KC3Q&;K@@[M#W)@@^#)C3M^#)@@DC@@C3O/,0^C-C^@EO=C0W@@G%8K@@@:8K@@]*8@@@@LR )@@G@@'<)^O2:8K@@]^]0C3ZC^W@@D[@KC3PC^W@@@[@KC3UC^W@@NC@)C_B?8)@[MC^W@@L*@@@@HLS )@@G@@H8K@@[[@KC3L^#)@@EC@@C3P/,0^C-C^@EP]G^G@@DN@KC3O8KK] TC@K@@D&;K@@[C^?@@@LT )@@G@@[@!)@@G4G@@[8KK] VN@)C3SC@)C3R[@)C3T1@@EN_H8)@@[T@)C3P;G)@@=W8)@@W9?@EN/LU )@@G@@N]@@@IN]K@@EN])C3P/,0#;TC@@C3RG8@@@[[@@C3R(WE@@[/K@]A9C^E@@[%@@C3T/K@]A9LV )@@G@@CCE@@[;C@@@A%@@C3U/K@]A9(CE@@#/K@]A4C@@C3PC?U@@[(@@@@HH@@C3L:8K@@CH@@C3LLW )@@G@@H8@@@[G@@@@E @@C3WNC'@@#8K0]A 0@G@@@/K@]A$C@W@@@=@K@6&/K@]A$&;K@@@G@K@@ELX )@@G@@[@KC3YCCX@@@;CK@@A*@@C3ZG8K[@@C^'@@[N@KC3OC@)@@D&;)@@[2@Y)@@'@K@6$/K@]BJ&;K@@@LZ )@@G@@C[@C3WG[@@@H[[@C3WH8@@@[8K0]A CC%@@]H@)C3WH8)@@ECC'@@#H@)@@JCC'@@AC[E@@[MA )@@G@@>[@@6*H@)@@J%^%@@]/K@]B^8K)] )N#)C3MC@@C3V/,0[!"/K@^L9/,0@&4C8@@6(C8K@@%MB )@@G@@/,0@*^*^IEQYME )@@G@@/K@^L9[@)C3MC[@@6.C[K@6"/,0]>D'N@K@@JM#W)@@%9)@@ MK )@@G@@/K@]C?N9@@@ R'@^L9/,0#(C%9)@@,'+0^O\N9@@@ R'@#(H/,0#(C/K@]B%9?G@@@'<)^O\ML )@@G@@9?@C3O'<)^O1[@)C3LC8@END/,0]>^N9@@@ R'@#(H/,0#(CR'@#%MN[@@7@/,0#(_:9K@DOMM )@@G@@/K@]D :9K@IF/K@]DF%[K@7['-0^O5C@)C3L(^IEQY'<0^O0J^,EQY[@)EQV/K@^L9C@)C3LMN )@@G@@(^IEQY'<0^O0/K@^L9(?@C2R'+@^O0N9@@@ R'@#(H/,0#(CN9@@, /,0^I8'+0^O\^+0C2WMO )@@G@@/,0^FO'<)^O\*@@C?]/K@]C2C@KC?#[@KC3LC@KEQU[@KC3M^,0C2TCCXEQ)[@KEQU9?G@@@MP )@@G@@/,0^FO'<)^O\C@KC3LA]!@@@C@@@@E;C@@@MC@G@@@[@H@@[/,0]ND )@@G@@C/@@@A/,0@*[C8@CC;/,0@*;C8@CC;*@@C"_/,0@*;C/@@@I/,0@$"&;@@[QQB[@@@/,0^CJNE )@@G@@/,0@&4C')@@2C])CDPC]KC3NC@@@@QG8@@@A/,0@*[C@@@@QT@@@@P/,0@%GH')@@E/E)]GWNF )@@G@@&;@@[QQB[@@@/,0^CJ*4@C2V/,0^CW/,0@&4/K@^L9C8@@IF/,0]>^[@)C3MN9@@@ R'@#(HNG )@@G@@/,0#(C^]0C3L/,0#:6 @@C3L*@@@@G^]0C3L:[K@7^/K@]H]^%0C2RC@)C3M*^IEQY/K@]G_NH )@@G@@CCIEQYC8G@@^[^IEQYC8K@@ /,0]OQ/K@]I+ *@C2RC@)C3M*^IEQY/K@]I+[@)C3NC@0EQUNI )@@G@@IC_EQZC90@@@ECIEQYG8?@@^:@)@@J'^(^IEQZ'<0^O0(0IEQZNR )@@G@@/K@]I" 0IEQZN9@@@ R'@#(H/,0#(CN[@@7@R'@#(YC8@@@@/,0#(I/K@]G:*?IEQZ/K@]J^NS )@@G@@N9@@@ R'@]J^/,0#(C'+0^O\G^,EQZ*^IEQZ/K@]J^ECIEQYG8?@@^[@)EQV/K@^L9N9@@@ NT )@@G@@R'@#(H/,0#(C @@CD.%9)@@N9@@@ R'@#(H/,0#(CN9@@@:/,0^I8'+0^O\NV )@@G@@/,0^FO'<)^O\*@@C?]'<0^O\C@@C?[[@@CD/A])CD"(C@CD"'+)^O1CC@CD"*CG@@@'<0^O1NW )@@G@@C@G@@@[C@CD"N9@@@ R'@#(H/,0#(C/,0#:6?8@@@[')0^O1[@@C3_C8@@@A[@@C4^%9K@@,NX )@@G@@/K@]KAN9@@@ R'@#(H/,0#(C/,0#:6!8@@@>'<@^O0?8@@@['<@^O0[@@C4^[[K@@G%8@@@]NY )@@G@@'+0^O\CCKCD"T8K@@= @@@@GW@@C4^?@@C3_')0^O1C@KC3_H8K@@[T@KC4^ @@@@GW8@@@=NZ )@@G@@G^@CD"[@@CD"^+0CD.^&0CD.[@KCE [@K@@I^#@@@G^#@@@H;?I@@@C8K@@=H@KC4^[@KCE^OA )@@G@@;CH@@@;*H@@@D@@@@G[@@CD_/K@]LSN[@@7H/,0^I8'+0^O\^+0C2W/,0^FO'<)^O\C@@C?[OB )@@G@@[@@CD/ 4@C4MA])@@G:8@C"4^60C4MA])CD"*@@C?]'<0^O\%9)@@ /K@]K9N9@@@ R'@#(HOC )@@G@@/,0#(C(C@CD"/K@]K"C@@CD"/,0]O6[@@CD"%9)@@ /K@]L#N9@@@ R'@#(H/,0#(C%9)@@:OD )@@G@@/K@]LX^]0CD.N9@@@ R'@#(H/,0#(CN9@@ =/,0^I8'+0^O\/,0^HD'+0^O\^#@@@G;*E@@@OE )@@G@@;CE@@@C8U@@@H8T@@@;*H@@@[@@CD_[@KC3O[*KCD. C@CD"%9)@@ /K@]LXN9@@@ R'@#(HOF )@@G@@/,0#(C(4@C4M/K@]L>(@@CD.'<0^O\C@@CD_+@@@7I*@@@@H'<0^O\%9)@@='+0^O\N9@@@ OG )@@G@@R'@#(H/,0#(C:9)@@'/K@]M<:9)@@R[@C3MR[KC3NC[)C3POI )@@G@@/,0#:4/K@]OB*@@CD./K@]MBC@KCD"[@H@@@/K@]O@*=@CD./K@]MPC@KCD"C@!@@@R%KCD.OJ )@@G@@N@)CD_;*D@@@<@)@@G[@.@@@(4@C4M/K@]O@C@@C"4'=@@@5/K@]O@C@KCE^;*H@@@[@@CE@OK )@@G@@RA)CD"9?E@@@R]KCE ;=D@@@[@K@@I+@@CD_[@K@@G)@@CE@;^T@@@9*U@@@/K@]O@*C@CD"OL )@@G@@/K@]M$/,0#:6/K@]M]/,0]M'/K@]M:C8@@[J/K@]M?C8@@6>C8Z@@@&;K@@[C^)CD"&;)@@[OM )@@G@@;C0@@MCD@CD"?[@@@J[[@@@JH[@@@JN@K@@JM#!)@@N@K@@KM#?)@@/K@]O@A]0C3L%9)@@'ON )@@G@@/K@]NTR[)@7MR[0@7DN8K@@IC8@@[JC@K@7MM#W)@@C8@@[N[@@CD8N[@@7NR'@]NIC@@CD8OO )@@G@@/,0#(I') *L4%9)@@'/K@]NK')B*L'/K@]N ')B*L'/K@]N^C8A@@@H8@C3!C8R@@@*@@@@HOP )@@G@@G8@@@[�@@GQ;0C3!R]0C3L/KF@@[%9)@@<'+0^O\/,0#6'�@@GQ#0@@HR]0C3L/KF@@@OQ )@@G@@A]0CD9/I)]N":9)@@C^KCD"&;K@@[M#W)@@H')@@[N@K@@QC@K@7RC@H@@@H8@@@[PJ )@@G@@[@H)@@8KK]R]C@@@6=[@H@@@R])C3R&')@@[N@KC3Q8KK]RGN@)@@QR]K@7SC@E)@@9?T*3TPK )@@G@@,@K@@G/K@]RROAKCD"C@D@@@G8@@@[[@D@@@/K@]RS8K)]RJ8KK]RG/K@]O@*C@CD"'<0^O\PL )@@G@@%9)@@ /K@]R-N9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(H/,0#(CN9@@ )/,0^I8PM )@@G@@'+0^O\/,0^FO/K@]R\C@@@@E;C@@@MC@G@@@/K@]M]/,0^D%'-@^O4C@@@@H/K@]M]*C@CD"PN )@@G@@'<0^O\%9)@@ /K@]R'N9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(H/,0#(C/,0]M'PO )@@G@@/S@@@@C@K@@J&;K@@[;C0@@M!80@@JC80@@IN@K@@JC@)@7OM#!)@@^#"@@@ ^I@@@R[@@7OPP )@@G@@R[K@7D') *L4/,0#:4'+0^O\/K@]M](C@CD"'<0^O\%9)@@ /K@]SSN9@@@ R'@#(H/,0#(CPQ )@@G@@%9)@@('+0^O\N9@@@ R'@#(H/,0#(C @@C3/C8@@J$:9)@@)/K@]S'/,0#:6!8@@] '-@^O4PR )@@G@@H8@@@[0@@@@G'-@^O4[@@C3/%9)@@,'+0^O\N9@@@ R'@#(H/,0#(C/,0#:6!8@@] '-@^O4PS )@@G@@H8@@@[0@@@@G'-@^O4H@@C3/0@@@@G'-@^O4C9)@@);>K@@=%[)@@L'+0^O\NCKCD"C^KCD"PT )@@G@@&;K@@[C8)@7TM#Y)@@CCKCD"T8K@@AH8K@@[?@K@@GC@@@@HN@K@@GC@KC3/ @@@@GW8@@@APU )@@G@@G8@C6/&;@@@[&;K@@[9*@@@^R )CD"&9)@@[R[0@7D') *L4')B*L'8KK]TJ/K@]O@CC@CD"PV )@@G@@!8@@@]'<0^O\*@@CD.'<0^O\%9)@@ /K@]TXN9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ PW )@@G@@R'@#(H/,0#(C,#K@@M/K@]T\N9@@ )/,0^I8'+0^O\/,0^FO'-@^O4C@@@@E;C@@@M(@@@@GPX )@@G@@'-@^O4C@@@@E/K@]UD%9)@@WC@KCD"[@H@@@/K@]O@*C@CD"'<0^O\%9)@@ QF )@@G@@/K@]VKN9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(H/,0#(C:9)@@)/K@]VY/,0]M'QG )@@G@@/S@@@@C@J@@@/,0^I?'-)^O8R])@@H/K@]V-R])DM>(@@@@E'-K^O8C@E@@K0@@@@GC/@__.QH )@@G@@G8@@@[/K@]M]*C@CD"'<0^O\%9)@@ /K@]V!N9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ QI )@@G@@R'@#(H/,0#(C:9)@@)/K@]V;/,0]M'/S@@@@C@J@@@/,0^I?'-)^O8R])@@H/K@]V"R])DM>QJ )@@G@@(@@@@E'-K^O8C@E@@J(0E@@G/K@]W#;G@@@=W8@@@#G8@@@[/K@]M](C@CD"'<0^O\CC@CD"QK )@@G@@?8@@@#')0^O4(C@EPJ'+@^O,%9)@@ /K@]WLN9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ QL )@@G@@R'@#(H/,0#(C/,0#:6RA)EP]C0%@@G;GI@@@C4%@@G;CY@@@[@@C3S/,0^C:'-)^O,C@@@@HQM )@@G@@C=%@@# @@@@H;GI@@@;)Y@@@C^)CD"9*I@@[C@@C3S[@I@@@/K@]O@*C@CD"'<0^O\%9)@@ QN )@@G@@/K@]W0N9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(H/,0#(C%9)@@<'-@^O4/,0#6'QO )@@G@@N9@@@ R'@#(H/,0#(C%9)@@)'+0^O\C@@@@H/K@]M]*C@CD"'<0^O\*@@CD.'<0^O\(C@EPJQP )@@G@@'+@^O,%9)@@ /K@]XEN9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(H/,0#(CR]@@7RQQ )@@G@@C')@@#/,0]N)'<@^O1/[K]XQ%9K@@)'<@^O\C@@C3S/,0^C:'-)^O,C@@C3SC@KC3TC8)@@=QR )@@G@@H*%@@#;*Y@@@C*%@@#;?I@@@C@KC3UC8)@@=H=%@@#;*Y@@@C=%@@#;?I@@@C@)CD"[@I@@@QS )@@G@@/K@]O@*C@CD"'<0^O\%9)@@ /K@]X0N9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ R'@#(HQT )@@G@@/,0#(C/,0]M'/S@@@@C@J@@@/,0^I1/K@]Y#/K@]X.C8@@@[/K@]M]C8@@@[?4HC_:/K@]M]QU )@@G@@C8@@@#H4HC_:/K@]M] @@@@G/K@]M]*C@CD"'<0^O\%9)@@ /K@]YGN9@@@ R'@#(H/,0#(CQV )@@G@@%9)@@('+0^O\N9@@@ R'@#(H/,0#(C%9)@@<'-@^O4/,0#6'9*@C4]N9@@@ R'@#(H/,0#(CQW )@@G@@ @@C4@ @@C4[%9)@@:/K@]Y&N9@@@ R'@#(H/,0#(CN9@@@,/,0^I8'+0^O\/,0^HD'-@^O4QX )@@G@@A]KC4@A])C4[%9)@@,'+0^O\N9@@@ R'@#(H/,0#(C/,0#:6[@@CE@:9K@@)/K@]Z@%9K@@,QY )@@G@@'-@^O4N9@@@ R'@#(H/,0#(C/,0#:60@@@@G'-@^O4[@@@@HC@@C4]H@@@@H/@@]ZO/G@]ZOQZ )@@G@@[@@@[[C@@C4#G@@@@H/K@]Z]N@KC4]C@@C4#&;@@@[R]KC4@R])C4[^#@@@H;*T@@@;CU@@@RA )@@G@@C@)@@EH@)@@D;*Y@@@[@K@[]C@KCE@;*Y@@@9@W)@@/K@]ZO&;@@@@H^@C4#H8@@@[/K@]M]RB )@@G@@C/@__"/K@]M](C@CD"'<0^O\%9)@@ /K@]ZXN9@@@ R'@#(H/,0#(C%9)@@('+0^O\N9@@@ RC )@@G@@R'@#(H/,0#(C/,0]M'/S@@@@C@Z@@@^#0@@I%8@@@[C@\@@[9*KC4 C@@@7Z'=@@@UNCKCD"RD )@@G@@C@@CD"&;@@@[C8K@6>M#H)@@C@@@7)C@KCD"&;K@@[N8K@@HCC)CD"?8)@@HN@K@@IM#W)@@RE )@@G@@/K@]O@(?@C2R'+@^O0R[)@7-A[)CE2N8)@@DN9@@@ R'@]-]/,0#(C @@CE\%9)@@Q#KCE4RQ )@@G@@&;K@@[M#W)@@') *L4CC@CE5N@K@@G!@@CE3N@KCE3QBKCE5&;K@@[Q#@CE4&;@@@[M#H)@@RR )@@G@@C[K@@M/K@]+)[@KCE1A])CE2/,0#:6C@KCE1R])CE2[@H@@@C[K@@M/K@]+)C@ECEB[@H@@@RS )@@G@@O')@@^/ )]+>(@@@[]/K@]+%8K)]SA )@@G@@'<@^O0C8K@@=H@K@@G[@KC3OC@)C3N^#@@@G;*I@@@;CH@@@/=@]=E')@^O1C80@@@N9@@@ SB )@@G@@R'@]=N/,0#(CR'@#%MN[@@7@/,0#(_:[K@7=C80@@[9?@C3LQ#)C3N&#)C3O/,0^H9'+@^O1SC )@@G@@/K@^L9/,0]>^[@)C3M*^IEQY/K@]=-C[@@7>C[K@7&/,0]>D'HC@IEQ-SH )@@G@@)@@@@K:@K@@K/K@]>V)@@@@L:@K@@L/K@]>X/K@]>HG90@@[/K@]>H/[0]>)H90@@[/K@]>HSI )@@G@@C@@@@OC@K@@IH@K@@G[^WEQY[^YEQYC@)@@G/KF@@[/,0]>^(^IEQY'<0^O0[@)C3MN9@@@ SJ )@@G@@R'@#(H/,0#(C/,0#:6/^@^L9C@)C3MJ^,EQY(^IEQ)/K@]&NECIEQYN@K@@GC@K@7O[^KEN$SK )@@G@@^?KEN$C8"EQ-&;0@@[M#Z)@@[@)C3M^F/EM% ^GEM%R[@@7OR[K@7DN[@@7$R'@#(YC8@@@@SL )@@G@@/,0#(IN9@@@ R'@#(H/,0#(C/,0#:6%9K@@,'+0^O\N9@@@ R'@#(H/,0#(C/,0#:6C@)C3MSM )@@G@@C^YEQ)G@H@@@[@H@@@ECIEQYG8?@@^[@)EQVC@)C3MC@IEQZ/@@^L9/,0[!"/K@^L9/,0]>^SN )@@G@@[@)C3M*^IEQY/K@]&D'9*@CD"^20C2USR )@@G@@C^IEQ):8@^@G/K@]*K/K@]$N(4@C2S/K@^L9C@)EQUC^IEQ+[@@CE6*0@C2U/K@]$SN#)@@GSS )@@G@@ =IEQZECIEQ)E^YEQ)[@@EQU[@KEQV*@@C_H/,0#ZY*4@C2S/K@]$\(4@C2V/K@]*FR])@@GST )@@G@@/,0@&4C8@@7%/,0@*;9?EEQX/,0@*U/,0@*8&;@@[QQB[@@@/,0^CJ/,0@&4/K@]*F[@)@@ESU )@@G@@/,0@&4C8@@7,/,0@*;C^EEQ)%8@^@G/K@]$'C8@@73/,0@*; 4@C2S/K@]*AC8@@78/,0@*;SV )@@G@@C@KEQVCCHEQ)(@@@@GC@HEQXH8@@@[/,0@%G/,0@*8C@@EQU9?GEQX/,0@*U^,0C2V&;@@[QSW )@@G@@QB[@@@/,0^CJ/,0@&4/,0[4D(0@C2U/K@^L9C@@CE6/K@]O%*4@C2S/K@]*%(?@C2R/K@^L9SX )@@G@@ 4@C2V=;0@[@^60C2V *@C2W @@@@EC^)EQT:@)@@E/K@]*Z =EEQZOE%EQZ/K@]*UC8@^@@SY )@@G@@[@@EQUC8@^@G[@@EQV*@@C_H/,0#ZYC@@EQS ?@C2R*0@C2U/K@]O%N#)@@G ?@C2R/K@^L9SZ )@@G@@ 4@C2V=;0@[@^60C2V *@C2W 4@C2SA]0CE7N#)EQSC/@C8M/,0@&\C/@C8S/,0@&\C/@C8GTA )@@G@@/,0@&\C8@^@@[@@EQUC8@^@G[@@EQVR]0CE7/KF@@@N9@@@ R'@#(H/,0#(C/,0#6':8@@@[TB )@@G@@/K@^L9[C@C3L[^KC3L*@@CM6'<)^O\C@@CM7[@@C3M') *L4 @@@@D @@@@E @@@@I%9)@@:TC )@@G@@/K@](QN9@@@ /,0^I8'+0^O\/,0^HD'+0^O\N9@@@ R'@#(H/,0#(C%9)@@U/K@](XC80@@[TD )@@G@@/K@]()%9)@@D'+0^O\ @@@@JCDKC3LH9K@@[G KC3L @@@@KC[)@@LH9)@@[C^@C3L*8@@@@TE )@@G@@G8@@@[9!/@@@;(9@@@;%D@@@')ICE8')ICE'C@K@@NH@K@@O/@K](7')JCE/9!/@@@;>0@@=TF )@@G@@9(/@@@C9@@@[C[K@@G%@@@@M/K@](*% KC3L/ @](/K@]!&N9@@ (/,0^I8'+0^O\^+0C2WTY )@@G@@/,0^FO'<)^O\[@@C3>A])C3L(C@C3L/K@]!&%9)@@ /K@]!/,0[!"/K@^L9^&0C2X')0^O0C@@EN6/@F@@@+@@@8@%@@@@H'-0^O\=@K@8[UE )@@G@@^+0C2S/KF@@@(@@EN6/K@],5;S@EN6C[)@@HH9)@@#[[)CF^:9)@@H/K@],8N9@@@ R'@],5UF )@@G@@/,0#(C/,0#:6[@@CF[C[)CF^:9)@@M/K@]\+:9)@@S/K@]\&'-0^O\C8KBO0'=@@@0/K@],6UG )@@G@@N9@@@ R'@],5/,0#(CR[)@8]R[0@7D')B*L'N[@@7@R'@]\4C@@@8#/,0#(I @@@@GC@KCF[UH )@@G@@;?@@@AH8@@@0T8@@@E;CK@@YH8K@@0G@@@@HT@@@8^[@@CF] @@@@GC@@CF[;*@@@G;C@@@YUI )@@G@@H8@@@0T8@@@EC@KCF[;*K@@M;CK@@YH8K@@0G@@@@HT@@@8 G@@CF][@@CF]'=@@@N[@@CF#UJ )@@G@@!@@CF]'-@^O4C@@CF]H@@CF#[@@CF]/K@]\(C@@CF[T@@@8 [@@CF]/K@]\(C@@CF[T8@@J*UK )@@G@@[@@CF]C8KBO0C@@CF]?@@@@H/K@]\0H@@@@H'=@@@0/K@]\:[@@@@H*@@@@H'=@@@0/K@^L9UL )@@G@@'+0^O\ @@CF *4@C2V^]0CF [@)C5T/,0]6SN9@@@ R'@#(H/,0#(CC"K__":9)@@*/K@]04UM )@@G@@:9)@@'+0^O\H8@@@[/C@]4QC@@@8AR'@]1,VJ )@@G@@/,0#%N/K@]1PC]@@@G[@@C3L') *L4/K@]1P') *L4A]KC5X/,0#:6R]KC5X/,0@*B/K@]1HVK )@@G@@:'T@@@/K@]1,') *L4C8@@@@:9)@@,/K@]4%A]KC5X%9)@@ /,0#:6R]KC5XC@K@@GC@D*3PVL )@@G@@/,0@(U/K@]1HA[@C5VA[KC5WC]@C3LR[@C5VR[KC5W @@@@N:'=@@@/EK]5B') *L4%9)@@'VM )@@G@@/K@]4_%90@@'/K@]4. @@@@N/K@]5]C[0@@M/K@]44:90@@'/K@]5 C[0@@MC@@@@M/,0@$"VN )@@G@@/K@]448 @]41/K@]1H8 @]41/K@]1,C]@C3L') *L4C90@@=%9)@@,:9)@@ /K@]5NA]KC5XVO )@@G@@/,0#:6R]KC5X[@@@@NC@K@@NC@D*3P/,0#%&8 @]5N/K@]1HC]@C3L 4@C5U') *L4[[)@@LVP )@@G@@') *L4:9K@@F/K@]52%9K@@A/K@]6D^60C5U(4@C5U/K@]52C@(C3PN8K@@# @@@@H;?K@@DVQ )@@G@@?8K@@)C8K@@);*K@@V;?@@@D8KK]5&[@@C3NC8@@@[C8KC3NC8(C3P/,0@W/:'T@@@/K@]1,VR )@@G@@C@D*3P/,0@*S8 @]5+/K@]1HC]@C3L') *L4 @@@@N%9)@@,:9)@@ /K@]6]A]KC5X/,0#:6VS )@@G@@R]KC5X[@@@@N:'T@@@/K@]1,C@K@@NC@D*3P/,0#%_8 @]6]/K@]1HC[)@@L'-@^O1/,0#6'VT )@@G@@!8@@@_')K^O2;*K@@M;?@@@G&;@@@[;?@@@AC@KEN6>@K@8B/K@]6Q^,0C2W/,0^CJ/K@^L9VU )@@G@@C@@EN6/@F@@@+@@@8C%@@@@H'-0^O\=@K@8[^+0C2S/KF@@@D8@[K@+@@EN6*@@@@H'-0^O\VV )@@G@@/,0#XX'+0^O\/K@]61/K@]6:/K@]65/K@]68/K@]'?/,0^C:*8@@@@/K@]6;C@@CF/[@@C"\VW )@@G@@'-)^O,9?@CI^/,0^C('-)^O,/K@]6;/^@]69/,0];V/K@^L9G@@C"0/,0^DO'-)^O,C@@EN6VX )@@G@@C8K@@@=8@@K@C8K@@[-@KCF0 @@C3&>8@[@@=#0@8D^]0C3&C8K@@@*C@EO=C^KEO=:8U@@@VY )@@G@@/@)^L9^]0CF0^E0EO=AA)EO=C@@@@E;C@@@M[@@EN"[@0C"0C^E@@@[@@C"\C4E@@[[@@EP0VZ )@@G@@C^E@@D[@@EQB/,0#P**0E@@[/K@]749?@@8E9*@EN/9?@C_+*@@EN"9?E@@A9*@CF99?E@@^WA )@@G@@9*@CF,*@@C3&/K@]8J/,0@&4C8@@8GC8K@@D*@@EN"/,0@*8@@K@/K@]8FC8@@8PC8K@@Q/,0@*<^,0C2V&;@@[QQB[@@@/,0^CJ^20C2WWE )@@G@@ C@EO+C@@EN6=8@@K@/K@]9T*0E@@[/K@]81C8@@8T/,0^A<@ABORT/,0@&4C8@@8XC8K@@LWF )@@G@@/,0@*<9?@CF9/,0@*UC/@@@*/,0@$"9?@CF,/,0@*UC8@@8)C8K@@^/,0@*8@@K@ @@CF0*@@EO)*@@C_H/K@]'-C@@C_G%@@@8<:@@@8=/K@]91%@@@8>:@@@8&/K@]91WM )@@G@@/K@]9;/,0#ZYC/@__"[@@C_[ @@EQK @@EQN C@EO_ C@EO_ C@EPE C@EPH/K@]'-C@@C_GWN )@@G@@C/K__"C8)@@@%@@@8$/K@]'#CCKEO=C@)EP0C^0EO=%@@@8*/K@]'CCCKEO+C8)@@GC^0EO+WO )@@G@@%@@@8(/K@]'HCCKEPCC8)@@ZC80EO[%@@@8%/K@]'MCCKEP[C@)EQDC^0EP[%@@@8:/K@]'RWP )@@G@@CCKEOCCKEO_C8)@@EXR )@@G@@C^0EO_%@@@8=/K@]_%CCKEO_C@)EQBC^0EO_%@@@8>/K@]_\CCKEPEC@)EQKC^0EPE%@@@8&XS )@@G@@/K@]_4CCKEPHC@)EQNC^0EPH/GK#@ *@@@@H/^)]_9/,0#ZY/K@#@ [@)C_JH8)@@[[@)C".XT )@@G@@[@0EO) @@C_K/K@#@ C@@@8=C8K@@@9*@C_GC@)EQBC^0EO_/K@]_9/K@^L9*4@C2V/,0^CWXU )@@G@@/,0@&4C8@CGB(C@EO_C8@CGC/,0@*;(C@EO_/K@#@NC/@@@C/,0@*[C@@C_[/,0@%G&;@@[QXV )@@G@@QB[@@@/,0^CJ/,0@&4/K@]', C@EO_ C@EO_ C@EPE C@EPHC/@__"[@@C_[A]0CGG*@@EO)XW )@@G@@*@@C_H/K@#@:C@@C_G%@@@8<:@@@8=/K@#@%%@@@8>:@@@8&/K@#@%/K@#@:/,0#ZYR]0CGGXX )@@G@@/KF@@@R')^L9N9@@@ R'@#@//,0#(C^#0C_+^#0C_T8@@@WG^@EO'[^@EO;^E0EO;RAKEO;C^D@@MK@@EP=[@KEPWT8@@@WG^@EO'[^@EO1BK )@@G@@CCT@@M[@KEP;^E0EO1C^D@@KK@@EP=[@KEPLT8@@@WG^@EO'[^@EO>CCT@@K[@KEP1^E0EO>BL )@@G@@C^D@@QK@@EP=[@KEPPT8@@@WG^@EO'[^@EO(CCT@@Q[@KEP5^E0EO(C^D@@RK@@EP=[@KEPNBM )@@G@@T8@@@WG^@EO'[^@EO$CCT@@R[@KEP3^E0EO$C^D@@JK@@EP=[@KEP+T8@@@WG^@EO'[^@EO8BN )@@G@@CCT@@J[@KEQ]^E0EO8RAKEO;C^D@@IK@@EP=[@KEP(T8@@@WG^@EO'[^@EP@CCT@@I[@KEQCBO )@@G@@^E0EP@RAKEO;C^D@@NK@@EP=[@KEPYT8@@@WG^@EO'[^@EO3[@@CHBC8K@@[[@KEP.^E0EO3BP )@@G@@*C@EO=/,0#P**C@EO7/,0#QG*C@EO./,0#RW*@@EO)*@@C_H/K@#O9C@@C_G%@@@9<:@@@9=BQ )@@G@@/K@#M'/K@#M"/,0#V8 C@EO3 C@EO2/K@#O9C@@C_GC/K__"C8)@@@%@@@9 /K@#NACCKEPKBR )@@G@@C@)EQPC^0EO'%@@@9>/K@#NFCCKEPKC8)@@LC^0EO'%@@@9&/K@#NKCCKEO"C@)EQAC^0EO"BS )@@G@@%@@@9$/K@#NPCCKEO&C@)EP2C^0EO&%@@@9*/K@#NUCCKEO*C@)EP4C^0EO*%@@@9(/K@#NZBT )@@G@@CCKEO\C@)EP9C^0EO\%@@@9%/K@#N=CCKEP C@)EQHC^0EP %@@@9:/K@#N(CCKEO;C8)@@UBU )@@G@@C^0EO;%@@@9?/K@#N,CCKEO1C@)EP;C^0EO1%@@@9!/K@#N3CCKEO>C@)EP1C^0EO>%@@@9,BV )@@G@@/K@#N8CCKEO(C@)EP5C^0EO(%@@@9\/K@#N.CCKEO$C@)EP3C^0EO$%@@@90/K@#O]CCKEO8BW )@@G@@C@)EQ]C^0EO8%@@@91/K@#OBCCKEP@C@)EQCC^0EP@%@@@8%/K@#OGCCKEP[C@)EQDC^0EP[BX )@@G@@%@@@8:/K@#OLCCKEOCCKEO!C@)EP7BZ )@@G@@C^0EO!%@@@9V/K@#O%CCKEPBC@)EQJC^0EPB%@@@9W/K@#O\CCKEO/C@)EQ^C^0EO//GK#O9CA )@@G@@*@@@@H/^)#O4/,0#ZY/K@#O9[@)C_JH8)@@[[@)C".[@0EO) @@C_K/K@^L9/,0#SK')K^O,CB )@@G@@/,0#SK'))^O,/,0#SK')0^O,/,0#SK'-@^O,/,0#SK'+)^O\*4@C2V/,0^CW/,0@&4C8@CG"CC )@@G@@(C@EPKC8@CH]/,0@*;(C@EPK/K@#P C@EO( C@EO$ C@EO8CU )@@G@@ C@EP@ C@EP[ C@EO< C@EP^ C@EO0 C@EO6 C@EO! C@EPB C@EO/N8K@@CC8@@[JC@K@9XCV )@@G@@M#W)@@^#0CHT^#0CHU^#0CHV^#0CHW^#0CHX^#0CHYA]0CHA*@@EO)*@@C_H/K@#TVC@@C_GCW )@@G@@%@@@9 :@@@9>/K@#TU%@@@9&:@@@9$/K@#TU%@@@9*:@@@9(/K@#TU%@@@9%:@@@9:/K@#TUCX )@@G@@%@@@9?:@@@9!/K@#TU%@@@9,:@@@9\/K@#TU%@@@90:@@@91/K@#TU%@@@8%:@@@8:/K@#TUCY )@@G@@%@@@8/:@@@8./K@#TU%@@@8":@@@8_/K@#TU%@@@9V:@@@9W/K@#TU/K@#TV/,0#ZYR]0CHACZ )@@G@@/KF@@@(C@EPK')K^O7RA)EO"C0E@@[%8@@@['-@^O7C@@EN6=@@@95/K@#V&/,0#XX'+0^O\DA )@@G@@/K@#T!/K@#UD/K@#UD/K@#U /K@#V#&;K@@[/,0#V)C9K@@[C4"@@@C1,@@@%@@@@J/K@#T.DB )@@G@@9*K@@CO'K@@#O]K@@MH80@@[C[C)@@%[D)@@/K@#T.8#0#T8/K@#URG9K@@[C4"@@@G80@@#DC )@@G@@G@0@@MG@)@@J8KK#T0'-K^O7/K@#U*G@@C_]1@@@@G(@@@@G'-K^O7/^@#UG/,0#V8/K@^L9DD )@@G@@C[K@@GH8@@@]/,0#V)!@@@[['-K^O7/G@#URC1,@@@G5,@@@G@)@@MG8)@@#8#@#UM[^)EO3DE )@@G@@^E0EO3[[KC_]C4"@@@G80@@#G0"@@@[@0EP.C^"@@]/^0#U+ C@EO2/K@#U*T80@@WG^0EO'DF )@@G@@[^0EO2^E0EO2CC"@@][@0EP/*@@EO)*@@C_H/K@#V]C@@C_GC/K__"C8)@@@%@@@9#/K@#Z/ 0@C3VR])EO)(@@@@E')0^O3EI )@@G@@C8@@@@*@@C_HC8@@@[[@@C3U![0@@G/K@#)DL@@@@NC[0@@GH]@@@HG@@C_J[@@C3Q 4@C3VEJ )@@G@@?'@@@[C'@@@@C@K@@NG@K@@O*@@@@OH8K@@[?@K@@G/K@#)U^60C3VH@@@@N0@@@@GC8@@@@EK )@@G@@C]@@@GC@KC3U[@KC_K=#0@99/K@^L9/]@#+,O])@@N&')@@[*@@C_HP')@@[C@KC3QC8)@@FEL )@@G@@ @@@@G;?@@@#(@@@@G8#)#)=G8)@@^[@)C3L*4@C2V/,0^CW*4@C2V^20C3VC^@EN(*@@C"_EM )@@G@@G8@@@BC@WCIS;I@@@=W]@@@HH8K@@[[@KC3R&;@@@[*@@C_H&;@@@(Q;@@@]*@@C_HQ;@@@)EN )@@G@@[@@C3SC9)@@@/K@#+*/,0@&4/ )#-A9?@C_G/,0@*U/,0@*K[@@C3MC9)@@NC@@C3M/,0@*[EO )@@G@@CC@C3S/,0@$"C@@@@N/,0@(BC^@C3S/,0@$"C@@C3MG@@C3L/,0@*[C^KEN(N[KC3R!8K@@^EP )@@G@@!8K@@A/K@#-UC/@@@[/,0@*BC/@@@'/,0@$"C^KEN(/KH#-W/K@#-=/K@#-%/K@#-0/K@#-'EQ )@@G@@/K@#+C/K@#+K/K@#+O/K@#+SC/@@@[/,0@*BC@E)@@C8K@@G/,0@(P/K@#+VC/@@@[/,0@*BER )@@G@@C@E)@@C8K@@G/,0@(1/K@#+VC/@@@[/,0@*BC/@@@'/,0@$"C8E)@@C8K@@A/,0@*C@E)@@/,0#%&/K@#+VC8K@@EC@E)@@/,0#%_8LK#-UEV )@@G@@C^KEN(!8K@@^!8K@@A/K@#++C/@@@'/,0@$"&;@@[QQB[@@@/,0^CJH9)@@[G[0C3RG90@@[EW )@@G@@8 @#)_/]K#+,H'K@@[[]KC3RC'K@@@/K@#)_(4@C3V/K@#+9/,0@&4C@@@9'/,0@*SC@@C3QEX )@@G@@H8@@@[/,0@%G&;@@[QQB[@@@/,0^CJ*0@C3V/,0^CW/,0@&4/K@^L9C90@@@C'@Z__/,0#=VEY )@@G@@/K@#Z/(@@EN6/K@##/K@#Z/FE )@@G@@/,0#:$[@0EN6/,0#=V/K@#Z/C90@@[/K@#=JC.0__"C'@@@[N9@@@ R'@#=T/,0#(C:9)@@,FF )@@G@@/K@#=T9(0C3O/,0#:69!0C3OT[0@@GG[0C_K/K@#=]A]0C3T/,0#<[N9@@@ R'@#=//,0#(CFG )@@G@@N9@@@ /,0^I8/K@#>@/,0^D%/K@#=?A])EO)[@KC_JH8K@@[[@KC".9?G@@@9*@C_G/K@#="FH )@@G@@/,0^FO'<)^O,C@0@@E;C0@@M(@@@@J'+)^O1A])EO)C^J@@@*CJ@@@TCJ@@@[@@C_J[@@C".FI )@@G@@C@@C?@9?G@@@9*@C_G/K@#="(@@EO)')0^O3R]0C3T/KF@@@%@@@[J'<)^O,'+0^O\/[:@@@FJ )@@G@@%9KTBL/K@#>J[[@EO)C@@C:_9?G@@@9*@C_G;D@@@M[[@C_JH9@@@[[[@C"./KF@@@%9K@@IFK )@@G@@'+0^O\C@0@@K;C0@@M(@@@@J'+)^O1C^J@@@*CJ@@@TCJ@@@[@@C_J[@@C".[ @EO)C@@C?@FL )@@G@@9?G@@@9*@C_G/KF@@@ @@CMN *@C2V @@CLJ9*@CL%C8F@@@H8@@@[C@G@@@[@@CLLC^@CLLFM )@@G@@H8@^O,T8@@@KCCKCLL;*K@@W;CK@@)G@@@@H[@@C"6 @@C"7(0GCI*/K@#>.C8K@@_H4WCI*FN )@@G@@1@GCI*C4WCI*C@@@@H:8@@@GC8@CL%:8@@@HC8@CL:9?G@@@9*@C"7AE0C_( @@C_*(?@C2RFO )@@G@@/K@#&9*?@C2T/,0]8@@@C/K@#$EC8@C8M[@@C8Y/,0@$LC@KC8Y[@@C8YC@@@@HFU )@@G@@/,0@$B/K@#$&>@@[B1/K@#$OC8@C8S[@@C8Y/,0@$LC@KC8Y[@@C8YC@@@@H/,0@$B/K@#$&FV )@@G@@C@@C"60@GCI*/,0][-/,0@$L[@@CLN*4@C2V/,0^CWC/@C8G/,0@&\/,0@&4C/@@@/,0@$"C/@@@[/,0@*BC@@C"6!8@@]$/K@#$![@@@@EC^ECI**@@@@GFX )@@G@@/K@#$3C/@__"[@@C"6 @@C"7C8@CLP/,0@*;/K@#*@/,0@*;(0ECI*/K@#*@(@@CLJ/K@#$;FY )@@G@@C/@@@*/,0@$"/K@#$_C?UCI*R2'CI*C@@C"7')FCL:/,0@*8C@@EN6>@@[B2/K@#*D/,0@$LFZ )@@G@@C@KC8Y[@@C8YC@@@@H/,0@$B/K@#*2&;@@[QQB[@@@/,0^CJ @@CLJ/,0@&4(^@C_*/K@#*,GA )@@G@@ @@@@CRE)C_*RAKC_*(@@CLM/K@#*SC@@EN6=8@[@@/K@#*,C8@CL+(@@@@CC8@CLU^]0@@CGB )@@G@@/,0@*;CCDEQ)(@@@@GC@DEQXH8@@@[/,0@%G/,0@*89?EEQX/,0@*U&;@@[QQB[@@@/,0^CJGC )@@G@@/,0@&4RAUEQ)RE%EQ)C8@^@G%@@@@D/K@#*SC@@CLN/,0@$B*4@C2V/,0^CWC#0CLKR'0^L9GD )@@G@@*@@CLM/K@#(BRE0C_(*0@C2W/K@#(BR])C"61@ECI*/K@#(B*?@C2R^60C2SR'0]*K>;0@@^GE )@@G@@/K@#(B^60C2R>#0[B3/K@#(B 4@C2R/K@#(BR'0^L9/KF@@@') *L4/[*@@@:[)@[^/K@#(CGF )@@G@@/KF@@@'-K^O,^[@CMA') *L4/[*@@@%-)CMA:>)CMA/KF@@@%()CMA:!)CMA/KF@@@%1)CMAGG )@@G@@:5)CMA/KF@@@/@@#(J')B*L'H8@@@[/K@#(J'-K^O,C8K@@E:9)@@0C8K@@# @@@@G:8K@@EGH )@@G@@/K@#(3/[*@@@\]0@@M/K@#(,%8K@@^/KF@@@!9)@@A!9)@@G/KF@@@G9)@@4;*H@@@H9)@@0GI )@@G@@G@@@@M') *L4/K@#(>/[*@@@,]0@@M/KF@@@[@@@@H;*@@@[;*K@@#G@@@@HH9)@@0G@@@@MGJ )@@G@@') *L4/K@#(3'-K^O, @@@@L^[@CMA @@CM /[*@@@:9)@@ ^]0CM ;()@@Y;!K@@A') *L4GK )@@G@@%-)CMA:>)CMA/KF@@@%()CMA:!)CMA/KF@@@%1)CMA:5)CMA/KF@@@/K@#%]'-K^O,^#@@@LGL )@@G@@ @@CM@/[)#%+%9)@@'/K@#%VC8K@@[H@KCM@[@KCM@;()@@Y;!K@@A)@@@@L:@@@@H/KF@@@GM )@@G@@') *L4/K@#%P(@@CM@/KC@@@/K@#%V'-K^O,9()CM[^[@CM#A]0CM^C[0@@GN[@@@HH8K@@=GN )@@G@@/@K#%4/GK#%2C@@@@H/,0@*BN9@@@=/K@#%4C@K@[^;[.@@@8L@#%5 @@@@M;!)@@[G9)@@0GO )@@G@@C@@@@M/,0@$"8L@#%59!)CM[N[@CM#R]0CM^/KF@@@9*@CMCA]0CMB/@K#:E?8K@@E/K@#:OGP )@@G@@C@@@@HH8@@@D/,0@*BC8@@@D[@@CMD/K@#:OC@@CMCC8)@@DN8K@@B @@@@H;=@@@^*@@@@HGQ )@@G@@/K@#:NH8)@@[8KK#:H[@)CMDC@KCMCC@)CMDC@@@@I;*@@@]H8@@@=D@@@@G;*W@@@H8)@@[GR )@@G@@ @@@@G;?@@@^9*KCMCG8@@@0!8@@@'H8@@@4/,0@$"9?KCMC/^)#:VR]0CMB/KF@@@C80@@@GS )@@G@@C8@@@Z') *L4/[:@@@:9)@@ /KF@@@,#K@@M')0^O\L@@@@MC8)@@[;*!@@@)@)@@J/K@#:(GT )@@G@@ @@CM./K@#:7^<0CM.^%0C2V @@CM"A]0CM2C80CM_/,0#3T/,0#6:/K@#?F @@CMN[@@CM0GU )@@G@@**@C2S/K@#8ZC@@CM0R]0CM2 *@C2V*@@CM./KF@@@/KF@@[ *@C2VR]0CM2/KF@@@*@@CMNGV )@@G@@/K@#?K/,0#6:/K@#?N/K@#62/,0#6:/K@#!3/K@#62/,0#6:/K@#?8C@K@@G/,0#6:/K@#?TGW )@@G@@/K@#62:9KOR /K@#?-:9KAND/K@#?(:9KXOR/K@#?1C@@@@H/K@#62/,0#3T/,0#6:/K@#?8GX )@@G@@/,0#8P)@@@@H/,0#6:/K@#?T/K@#62/,0#3T/,0#6:/K@#?8/,0#8P+@@@@H/,0#6:/K@#?TGY )@@G@@/K@#62/,0#3T/,0#6:/K@#?8-@@@@H/,0#6:/K@#?T/K@#62/,0#6:/K@#!3C@K@@G/,0#6:GZ )@@G@@/K@#?"/K@#62:9K@@=/K@#!G:9K@<>/K@#!M:9K@@/K@#!=HA )@@G@@:9K@>=/K@#!%C@@@@H/K@#62/,0#3T/,0#6:/K@#!3%@K@@G/K@#!1/K@#!\/,0#3T/,0#6:HB )@@G@@/K@#!3%@K@@G/K@#!\/K@#!1/,0#3T/,0#6:/K@#!3!@K@@G/K@#!1/K@#!\/,0#3T/,0#6:HC )@@G@@/K@#!3?@@@@H/K@#!1/K@#!\/,0#3T/,0#6:/K@#!3?@@@@H/K@#!\/K@#!1/,0#3T/,0#6:HD )@@G@@/K@#!3?@K@@G/K@#!1C8@@@[/K@#62 @@@@G/K@#62:9KTBL/K@#,[:9K@@+/K@#,[:9K@@-HE )@@G@@/K@#,[:9K@@(/K@#,[:9K@@C/K@#,[:9K@@[/K@#,[%9K@@I/K@#8Z/,0#6:/K@#,!C@K@@GHF )@@G@@/,0#6:/K@#,B/K@#62:9K@@+/K@#,L:9K@@-/K@#,S:9K@++/K@#,Z:9K@--/K@#,&C@@@@HHG )@@G@@/K@#62/,0#3T/,0#6:/K@#,!G@K@@G/,0#6:/K@#,B/K@#62/,0#3T/,0#6:/K@#,!H@K@@GHH )@@G@@/,0#6:/K@#,B/K@#62/,0#3T/,0#6:/K@#,!)@@@@H/,0#6:/K@#,B/K@#62/,0#3T/,0#6:HI )@@G@@/K@#,!-@@@@H/,0#6:/K@#,B/K@#62/,0#6:/K@#\5C@K@@G/,0#6:/K@#,3/K@#62:9K@@*HJ )@@G@@/K@#,_:9K@@//K@#\A:9K@@\/K@#\K:9K@@%/K@#\T:9K@**/K@#\&C@@@@H/K@#62/,0#3THK )@@G@@/,0#6:/K@#\5T@K@@G/,0#6:/K@#,3/K@#62/,0#3T/,0#6:/K@#\5C@)@@G/,0#\!C@K@@GHL )@@G@@C@@@@I/,0#6:/K@#,3/K@#62/,0#3T/,0#6:/K@#\5C@)@@G/,0#\!C@@@@I/,0#6:/K@#,3HM )@@G@@/K@#62/,0#3T/,0#6:/K@#\5C@)@@G;C@@@[T8K@[=G@K@@G/,0#\!C@K@@GC@@@@I/,0#6:HN )@@G@@/K@#,3/K@#62/,0#3T/,0#6:/K@#\5+@@@@H/,0#6:/K@#,3/K@#62 @@@@GC@@@@H;O@@@=HO )@@G@@*@@@@IW@@@@I(@@@@I @@@@H/KF@@@:9KTBL/K@#0V:9K@@+/K@#0M:9K@@-/K@#0Q:9K@@(HP )@@G@@/K@#0F:9K@@C/K@#0C:9K@@[/K@#0-%9K@@I/K@#8ZC@K@@K/,0#3T/,0#6:/K@#2[/K@#1?HQ )@@G@@C@@@@K/,0#3T/K@#1?/,0#3T/,0#6:/K@#?F%9K@@)/K@#8>/,0#3T/K@#1?/,0#3T/,0#6:HR )@@G@@/K@#\5/K@#1?/,0#3T/,0#6:/K@#\5D@@@@G/K@#1?/,0#6:/K@#1/C@K@@G/,0#6:/K@#28HS )@@G@@/K@#1?/,0#3T%9KTBL:9K@@I*8@@@@/K@#8Z!80COHW )@@G@@/K@#8:?8@@@[/K@#8:[@@CMSC@J@@@H80@@[[@@CMRC@J@@@H80@@[[@@CMQ;G@@@6T8K@@=HX )@@G@@W@@CMS?@@CMR/K@#8,C@KCMRH8K@@[T@KCMS @@@@GW8@@@=G^@CMQ[@K@@F9?G@@@;?F@@@HY )@@G@@C8K@@=H@KCMS;CH@@@/,0#3TC@K@@G/,0#6:/K@#10/K@#62%9K@*//K@#1'/,0#3T/,0#6:HZ )@@G@@/K@#\5/C@#19D@@@@G;KW@@@/K@#1';*W@@@C@@@@H/K@#62%9KTBL/K@#8WC@@@@K/,0#3TIA )@@G@@/K@#62/,0#6:/K@#2BC@K@@G/,0#6:/K@#3E/K@#62[@KCMT:9K@@(/K@#2I*C@CMT/K@#84IB )@@G@@C@@@@H/K@#62(C@CMT/K@#81/,0#3T/,0#6:/K@#?FC@)@@H;C)@@MC@,@@@[@)CMT?8@@@[IC )@@G@@/K@#8,H8@@@[(C@CMT/K@#2%!C@CMT/K@#8,%9K@@,/K@#87T^@CMTG@K@@G') *L4/,0#3TID )@@G@@/,0#6:/K@#?F?8@@@[/K@#8,H8@@@[/K@#2?:9K@@,/K@#87C@)@@H;C)@@MC@,@@@[@)CMTIE )@@G@@!^@CMT/K@#8,G@K@@GC8H@@@%9K@@)/K@#8Z/,0#3T/K@#62%9K@@[/K@#8Z/,0#3T/,0#6:IF )@@G@@/K@#?F%9K@@]/K@#8Z/,0#3T[@KCMT&;K@@@!C@CMT/K@#8*0@@@@G/K@#8*G@K@@G/,0#6:IG )@@G@@/K@#3E/K@#62%9K@@:/K@#3P/,0#3R%9K@JJ/K@#8ZC[.@@@;(9@@@')ICMUC@@@@N/,0#3TIH )@@G@@/K@#62C@H@@@/K@#62^]0CMM/K@#3U @@CMM%9)@@ /K@#3Y') *L4/K@#3UA]0CM39*@CM0II )@@G@@\]0@@M/K@#4C:9)@@'/K@#54:9)@@$/K@#3*,#K@@M/K@#4H%9)@@H:9)@@X/K@#40%9)@@OIJ )@@G@@:9)@@B/K@#40 @@@[^/,0^I8/S@@@@*@@CMM/K@#3_/,0^FO/K@#38C[@@@EC9K@@I/K@#4!IK )@@G@@/,0^D%/K@#3_C9KTBLC8E@@@&#@@@HC[@@@G/K@#4!/,0^HD/K@#4^C9K@JJ @@@@K/K@#4!IL )@@G@@9*@CMOC9@@__C[K@@G/K@#4!R'@#4E/,0#(ZC[@@@GC9K@@C/K@#4!C9@@@@C[K@@M*@@CMNIM )@@G@@/K@#4R:9K@@=/K@#5W:9K@@/K@#5*:9K@@(/K@#4?:9K@@)/K@#4?:9K@@%IN )@@G@@/K@#4?:9K@@:/K@#4?:9K@@[/K@#4?:9K@@]/K@#4?:9K@@+/K@#5D:9K@@-/K@#5I:9K@@*IO )@@G@@/K@#5N:9K@@//K@#4?:9K@@\') *L49?@CM0R]0CM3/KF@@@9?@@@^&#@@@M') *L4%9)@@'IP )@@G@@/K@#5^;C@@@MC9)@@0%8@@@H:8@@@XC8K@@^:8@@@OC8K@@#:8@@@BC8K@@[ @@@@G/,0#(>IQ )@@G@@%9)@@'/K@#8Z') *L4/K@#4EC[)@@G;D)@@M&;@@@[9*@@@^/K@#3,') *L4%9)@@+/K@#4!IR )@@G@@C9K@++/K@#4?') *L4%9)@@-/K@#4!C9K@--/K@#4?') *L4%9)@@*/K@#5SC9K@**/K@#4?IS )@@G@@%9)@@//K@#4!C9K@*//K@#4?') *L4:9)@@/K@#52/K@#4!') *L4:9)@@>IT )@@G@@/K@#5,:9)@@=/K@#50/K@#4!') *L4:9)@@/K@#4?IU )@@G@@C9K@<=/K@#4?C9K@>=/K@#4?C8@@@@ @@@@L @@@@N') *L4%9)@@'/K@#6@%90@@'/K@#5"IV )@@G@@ @@@@N/K@#6#C[0@@M/K@#57:90@@'/K@#6DC[0@@M:8@@@A/K@#8ZG8@@@[;()@@Y;!K@@AIW )@@G@@/K@#57%9)@@A/K@#6=!8@@@ /K@#8Z/@@#6/,0^I8'+0^O\9*@CM'^]0CM5 @@CM6/,0^FO/K@#7BJB )@@G@@C@@C?][@@CM6/K@#7F/,0^D%'<)^O\ @@CM5[@KCM9C@@C?[[@@CM7A])CM8(@@CM5/K@#7$JC )@@G@@(C@CM8'+)^O1CC@CM8C@G@@@[@@CM9%9)@@(/K@#7$*C@CM9/K@#7U'<0^O1N9@@@ R'@#(HJD )@@G@@/,0#(C/,0#:6?8@@@[')0^O1H8@@@[!C@CM9')0^O1T^@CM9G^@CM8[@@CM8 C@CM9C^@CM9JE )@@G@@*C@CM9TC@CM9[@@CM9%9)@@>/K@#7\C^KCM8/K@#8N') *L4^]0CMN/,0#:6 @@@@HC^)CM9JF )@@G@@*@@CM5/K@#78H8K@@[H8)@@[,@K@@G')0^O1[@@CM/C9K@@,%[K@@M'+0^O\') *L4^]0CMNJG )@@G@@/,0#:6C8K@@@C^)CM9*@@CM5/K@#8BH8K@@[H8)@@[,@K@@G')0^O1H@@CM/G8@@@[?8@@@[JH )@@G@@'-)^O2C9K@@>%[K@@M'+0^O\C^KCM8G@KCM/H@KCM5R]0CM4/KF@@@1@@@@H*@@@@HC8K@@[JI )@@G@@1@@@@G*@@@@GC8@@@[/KF@@@(@@CM./K@#?C'<)^O,(@@CM./K@#?C%9@@__'+0^O\9?@CMOJJ )@@G@@'<)^O\(@@CM./K@#?C'<@^O\(@@CM./K@#?C')@^O0(@@CM./K@#?C'<@^O0(@@CM./K@#?CJK )@@G@@')0^O1(@@CM./K@#?C'+)^O1(@@CM./K@#?C'+0^O1(@@CM./K@#?C'<0^O1(@@CM./K@#?CJL )@@G@@'))^O39*@CO<9*)CO>9(@CO$^@KCO(^@)CO%^@0CO:A]@CO?A]KCO!A])CO,A]0CO\/@@#95JM )@@G@@R]0@@GCKV@@A!8K@[]C/K__"0@@@@H/\@#'Q!8K@@]/\@#'Z*?@C2W/K@#'7CCV@@^G8K@@ JN )@@G@@ @@@@GW8@@@AC^V@@^9*@@@IG@0@@IH80@@[:8@@@[/K@#9+C[Z@@@%[K[B5/K@#9+H8@@@[JO )@@G@@H80@@[/K@#9UC@)CW'/,0@V5C@KCW'G@K@@G%8@@@-G8K@@[[@KCW'C@KCW9G@K@@G[@KCW9JP )@@G@@!8K@A8/K@#95C8)@@E:8@@@-/K@#93[@!CP[G8K@@[[@KCW9/K@#'FC@KCW9C8@@@E(@@CO9!@CO$N@KCO(N@)CO%JS )@@G@@N@0CO:R]@CO?R]KCO!R])CO,R]0CO\/KH@@[C@)CW9G8)@@[[@)CW9C@)CW'C@0[B8[@"@@@JT )@@G@@G8)@@[[@)CW'/KG@@@H8K@@[/@W@@@;GK@@];C)@@+C@0CW'C[@CW9/@)#'%C@,#'3[@\@@@JU )@@G@@G80@@[G9@@@[/@K#'0C@)[B9[@\@@@G80@@[G9@@@[8#K#'%[@0CW'[[@CW9/KG@@@@@@@@@JV )@@G@@@@@@@E[KE@@@[KE[K@CCV@@^G8K@@#;CK@@]C^F@@^C@)@@GG@)@@HH8)@@[:8K@@[/K@#; JW )@@G@@C@"@@@%@0[B'/K@#; H8K@@[/K@#'.N@K@@HC@)CW'&;)@@[&;@@@[M#?)@@%8K@@-G8)@@[JX )@@G@@[^)CW'C@)CW9G@)@@H[@)CW9!8)@A8/K@#95C8@@@E:8K@@-/K@#;R[@ICP[G8)@@[[@)CW9JY )@@G@@/K@#'FA])CX_R')CX\/K@^B%A]0CW_C@@[B//,0@+>/K@#;8C8@@[[/,0@LC8@[B_/,0^AS@ABORT/K@#;''<@^O4C8@[]A/,0@< /K@#;69*@C;0[@@')I#/S(0@C2S/K@#/PKC )@@G@@;O@@@M;CK@@M[^KCY^;O@@@A;CK@@Y')I#/U[CKCY^[C@CYA[^)CY]C8@CY@*0@C2T/\K#8.KD )@@G@@'=@@]@C@)CW; ?@C2W/KF@@@'=@@@I'=@@@8T8K@@A;*K@@]'=@@[='=@@@9C4@C2T[)@C2XKE )@@G@@ 4@C2T/^F@@[A]0CX@^#0EM%*?@C2R/K@#"@ 4@C2V=;0@[@^60C2V(@@EN]/K@#/5C@@[C#KF )@@G@@C@K[C^N8K@@QM#W)@@C@@[C#C8K[C N8K@@QM#H)@@C8@@@Q/K@#.4/,0@$LC/@CYD/,0@&\KG )@@G@@(0@C2V/K@#.JC8@[CAC8K@@A/,0@*<(4@C2S/K@#.JC@@[CB/,0@*SC@@EQVCCGEQ)/@@#.AKH )@@G@@/,0@%G/K@#.CC/@@@*/,0@$"C/@@@//,0@$"C@@EQU9?GEQX/,0@*UC/@@@:/,0@$"*@@C_GKI )@@G@@/K@#.OC@@[CC/,0@*S/K@#.>9?@C_G/,0@*U*@@C_H/K@#.VC/@@@[/,0@$"/K@#.XC/@@@(KJ )@@G@@/,0@$"C@@C_K/,0@(BC8@@@]*@@C_HC8@@@)/,0@$"C/@@@:/,0@$"C8@[CDC8K@@A/,0@*#0[CPLY )@@G@@/K@^ LA]0CXA[@@@@WC@@[CS/,0^CJC@@@@W/,0^CJR]0CXA/KF@@@ @@C<^ @@C< @@CC8K@[=[CKC< C8@C<^'=@@@C/KF@@@MA )@@G@@>#0[CP/K@^ :A]0CXB[@@@@WC@@[CS/,0^CJC@@@@W/,0#"W/K@^A@R]0CXB/KF@@@ @@C<^MB )@@G@@ @@C< @@CC8K@[=[CKC< C^W@@[[^KCA])C?#9?@@@W^]0C?]NH )@@G@@/K@^H@9*@@@WC8@EO= @@@@HR')C?C/K@^F;9*@@@WC8@EO7C8K@@[R')C?D/K@^F;9*@@@WNI )@@G@@C8@EO.C8K@@]R')C?E(C@EPJ'+@^O,(CG@@@/KH^GCC^W@@@H^KEP][@U@@@^]0C?]A])C?FNJ )@@G@@R')C?FA])C?#9?@@@W/K@^H@'+0^O,'-K^O6'+0^O69*@@@W'=@@@M[@@C"5R')[C&A])C?#NK )@@G@@9?@@@W^]0C?]/K@^H@[@@@@W'=@@@6[@@C"4C@@@@WR')[C$A])C?#/K@^H@*@@CM"/K@^G:NL )@@G@@R])[C*N8K@[^2@E*=N/K@^G:%@UC=L/K@^GYC8EC=K0@EC=M/K@^G(R'%C=MA])C?#^]0C?]NM )@@G@@/K@^H@RA%C=M/KE@@@ @@CM"9*@@@W()@C2W/K@^HAR])EQUCCEEQ$!8@@[=/K@^HAK8@@@[NN )@@G@@[CUEQ$;*@@@[GCEEQ*[@@@@E9?@@@W9*E@@@C8E@@@O')@#CC8U@@[[@U@@@ @H@@@A])C?#NO )@@G@@ )@C2W[@@C?[[@@C?@R])C?#R]%@@@/KF@@[ )@C2W9?@@@W/KF@@@9*@C?^%@K@[J/K@^HSNP )@@G@@;G@@@M%@K@[J/K@^HS;G@@@G%@K@[J/K@^HU,#K@@G/K@^HS @@@@IR')@@)C?L/K@^J&%()C?L:!)C?L/K@^J&%1)C?L:5)C?L/K@^J&,#K@@M\]0@@M/K@^J'=@@@4/K@^KC@K[C1'=@@@4C8@C1YOH )@@G@@C@K[C2'=@@@4C@@[C3'=@@@J0@@@@G@ABORTR')^@@C8@C8Z[CEEQ*C8@C;$[^EEQ$ @@C"_OI )@@G@@%9@@@^^]0C"_C/@C8M/,0@&\/,0@$LC/@C8S/,0@&\/,0@$LC/@C8G/,0@&\[[KC3N[[K@@VOJ )@@G@@>#0[C4/K@^L]D@@[C4+@@@@V[@K@@V/,0]]&=#0[C5/K@^LMC8KC1)*@H@@C/K@^LDC/@__"OK )@@G@@[@H@@CC@@@@H&'0@@@/,0@I&'=@@@)^,0C2V^,0C2WC@@C1%/,0^CJ ?@C2W/,0#;W/K@^OTOL )@@G@@=;0@@[/,0]#_=#0[C6 @@C"_C[KC3N=[K[C7^]0C"_*@@C"_/K@^LZ)[K[C6[[)@@L[[K@@VOM )@@G@@*@@C"_/,0]#7/,0#@;=;0@^@/,0]#:=;0@]@ 4@C2TC8@[C8/,0^A<@ABORTC8@[C"/,0^ASON )@@G@@@ABORT/K@^L0')@^O6/K@^L1'+)^O6C8@[D]/,0^A<@ABORTC8@[DC/,0^AS@ABORT')K^O\OO )@@G@@')@^O\*=@C2V@ABORT *@C2U @@EN6 ^@C2T )@C2V*4@C2R/K@^OU(?@C2R*4@C2S/K@^MEOP )@@G@@C@@@[IG8@@M0!@@C2Q/K@^ME[@@C2Q'=@@@=/,0#/Y/K@^OU[@)C?P[@)EQWR[@[DGR[K[DHOQ )@@G@@ *@C2R )@C2S*4@C2V*)@C2X/K@^NB*?@C2R/K@^MUC@@EN$/,0^CJ/K@^NBR])@@I/,0@&4OR )@@G@@CCEEQ)/^@^MT=#0[C5PC )@@G@@/K@^O=^,0C2VC@@[DR/,0^CJ=#0[C4/,0[_1'=@@@D(4@C2S/K@^L9*?@C2R/K@^L9(0@C2VPD )@@G@@/K@^L9/K@[2;/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>Z/,0#>ZPE )@@G@@/,0#>ZN9@@@ R'@#(H/,0#(C%9)@@<'+0^O\/,0#6'!8@@@R'+0^O3C@0[DG&;K@@[N@K@@GPF )@@G@@M#.)@@^F_@@@ ^J@@@[?@EN$^+0C2V ^IEQ)/K@^MG@M@@@@^PE@C@@^@@@@@@@@BO)D@@@@PG )@@G@@ANP^PF@^@@@@@@@@#Q)D@@@@B"OANQ@^@@@@@@@@@]'^@@-/'^@@+FB(U@@]'^@@-/'^@@+FPH )@@G@@B?P@@]'^@@-/'^@@+FB%)@@]'^@@-/'^@@+FB:0@@]'^@@-/'^@@+FB:M@@]'^@@-/'^@@+FPI )@@G@@^YE@@['^@@-/'^@@+F^YG@@[K@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DLOAD$ OF RSEG - EPJ )@@G@@R ERR$@[^C@&DREL$ @@@@@@@@@@@@@USE @@@@@@@@@@@@, @@@@@@@@@@@@@@@@@@PK )@@G@@[@@C[QC@@@2-'=@@@^C@@C[Q/K@[DV/K@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CNTNGY8@EC6W@@@@@@DBANK @@@@@@@@@@@@PM )@@G@@IBANK @@@@@@@@@@@@LITRLS@@@@@@@@@@@@TABLE @@@@@@@@@@@@@@@@@@*SDFF*TAPE IPN )@@G@@S POSITIONED AT FILE &, BLOCK &.& @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@PO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@[@@@@@@@@@@@@@@@@@@I/O ERROR & CLOSINPP )@@G@@G FILEID "&"& @@@@@@@@@@@@/K@[&=@@@@@C@@@@@ @@@@@#@@@@@ @@@@@D@@@@@APQ )@@G@@@@@@@^@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@OCTAL DECIMAL SIXTH-WORD QUARTER-WORDQK )@@G@@ASCII FIELDATA BINARY HEXADECIMAL @@@@@@@@@@@@@@@@@@@@@@@@QL )@@G@@@@@@@@@@@@@J@@@@@@@@@@@@COPIES: & DEVICE: & COPIES: 1 DEVICE: PID &,QM )@@G@@ DID & (HEXADECIMAL)& /K@[_W/K@[_-/K@[_&/K@[_:'))^O\'))^O\'))^O\/K@[_1QN )@@G@@/K@][C/K@][H/K@][M/K@][R/K@][W/K@][-'))^O\'))^O\'))^O\/K@][&'))^O\/K@][1QO )@@G@@'))^O\'))^O\'))^O\/K@][6/K@][./K@]]]/K@]]P/K@]]T/K@]]X/K@]]-'))^O\'))^O\QP )@@G@@'))^O\/K@]]&/K@]#N/K@]#R/K@]#V/K@]#Z/K@]#RN )@@G@@3[@@":3@@@"3!#@@"73^@@"_3@@@_A3@@@_G3@@@_K3@@@_O3[@@_V3^@@_)3@@@_$_@@@@@RO )@@G@@3@@@_,3[@@_23@@@_'G@@[@[3@@[@C3@@[@J3[@[@R3@@[@Z3@@[@>3@@[@:,]][@33@@[@5RP )@@G@@0[@[@.3@@[[#0[@[[F3@@[[L3@@[[S3@@[[Z3@@[[$3@@[[,3@@[[43@@[['3@@[[.3[@[][RQ )@@G@@3#@[]C3@@[]H3@@[]OG@@[]U3#@[]+3@@[]&3@@[]!3@@[]53@@[].3@@[# 3@@[#E3@@[#JRR )@@G@@2#@[#OG]][#T3@@[#<3@@[#*3]A[#\_@@@@@3]G[#5G]G[#.3@@[^ _@@@@@3@@[^D3]G[^JRS )@@G@@_@@@@@3@@[^P3@@[^W_@@@@@3@@[^+3@@[^*3@@[^!G]G[^13@@[^73@@[^;_@@@@@3]G[^_RT )@@G@@G]G[ A3[@[ I_@@@@@G]G[ Q3@@[ Z3@@[ >3@@[ %_@@@@@3@@[ 03@@[ 43@@[ /3[@[A^RU )@@G@@3[@[AFG]G[AM3@@[AU3@@[AX3@@[A+G@@[A*_@@@@@_@@@@@3@@[A0_@@@@@_@@@@@3@@[A4RV )@@G@@3@@[A9_@@@@@_@@@@@3@@[A"3@@[BA3@@[BG_@@@@@_@@@@@_@@@@@_@@@@@_@@@@@_@@@@@RW )@@G@@3@@[BK3@@[BR_@@@@@3@@[BY3@@[B>3@@[B(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RX )@@G@@---> ERROR IS UNDEFINED <---& ABOVE ERROR OCCURRED IN STATEMENT & OF MACRY )@@G@@RO & MACRO CALLED AT STATEMENT & OF MACRO & @@@@@@@@@@@@/,0@(1RZ )@@G@@/,0@(P/,0@*S'^@CL0@@@@@@9?@C"7/,0@*U/K@SL0C5=@@@C1=@@@C!=@@@C(=@@@C>=@@@SA )@@G@@'^@CME[5&@@@[1&@@@[!&@@@[(&@@@[>&@@@'^@CMI@@@@@@C-=)@@R[K[B4/K@SME@@@@@@SB )@@G@@[-&)@@R[0[B4/K@SMI@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;D'@@@SC )@@G@@;L'@@@CX?CM)CL?CM)CT?CM)CP?CM)C[VF*@@@@@@CW7@@@CW8@@]CO0@@@@@@@@@@@@@@@CP[@@@@@@@@@@@@@@@@@@SH )@@G@@@@@@@@@@@@]*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@------SI )@@G@@------------------------------@[ACX*@@@@@@@@@@@@@@@@@@@K@@@@@@@@@@@@@@@@SJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ALT$FISK )@@G@@LE$$$$@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&DCXX@@@@@@[[@@@@@@@@@@SL )@@G@@@@@@@@@@@@@@@[#CXX@@@EM%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@ICY4@D@C<^@A7C?U@BIC8G@@EC_,@[ZDM&@@EEM>@@QEN]SO )@@G@@@@EEN$@@0EO-@@!EP\@@KIQX)@PRTCN @@@C_TPSEQ TG )@@G@@ @@@C_]QUAL [CWC_+RCODE @@@C_#RESULT @@@C_^RRT^ TH )@@G@@ )@@^F2RSEQ @@@C_ RUNID @@@C_-SSACODE @@@C_ASSASEQTI )@@G@@ @@@C_ASCHADR @@@EPQSCHLEV @@@C_BSCHELT [CWCG1SCHFILTJ )@@G@@E [CXCG*SCHNAME [CWCG5SCHVER [CWCG3SCODE @@@C_CSSRCODTK )@@G@@E @@@C_DSSRSEQ @@@C_DSRT^ )@@^F7SSSCODE @@@C_FSSELT TL )@@G@@ [CWCHTSSEQ @@@C_ESSFILE [CXCHKSSNAME [CWCHXSSSSEQTM )@@G@@ @@@C_FSSVER [CWCHVSYSTEM [CYC_UTABLE [CWC_GTIME TN )@@G@@ )@@^F>TRAIN @@@EN"TSIZE @@@C_J$ @@@C_KLGSTATTO )@@G@@ @@@C_RMA [CZEQXALL @@@]PWASCII @@@]P>BLOCK TP )@@G@@ @@@]VDCSF @@@]TNDECODE @@@]W COREADR @@@]W(DMSCALTQ )@@G@@C @@@]UIENCODE @@@]W_FILE @@@]V&FITEM @@@]ZQRANGE TR )@@G@@ @@@]QRSEARCH @@@]Y SIZE @@@]RUSTATUS @@@]X(VALUE TS )@@G@@ @@@]R3WBUF @@@]SLPH @@@@@@P0 @@@@@@ACT @@@@@@ART TT )@@G@@@@@@@@DCT @@@@@@DDT @@@@@@DNS @@@@@@DNT @@@@@@DSW @@@@@@FDT TU )@@G@@@@@@@@FRT @@@@@@GED @@@@@@ICT @@@@@@IDT @@@@@@INI @@@@@@INT TV )@@G@@@@@@@@NHT @@@@@@PDT @@@@@@PIT @@@@@@RDT @@@@@@RFT @@@@@@RIT TW )@@G@@@@@@@@RRT @@@@@@SCT @@@@@@SDT @@@@@@SFD @@@@@@SHT @@@@@@SIT TX )@@G@@@@@@@@SRT @@@@@@SST @@@@@@PAGE @@@@@@RCDT @@@@@@SART @@@@@@SCRT TY )@@G@@@@@@@@SRDT @@@@@@SRRT @@@@@@SSCD @@@@@@SSDT @@@@@@SSRT @@@@@@TREG TZ )@@G@@@@@@@@WBUF @@@@@@CSLOT @@@@@@DBPDT @@@@@@IOBUF @@@@@@RSLOT @@@@@@CMDBUFUA )@@G@@@@@@@@SCHEMA@@@@@@SUBSCH@@@@@@RE)EO_RE)EO+RE)EORE)EO&RE)EO$UB )@@G@@RE)EO*RE)EO(RE)EPJRE)EO:RE)EO?RE)EO!RE)EO,RE)EO\RE)EO0RE)EO1RE)EO2RE)EO3UC )@@G@@RE)EO4RE)EO5RE)EO6RE)EO7RE)EO8RE)EO9RE)EPKRE)EO;RE)EO/RE)EO.RE)EO"RE)EO_UD )@@G@@RE)EP@RE)EP[RE)EPJRE)EP#RE)EP^RE)EP RE)EPARE)EPBRE)EPCR')@@[RE)EPERE)EPFUE )@@G@@RE)EPGRE)EPHR')@@[RE)EPJRE)EPKRA)EO_RA)EO+RA)EORA)EO&RA)EO$UF )@@G@@RA)EO*RA)EO(RA)EO%RA)EO:RA)EO?RA)EO!RA)EO,RA)EO\RA)EO0RA)EO1RA)EO2RA)EO3UG )@@G@@RA)EO4RA)EO5RA)EO6RA)EO7RA)EO8RA)EO9RA)EO'RA)EO;RA)EO/RA)EO.RA)EO"RA)EO_UH )@@G@@RA)EP@RA)EP[RA)EP]RA)EP#RA)EP^RA)EP RA)EPARA)EPBR')EO[R')C6/RA)EPERA)EPFUI )@@G@@R')DO RA)EPHR')EN]RA)EO%RA)EO'C8K@@EC8K@@GC@KEP\C@KEP0C@KEP1C@KEP2C@KEP3UJ )@@G@@C@KEP4C@KEP5C8K@@SC8K@@^C@KEP6C@KEP7C@KEP8C@KEP9C@KEP'C@KEP;C@KEP/C@KEP.UK )@@G@@C@KEP"C@KEP_C@KEQ@C@KEQ[C@KEQ]C@KEQ#C8K@@LC8K@@UC@KEQ^C@KEQ C@KEQAC@KEQBUL )@@G@@C@KEQCC@KEQDC^KIQ2C@KEQFC@KEQGC@KEQHC@KEQIC@KEQJC8K@@ZC8K@@*C@KEQKC@KEQLUM )@@G@@C@KEQMC@KEQNC8K@@SC@KEQOC@KEQP@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A UN )@@G@@@@@]6)AREA @@@]6)B @@@[*PBRKPT @@@[*PBYE UO )@@G@@@@@^OUEXI @@@^OUEXIT @@@^OUCLOSE @@@[HACLOSEFILE UP )@@G@@@@@[HACOUNT @@@]^ADEBUG @@@[%8DELETE @@@[7(DIM UQ )@@G@@@@@]B$DIMENSION @@@]B$DO @@@]BYDP% @@@[E)ELSE UR )@@G@@@@@]I\END @@@]C6ERROR @@@#&MERRPR @@@#&,E US )@@G@@@@@[/%EVAL @@@[/%EVALUATE @@@[/%FEA @@@];;FEATURE UT )@@G@@@@@];;FMT @@@#<+FORMAT @@@^L9GET @@@[HPRINT @@@#Z>P! @@@#+.PRINT! @@@#+.POS VC )@@G@@@@@[XLPOSITION @@@[XLPRTCN @@@]QUAL @@@#@!R$OPN @@@]("R$REL VE )@@G@@@@@]%MR$SORT @@@]%XR$RET @@@]%$WAIT VL )@@G@@@@@],+WHILE @@@]&VWRITE @@@]\5XQT @@@^O9END DBE VM )@@G@@@FREE,R CSINTNAME$. . @FREE,A CSINTNAME$. . @FREE,A DBE$HELPLIB. . VN )@@G@@@FREE,A DBE$SYSLIB. . @FREE,A NEWS. . @USE CSINTNAME$., @@@@@@@@@@@@VO )@@G@@@[FO@@@)K@@Z@@@C1:@@@C1:@@@@@[@@@@@@@@@@@@BNYI>=@@@@@@@@@@@@@@@@@@C-]C*)VP )@@G@@A1MAD#^@1AC0A@\BC0^@)D)3BC) [MC(GC([ET C)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VQ )@@G@@@@@@@@@@@@@@@@@@@@H,,,DBE 6R1C@@@@@@@@@@@@ REL ST ADDRESS DVR )@@G@@BANK: 000000 IBANK: 000000.L,0 @@JC1;H,,,DBE 6R1C TABLE: @@@@@@VS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@.L,0 @@EC2F@@@IRD@@@@@@@@@@@@[@@@@@@@@@@@@@@@@@VT )@@G@@@@@@@@@@@@@@@@@@@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVU )@@G@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVV )@@G@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVW )@@G@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVX )@@G@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@&QC6&@@@@@@[[@@@@@@@@@@@@@@@@@@@@@@@&QC6/VY )@@G@@@@@@@@[[@@@@@@@@@@@@@@@@@@@@@@@&QC7=@@@@@@[[@@@@@@@@@@@@@@@@@@@@@@@@@@@@VZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_____"XH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_____"@@@@@@XI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XJ )@@G@@@@@@@@@@@@@@@@@@@[PR @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C_5@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DBE DBE$SYSLIB DBE$PFXT )@@G@@ NEWS @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@[@EM%@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@@@@@^@@@@@@@@@@@@@@@@@^@@@@@^@G@@@@@@YE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___@@@___@@@___@@@___YH )@@G@@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___YI )@@G@@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___YJ )@@G@@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___YK )@@G@@@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___@@@___YL )@@G@@@@@___@@@___@@@___@@@___$MAIN$ @@G@@^@@@@BO$SNOOPY$ @@@@@^@@@@#QYM )@@G@@$SORT-MERGE$@@@@@^@@@@@]@@@#@ @@@@BO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DBE-000B I=^BNYDBE-00YO )@@G@@1 I=BBNYDBE-002 I=KBNYDBE-003 I=-BNYDBE-004 I=W@@@@@V@@@[@^@H/[*P@@@@@S@@@[@^@AT[6LZI )@@G@@@@@@@P@@@[@^@BW[/%@@@@@M@@@[@^@2U]^A@@@@@J@@@[@^@( ]6)@@@@@G@@@[@^@ '#Z>ZJ )@@G@@@@@@@D@@@[@^@#(#>Z@@@@@A@@@[@^@&2#(C@@@@@#@@@[@^@ L^J'@@@@@@@@@[@^@@@^PFZK )@@G@@@@^@[F@@@[@^[N(^PF@@^@[F@@@]@^@%+ *4@@C@[I@@@[@^[U@ANQ@@C@[I@@@]@^@I9B!QZL )@@G@@@@C@[I@@@#@^@]AB/J@@@@@$0@@]@ @@FC@-@@@@@90@@]@ @@WC@?@@@@@=)@@@@ @[[C[CZM )@@G@@@@@@@-)@@@@ @@!C]D@@@@@Y)@@@@ @@'C]6@@@@@V)@@@@ @^[C#0@@@@@S)@@@@ @@ CB1ZN )@@G@@@@@@@P)@@@@ @[]CB6@@@@@M)@@@@ @]2CC8@@@@@J)@@@@ @],CF%@@@@@G)@@@@ @@KCISZO )@@G@@@@@@@D)@@@@ @#GCI*@@@@@A)@@@@ @U)CL4@@@@@#)@@@@ @ GC?O@@@@@@)@@@@ @@6C1)ZP )@@G@@@@@@@#)@@C@ =4C2Q@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ARE$PARTIAL @#A@@AARE$00ZQ )@@G@@1 @]E@@@ASCFDASC$ @@A@@@ASCFD$ @@P@[BBRK$001 @["@@@BRK$00ZR )@@G@@3 @["@[MCALC$001 @[;@@@CAL$001 @][@@@CHA$LVEC @#J@@@CHA$SVZS )@@G@@EC @#J@@ACHA$001 @]N@@@CHA$002 @]N@@ CHA$003 @]N@@ACHA$00ZT )@@G@@4 @]N@@QCHA$007 @]N@@RCHA$008 @]N@@6CHA$009 @]N@@7CHA$01ZU )@@G@@0 @]N@[ECHA$011 @]N@[FCHA$013 @]N@[YCHA$014 @]N@[7CLO$00ZV )@@G@@1 @[8@@@CNT$001 @[5@@@CNT$003 @[5@[CCON$CMD @#M@@^CON$IDZW )@@G@@PKT @#P@@@CON$001 @]Q@[_CON$001A @]Q@#HCON$003 @]Q@^)CON$00ZX )@@G@@5 @]Q@^4COP$001 @]N@]ZCOU$001 @]B@@@DEB$001 @["@]DMP$HDGN @#P@@XDMP$HDGPKT @#P@@%DMP$IBANK @#P@@*DMP$TBAA )@@G@@LPKT @#P@@5DMP$TNAME @#P@@\DO$001 @]B@#SDUSE$ @@Y@]?ECHAR$AB )@@G@@ @@-@[JECLEAR$ @@-@@ ECOLN$ @@-@[-ECOL$ @@-@[MECOPY$AC )@@G@@ @@-@[4EDCFZ$ @@-@]:EDECF$ @@-@#]EDECV$ @@-@#XEDITR$AD )@@G@@ @@-@@SEDITX$ @@-@@+EDIT$ @@-@@@EFD1$ @@-@[(EFD2$ AE )@@G@@ @@-@[:EMSGR$ @@-@]DEMSG$ @@-@]GEND$001 @]B@^0EOCTF$AF )@@G@@ @@-@]&EOCTV$ @@-@]SERR$001 @]K@@@ERR$002 @]K@@3ERR$00AG )@@G@@3 @]K@[JESKIP$ @@-@[SEVA$NAME$ @#J@[#EVA$STDEXP @#J@@ZEVA$SYAH )@@G@@SVAR @#J@[]EVA$000 @]N@]?EVA$001 @]N@],EVA$005 @]N@H2EVL$00AI )@@G@@1 @]^@@@FDASC$ @@P@@@FEA$001 @]E@ VGET$001 @[8@@XGLO$00AJ )@@G@@1 @]B@ DGOT$001 @]B@ :GO$001 @["@#FHAR$001 @]^@@9HDCOPYAK )@@G@@$TIP @]N@J5HDCOPY$XMIT2@]N@K'HIS$001 @]B@AQIDJD$ @@V@@@ID$ AL )@@G@@ @@D@@@IF$001 @]B@C>IF$002 @]B@E(IOU$005 @[8@SNIO$PKTAM )@@G@@1 @#J@F;IO$001 @]N@MLIO$002 @]N@MOIO$004 @]N@NQIO$005AN )@@G@@ @]N@POIO$007 @]N@QCIO$008 @]N@RAIO$009 @]N@R?IO$010AO )@@G@@ @]N@V+IO$011 @]N@V_IO$012 @]N@WSIO$013 @]N@W'IO$014AP )@@G@@ @]N@XKIO$015 @]N@XVIO$016 @]N@X+IO$017 @]N@X,IO$018AQ )@@G@@ @]N@X5IO$019 @]N@X"IO$020 @]N@Y)IO$022 @]N@ZBIO$023AR )@@G@@ @]N@ZOLET$ALL @]B@LQLET$ASCII @]B@LZLET$BLOCK @]B@R#LET$CAAS )@@G@@DR @]B@SQSEA$012 @]N@>XSEA$01BX )@@G@@3 @]N@>=SEA$014 @]N@>(SELT$ @@Y@@2SET$001 @]E@PWSFDTBLBY )@@G@@$ @@@@@@SFDT$ @@#@@RSINF$ @@Y@@)SM$OPN001 @]B@>8SM$QENBZ )@@G@@D001 @]B@$0SM$REL001 @]B@&GSM$RET001 @]B@&XSM$SORT001 @]B@&RSNO$00CA )@@G@@1 @]W@C_SNO$002 @]W@D[SOR$001 @]B@=9SSA$001 @]E@>5SSC$ELCB )@@G@@T @#A@[\SSC$FILE @#A@[&SSC$NAME @#A@[3SSC$VERS @#A@[1SSC$00CC )@@G@@1 @]E@R7SSR$001 @]E@&HSSS$001 @]E@&>STEP$000 @["@E&STEP$0CD )@@G@@01 @["@E*STO$001 @]B@=ESTO$002 @]B@=&TBL$ACODE @#S@GTTBL$ACCE )@@G@@TSIZE @#S[TBL$FLAGS @#S@@[TBL$FSCO )@@G@@EQ @#S@G&TBL$GEDSIZE @#S[<)TBL$GRUNID @#S@HDTBL$HIGHD @#S@@@TBL$IBCP )@@G@@PR @#S[-LTBL$ICTSIZE @#S[<-TBL$IDTSIZE @#S[<+TBL$INBF @#S[)OTBL$INCQ )@@G@@ISIZE @#S[<TBL$NRSLOTS @#S[<.TBL$NWORDS @#S@G%TBL$ORUNID @#S@HETBL$PDCW )@@G@@TSIZE @#S[<&TBL$PFMT @#S[-MTBL$PFSP @#S[-OTBL$PITSIZE @#S[<$TBL$PLCX )@@G@@IMITS @#S[-(TBL$PNUM @#S@G:TBL$PROJID @#S@HJTBL$PRTCN @#S@H#TBL$PSCY )@@G@@EQ @#S@G?TBL$PSIZE @#S[<1TBL$RCDTSIZE@#S[<2TBL$RCODE @#S@G!TBL$RDCZ )@@G@@TSIZE @#S[<*TBL$RESPTR @#S[--TBL$RESULT @#S@GT$SIT DV )@@G@@ @#S[+&T$SRDT @#S[+!T$SRRT @#S[+,T$SRT @#S[+$T$SSCDDW )@@G@@ @#S[+\T$SSDT @#S[+0T$SSRT @#S[+1T$SST @#S[+*T$SUBSDX )@@G@@CH @#S[+'T$TREG @#S[+2VAR$STAROK @#J@UYVAR$001 @]N@>0WAI$00DY )@@G@@1 @]B@%WWRI$001 @]B@:\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA )@@G@@D$ATE @@@BNYFRSTD$ @@@C@@FRSTI$ @@@@C@LASTD$ @@@IRDEB )@@G@@PCTWT$ @@@@@@SLT$ @@@C@@TBL$MASIZE @@@^@@T$IME @@@I>=EC )@@G@@$DBANK$ @@@@@ $IBANK$ @@@@@^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ED )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[S@@@*SDFF*@]@@@@ PARAMEF )@@G@@ETER X@^@@@@ DIMENSION W(1),D(6) @#@@@@ PWORD J0 35,4 @#@@@@ PWORDEG )@@G@@ J1 31,5 @#@@@@ PWORD J2 26,4 @#@@@@ PWORD J3 21,22 @#@@@@ LET DEH )@@G@@(1)=X:J0 @#@@@@ LET D(2)=X:J1 @#@@@@ LET W(1)=' '@^@@@@ LET WEI )@@G@@(1):T1=DATE:NT3 @C@@@@ LET YY=VALUE() @ CURRENT 2-DIGIT YEAR EJ )@@G@@@F@@@@ LET YRT64=(YY+36)\100 @ CURRENT YEAR INDEX RELATIVE TO 1964 EK )@@G@@@E@@@@ LET C=YRT64 \ 16 @ CURRENT YEAR IN 16-YEAR CYCLE @F@@@@EL )@@G@@ LET D(3)=YRT64 - (C-X:J2+16)\16 + 1964 @ 4-DIGIT REQUESTED YEAR @^@@@@EM )@@G@@ LET T=(X:J3*32)/1000 @#@@@@ LET D(6)=T\60 @^@@@@ LET D(5)=(T/60)\6EN )@@G@@0 @^@@@@ LET D(4)=(T/3600)\60 @]@@@@ RETURN _@@@@@@@@@@@@@@@@@EO )@@G@@*[S@@@*SDFF*@#@@@@ DIMENSION A(20) %#@@@@-1 NEWS @^@@[@ @ LOAEP )@@G@@D TODAY'S DATE @#@@@@ LET T:T2=DATE:T1 @#@@@@ LET T:T3=DATE:T2 @#@@@@EQ )@@G@@ LET T:T1=DATE:T3 %#@@@@-4 NEWS @F@@[@ LET T:T1=(T:S1-'0')*10+ER )@@G@@T:S2-'0' @ TURN YEAR TO BINARY (YEAR 2000)@C@@[@ IF T:T1<64 LET T:T1=T:TES )@@G@@1+100 @ (YEAR 2000) @]@@@@ ERROR DONE %#@@@@-6,6 NEWS @^@@[@ET )@@G@@ @ INITIALIZE VARIABLES @A@@[@ LET EFF=0 @ ASSUME EFF DATE OF 0 @C@@[@EU )@@G@@ LET EXP:T1=999 @ ASSUME EXP DATE OF FOREVER @D@@[@ LET INAST=1 @ MAKEV )@@G@@E IT LIKE WE ALREADY SET EFF AND EXP@B@@[@ LET F=1 @ ASSUME WE'LL PRINT EW )@@G@@ANY DATA @[@@[@ @ %@@@@[@A[@@@ OPEN SDFI NEWS=DBE$SYSLIB.NEWS/DATAEX )@@G@@@#@@@@LOOP: GET NEWS @^@@@@ IF NWORDS = 0 THEN @^@@@@ IF F=1 WRITEY )@@G@@E = R,* %]@@@@-11,26 . @B@@[@ ELSE IF A(1):S1<>'*' THEN @ DATA LIEZ )@@G@@NE @C@@[@ IF INAST THEN @ JUST FINISHED ASTERISK LINE @F@@[@ IF T>FA )@@G@@=EFF AND T<=EXP THEN @ WE'RE BETWEEN THE EFF AND EXP DATES @]@@[@ LET FFB )@@G@@=1 @C@@[@ ELSE @ WE'RE OUTSIDE THE EFF AND EXP DATES @]@@[@ LET FFC )@@G@@=0 @]@@[@ END IF @A@@[@ LET EFF=0 @ RESET EFF AND EXP DATES@#@@[@FD )@@G@@ LET EXP:T1=999 @]@@[@ LET INAST=0@]@@[@ END IF @^@@[@ IF F=1 WRITFE )@@G@@E MSG @^@@[@MSG: FORMAT F6,*@[@@[@ ELSE @^@@[@ IF A(1)='*EFF )@@G@@XPIR' THEN @B@@[@ LET INAST=1 @ WE'RE IN ASTERISK MODE @^@@[@ LET EFG )@@G@@XP:T1=A(3):T1 @^@@[@ LET EXP:T2=A(2):T2 @^@@[@ LET EXP:T3=A(2):TFH )@@G@@3 @G@@[@ LET EXP:T1=(EXP:S1-'0')*10+EXP:S2-'0' @ TURN YEAR TO BINARYFI )@@G@@ (YEAR 2000)@D@@[@ IF EXP:NT1<64 LET EXP:T1=EXP:T1+100 @ (YEAR 2000) FJ )@@G@@@F@@[@ IF EXP:NT2>'12' LET EXP:T1=999 @ ASSUME NEVER EXPIRE (YEAR 2000) FK )@@G@@@ @@[@ ELSE IF A(1)='*EFFEC' THEN @B@@[@ LET INAST=1 @ WE'RE IN ASTERIFL )@@G@@SK MODE @^@@[@ LET EFF:T1=A(3):T1 @^@@[@ LET EFF:T2=A(2):T2 FM )@@G@@@^@@[@ LET EFF:T3=A(2):T3 @G@@[@ LET EFF:T1=(EFF:S1-'0')*10+EFF:S2-'FN )@@G@@0' @ TURN YEAR TO BINARY (YEAR 2000)@D@@[@ IF EFF:NT1<64 LET EFF:T1=EFF:FO )@@G@@T1+100 @ (YEAR 2000) @G@@[@ IF EFF:NT2>'12' LET EFF:T1=999 @ ASSUME NFP )@@G@@EVER EFFECTIVE (YEAR 2000) %@@@@K@ [@@@ ELSE IF A(1)='*SKIP ' THEN FQ )@@G@@@^@@@@ IF MODE=0 AND F=1 THEN @B@@@@ IF NWORDS >= 2 WRITE SKIP @A@@@@SKIP: FORMAT *,F6,*,* @#@@@@ LET A(1)='******'FS )@@G@@@B@@@@ WHILE A(1):S1<>'Y' AND A(1):S1<>'N' DO @D@@@@ TREAD ' MORE IFT )@@G@@NFORMATION WANTED (YES/NO)?: ', @ @@@@ IF NWORDS=0 LET A(1)='N 'FU )@@G@@@]@@@@ END WHILE @^@@@@ IF A(1):S1='Y' THEN @]@@@@ LET F=1 @[@@@@FV )@@G@@ ELSE @]@@@@ LET F=0 @]@@@@ END IF @]@@@@ END IF @[@@@@ ELSE FW )@@G@@@#@@@@ WRITE BADCMD A(1)@D@@@@BADCMD: FORMAT '***INVALID NEWS COMMAND: "FX )@@G@@',F6,'"',* @]@@@@ END IF @]@@@@ END IF @]@@@@ GOTO LOOP @]@@@@FY )@@G@@DONE: ERROR @ @@@@ IF MODE<>0 WRITE = *(-1) @#@@@@ IF ECODE=86 THEN FZ )@@G@@@C@@@@ WRITE = *,'*** NO NEWS IS GOOD NEWS ***',*,* @[@@@@ STOP @]@@@@GA )@@G@@ END IF @#@@@@ IF ECODE=113 THEN@]@@@@ ERROR DONE @]@@@@ GOTO LOOP GB )@@G@@@]@@@@ END IF @#@@@@ IF ECODE=35 THEN @]@@@@ CLOSE NEWS @[@@@@ STOP GC )@@G@@@]@@@@ END IF @[@@@@ ERRPR_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GE )@@G@@*[S@@@*SDFF*@#@@@@ DIMENSION A(8) @]@@@@ ERROR ERROR@^@@@@ PARAMETER AGF )@@G@@:'@@@@@@' @#@@@@ IF OPTS:T=1 THEN @^@@@@ OPEN DISC,T TOCSIZ= @[@@@@GG )@@G@@ ELSE @ @@@@ IF A(1)=0 LET ='TPF$.' @^@@@@ OPEN DISC TOCSIZ= GH )@@G@@@]@@@@ END IF @B@@@@RECOVR: GET TOCSIZ(BLOCK=0,NWORDS=28) @^@@@@GI )@@G@@FACWRN: CLOSE TOCSIZ @D@@@@ IF IOBUF[0]<>'**PF**' AND IOBUF[0]<>'*LPFGJ )@@G@@'A THEN @]@@@@ RETURN -1 @[@@@@ ELSE @^@@@@ RETURN IOBUF[4]:H1 GK )@@G@@@]@@@@ END IF @A@@@@ERROR: IF ECODE=113 GOTO RECOVR @]@@@@ ERRPRGL )@@G@@,N @#@@@@ ERROR RETURN @#@@@@ CLOSE TOCSIZ @]@@@@RETURN: STOPGM )@@G@@_@@@@@@@' @#@@@@ IF OPTS:T=1 THEN @^@@@@ OPEN DISC,T TOCSIZ= @[@@@@GN )@@G@@ ELSE @ @@@@ IF A(1)=0 L*[S@@@*SDFF*@#@@@@ DIMENSION F(8) @]@@@@ ERRORGO )@@G@@ ERROR@^@@@@ PARAMETER F:'@@@@@@' @#@@@@ IF OPTS:T=1 THEN @^@@@@ OPEN GP )@@G@@DISC,T GETTOC= @[@@@@ ELSE @ @@@@ IF F(1)=0 LET ='TPF$. ' @^@@@@GQ )@@G@@ OPEN DISC GETTOC= @]@@@@ END IF @B@@@@RECOVR: GET GETTOC(BLOCKGR )@@G@@=0,NWORDS=28) @D@@@@ IF IOBUF[0]<>'**PF**' AND IOBUF[0]<>'*LPF'A THEGS )@@G@@N @#@@@@ WRITE NOTPF @F@@@@NOTPF: FORMAT R,' FILE ',<8>GT )@@G@@WF,' IS NOT A PROGRAM FILE',* @]@@@@ RETURN @]@@@@ END IF @ @@@@GU )@@G@@ DIMENSION A(IOBUF[4]:H1) @A@@@@ GET GETTOC(BLOCK=IOBUF[3]:H2) GV )@@G@@@#@@@@ CLOSE GETTOC @]@@@@ RETURN @A@@@@ERROR: IF ECODE=113 GOTOGW )@@G@@ RECOVR @]@@@@ ERRPR,N @#@@@@ ERROR RETURN @#@@@@ CLOSE GETTOGX )@@G@@C @]@@@@RETURN: STOP_@@@@@ RETURN @A@@@@ERROR: IF ECODE=113 GOTOGY )@@G@@ RECOVR @]@@@@ ERRPR,N @#@@@@ ERROR RETURN @#@@@@ CLOSE GETTOGZ )@@G@@D9HC(KE)[DD^@@[SA76R+^%S@@@WOC@@[@[+@@@@@@@@@@#)@@@@@@@@@@@@@@@@@@@@@@@@HA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WR*@@@@@@@@@@@@@@@@@@HS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ID )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@II )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JD )@@G@@FFSET=OFFSET+1 @#@@@@ LET T=SDT[OFFSET]@B@@@@ WRITE SSSH OFFSET,T,T:SJE )@@G@@1,T:S2,T:S3,T:H2 @A@@@@ WRITE = ' DEC PT, CMPSIZ, SCALE,',*@A@@@@ WRITEJF )@@G@@ = C56,'ITEM FEATURE FLAG' @]@@@@ WRITE BARS @^@@@@ LET OFFSET=OFFSETJG )@@G@@+1 @]@@@@ GO TO LOOP @]@@@@ END IF @]@@@@ END IF @#@@@@ UNTILJH )@@C@@ I=SDT[2]:S3_@@@@@ WRITE = C56,'ITEM FEATURE FLA JI @EOF @COPY,IO TEMP.1060-007-007,1060-007-007. @FREE TEMP.