crodo_mud/cnf/
crodo_mud/lib/
crodo_mud/lib/house/
crodo_mud/lib/misc/
crodo_mud/lib/plralias/F-J/
crodo_mud/lib/plralias/U-Z/
crodo_mud/lib/plrobjs/
crodo_mud/lib/plrvars/A-E/
crodo_mud/lib/plrvars/F-J/
crodo_mud/lib/plrvars/K-O/
crodo_mud/lib/plrvars/P-T/
crodo_mud/lib/plrvars/U-Z/
crodo_mud/lib/text/
crodo_mud/lib/text/help/
crodo_mud/lib/world/
crodo_mud/src/
%!PS-Adobe-2.0
%%Creator: dvipsk 5.58a Copyright 1986, 1994 Radical Eye Software
%%Title: hacker.dvi
%%Pages: 5
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSCommandLine: dvips hacker.dvi
%DVIPSParameters: dpi=300, compressed, comments removed
%DVIPSSource:  TeX output 1996.10.03:2108
%%BeginProcSet: texc.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
.1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{]
}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
a}B /bos{/SS save N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 300 300 (hacker.dvi)
@start /Fa 2 63 df<EC0380EC0F00143C14F0EB03C0010FC7FC133C13F0EA03C0000F
C8FC123C12F0A2123C120FEA03C0EA00F0133C130FEB03C0EB00F0143C140FEC03801918
7D9520>60 D<12E01278121EEA0780EA01E0EA0078131EEB0780EB01E0EB0078141EEC07
80A2EC1E001478EB01E0EB0780011EC7FC1378EA01E0EA0780001EC8FC127812E019187D
9520>62 D E /Fb 34 121 df<EB3FC03801F0303803C0380007137CEA0F80A2143891C7
FCA4B512FCA2380F807CAE397FE1FF80A2191D809C1B>12 D<127012F812FCA3127C1204
A21208A3121012201240060E7D850D>44 D<127812FCA4127806067D850D>46
D<EA07F8EA1FFEEA3C1FEB0F80387C07C0127E127C123838000F80A2EB1E005BEA03F8EA
001EEB0F80EB07C0A214E01230127812FCA214C038780F80EB1F00EA1FFEEA07F8131B7E
9A18>51 D<38380180383FFF005B5B5B13C00030C7FCA4EA31F8EA361E38380F80EA3007
000013C014E0A3127812F8A214C012F038600F8038381F00EA1FFEEA07F0131B7E9A18>
53 D<137EEA03FF38078180380F03C0EA1E07123C387C03800078C7FCA212F813F8EAFB
0E38FA0780EAFC0314C000F813E0A41278A214C0123CEB0780381E0F00EA07FEEA03F813
1B7E9A18>I<1260387FFFE0A214C01480A238E00300EAC0065B5BC65AA25B13E0A21201
5B1203A41207A66C5A131C7D9B18>I<127812FCA412781200A6127812FCA4127806127D
910D>58 D<B512F814FF390FC01F80EC0FC0140715E0A515C0EC0F80EC3F00EBFFFE9038
C00F80EC07C0EC03E0A215F0A5EC07E0A2EC1FC0B6120014FC1C1C7E9B22>66
D<B512F814FF390FC01FC0EC07E0EC01F015F8140015FC157CA2157EA8157CA315F8A2EC
01F0EC07E0EC1FC0B6120014F81F1C7E9B25>68 D<B512F814FE390FC03F80140FEC07C0
15E0A515C0A2EC0F80EC3F00EBFFFC01C0C7FCABEAFFFCA21B1C7E9B21>80
D<3807F820381FFEE0EA3C07EA7801EA700012F01460A26C130012FEEAFFE0EA7FFE6C7E
1480000F13C06C13E0EA007FEB03F01301130012C0A214E07E38F001C0EAFC0338EFFF00
EA83FC141C7D9B1B>83 D<007FB512E0A238781F81007013800060146000E0147000C014
30A400001400B03807FFFEA21C1C7E9B21>I<39FFFC03FFA2390FC00030B3120715606C
6C13E03901F001C03900FC078090387FFE00EB0FF8201C7E9B25>I<EA0FF8EA1C1E383E
0F80130714C0121C1200137FEA07E7EA1F07123C127C12F8A3EA780B383E13F8EA0FE115
127F9117>97 D<B4FCA2121FA9EB3F80EBE1E0EB8070EB0078143CA2143EA6143CA21478
EB8070381EC1E0381C3F00171D7F9C1B>I<EA03FCEA0E0EEA1C1F123C1278130E00F8C7
FCA61278EB0180123C381C0300EA0E0EEA03F811127E9115>I<EA03FCEA0F07381C0380
383C01C0127814E012F8A2B5FC00F8C7FCA3127814607E6C13C0380F03803801FC001312
7F9116>101 D<137F3801E3803803C7C0EA0787120FEB8380EB8000A5EAFFF8A2EA0F80
AEEA7FF0A2121D809C0F>I<3803F0F0380E1F38EA3C0F3838073000781380A400381300
EA3C0FEA1E1CEA33F00030C7FCA3EA3FFF14C06C13E014F0387801F838F00078A3007013
70007813F0381E03C03807FF00151B7F9118>I<121E123FA4121EC7FCA6127FA2121FAE
EAFFC0A20A1E7F9D0E>105 D<137813FCA413781300A6EA03FCA2EA007CB2127012F813
7813F0EA70E0EA1F800E26839D0F>I<B4FCA2121FA9EB03FCA2EB01C0EB0300130E5B5B
137813FC13BE131F7F1480EB07C0EB03E0130138FFE7FEA2171D7F9C19>I<B4FCA2121F
B3A7EAFFE0A20B1D7F9C0E>I<39FF0FC07E903831E18F3A1F40F20780D980FC13C0A2EB
00F8AB3AFFE7FF3FF8A225127F9128>I<38FF0FC0EB31E0381F40F0EB80F8A21300AB38
FFE7FFA218127F911B>I<EA01FC380F0780381C01C0003C13E0387800F0A200F813F8A6
007813F0A2383C01E0381E03C0380F07803801FC0015127F9118>I<38FF3F80EBE1E038
1F80F0EB0078147C143C143EA6143C147C1478EB80F0EBC1E0EB3F0090C7FCA6EAFFE0A2
171A7F911B>I<EAFE3E1347381E8F80A3381F070090C7FCAAEAFFE0A211127F9114>114
D<EA1FD8EA3078EA601812E0A2EAF000EAFF80EA7FE013F0EA1FF8EA07FCEA007CEAC01C
A212E01318EAF830EACFC00E127E9113>I<1203A45AA25AA2EA3FFC12FFEA1F00A9130C
A4EA0F08EA0798EA03F00E1A7F9913>I<38FF07F8A2EA1F00AC1301120F380786FFEA01
F818127F911B>I<38FFC1FCA2381F00601380000F13C0A23807C180A23803E300A213F7
EA01F613FE6C5AA21378A2133016127F9119>I<38FFC7FCA2381F81C0380F83803807C7
00EA03EEEA01FC5B1200137C13FEEA01DF38039F80EA070F380607C0380C03E038FF07FC
A216127F9119>120 D E /Fc 1 16 df<EA03C0EA0FF0EA1FF8EA3FFCEA7FFEA2B5FCA4
EA7FFEA2EA3FFCEA1FF8EA0FF0EA03C010107E9115>15 D E /Fd
47 122 df<49B4FC011F13C090387F00E001FC7F3901F001F800031303EA07E0A26E5A6E
5A92C7FCA5B612F8A23807E001B3A53A7FFE1FFF80A2212A7FA925>12
D<123C127E12FFA6127EA8123CA81218A41200A6123C127E12FFA4127E123C082A7AA914
>33 D<383C01E0387E03F038FF07F8A2EB87FCA2EA7F83383D81EC3801800CA338030018
A300061330000E1370000C13604813C0383001800020130016147EA922>I<123C127EB4
FCA21380A2127F123D1201A3EA0300A31206120E120C5A5A122009147BA912>39
D<130C131C137CEA07FC12FF12F81200B3ADB512FCA216277BA621>49
D<EBFF80000713F0380E03F8381800FE48137F127C00FEEB3F807E15C0141FA2127E003C
133FC7FC1580A2EC7F00147E14FE5CEB01F0495A495A5C49C7FC131C5B4913C05B485A39
03800180EA070000061303000FB5FC5A5A481400B6FCA21A277DA621>I<EBFF80000713
F0380F01FC381C007E003E137F127FEC3F80A37E003E137FC71300A214FE5C495AEB07E0
EBFF80A2EB01F0EB00FC147E147FEC3F80A215C0A2123C127EB4FCA21580A248EB7F0012
7C003813FE381F01F83807FFF0C613801A277DA621>I<141C143CA2147C14FC1301A213
031307130E130C131813381370136013C01201EA038013001206120E5A12185A12705AB6
12F0A2C7EAFC00A990383FFFF0A21C277EA621>I<00181306381F803EEBFFFC5C5C5C14
8049C7FC0018C8FCA7EB7F803819FFF0381B80F8381E007E00187FC7FCEC1F80A215C0A3
127C12FEA315805A0078133F006014006C133E001C5B380F01F83807FFE0C690C7FC1A27
7DA621>I<EB07F0EB3FFCEBFC0E3801E0073907C01F80EB803F120FEA1F005AEC1F0091
C7FC127EA312FEEB1FE0EB7FF8EB407C497E00FF133F9038001F80A25A15C0A4127EA312
3E1580123F6C14006C133E6C6C5A3803E0F86CB45A38003F801A277DA621>I<1230123C
003FB512E0A215C0481480A215003870000600605B5C5A5C5CC75A495AA249C7FC5BA213
0E131EA2133EA25BA313FCA41201A76C5A13701B297CA821>I<123C127E12FFA4127E12
3C1200AB123C127E12FFA4127E123C081B7B9A12>58 D<B612F8EDFF803A03F8001FC0ED
07F0ED03F816FC150116FEA616FC150316F8ED07F0ED1FE0EDFF8090B5EAFE00EDFFC090
39F8000FF0ED03F816FC1501ED00FEA216FFA616FE150116FC1503ED07F8ED1FE0B712C0
EDFE0028297EA82F>66 D<91387FE002903907FFF80690391FE01E0E90397F00039E01FC
EB01FE4848EB007ED807F0143E5B4848141E001F150E485AA21606127F90C8FC16005AA9
7EA26D1406123FA36C6C140C120F6C6C14186D1438D801F814306C6C14E0017FEB03C090
391FE00F00903807FFFC9038007FE027297CA830>I<B612F815FF3A03F8003FE0ED07F0
ED01F86F7E167E821780161F17C0A2EE0FE0A417F0AA17E0A3EE1FC0A3EE3F8017005E16
FE4B5AED07F0ED1FE0B7128003F8C7FC2C297EA833>I<B71280A23903F8003F150FED03
C0A215011500A41660EC0180A21600A21403A2140F90B5FCA2EBF80F1403A21401A491C8
FCABB512F8A223297EA829>70 D<B539E00FFFFEA2D803F8C7EA3F80B190B7FCA201F8C7
123FB2B539E00FFFFEA22F297EA834>72 D<B512E0A23803F800B3B3B512E0A213297EA8
18>I<B512F8A2D803F8C8FCB3A516C0A4ED0180A31503A21507150F151FED3F0015FFB7
FCA222297EA828>76 D<D8FFF8ED1FFF6D5D000317C0017E156FA36D15CFA26D6CEB018F
A26D6CEB030FA36D6C1306A26D6C130CA26D6C1318A26D6C1330A3027E1360A26E13C0A2
91381F8180A291380FC300A3EC07E6A2EC03FCA26E5AA36E5AD8FFFC0203B5FC15603829
7DA83F>I<B612F015FE3A03F8007F80ED1FE0ED07F0A2ED03F8A216FCA616F8A2ED07F0
A2ED1FE0ED7F8090B5EAFE0015F001F8C8FCB1B512E0A226297EA82D>80
D<9038FF80200003EBF060390F8078E0381E001D4813071403481301A200F81300A21560
7EA26C1400EA7F8013F013FF6C13F06C13FC6C7F6C7F00011480D8003F13C0010113E0EB
001FEC0FF01407140312C01401A37E15E07E6CEB03C07EB4EB078039E3E01F0038C1FFFC
38801FF01C297CA825>83 D<007FB7FCA29039007F007F007C151F00701507A200608100
E01680A2481501A5C791C7FCB3A790B67EA229297EA82E>I<B500E0EBFFFCA2D803F8C7
EA0300B3AB000115067F0000150E160C017E5C6D5C6D6C13E0903907F007C00101B5C7FC
9038001FF82E297EA833>I<00021310000613304813604813C0EA380100301380386003
00A3EAC006A300DE13F038FF07F8EB87FCA2EA7F83A2383F01F8381E00F0161477A922>
92 D<3803FF80000F13E0381F01F8383F80FC147EA280EA1F00C7FCA4EB3FFF3801FE3F
EA0FE0EA1F80EA3F005A12FE150CA3145F007F139F393F831FF8391FFE0FF03903F807C0
1E1B7E9A21>97 D<EAFFC0A2120FADEBC1FE9038C7FF809038DE07E09038F003F09038E0
01F89038C000FCA2157EA2157FA8157EA315FCA29038E001F89038B003F090381C0FE039
0E07FF80390C01FC00202A7EA925>I<EB3FF03801FFFC3807E03E380FC07FEA1F80EA3F
00A2007E133E1400A212FEA7127EA2127F6C13031380001F1306380FC00C3807F0383801
FFF038003FC0181B7E9A1D>I<EC3FF0A21403ADEB3F833801FFF33807F03B380FC00F38
1F8007383F0003A2127EA312FEA8127EA27E1407EA1F80380FC01F3807E07B3901FFE3FF
38007F83202A7EA925>I<EB7F803801FFF03807E0F8380F807C48487E48133F80127E15
8012FEA2B6FCA248C8FCA4127EA2127F6CEB0180A2391F800300380FC0063803F01C3801
FFF838003FC0191B7E9A1E>I<EB07F0EB3FF8EBFC7C3801F8FEEA03F013E01207147C14
00A7B51280A23807E000B3A5EA7FFFA2172A7FA914>I<9038FF01E00003EBC7F8390F81
FC78381F00F8003EEB7C701500007E137EA6003E137CA26C5B380F81F0380BFFC0001890
C7FC0010C8FC1238A2123C381FFFF014FE6CEBFF806C14C0001F14E0383C000F007CEB03
F0127800F81301A4007CEB03E0A2003FEB0FC0390FC03F003807FFFE38007FE01D287E9A
21>I<EAFFC0A2120FAD14FE9038C3FF809038C60FC09038C807E0EBD00301F013F013E0
A213C0B139FFFC3FFFA2202A7EA925>I<120FEA1F8013C0123FA2121F1380EA0F00C7FC
A8EAFFC0A2120FB3A5EAFFF8A20D2B7EAA13>I<EAFFC0A2120FADEC1FF8A2EC07801500
140E14185C5CEBC1C0EBC38013C7EBCFC013DFEBF7E0EBE3F013C3EBC1F8EBC0FC147C14
7E80EC1F80A2EC0FC015E039FFFC3FFCA21E2A7EA923>107 D<EAFFC0A2120FB3B3A2EA
FFFCA20E2A7EA913>I<26FFC0FEEB3F80903AC3FF80FFE03B0FC60FC183F0903AC807E2
01F89039D003E40001F001FC7F01E05BA201C05BB13CFFFC3FFF0FFFC0A2321B7E9A37>
I<38FFC0FE9038C3FF80390FC60FC09038C807E0EBD00301F013F013E0A213C0B139FFFC
3FFFA2201B7E9A25>I<EB3FC03801FFF83807E07E380F801F001F1480393F000FC0A200
7EEB07E0A300FE14F0A8007E14E0A26CEB0FC0A2391F801F80390FC03F003807E07E3801
FFF838003FC01C1B7E9A21>I<38FFC1FE9038C7FF80390FDE0FE09038F003F09038E001
F801C013FC140015FEA2157FA8157E15FEA215FC140101E013F89038F007F09038DC0FE0
9038C7FF809038C1FC0001C0C7FCAAEAFFFCA220277E9A25>I<38FF83E0EB8FF8380F8C
7CEB98FE13B013A0A2EBE07CEBC000B1EAFFFEA2171B7E9A1B>114
D<3803FC60381FFFE0EA3C03EA7801EA700000F01360A300FC1300B47EEA7FFC13FF6C13
C0000F13E0000313F0EA003FEB03F8EAC00014787EA27E14706C13E0EAFE0338E7FF8038
81FE00151B7E9A1A>I<1360A413E0A21201A212031207121FB512E0A23807E000AE1430
A73803F0603801F8C03800FF80EB3F0014267FA51A>I<39FFC03FF0A2000F1303B21407
A2140F0007131B3803E0333901FFE3FF38007F83201B7E9A25>I<3BFFF8FFF81FF8A23B
0FC00FC00180A22607E007EB030015E0A2D803F01406EC0FF0D9F80D130E0001ECF80C14
18D800FC5C15FC9039FE307C38017EEB7E30147090393F603E60153F9138C01FE0011F5C
A26D486C5AA2EC00076D91C7FCA22D1B7F9A30>119 D<39FFF80FFEA2390FE001C0D807
F013800003EB03003801F806EBFC0E6C6C5AEB7E38EB3F30EB1FE05C6D7E130780497EEB
0DFCEB18FEEB387E497E01E013803901C01FC0EB800F39030007E048EB03F039FFE01FFF
A2201B7F9A23>I<39FFF801FFA2390FC000707F000714606D13E0000314C07F0001EB01
80A23900FC0300A26D5AEB7E06EB7F0EEB3F0C148CEB1F98A2EB0FF0A36D5AA26D5AA26D
5AA249C7FCA25BEA3006EAFC0E130C5B1338EA7870EA3FE0EA1F8020277F9A23>I
E /Fe 28 122 df<903803F02090381E0C6090383002E09038E003C03801C001EA038048
C7FC000E1480121E121C123C15005AA35AA41404A35C12705C6C5B00185B6C485AD80706
C7FCEA01F81B1E7A9C1E>67 D<48B5FC39003C03C090383800E0A21570A24913781538A2
15785BA4484813F0A315E03803800115C0140315803907000700140E5C5C000E13E0B512
801D1C7E9B1F>I<48B512F038003C00013813301520A35BA214081500495AA21430EBFF
F03801C020A439038040801400A2EC0100EA07005C14021406000E133CB512FC1C1C7E9B
1C>I<48B512F038003C00013813301520A35BA214081500495AA21430EBFFF03801C020
A448485A91C7FCA348C8FCA45AEAFFF01C1C7E9B1B>I<3A01FFC3FF803A003C00780001
381370A4495BA449485AA390B5FC3901C00380A4484848C7FCA43807000EA448131E39FF
E1FFC0211C7E9B1F>72 D<3801FFC038003C001338A45BA45BA4485AA438038002A31404
EA0700140C14181438000E13F0B5FC171C7E9B1A>76 D<D801FEEB01FED8003E14E0012E
EB03C01505A21509014EEB0B801513152313470187EB4700A21587EC0107D80107130E14
021404A20002495AEB0388149014A000045C14C0A2000C1380001CEB007839FF8307FF27
1C7E9B25>I<3801FFFE39003C038090383801C0EC00E0A3EB7001A315C0EBE0031580EC
0700141C3801FFF001C0C7FCA3485AA448C8FCA45AEAFFE01B1C7E9B1C>80
D<EB0F84EB304CEB403CEB8018EA01005AA200061310A214001207A2EA03E013FC6CB4FC
38007F80EB07C01301A21300A21220A238600180A2EB03001302EAF004EACC18EA83E016
1E7D9C17>83 D<001FB512C0381C070138300E0000201480126012405B1280A200001400
5BA45BA45BA4485AA41203EA7FFE1A1C799B1E>I<397FF03FE0390F000700000E130614
04A3485BA4485BA4485BA4485BA35CA249C7FCEA60025B6C5AEA1830EA07C01B1D789B1F
>I<EA01E3EA0717EA0C0F1218EA380E12301270A2EAE01CA41339A3EA6079EA319AEA1E
0C10127C9115>97 D<13F8EA0304120EEA1C0EEA181CEA30001270A25AA51304EA600813
10EA3060EA0F800F127C9113>99 D<13F8EA0704120CEA1802EA38041230EA7008EA7FF0
EAE000A5EA60041308EA30101360EA0F800F127C9113>101 D<EB03C0EB0670130CEB1C
601400A25BA53803FF8038007000A55BA5485AA5485AA390C7FCA25A12C612E65A127814
25819C0D>I<EB78C0EA01C5EA03031206000E1380120C121CA238380700A4130EA3EA18
1EEA0C7CEA079CEA001CA25BA2EAC030EAE070EAC1C0007FC7FC121A7E9113>I<EA0FC0
1201A2485AA448C7FCA4EA0E3E13C3380F0380120E121E121CA338380700A3130E007013
40A2131C1480EAE00C38600700121D7E9C15>I<EA01801203EA0100C7FCA7121C122612
47A2128EA2120E5AA35AA21271A31272A2123C091C7C9B0D>I<EA1F801203A2EA0700A4
120EA45AA45AA45AA412E2A312E412641238091D7D9C0B>108 D<391C1E078039266318
C0394683A0E0384703C0008E1380A2120EA2391C0701C0A3EC0380D8380E1388A2EC0708
151039701C032039300C01C01D127C9122>I<EA383EEA4CC3384D0380124E129E129C12
1CA238380700A3130E00701340A2131C1480EAE00C3860070012127C9117>I<13F8EA03
0CEA0E06487E1218123000701380A238E00700A3130EA25BEA60185BEA30E0EA0F801112
7C9115>I<EA1C3CEA2642EA4687EA4707EA8E061300120EA25AA45AA45A123010127C91
12>114 D<EA01F0EA0608120C131CEA1818EA1C00121F13C0EA0FF01207EA00781338EA
603012E012C0EA8060EA60C0EA1F000E127D9111>I<12035AA3120EA4EAFFE0EA1C00A3
5AA45AA4EAE080A2EAE100A2126612380B1A7C990E>I<381C0180EA2E03124EA2388E07
00A2121CA2EA380EA438301C80A3EA383C38184D00EA0F8611127C9116>I<EA1C06EA2E
0EEA4E06A2EA8E02A2121CA2EA3804A313081230A21310EA3820EA1840EA0F800F127C91
13>I<381C0180EA2E03124EA2388E0700A2121CA2EA380EA4EA301CA3EA383CEA1878EA
0FB8EA003813301370EAE0605BEA81800043C7FC123C111A7C9114>121
D E /Ff 46 125 df<13C01201A3EA07F0EA1FFC487EEA7DCF3871C780EAE1C313C7A238
F1C300EA79C0123FEA1FF0EA07FCEA01FE13CF13C73861C38012F1A212E13871C700EA79
DFEA3FFEEA1FF8EA07E0EA01C0A2120011207E9C16>36 D<13E01201EA0380EA0700120E
5AA25AA25AA35AA91270A37EA27EA27E7EEA0380EA01E012000B217A9C16>40
D<12C07E12707E7E7EA27EA2EA0380A3EA01C0A9EA0380A3EA0700A2120EA25A5A5A5A5A
0A217B9C16>I<EA0380A4EAE38EEAF39EEAFFFEEA3FF8EA0FE0A2EA3FF8EAFFFEEAF39E
EAE38EEA0380A40F127D9516>I<1238127C127EA2123E120E121E121C127812F0126007
0B798416>44 D<B51280A311037E8D16>I<127012F8A312700505788416>I<EB01801303
A2EB0700A2130EA25BA25BA25BA25BA2485AA2485AA248C7FCA2120EA25AA25AA25AA25A
A25A11207E9C16>I<127012F8A312701200A8127012F8A312700512789116>58
D<EB01801307131FEB3E0013F8485AEA07C0485A003EC7FC12FC12F012FC123EEA0F806C
7EEA01F06C7E133EEB1F801307130111157E9616>60 D<387FFFC0B512E0A2C8FCA5B512
E0A26C13C0130B7F9116>I<12C012F012FC123EEA0F806C7EEA01F06C7E133EEB1F8013
07131FEB3E0013F8485AEA07C0485A003EC7FC12FC12F012C011157E9616>I<3801F180
EA07FBEA0FFFEA1F0FEA3C07EA38031270A200F0C7FC5AA77E38700380A21238383C0700
EA1F0FEA0FFE6C5AEA01F011197E9816>67 D<EA7FF8EAFFFE6C7EEA1C0FEB0780EB03C0
1301A214E01300A8EB01C0A21303EB0780130F387FFF00485AEA7FF81319809816>I<38
7FFFC0B5FC7EEA1C01A490C7FCA2131CA2EA1FFCA3EA1C1CA290C7FC14E0A5EA7FFFB5FC
7E13197F9816>I<387FFFE0B5FC7EEA1C00A41400A2131CA2EA1FFCA3EA1C1CA290C7FC
A6EA7F80487E6C5A13197F9816>I<EA7FFCEAFFFEEA7FFCEA0380B3EA7FFCEAFFFEEA7F
FC0F197D9816>73 D<B47E7F5B001CC7FCAE144014E0A4B5FCA313197F9816>76
D<38FC07E0EAFE0FA2383A0B80EA3B1BA513BBEA39B3A413F3EA38E3A21303A538FE0FE0
A313197F9816>I<EA1FFC487E487EEA780F38F00780EAE003AEEAF007A238780F00EA7F
FF6C5A6C5A11197E9816>79 D<EA7FF8EAFFFE6C7E381C0F80130314C01301A313031480
130F381FFF005B13F8001CC7FCA7127F487E6CC7FC12197F9816>I<EA7FF0EAFFFC6C7E
EA1C0FEB07801303A41307EB0F00EA1FFE5B7FEA1C0E7FA414101438A2387F03F0EAFF83
387F01E01519809816>82 D<387F07F038FF8FF8387F07F0381C01C0B0380E0380A23807
070013FF6C5AEA00F81519809816>85 D<387E03F038FF07F8387E03F0383800E0A4381C
01C0A3137113F9A213D9A2000C1380A3EA0DDD138DA338078F00A213071519809816>87
D<EA1FE0487E487EEA783CEA300E1200A2EA03FE121FEA3E0E127012E0A3EA783E387FFF
E0EA3FE7EA0F8313127E9116>97 D<12FCA3121CA4137CEA1DFEEA1FFFEB0780381E03C0
EA1C01EB00E0A6EB01C0EA1E03381F0780EBFF00EA1DFEEA0C7813197F9816>I<EA03F8
EA0FFCEA1FFEEA3C1EEA780CEA70005AA57EEA70071278EA3E0EEA1FFCEA0FF8EA03F010
127D9116>I<133FA31307A4EA03C7EA0FF748B4FCEA3C1F487EEA700712E0A6EA700F12
786C5A381FFFE0EA0FF7EA07C713197F9816>I<EA03F0EA0FFC487EEA3C0F487E387003
8012E0B5FCA300E0C7FCA2387003801278EA3E07381FFF00EA07FEEA01F811127E9116>
I<131E137F3801FF8013C7380383001380A2EA7FFFB5FCA2EA0380ACEA7FFC487E6C5A11
197F9816>I<3803E3C03807F7E0EA0FFF381C1CC038380E00A56C5AEA0FF8485AEA1BE0
0038C7FC1218EA1FFC13FF481380387003C038E000E0A4387001C0EA7C07383FFF80380F
FE00EA03F8131C7F9116>I<12FCA3121CA41378EA1DFCEA1FFE130FEA1E07121CAA38FF
8FE0139F138F13197F9816>I<1203EA0780A2EA0300C7FCA4EAFF80A31203ACEAFFFC13
FE13FC0F1A7C9916>I<127E12FE127E120EA4EB7FE0A3EB0F00131E5B5B5B120F7F13BC
131EEA0E0E7F1480387F87F0EAFFCFEA7F871419809816>107 D<EA7FC012FF127F1201
B3EA7FFFB512806C130011197E9816>I<38F9C38038FFEFC0EBFFE0EA3C78A2EA3870AA
38FE7CF8A31512809116>I<EAFC78EAFDFCB47EEA1F0FEA1E07121CAA38FF8FE0139F13
8F13127F9116>I<EA03E0EA0FF8487EEA3C1E487EEA700738E00380A5EAF00700701300
EA780FEA3C1EEA1FFC6C5AEA03E011127E9116>I<EAFC7CEAFDFEB5FC381F0780381E03
C0EA1C01EB00E0A6EB01C0EA1E03381F0780EBFF00EA1DFEEA1C7890C7FCA6B47EA3131B
7F9116>I<387F0FC038FF3FE0EA7F7F3807F040EBC0005BA290C7FCA8EA7FFC12FF127F
13127F9116>114 D<EA0FECEA3FFC127FEAF03CEAE01CA2EA7000EA7F80EA1FF0EA07F8
EA003CEA600E12E012F0EAF81EEAFFFC13F8EAC7E00F127D9116>I<12035AA4EA7FFFB5
FCA20007C7FCA75BEB0380A3EB8700EA03FE6C5A6C5A11177F9616>I<EAFC3FA3EA1C07
AB131F381FFFE0EA0FF7EA07C713127F9116>I<38FF1FE0A338380380A4EA39F3A20019
130013B3A3EA1DB71317EA1F1FEA0F1EEA0E0E13127F9116>119
D<387F1FC0133F131F380F1E006C5AEA03B813F012016C5A12017FEA03B8EA073C131CEA
0E0E387F1FC038FF3FE0387F1FC013127F9116>I<12E0B3AE0320779C16>124
D E /Fg 45 122 df<9038FC1F800001133F0003137F390700E000380E01C0A738FFE1FC
A2380E01C0B0191D809C18>11 D<EB01C0EA01F112033807F00090C7FC120EA738FFF1C0
A2EA0E01B0121E809D16>I<12E0A312601240A312C003087C9C0C>39
D<EA01C0EA0380EA0700120EA25AA25AA35AA45AAE1270A47EA37EA27EA27EEA0380EA01
C00A2A7D9E10>I<12E012707E7EA27EA27EA3EA0380A4EA01C0AEEA0380A4EA0700A312
0EA25AA25A5A5A0A2A7E9E10>I<12E0A312601240A312C003087C820C>44
D<EAFFE0A20B0280890E>I<12E0A303037C820C>I<EA03C0EA0FF0EA1FF8EA3C3CEA381C
EA700EA3EAE007ADEA700EA3EA381CEA3C3CEA1FF8EA0FF0EA07E0101D7E9B15>48
D<EA07C0EA1FF0EA3878EA701CEA601EEAE00EEAC00F124013071200A2130F130E131E13
1C133C137813F0EA01E013C0EA0380EA0700120E5A5A5AB5FCA2101C7E9B15>50
D<131C133EA2132E1367A2EBE78013C713C300017F1383138100037F1301486C7EA21206
000E1378380FFFF8A2381C003CA2121800387FA248131F80126000E0EB0780191D7F9C1C
>65 D<EB3FC03801FFF8EA03C03807801848C7FC121E5AA25AA35AA91278A37EA27E6C13
08380780183803C0783801FFF038003F80151F7D9D1B>67 D<EAFFFC13FF38F00F80EB03
E01301EB00F014781438143CA2141C141EA8143CA3147814F0A2EB03E0EB0FC0B5120013
FC171D7C9C1E>I<B512C0A200F0C7FCABB51280A200F0C7FCACB512C0A2121D7C9C19>I<
B51280A200F0C7FCABB5FCA200F0C7FCAE111D7C9C18>I<12F0B3AB041D7C9C0C>73
D<00FCEB07E0A300EE130DA300E71319A3EB803900E31331EBC071A200E11361A2EBE0E1
A200E013C113F1EB7181A3EB3B01A3131EA313001B1D7C9C24>77
D<EAFFFC13FF38F00F80EB03C0EB01E0EB00F0A6EB01E01303EB0FC0B51280EBFE0000F0
C7FCAD141D7C9C1B>80 D<EAFFF813FF38F00F80EB03C0EB01E0EB00F0A5EB01E01303EB
0FC0B51280140013F8EAF03C131C131E7FA2EB0780A2EB03C0A2EB01E0EB00F0A2147815
1D7C9C1B>82 D<EA03F8EA0FFEEA1C0F487E487E0060C7FC12E0A47E1278127FEA3FE0EA
1FFCEA07FEEA01FF38001F801307EB03C0A21301A400C01380EAE00338F00700EA7C0EEA
1FFCEA07F0121F7E9D17>I<B61280A2D8001EC7FCB3A9191D7F9C1C>I<00F01370B3A500
7813E0A2383C01C0381E0380EA0F073807FE00EA01F8141E7C9C1D>I<EA0FC0EA3FF0EA
7FF8EA7038EA401C1200A213FC120F123FEA781C12E0A3EAF07CEA7FFC13DCEA3F1C0E12
7E9114>97 D<12E0ABEAE3E0EAEFF8EAFFFCEAF83EEAE01E130E1307A6130EEAF01EEAF8
3CEAFFF8EAEFF0EAE3E0101D7D9C15>I<EA03F0EA0FFCEA1FFEEA3C0EEA7802EA70005A
A61270EA7802EA3C0EEA1FFEEA0FFCEA03F00F127F9112>I<1307ABEA07C7EA1FF7EA3F
FFEA3C1FEA7807127012E0A61270EA780FEA3C1FEA3FFFEA1FF7EA07C7101D7F9C15>I<
EA07E0EA0FF0EA3FF8EA3C3CEA700C130EEAFFFEA3EAE000A31270EA7802EA3C0EEA1FFE
EA0FFCEA03F00F127F9112>I<13FC12011203EA0700120EA7EAFFE0A2EA0E00B00E1D80
9C0D>I<3807C3C0EA0FFF5A38383800487EA56C5AEA3FF05BEA77C00070C7FCA2EA3FFC
13FF481380EA700738E001C0A3EAF003387C0F80383FFF006C5AEA07F8121B7F9115>I<
12E0ABEAE3E0EAEFF0EAFFF8EAF83CEAF01C12E0AD0E1D7D9C15>I<12F0A41200A71270
B2041D7E9C0A>I<12E0AB133C137813F0EAE1E0EAE3C0EAE780EAEF00B4FC138012FBEA
F9C0EAF1E012E013F013781338133C131E0F1D7D9C14>107 D<12E0B3AB031D7D9C0A>I<
38E3F03F39EFF8FF80D8FFFD13C039F81F81E038F00F00EAE00EAD1B127D9124>I<EAE3
E0EAEFF0EAFFF8EAF83CEAF01C12E0AD0E127D9115>I<EA03F0EA0FFC487EEA3C0F3878
0780EA700338E001C0A5EAF00300701380EA7807383C0F00EA1FFE6C5AEA03F012127F91
15>I<EAE3E0EAEFF8EAFFFCEAF83EEAE01E130E1307A5130F130EEAF01EEAF87CEAFFF8
EAEFF0EAE3E0EAE000A8101A7D9115>I<EAE38012E712EFEAFC005A5AA25AAB09127D91
0E>114 D<EA1FC0EA3FF0127FEAF030EAE000A27E127FEA3FC0EA1FE0EA01F0EA0038A2
1280EAF078EAFFF0EA7FE0EA1FC00D127F9110>I<121CA6EAFFE0A2EA1C00AC1320EA1F
F0120FEA07C00C187F970F>I<EAE01CAE137CEAFFFCEA7FDCEA3F1C0E127D9115>I<EAE0
07A212F0EA700EA2EA381CA3EA1C38A3EA0E70A2EA0660120713E0EA03C0A210127F9113
>I<39E03E0380A3D870371300EB7707A213733838E38EA33818E18C381CC1CC001D13DC
A2380D80D8000F13F8A20007137019127F911C>I<3870038038780700EA3C0EEA1C1C12
0E6C5AEA03F06C5A5B7F487EEA0738EA0618EA0E1C487E487E3870038000F013C0121280
9113>I<EAE007A2EA700EA21278EA381CA2121C1338120CEA0E3013701206EA07601203
13C01201A21380A2EA0300A25A12FE5A5A101A7F9113>I E /Fh
69 122 df<EB7E1F3901C1B180390303E3C0000713C3000EEBC180903801C000A6B512FC
380E01C0B0387F87FC1A1D809C18>11 D<137E3801C180EA0301380703C0120EEB018090
C7FCA5B512C0EA0E01B0387F87F8151D809C17>I<EB7FC0EA01C1EA03031207EA0E01A7
B5FCEA0E01B0387FCFF8151D809C17>I<90383F07E03901C09C18380380F0D80701133C
000E13E00100131892C7FCA5B612FC390E00E01CB03A7FC7FCFF80211D809C23>I<1260
12F0A71260AD1200A5126012F0A21260041E7C9D0C>33 D<EA6060EAF0F0EAF8F8EA6868
EA0808A3EA1010A2EA2020EA4040EA80800D0C7F9C15>I<000F14C0EA18803930600380
3970380700386027FB38E010065CA25CA25C5CEA602000705B38304180EA1881390F0303
C03900060620EC0C1090380C1C08EB1818EC380413301360A213C0A2EA01803903001808
141C0006EB0C1048EB06200004EB03C01E217E9E23>37 D<126012F012F812681208A312
10A2122012401280050C7C9C0C>39 D<1380EA0100120212065AA25AA25AA35AA412E0AC
1260A47EA37EA27EA27E12027EEA0080092A7C9E10>I<7E12407E12307EA27EA27EA37E
A41380AC1300A41206A35AA25AA25A12205A5A092A7E9E10>I<126012F0A212701210A4
1220A212401280040C7C830C>44 D<EAFFE0A20B0280890E>I<126012F0A2126004047C
830C>I<5A1207123F12C71207B3A5EAFFF80D1C7C9B15>49 D<EA07C0EA1830EA201CEA
400C130EEAF00F12F81307A21270EA000F130EA2131CA213381370136013C0EA0180EA03
00EA0601120C1218EA1002EA3FFE127F12FF101C7E9B15>I<EA07E0EA1830EA201CA2EA
781E130E131E1238EA001CA2131813301360EA07C0EA0030131CA2130E130FA2127012F8
A3EAF00EEA401C1220EA1830EA07C0101D7E9B15>I<130CA2131C133CA2135C13DC139C
EA011C120312021204120C1208121012301220124012C0B512C038001C00A73801FFC012
1C7F9B15>I<EA300CEA3FF813F013C0EA2000A6EA23E0EA2C30EA3018131CEA200E1200
130FA3126012F0A3EA800EEA401E131CEA2038EA1870EA07C0101D7E9B15>I<13F0EA03
0CEA0404EA0C0EEA181E1230130CEA7000A21260EAE3E0EAE430EAE818EAF00C130EEAE0
061307A51260A2EA7006EA300E130CEA1818EA0C30EA03E0101D7E9B15>I<EA03C0EA0C
30EA1818EA300C1270EA600EEAE006A21307A51260EA700F1230EA1817EA0C27EA07C7EA
0006A2130EEA300C127813181270EA2030EA10C0EA0F80101D7E9B15>57
D<126012F0A212601200AA126012F0A2126004127C910C>I<126012F0A212601200AA12
6012F0A212701210A41220A212401280041A7C910C>I<EA0FE0EA3038EA401CEAE00E12
F0A3EA000C131C1330136013C0138012011300A6C7FCA51203EA0780A2EA03000F1D7E9C
14>63 D<1306A3130FA3EB1780A2EB37C01323A2EB43E01341A2EB80F0A338010078A2EB
FFF83802003CA3487FA2000C131F80001E5BB4EBFFF01C1D7F9C1F>65
D<B512C0380F00788080140E140FA4140E141E5C14F8EBFFF0EB003C8080801580A5EC0F
00A2141E1478B512E0191C7F9B1D>I<90381F8080EBE0613801801938070007000E1303
5A14015A00781300A2127000F01400A8007014801278A212386CEB0100A26C13026C5B38
0180083800E030EB1FC0191E7E9C1E>I<B512C0380F00F0143C140E80A2EC038015C014
01A215E0A815C0A21403158014071500140E5C1470B512C01B1C7E9B20>I<B512FC380F
003C140C1404A214061402A213011400A35B13FF13037FA3140113001402A31406A2140C
143CB512FC181C7E9B1C>I<B512F8380F007814181408A2140C1404A213011400A35B13
FF13037FA490C7FCA8EAFFF8161C7E9B1B>I<90381F8080EBE061380180193807000700
0E13035A14015A00781300A2127000F01400A6ECFFF0EC0F80007013071278A212387EA2
7E6C130B380180113800E06090381F80001C1E7E9C21>I<39FFF0FFF0390F000F00AC90
B5FCEB000FAD39FFF0FFF01C1C7F9B1F>I<EAFFF0EA0F00B3A8EAFFF00C1C7F9B0F>I<39
FFF01FE0390F000780EC060014045C5C5C5C5C49C7FC13021306130FEB17801327EB43C0
EB81E013016D7E1478A280143E141E80158015C039FFF03FF01C1C7F9B20>75
D<B46CEBFF80000FECF800A2390BC00178A33809E002A23808F004A3EB7808A3EB3C10A3
EB1E20A3EB0F40A2EB0780A3EB0300121C3AFF8307FF80211C7E9B26>77
D<B4EB1FF0390F8003809038C00100120BEA09E0EA08F0A21378133C133E131E130F1481
1307EB03C1EB01E114F113001479147D143D141FA2808080121CB46C7E1C1C7F9B1F>I<
EB3F80EBE0E03803803848487E000E7F487F003C148000381303007814C0A20070130100
F014E0A8007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0
E0EB3F801B1E7E9C20>I<B51280380F00E01478143C141C141EA5141C143C147814E0EB
FF8090C7FCACEAFFF0171C7E9B1C>I<B5FC380F01E0EB007880141C141EA4141C143C5C
EB01E001FFC7FCEB01E0EB0070147880A61510A2141CA239FFF00E20C7EA03C01C1D7E9B
1F>82 D<3807E080EA1C19EA30051303EA600112E01300A36C13007E127CEA7FC0EA3FF8
EA1FFEEA07FFC61380130FEB07C0130313011280A300C01380A238E00300EAD002EACC0C
EA83F8121E7E9C17>I<007FB512C038700F010060130000401440A200C014201280A300
001400B1497E3803FFFC1B1C7F9B1E>I<39FFF01FF0390F000380EC0100B3A26C130213
8000035BEA01C03800E018EB7060EB0F801C1D7F9B1F>I<3AFFE1FFC0FF3A1F003E003C
001E013C13186C6D1310A32607801F1320A33A03C0278040A33A01E043C080A33A00F081
E100A39038F900F3017913F2A2017E137E013E137CA2013C133C011C1338A20118131801
081310281D7F9B2B>87 D<39FFF003FC390F8001E00007EB00C06D13800003EB01006D5A
000113026C6C5A13F8EB7808EB7C18EB3C10EB3E20131F6D5A14C06D5AABEB7FF81E1C80
9B1F>89 D<EA0808EA1010EA2020EA4040A2EA8080A3EAB0B0EAF8F8EA7878EA30300D0C
7A9C15>92 D<EA1FC0EA3070EA78387F12301200A2EA01FCEA0F1C12381270126000E013
40A3EA603C38304E80381F870012127E9115>97 D<12FC121CAA137CEA1D87381E018038
1C00C014E014601470A6146014E014C0381E018038190700EA10FC141D7F9C17>I<EA03
F8EA0C0CEA181E1230EA700CEA600012E0A61260EA70021230EA1804EA0C18EA03E00F12
7F9112>I<EB1F801303AAEA03F3EA0E0BEA1807EA30031270126012E0A6126012701230
EA1807EA0E1B3803E3F0141D7F9C17>I<EA07E0EA0C30EA1818EA300CEA700EEA600612
E0EAFFFEEAE000A41260EA70021230EA1804EA0C18EA03E00F127F9112>I<13F8EA018C
EA071E1206EA0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C0D>I<EB03803807C4C0EA
1C783838388038301800EA701CA4EA3018EA38386C5AEA27C00020C7FCA21230EA3FF86C
B4FC1480EA2003386001C0EAC000A33860018038300300EA1C0EEA07F8121C7F9215>I<
12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D7F9C17>I<1218123CA212
18C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA00C01300A7EA07E01200
B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121CAAEB0FE0EB0780EB0600
5B13105B5B13E0121DEA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16>
I<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE0
1C001C13C0AD3AFF8FF8FF8021127F9124>I<EAFC7CEA1C87EA1D03001E1380121CAD38
FF9FF014127F9117>I<EA03F0EA0E1CEA1806487E00701380EA600100E013C0A6006013
80EA700300301300EA1806EA0E1CEA03F012127F9115>I<EAFC7CEA1D87381E0180001C
13C0EB00E0A21470A614E0A2EB01C0001E1380381D0700EA1CFC90C7FCA7B47E141A7F91
17>I<3803E080EA0E19EA1805EA3807EA7003A212E0A61270A2EA38071218EA0E1BEA03
E3EA0003A7EB1FF0141A7F9116>I<EAFCE0EA1D38EA1E78A2EA1C301300ACEAFFC00D12
7F9110>I<EA1F90EA2070EA4030EAC010A212E0EAF800EA7F80EA3FE0EA0FF0EA00F8EA
8038131812C0A2EAE010EAD060EA8FC00D127F9110>I<1204A4120CA2121C123CEAFFE0
EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD1307120CEA0E
1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A2EA0F06EA0704A2
EA0388A213C8EA01D0A2EA00E0A3134013127F9116>I<39FF3FC7E0393C0703C0001CEB
01801500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030
000013201B127F911E>I<38FF0FE0381E0700EA1C06EA0E046C5AEA039013B0EA01E012
007F12011338EA021C1204EA0C0E487E003C138038FE1FF014127F9116>I<38FF07E038
3C0380381C0100A2EA0E02A2EA0F06EA0704A2EA0388A213C8EA01D0A2EA00E0A31340A2
5BA212F000F1C7FC12F312661238131A7F9116>I E /Fi 14 118
df<EC0FF0A24A7EA34A7E143EA2EC7E7EA3ECFC7F81A201018014F8151F01038014F015
0F010780A214E0010F6D7EA214C0011F6D7EA21480013F6D7EA349C77EA301FE147FA348
B71280A34816C0A201F8C7121F484815E0160FA2484815F01607A2484815F81603A24848
15FC1601A248C813FE1600A200FE16FF303C7EBB35>65 D<B67E15F015FE8116C026FE00
017F9138003FF0ED0FF86F7E15036F7E6F7E82EE3F80A2EE1FC0A2EE0FE0A2160717F0A3
160317F8ADEE07F0A4EE0FE0A3EE1FC0A2EE3F80167FEEFF005E1501ED07FC4B5AED3FF0
4AB45AB75A93C7FC5D15F815802D3C79BB39>68 D<B812FEA6C7D80FE0C7FCB3B3B22F3C
7DBB36>84 D<12FEB3A6EB01FCEB1FFF017F13C090B512E0B612F0EBF03F9038C00FF890
380003FC5AEC01FE1400A3157FAA15FEA2140115FC6C130390388007F8EBC00F9038F03F
F090B512E04814C06D138090381FFE00EB03F8203C7BBB29>98 D<EB0FF0EB3FFE90B5FC
481480000714C09038F81FE0390FF00FF0381FE007393FC003F8EB8001EA7F0015FC90B5
FCA2B6FCA348C8FCA5127E127FA26C7EA26C7E6D13086C6C13783907FC03F86CB5FC7E6C
14F0013F1380903807FC001E247EA323>101 D<903801FF8013075B5B5BEB7F0001FE13
005B485AA21203AEB512F8A5D803F8C7FCB3AD193C7FBB18>I<90390FE003E090387FFC
3F9039FFFEFFF0000390B5FC5A9039F83FE000380FE00F48486C7EA2EB8003003F80A600
1F5CEBC007A26C6C485A3907F83FC090B5FC485C4AC7FC486C5A381E0FE090C9FC121FA2
7F90B5FC15F06C14FC816C80001F15804815C0EB8000007EC7121FED0FE0481407A5007E
EC0FC0007F141FD83FC0EB7F803A1FF803FF006CB55A6C5C000114F06C6C13C0D90FFEC7
FC24367EA328>I<12FEB3A6EB01FE90380FFF80013F13E04913F090B5FC39FFF81FF8EB
E0079038C003FCEB80011300A35AB3A61E3C7BBB29>I<12FEA71200AD12FEB3B207387B
B712>I<38FE01FE90380FFF80013F13E04913F090B5FC39FFF81FF8EBE0079038C003FC
EB80011300A35AB3A61E247BA329>110 D<EB07FCEB1FFF017F13C048B512F048803907
FC07FC390FF001FE48486C7E497F4848EB3F8090C7121F4815C0A2007E140F00FE15E0A8
007FEC1FC0A36C6CEB3F80A26C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13
C06D5BD907FCC7FC23247EA328>I<00FE13F01307131F133F137F13FFB5120013F85B13
C0A25B90C7FCA25AB3A414247BA31B>114 D<EA03F8AAB512FEA5D803F8C7FCB3A55C6D
5A9038FE0F806CB5FCA26CEBFE00EB7FF8EB3FC0192E7FAD1D>116
D<00FEEB01FCB3A81403A214076C130FEB807F6CB5FC14FD6C13F16C13C13807FC011E24
7BA329>I E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%PaperSize: a4
%%BeginPaperSize: a4
a4
%%EndPaperSize

%%EndSetup
%%Page: 1 1
1 0 bop 0 361 a Fi(Th)n(e)26 b(Art)g(of)g(De)o(bugging)p
0 418 1950 12 v 14 475 a Fh(Mic)o(h)o(ael)13 b(Ch)o(ast)o(ain)0
628 y Fg(Th)o(e)k(following)e(do)q(cu)o(ment)o(a)o(t)o(ion)g(i)q(s)g
(excerpt)o(e)q(d)k(f)q(rom)12 b(M)o(erc)18 b(2.0's)c
Ff(hacker.txt)g Fg(\014le.)24 b(It)16 b(w)o(as)f(wr)q(it)n(t)o(en)j(b)o
(y)e(F)o(urey)g(of)g(MERC)0 684 y(Ind)o(ustr)q(ie)q(s)e(and)g(i)q(s)e
(includ)o(e)q(d)k(h)o(ere)e(wit)n(h)g(hi)q(s)e(p)q(ermi)q(ss)q(ion.)j
(I've)e(package)q(d)h(it)f(wit)n(h)h(Circle)f(\(very)h(slight)n(ly)f
(ch)o(ange)q(d)i(in)e(a)g(couple)0 741 y(of)f(place)q(s,)h(su)o(ch)h
(as)e(sp)q(eci\014c)i(\014lename)q(s\))d(b)q(eca)n(us)q(e)j(it)f
(o\013ers)g(go)q(o)q(d)f(advice)i(and)f(ins)q(ight)g(int)o(o)g(t)n(h)o
(e)g(a)o(rt)g(and)g(science)h(of)e(soft)o(w)o(a)o(re)0
798 y(engineer)q(ing.)28 b(Mo)o(re)16 b(info)o(rma)o(t)o(ion)d(a)o(b)q
(ou)o(t)18 b(CircleMUD,)e(including)i(up-t)o(o-d)o(a)o(t)o(e)g(vers)q
(ions)f(of)f(t)n(hi)q(s)g(do)q(cu)o(ment)o(a)o(t)o(ion)g(in)h(ASCI)q(I)
0 855 y(and)j(P)o(ost)o(scr)q(ipt,)g(can)g(b)q(e)g(fou)o(nd)g(a)o(t)f
(t)n(h)o(e)h Fe(Cir)n(cleMUD)f(Home)h(Page)f Ff(<http://www.circlem)o
(ud.or)o(g/>)d Fg(o)o(r)j Fe(FTP)g(site)0 912 y Ff(<ftp://ftp.circle)o
(mud.o)o(rg/pu)o(b/Cir)o(cleMU)o(D/>)p Fg(.)0 1081 y
Fd(1)66 b(\\I'm)22 b(ru)o(nnin)o(g)e(a)i(Mud)f(so)h(I)g(can)g(le)q(ar)q
(n)f(C)g(programmin)o(g!")0 1200 y Fh(Y)m(ea)o(h,)14
b(r)q(igh)o(t.)0 1278 y(Th)o(e)j(purp)q(os)q(e)h(of)e(t)n(hi)q(s)g(do)q
(cu)o(m)o(en)o(t)g(i)q(s)g(t)o(o)h(record)h(som)o(e)e(of)g(our)g(kno)o
(wle)q(dge,)h(exp)q(er)q(ience)h(an)o(d)e(philoso)o(ph)o(y)m(.)25
b(No)16 b(m)o(a)o(t)n(t)o(er)0 1335 y(wh)o(a)o(t)e(y)o(our)f(lev)o(el,)
g(w)o(e)h(h)o(o)o(p)q(e)g(t)n(h)o(a)o(t)g(t)n(hi)q(s)g(do)q(cu)o(m)o
(en)o(t)f(will)g(h)o(elp)h(y)o(ou)f(b)q(ecom)o(e)g(a)h(b)q(et)n(t)o(er)
h(soft)o(w)o(are)f(en)o(gin)o(eer.)0 1413 y(Rem)o(em)n(b)q(er)h(t)n(h)o
(a)o(t)h(en)o(gin)o(eer)q(in)o(g)i(i)q(s)e(w)o(or)o(k,)h(an)o(d)g
Fe(no)j Fh(do)q(cu)o(m)o(en)o(t)c(will)f(su)n(bst)o(it)o(u)o(t)o(e)k
(for)d(y)o(our)h(o)o(wn)f(t)n(hinkin)o(g,)h(lear)q(nin)o(g)f(an)o(d)0
1470 y(exp)q(er)q(im)o(en)o(t)o(a)o(t)o(ion.)0 1639 y
Fd(2)66 b(Ho)n(w)21 b(t)o(o)h(Le)q(ar)q(n)f(in)g(t)m(h)n(e)h(First)f
(Place)62 1754 y Fc(\017)g Fh(Play)13 b(wit)n(h)h(som)o(et)n(hin)o(g.)
62 1844 y Fc(\017)21 b Fh(Read)14 b(t)n(h)o(e)h(do)q(cu)o(m)o(en)o(t)o
(a)o(t)o(ion)d(on)i(it.)62 1934 y Fc(\017)21 b Fh(Play)13
b(wit)n(h)h(it)f(som)o(e)g(more.)62 2024 y Fc(\017)21
b Fh(Read)14 b(do)q(cu)o(m)o(en)o(t)o(a)o(t)o(ion)e(again.)62
2114 y Fc(\017)21 b Fh(Play)13 b(wit)n(h)h(it)f(som)o(e)g(more.)62
2204 y Fc(\017)21 b Fh(Read)14 b(do)q(cu)o(m)o(en)o(t)o(a)o(t)o(ion)e
(again.)62 2294 y Fc(\017)21 b Fh(Play)13 b(wit)n(h)h(it)f(som)o(e)g
(more.)62 2384 y Fc(\017)21 b Fh(Read)14 b(do)q(cu)o(m)o(en)o(t)o(a)o
(t)o(ion)e(again.)62 2474 y Fc(\017)21 b Fh(Get)14 b(t)n(h)o(e)g(id)o
(ea?)0 2594 y(Th)o(e)g(id)o(ea)g(i)q(s)f(t)n(h)o(a)o(t)h(y)o(our)g(min)
o(d)e(can)i(accept)h(only)d(so)i(m)n(u)o(c)o(h)f(\\n)o(ew)h(d)o(a)o(t)o
(a")f(in)h(a)f(s)q(in)o(gle)g(s)q(e)q(ss)q(ion.)19 b(Playin)o(g)13
b(wit)n(h)h(som)o(et)n(hin)o(g)0 2650 y(do)q(e)q(sn't)g(in)o(tro)q(d)o
(u)o(ce)h(v)o(ery)f(m)n(u)o(c)o(h)g(n)o(ew)g(d)o(a)o(t)o(a,)g(bu)o(t)h
(it)e(do)q(e)q(s)i(transform)e(d)o(a)o(t)o(a)h(in)g(y)o(our)g(h)o(ead)g
(f)q(rom)e(t)n(h)o(e)j(\\n)o(ew")f(ca)o(t)o(egory)h(t)o(o)0
2707 y(t)n(h)o(e)g(\\f)q(amil)o(iar")c(ca)o(t)o(egory)m(.)18
b(Readin)o(g)c(do)q(cu)o(m)o(en)o(t)o(a)o(t)o(ion)f(do)q(e)q(sn't)h(m)o
(ak)o(e)e(an)o(yt)n(hin)o(g)i(\\f)q(amili)o(ar,")d(bu)o(t)j(it)g
(re\014lls)g(y)o(our)g(\\n)o(ew")0 2764 y(h)o(o)o(p)o(p)q(er.)p
eop
%%Page: 2 2
2 1 bop 0 178 1950 3 v 0 162 a Fb(3.)37 b(Bas)q(ic)15
b(Unix)g(T)l(o)q(o)o(ls)1500 b Fh(2)0 343 y(Most)16 b(p)q(eo)o(ple,)e
(if)g(t)n(h)o(ey)i(ev)o(en)g(read)g(do)q(cu)o(m)o(en)o(t)o(a)o(t)o(ion)
e(in)g(t)n(h)o(e)i(\014rst)g(place,)f(n)o(ev)o(er)h(ret)o(ur)q(n)g(t)o
(o)f(it.)22 b(Th)o(ey)15 b(com)o(e)f(t)o(o)i(a)e(cert)o(ain)0
400 y(minim)m(u)o(m)g(lev)o(el)k(of)f(pro\014ciency)i(an)o(d)e(t)n(h)o
(en)i(n)o(ev)o(er)g(lear)q(n)f(an)o(y)f(more.)29 b(Bu)o(t)18
b(mo)q(d)o(er)q(n)g(o)o(p)q(era)o(t)o(in)o(g)f(syst)o(ems,)h(lan)o
(guage)q(s,)0 457 y(n)o(et)o(w)o(or)o(ks,)c(an)o(d)g(ev)o(en)g(ap)o
(plica)o(t)o(ions)e(s)q(imply)f(cannot)i(b)q(e)h(lear)q(n)o(e)q(d)h(in)
e(a)g(s)q(in)o(gle)h(s)q(e)q(ss)q(ion.)19 b(Y)m(ou)13
b(h)o(a)o(v)o(e)g(t)o(o)h(w)o(or)o(k)g(t)n(hrough)g(t)n(h)o(e)0
513 y(t)o(w)o(o-st)o(ep)g(lear)q(nin)o(g)g(cycle)h Fe(many)j
Fh(t)o(im)o(e)q(s)12 b(t)o(o)j(m)o(ast)o(er)e(it.)0 682
y Fd(3)66 b(Bas)q(ic)21 b(Unix)g(T)-6 b(o)r(o)o(ls)0
797 y Fb(m)o(an)104 870 y Fh(giv)o(e)q(s)14 b(y)o(ou)f(onlin)o(e)g(m)o
(an)n(ual)f(page)q(s)0 960 y Fb(grep)104 1034 y Fh(st)o(an)o(ds)i(for)g
(\\global)e(regular)i(expre)q(ss)q(ion)h(pr)q(in)o(t;")d(s)q(earc)o(h)o
(e)q(s)17 b(for)c(str)q(in)o(gs)i(in)e(t)o(ext)h(\014le)q(s)0
1124 y Fb(vi,)i(em)o(acs,)g(jo)o(v)o(e)104 1197 y Fh(us)q(e)f(wh)o(a)o
(t)o(ev)o(er)h(e)q(dit)o(or)f(\015oa)o(t)o(s)g(y)o(our)g(b)q(oa)o(t,)f
(bu)o(t)i(lear)q(n)f(t)n(h)o(e)g(h)o(ell)f(ou)o(t)h(of)g(it;)f(y)o(ou)g
(sh)o(ould)h(kno)o(w)f Fe(every)19 b Fh(comm)o(an)o(d)11
b(in)104 1254 y(y)o(our)i(e)q(dit)o(or)0 1344 y Fb(ct)o(ags)104
1417 y Fh(m)o(ak)o(e)q(s)g(\\t)o(ags")g(for)g(y)o(our)h(e)q(dit)o(or)h
(allo)o(ws)d(y)o(ou)i(t)o(o)g(got)o(o)g(fu)o(nct)o(ions)g(b)o(y)f(n)o
(am)o(e)g(in)g(an)o(y)h(source)h(\014le)0 1507 y Fa(>)p
Ff(,)22 b Fa(>>)p Ff(,)g Fa(<)p Ff(,)g(|)104 1581 y Fh(inpu)o(t)12
b(an)o(d)h(ou)o(t)o(pu)o(t)g(re)q(direct)o(ion)g(a)o(t)g(t)n(h)o(e)g
(comm)o(an)o(d)c(lin)o(e;)j(get)h(som)o(eon)o(e)e(t)o(o)i(sh)o(o)o(w)f
(y)o(ou,)g(or)h(dig)e(it)h(ou)o(t)h(of)f(\\m)o(an)e(csh")0
1700 y(Th)o(e)q(s)q(e)16 b(are)f(t)n(h)o(e)h(bas)q(ic)e(d)o(ay-in)g(d)o
(ay-ou)o(t)i(d)o(ev)o(elo)o(pm)o(en)o(t)d(t)o(o)q(ols.)21
b(Dev)o(elo)o(pin)o(g)14 b(wit)n(h)o(ou)o(t)h(kno)o(win)o(g)f(h)o(o)o
(w)h(t)o(o)g(us)q(e)h Fe(al)r(l)i Fh(of)c(t)n(h)o(e)q(s)q(e)0
1757 y(w)o(ell)f(i)q(s)g(lik)o(e)h(dr)q(ivin)o(g)f(a)g(car)i(wit)n(h)o
(ou)o(t)f(kno)o(win)o(g)f(h)o(o)o(w)g(t)o(o)i(c)o(h)o(an)o(ge)f(gears.)
0 1926 y Fd(4)66 b(De)o(buggin)o(g:)28 b(Th)n(eory)0
2046 y Fh(De)o(buggin)o(g)19 b(i)q(s)f(a)g(science.)34
b(Y)m(ou)18 b(form)n(ula)o(t)o(e)f(a)h(h)o(yp)q(ot)n(h)o(e)q(s)q(i)q
(s,)i(m)o(ak)o(e)d(pre)q(dict)o(ions)i(bas)q(e)q(d)g(on)g(t)n(h)o(e)g
(h)o(yp)q(ot)n(h)o(e)q(s)q(i)q(s,)h(ru)o(n)f(t)n(h)o(e)0
2103 y(program)12 b(an)o(d)i(pro)o(vid)o(e)g(it)f(exp)q(er)q(im)o(en)o
(t)o(al)f(inpu)o(t,)i(obs)q(erv)o(e)h(it)o(s)g(b)q(e)o(h)o(a)o(vior,)d
(an)o(d)i(con\014rm)f(or)h(refu)o(t)o(e)h(t)n(h)o(e)f(h)o(yp)q(ot)n(h)o
(e)q(s)q(i)q(s.)0 2181 y(A)i(go)q(o)q(d)f(h)o(yp)q(ot)n(h)o(e)q(s)q(i)q
(s)h(i)q(s)f(on)o(e)h(whic)o(h)f(m)o(ak)o(e)q(s)g(surpr)q(i)q(s)q(in)o
(g)g(pre)q(dict)o(ions)h(whic)o(h)g(t)n(h)o(en)g(com)o(e)f(true;)i(pre)
q(dict)o(ions)f(t)n(h)o(a)o(t)g(ot)n(h)o(er)0 2238 y(h)o(yp)q(ot)n(h)o
(e)q(s)q(e)q(s)g(don't)d(m)o(ak)o(e.)0 2316 y(Th)o(e)i(\014rst)g(st)o
(ep)h(in)e(d)o(e)o(buggin)o(g)h(i)q(s)e(not)i(t)o(o)g(wr)q(it)o(e)f
(bugs)g(in)g(t)n(h)o(e)i(\014rst)f(place.)20 b(Thi)q(s)14
b(sou)o(n)o(ds)h(ob)o(vious,)e(bu)o(t)i(sadly)m(,)f(i)q(s)g(all)f(t)o
(o)q(o)0 2373 y(oft)o(en)h(ignore)q(d.)0 2451 y(If)h(y)o(ou)f(build)g
(a)h(program,)e(an)o(d)i(y)o(ou)f(get)h Fe(any)20 b Fh(errors)c(or)f
Fe(any)k Fh(w)o(ar)q(nin)o(gs,)c(y)o(ou)f(sh)o(ould)h(\014x)g(t)n(h)o
(em)f(b)q(efore)h(con)o(t)o(in)n(uin)o(g.)21 b(C)0 2508
y(w)o(as)c(d)o(e)q(s)q(ign)o(e)q(d)h(so)f(t)n(h)o(a)o(t)g(m)o(an)o(y)e
(buggy)i(w)o(ays)f(of)h(wr)q(it)o(in)o(g)f(co)q(d)o(e)i(are)g(legal,)e
(bu)o(t)i(will)d(draw)i(w)o(ar)q(nin)o(gs)g(f)q(rom)e(a)h(suit)o(a)o
(bly)0 2564 y(sm)o(art)f(compiler)f(\(su)o(c)o(h)i(as)g(\\gcc")g(wit)n
(h)f(t)n(h)o(e)i Ff(-Wall)d Fh(\015ag)h(en)o(a)o(ble)q(d\).)24
b(It)15 b(t)o(ak)o(e)q(s)h(only)f(min)n(u)o(t)o(e)q(s)h(t)o(o)g(c)o(h)o
(ec)o(k)g(y)o(our)f(w)o(ar)q(nin)o(gs)0 2621 y(an)o(d)f(t)o(o)g(\014x)g
(t)n(h)o(e)g(co)q(d)o(e)h(t)n(h)o(a)o(t)f(gen)o(era)o(t)o(e)q(s)i(t)n
(h)o(em,)c(bu)o(t)j(it)e(t)o(ak)o(e)q(s)i(h)o(ours)f(t)o(o)g(\014n)o(d)
g(bugs)g(ot)n(h)o(erwi)q(s)q(e.)0 2699 y(\\De)q(sk)g(c)o(h)o(ec)o(kin)o
(g")g(\(pro)q(of)g(readin)o(g\))h(i)q(s)e(almost)g(a)g(lost)i(art)f(t)n
(h)o(e)q(s)q(e)h(d)o(ays.)j(T)m(o)q(o)13 b(bad.)18 b(Y)m(ou)c(sh)o
(ould)f(d)o(e)q(sk)i(c)o(h)o(ec)o(k)g(y)o(our)f(co)q(d)o(e)0
2756 y(b)q(efore)f(ev)o(en)g(compilin)o(g)e(it,)h(an)o(d)g(d)o(e)q
(sk-c)o(h)o(ec)o(k)j(it)d(again)f(p)q(er)q(io)q(dically)g(t)o(o)i(k)o
(eep)h(it)e(f)q(re)q(sh)h(in)f(min)o(d)f(an)o(d)h(\014n)o(d)h(n)o(ew)g
(errors.)19 b(If)p eop
%%Page: 3 3
3 2 bop 0 178 1950 3 v 0 162 a Fb(5.)37 b(De)o(buggin)o(g:)19
b(T)l(o)q(o)o(ls)1489 b Fh(3)0 343 y(y)o(ou)13 b(h)o(a)o(v)o(e)g(som)o
(eon)o(e)g(in)g(y)o(our)g(group)h(wh)o(os)q(e)g Fe(only)k
Fh(job)13 b(it)g(i)q(s)g(t)o(o)h(d)o(e)q(sk-c)o(h)o(ec)o(k)h(ot)n(h)o
(er)g(p)q(eo)o(ple's)e(co)q(d)o(e,)h(t)n(h)o(a)o(t)g(p)q(erson)g(will)e
(\014n)o(d)0 400 y(an)o(d)i(\014x)f(more)g(bugs)h(t)n(h)o(an)g(ev)o
(ery)o(on)o(e)h(els)q(e)g(com)n(bin)o(e)q(d.)0 478 y(On)o(e)e(can)f(d)o
(e)q(sk-c)o(h)o(ec)o(k)i(s)q(ev)o(eral)e(h)n(u)o(n)o(dre)q(d)i(lin)o(e)
q(s)e(of)f(co)q(d)o(e)i(p)q(er)g(h)o(our.)k(A)12 b(t)o(o)o(p-\015igh)o
(t)g(soft)o(w)o(are)g(en)o(gin)o(eer)h(will)e(wr)q(it)o(e,)h(roughly)m
(,)0 535 y(99\045)17 b(accura)o(t)o(e)i(co)q(d)o(e)h(on)e(t)n(h)o(e)h
(\014rst)g(pass,)h(whic)o(h)e(st)o(ill)f(m)o(eans)g(on)o(e)i(bug)f(p)q
(er)g(h)n(u)o(n)o(dre)q(d)i(lin)o(e)q(s.)31 b(An)o(d)18
b(y)o(ou)g(are)h(not)f(t)o(o)o(p)0 592 y(\015igh)o(t.)f(So)c(...)k(y)o
(ou)c(will)f(\014n)o(d)i(s)q(ev)o(eral)f(bugs)h(p)q(er)g(h)o(our)f(b)o
(y)h(d)o(e)q(sk)g(c)o(h)o(ec)o(kin)o(g.)19 b(Thi)q(s)13
b(i)q(s)f(a)h(v)o(ery)h(rapid)f(bug)h(\014xin)o(g)f(t)o(ec)o(hnique.)0
648 y(Compare)f(t)n(h)o(a)o(t)i(t)o(o)g(all)f(t)n(h)o(e)h(h)o(ours)g(y)
o(ou)g(sp)q(en)o(d)g(screwin)o(g)g(arou)o(n)o(d)g(wit)n(h)g(brok)o(en)g
(programs)e(tryin)o(g)i(t)o(o)g(\014n)o(d)g Fe(one)j
Fh(bug)d(a)o(t)f(a)0 705 y(t)o(im)o(e.)0 783 y(Th)o(e)h(n)o(ext)h(t)o
(ec)o(hnique)f(b)q(ey)o(on)o(d)g(d)o(e)q(sk-c)o(h)o(ec)o(kin)o(g)i(i)q
(s)d(t)n(h)o(e)i(t)o(im)o(e-h)o(onore)q(d)e(t)o(ec)o(hnique)h(of)g(ins)
q(ert)o(in)o(g)g(\\pr)q(in)o(t")f(st)o(a)o(t)o(em)o(en)o(t)o(s)h(in)o
(t)o(o)0 840 y(t)n(h)o(e)i(co)q(d)o(e,)h(an)o(d)f(t)n(h)o(en)g(w)o(a)o
(t)o(c)o(hin)o(g)g(t)n(h)o(e)g(logge)q(d)f(v)n(alue)q(s.)24
b(Wit)n(hin)15 b(Circle)h(co)q(d)o(e,)h(y)o(ou)e(can)h(call)f
Ff(printf\(\))p Fh(,)f Ff(fprintf\(\))p Fh(,)g(or)0 897
y Ff(log\(\))c Fh(t)o(o)i(d)o(u)o(mp)e(in)o(t)o(ere)q(st)o(in)o(g)j(v)n
(alue)q(s)e(a)o(t)g(in)o(t)o(ere)q(st)o(in)o(g)h(t)o(im)o(e)q(s.)17
b(Wh)o(ere)12 b(an)o(d)f(wh)o(en)h(t)o(o)f(d)o(u)o(mp)g(t)n(h)o(e)q(s)q
(e)i(v)n(alue)q(s)e(i)q(s)g(an)g(art,)g(whic)o(h)0 954
y(y)o(ou)i(will)g(lear)q(n)h(only)f(wit)n(h)h(pract)o(ice.)0
1032 y(If)c(y)o(ou)h(don't)f(already)h(kno)o(w)f(h)o(o)o(w)h(t)o(o)g
(re)q(direct)h(ou)o(t)o(pu)o(t)g(in)f(y)o(our)f(o)o(p)q(era)o(t)o(in)o
(g)h(syst)o(em,)f(no)o(w)h(i)q(s)f(t)n(h)o(e)h(t)o(im)o(e)f(t)o(o)h
(lear)q(n.)17 b(On)11 b(Unix,)0 1089 y(t)o(yp)q(e)g(t)n(h)o(e)h(comm)o
(an)o(d)c(\\)p Ff(man)21 b(csh)p Fh(",)10 b(an)o(d)g(read)i(t)n(h)o(e)g
(part)f(a)o(b)q(ou)o(t)g(t)n(h)o(e)h(\\)p Fa(>)p Fh(")e(o)o(p)q(era)o
(t)o(or.)18 b(Y)m(ou)10 b(sh)o(ould)h(also)f(lear)q(n)h(t)n(h)o(e)h
(di\013erence)0 1145 y(b)q(et)o(w)o(een)i(\\st)o(an)o(d)o(ard)f(ou)o(t)
o(pu)o(t")h(\(for)f(example,)e(ou)o(t)o(pu)o(t)j(f)q(rom)d(\\)p
Ff(printf)p Fh("\))g(an)o(d)i(\\st)o(an)o(d)o(ard)g(error")h(\(for)f
(example,)e(ou)o(t)o(pu)o(t)0 1202 y(f)q(rom)h(\\)p Ff
(fprintf\(stderr,)18 b(...\))p Fh("\).)0 1281 y(Ul)o(t)o(im)o(a)o(t)o
(ely)m(,)13 b(y)o(ou)i(cannot)h(\014x)f(a)h(program)e(u)o(nle)q(ss)j(y)
o(ou)e(u)o(n)o(d)o(erst)o(an)o(d)j(h)o(o)o(w)d(it's)g(o)o(p)q(era)o(t)o
(in)o(g)g(in)g(t)n(h)o(e)i(\014rst)f(place.)23 b(P)o(o)o(w)o(erful)0
1337 y(d)o(e)o(buggin)o(g)d(t)o(o)q(ols)e(will)g(h)o(elp)h(y)o(ou)g
(collect)g(d)o(a)o(t)o(a,)g(bu)o(t)h(t)n(h)o(ey)g(can't)f(in)o(t)o
(erpret)h(it,)g(an)o(d)e(t)n(h)o(ey)i(can't)f(\014x)g(t)n(h)o(e)h(u)o
(n)o(d)o(erlyin)o(g)0 1394 y(problems.)d(Only)c(y)o(ou)h(can)g(do)f(t)n
(h)o(a)o(t.)0 1472 y(Wh)o(en)h(y)o(ou)g(\014n)o(d)g(a)f(bug)h(...)k(y)o
(our)13 b(\014rst)i(impuls)q(e)e(will)f(b)q(e)i(t)o(o)h(c)o(h)o(an)o
(ge)f(t)n(h)o(e)h(co)q(d)o(e,)g(kill)d(t)n(h)o(e)j(m)o(anife)q(st)o(a)o
(t)o(ion)d(of)h(t)n(h)o(e)i(bug,)e(an)o(d)0 1529 y(d)o(eclare)k(it)e
(\014xe)q(d.)23 b(Not)15 b(so)g(f)q(ast!)23 b(Th)o(e)15
b(bug)g(y)o(ou)g(obs)q(erv)o(e)i(i)q(s)e(oft)o(en)g(just)h(t)n(h)o(e)g
(sympt)o(om)d(of)i(a)g(d)o(eep)q(er)i(bug.)22 b(Y)m(ou)15
b(sh)o(ould)0 1586 y(k)o(eep)g(pursuin)o(g)g(t)n(h)o(e)h(bug,)e(all)f
(t)n(h)o(e)i(w)o(ay)f(do)o(wn.)20 b(Y)m(ou)14 b(sh)o(ould)h(grok)f(t)n
(h)o(e)h(bug)f(an)o(d)h(c)o(h)o(er)q(i)q(sh)f(it)h(in)f(fulln)o(e)q(ss)
h(b)q(efore)g(ca)n(us)q(in)o(g)0 1643 y(it)o(s)f(di)q(scorp)q(ora)o(t)o
(ion.)0 1721 y(Also,)19 b(wh)o(en)f(\014n)o(din)o(g)g(a)g(bug,)h(ask)f
(y)o(ours)q(elf)g(t)o(w)o(o)g(que)q(st)o(ions:)28 b(\\Wh)o(a)o(t)17
b(d)o(e)q(s)q(ign)i(an)o(d)f(programmi)o(n)o(g)e(h)o(a)o(bit)o(s)i(le)q
(d)h(t)o(o)f(t)n(h)o(e)0 1778 y(in)o(tro)q(d)o(u)o(ct)o(ion)12
b(of)f(t)n(h)o(e)i(bug)f(in)g(t)n(h)o(e)h(\014rst)h(place?")j(An)o(d:)g
(\\Wh)o(a)o(t)11 b(h)o(a)o(bit)o(s)i(w)o(ould)e(syst)o(em)o(a)o(t)o
(ically)g(prev)o(en)o(t)i(t)n(h)o(e)g(in)o(tro)q(d)o(u)o(ct)o(ion)0
1834 y(of)g(bugs)h(lik)o(e)f(t)n(hi)q(s?")0 2004 y Fd(5)66
b(De)o(buggin)o(g:)28 b(T)-6 b(o)r(o)o(ls)0 2123 y Fh(Wh)o(en)15
b(a)f(Unix)h(pro)q(ce)q(ss)i(acce)q(ss)q(e)q(s)h(an)d(in)o(v)n(alid)e
(m)o(emory)f(lo)q(ca)o(t)o(ion,)h(or)i(\(more)f(rarely\))h(execu)o(t)o
(e)q(s)j(an)c(illegal)f(instru)o(ct)o(ion,)0 2180 y(or)j(\(ev)o(en)h
(more)e(rarely\))h(som)o(et)n(hin)o(g)f(els)q(e)i(go)q(e)q(s)f(wron)o
(g,)g(t)n(h)o(e)h(Unix)e(o)o(p)q(era)o(t)o(in)o(g)h(syst)o(em)g(t)o(ak)
o(e)q(s)g(con)o(trol.)24 b(Th)o(e)16 b(pro)q(ce)q(ss)j(i)q(s)0
2237 y(incapa)o(ble)13 b(of)h(furt)n(h)o(er)i(execu)o(t)o(ion)f(an)o(d)
f(m)n(ust)g(b)q(e)g(kille)q(d.)19 b(Before)c(killin)o(g)d(t)n(h)o(e)j
(pro)q(ce)q(ss,)i(h)o(o)o(w)o(ev)o(er,)d(t)n(h)o(e)h(o)o(p)q(era)o(t)o
(in)o(g)f(syst)o(em)0 2293 y(do)q(e)q(s)g(som)o(et)n(hin)o(g)f(for)g(y)
o(ou:)18 b(it)13 b(o)o(p)q(ens)g(a)h(\014le)f(n)o(am)o(e)q(d)g(\\)p
Ff(core)p Fh(")f(an)o(d)i(wr)q(it)o(e)q(s)f(t)n(h)o(e)i(en)o(t)o(ire)f
(d)o(a)o(t)o(a)f(space)i(of)e(t)n(h)o(e)h(pro)q(ce)q(ss)j(in)o(t)o(o)c
(it.)0 2372 y(Th)n(us,)g(\\d)o(u)o(mpin)o(g)e(core")j(i)q(s)e(not)g(a)h
(ca)n(us)q(e)h(of)e(problems,)f(or)h(ev)o(en)i(an)e(e\013ect)i(of)e
(problems.)17 b(It's)12 b(som)o(et)n(hin)o(g)g(t)n(h)o(e)h(o)o(p)q(era)
o(t)o(in)o(g)0 2428 y(syst)o(em)h(do)q(e)q(s)g(t)o(o)g(h)o(elp)g(y)o
(ou)f(\014n)o(d)h(f)q(a)o(t)o(al)e(problems)h(whic)o(h)g(h)o(a)o(v)o(e)
h(ren)o(d)o(ere)q(d)i(y)o(our)e(pro)q(ce)q(ss)i(u)o(n)o(a)o(ble)e(t)o
(o)g(con)o(t)o(in)n(ue.)0 2507 y(On)o(e)e(reads)h(a)f(\\core")g(\014le)
f(wit)n(h)h(a)f(d)o(e)o(bugger.)19 b(Th)o(e)12 b(t)o(w)o(o)f(most)g(p)q
(o)o(pular)g(d)o(e)o(buggers)j(on)e(Unix)f(are)h Ff(adb)f
Fh(an)o(d)g Ff(gdb)p Fh(,)g(al)o(t)n(h)o(ough)0 2563
y(o)q(ccas)q(ion)o(ally)e(on)o(e)h(\014n)o(ds)h Ff(dbx)p
Fh(.)16 b(T)o(ypically)9 b(on)o(e)h(st)o(art)o(s)i(a)e(d)o(e)o(bugger)i
(lik)o(e)e(t)n(hi)q(s:)16 b(\\)p Ff(adb)21 b(bin/circle)p
Fh(")8 b(or)i(\\)p Ff(gdb)21 b(bin/circle)0 2620 y(lib/core)p
Fh(".)0 2698 y(Th)o(e)16 b(\014rst)g(t)n(hin)o(g,)g(an)o(d)f(oft)o(en)g
(t)n(h)o(e)h(only)f(t)n(hin)o(g,)g(y)o(ou)g(n)o(ee)q(d)i(t)o(o)e(do)h
(ins)q(id)o(e)f(t)n(h)o(e)h(d)o(e)o(bugger)h(i)q(s)e(t)o(ak)o(e)g(a)g
(st)o(ac)o(k)h(trace.)24 b(In)15 b Ff(adb)p Fh(,)0 2755
y(t)n(h)o(e)f(comm)o(an)o(d)c(for)j(t)n(hi)q(s)h(i)q(s)e(\\)p
Ff($c)p Fh(".)17 b(In)d(gdb,)e(t)n(h)o(e)i(comm)o(an)o(d)d(i)q(s)i(\\)p
Ff(backtrace)p Fh(".)i(In)e(db)o(x,)g(t)n(h)o(e)h(comm)o(an)o(d)d(i)q
(s)h(\\)p Ff(where)p Fh(".)17 b(Th)o(e)0 2812 y(st)o(ac)o(k)c(trace)h
(will)d(t)o(ell)h(y)o(ou)h(wh)o(a)o(t)f(fu)o(nct)o(ion)h(y)o(our)f
(program)g(w)o(as)g(in)h(wh)o(en)g(it)f(crash)o(e)q(d,)i(an)o(d)e(wh)o
(a)o(t)h(fu)o(nct)o(ions)g(w)o(ere)h(callin)o(g)p eop
%%Page: 4 4
4 3 bop 0 178 1950 3 v 0 162 a Fb(6.)37 b(Pro\014lin)o(g)1673
b Fh(4)0 343 y(it.)17 b(Th)o(e)11 b(d)o(e)o(bugger)i(will)c(also)i(li)q
(st)f(t)n(h)o(e)i(argu)o(m)o(en)o(t)o(s)f(t)o(o)g(t)n(h)o(e)q(s)q(e)i
(fu)o(nct)o(ions.)k(In)o(t)o(erpret)o(in)o(g)c(t)n(h)o(e)q(s)q(e)f
(argu)o(m)o(en)o(t)o(s,)f(an)o(d)g(us)q(in)o(g)g(more)0
400 y(adv)n(ance)q(d)j(d)o(e)o(bugger)i(fea)o(t)o(ure)q(s,)f(require)q
(s)g(a)f(f)q(air)e(amou)o(n)o(t)h(of)g(kno)o(wle)q(dge)h(a)o(b)q(ou)o
(t)g(ass)q(em)n(bly)e(lan)o(guage)i(programmi)o(n)o(g.)0
478 y(If)g(y)o(ou)f(h)o(a)o(v)o(e)g(acce)q(ss)k(t)o(o)d(a)g(program)e
(n)o(am)o(e)q(d)h(\\Pur)q(ify")f(...)17 b(lear)q(n)d(h)o(o)o(w)g(t)o(o)
g(us)q(e)g(it.)0 647 y Fd(6)66 b(Pro\014lin)o(g)0 766
y Fh(Anot)n(h)o(er)17 b(us)q(eful)e(t)o(ec)o(hnique)h(i)q(s)f
(\\pro\014lin)o(g,")f(t)o(o)i(\014n)o(d)f(ou)o(t)h(wh)o(ere)h(y)o(our)e
(program)f(i)q(s)g(sp)q(en)o(din)o(g)i(most)f(of)g(it)o(s)g(t)o(im)o
(e.)21 b(Thi)q(s)0 823 y(can)14 b(h)o(elp)g(y)o(ou)f(t)o(o)h(m)o(ak)o
(e)f(a)g(program)g(more)g(e\016cien)o(t.)0 901 y(Here)i(i)q(s)f(h)o(o)o
(w)f(t)o(o)h(pro\014le)g(a)g(program:)51 1021 y(1.)20
b(Remo)o(v)o(e)12 b(all)h(t)n(h)o(e)h(.o)f(\014le)q(s)i(an)o(d)e(t)n(h)
o(e)i(\\circle")f(execu)o(t)o(a)o(ble:)278 1128 y Ff(rm)22
b(src/*.o)e(bin/circle)51 1234 y Fh(2.)g(Edit)14 b(y)o(our)f
Ff(Makefile)p Fh(,)f(an)o(d)i(c)o(h)o(an)o(ge)g(t)n(h)o(e)h
Ff(PROFILE=)d Fh(lin)o(e:)278 1349 y Ff(PROFILE)42 b(=)22
b(-p)51 1464 y Fh(3.)e(Rem)o(ak)o(e)12 b(circle:)278
1579 y Ff(make)51 1694 y Fh(4.)20 b(R)n(u)o(n)13 b(circle)h(as)g
(usual.)k(Sh)n(u)o(tdo)o(wn)c(t)n(h)o(e)g(gam)o(e)e(wit)n(h)h(t)n(h)o
(e)i Ff(shutdown)d Fh(comm)o(an)o(d)e(wh)o(en)k(y)o(ou)f(h)o(a)o(v)o(e)
g(ru)o(n)i(lon)o(g)e(enough)104 1751 y(t)o(o)i(get)g(a)f(go)q(o)q(d)g
(pro\014lin)o(g)g(bas)q(e)h(u)o(n)o(d)o(er)h(norm)o(al)d(usage)i(con)o
(dit)o(ions.)20 b(If)14 b(y)o(ou)g(crash)h(t)n(h)o(e)h(gam)o(e,)c(or)j
(kill)e(t)n(h)o(e)j(pro)q(ce)q(ss)104 1808 y(ext)o(er)q(n)o(ally)m(,)c
(y)o(ou)i(w)o(on't)f(get)h(pro\014lin)o(g)f(inform)o(a)o(t)o(ion.)51
1898 y(5.)20 b(R)n(u)o(n)13 b(t)n(h)o(e)i Ff(prof)e Fh(comm)o(an)o(d:)
278 2013 y Ff(prof)21 b(bin/circle)f(>)h(prof.out)51
2127 y Fh(6.)f(Read)14 b(prof.ou)o(t.)k(R)n(u)o(n)13
b(\\)p Ff(man)21 b(prof)p Fh(")13 b(t)o(o)h(u)o(n)o(d)o(erst)o(an)o(d)i
(t)n(h)o(e)e(form)o(a)o(t)e(of)i(t)n(h)o(e)g(ou)o(t)o(pu)o(t.)0
2247 y(F)m(or)i(adv)n(ance)q(d)h(pro\014lin)o(g,)f(y)o(ou)g(can)g(us)q
(e)h(\\)p Ff(PROFILE)j(=)i(-pg)p Fh(")16 b(in)f(st)o(ep)j(2,)e(an)o(d)g
(us)q(e)h(t)n(h)o(e)g(\\gprof)s(")f(comm)o(an)o(d)d(in)j(st)o(ep)i(5.)0
2304 y(Th)o(e)d(\\gprof)s(")f(form)f(of)h(pro\014lin)o(g)g(giv)o(e)q(s)
g(y)o(ou)h(a)f(rep)q(ort)i(whic)o(h)e(li)q(st)o(s)h(exact)n(ly)g(h)o(o)
o(w)f(m)o(an)o(y)f(t)o(im)o(e)q(s)g(an)o(y)i(fu)o(nct)o(ion)f(calls)g
(an)o(y)0 2361 y(ot)n(h)o(er)h(fu)o(nct)o(ion.)j(Thi)q(s)13
b(inform)o(a)o(t)o(ion)e(i)q(s)i(v)n(alua)o(ble)f(for)i(d)o(e)o(buggin)
o(g)g(as)g(w)o(ell)f(as)h(p)q(erform)o(ance)g(an)o(alys)q(i)q(s.)0
2439 y(Av)n(aila)o(bilit)o(y)g(of)k(\\prof)s(")f(an)o(d)g(\\gprof)s(")g
(v)n(ar)q(ie)q(s)h(f)q(rom)d(syst)o(em)j(t)o(o)g(syst)o(em.)29
b(Almost)17 b(ev)o(ery)h(Unix)g(syst)o(em)f(h)o(as)h(\\prof)s(".)0
2496 y(Only)c(som)o(e)e(syst)o(ems)i(h)o(a)o(v)o(e)g(\\gprof)s(".)p
eop
%%Page: 5 5
5 4 bop 0 178 1950 3 v 0 162 a Fb(7.)37 b(Bo)q(oks)16
b(for)f(Ser)q(ious)f(Programm)o(ers)1186 b Fh(5)0 343
y Fd(7)66 b(Bo)r(oks)22 b(for)g(Ser)q(ious)e(Programm)n(ers)0
462 y Fh(Ou)o(t)15 b(of)e(all)g(t)n(h)o(e)h(t)n(h)o(ousan)o(ds)h(of)e
(b)q(o)q(oks)h(ou)o(t)g(t)n(h)o(ere,)h(t)n(hree)h(st)o(an)o(d)e(ou)o
(t:)62 582 y Fc(\017)21 b Fh(K)o(er)q(nigh)o(an)13 b(an)o(d)h(Pla)n
(ugh)o(er,)g Fe(The)h(Elements)g(of)f(Pr)n(o)n(gr)n(amming)h(Style)s
Fh(.)62 672 y Fc(\017)21 b Fh(K)o(er)q(nigh)o(an)13 b(an)o(d)h(Rit)o(c)
o(hie,)f Fe(The)h(C)h(Pr)n(o)n(gr)n(amming)f(L)n(anguage)s
Fh(.)62 762 y Fc(\017)21 b Fh(Bro)q(oks,)14 b Fe(The)h(Mythic)n(al)f
(Man)i(Month)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF