%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
%%Title: book.dvi
%%Pages: 395
%%PageOrder: Ascend
%%BoundingBox: 0 0 595 842
%%DocumentFonts: CMR17 CMR12 CMTT12 CMBX12 CMSL12 CMSY10 CMTI12 CMMI12
%%+ CMR8 CMMI8 CMSY8 CMEX10 CMTT10 CMR10 CMTI10
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips book.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2009.09.03:1214
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}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{A A 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/IEn 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 IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/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 A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 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 A 1 get A
mul exch 0 get A 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/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 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/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/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
%%BeginProcSet: texps.pro 0 0
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
%%BeginFont: CMTI10
%!PS-AdobeFont-1.1: CMTI10 1.00B
%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 100 /d put
dup 101 /e put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 117 /u put
dup 118 /v put
dup 119 /w put
readonly def
/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
F78C2BE8098037845961E07C3761CB16A3124EA0FDBB927A12D438C9A1AD8478
EF0B576BA85CAC6AFB5D1C4FF02F7C555F6E9941D45745A17B3A4820F58D6422
A699AB4916B9C04D58FD0891F2422D0A977C595916D47CFB4469C4D0AE80BE13
3A9F8B33CD937BAF31325A7C316E1B097ADA9DBCCD4C0085909AF802E8021A5F
C322FEF4CEE927333DE0B1C95EB86C5824EE5055073BE8A67FEEA0473CBE2414
26AF30179C4ADD481639B730268F25A0EE8F4100AF6DBEE8E77FC3220AB0C249
A1A7B78B745B72BC0F903AC873EB8D01FF3F7880A8790522E618B74BC34F955E
44B2AA98571166DEC9B0B4A21790F54D6E0BF58374963F51E6274C0D185E8DF4
B9D3F77C40CE7AA05F807F17DDCAB5F4D4BA6F91ED203BBDCF642C27621FCB11
14D0392229B3EEB2C6302A226497503373DA51F2B04FC84F6ADAA495DEE0D141
AFAA25D62A98A1EF4C19C9BEAD32E5322AC545C28D6EC9BDD58E1E351F8BBFB3
808004792883CB7D91C3F67444721BD6CDC46411129E3A4EB8EFCF7954ABAAFB
7C4A64CD577FF4E60F767469BA3DA3B2BBA76A3C0205FC528464D46472FDE6B0
9B69D9178C211120923B96F6376BC86D300B934FD23354EB942A1AD4B655AA63
3202D13341D7A077D1D4A179686C35E31C7CEA66B0A05C55C933CEDA64241F18
465DAAD364D4904BE16EA52B703A6AEE24E5ED1E11CD52005947DAF5A13D4CD0
DB1826BA8D5220C373481FDDEC0D9D4E6FBFB3C59F61F6546642AC277601B025
6D99D7771C673742977983A4D0A5D16C0A5694AA97ED4696058E9EDFD27CBA68
FCBCF36E8AF87DAEE4EDBF0FDC11D19136B225EA7226C256635377D66169D423
551378533875F15DDE165F8840713F57ABEA0F7CD1A605C59E511F1663A77D93
413E7893B056D429F6D22499AF71F2F2E500AB6EEEB591270DA96A497B4E178E
85396F5FEC427A2E13407B363A088E8CE399777DAA5E245EFA2DA4F15EB7C366
05B402AAAA37E11FD11449C92E5A8DAD4A6716C8335098DBD802B2286DD8463A
AD7E8216EA1E1E90A5EEE6A5161C011445537F0E8E41EA79FB81733D3DFA4DB4
1DE7774ECCAF0A993DFD359CB71561C97DACF43E187765B9B4F2D3B5BDD85DF8
225DFEDD35A803BB197B0DBE6E27361A8F60C83804CD9ACB2E5F23158BC03160
721566EE2693DEDF0B55428523C072196D7B18E3931E87526FF056228F25F586
2DC0A657AF5246E0BB53A489B77FA91608C3894EC4F08B943D4FA49437747719
BA6C4DFD029377130FCB8FA98576BC5ADEDBE9677F3D66C58DC1FCC8FABBBD9E
1450612164CF80FBD68E13A0A739603E6FF18C58E496254C0A395D2B5AB86CB7
7290084F45DA2F67C477C72DCB36A5494DC5C57C5E4AFF55DE7D6B08009F9E3C
9F3F1557096DE9BBFE25115399FDEEA085D341ED19523C8558C4448B4CA26381
93B42B9F9882B1289BEACD0720FE71DEAC8EC15A0E69F166672955858F42EE18
E7F0317F9DED6D78E8EF68505BFAC9E9B29B2ACBAD9DC807DD1112D92BE6A4C8
DFDE071AB658B2F033B039C03C11570E7FE6D80154A30E3B0EAC5697BEB6620B
1BBE243EC02AA6376F83C8C009955172DDC6885DC9B041BB633E2226200996A1
E7C10ACD5FCC6C5AFBEFD0FB0A517E031EAF08190987188E28F0F3897B4FD765
308E53E9408A8A7F5A2272DFEC4070E0FE5395682C7A0D5F9E2B3CAF24635A7D
7C045C2F6D8559E65287EED3E161392EC8A7D1C8A186044AD42BB1B0663EE812
235EDB5B663E58D727E8C5B246070F3EE75FE95FBB58CE7CB43776BF5909D98C
2DBD7137A2DD5EB2E2D929C70A352CB85A542F87DA9C731123F01A579B190CF3
297C4A321D1E70A4E2C860E46E6010327241DDCA36974B0CB505E1303444748E
FA068FD071EBE86811F6140961A3E11193B271E0E4159151D0A0D468CD1D1B99
36CC6545BB38B59CCCB495FD0FEFA0AFF0206FB75D98BB94FE2851A6FEEF6FA4
4293C2DB1379BB8F4B4D75110622D38497AAC4AE9739CDF0F57A1DF310FFDBD8
283D81FBAA5D55652D308301A2646FBDF1415085A33848D50F88D462A0B01039
66FE0F660B46B98CD6EB5A06F15B4C043981FE8ECAF363D3AB3FE17E1322BB34
43072F0A0B82B7F871C5061D9DD5BE73812A4D919D401AEDC1A865CBD223D1D7
8A6295EC0807A901F7623CE7A7AD8B20227CB241B8BF3F24EE7807498F7275F6
86AD4B142BD2BA40319FE74425F40065923A921861C7DFE21B5BF343E073D173
6AB0B787BAB0F1E1892E48A84A1E6AB32592DD259DE8353EF1F4E2B7C78446C3
AD488F64579366AC6A7608ED5BF5D6580D7163E48EB8D90B4AC1FD95F16AFD65
ACBB17C44057A393DD791A06050C6FEBBBF6ABDFF5AF91E4E5351CA64214ACD8
29D8F3545E486D0C9237663C410C0325E4DA30ACE452A9B8F554A9F5E784A5DC
965CBA95C2EF5A55113A7C1DC26C226BAAC64E6426AE66CBB3D495F4D0011489
BD51E147ABA4D71F64CFE34B8EBA8096DA14D033FFEB0417E6EE81E4F00C5C1C
9341941305387F52D6626C467E118A27771E5E84A6F18469D61F36B69F19F546
F490EBD939DD2D3F052925D0948710C99CD4607310639AEB98373ED91A708DCD
9E2FB256539CF7223B975E88A8A0499929E300763543F16F4642EC48E6382215
955EB0B979C1F7B6B2828AD7C758CB01FE6A8DB19F4EB7EE8E0B9C311738F853
884D4C40B3E7F44A931ED2F27D1E96A0AAF1A5F28FF80A3C00FEBABC3FDC9016
5EA603F5C24B3F7984DB396FEECF2FBA630A5FDFF75F4BF215FB73EBA458A231
FDF0290FC0BE084FCC2AD31416F631B2F35384FCFCD07EDDC52A5A218CDB7479
B191EE15BDC0A06C61667E6A04D5205891AF7322198044C58632C5DAC0EF35CE
C81E30660C17DB2D435D4933B74D43F57C41F98BA696B087369A806616D01CAF
7019BCE0A6CEB4EB6FEE49E9A4A19878F351AD41E59AD8308E807822F66CCF87
FCCFA3EEA5F1236F0954AF7A5100E1030B8F12CB4A36200FCB6200D94774613A
B35E311163CBDD
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 34 /quotedblright put
dup 92 /quotedblleft put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E
4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099
E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634
5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721
639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB034289232A0694CCE
12A5A2637485FB47BC281A2128CBC442FE080130AC044826EA1C86AC0C9B5A29
4732F759CECA89CC95B6A274BA6EC882671D2AFF1F86066B47A177F2331811F4
8D09D18F4D400B16DD946C58505F36DAC5F639BC17072D275E1D58F2F284BC93
712A5076B99BA0C2D5D905EA0C2A3E2AC9DD34DD244E7FAA16CBAB9FA9111800
4C6B87343A8889D7DC47CFCC3904C00BDBBE30C86490291B47B5D32EE7D77DB9
E5C42A6BEB528F5DD1143B44CFFC0AEC660F2C44157950F402A168669A182317
AB8051574BB2ED28D2736E794660BC6BC08CE8814A2555F08DB0287D393576F8
DBE79D5211E06AC77028BC34C3764670037FDB2E653441FA59390972DBC1ED19
7093F66910D36A6D04E3AD2B7088B29CA7C96D4FF3F28CF368FA1FB89D575DBF
55562094EAE719529A8102EEFE9A1341487ED2865EBBE4829F233895B884DD47
804F613B2DC02BF370CA1B81EC465F8EBA7A3F691B97EBC26734EF60EAA8C163
FB0AE83DC957BE14190E745BF985984F90A8F9BD6C2B27BD79097419E54BB895
4AC5DB5B2CC9B902243F7AC8345CFCF04E6FEF7E7FA150CC8392386FE9337B72
4EAF31A9B529165A7B7AD98300557905705F3879D138FE9D019BF1E4800BA9CE
7E45B4E1FB34FA00518FC7787AF5E681B3F2E5C83E48C2C676FD60A981038B8A
D42FB26F93FC56ECC7C2C987FD4ED0A8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 40 /parenleft put
dup 41 /parenright put
dup 44 /comma put
dup 67 /C put
dup 69 /E put
dup 76 /L put
dup 80 /P put
dup 86 /V put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
readonly def
/FontBBox{-4 -235 731 800}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC1A6ADAB001EDF5C9D6FE45735098A304A8BD4A0AC9980
7FFE62FEAD3843EF8C45E1203E303D028897CFE1D4D0AB8BBA74CE279275A67E
81AEA417A3E49397386B7304DC9247290A5CE2408114441EDD82F9B3A8E49C4D
D9745142652BE8B82C2A9610B26EA1A71212CE97781A06B58C3DDD9179016AB6
740166FF986AE856AFDD2D8955D95B2D0C57BC179F1D9136BEFBB6F17E8DE96E
921502FB19F0C21F0A491F951D83972DECD70AA8987112F05C939A6FB073A5EA
495069A1DDF11DC589D2E91C1514C2799C5B954EB8B347918C4920C7142A2AC6
8231DD2AF57E9540C46BDA6AAC09689487F5E0EB021CADA860FD25B2E5230259
7BFF0F12D7DF5CE219716715073177028CE276FC313D6A101898D1A6BB0AD8D5
662A85EE6B921A72E46589CC08EA87EECFDF36B819B07306C44AC3FBCD134930
4B2F9EC4D5C57518E8210FC2C61DA3FD185CFA65DF3DB858BCF75E95321A7131
547E0C85406F70D2C3C67E142BC0642344A5806FBE012868A76DBB9CB27CF878
38A11705B857FC5F7F3EFA1DBEB4DA5200E2F29D25BC8614D6C29F336C5E9F60
656D2F7CC4631005135EF22BFCDD25E2C8CEFD0151FF96E6C9AA83556A4BE02A
9FE6A1B802F852891192AFCE6D48BAC3F0AD94AF010512D376B625836C94F281
B69BE821F34B828E5B4A0934E1DE2C801306B379D3DF44F2F7E464AAA9908C25
7CBEB0CA28A1E598EC4BB0589395658AB44554560738264B918B0594C0517605
7AC14CC63B3BA81C9FAD29E710D4161FAA1932AA25A27CBD238D0BD5D2F71754
79C221C40514113127C679BC95046EAE388E80AB1E5C5B05769ACCF25B59CB43
6EEE2B178DBEDF8B54DA2AEF3B23474ADBB85F51FB024B5B82B24F2117A8801B
BF34D10B162214CA2367C4A1234AA8AF985A3B1B3AF560AAD8F7A75D7778D95D
58BA9340110BA56A88ECFAA2F63C7808C8585C7EE9771D5C9DD411C4599D9D6F
C110F8CFF498EB34971F6749A624A082B2D2E9CD0EA13737D8B9FF2D04EC7EC6
72D7560AD5C154A277510C5916F2E0BBE46BC95E6D34A8704E1EB27B512DB80E
121C579950B956691BA9E1F38570BCA98707B89BD943D1D3F70130DACBBD6701
DD0EBD7DB14C080400E25D70A165C7A37207AD4432BFB87939B17B4B849D2987
0C088415E257CEC9859BC0B415DC5AE9602A8D82197DF70818C6AAE5DFA87378
81B996B6A49D5DBA20F034A139F5F9AEFEF7EFA41B4AAF3553033DC6663E1229
51AA4A5558CC579A539D0A981DEF7702AADB6F158177B1F2B82B057FEFEAD2D8
A1B1640BFFB997C9BF2E6B6D2C611C269472BB88A3E65E1ADFF48F1DA69146D0
12E185FBBFE26505C3EDA93CB4097D4205AE66E64798BA9487D222C94E66FA44
0834DE10DF52E552AEDB67D40DFBD56F7B37E87FBD94D555CDC7978B2C0D27BC
56E6AF95596EF9296CDDA99CFE2818C57A7EBE6EBB919D934A5EDD57819C17CA
26C8389CED57983F8FCFF002D7AC07DCADD8CDD6A89D340B3AC16F8830BDD8A0
DF8A7AE5C63BDD9D922CB47265D186D9B4A46092DDBCD9074A2D3C943C060DB5
2E20EF9D4F5CC718BCB9952EFC23817AB50939627A2FDB6DE709AE5E9F449B37
43DBF008DC15A4FBEF2B48C4C0153D022F419433F6FD7C0751C50D50A245FD46
83D6A98B484525E689261D0F366D3CE1BCBAA061EB88A79726C7474753CF020C
43AF3423B2B441BA998AAA53CACB562FFEA921250DAF6C3C4D7A5FB3D2C531A2
EEB8F16CE419C03AF78BEC5C483A87EFC41132D4E7360A6B781776DAA7B9B2EE
CA080E0BBEEDC39440BB3972BAA63CF1D79D4E8D003DB460AFFA24666650ABF4
53C9181C7260388F6215B0D4AE1A572DAD217A036C7F857D6106C38AE041712A
BA7FE56AFD21D7288406F013759D6960F6250AC3B22FF1A545A30C02F8B270ED
1257035E9022032D11DFE550091B02A6D064ED3652D58CA1A203B744120AE098
02CDC30EECCBBD105798FF042C146BC07801CA4D2BDCAC95CE13B84453F6D6CD
DDE9C1211CBCE4EECF1FC740C3538BD3E75D6C23AE33AE0B512EAA3605C05F31
CE22439E4CD6898B619DEE3236D5F3CABFA7D3968AAB58480DE95B2E472CC878
D1B311357B58BB79671A8730FF41DA3AAF626C81E819117543F0F7FD0AC97D3E
52C588F413FD2A13C47669C784AA1E774F20C2916DD134D41AA0225323639E29
7814500CE84FE3258F9CA282CF51184CCF817358F76401CE70A20FABCAD8B6AF
BC1BD0605FF167AE8F58B865504CF2EF283D1ADD7C1E75C506B7A5C6C9CDA1B4
71781CD5979788A8CD82A4016DA714A0B4543585DB7AC755629B4C07FDAD81D3
D9A0ACE868CC6884A908295F3541AA0AD8C13B6DC0A10F74CC803715C2161964
68E7CE4243C674703D2BBF657480B33B5578793819F233EE9102EA28A644BA31
4970939B37521946F7C100C14C10CB07447798363840A243E92851A4B5947F51
0A7AA5D02B7067F36D039E67E4DA4BC29B15407279F402D3D38C9968B2EEE584
242047A36D677886D437483328CE26EE33B581DD4D6CEC6ECADCD0D6E751781A
99976A99243FB32490EEF2B2E79EC9ACF088CAC432F7B8A111CCEF09787E3F4A
D7263784B3DF19031CF6291D1178247D9883918B154D7531E808E65AE1F70892
859F474E7553694B4F374E6AC765555BF52E20404F74A7799678392533427219
DF438D3C4518DD75D798E38F6EB01920582AFB764334F036AC85DCFCB43B55D7
C153D51AAEDF3F4AF81F0778762052AB54BA777ECDB94D2C3817C01DE4D3E3C4
3359B1DF00FE351A9E7AF4A9AB6B32A781AB4F00F9B83E16184C743CE77B41C5
872AE47685A714F49D53654E9E60F86C6869FFB60276DA41D5D22B2171411646
F45E92B1735E64C983C6DCA151FA0AC1EE2358DF722593A0C8AE5EE29F1D4E3E
56C2019EECEF8A4E0D77B37F723EB2A0C0E15A3D832698D96500322ED8D222BD
BB05C5A7DBFD14289E5018C0058F36234314EC47CE873B37DBF48C885E1FDF6A
DDF27A54326C34E593F7FED96AB1665B2175DE1A5AF1AB474A25A05767739CCE
0893BBAC9EED6EDC0873341654502CBC2BAC0A21F13F5B980782F2824B3D3953
5B7CA8B366C7733882F84C825F978FE2BA983C8552FA01334CC09A2B29940640
ED95376F6F2095D4D1F868D2419B6FEFC8E50F993CE05A8502327EA9D266ED1D
A21B5A51A09F8D102E4DE2F72CD88232AD6EF5FA5FBD13196B12BBFD91DF6C81
1D1B3EA0BC67E4DA725B09262CD5E29D3BC3180261C994700A7F0BBD39785BC4
2F2182C7FC167DD51F0031D054CA74874388EFEEA19F40E8C11E11D8BB319831
571B14C6636C58AC85C455A5AB6970440CDCA23CEA26D7DB3B4BD4AC5555AC7C
A342281D41A07EA5BF99BFB64EECFED3FFF0A6C1C4049CE3BF0FB6B0C854FD48
244FFF2D14D8BD2A1C5B70BCFDFF383B80D6526FCF13F89DBCB10693E11DD32B
D4384094ECFE03E2CBEBC9ED811C707D77F7748CF3099D73A724B0BD339B9CB5
CDABA690F4B7D128B23B23916368E8026D159A83EDC593574785507A64DDCD21
E5298F3D384D0DFB83D5F052719EEBD339ACE70557DF41810C35152617B56117
3ADD5C667D397BAE718C600E9F109BD70761CB0CC84AA6662B88767F509F908C
39769AC17F32368F0A2B6962E7D2CDCE61260188DDFAEB8027869991F26EDBE4
DA8FB7FF91FCA0A92BEFDD1BBEC611D5F4D98A4FBED48DE12DE7F7A77B3044D6
4B83F9F1EED216921FB93E74BAA1CA1335F2D725046761C200C7EF6D9D798A4D
9314A685DD98DD624585FC843F2CF6887E01D307A29281B07689058019343E49
FAB0E80B1A2BC3966C83E57AE1CCC20E2A0074F810D11D0D04664F822E874D07
916A7D58EDF94ED33CBCF230C285EE4C69355FB3E61984C26D80399AA876ACDC
A19D301F97321933A9077E9FE18C530FFC77298435C05E3988416B18A67CE9DD
97F56E5E244B692A51F46E19B0717B9C1C7025D222FDA1BC0A267EFA5C906418
3027B49961A0FE29B688A2C66F046CFDBE77C0A190556A5D566DB861C9658C7E
35120C8906F0908034AE59BA3D0928269E6A368395D483CAFB5C86E3AB909554
5BB96D664273FF6ECCB77E73C08EDA4C6F1AE4998D3F6D20B8556285077762ED
69BAC59F400B2306A66B0613AA7C1A4A3F28A80AD7F29667D4D7611159DE6AFE
35988B70392C1C2083BD20FE6C59771343BBEA110E40A809F66F604841481312
B6A77BAD7C136F470516BA474DEDECC8B64E488E9AB08A2963C7C0E22F265407
58EFDDD21F1E00C0CCB5FDEA3477D1DCD8A66BE72758B97D08929CF28CC18A4B
992E18D9849D5EC3F87969109FFD6BB560F76FC86B742AE0D43AF7AEEC29059D
5C6A3B735EA38A6B25CF6DC768E773DE64E307311A1DE6A3AB2D8F4686C8D72A
705D5A72AE7C1A3C100DDE3B1AF88A65BC1F525B0887B86FA45B26FB0768D776
9D9D2F4583FD0AB60271C89747F529E7A1FCDA9FB7D4617BAC9362F5459969DA
F89613DDF1B2FDF7BF071E99A18A35D77C4818AAA4E68CD5E97610057D8F48E6
3353025118EA341A1BAF7D1ACBD90DCE13972044D62136BF58F9A87B8AB0E96F
3B383697C00FD2AB64C05E70C9D0CC98C71720362260E7198F2924535DDB69B6
90258F1B684EC457291780EC9814851463EFCEDF080717526FD777FFF89F046D
39866C04BCA80F7FF71EA6EABC6CE4EF163272F63847C380783444F59B87FA27
551E82F75E40ED4ED3764E0FDA9E92E90C8D6751E8BE05A7AC69F7F3981FB8F3
EECABD3558710A22FD42D7DC70FAC4F051AA58DC52A46F0D2567A0044DA01C93
F973E6E4F1C5197E3E5DC9D61EA162E23F3663A26F3D39C49D31C78558FFC8AD
5ACC942B840D563E77CBF7548E50AD335B051D2867514741665EAD49FBAE1665
A0D623449CD5824FB0D7DF30EF6D2322A4D9DF3E33A8D9130A9142DADF34D58F
A05D62D4602DB9B65488EBD295AB97E50BB471ECDD9CE6820F4A598493204AFB
A7163A2AE5812EA294CFED6ABCB9F82AED36DE72C12384DC3681768CA5F01F3E
C1CCE5820EE76EC83596861E38354BF6E1395AC5CB0AD4292CEB0720E1471EF2
0833D16A57D1B53951F782F051F18904A37EB011938BEB4A1EB835C951159208
1BAF6E9E23382761FD69EF32B52479F48D20C6E3DFB3F751D11717FBEC502F21
CFCFB2DBA0F2C703D91E239067AB482EBAC7F847F21907CFE1085987E74DB6EE
512614FBF2EF9684742209D231B4CA7ED94841B06ACB52476BB55EF7519009FC
7DD40F6F714E84949D662AB42FEE833A7B1C82A1BE9AB22EA7ACE6203CDC990B
585334DF80600088B8E7F446F85177FB96E1CD6A9B961BEC955EFB01A4C38B4F
9FE2AA0CE7E39825A07B8193AF9E6F7FD5DB9CCA7EF1C788CE316BC24FFC66A6
EDB5DBE9CD3BB183696DFEFB8DF020B2206B32BD953C3585433CDE395DCDB4A6
449EB03429B74782692248DA57AF850465964C111FE446C361A2003EEC2DA1F3
95F251E8313085A27B886A4254BA8FDF1F725AE5FBC788C1FA836B4FDF52B43A
F1F719812D10E2A932034B5B5BE6E6B44324B57B521AC627EB37B2569C75315B
72F84C30F61CB1267D017A8F549812259F4D5E70D774D0F157220019E3DC2F3F
478EB2F41087FFEA3C0D53B234E7B185D91ECB01F180970FAC5CD3D367C55C9F
B2EE1A9C3F1EBD2363CE4DC7B07D9B75D1B664117D91ACC84BB408CD5F90C651
26E33C5900A64CD747B3C884F3DA8C3024CA2EB248371EADF955DFD700B6991D
AE4C62E4776406E60CD077946FB83061DF89F3EFC7C98AB62B611850CB8B5525
3A973CE7AC9C4B2AF4F2ED1E4B1D05F07E90D4AABDEB39CD85E09B1CE0184BF7
A3B2D6B878ABEF657FE6A5DBEFD593C6F12B533B1F5CF281BADDCD2D5827EAE8
16B7D693EF07E690058ADB748DF4E0FD6016F0A3BCE1D8B5DA43ADAC24D5CACB
A4B01BB8590E3CDC888FB2ABD6772A1DCAB1B5DC05B7E6C25D67F47B789D55BB
7B74B66AC05D995FEC379A4660E15CE1E525D0D60A1FD8A169976820A8E09C0C
CBDD9C70EAFDDAEA687C9ED3BAF526D83FAD1252AB007B93AADA47DF7519C368
0577E9FE3546399670A537BD29494A740F8340A9053CA42FAFC80C11886EF401
88BDD78A57F62638593A63271CDE5F5D12F9E30F49F636F8F25206940230B5F2
14CDFD8D0A1FD2F6692084AD2C2CF530246C7EE0C61AD46B53EC9DDE8EC2FCC4
3C389250D37CA37A36934C9C6425256A0C4AF112188D998114AB60BDD53BD6AE
A5DBC71D71B6CB6E4054EFE6AC5F19EE1FBA0CB4206E336420D4C1E3CE08B275
5E0ECE2E0340408C0D9E5D8B4E500A73675C93C032A002015A5D36B8CC51F2CB
75728AB8B39F53660C29B12B04C5D3B0F4C819E38BA7101F86E38C0C2268A50C
CEEAA5BCBCFDACBB61D69EFCD071164BE0FCAB224A9880700E20E0BE56EA7B80
5C6DD6DFB4BDDB25C6A835CF8BDF528F9CE3D006E81153FFBB2E82F4FA5F4489
5535A9AEEDF31C2D2CF6C946E867BA8A455ED84708BEE60331F6152EA3666B1F
BC08F64E1636D97FEE432EC05D5FE013D6A7C563F33C9FC8236135DAB78B2828
771E928665A89A580BF2813FA279B06EBE72BC2B5D154612077F8F32E97DEDC3
7FEC91ABA91C1FCF888F0F5ABE7338615F3BC18A9B52E8E4A5479E529E3CC349
43259B970540CAF86FB497E4C237BAC138F9F5489F18C5EC08E3D7BA66AAEB96
93E11F975C32CD67F394BEC0851D40CFDFA31A2389D30EDA2D4FF351CEFBE349
13F3DE8DDF835DF47A26E179D6C582B4BE549299066BBD877C35E484667B7E83
A208F7A9536A73198E074CFDE83381600E135E7F4E746C2DEA74426B1B88DBEF
B5C215C76692A4742B2ACB99DBF846F237B69B02141708D2C6416E07FDEC59F4
842DFD6C2C8A99D8238BE1BE9BEA6596AA79B3251B202FF1A6E099318783CF00
DE9BE025AAD1C574D07EFC187A94C3FAF3EFE978CE69212E24534DDBFA6BBD7A
6021BBD2D4A99C5B52F0E6F0E11D5D1D5F7542FD173B42F9FE39FFDD1496F4E9
5545BDB283C9046E9CAE7B54135C50C440E3AE884858C7DE5ED780E2EBDB6AD3
22D62A01FC21DBEEECDD3E91B64540352812D16494609AD6607481991B75C09C
F9494F72E41063AE7937CE8CC0018D197E1DAF8EA8F27723C6CF7B955CAB87CF
0F1BE3DCE41B2FE67E4D539EFA43EDFB51CB2333B38C2CBD8EF68BBDAD350521
6B66EA6F06C4F009E785CEB6C0B4C065CC56B7DDBDBB64A018CA23
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMEX10
%!PS-AdobeFont-1.1: CMEX10 1.00
%%CreationDate: 1992 Jul 23 21:22:48
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMEX10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMEX10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 88 /summationdisplay put
readonly def
/FontBBox{-24 -2960 1454 772}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910
DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8
8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987
FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422
BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52
EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8
DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1
EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C
6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281
E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350
E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38
4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5
8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023
8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2
FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A
EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387
680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35
5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664
3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666
DD4DD1C1C8384F906A7BAACDF441BB0AAEA2A697E453D89E61340D3A13F615FF
3E64BC24A22786C838BF3BAF6B2829B5E16372EE3B9347142EE6853C37C61423
540C793D56EF624F68D2BD0C0A43524C3DD7DE1A30702B79032D9EAF715668AC
6701F3B3E54B877104A17D328FA3B6F17B484771428F11365153D779E59132B8
8AA4D47495417DC5F6CC5315B779C2B12A4EA32D16BE254D2EF2E0FEE0021791
B46226F1A45386FA41C56864FD6EEBE29E98E00C279EBA6F17ABFC1F8E0519F0
A9E5A7FFDBFF06D6475D65A977BEA0F5DACFAB70461E8E08B1BFD3D31ABB37C0
5C42D17ACBC194B89A50063B9C2F02ED26A99FF436DFEACD70511658C9554FA6
6EB73CA3F0A8F17C8C34B79C6A5BB7C395190BA6822EBBB81A40EEE29A69E316
9AC9134E9DF5007B32E8CFA45579F310413D25E82691774DF4B83610A41BCFFE
E2119028B24BFAED5197C3ECAC5F0D0D66D17E69
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY8
%!PS-AdobeFont-1.1: CMSY8 1.0
%%CreationDate: 1991 Aug 15 07:22:10
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /minus put
readonly def
/FontBBox{-30 -955 1185 779}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0
5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F
80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107
1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB
DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20
9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1
CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA
F83C7D393392BCBC227771CDCB976E93302531886DDA73EBC9178917EFD0C20B
133F1E59A6C75D5F3F5C6AED02D738369ED9541D8815D9BC42D34C187B1ACCCA
8D5FFF1FA552AE4D2C870DD17119C4BC8D4E6DDDE0E925FBC9391C91D374019F
B1F6AEF0498EFAA5974AF35567983E6F1A3963D01C1FCFB2CCDE0DAA89CEA35F
FF4081BEC095A7E0889C4326D0B26B343528F28A7EBE951B6B59E77CEFD4FFDC
D8A90A56EC2B520060869AE646FC671A833C92A49961EAFF92500196526B5CE2
3792E028EC16CD1402D86FB8AD69679F70A14AD2276AD0A1CE82302ABBAE8D54
308988AD
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI8
%!PS-AdobeFont-1.1: CMMI8 1.100
%%CreationDate: 1996 Jul 23 07:53:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 69 /E put
dup 105 /i put
dup 110 /n put
dup 116 /t put
readonly def
/FontBBox{-24 -250 1110 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120
788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62
C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32
617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1
D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63
532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B
5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8
4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6
DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E
B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2
A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89
8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA
D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817
AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04
AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748
A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827
AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011
85B385124B1D786840F2AEBAB2DA265F4C6B4C1728776A8D70DD8B89EF693705
448C277F9164FD366FE67837A9FE16A386D1DB7644A518C4F4DF046B9F0FCF52
56EF6ADA2036E20586E9FF0BCB3616D3EB4BEC2CF34F54568DF6CF22E24BD161
87DBDF3E3A68A7DF82851E84C45318855751027847CDFA3C5280DE89B670B078
6ADD90DE31C74DF446EF9F3571B9FF7DE4F0CC46571559BDE4D6A414662BB9E5
D1507126357228D8B412EA8CA7FB468B139C43DDB25FA553D40136CF339B1A80
52208BC73FAE57F31FD67A3CB93D655FC5E63E5E3DEA3893D6162CAE7F08AF50
12347E637A7A28035DB359CFC2D996B31637060982F2BB1AC27FFCA909B572C9
A625DD76A22DAEBD0FFD0CDD0BEB7EE619F6011271AD8114BB4DE98903856D4D
24056A5BACE77510051EE979BEC68FF4E5F2825C819F414AA505E77EB10339DF
D05A4102379345C0877548BCF8819AD0A3379BF95AEB22CB591ACAF3576B641B
FCE2DAA99F24B6211896A74174A5C94A1D88ECE716D70706714AF795C14E0EB2
8AB3E275F216D519A747586D9E01C27A087DC245F64095365E2E772BA1B077E0
B78E0B74C3FCBB432CBFC128D8522AFF93CEDF2EE90BDFF48D38BA58432D223F
3833CC28B560BA7F80CF148BA334D127E3E25201E889D920AD5EA74386A86552
CEA636176EF6AB897BC98C7F285F4F92D7C09B68B765A0CFE30496D6D682375B
FCE222DAF59FE1003B8239DD545A97C35C552ED70AB0D76B848A66A6C1B634F4
2E5F61FA40D75F16B568B488BA3CEC986DC161F228C29FFCAFFB4F094A37D95E
CE93CA5EC4D56FBCDAC97C40B10C8417C3A775355D019023EAFD00E25A8C6F6F
A8BF34C4390483B8E20E5E183D610DDDD1A81EC45852AD7D1CED3652DCB085E8
AB53399168ACFF570E6DCD336472B9E9E6EB945A18CA428B6155137511F34141
68A3552162A6C0B11F64FF5F84E9775DE4B3EF8F20BAC9ED42DBBF2A9BEF6FE3
25C1BDE6CA5DC2A7FE16867744CE70553226E2810F44728F54355A85775DC36F
ECCA60A8DDDAE7008F0C1A833165BBDE8DD27E909B04F62F1EA2D6FB46A2E9C8
F5583FB492F66CF860E8B64DD288E5731624C002B1C9E1C7D09462A61C5C89E1
A216DE90AC66D6FF64B79516B052E6669B6D44759C942B98B5AD5C34E6AC7114
11624A95C203BF3960CD4D46D77DAB1C62096CBEE937E52D0B5FF33E810E7C78
0496635B1948FAA2549E6C768A556724B1F4EACA7349DC272CC5EEE62E552373
86EA7FF78691FB9588E3F81256E6152B380EA33FE6F8C009182B41A68AB4C711
AD5C69D41F810AEDA98A8E9C1A4916963E4E8DAF72C31F79215A41796DA1A365
469607184CB166AD77B3D96D0901581DFD22C6DFB351FC96A0910E02460CC5F6
4C887758C753340A13A3577C9FBCE95A2E2BFE97A1B456562076362448A7DDAF
69D3CCD62C790B6B7140
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR8
%!PS-AdobeFont-1.1: CMR8 1.0
%%CreationDate: 1991 Aug 20 16:39:40
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 43 /plus put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 61 /equal put
readonly def
/FontBBox{-36 -250 1070 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30
4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632
BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B
041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721
3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BADC81C02900
0DA0AE46D5DD1DD4ABA9CA5E858F12F138DE4D1B5EB2A498C627C9E1CFE54450
B3760703BB9C7636EC2FA3CA0BCD49140231B785B1EE50CD1FD33350447555ED
A1B133639EA2BA27727142D5FB2C0F71E3EDB3A452786EC7DC9577E0DDC73923
8C542AB84A910DD1E28769122CCB4217E3823FFB4F0D4FE2B1C042BFD975C8DC
74114438B84D5D8946BA95286DE52FA0A52B27D88DF5D050854B4687B06B49FC
D746928DDB600EACBE1C0CDAC04BCE7FD4B678E557E6A41BC3FF83CE9C845C13
9C730003C6DB2D222AD323C47528AB93A5E98F9B1028E3DBDB29F8F1D210A5E9
10B8A5F92E8DB32E03E4C7032CE694D2A910CA8A3CF3D8351324B2D5F76AB4F8
512B44E6C06B64EC35D9E1D69987B6106DC341109AA2929C58264ED2505C7265
49F53D308A08A480965F50A5C8F9EDB1A01C9D3227A2840225CA7933ED4B9DF9
5C07956FD9539E04E87F0E2FEA24F41F987FEA0DD5AB2C2122A305D4E3101D5A
BCC30298222D782E3CBB47D94951B906EA792E3B0CE6D7766DEADFE33CF0BD61
E61058891E592174B9B947AEDE465AB0D9CCF5269DBF715BD2D1B1BA47A8194F
F45B96D49BA58826B3D8C0E938C87843ABC5F781A425FC8F29CB193E6366FE03
E9BF8BA6F3EEE4DDA83EBCD1363F16FF3CE61B46576F3CAECA124A6EF4499ADE
B01AECBC1EFBD1674820E7408FFB60A3C9AA8181E560112CFA22DEB9251C8291
C90A554A0894FAD4C140D1712815BEBBAFFAAE6BB8E2929FFB6CD198E0E37D80
86667280498347AAADA113F5F58E2830A7D6C641B23B2627F29BDD64FB677AEB
29826E07E91F3AC81616F4B569240B57E5AD8A68390DD5B4F45F0A1FFA23AE71
8DF60CACBEE5915A599F2F24FEA51CAFE304CA46017407A8466BF7E8B0AF5E0E
ACC12CF4ACDDA91CCA488A30A22E517D1D5461390DAB61E0F76A6334BDD5BF3C
BE1ADB188F3483464E997B907E1F8F07217A4C693B364C64388A7F71665AD5DE
A23AF457D31EE1EF7DA5BE53F2DDC80939D882FBE9D8C827D9125B4028977A90
C49A087382A5400C95403D39784D11B64D97E95DC1584A1B77302C8874EB127A
749A5BC622CB6C92D8D33A56AA58EDC7C673F484BF3ED5C46F4BA0C0E29149B1
D655D84D1A84FE007405559F3D55C4E6F2F2E6C83C0F37EB30468EAB6F47933E
97CD71F82CB3C98DC6A8DA609C881A18539338B94922D9563BE80CE8D522F8CB
A37FA66330E474DB44E32A14989E0E13C9BF3630C96914D3DA17FC8CC0AF25AB
2DDD0E910CF5D4DB0451264D975BAE5DF2722C50F4C1D9E4D9D213C6981549C5
4A7E8AE45B30FA3F24E538E9F165BD40C0FC507E211FF689FE915E2AC4013562
50E5E5211334BEB2812ADE1FD91C5F3A50A4CEF02E0A85BEEC6EA7D33099E2D2
644E5C9F85DD107707D3ACCEBC73B722717A017F5AE7469297D994DF658D04AE
33BEAD1A31E029A9922915E423A0FF890312C84BEA8143FE7EC6919F9772B650
86F4277E3A29C3C73052C3ACEE3797D7ED98A97BD3DA9A170FD7D32078456596
CBDC0E3AB3E3E584465949E884B8FEEA21B78B107250CF2EB33FEDC7CC2754E6
24130C195F301E5FD7F6680DE3C291DD546AD2882F71450653BB1D3E1609D303
85C5B94ECBDF6BF7356D700F4B28E7B27B64F28D4CC6091F5729124F0B92BDFF
AF9DEE55E31CDEE06AFB2F5D8C24B6F4233F4280FC318FCC5D076931F458EEAF
3577797DB629F732797924D026E436A1C35CBAD303956BB0B85583E9131036B2
F711C5015A9CB721FA1EEFD5E74F22C797CAB8D8743136CAB171522182279100
76BFAFBFE70E04655068760DBA0771FBEC1B974FD5D517FD71F01C6ACABBFB98
8503FBA8FD0F68D27D660EE845EEC66C7F4A8CC28852FF444275567711175861
737FC845349746607808B400158F331B3DB499E21CBE67E7864C2C14F82B09FE
8EFE2A0D9194A6C048CAD70B56EA4D3F7A91EA7DF17326CF23DAD6BCE9559793
F633FC7B9D04482B487DE2E8A6F898D48FDC8C6C8CC3963A0FAB2E99254530C9
2021A71F6C96CD0365B06E04404C06D2D32C5CA6463E16E5C389F561ACB58B65
8AE8C6C89EE6F4D4FA992C4E89101E8B546778FDD7A370D5FB1AF71692452D24
9F73957E4E8DE51CCF914415EBB6B04311DD05C3
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI12
%!PS-AdobeFont-1.1: CMMI12 1.100
%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
dup 59 /comma put
dup 61 /slash put
dup 65 /A put
dup 69 /E put
dup 97 /a put
dup 101 /e put
dup 105 /i put
dup 108 /l put
dup 110 /n put
dup 112 /p put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 120 /x put
dup 121 /y put
readonly def
/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
CA0A265B570BA294792DD2FC75CE2C83DCC225B902551DBD11E687EAC6E85D2B
02C28359A40AE66A6A6A8862CB17815B41E280313F0EFAA9981755611F7F683D
35603984D60BB0C772054355A97A5E03C689E23B04DA79080CE4579CC90EF38B
1A64CDD92B907AE83192C3C46C5FC40BB412F6656DC6349E6D29B5936DCE94CB
98E3B465FFF7574095F57BB3750F1A55F20456933FCA64CC1B060E260782BEF6
721D38BF65DF1F1DA5439DBC802B4A9D803BD635C05B9ACA4D26C28195A1F4C4
CC623B30B076D4861E89B93E2CF26F6DF07199C03BA5466FA3EFBD7F77EFE068
E55B7186855063934C5716EDC3F5056BDA963B6B933B546475BCFF91C512F411
8D14B1C32C9735281E536F87ADBF1AD9AA04D7DE2096413AB8B3C9E8B1F6F338
3B80D637D761A7A992CF58188FB0A04FD6C6886A60F27EF31C45E92F4717D8FB
D4A0844A8D9036D5F2BBCA2C170F3042F22DEB8D151C7135AB91DA289886604B
70B9F2A25A7D576FA1D70DC935CDD3E81915E9BE11CB03C9FDCFDE3700BDDAAE
D61CD52A78B075FF4FB8BE949FCC4B04813776A3451FE65A47D57D7B66499E99
B97C5141D2E05BA86C59535C34BA975381F96A4EC47EA032C6BEEF9F2E6565A0
0712528976CD8FD94E2F8F2607FEE1B55382A62B35FA16C62707F805DDD68FAF
F18133F16F5D312246BE70BD7BDE367A314CDE17E9E69A7D63DE373262D397EF
45C542582B6F56F890EC5EE8DD9D075383DAB8FB7A9F111BABBB8C52EA764237
BB66DD71D1AE8253B62B760DF589FB2A1EFC7012142611205589FA4C2263FAF8
31B150E964FB49C0899A9FF862A4DED7EEF9D6D3DFC472576307A8DC84CDCF78
4E07A4DB0D00DC83B3BF8A0589E6E6E464A86C38036808EED272D50566ACA7FC
51887E252E8CA463340490CA6634BFA6F5B740CF77B523DA5C966FD7221B1B7F
A3B477C5D9CA00A9B2CEC07C73D86FD624211377BE6252A783EE4C52B4DD60C8
2D10B0CEA69B2ECF45155FFDD866416419278E5F14C3F2798EFC1A5D403A9196
5FBF30ABF32B9125095A1A48E4942EA72F95B97BCF896CA24E30F82A94D34F2A
E95D2CB8924E2A0AC126DF8298CE647B06086C6E17991A2F2F21C0B594F00C1C
7CC6CC29D980E8BE5C9082D0C1702581B40ACBD5C2561793DAD1475C81AD3AA5
050CF5F36B1DB8E9406AB4B80A93E64FFFB1930DF1370D06AD9AA7918ABE510C
B2C41511907E82EC4C6184F759AF0D1E9C82FA3D906824B5DAA28B60EADAD58E
DBB385D77D8708192323165FC6423545352CC5BE10608E1B2777D0655217BA01
7570BE3C7BC8398DEBE79D3D687B46A4808DE80E0433AA411F85F138D87EDB92
2424D32B8D6E0C8A07ABB7825603E57AE01EF4A0EEAC985350E90F0A4A3C0EE8
40676183918F5C2F06FF29ED1E95C3D0D5285AD61F538D5F8B46AE293AC2AB4C
D71E719891FC3EE3CDED607A99047173EBB5DE65E05C93EFA4C434B3725818AD
D0DF48E5A6D831685953059A8CC43DFA0A20EB5C31024A7936F8B1DC52A00963
C22463AE7DBB3E94287798D458BFCF0093A5DE4E32301F352AD944221EC6B9A2
8FC6D59A89F5BE27FB819199170DFC7850B0990F4542039837BD07456B6613A2
90DD379B29EF4C86298722D7A0F67FA53A6D84FE3E2FA4BD0B8C3CB019B3DC1D
D63554A9058EC0B5B31CDB82C01C3AE39F0D24D2E2FEA4258254467E0DE73779
27C5AF3909145FB4925AD0625407985CFEBA3F61FD1F890B930207B3417E81B9
DB0561AA8CD7800C944276C0275587134C55AD3885404A3CF51FA10DC79AB455
19BF5C9360CB15F167F2BC70475F8C88936939FF7F0E48CF2171BB3B7C917E5F
117695D62416D147B237564D39FA5AC18688F286B4EDFCAED07F977636D2F999
A2669D67EB6E44323BC4275529178CDEEFF9A69A024EC5749497A43571303A79
9D7596DFA53B30E40542F98AC077D156CAFA77EB1C7C845295FA678C1DE96768
51FDC78E3EE403FDD7A9F803659A2AC893624AC69F6F8F076DCF3A80606EBCBF
C84D9B9A1024BE806DB84423216251C94F8496B9A8FE5D303FC0CFDEDC70FB2C
69CADE1BB816B6D71D920493FF77AB8B2F9D6407BEDB68CF9A7B9CA5C0CBFFC8
999B11F96AB5FEABC54F7E49B937559EC24763AA2A08A8AA9984B95DC9E593E0
F5939B99E9E3F43080FA27E458FA30B241B9CB95B86DC83CE160291828EB407B
C5CA9393C867D0A283F1C350E90E645797F0FDC27E5DE08117EF5FEB83CDD166
37BAAB318C3A59888D2C2FBBAD277C15220CB62953D72166BC4C616511269ABF
945D0AA699951DA666BFA0DC313DCBE977A5BEBCF259164066598DD329D67FC5
F4D2E82A0C652906D38F73F9EDADE07403D115D0B2AD2492C5D1E3CAE031BC81
4F308708C6B9E6625225954A01449759458E77684D1D8B5EB445DBB5AF2284F0
2BB738A700DE2F73786704343BC041F61180551508D7663FF20EED8F8927D523
30AD2505C4C5D72AFBAFAB11040210A40432BFA9B9C956228F6834905FF6BF03
EA03CB928F12D32212ACCF7632C6CF87B317B1E976A653FA0240237B76AF563B
725A475A4B92B84D21BF74233D478EF4A1680CBC8CFC318BC400FEB61201C0A2
10E734C102A1E09A63BB35255350B6B6FC4696EC30C95A28178670B458B8A942
E8CBA48CE9000BF8705A394E787770B71DA8697DA41C5A5962220F393DADC464
871464B323B23DA2E30623AE63D4168346F46F38499E51EA1626D2CCAF55299A
127DDC80C4D108FADACAC5FAF8CD18255BCA561D080D65020B72B18C9FC44100
97355AD34615F1047ECE492D8152D4FB436B160469376335E3E34E0B5193CF0F
F2245E35D896F1369AE75FEBD63FAE25F152845A57F5F7653C2142F042CB731D
B0B84604EEFE61FF22E9D5AF07476CC29854689B65060697CA5DC7102456B6BE
703FF78FF1EE00324DCF6AC8B332211D8C476D0F40ABBA9EA3D26996133B8F25
D97F699B97D6E030D448A8CA2B15900DD85B5F105DBB4CECDB056250B203CBB2
32C1B90A213D89305770EC95D035A93209F0B54F24BDA16E799C52FDCF27C88F
BA641454DDBD535DE47E1F7D8CA6AADFC4D4275017865EC70CF2A2D46AB52DB7
33B047DCA315B2E50B3FC813AD5C2AFDE26C501AB40BBA5B54D7F2E026A4A69B
5C95D6345EA48E667243B62A3F181CFF7E493ACE7C0DB6A10927719F7A5E887C
19588DE89B2CB1509F5B9F83929EF9248CA46A01B4748ACDB22B55D444B9611E
55F7B41ACF6FEC916A0846259C105D75FC7DB9363EE0DEB9B2E1ED4FC1DFDDB0
B1EDB03B37887FC6B5B9923FA4C26180613B650918CE070E9C90DFA611A90555
2ABF245A7A49E98BF94E4C2091C8D4BB5DE4A747F3820BF37C77BD736D4DC494
E3B9074D50399B812F8471CFC017256AA143DE324E7359B26BE9399D049AA903
D8F10B10F0E70A0238459A4C6DE41981A37C6F5CF5120FB0885695540E335CD8
910CD2C43FE7FAF33E5B23AEADFAF28AE487611DD86A2A4CACA1D66C5DCA034C
5787E2E5DE0C2C9A0DE0B56DF29A4F6E6B80273F5610F85C2C68EF7F694C8657
A03FC067A1B0BD657BEF0B6DF4B982A5D6F57231BEA676F14EB5BB5DFD8DCFAB
4281FBC3D334ED81B78949C9DA5DE6FB13E18B1A52DDCA5CB1F5847C317123A9
78D99580A817FAD25DBFB52352D40402C0512B96440C8A6C34AAF7B500FBEACF
8287C708CF0946074DAF29143130C3EA347BC59FAEDC1D6C4C6F7CD1D911482A
E536A119A21E9D6C6A85E0ED7910714DE5F5A6215AF107AED3BB7BB72239306C
B1C3B118822B1062F84C7C0D54DE15AF09286492D4E3B2A70569CC0ED518D81F
DABA08E123482078C87EAD5CC8740F9A9A04900E188AD2EF3CC1F65BA432E0BB
C637EA422B73445D0AB4872D20890FE8A79EA2922A3077A46F65E24396CB73CC
086B099E1DCD20671A0893FE2EBA9AC27F4DD458FFB9FE5E1FFA9DEF6E0C315B
5D2B61D5F4CE2CA3927ADED831D42A535F368FA86B33ED10D86A01742685CDCA
746B12E1A8B8D62372E8C41A11BFB336E4774F66AB80E97A45779A3961FA8EE0
B75B8C4941BFF115DA84BA3DF69C83D6D9F3C1E75797AB42AE0A54B27E534E51
CEE675BA93A15C9E93E1E6FAC706237E289429C50D795BD8ADE6B0F7C8D38E90
1364BB0EF5F24CF8CEA1DF2D7BF8E5C7C1DC4AC02F094A871E83D27D0CD46D8C
9331D84ED07EEBBD996D0AABB771EE334A053D8D4EBF19B464DB96675A18FD00
90AFE6356661DB73BEAE160F482138FE75A6F8D608BA26FC21DDE0C14B52F48A
239C3583A0EA99BE5D09AB483149BB8FEC489235064C7250C35946DD038C1F61
2A00380605BEB863D987565D832915A13B8FF049807F1A7A0779776ADEC9EFB3
335BB2D2D6B90CADBA3497F1B8727AF6AE103DCF353A4EBF1401CE54ED601D0C
2C6C15DCDEC4A61C367682A802658948D29389F8DFE5FF83CA3518A53AD51157
5CB0EF2EFF41E481C9CCE169149C4F8393951D32F36B99CFBDF4D077E8645FF8
A944751E6A0BFDCFC46330978B0AE6C3ED4C8EFF832300C1954F58A8B8123083
D4F359B5AE2156C11157B2E9EA7AD3E22DD94DBE18B2231F1D80B3F6867A694E
6DC836E97EB14B44F8CF1AC7EA3106A83B477AC72AB96B1ABD55281872D3631E
136580D379674A8FEFFA5A3FDEBAE556077A3C4A258D15754CE94AFEBDE9FE21
9D7902F608BEF21AA3E9D654EB49F67D956FFAB6092F662B6CE940D1454A3810
28B02CBF7500A1C5A7B38F689DC531962A12D7965BB823CC14B4745DB9B2EEF0
D5A14120E863C234A837D11504FC36325D49CDFC74B945B428C9740865B2BA17
4436B330E351E201452E694BA83A88644F4FD5D962F0E9452B2167826C98B86C
98A2B6D78775088A79A7B5771A21D6EE2E557D5D8B5A65591A38FE582CB754B6
E9E97248EAD6B7D57060B12FBD76780474EA1F1F8B5F2BC1D6B8EE977B2DF4DA
0278C255868723BFB65D05462189F67039A362D2E1628009B12E56F62C2FFD6E
30236BA7537EF4728BBBAC36548BEEF97BA517845F4C7F653E6560F7E5AAA437
A95783D522987FA07F80D55D30F1136238E62CF9DBAA3A7EA5ED5FEFF0A7BDAB
2C6B2BC5F0B06F20E12D7A97EB3BD13B6EFAD72C37E5018CF168A8DC20AEB02B
7D584E9DE092D2BA43C03102227FCFEB45623C4F5C3871C5F8617DAB7EF1A904
2D8DD56AA61999496476B517B760E6A6CC78414081028A238D2EDBBE542CAD35
B43ADB42445A2AD62B8BF5F223929ED631C944655335BF47A278087C4E285B66
354777BC2482842BB681AC4D81E83F2E7BEE99A1F6A507E2A5C8C6909D485701
67B0DE62440E4D7A3AFA2391241CA617E1D19F0DC38FF070F6438E5E192838EB
6060FB27677F0C0420D55370819D7E0585D814603684CB7C25953E3BC09C422F
0CE89F077870C4A33E5FFF114953BC1AB7F8DC3081609F669DB37FE81CC824CB
0D4BCB
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTI12
%!PS-AdobeFont-1.1: CMTI12 1.0
%%CreationDate: 1991 Aug 18 21:06:53
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 49 /one put
dup 50 /two put
dup 58 /colon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-36 -251 1103 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
525003F3DBE5BF07B2E83E66B7F97DDD7CE0EEB75A78BD9227BF359D002B6ADB
8AC57A33FED4EF021A7085B1E2B933DE602F0FF71467ECD501744AE338AF29A0
26F7D368AC6F25CCB882DB7B7343566192BD687E1349225982823027D3B66703
3B0DB7A7E680A682B98023D39C7FAE81A5D5B867A0A66C8AA0DBC83B1596A84F
0436AC6A7900B767BDCCE0060A4811003C79FDCC71D73F7F2D0A6675E93AD21A
56B4CD8EF75EED3DE8C0A18BEBF7B9D1BE72504872D56EDB272F1E97FC726CB6
68C85C713059DA19F6C2E0F3E12710A59B6FC4699AE883DE8C8615B7292AC25C
D5714B6CFB14EF0EF11EB13009BEBA4F345A5D3D6D9926ABC2BAD7DB1328651E
437BFB3C46DA7B62219660FC368CF3D3704DAD3AB461C28F711665BF484BF61C
052093D231CA65618EA463D63E406ECE858D180A6C0589B2FEDC321371C28E77
DE974D655DF5FF7D41ED01FE717D928A885F6FA6CFE4D2C0807F8E7F937916E0
96EDD1A3BA67802B1F4A49100E75613BA0356D9DCBBAD4DAB3C59E70A47058F5
2163D1730F0EE4D1F87C3A4AE723A23CFD7986FC4FBD399347E9F5946354E013
D860FC446AFF0B0744F5DA27CC777C96ADB388D1E835DDCBE123FB517679B9B7
EE5A3DDDCD392415AF58CE22EA55B7F47031138C6F27798B40F7E18FDD315912
BE99F33ADE0FDD538A8A3E5DE58AF68A54732AE69F188F3F7E0458D848205648
CBE820C287ADC2394520F03BBB97DB893F6A12154B1B7F8626D35CE6B70F8524
CB128DE87821A0E32F1E825F6C50AE8B4BE37FAA3183BA4D678E896CC7E61CC9
D0226FC38B9CAE0939D19149D987979B96A86EB69A105807AB426639292FF5FB
EFF0817FCFD5E516D9398F1D7C96E3CC5164A764E25B1351FF3B037458A3BF8F
2DF746F93718BE18F4E6410A000EE99EE5F927B9507C15B107E2CF5EC0327EFF
6B1E906A73E07875DADFDC3EF3F587C87B9094131BC2FA083462948AFCAEE355
8917087580B1917B27C0A2D83C95D256CC77C7E4CD4DAF8D363BD6EE330C1745
3D57EE27D71D98B2FC269CFDF194B60FB452B881833282256CBD90B997ECCDD5
42B2C34431CF427D30E303080F48453495B1CE88AC5FB8787614EE0AE6CBB7A8
CDA40F6E25E31D41E6D2631E32700B82E4F5DE404DA5F99ACC5E5E030B00BEE5
873F72625BD478D3B0D228DB833EB97ADF591336B88EAA8EFB69F15521D7C3EF
F01A1A318E25EDF2243723D2309B22C02AB597791ABD69FEDE9920C997AE22EE
FB1034F8648893F4DBF164D0C89258FAE9B3CA0485A5AE6D55DDA61641B17415
F36FB392EA04F8C9E6C9C2DBC50DF995533A4D2DF7D8C784AFD33DF9D278DDCF
D2F7F718F2DFD0CC69E3FAC8966ADBB174C78692D5E7B7060299378E5B1303FE
646B1B39C5FF9510A6058E03DF9D7B8C59588768FBE59F24325358A8913B09F1
8328786A30769531BE1C0C2E9C49401D2390B34EDCA2DBB94EE466232166C8E5
B0F8FC5C659257C1674ADDBEE5D176C0D5B483C0F9B990560DFF3B87C89D2FCD
37CC91E50DBC51BBF4B5F51B0F26203ACC5BCED5BBB46EBEC523A26338D71E75
36970823D35E3439811DBD6D78E2740ABA7EB4BAFBEC2516F63DBF116FC7D780
C6205CBA49C084511350378E58C3968E9D639F4C3D930E91B1E1407AD9D3FD02
6404AD29B843449C787AB30407EAFC1260689B753549F4C9082F57724F362772
08AD623A3EF38BEA51BC51792D2B1A5905CE2AEC68F9545E02B6AB74AED456E9
BF8A60FF4605845993B8D8A2CE4B959B78A69A38FE966AC14A7FBA1F690142E3
D839FE4888FA2F6909C9A6976BCAF48DF1E57F63613D363FD8D990077FD2E373
C0C858324357140AA26F495346124645B43F335E841C8C81DBADE88BB5152FED
B95835357C374B2AB9C9A37430092D8CF8A056A4DAC571907D6CCE78E8212C0D
5E2B2E70FCCEAA220B5285BCF19ADB7F230E3BC1728DBFE04CE1ACA4FACDECF7
97BD0D7445256B53EE3C854B17B8084BDF6748370BE1D8E289C9B73D0B591A9A
F42D6503FE72B65D66710A402FE795BF75E08D2F788509D2DA115A48700FB8F6
CAC0528C0CF9518892BB57C137F25C479ED987B81ADB49DD8E160E6FD742F0A0
66717BEAD1BB72924F1BD73C2FF8C20E7F427E0C5E09710634BB66F6E1A6D250
F6CAD60F577A35CA00D4AAC25F731A39DDCC5402B44CBFF5D7AE344BB1A9170D
070B22D1F7C465C6BDF3C6E4E1A7A569F52E5CA7221EE34673DFF432C4641BA3
985712A453801E5FB5F83275B3C36F1DF5C6F270E9801DF11D3D7B52EA7DAF7C
800B5B9CC0965911D7E7C7D94D9B5633615FD24D180872FCE375D7AF5470C543
DBFF56BFFD448258466DC16A226D953BE7AF0F9E3ADB5A3F0EF7E5A189BC71B1
628A56B11D189836AAE3CCF94A05B0209F04C7AB73451A87B36014D50CC3410A
6F97EECE1DBEB5E14683A8A6B437892BAE38E0625556EC8874922BBF983E4E65
599188FF8009A661A7B7FE64AEB2021E1D39338358F0F1F1E4F6468B58F68C0A
41C6C77288562AA121C14220789023302D7BA39D2B82BBA20F91A6A85B694384
0DA268021C5180963069D413C39E3BE7E335751860E3562C402B97EC82445D3E
09E6A5F28A058E8565DB892F62E263D2BDDBAD4A31F45CE701A3A69D2E3B3CB2
0389A43FB2813EE84E232D0017821BE9369C43CA04D3BE17F7337EB0629D419D
7CF26E028752DC0049ABC809601CA59D3F71FD4CEAC7BA79683544A8D05DA7A6
9AFFEE955E1FD0BC436780CFEAB5EF0AC23B775C4C16878A81BB1CCA38DB0F2B
109CFD96379A8549E23FF216908B000FCF54C0C2E89ECBB78527FF701363A8EF
8E4D26D8A1967F8FC82FD18F4C59C0A021CAAEAE2DFE5D4DFF94F56DB5CB4819
D49EB1E154768F1F7E7F7A3220A43277641D7D6E4A3929D445C79B638C1C2B2B
AB8640BB136A816F01EFCDE701C5D1F3EF7C04A8FD27C18C317B0064FB57ADA3
793B27A5D3549142F701463F121C88ACFEBD315B34E2819FCCB41E5C891A45AF
D4DD9AD8C6842E807033D8C1AB66E7852E73D0DA126EB9CDCDA6146192B3BE8E
F97E243824D290DEE17D6730AAD560D7BC35D8535178CF39FB51F7375549F744
14535CE6662060E63254FA9E06A69AFBD78E6FAC68B65379FADA0CC39612CE5A
639483A52452657625E0641AF092095C1B9E817E5D63438D5C63541AFB2CD49A
8877B59C737D5A76224B43368E0016C8F8ED64322F8AEB8B328B89ABE1285DBC
FC12943E3CC9CE6F4C89A0C488FF1D9C546FB2BB2EB03711768C30814BBBC9CD
044AE89E3A90B33EA8F29F4DBFF57196845869E887C6132C5CFE44A93912C96D
2DDD5F01C52C8DF86EED3CD4271827C31CFB851525538C1919B6330F4DAED97E
06B75C73CC0F641B9741A2D767D270B48DD57435F39B37E15515195AF531EDCD
595BCE047CADCBEC4D73A741CA83FF34DC9925896566B6210B7789EE2F5E5761
9897B9567D286D70F6D1646FDA8B4DFA14FBB0425F3B10AB37C3F9877C97529F
65EB363E5497B270A68C428A440C3B84582EB2AA9B6B3F0E9F1407E1E791C296
8D510E1FC319AED71A4D6D83EC87E70FA5A66D3621F6F7EE82135C18C70DE7F5
03AA19CBAEC0D30AA2BBFD9FA0E9B11245F7C0CD2451D48C64B8D5478918F8C2
9AF1EB375CF7A2E5185BF6299192DBEA77E7C7ACD61C679B3528F2E687E75365
88CAC077EAC733C49506A6C20FAC628FB42E9D6C8005F64861BB7B83FD9C352B
5EDAD6CCCDBE0238B3E3A6121CD46745B7776DB4A704A302E589EFDBBFBD0676
33969C0DC973C731536A8F9AD3D07DBF3D7438A75EBDDDBA84711458F6A19A4A
1704D514D5BC7C20AE855F22E7BBE1175A55CF37FD8B0B0A554231673560CCBE
EF02F673B2EEAF62305ADB671D345398C9CAC91895B9524D58529D7E9A5FB7CD
F51B1D9A3670B03FC7E6ABB80B525B3583A00CBF966716A5965E5D60CD388947
7B06A67D3E0D4016F4AC370CDD6358A2D0A7DC9B6A4042B1159AA2D3CC75D84B
9E9C6CCC1D4085F6A9A29C341288C48ADFE496C63DA4FEC39BDB3FBDA094466B
36477147F41E444E7399C3D30ED733AAF68CBF53D834C68DC6485AA9D840D644
DBA4AA90A106F518C0DF1E033DFD9CF47DAA3013A8F9DDEAEC42F7B47B9E36C5
B10D2E41E54AF837482449A1E666925ACC35615FB69266F03BCCE68859D67CF2
2EA3758849DC341E2E37536737E9C63B104325473A04646164700E1519E0DEBF
409313F506C60D44AE694EA879F69617CCEB9E1E73A12017945BDD01DCE2D381
1FF3139745C9820B8610F9AD864F4A3B99FC422890C68956772472B0887BC2F0
A98AC775FEE6D5AA0487E30C8FF4A2D87583AD076594D29C11961BA18D386E12
0E1E5DAD99B6AEE299FCE0B5EFC3E17B07E68A84105345214C2DDB62F6CAA33F
DB221B6FB87F14CAAEB97C39261D482BC995D06D70EF60DEFEF8474C87852ED7
2D299FF92AC04A330F7D2D3E2183F712516F8969DD657CBEB6E797D381870FF9
963630EA1CD35480C3FC09D20865E0916C93D4473B53967EDBB7C483C3212860
E29E99EFA2C3BC819AC9352553CD7AABA0D485D0FD0453500C5C39B09A74E1CE
735873444AB2FBD57590C213C61E408DA3971666A6F8B9A28F87896118394C6C
31A46FC6AFB129CA4B4DFD5A41AD887AEE3A60DE13384D4AD6D44E483F7FAE6D
EB16FE3DE7012236D879540DC2E46319BCBE42C2F6BA424A0334FA76AECAC59D
E5AA4BB5EAFC79F354B42293AA5928EE73D00252E2832B84DC48DA83936BD70E
3C1D7049F91C7E722E019924F255F681F45063E421344614E922940C1A7A0DC6
EF5DA3E2B69CD5D701647FB808BBB0F7DD675BDDD478F22CBA1253245FEC9702
B88A42E112AC9530A7A09918A0CB227D6FB660ADF3533947EB4A939612BC9DE9
C5065D17FC867915B5B6E6E574BB8108B0D90B33778D4ADEA84D80D6B1A562B3
75E73E3738E3CEC83E588255BB3CC96589A2181026A4D58602EEC22CAB8E42C1
32B25DD960B841C3002931890E8E5E086CA30D9E6024E24137A9B69297CE60EC
32F63A4E4B5CD900847BDE4315FB9DE6B4A400FED0ED3D61761464D97FEC9658
26DA893751C7355308FE04CDB7751D96D85342A2971DA950EE47FD96B0204A81
521BAA895E6FB8FC2151E39E932A6CB2D6B83E2DAE1EDC1A133E036841208060
352E7F44B4125D492A4DB1435DA84C407B4B12AB3929D40571F1E489640F54B9
9212239E786A525F0473DBB6A47778DECD05048765E3C9A6F925F100AA3E0250
1AA46A310FB8E26E43D1D28870917739DF122C158959CAEA458BC51C70DDCC22
44AED60324BFDBCFD11A3CC6606C62C3725FBC1B69290FDAF79034B698660414
55BFCEC74CFCD07A2902A0E616E0D96E84CE48FA7293F5F390A6412ADB535153
DF56841859A4C1F525F8FAA0BADFF6CA9C06C114341BBB80BFE68D1BCCD10906
FB0E8356B5533B4F964924AD3024DD72D6608546BD2D790DE29E51CD96C19A29
48184DA7A59FF22661ADF4FA513D5A74B1E5DDA09840007468749C664FECDE44
6449327C633B2296AA381B26815422BCE0C93DA04C6794EE30DE28DF7F24D300
83933021877B551A50438BBE17C8D35CEFB296D675DE8CBDAB35273BE6857456
8842C02330B958A6A04A18539B23C9A3D7445B6839DECD4E4266A87765941B5D
ED38F0D192F38509C103EE02CC09E42CA64C7F0F34AF76CF1C7C02EFC78EE2E4
4F68EC553FCBB2B5A09584F1BEA08AB970BE534EBB38296606E8AA4A666C1628
274DC19009FD3D256C3AB4D36DAF26CF95957CB303C58106D7E9C268C52C720B
63CD92F9282AC99848BC6AEEBE07656DFFA8C6D3046DAC931FB564B4FB7BCEFE
A49E6AE7711D02224DEEAE7914074C88C16965F5A16C9AC542FFC09C0CA68629
CC3E4798D19D4FB64786111FE040BF7512FBA7AEF5B082641B17DBF4628FDBA6
F1F631D2009F401EBF20E688686E614D954A1D8053A56DC7905C82F2ECD03CD6
BA5423B1957936741230A645EECD77F694060425A882547DD75D274E842AD3A1
64392B15471DF1269EB9C4603B66B016BC545D73FC5F56E240619428CF528BFA
F4285BBDF4C2E5BB5698898EEE0ECA2F68D84CEC8BA9F7FBA771FF9E453ED37E
EB047FCD2F97A3C61CB9F6CF4A658F27FF092E662DAC97D8B6B6EB1C91CB62FC
021482F9B420101BE4BE54BB93022DD647C3BF71D9CB6C8C605D18237976C6E9
C18D0C9B56BA122DEFB49DC428E5C155CF34F1545D64C13BF0731C654BE2B92A
874A8F92164F59F97F455440EBAE215562333552CBE12E6226BA940B2DDE29B1
787D5F2069E41DF7B8C26D06AC0C83CEBC628A3A3189026685B22D8BEEA4AFA3
F390654A2014E0C175C66C30321E1C79542957D099C7DFF5C19B2688AF4B8DC1
6DBAFC50CC8A8BA88A3E06A697A5E1510B68382BDC4F7C862C982EF7B8EC5214
967917E9C61D4FFC16FBEB11A53D01D714A643255CE021021F3A3D5C2129A01D
C01E1BDF1A3613BA965E9532DD4E90EE96A29407E4BA415EEA31ACA69152E8DF
809B10C451CD229F9C18B85E56A4233A914E6391F15D162CB9B26E8DD2D8C3EE
E63FD27B1BFFB31A2EF3E48FA1FF627B1FDEE7EA43818A898AB2AF703203D292
2FDBE2E92B7F6C0390A271888329E093939D3EAE73343C662F27AC1B9727FED0
312B6BF04F0099AC12B8DFBED97CA98D398D7D5CEE9361C4ED5FEB36FA02FA2B
01E6F31022B05403AF89ADA130ABCBB34B9F1F614CF90FD3ED06FDBAEBD6AD47
63CA99C2C1AD991AA3C4740FB534C6B9BDA5EBCA98D4DC2E74279FE4490DF10C
49A1AD314C85A87EFF610E75AAC11D28947F3741AED2F4D8AEB2FB5F9D484F30
32397F1709844B8B3B49F92DA9BA3BEC59A36352DC63F174CE81D3C16A815D26
2B192CEF7A02A12741ED4220B9D3F74FEA10F7AAD2E46AD93CB9A1C7B87B543A
57B150C5DD8F36D416EC6072E63B3942232C146581B944831B3FE0341B3D50E4
E2FD7B3C50579B283C325E594EE85237AF44075EFC140766A7512E6EBBEFBD2F
75768939FE1BCB706BA8BA90CAD5DBD503BA9024E7F1A19AF447F7268129BC0E
72BB56E379A595A2E2B17C39CA14DB40FA014CFD9E4A5DAC50624D8EA2BAED8A
DD12EE99F5DD1CCBDB036FE67709B3833DC4B5A3DF0C8C78DB4DBDDB63B1452A
25CD8D9D25FC9CB42FE7F2F8601FE9F26A91762D8F5427448FD60655273120F3
6FF1B04BE561518F49AB882DCA3F26A9006DA869328BE833458CFF2CD0DF4BB0
96DE290C996EFCB4E9F1294E313B5FC760752BD98575F45355336BB165806B00
9CC10423D7D69A7F0051A83D42CCA189FAE86FEB6DB14C85F737DA39AA8FBC3F
1D6C1F4C7DE21DAF1A261D8AC46D4455B08CA027FEA98A424146C95EA3FCA7C9
C21E3718AC725F9F962451118569C103CE0648EF6E94A9CF8DACD38C8A049E10
D5F91D30373F5813825FFCF6A6226A23AE53446CC90A58017B8A8CB98FF3637E
F9FC10332D5296639F5780F14BAAE0BCDDD26C4A52860150916E04CB47E1DAF3
289BFE01360E3FD270ED5C7FE6CC4C5006A80EB942488CF8202A04259CC1FF90
2748233C30EBDAEB637E10608681B52EE6736252A1E51A7226FA5A9A2DCD92FF
0ADED346EEAE9E72B4F50C798372FE824EFE9A145F251D5F861680E095A422D9
6A2491D544546FE437B8F62CD18CD6BC019D10FA689F6277A9CBC8A8099D6BE6
BBC8F97A3E7A542816DE268135D4924533F9B8E96D5A54BC1CA6F0B2F952B64A
D9A3A13110B34A0EA8407FB54FC768F9DDB5E1732AC3E16A2C8536CA904C84C1
224BF19BD5540AC8DD96A31250DA51B0A4E4F7771FC12F5A005EB5C3AC3E9FC2
2C5B95E64EA269D0E5A6240994316C251A60C03FEB7E3D3CB1C59B332E6B1F04
0F50BEB3AF28E0AD70D2A0CB731F312E1B970BEAD67841E4E914D9B59AE07AF7
807A2A9E71843FCC28B1E4550C4EA1054E3244AF822DD33551BE1F74B191395D
8E577629A797B8B723135CE87FC7A7AE3729A0B4A5C4E00E97C084C262B99D38
D427436C3F3A9F32272DB717F26AB0B6A6826263183F94BA3156218AC65DE4E1
A8E221B2DC2D0043BB8C45A79382619AD34A9004140C8EC1A506B644C75856D2
3196B59C2DA199BFA31A245DED3A0A65B6C2BBB41945B32A7B4241409D80E1B2
1EC9A415DD27CB28190174235D1C965E5E2F095B24A2ACBFEE28F1851A26CC55
06D0C1946E267E3DD79BBF6EE35C1C256320D5996D8CD043695B5E212C93D91B
CD41BEDFE9FBF3647603428E342EBDBEE66B560DA075A233E0DFA621611E86AD
5F77A2EABD7D8E11F57A2B051B044A240D55D1BD11E732527051349E69BC6C2F
93947082FD8DDF3E4E5761AD49F5DBA888118BCECDC4B7DC588033949996533C
F1F7F076621C5E429E014C5983D98572AAF535939972A698ABA9D8BA67C656F3
63EE39ADD0206E4EAD382C5C7A8AA62CCEB541B38D11FA05F6B877619C622F02
5B138A3EE293A876B57FA1AE103E2C76D4A7BB0EB5CF19D334F0B2476C5F0753
89359A564AB99731BE4D693A9C96E7CAB83AC73A1C0D929F687107868EDF0FA3
A0DEFF80A3F8B2BC43E4CF12587AACD819A065B4EEBAF685EF78D1742870EC8C
40746CCCA0722B0B851D7B49C5B388922BD3EB5B2814E337677523D3A16C4145
1DDE5AFE4F3B9FA2D0BF16C5679D8A556F288E865F12C30F63FFD2222527D251
42D230C209A14996092112B5D0E3F0B54D53437B624A27DA42BD6F3E1D0BCD7A
7BC3B2C9E12B662968BBC66E1C0AFAC8F3993139A00035A709746597496FF461
C7569934AFAD368EAAA85F601830287F7FCED816B86C106170816C030A187B5C
492D539FB90743EB3D71CE52FAB0EF7B0DA7844B4A3DFC7C9CC6EA9ACAE2B5C7
C593BB3A4F6A6BAB47544F7DCDF466673F618A85373837B81F23BDB56EF410EC
67D0DC7FBCF7CD794427A532D416EFAD9D5A33AD18F79C5057D5F2CB07F0ADF0
11E1ECA548F9C4B8A651F778BD0D3C8BD6711385226CECAE91E925488E117CE6
FF984177582F0930511CD20D365022EE20F6A770A859AF40B902C207A2DDD6D2
454F3809F11109FD22029CB220D362CF00F57275FC87AF16C4EB74CA3B88CED5
E2B19CBFFF3F47A6940F6BD40D0E45179A22A1EE369F1F047275CD1D0320E1DE
C402221EBD9A7B71A98B98CD26983BBCB7C1E3C1219806B3B928B5844B7C7E0D
D5D2217F479293D9B7492D609CC772D1A80A312586A8A470FBA4651CCFE3ACC0
DF1EB48BB5ED46AA2DE8AD9FAF34FA93283BFB0D4872F167D16F6C6EC14DCF49
44630B5ABB63821F7D1A4BD0438B12A4758040B5ED6357ED5F8E55EB40F1B06D
703680126F05D2073319AF9464C2B22EE4BF22A53E1F17FE41A9A41F140BCF6B
54724B03D9C3803283865B0604DAB3F7577CB65A4786E8E658F7B33B0EACDE93
6924943AE053404704701A4BF8904D1386137F868CDB4479D58F989722A1C7F5
10A3D5FDBF9066C1DAAF8926D773458BDADD16ECFEA44BCBB1887CBBA4BFC70D
58604E9D09386E8A4BEE5B1844F80E4A35AC86EFDAFD5B1F5963D5AF89C9A7DD
290C509BD8BF7FF3D8F1B274BC45D157B7FAB4152FA461488B928C2EE1C9954A
D5C8C837B93A689571CDA2D3BF63F65C825E50BC4B3BF466579EB93BD4D14C28
0B0689F13B48C2E7687AF81408092704B9A8CE8FA7DC7B9246DAE66B0E5076EC
24E3821BD870A9B7BCD7CC4D595215FB1C411A1F6FD7261CC056B758697BE89D
BFFB166BDEBF4DD44CD2F20C6A7E7D535BA31C75786412FD1139C47B9B170C74
12579774ABB8F58A07D213229FBC985D93EE9E37FE3B0025BFA8A1C91EF756A1
88E6FDD4F6DAB346FCF35AF35668BBC44308C78D3D3D26FF192119E5D107AC50
AFE2A9270AEEE888346BCFCA22C1CC66639EFE5CF6F4A82A7184934E001B66E8
5186DA7F56DF8AE6476B0BA86330EBB9267DF047C38207AFBF53C6A8287DE7C2
49F682F57FEBEB797FD33AF1C182205AB42DEB4FC81D14CD8622374C6815D0DE
F7D5421A3B6FFC9760B7324F1289522C97B8F47C7F5BC1AC22CE23A14794FC19
83B6243F934295622D8CFA01D814CA68ADFC0B5AB3AC791B49EF641AE5FD0922
F2302A8CBF886CA3A1BF5808672159FADC77BE08FC65F24C6CA4286F2410BE79
43AFFC3DA8A129E77886506336798250595888F19460C7F0938F6B19252F0E69
6D830690CE7E0F2389CA92A4A0EE5913D53D464FF863A2E24153A1C40BFCE91E
2EC984418DA40F242C7D24E619D28854442FD9BA2F33FC415868D3F2810809CF
297655A57DE6C733344A6EC280B5BAAFF2E4825F340F0A2D75CEB6C59F288BD3
D1F43649923523A054CAF952AF17D78C9979A41EF64309286C627C7AF8303F06
FD9CC704406E113F137924D21B4D30BCF30DCB3A35749897AA87F90B4FE09877
C6B89956835F439771299AA31DAF7D88D3BD4741341CE9CE46394DB5EDE22ABB
60E996A99FDA821F80DD9189F8151D0F369C3ED94F054D8DA6E9D540D729698C
A24BD1C474881F628C21FE86A94FB2A313FE4A1ADBFEAEA108E303A90CE3170B
D73BA25842EC97DE8AE5B9B1CF58067BDB85B006F446992C63DC3E2ACE317191
9E9F4700026270BDF3BB988ECC536C93572E9A736D4B2064B5705BCD2843B44B
D1CF59A8C025F74480C5EB11D4691C84861B85961B1E4E82D6D75F447AD004E0
9A22866478C4404AC739E6A49B11DED0FA7636B04149DA3B68C07633C9FF285B
2EADA7EA27C95B2F84E1FEC6E04C15A992D28EB2414926DC996DB01CB20A8095
078C1C1894FBCD33E549350FF0FE901AE4EAFC580D66EC9F87BB5D1CA25BB845
C263717798B2949A9C300D53479704A71005DBDE9B16F50B86FC7BB2AEEDB9C9
1BA4C6085FE47EF52AC3C5B2DB67ACE9714BAEBCAFEB53C639E9B0BEE75A71C3
0F63D22C854CB4712A6DF928EC9F7623B4B7B375D303216DFBA9F03F9E43B887
1C2D98ED05A5A5EC4B6BD0D1AB28AEBEFE603F22D127DCC309B5AEA0D3A18BDB
ECD202CDC1113170A7203B02E440378A460339656E7353481C87AB2587F7E6B2
D79CE3D6B7AA431100BE5EC79C361CFEC158FAA4E5737ECBA29344332063EF57
8DD6E707A3CB82E0525FE5B7CF35DBC8ED94143960D0DD389079055779714046
B34814D54B837C64BAA0B2EFC242AB62B697919E500844D2720E6ACC3CB820CA
67B88C90C005C1D6FB779E23E37713AA7D872400952923284E984107AE678914
8474F32A71C8B2087AA93E03464EE61E22BD4ED14D06F253C0FAE5F335BF21E2
1CB8539F762AE5232CD5437B2C38377FEFA4ED96DA84413B18E14708E4EA585A
0D825A7CAE6CA38165C3EACE903166B2E45420A2AE10BA61E317B4D8CF6B1B5A
217B4F5D6FED059997A50AC92CA6FE0F42F6EC64ECCF495E7B899CDA23DE863B
6D4771B26C88A947C4371F22B37FE66046A46BB52E4B6D8522567BA984FACC86
302DCBB1D32182AB138F70CFC9B6063EDD9BC3814FB65520D9699C722251991E
B665B8DA9E37E4E20A984093E87F69EA4C5DBD01FDA73A5BADA351DD0F397358
B4890F7925750A4FE22C28C9852C87BCC2CA4EE967A8C9B8EABF2D15331E128E
BD1C67EFBD212BA75B741A02314808D36C9F98F387B7A1B817855189782C9263
C5C7E26C6E004E9F60BF631982AC183C12A4E746FF0722C626F9914A3DA56B4B
407A0B5111D57257829931F2F2D2706AD35E3546E3E061FE33A9E895512E6E83
9E2260F8A7A1F30A19E0C3F0193B819E8D2FF5920F5CE422F9C7F0C42D12A295
D75137FA6486C780DC22C14B619710D2D866355068B751E07CABE9E123EF091D
3D112B9A7206423903C758F5E59F23AD1E530871CC4E2806909C93FFD81D4770
563DE9F1403E2E1F936B957DD1F618B3B0D51E4763282ED1EEAB17BE058EF0D1
A4771F3FEED68379BFF62FD7A52C11DA8D5B3B8271EEE1B3A7504AE987B31631
B1115C1937240D6C361BADC433CC0C318A8A03E259C8E03D1476B401B5CE9E5A
C4660D0E676248C3AB31E23DF5CF414FD2E08D39A8182B7FD0A4496039A6692A
01CAB6604306DDA2D336DCFF0C26E04330B503E06D42E1CEC6F1BF615B83543F
6A6BF281C8859524A42119AE64B15283D0E291BD7283B00A0B05A0CC309FCBAB
BF2951AF591E772D94B50791A4E613E29AA1028109ECF56E627D4A31917BFAE6
4165EBB52F92948366A086BCC5288FD0628CA851B585E4A88BA7AC3C245CCE34
5201C16702BBF81F9530383C66637E4B3548BC5A014089364CD90470DFDA0B94
FFF3674F270B915CA433F92B15AE4C9B23F198A9BCFCE5D2D8A42DFB2D5D65B4
5AA048482D16223C3210FFD009959BD4C6CD6D106C6DD5C5470739BD4849BA89
9DABDF9D37C31B816503D80A1BA9331A7D75A41FACB75DC45A481B01FB1475EC
C593E02DFEC7721D8781CB01E4A145DCD81BFBA757AFC11E8255535532A9F219
A3F94930725E3C84AEC19EF56059D8F2A1FF8F7EC7B8E3B119C9E8E34DAA6AFD
937C7B539A56BD3415C2EBD654DE415B71C09D68C560EC8B7AE9CCB036704EC5
1CADBCE18B612DA3D708AB6619F7105263A13500F62CF08E6B9DB6971B933652
2878940F6BEFDB270C0C2E5BD1BA8E8C3581A809A4DF493FF53ACBF9E2F81BB6
F56303F080ACB0654AEA3839C89AB0D4CB54B921CD44E4DCD4550AAC3E28CE3F
03981740DDED29D633A68E23BFB31D5EEEA78DCA5A516E516DBF876013D93AB5
04772862060E878DF9AA2605F64368867B2014EEA06C246B29AFF65638FBC5AB
7039BD4425E31865CA666FAE14E0308E13901170661364993013DE5118290D41
B32A21DCA7189C82684C28838DED52D9DF1FB2C1BB4AD0EA57B9B55FC415A0A2
A0FD1C10EDAC92846CFB673423A03671BB359C118C2C34DF4D967A6E3BB90489
9E49932F78A6E4353674A51936DBEB55657683C9754F5C6FD2CAFE651E8A18DD
95804B6885E40E56A717ED465DAAFFFE7A37C8273B7192CEA37D531F6A25A3A4
5185D5C8B49D421A78F752D6212E92D46E143F20305874D4FA76C966C5493BD8
93DE41E0C0076B38BA35B1DBB68F7B7AC6E92A2D26500B968FD0FD85962D562F
303B7A8DBC06AD91F34B34279A01462C94C69A2B541812546861B32BD30B6E5B
3D83C8134E21D7DFBDE601392EC290B4C6C0C96D99659419DC1580CF909D8FF1
357BB3E853D6CC328F961588BC72BF243B665C20DE41EACF9FE4E1063F433D87
0DA1C88D88A1257421C89BDD9A1582B98C66C64B494EB60DC43216B7D9498D4B
3774757CBF16376439F5AA46D2F5AA3E2CE2AF587800E2283EC86E41136212BF
54DF3A76E925E6660473256A14A3ADCC11DA5C5419F0E53242C5AAD97BAF1F0B
62D533BEE63655A30EDC4440278D1EBA457D538E02149CFE71ABBA66027E926E
A56E87CE271760FBE8039911B565ADA54C94E003FA0E0ACC485C877B0D26F8B4
EE65B669FC786728989DEF918AD88F3702EFBA80F4606423640709FAF8975376
E9B414C74125A57A5E88A2202C98543DC8B02A23A6749AB3FBA45EED246E5D95
F733AF35E11DE21F000B834CF4B7F4ABCCDF04C9CFA6378546F7B60E6EB199C1
BC2087C15FCDFCC7347890D595E54974BD1D47ADE925DFFCFD4C70504CAF5F7B
357A98FAB22379D768B56EFA63E2EA94188CA4AA67B6DBCF59EA568D7D4FA5C7
7022FAA5D8190F9F7C065F069D3F5362FB908B56F14EEADF7812497E932F8A02
9CD80378D49D32CC59233BB9C4C5DCAD4FEEB30A0013543E367126CEE0DD6716
DB49778D28E4A68D5238940AD1A87D2CC98437881C11B1B510DD9D64E609B439
B8E0BDBE750C9D26EDE41081145F4CAE3A43985B633CC42DC81287EF233E3F24
8ACDF2FF6362FF35D88B4108EF52547122BDB9A5DFB795536393C2A9AAE016A0
C96AB99A5C3DD531717C701E903EC91858625B5798002FB8A148C78354E9977C
1ECF799D2B2F164613AB9510B8BF7D17F3B1323BD40EBBF2106B8C6D1747E9B7
E860E655F02DC32EB20B8866F955940D1CD60055CFC56DCD42F9F7CF82C0FE6E
B229BE25314EFD128DC63688F0983718BCD6DD6A0A1C9C5EF45F07743D90DF7F
6CFF4CFB331F8C5E5EDF9CAE46FC46131C65DAFE62E03AB1091A9A2FADB5C06F
50E16F037BB8E6BA6210E491A20BF43902C2E25215A9D866BC7B1FCBFACBE99D
84F876431750FD8A3DEE93AD5E8C0EEB2A3945489001EAC73A02AE418F378AA9
DA34CC486A8184EA23F33084ACDCE0C60CE8B5F5FDD2AF7CFB42DCC3DC16D5DE
0186B717A8748DF260D64E5733D658FD5BAD8F33320F418349D7AFE790AA650F
D3817EBACA3080795B2442C222669C8E611B54A9D0CD79AC257FD1C440C015D6
9FE73DEF21275F2F9DCBFC785534B5EDC2AE85067A3C827A12570D9842F8F478
C4826275DCF2E008184D0688DED98BC01C44B0C679C1DD47C3E40C12F875C0FC
8599398172EBC8D5EAE1702D24A4DC96E64E22A60B472FC63F3384A849FD696C
D6FAE15089BD3DEBE03813B8B970026C759BA20ADF8CAF3F6FA03C5C9658E0C6
2EFA5E1943E768E07600A571D57D29662C7FA3FC13CBCE54619FE0DCF43283BC
D0E34DE76D18340C079E74CD41D032A459EBB03440B5CD26791CED98601B5EE2
05BA4E094B0018389A45CF2F24760C7FEF8F58C2D4192A5AF304B0C2D848EB15
B0F98F6273B79C29C80771087A1130AA197DCAE030491E9B39286ACF06122923
B8670A84E28C64EFBFD59121A91556C47E44854BAB201EE14A09EE36CF8A738F
787DD439C07AD60919DC142DA4EE791DEB4DAE2995E4A62F1FE66AFA60D76EF2
626BD0EB0F53C1AC68F26976B949058BFB529EADC9830B8F8E37BF9C9EE1EE05
A0EB6503C9BD9F36F169FE166FF30F9A95BCCAA6D9A221873DBAA21075A21BB5
6E049AC80E6B388671486D3D215F6C34B1BC256D649DBDF1FFCDA414B71444C9
3D05DE56FD21EE9E9909FAD9BD748A6B67CEAA12CAF690F09F8622231FBA63FC
DA595ED36A7E43EEF3288073A0DBE3DFFA189523A088ABF6D110AC82B8754EB4
E516709B14564093D87D005123C3EE81753C765D6DA7001907E01EA9944DE830
F955CDF6F5D65498338D7A31BFF689105395B585C2F842AF27FD045BCDFEC461
BEC5E03192988984C24911718BB0304569000DB9DC37EEBB3C5B48C211A116D5
F1F97AD8D3EBAC861F77F3CD5C6BF64C7FC59BD04B4F873A3ADBBAF932269F5C
93E44F1BD26FF066849A7A2056CB5422C505B8C9DB08A97A67BEFAC9968199BB
F70FBC3EBBA15CD2CDB3557F71891589DE7EC4D20167E585D491B00816E6AE31
C29808E2B63B7684CF4AD54198C29ADB3030BA90019E0ADB22ED280B28253F39
2428A3276D7DD2F15D60E4E26B3ED209E2DD9713F52446212192E774F385E1CB
E5C8CFC9AEDA426D8FC065F22B2B879EA4B78FA37DCFBB878CB035CF5CC99EC1
726C40A8F8DC202896430908864DAA2520A875FE89CA714108CE47B6CEE05FCE
94999E6604FBEAD1D81C0AC957EE19F32BE4204FB0AFC49AD32A7D1E6BB2AFFA
4E73CF535B5D6F9FB8296906CE4EE1428BC9BEFC71AEBFDC65E95EC2DAB3F707
30BCFD3A097A7564E83E44D0219E12A12C48C30F6EC61E65D49991701450EA53
519091AD830AE1051DA6FA8DC50BA52AD14AB258BE80B4B05FB91875B10303F8
DFE214520CE1B045D32BA07DECD3E579084DF8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMBX12
%!PS-AdobeFont-1.1: CMBX12 1.0
%%CreationDate: 1991 Aug 20 16:34:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMBX12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 12 /fi put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 63 /question put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 90 /Z put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-53 -251 1139 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
30F9120B5D68BECD2760EFF272B05A79928D299242338556B2D3394AFC49F66D
40AFEA4F628C8DCEB19B30FAC75DC14A5C835AD6341AC8183856C78EC4DA45B2
B7E37FB4E64EA4060A8A7B98E61F268FC8316E0140F69A1D20750E90CBA5BA37
D5EA17255543598A1B16B89941D2ED532DA282A1C10EB0789CCBFEB89BA1E8E0
5B6A60AC34BF00A1AA51B7129C4A6D8D9F69863BA0DBCFD82A0772ED1594625C
ABCAE4C4BBF2DA3325E08DFE62361E6A848C408569432F8509FE1C4ED08648AB
75E5EAD9BF35B1F80B15D96998732241DD14A372D1BD0C4F354C0AC33627FB37
9805CD3249423EF27F64F6E4E8EF80E8877B28ECC7DB24633FD3C5739F26081C
C17B583E545485DB408D61428AC921DDEEFB73319F45F40D81D71C8A5A2FD4AA
320BBE8D2FA0022C08EEA7F6281EEFE90E5E501FBC47E20E1F64BC9B48426AB4
62BDE0388B27FBF7C272EA4C2C72105AEAE4B2E4FDDBA2F7CD73FC0B939AE294
C1B00278E9DD47D24EF5466A6CCE5E594A38860C807580EA030A2F9B973678F8
E4C1ADFC4B20B528543AB19A8688CE3AD146AFAC35E53AF0738381D568958B2C
112BBB74E0AF2F252A47D20E51EFE60888130C64308905F15E6824A75A1465FC
FFF07AE504F60E5CC6B65C3C0B33F874C555213B95BBDBEAD0340B0FFC9A931F
CB4A3F8BEBBF371C82B11824B37D3ADBC0D88324CB8DBCC3F7F2ED3074C85C5D
732FD314E9BEE3B75FA4F16620E4BB5165211F1B6E3A9A35EFD91570B98097B3
A6E47BE78F76CD94AB3FF1B850A3C1D7E40B2F11CC75F611EE60B632BC055A85
E97E61229A51EC821FA4FBBA28EE8D8F8215B1EC149C28C5702D8C92615E76C8
11DF8750A1D548C898BA78B2F8EDB78873E689431E08C97FCE67CBE6FD56DF46
507B97A736708763DB171EFDEC689F9B5D9DB150835A5FC026A436E468A8FFD3
3394013A50A8E38B17C4CEA59F6AA112F82912889E64ACC9E2D46666B8BFBB08
9631E0FB3F937E0CD3DA59533D2FE831514B6B32EBDD10A108127FC0F5244741
62318AEA3466FBD8BAF9F5529DA32B180A281FB95C29285AE87DA7034B69A550
E16E83FE178F3C2662E11DC18644E98D28BBBED3E7AADD71D826D719B7A20152
EC8975BBB76D7286D2F6BD50B1594F07FC1C68D628CCE53586E3639DE692BCD6
639E3D248DC8B5EEF1D759DDBB8D51848E03BDF627DDA6B4307C4D0C080B9300
9173CF4D68C5772FE4E6E0AB1DDA163CAE16164AF6CD9EE3977F2DCE4F4ED8C1
BF2C1E2469086A4C193F36C06D7B45313550D79C2814A5E32A37C13D46794EF0
BE5AE56005AE830DF271C51691D615E1D55F6704522980E4473C6033EEE75991
A7927004F08DB16BF57FC279D997D6D5A6673A479F1D90B425882FDD4A748F3E
CB339FD55C26A83AA8F6CE9F8DA045CF83429F13D7BBD155278DC0F2BEDB23A3
FE4F6660ECE06F46A70E6059084C92465C058CC96A309AAE0EF4019C128E6D62
A44FD1CBD502DAC7FB6C0AA6FABCD06277E9B06622EE907D6E22BA1A9F975AD0
8AB51EB162F3EFD52387600EABDE8D65C7570C90D080888BA654A8EBFB7AB358
8F16AC482DD1091C611A954CDD1E69AE581EB671B3FB74C25130A226243F3FC9
450EDCD42626972C58488B2A8C4ABA973B7D602AFE56DA8592C11E4B3877CDB6
1361FCEFBFFCCDC242F789CB003D7166F7C55989DEAC13DB803DCFBA331FA745
0354D114CD04D70AACF45984B35986724CF3647F18E3C90FAE04D3B586D1D452
9697796A0314CC7CAAD2A955DFE2FC6DA8FE8C6847F8A5856CE7F39BDDB74CC0
475767CC718C4C91D99A1D527A3A8BCE445680A827C948DF806413E4E3637B22
C5176E19E1F3E6A2595B765B55249CDA6ED0154D99FB2CEF75C1568E73AF5E6A
B2A6950D8A6B49BAC88BBCD9B003E6EBDB3693F5EEE4F4E1C78B06E0AAF1852F
AEA7012223CFABA99B8CCB74BEA86859B827427DF7BEB14C012F5F1B48F419F0
78535D0B9E90D626459AEB08B4A6FD87A11819CDCBBE69F1E03229884193E1BB
5E58C90785F41CFDF60114F5A0FA0A71BCF3908F90F13DB6101F24FF6DD2449C
8112B6CF69061D080570345F3B76B99EB57F8A23D34D88D6A5BA03448E703FE6
A890C1D47323C3D8FD4C6CF3B415CD71E51BDDEEDEAEB8D9E826628CE78F5178
8A8A7A148F4F894980DE126763C5B628E9849C89E29A8EEE1F34CD2F97DD0E0B
546F1B92F1339855014CA9D2735B99A7428F6BFB5994F9832B387E0FE814ABF7
483D6630983C9BDC99CEC05E88907DE5E7CDB39635629B6AD0C2BEC1471BA6F9
09D908F5074609B1F8459A979F44768B4C0957D01A5CC05DE75C26DA03868226
5FBC2F0A028233C71410BF4E8D3C9861928B02DCEBB9BE6FEDF81D75F59DBAD6
A8AF195CA6988EFC8E3249CB208211531551AD24791AD271206F00A547FC8D58
6E560EA5A0C50B576F1F83D46C32612B5ED88E04998CDBEF8137201576E4C016
7AE72F75F14EDD343DBEABF97052CFB29A86833825F058670E0E0E4424C92B8C
33F0846D571D6B2EF1B912D47EAD112E3D1DD50CB420A75CA65B67E1BD92D5BE
BBAA8CA803E7424660BFA0D26B4BD2F7769A8CEBDC4F611B52A8E8949F9C6A60
61F88B0FB23922EF2901F59BC0EA110240FF3AF61ECD6BA2E817FE447531D684
B986437E270DA5BD5EEA45B070697535F057504B7E2B48649CBDFB49D457B006
07664FD13939137B05A2C3DB1239AA1DF45DB1C9CFC37A656F89824F7F8E841B
CA48666E0D991489CB21A25EA92428166DC4111B0474B33BAC3E276D631D57B7
EAA56F91463E39742C601026C15CE66F1805BA671615A7E518329F5234A041F7
577CC7FA673B93C46108617339096A9F66ADDA1628FB8F6B853D69396646DEDF
28355C44BC659FC374080C39B9CA6E0B9D22E887CD1E7FA45B7BE78391B31668
D71596E1FEDAA2FEB32A16BCE73BDDE6474044C50729E3E4366049704E4590B2
F2971C34F85B5C74EC095B136F65A62581AF618E3C34FB9FC8B13C7D04E6D7D8
2803CA25635464EB2B08012EB18D90A6C8294860CD906CD8C955BC2439C4DEAB
E84052D90A94A3F7FCA2B6F636A57F89EEF359EEE891F327DFB1A6F86A1C471A
0CE20A50A1DEB713A7E0F8F32CFBED8B04DA3B23280E181742C6FC34DCBBFD37
9151D9AD41D87752947AEA03115CBA36E334DD248E47A89905BC746335AC8022
8A7FC9C6248F067DE384C06A429E2995C3BBB6082AD96B43BD6F8B3A93D90691
0FF323A18F86564D6B7545A4AADDDBE1F0B44DA87C4A0A00156E897F4C43C22B
8868D0F9A4B817534C77CBC7ACB956994A7F1946A08BBD9F9E155C3626375E05
6E3A76EB7EAA3D0EB825C06B6961F60174F63AE58BA3A7F27B4262890CB0B938
67C5CBFF9D0D48F9BCA7A4B6A887BED91CAFDAD8FBC179AD28785493058C680A
5B27718E3D09FB2ACD8033EDA861BA5D464705EEF2B81782F5D1794D8672D8E5
65F31FBAC467921F72F3579C25951DEFB43C6ABDCD2C951863639C0CB364F112
41E95C675B333FF8FB951E1ABC0372AB46DFA0932B0A3B3BA9B01EA964BBE6F4
AB71D54CAE47F241424166423D94C78B869630A9EC474956FBCF89BC3B910920
C367D8D1F4DB959AA770D7BBAEA276FE2F38CC1B22E567D4C6A3515B2C182187
D2A9C093FC1238930D6EBCDE35BBA68BCECCB1AFD510340D5FEDB897FC57B7DD
3C10A84EE96D4D51455D608294006A35871CC5E8796BF32C6DDB9B9147A602D1
1BAEFEAC6ECFC69906E736590E46E09760F4F66001C4C604DE48ACF42081A28D
466E40A6A518CD022E3E0AC6EA25CF44D726BFD45499D83D95DC816B27AC4379
56E1080C3A54861BDEFE8BF05C857FB0F9DDA8AA9F23CDEF6F6CA147101CE408
FB5F229B53F7517285311EA0950DEB358555DB93E521E9F6718E216DFD7D216C
CD6ABFDB3D36B7D23FCD0A02C7CCB9A7F54B6F97393393F049BE5737C40512B2
28159167F8BDFCA404005EA838F77254EF9EFBF91EB3B9458EB34AA3AE04CBB2
486D61DBDE9AF38CD906699D0922F3FFA15B6A9A0B8A49D90A0294392E1DAA2F
7C460C0EADC4C4AAB291C9466B96D9DECE2BAF2354BF784E743C91FD4D4E3DF7
B5D4DF07D642A96252102EBB7007A7CB8292B93CC61241756E017795FAD29DA7
8B847C51B891EFC4A39457A48241F82D9725E88561CEF6412C22294497D01ED4
80C5CC6A6F3F8698704FBE642A3BE4754CD2AA5CA834C0519497806496975DDA
B3CDAC85099CB5768657E1D452F0131866B860693B9098B874397746805A60B7
695BE5E362CC1C54179B698FB05E509EB0832037015E8AF2371A455FF4BFC4A9
64BBEE3009EA24F3E07298D36BD037853FD48AD5A72684CB38EC6C085086A260
EC9BC49115343A281C44D4C16754268AC3730CB0F300D96BFC9B2B7A9CB484BD
6CA2FE6CA7101ADF968C9155F82E2738B99C40B28D70201C12F5BA89900C7192
52492517C0D31A37FA8AC7CD640753F2A5B5C0EFFA0D510A7192D7581A4AFC45
2A82CDBBC1580791788786C3223C2F59D374F738CB3F0FFD1E259DE2F52D437A
93A0DB3C9F6601DB79E0AD3A2BDC7AF1E39FCD2C454C1C91B3BD6242F4B7AF44
93BA3094E69FCDAD3391830B46BD1BA92CAA7F1991E29D6A603E0408A449E3AE
D2F50C5C3B9C703E9307755F414684361A7F16C3C9C88208C870A8F5A33EC932
D746E35C4161603618BD7BD9C8983DF4245CF702CF41DBD1876F836057C705A6
9D860BD7399F6B8541CCF79CFEC3377E9C1B883C95AA5AECCC79E9B35C1F6EA2
BE1A196A4A20F8BB477068B0ECB114FAB8494E0861F0ABF9A769686AD9795853
FBD9D7BAF288AAD4932C1C0E1C1A8B9AA79266882E610001D69F9C0761CC5D03
EAEF1CFFFBC175D6B9B2740678487D21215D50CC11D46B92C521410F83988511
748405454870B9500B92B314E18FF974DF31101A5236BE084B5F7587CC2E02B8
5D85B0822A8019709FD7D06640722205E00712A667F74843BC4E4AB82C1021D6
03D959D37EE9BFBE0D3F81D7C5E349285B0DBDFA0E3E6AFA14F648D821EF1823
F4F53B2C88BB1762153808FFC1960E97A772EB33D9B56F72817495E68D74F6BE
0F2A834B1458E87BECAB9110EAFA086532AD7F972F0AB9D1687D12898F9832B4
717400DAA6234871B2341D6F0D3ADCE29ACF5C0F90FCC420AA5CF79D85FE57D8
BEE6AB9F7BD84010C1B548938A194D3D086228B0C42D3B9981E684C685808218
2FA4E31ED2C609305D6D76BC44D9E62634285DACA694B7419041625024F02122
B8BBD20F55E0E64A2D44C13022C29343B1C872EAB31AA1A8BB720B7BD5296E4D
D86061AB364184E54470F36A806B19B75682F1337B69F0FFE83ABD6075F7B7AB
9056EE489C786B1819488EDA6438FFC0E6F56B3B03E91AC894E0E06BFE491781
FAC63D82239042AEC24CAA8422E9C37DE201B0DA529240F51FE5DE326C4ABF9A
9DCEBD5FA69BDC20FF5C53DCB7B274F186D0B1057B653DD2C96AB24902DBC895
79467D18E1ABE77102EA638642018A3199655B841F6EAB9DAE1765D867730E98
1732D58BA27F9B5F66CB5E86BEE6CEDF213CDAB2587190CD912581DEA0EDB58A
313A846A43E6D08F85DD44F483AFDBD051A9F540C734A5C94658D2EECE68D7CE
7A368B7FDC00EC399ACEAFCC96F89B8016ECF3AFB588C0F4A97202EB3F88EC40
65B0722AB466FE49FE3F9A60D080A66EE14E60AA90CCBA6C3C3192455DB354FF
64850C9CED5FD5BF4B9B9C5151FC188A99B82CE909D7C995F5195AFCFF9A1175
A7FF147346937FE499DF9EFCB7230FAE50C23665DC48B1993CB2C0BCF46D911C
8B11ACD49E62334F54024DEC5CA45D802EB26BE858662F0A826B249F1E118D7E
B626DFAC4C8A12B921AFB04BF25AB105DFF4D032E7FD14E57B70DAE67605DB1A
9BD58B0605D11E91709B498BC3CEE00E35446EEEB1CCC3E7145AC3EB940F1726
1D141DC2523ED791981C7126CBE0D877BAB6E37AD650D13386F195FB5EC4F141
02ADEF7A03E37DC38E23144766A0236C971EF6B73A6F04343D6D796FE25CA594
017B28AF231F982311B72055F90277CF0CCBCF3D3387B71F4469AFCAF9106802
9DC0DE8B4E5ADF28377F61A8B60A646465CC03C2C3F0FCDE4A8911095EE60ACE
9A51133D35E9C3A100ED809B6D9D6628C4A6FF7D7554AD6A59FE4EAD10F1906B
39E9F8C02E7ACF706A56D66D5962CC310B488A8918EAA4A94EF2D2EB9CAED136
1FC439CA8856B84F255EF562B55DCE7C48379A9A8E2AF229C8534C14E875BD37
DAD1CE6FECF80FF4EF7A7CD5C276541CE0A1E942524545F449A4D8D3F8393DD6
179540BE185E7ED75B1E4254BEAD81FCC446ADB49F2E00D71CB7D90D7AF10B48
EA1B723103D7B864144ABE5DDEB1EB5799CF062DC59C4C280B835DD18DA31168
CFAA73E0A911A3FF89ED2C9E736789E5D9150B5E3DFC64A6BF31749258B9B970
A66C63E33412C0E4506F170B26D39A9B408C097A588BF0633C850496943679CF
F2C7B2A7620B33A6A032A0CA54D61C4323BCEF2145ED7AAC478B3235E9EB02C8
9DA19D90A08E19451826DB8C2D18C0FE0E6B4ACC7F768F1EB7A7C2CD45A5775E
CCC5473E562A74BBCD993C14A95E4221B08B6BCA194A8255890F183A27D02983
E1CDE24EA810E5A08B1015421E246535DFAC7E7AD0A766F7258D24D764E9FC62
74E4C35B1634A0223DFE1806E48647A2C0A6A692EB6852002FC8106C829658EF
A185971372977FD41F3EFF624FEE385891E70A08AD0DD12D3EFD4AF1B3BE9F43
81D431979F0DF3BA0BB66CEBB1FFA21C1E5B75AD972607E596641F7CC838CB8D
1DD03E9CCE3C9DBE9588432A7ABD11951CB49CC73DF354826F681679E3BADE41
48898D384C3BDBE40AA054096A76168E0A8C055670BB6430D2B11EB659D40768
D59736098CB2EFE64422C20FE5C0162434899957582CE472E0BBE6EF32E20058
A3608261FEE7D4DD93CCD82622C27675544C4896F091B0E3A93516DBEB4DD1D9
0308C70C8E42E99AE14231C3BB3ABF3175F9D10D7385D84DA5C9B9B7A475ECC8
6A5FA479815457C4934E70EAF76EEF77F323A32DCC16141E59ED0993898A02F3
720530FC4E803C079F466A76B6670592CC2CE1DE68AAC7ED13DFA9CEB0B6C965
E5DA99602650A9C80C41EF9B8E3769BECFC3F7DB135644D95A0A544CC4DA2A09
FAFF25D230D8FD8279B22F684E4CB52FD8C7B90A7FE04CA33199EA30BF7C244C
A46DDAD66D08E14090CF2BD4617C69D050E3581C6E2C7E4EE3754E39DDF2614B
809DB7094AEE5FD5E98B0B189A09CE57E22874B831A514E8A99997009A70DDEF
E00E0D760F7D82DEC1FA9BAF964785953327A063DF224788B0BF24CE606F6FAF
60C618FDD08C85663AEB2383E138E6C79A12F27A878496F24BE5A599364251D2
A00CA68DF31A4E8DF243759B03267A9C42241FF0BF6D9716C84E4644FC3AA6D7
EFD4F8D3999841348F1A48C0934F1F3A4F67EA71ABCD2068CF0B9D32E03E870D
D481BF6E0F77ED8082ED7265BEBF028E24C40C5F173060CD38588E3E379CFBB1
73BA221174DF894F57787ED2423D43F60A7704563BE6EBDBDBA91D07108EEEA7
612B0D9DD7A7C8B8AF369FBBC580688A6335252773D3AD5959C714916EDF1BFF
6A14F1AB8158FD818D00CB4F79C928A8BE33FFB8DB5E560404CFF8B6F9318365
502EA93A10A68516FF98D3D48782F8FFFD4A172F93B0411AF35A169D588F3901
3C5DC858F3F621D1941622886DF6308772D7E2521D902DEA92B77562C0E2EF89
4C82360970FAA6B7304850B33B724B9E0819278133B26E6A3DB970E677F18206
B8F655BE47E403F9236249E18DB65986E456F3FD2437465FDD46E04662FE7A17
D365933C4E70099B22341EE322FAD5BFD71478E915F075855F2AF0359B82701E
39A8563D9D1E1D58E3C07EF7FD346626BA622CDF2796E49F208EF9D81DED9E3E
6586E80791A42B52018393A3001C36A0923E1F752A8F9BD718DAF82B73F0D787
0E0D0EA447225AC91A57C245195DECADE85DD4462911DFBED39CCBA072F67610
47BC0CFB1299FB8F8EFF9A993981CC8B34DD21ABF94DEDE805A9857E420D1FF8
78E42AFEAF620A38DD1A8661072A87197FE4CC15DAF53D450E4B3A2A9EA698C1
C004AFFABB970360359163ACB5F6C37E268F3678146228D8B9EA87634176BAF6
04E14A9E5C6FAE580410E38B500AB849039A11120221D230CC80E28DA22815DD
9D95F2975E74D14D6DA23E9721768471426E868294178EA3A4B3A380736572F9
C306EB1E8B9945C00642E0EBDF03CCC510C2A693E1BF58C47CF4388499F26CF4
15B7002AE294D63AA928B9EFC52AE3324F32DD62E91055785667D41457BC86EF
0CD9131FA14505E6C198CE50C3AA0B98493ED2C943A0D4C7A1B79650CA53C493
B980474D3C3D3240123C5C9A1530D00881950A7B1C41CC489F2DDB3A23917EAF
2B33C74519D1C1AB3FF087CE8F49D54750251B5922EA988C96D8BCAF1D83523E
1F4D62D994D97D7ACD8440862A982511EB91700746430BA9947082C4E46D33FB
0E34FD31E09326440DA973E3B8D3C4F6CCC6326F68167CE049AD48B0134E3301
FBA4507A0B48A0E12095A2BAF6E12AFD88EE484992C567255C7659AB1FF033E7
85F070AC0D807F4B0446D738C4D202D277E17382C24659E56BBF6AA81A037BA2
DB9B2F2542E681A82695917CEE95765AEDAA683E3E5BAEF685D5F80349589B30
002BC3370DCB02B75E46D554F0EF9D36FEEAEE9495FD898AAB199D23BA1BCAEB
C8893FF12E55ED78317874B021216D24005FD5051ED21D871988EDD76667B5A0
090908310B5644E6221295988DEC4473AA9528B51B372D1F131A78814EF5CA8A
ADFE115CDA3A867D7112F2D885D7E18C8E5D86DDB47E844E9387CF494FCE5A6E
D068667CCD5D6326484D4D42BD1BC04696DA69AA6E0628D4D3F3708B422D7490
15C31F6E57DF453C846789796C2B5185515068AC7A8CA2ECDA69B74D6A6697DD
1F5BE8C1E251CB732BCB9B6D44E108171AAE416755645306DE5E4440A6D570DC
B5886841C1747BCF154E41C84B69536992E0A5E930A3F9A7BAB4BE08BB384B6A
397622F9425C15CADE6171025718F06EB4E89F0CAB8C11735A2CF84E9CC90ACF
49A4D2730C3EA0359CE7DA6FE224BD279A84F240DB77725A346F9A2656FE513F
9E96635CEAF773B0EC7627CD08DE34C351761DC5B433E9EC4173AE8BCF3A8D16
821C44B6FC0D7DAEE30F0D092AE90E834AEC86CA3156356AC342A3434EDBEDE2
5E531BD8C5CD18E08620FA936327C024AF7F3D5ED0556648CB359BB5725D9245
301D0DE0858DD30FF1859948DC3ED3499DE49477514F1893C27A761846B79010
991486DA315581D6F7DBAF6FE07304739B3A4E2544E48EC9D5111D84F40153AA
526781B8E855D3213FBB57BC3FA4A0C211144F88321F6B7FEFA4606F2CC23916
AC43EA8B99E47CF5F6621DA3008A0BAA401E4FC6435E4AA0DA68D24C8AE25B11
17EAFE9C14FD8D6AB9545A2D1052C53B4DEF7A26F7BEDC8F3422613F36BEC48A
BBE7C90B3340B0E34E1CF33F1927D9D18BED06F565DF468845BB8106041BB6D8
98A425FB6289C13FF58418327ED5713534FB8A7D1F076D726A6AB09A0598B5C4
7F0E66A86C6906F6538FD5060AADB200B34A746CEB09B8E64D7B0E455955ABDF
4EEE3471FC7C04B65997C2B7AEF0E82B3BA4E0406B1F7A97F02C6A36A509DF59
1A188A54CFB06DA93A92F570BD4F772BA7D8D725A82C6AB83E52EB39B7E25954
31089059C6A01FCF3DE47AEF92C515F26BF89CE191A43EC2323EDAFB9FF81B2A
9DC9C6950974B708EA9F0ED78206868F97021E251611F06CCF0957B4A69E1FAC
E37A57AFD29C1192A25EC549B3F43F7F9957A9182D705C092EBB8E98CD754C55
7C0E0CCAF818E35DBEDAF38C3F83779721EFD946137A860979EDBFBB4B4AB911
63B140F4784EE93E29F9EFB9CD5C5054A24121391EC21DBF2FC0A750620AD3FB
DD631C2A75D285AD5D6990C70954B326B30CF5E806981D4F000892C77E1887F6
AD956E4D43B92C33A511EA41D892687E702AEC67B5168F7A7BC05CC28A12AC3B
886EEFC74D232D39A133F8C4E8F7A427C5CE651E5C47A3E46137F79261ED072B
F2BFBAD0B0A1C9C8D79EF821739A5E9B93652C74B337C9D014AA8F17D7206C6B
B7B6FCE34C112987873FBF250B742C31682A22DDA366A33E25705E33C907F0A8
03AEA016E92623965CC958EC483530A8488D9F7B4EF2D0ABE2A485BF0FB885AC
8D85CD1FCB1E2A9DA396037BC2AF4F4FA59FA849AC75E5303B1D694D2A938E66
3886A7EA90C896C2328EE5E294F29FCFE601831FC296B3005EBBD4A0B3CD2F26
B5AAC2B0BBA658AA69564167A77E1BACCFFB1239E5B1EE65454E1F00B4D622B2
A570CD8F93E82ED3F303145FDD85B2E701F4BBDAF3E7F44997C76722134F8750
25671840F8FDE33DDF5EF90FB478FA61722427369CC04F0EC834F5EA706DA172
6B5D573895959D94EBF1E5A60FB30207DD5265A1FBDD4EFD7FE32B679D99000B
FA0B723885CF34352648B9E1032EE37DB8B097885D6F1141FBF8A9CD47C091F6
50857E705DCEC083BC63CE21E00F2E298711A80B871D182A75CA86E594D4E1DF
146AD7B037E9A40E11770E3FCBCDB35C5D4D234A1EEF3AB925C803A58511A074
36A26D32559C1260BEDF1E3AAF32339603669C62DC9605471CCA456B21D26C72
D46889C0F5AAF35051B1D524641420CC73DE6F41BCF8ECD0DB3BDAC080138013
AF7A08FA157181F5504ABA82BC962A56E7FA6AE0F887948DC503AAD4D91F308C
71A95F33D556420AF643E4716037F6D0E24A5DA34DAC5FF99C27327EBA61A990
11F09AE832C51751EA8B8D446BDB63CBC0CEBB5A3D21670186C1F2F78520D478
09C564244167C4C3AABA65473CF662BE62A38B1B6115E6016B9A79CBE06F17EF
BCAE7AC4630B2573242A93F1F1605811BC1B6CFCE437F436D191BC153BC0F6F5
015456152991E3E7FFD801FB4FA5D2BD814D7EF303F7C1124AB742AD7CA2953F
BF86AECA89286F5B6B249F50177D7F4299C49BA7F413D813D456ADACE9606A84
9E7B3616B2BB9C424BE17BB6C42619AA357657C71A446C318EE7CE7C3D2034B6
0181982EDCA7F4810B9355BFA245A5C0A536A7785A11F9802DAAEBBBE53AFE63
9B805B44BF74798FC2FA68AFF4AE9CC185C0F2DD40975B57E203F93A01EDE7EC
FD1E7B4F07DAB6CC20EFE84A121131364FFF592AB0405DA3D8D4A76948586FC2
DAA9AAA1C2F08E6DD3CA968B2B30C39099C2BAD1533AF3F47E50CE65C0D21CEF
4348C932B1867F6A0383F441C384BCF3CE00AFC7BB27AA1BC413560A3E6C5930
9A5B3AB9BCEED4C3A4B76CDC729B4CE462A4717EA74E6E0D28632E83C46D079B
FA04A4A7553A9E815F0D6DC8183C91316937321EF79718B3B031156C6AFE4507
4A436FB1914FF1605CD635A75BA98ED114F71994A2427E951384A101F57470ED
31784A30A19295724E3244FBA8A78F8C04215007C35C92C09A32A9FF38491B6F
667DD8777B4BA3062663ED9427410FACDD8433A84CD1761096557AF787DA8E95
550ACFF4D1B3525127867BB2D9F51E08CF55805DE5AB905A6AC3523A6333DB44
F20ABDDF433CA5A543496A729C545B04E89BA303394D6E7958FFB7CE01042148
721B607266EBD6776BE23F0704DD4C15A8F6DEEB80518207DB89D71FCD79237B
15B0C63E10E36E628F8E8C3D57CE3222462DD823F06119AD3C9A8E5783F3F954
80CC04AF2A6900A7D269F1AA7A9229EE373AE43A6F5F5946FB09591587199077
EAC8F54E4F43A14F3BE5695775E11FE8A6EAFBB085F450203508BF65DA5ACC87
E1962AB9E98BE70B711FEE7B04B28A2689A711858E9C8AA3EF7B3C284D92C769
F1101A66120E503752ADBB350354C53FC7CE6251BBAA867930661BA796922348
7525437CE0F3B3AA0E7F6B2DB7290643BF70E3A1B778CA40BB6D16ABE16F15F1
766C6B59DED4B63687644FC66DC98DBDABE01E4E1C2E2E1C764E0656006E6A77
8E1D085B061AB636088914382978F52E012F672A4D6607F16D04667C0B5BE6A4
27843CA999E7C88965E3052736111759F1B92C8D68B6561A35C496D867C1B316
87AC93725636812BC495B23EA1EDEBDA8C1A67CD20163385D0E47D274625FE95
2B6BA9E57060696A82528C78417A34D627259FF9FA4BB390F2C692E6D805C71A
79051197FFCB52DDCC349C7D8757A5B5572379D6E3C09AE64018229656BB28E3
B419022681FFB189D632F08C9109ABBB3E8E50D1412AD905EE89F255771BD07D
B3E464664862D9F89CE32F921DE51D0C502ADF04F8F97648C9F39C4D5A5B3AF1
635E6268F4C008D97C84C71BFD5D222D331AE74B407D272C3B9578169ED2F952
305093FD0CDA1D1FE143E27FD8F2E8CFA0E9C947FFA72AC8DC2D7F8D221710A7
0BF4927A56148B61712C2F9C660A91C444C4F8C2003F39F73EDA736E420BE59A
00C3D962C3C45A437024C9587828FA90B4781EF864099C00DB81B61D7E8832B0
558CF489E01C2DF1B3F5A9654B5994F9202933B78AFDA235F813BC542685574C
795A2B5392C4FF71723E613673E030C447FBEFA61644BF1258B599998DAF42F1
D0A02B115446F18CACC52C449752DA432CADFC69533F454E34AC9AF0C4707739
5A215E5E142A8BA7AB9C0F8F3D631EFCD92C769F2FA22EC3918562311C830DF3
18D45D8F72A2284CB213B0A4DB3DFF924A3EDEF456D8B9FEA70B35B4F4FC084E
A5D65925BE10901CDC44996884A37FDFB0C7FC37C300AA218D3E18D24FC812A4
1ADA3419EF9196428CC7B87977D485AB643A63440C8BB65F61E00416D75B7571
73BA8158D7A448958FCA7266FB62C36C14338B0244D15A802344C84033CA5BC7
8760612749D574956954E14D4245ACF82515B9811DF525B905961E96A725A453
10A211B0DB2C6C08D6CDD77DAD85849FE1969791F388AB7D5345C23C8F88637C
5971FF67B81E77AB8B50FD84F9EE6B484586DACF6BFF2D5AEAD46B5577474C20
B7D417EAF862FF381E3A92DA1C7691D1311E656F9669A244BF850552A2B600BD
599063C37CD98A90604282B7F7CE0E01F7114B37E45A3B426D9B9EA9604E26A6
1651FFE943F29E80840C0D4468185472B6551F6716DA88597EED3A6BE76C31CF
02552A586F6C4E2472C31A6E1B72EFDE0381E0A1B29E65FF9A481A9EC9F98EEE
5D777DD7021F6B34B6779EA46E8F630BF44A5AA2B399AFA9155DD85234D3BEE7
FC27A152F8636CA951E8B9D2E19FACE62EF009B16C318D6EE07F8C0766F875C1
AC07101128484F6C6DF3D65187455985D561956453807ECCE240510377C9717A
25F570D1B2387D6F19F463B0AC71DCC40259CCD2B871231445E399B23065E143
38241E7E3584BB16B787D3B3DF0C55946C922103C3F9C7647D03D3DA201E9DE7
EDA960FAD51184CD912365E6121F794B02E9163805F7F4C1FF9051C14D119D4E
052AB87249FBBFFFDFAC519E1CCC59848BC0CE83AF7FADB69021D18C467EFADF
43609928BB8EBF46E1E72B1E3615594050C3B1DC3F9944F3894D5403A72A1F32
F58EC401D64EC2FBA86D1CE46A257B5B141CD9BAC2D5059DE78EE8947289D8B2
08554E8C434357D3838F203F220CA196A32409A02C169830BBE3E8E8DE60284E
45B463CDC0E82E66E40C50C8608B5F92D683C121DDB2E3846622CD0513375B45
C24002A62556FEF0A2D318CE4CEDBAF26CE62B5DB9D20FD5923535A55FACE60F
09B963B07AFA47BEEB03A0CD3AEA811D5D0126E368545D8264B2ED20E4405E7B
F7A6377FC77907BEE642B07DB55201BB359C916BB319E8D6A56ABCD125E554BE
2A055D18F722EDE8147BD163C7783B99ECC381D159F2E11D8094BEADB88FA60B
6908BDF26AE06FC7153C016F48592F333F68AB220278E4E95A3CEA9E69EDE933
4D3A6C3092771763F1F1950DEFD604261ECC6D903D08D14079770C3F24BCD218
F808A3DC0D540175F399941A145CD1771F1F9D4B70AF3C1F3D26F73063F7F8CF
5C3767EB579CCCE96E88E5EBDCF94FEFE873085660636854852C66DA32C03595
CFAD89375F9B744023864E167FA5BCF720EE9C05FA16AC1D400A8D453E3C8D88
55943473A98E0925288EB80044D339FF93E8A16E5DAFD8716FDA725200843815
B46D2D4861F102AD7CB0C93963F5CDE89E9A15CF03C14D976BFE327058F963AA
0A2DEC
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /minus put
dup 1 /periodcentered put
dup 2 /multiply put
dup 15 /bullet put
dup 17 /equivalence put
dup 20 /lessequal put
dup 49 /infinity put
dup 50 /element put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC5703C1951831CFD3569BF1CC312382F4A
9021A39FE4F3E8146034DB384C29524BF88E4BE6048C63A48BA6C80B9ADEA258
203123AB85F27C3548508980376E50637473AD666499BD57B178429DE1DCAC99
01E521BBCFF56D203E27998E7F38E869C7A4958D98F91F63F000179C41EDE1D5
BAE28DBCB956FEF62126142D778EC5721D619C4E2C6615F9A3ED005684C44174
4E9BFCDD204595382F900271C4E1C49BEA4D28F6B7AF9B3697A791298F851D67
2F79CA245156183690DCC374E31E8D032B7B5BA66494A5EA13E4899D3E327175
BCEC55EA74AD6B92646C2863BC0E93ADC59A94A5F0CE5D0208EDFCA4C302F5B1
53685D0DD7E81B951E7879CDD7D32F074E7BF4ECD376FCA68B5381917005E4C8
EAF57F5368127E08A7E6F87C0FAF0DC9B9F8D7510E62C1146B515BCE03D1DF90
293405A6D9C69EDD59FD7DDA36BF99B053C1342C3927184D3E4BCB94E062BC0B
F7FE407CF004E23C2BCD41510D577903D71DF0F90F9D843A33627B98DB32C03B
72BE0742B8E2639750B07D40B4F55637730AB19430D82509A767CDA8BC56ACBA
4A1F1B82C25A9CC29029DE5E81DD2CBBC581D2804A90CBC5E120C7F79411F51F
DE9E5DB99F76E5B41143C6D82601DE67ED29E4453B1C265F8C94D5E75C7C0748
D4FED885696B941D7E8BD316768EC96FE195C677F177339F761F2FD486B8AFC3
AE00E654ECE85BFBFD1409AC508046D314D6E3CC828153AA70B5735BD2A2212B
3AC063FC0C46BD2FBBF75834CC81BD25403F525372D1CFFBC8D0822A833622AA
0E29B8BA9B7FF5B498058E47C79315FCFF71F6E56D035244CE564F7273CEB38A
9AA61AEC42757A1D6DD977ABB60BFDCF77AF965F59236F962301829CF8192A4B
2B27B7406BCF2284F445F06376808E003F74D2B0F9B84AF8743E1DBDEC42678C
961C374046F813770FDED4C77782EEFF3F8A185999E674A625EB61A36388E7E4
F2A40D423DD3A62B2C8E76AA8C7A3E100C373E536E67B469072F814AABE52441
06C906C4869049A5DCDF78A6DFD46CD2A9FFC98BDF833E445D9A7A3F7197268C
3B8507BA83CBFD00572580B65CAE74F32BBA9A143C72A443957859AF5F1B86F2
76DC4B0887058899B445C47DA653BCE0BBA57AB7E8A2D7EA8BA206F0E172B556
2E9BC54C56F315232FDA7F9DC5812612BB25308FE5467DBD27BF5FC3CB5123A4
3BFE969D92E155F84B3F93235A3F679F6A948EBFAE33F41B62E5432EB3F7E4E3
DC97C66902DA1B75A81E8D0D453E1ADDC8C050E3F04E3473CCF94319A06F178B
B09029CB158285DA5A0055F84A0836677B2C851C793A777E18CE402A922FDAA1
FB3619F90C23ADDCD5575CFE3CE92B056CCF27EB15DC2AD14BE65DBA1D0C6B12
9C30D5446F213D3AA7DB57D1E4930F36793CAA47841EF8B4EBF96DDC9997AE8E
6060757DCCCEDB57395DBB43BF8F93D3A86CF43C68007006EB172536365CF7C4
45ECADC5D0E483BE3B058BDAF3F01D29012FA9E0C0AFAE90C3E9BAC3428718FB
B1C999290C4FA33997F87005825D8BBC8B7591E0BC561A03500AF197FBE9994A
A1BBC4F251CFC6E16BF9C52D8B4A458ECFDDEEAB5DDA3DEF93D2E03F77BF7D4A
4923BF31B76AFB210CAA
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSL12
%!PS-AdobeFont-1.1: CMSL12 1.0
%%CreationDate: 1991 Aug 20 16:40:41
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSL12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
end readonly def
/FontName /CMSL12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
readonly def
/FontBBox{-56 -251 1102 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
55FBD18DCEF738EFB8E96B4B61D9C1A24F5FE2B29EF89EA4320BCB1D16E30E22
AB926EBADAACFDC5784740982ADC9619BFDF3586F8C12E6F6E588B44226DCB87
DEFC33CDC78D0E39CE42F3CD39130758A1DA6723A3BFE0FC6ACE02389569609D
E0A2F8219BCA30B5669A6EF48E4FC32BBCC3CA7CC2C7615DACC771E59FDCBA30
17F349B2BEF4EC6B45905D23BDEEC669B3BF525881857B942BF724608CBA8DA8
37CB92A472B89421D4BA156248D4F4F7AA90DA4EEEB4B3D57A4C2F0F41B7E669
9AA74D9F4743AC680A1EA18B567BBD8A2BCCEAC1795CCB5188C77C5B199027DF
F158135941CD020826973194789ED9B5279136A8B9D0D9979E5E80F95A223851
BC17E0EBB94FDAE8F32FE889774D72FA17E179F5AF39385406FBA973734BCAE5
4DD33DEA30B1BCAA9207D96BDBC6AE9519E3603AC39A09B2A52ADDF935FE10EA
A759515DF32688D0E95B1D37CE23E9F45A114572761B088BAB7464D8A1BF7BEF
EDFEC4E472006F678C5E2F6E61AF9E5A5D6DB85600E53818535889F6C31061A4
9A6C369C2680CB769A5540D5A62429DAEE4E2AF5971BC12DAF37B3DAEB66BA94
2998AD18DD63DF3A15EB2FC41AC343063AEAFCD5D2E1BB23C444D4671A954A93
D486AEC7E85A138FEC0119ED1CE10CE7E31F9952B64D538600DEDF8A47A1D883
C36782EFC22E44808A443683D957037650468EFDAB2FAAEB76F20A96028198DF
D7488D939A34B92F3E7795DA08E367E2D76DC55390B2E1B60C0D79E94A5B08A9
8A05EB709E20AF278FE8CB356B5B756C40DA10C2A291A884136D4FE5B0C23022
DC1CF3D402B4443529A205D7681FECE13AA57E3F277FAC55F24D6899E6AA82AE
8BCF4A17444A50E042822688F02DBC8C8DE9FAEE3269EB3274804A5674F99531
59FE2FD52A7D99D1B9BE4DF17B272D78C1640B1616FD379CA0E0284D76C41C48
047EB422ABF7239E94F717EE9E0579E41F9397EAED555467147BBFAA0D426C9C
6567B7C011AF760242E8148D652CE576C99E888D3A56B2D111E307A6867A0631
FCF4A94CB0442FFD26AAB6D20C3E1C38F8F687B96A563BB376F0B039121C4CE8
7F1A27BFB3F900EEC5C54C8A0702ED31E76D7EA8FFE25491A1164A287AF81363
C31B05A1842C9FDFF177FC6CCB348A7D8635B8EFC842AD02971BC74E6C40BEE1
34711C284513233BC7B7B019A78F9C94F42449E298E20AD5D4B9E151FA62AD44
FF46019BF7E7632B8171C3647C6BB5340B1012AD110C819F80E7CD584048316F
914C4CAF9048CE059409CE61209FD1485E92E1B8E77D11EFC7CD7E5D99AE4EA9
418A17D98FF13911CA8946659606AB1E7BD905D5AE80142D2CAD141E711FD102
C32198222C76303F107368DB9A1B4ACD610CB8FECA90A7FBDE69BFB405290D5A
60F03EF7B11A61425AE8846FE4D270F6CB8A4630DA985052CDAF510CD9A48265
BE51EFD2926ED43F2049052D3005B49D7A6614A09CB3FC465401739C50A3B047
B94ADEB8C418428B4A9B502D9516CBD869AD4A88D2395CD14224B08F08978595
47A6E66D140F18BEE56D01DB065D712379EDB5B2975283E78568A46CD97A198F
327A146A643A970736152263A6859A649977E7AB493C9CEFC74D85B7A52CAF23
A2361D23FFDE1496FEFDC72F1B8A397AD0C137415DB771ABE01A9813A1BBE074
F11D5F2C858D2B3EAB3D45D7820C6A41580EA0530DA81C0E4F970182758DD4B9
36A2ECBFE56ADFA352885151557663B34C34BEDAD6952208F09E91C7521EAA7C
873538E941677356CB0AC64E382E3E8453F04EF85BD06D37D0D452263B6C9CFB
EB9248FF8A02596FCDA94A08CBEFB095CA89B1A63862D650815478FB45657A7E
54D70E97ABCED16445C05CE6DB2C703514E23814BBB5C1E4EC8268CCB0149B72
2319A921837B08B798487CADBB726C0E46279D8F5C688D01246A326DA6B6B69C
67CD2F5D89C8475592B3CDD4A08827248610D3C5F54F8E7BB267C1E907566558
B3EE7B792AD9598FE1A0570F53C4A158E7C3EF1AA4CE3263E1DE5C27C4D716A5
5D8F22399CDA0DCE9D92A4AF318D23160484B333A7AFE509943A577AD89F13A8
0E596A6103B08BA6F698DB02059CF6272EB64153215CA1C6CB8226D2CB712D17
D6B2B5358DB912100AE400EEAF3DEE91597D5D5C68BB5291C71363335B1D91B5
A7B7CF4CAC00082FA61B9C96A893C3D232AD0C2523588DB2266E2773AE804D49
2F002558ABE65C63AB78512C1D940D7B10CAEF5B262CA1C7A9E19A2878737A1F
2EAEC3B4ADC03054CAD1684F833ABABEBE65559B27E293251632C0C94001AAB0
92A6E47745FC6D66A95004737B37FB3BC88290E4E8654AF4077BBDCB8C8FB742
902239B4E71A5854EBCB83661FE880984E3357844B87FC05C50999D9D507CDA7
7FB900CA9D0320A65AF3A965F7975BE729428DD99C6B7F9B499530BC279030EE
94BCAD5E220A325DAD3EE2729FE1B5EDA09FB3CD6B0E8C621A735079B54849DC
377ABCDEE134A7262FD8213FD1CD43955E55ECCE123DCE2F38ABE7525C6EDC8D
DF956ED26FD5343F0175615FC338C80195CC194720C0F3D1EA7BB9F7E427A0E6
BE2F181DDCABFC78123EA6DBF740BE2DBD97349908AC7E80A5200CE7D17BFDBE
32050D8565C46C28978B36A753E25E1094A547BC13EB32369948DB25D8DCF805
3A8EBCF6262EA96E3A14FA632F5A8B26EBA55E4BF7D9FBB31F02FD3FFB79270B
85D779C63F773C58D45AEE60118B279F5CE5747DADB971811F6FDA24A0AEBFBE
F2AB6BDBCD45DB51AEBDDB647016F5F4BBF0F8E4F1D0ECA69CF299EB76327779
9581E51A7D4EAA60C5C9B7C1C5AAD221672ED44E6FE21F346A476E6E8A7D8676
1BA5BD8B323954B5E6FB6129D704341E015EA0459C879397738F5C910A252F84
08CA1EDEDFC7D2697D0DD878336D621E088151E4ADCBED325D4DB87E8FA312BB
0E73DE64E1BCEFDA4902CB60FF3F5AB640DEBD55B65255659E16CDE4CFD263BE
C2E9274C942737938A1C64F0BE88992F32AF14D8F7A2F9C260648D0E7A457FF7
7C4D1D8E2063D3CFB11BB4FB95735271C767305D902AC641AF8F578D327B8E7B
CF44C0AE70804473F85411C52284A1D3B50229AED5DB7BD2101196B0C995C479
71C1E7A3F0201E25E7B14421D4140E7D70DAEDD3E077449416C0BA4C7F9D14D3
4824B933567FDBACA708A89F7AF986DFBBF248620BD23F89C8597676FE0EA54A
58E2CF70A49ECCAEF43BB37853F7887A987B0C0918DECA1A2E057206D562EE16
42B951E5C8B76E400BCEF66857CD61934F743856A87B10BBDE3CA6B6681C8F19
FE954CCBCB38F986AE44F274C2221701F372E78BEA5B40334963C07E026E0C87
B81ADA427F8F41CBB04F327BC718B320E5D5C3D98841C6146BEEC42A653C590A
9049F9FC7685DBFE8E158B5B1B384D1852071AC4B65DA96982BE39597A53CC2A
DCC4C5E5E4AC9FDA69CBB8995AFDB81E267D3E0867EFDC612928BF1DE40A9FAD
9D1412C8305BFE5F677F1FFC2EADD651A96EE721330F29E76C401BC2D3B8F865
C82BFB2F5FBFD6A47FD1A7B91BFF49FD71625A28F9ED09527C4DC6868498A3D4
B3292A19B2D8458D7ACD8189BE880DF0D3AA583801A379A9CC8CC64523A95E9C
021B9D7561EA220F55723CC352DCC7607A57C9C73EA2D8DD6EB1B585E950E505
325ED99E3D8E2DB5972A36FC9604258259B3B74FF2CEC002B013FF4A288B54FE
0DDFA52608C96727572A7C2392DA3F10ACF1CA7E6A03789C5E2927D82A842A82
A2E339EF49987F31E8136653BC4039BF3ED5450693925F8099D690FB67F7F3B9
3DE7DD515B718BE69EE70AC5BDF500B6873883F33A35F0F98780209022A312DD
20AFE997719A22BF90EBC80CDE68484BC93EF1169C507582D3E5DCC09A7ED834
DBC81AB925146914CFFA7DCF3EF6F7D8A5E94F31F46C05E4C65E63B144BCEBFD
5319C65CD84DD403F9776A26F231594197EACC71EE03D6DD857C8B923FA16B0D
D307F21DC72A339EC1DEF4386D72A5FF83CE4036C555A9BA797A78EF5799001C
2B39C9D1BAA8E9D227DBE4DA125E2ABD18E4570E0537A0C67EE5683A3CF02031
012BC6028F910F64A0CEC604CCF4B92907163BC897066112BCBDB6AEE14C80CE
3E98506A1DB5BDE81FF8C987641081E35A7E38CABA5095DC2ED031073DA97654
956D6FCE4FE9BFD440E15AED81602E150A4D346EC507D356688858EAE68E554F
064D9AE9A1BE50608DAF7DE58A9773A4EB492762A96AF53170108D0F90F5E183
8CA4A3FA8659BE80E01B256D8CC8815FB271225F07EAA9D4F310428B22A54809
4F19B2247935CD84DCBFBF5289903620483607AE2BF882FF8F7BB188AFCAE3D3
B3DE65AE6D1C4326125CB09C8A4B8EDA38B3631D8003BCC2DCC44D67555A41C2
D24AE71A59B8E523C6C650B7C09D7B9A4F7153572BCC89E829A26F56A7F133BC
878D660CBC26F09807CEAE8C1F2824E53C0F61771418AF634F36302F9AB8ABFD
C89B25B9EC7C522799AE0DCFF5603BD4BB03BF882EB11050CD5D16B56BD32BD8
51BA76F4F7F9D23A443D1E6865F7554ACDAE3253D08436F1948A36FA5DCFD3AD
0D6B3468B7D279C21A84AFE865A1514F4D7153B034E1B3B2EA47F88D63D28254
F75B0F310D19917781B75D626BD9A78A001417970E213362BFC5D119C4EDCFBC
E5C87DAA3CEEDB4C491A558EA2D21889433C6F9F674776E5AEDE168E6BD1EDA9
56A4628DD982132D57DA9B4D013F758AE7352AC148E05AA2B23CACDC781DC52E
DF7CE7F0DC8299B02942953DCC7F59DBDB4139622654FD8E2AC01822B2B6FCDD
82FB14DABD27A79D036409FC9BA7ED665CE873CE7A136AAFA4E14F32FA81448E
97660899E20558D81E88215BC100BD25A8E3D3CF1F8F338BBFFE87C6F15BCB0B
D4EFBA168A531736E87FCED708107A45F8F04E74E534C2C325C2084113F36AEA
1FD94BE9B10794686703398CFDC189EEB593C1AB7F30D39B52DF653C45B3812C
E188E3E85F4C5F9B505D15AA85F8E15EF23BB654BBAC2646ED7C2DC9C8DE3E46
B6CCD27E8A34D14E37C0C77640351A1B8280667BFD2539AFFB73B5017324077A
724AC505477BE074789A9BA641A088AFDF0D0B0F1DEC39ECD1D5C4A8F167EB43
3E291DC65FC6AEF9DE62B8AA6EBAEA7EC588178898C72E4B97BE0DA0C3B8D0AC
CD9A13BE67D4050BCA3DC5AEE23D91AF7268C61485918EB6AF10978DF79657ED
408841883A9EC940F8A7EE89CEA60BA79DCEF236AFF374E09D0AF6299DDF764F
8DB5A0F0185B668D20CC919640D8977D3C489C2BCF235A4E668508C1607DB905
6D65E2714F251DFB2907B409CE87F298CCA39EFF529BF7C544FE7356A466BB0C
13D252B85183EADC91B82BDD598A461AF3C74354A1724E3EC3FD0B8741F3E708
66727ECB92F4D34200F014990DEB034BED9A67877A3FEB8863E798BE7DA33F1F
01DE7B5D6DDD63B660A451FBA9DE9BF74EE0CEC424160F330C0643A71F0D0BBE
11EDE6006D170FEF327AD7C8E6029C1820593899C5520D8D49E9862DA7ED823C
8674C3C74678CF576332FFC3E97DE747B59ACC5EA6C00F29FCF63BF2CD43DD75
ACD4577EFA66C1B32EAE2DC84A8ABF0A6DB7D33F5CDB1F1E75BC0A0B59223344
512B82194303DFFC58469407AB0797ECF52888826A9D2B8524DDD1DA1570541B
7BCF5C608D9DF8CAB530E5ED5D41D89D2B942194F130B14FCAF333BFE36A0321
A075F7CE0C2FBC2D118C271CC4C88317A4122683809CDB687F4596A237E55078
FCA5BF68806B94171E9307C92ED6EBC2B001F4D0D5D775B3CABA66C486DD3724
8FCE4B886FACA059B3B0E7CF69ADD3F3069ECDE089396ED3E5F04392F078D12B
3C4F597658129849FD2EBCD1819083885882F868776EDEDCA89708952905E30E
4D099712CD67469EDDCFBF8438DB5128E2B39219D2F5138334D91B38DD5255C5
228AD37AF944A70D6CF9BCC98876CEE5AF0A98404EE617692524A24E4FA00A9F
82322B2F6F7D89940CB6181147B9489EEBCAFA5102EA7A8292A4C2ED9FE86F6C
5ECA17C3E3D5D01E9F5C25A0D5228AAB0588EDD649D782DB9CF61E6F6C232A96
DE4F01A86FB839337277BD0B574030E9D6A10F0581A8DE5C00102F65475B05EE
8860EE2CD6966644D572CF62241F805C929834F91A4355E72F3AD97CFD2E3C14
81616FE3A14CE9CE02BD9BBB9F4266E462955E0C5EF3FD2893D560970EA00349
94E10AF9975FBA767340D416287D49E6E9BA4756CC0808EDCF44BD44213C31D4
876B7726D0C6BDF1BA730BF3F00E3B5D010A0F6F8814698802EF77AD2F80932D
C88BE67B79D5947E3E5C874B60585BB3134A328FEE89ED2D114C1AF1A0A8DF46
793271008DB1DD5DA7863BB53D447BC8EF84DAB6F2E54BE6E9B375F1C8FFDEBB
371B096D916FD7C24BAC082BBFC15A825AB7EE733E8A6ECD2EC353ED1BE32CB2
5A480E9FACBA3BD36BBE721FA09904D0957DD6ACC15BFAA5F7DA24C59BEBED76
913C3CEF10C079DA47E915D549321FEC48CAF0D7D4A964E34D9B6D9FEFEDF31F
C0473A6E816666AB0BBE56E05870605FD3737ACC9F4AF67CAD472BB08D572545
43731C80A6662FBC56957785D61FF68AF79AE71F737BB9DF0D96F47040046B58
54FD3168F5F1B17ED771947623ADBC0CBE19DDCE3D745046A8A3AA40950F37EA
DC9371A291766851268155E06EE088908CD4DEFBF1E8E86E80F50C16C6DA0FED
C45996F763782AF1B1E304BD514F06734F0112D2F56ACD244BEFCAC0088C2458
BF69AE7E854CF8AE164B6F09A0ED4424601EE1A5BA0649AE35227DE85BC0ADB3
EE9E570C47C4EAD97D79121ED689DE3195A76C9F3B18C57737FC7F82BB0E2882
63207D51E506E314675D146C75B70EEC01310A17EEE00881F5BF82268E398216
2830E398D6886CFED2117DF8B6E9C8C60D9DC7C2B6AEB07BC572B0680A74E1B3
CDC0CF7BB78CF5F9939109DE879921D8D28E49790E7C6D427B9B0B080639C003
022E50D4CA02D6EEE03AE88259E9E6BF0D1AC45AAB356CF2512687283D88DECB
00DBFF38CA2FB738EAAC658109D610BC216BCA80246B1DA2A1F1A8A6C4549F31
7914EA22E0AD5C9867F3E4DA9623DE42DF938E9F0997DB2FFB8438A83B5D5AC8
32CD10EB0AD69AEA98628DB5B70BAFAD70DAA2485426A08080DF9A25365E90EE
40006CB531EF58B2ED716463C1C45AC05E2D2659091B3FEECB1A3DA1ADCBBB66
827A3307ECAEF328CCADAC3725202EF79791DEA339B313450AE45FE9E88DFEA1
431F9BFFFD3127CF3CF5BD43AFEEA27C3FA2037DF36EBE5692780B5662690307
A6FFE1145A29405019951FCA8EE360DD63D4BFFF42400AB389A2E8B61D1CC7D5
54BDC1B12E78D0D0B5AF29615778248A75936F828230CFF26EAB52955356E173
421D50A32A55B397902742C99E955832B9D983F42047F6DA88B8CCDB61D440F6
C27AC433249EA7DCCF90AA71CDC70C036412A0AC1CE66110BF7E6D93E0830F5F
8A8BBE024A5E764D63560AA73248C00A038BBF67944748F1EE7995D744803590
9C5DE925ACEBE9E4899F11CFF765AAB267175A6A60D2439B7D73792094F0F986
F2650A5EFFBA355CA5FEA5D1095968CE99D1D3D5D9132161E7A12CEB7FC378F1
DADF217166C19E545010CF4F3105D83E9CF9B3C7775C49603C7E90F2BACE60CB
816CBE7DA34A9803930E5C2A9E27EC5F3207C06618F99A1E22E9A9EE1573C9DD
CDC73E9115C46172669E894F015343474216F2A80BDE8AEF802BC0E4F2B7F98C
2B571D8BE7759BACFB1EAC176D709C447090A22091836786FEDBC722D6FB0A03
DAC9BF70CB9B1F2FCDC0408E93AAA0342D7F2C4950571F6D94B58A19003F0773
1A4D2C6A65C710C93AB40831100992E2FE311AA00621D82FA107C992E0B66371
2B7FD94DBC6DFE177451C82DF8FD967BFA72925710FB551C5283D8680E88DEBC
18AEDE901100FC3348D5B25806DD3DD1DDE5767F3EF3D6297E59545040D48EB1
2E9126284676F68DD3DC33053D373E0B8E4CCBDFF0100BA5279A06C46494DA31
281C43847E30A17B4A73A1504B2A26D69D0D8AD5EDD193E5217117AD4B538B6B
E25F94A7B2E3EE3BE55F9565A89600FDB5D54AA933E72DDC101A9E9E10BBED32
2636671B88222D22D73160C6818844D8029D07CAF329ECA1A2A04D66D50D8EDA
31D67F1629CC9E827C69CC768D1E2B2FAD08D7379046F704A75AA08033BA4D90
7139A0AF54ABB3FF996551B0B3A74FB1B423D7B2CC08B920C46A0841C2D43531
7422C21D2474A8CB98B64F05227259CEF43731F079B5D1EEDBAFAD45084692FD
2854D3417DCFF652BA2E43FE48DAB46C4D24480D71126C4F1567EBBF5CD6E4E5
6B11F2DD7546290B6D388CA1CC25911831A154B0DA010CBD8AD49F54C38DF968
FEC5BC068C804FA6876B24A091A77B5F075393721DC593EC145E164D70692466
93FD09C36C3A4E91B0CEF1F7421AA02FD45AB4DF996E974F52E35F6F74B20FA7
BA334B9951296351D94FA53EA5980BA61A5D65DAA8BD9D04C3B6EAA6B08E7A73
F3C4880AC82DAE703A68B5A127266846C026425B235B097BB8EBD4F518CBF851
DCDA7DA85DADE551EC6F20A3775388D8D14D93C880FE29653733D825CFA52417
1898EF829E39765F5755F0767DD8743B81E974C573352000E0EA1CF8CD0D4ACB
65836539E10BCF1DAFF99EFE57C8567CA5CD1302111E569A858597D50902BF26
33FE5371E364B1E57E62AB287A509468FCEDBB54BFD62A7D3E540DE53595CB7E
C50DD0D6CF9063909E53F7F08D14E0F4877793EA3F3D83C415F276A500C3873D
FD5A960CC6168C741EC5999056C7CA1D3227F5B57CEEFBDF2F7B31047378507E
F1232DE5DC69824738306E66EBB6A72B58C80F477F2B72B875ADBA12FD215FD8
920DC452C77F7364DC8B490922F515993D80057CCCA673C456A56C96E90726B7
E65DD4AEB706896F0271BCAAA63686C9133335CD25FDA82FC38F6D9E26E91C5C
A2636D79FAEA4C169D3BDCF6A8F94202165DCFD3E032D3F9824DF856AFF0306D
A280598DC84BD592489079D2F7D6407C21A09A85FFBF307580CE9D039A68BF77
DCBEF6AC5E43D8A88920AD01284E7B4D07CBB719D52C3350C696FD01BA18A943
0F8FFC0239C6FC7D4CBA2495B81E30D338C943B0FD68DD520099694FC4662DFE
F6CBB300B8390F0550433BC0CD6E0CF39663C20FC4C1D7DC2EFCC587CCEE276C
A06ACA82C60C1ED38F1063F91041715D8044A66B79E4550B93E78D6D20A08946
7C40C91396DD1D7E2F4DD9BCDFB89F7B703AFAB51C3A8A3297859227C6303B79
C2B2FED55A23EBDD2D9F1AD8F8C09161CE53B6E79CE9743615040CA455B0DEFD
D2B2E13EBA2CE4C125BF00707754BD93814826AC10D6B38DB3B85832BD972CB7
FA77ABCA6367F8708609B0CD10752A92467CF1F8F53753196E12C931842DBF1E
4F0F7E49B66018EAD9FF0E5F6B80EC6DE5993C36AD9AB4B53086B518BB6FA6E6
2A19496FE6A9C6A6A59896442AA45F61568D17EC0B8B42B67ED18950B3366884
5B53ED66A897897064C19288A4C135C159693E04457E3AA9EDBF0480ADA4C683
6576407FE7F077D9982F25C445F9321578BA1EBD1393457C5397E39A6F977620
72696C3FE096959B9366B5C9A20437AB8A43299675343A628AAF38A65BCD0D17
370944BDFD7B8D58796B23DB38CDE7EE32C1841BD19AB03AA1544829D57C8A6A
927E8595AFA43CDF5A15C95695D209987B78B1AD4F5E48D067AD9EB0FBC0C3D0
ABF615363D7F2395C15CDEA605ED17A3AD4F426E205F7D9FCFE3379629092F91
3E9C5775FB9EE7647355DE7E34C7B1CD70E01B448E426DEC5C594C9693603ED0
D41289EDAE576CD9E4BD2CE20077702A43E375BEB91CB7D81155CFB74F3EBECB
B3B50B3C875FA5EAE4635C5785C79D42C078D8D79C98C161ADBEA652111B2B80
FFB7DCB1D3F758AF27307E7359E558263A5D363BB6F65B84ED5E5FB39F4ACE73
DB491AAC98F218C941C69A9344B9BDF84DCF4868C408BB48E27258CB68BA9624
F986978E69A338968411C371D3D3AB6A87F7C61EABB582BDA433F8EC8E896C97
C3328E72D5FD0099537267DB2DE0E68066D3330B8A15F748DA550312B0FC7BBA
B4DD241D3C6EB5E426B9D214C718ADAB342A142AF6EDFFFC28832D96441881F0
6ED6AE530913EEA98BC319F2FBBA751AD2668C7F1F875B3C2528846A23AF79EB
F7D62BB16A516457AFF2C5D33E22D1EC4D76117694133A5D8DB4AE99580D6020
EA935BF2E5FFD2051AF5C36A1E5594203D1084A86D2A1FC6E4CC1AF90498CFA0
BA833B0252C49BE9E7E558BE54C520FB6245C2C14161EAD1D6AB4F33935B0ED7
1A794B0594242B3C8DFF87E5AE4C7F50EBDF78359EAA8C724F8652871EFAE7B2
36FA404D7381BBD0ECF1362A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT12
%!PS-AdobeFont-1.1: CMTT12 1.0
%%CreationDate: 1991 Aug 20 16:45:46
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 33 /exclam put
dup 34 /quotedbl put
dup 35 /numbersign put
dup 36 /dollar put
dup 37 /percent put
dup 38 /ampersand put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 63 /question put
dup 64 /at put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 92 /backslash put
dup 93 /bracketright put
dup 94 /asciicircum put
dup 95 /underscore put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 124 /bar put
dup 125 /braceright put
dup 126 /asciitilde put
readonly def
/FontBBox{-1 -234 524 695}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
741D08B9DB688731A6C8F9F0B1FDFA20C46ABF1BE836FCA0757242BE4780A41B
C19304DEC802CBAFBD0D116B1F98C01BF41ACD72DA8C56F8A03756E1850CF32D
F657FFF4377B43F208A3F33191F9F6F36FBB0CDA3514D68ACD8DCB2FE67AB377
C6BD16D11FFFD61E05B8B311EBE8D05013ECF1D03F574982E3581A188E337498
3B68080D69F7D88F2863362577B6566B9526D1E05DCAEE47F7E336489F4CF445
E5F4E1DD5EF2B795F184EC5B427C77D49CF637AD9B8B8129B398C959398F2D72
F6265111CBBD50E81573FEFAA0B09CB2E68751991A829C3F5EB684FBD0271F5F
9AAB341DA87EC7B22F591F96738DBA2099BF56C90B99BC0CC60409D8BC959FBA
691908FD484D163865C644C18D0AF11F0AD924C11E42056411EE08B1FB505810
3FA98FA89B4F4EB54EC96B80A5603EA4C665DC23BE9112487DD01FB6C04DFF5A
EF931D2055D8A897B100DDF073CA9E6FE3FB3356C00A36FD00005F779EC20409
697304B66B180D3DD1FAE522B18D2553450DE130BC0E0A164E8B796AEC018A19
34C072E3ECA24CDA165D0DD026D06092358500CB1CD2D52F4084EF804A0D98EC
A5CD108DDF0F862CC32BFFB6685A0EBFD3E518E01A3F1A69F51BC9562B8FF111
FE22D0900A8B45CC363CE3CC594B2510AD7CE0D6410C76D9791D70997EE297E8
53C7C1B304D6E8E2186BAF7412EA2B9EA05282E03097DCE1799C6C177881DDE6
EE9B95C3AB4CA40FF8E1BFC109FD5C82A2D9F0CFCA7FC8E9CFF2BE879FA5D640
4E0FFBE45E1496C3D84924DD90DBCC98ADE0338112A344DE40E2A14C20AD7542
951359F4988635D7527E28CCB7C29901468ED3D64FA4AAC407B7F3F2761EFB68
575E8A45B6A0E1A0BF939220B244E22E121BEEE463D067312EF16A5FBF835687
B044FF22F205C2969B37AC1891A900C69613BFDD1744D2D4D3CDC860019DE7D7
ED84C9B547517E33438736CBFDD02DF315EDB95F8D017BBDB36523B80F7597B2
2B0CFD5CBB7A45F2EC81CC7A5DC76546FBCDC0CF826CFDF78C2115ECBC4B0771
34ECB90AD7535E5FE163129F97584AD66150A90C7053C45BBF3944B3D5E0E255
D2BB935495E91BF00880A3C0A13A19EFA5C63EA83B693E1E5E82D1AD7C6B22D4
26702DC9B4946CA8791B9761CBBAAEEA3D9A709841A13ECE8A05FFC248F48695
4D8DD69EC1E9D20AF08FD30CCDD0E1D7BF17AD5A461464433F92F32DB07B3CD0
F31C6BB8823BD1735BE1F6E4989B720721D3AC49077E323F124CA80E08EE7274
E8F3F3F42AA005B21812B726977C51E557B1BA682C50BC5781DDE2D976BA9AE4
1CB3B601A7CD557183DD7F635708639FB60B8E6D022844FBD377FDFD051DC051
DB1B90C55B37D885F33B51AEF74387D07FA08BAE2F5EF4F0C165A083E0BD3043
AD06B71DB35EE841E7655BF455770490FC9E707002F58D217DA49E4B6F4521BD
DDF344D15DC93AC6052F46AE37787890C1C250730D6C520E95F8A3B9E69F7C55
6C06DBD6641F0D6C92A7E6C0756DFABE8AC25A8EE8E549C6F425143557356CFB
CACCBBDBBC85A2650083ABC4DB0ADF969FE8847756CAF2621FD7E1EACEAFEDE0
F49334C1EABFE2FF4CA00B75214D15D2A17570D9D15DE12EF48A8AFDFF8668F1
A77A0D1E0CA2B3CDCA46F43F4E1D5E85931C3981B549FACC288A00648EFACED8
DF604D8EFEA67A807CD60B6E54CA9FF9D69C16FF66FB95E0D1FB1103801B6A3B
F03B7A281EE651BBC17C7F2C0B1D4EC39EE4864B9632CC39969BD6A8A7C9886F
4DC05F9962F4984EF9C3758AF40FB8C6F8520FF84FCC1E11B4E817908104E57D
BEAD389D0024FD42C1E57177362C1EF169000598D2DEB9ACA6066B1F432CC499
A484B5BFC42B3A0F583D05554E9459BA79787680DF9476EAE720C2AD4481D60E
010D0B762FA11C4AB04FF9302A0FBD22F6CDB074D96127478C9AB4E3AF2172E1
13E7C714240B86F0373538D13C76403E1192ABBEE10E50DCABBAED739DDA896E
CF9E777127B626814582529DA9ACD89DB104B0403017F6EBBF000D5102802B01
25FDFAE772DCFD5872B2C0490D7B869187E3ADD13C24E854EC9C2A280B31C0E1
606A6C378AE9F5A16375E550DC43FD43299941EE38D05DE19E66C62B63D4F2C1
C8279B0BFEF645645D27BBBDC71339501A4DADF75C4277499897A393B2E319DA
F9198E6380BB7785C04ABCC88092DA1605A6D981CC2C97543714CAAACD25F610
7EB8E7D5C70C0F8BAAF50A2D91F052FA2911842A9675B867D269B869C5FAFFEA
2D3014AEAA526E86546E108D52EB6A1A530A348F9B680E0E3B2803D41EDEDBB6
061A9C049B608883E67BF4CD67DC4C73AE0251F370CEBAA0EA6BBF7FD513D7F0
3448ECB80DD7410B93B360F2C89461C73E61280A36CFDFE68007A7A59C563291
A6D04E1DBAABBD8EC617DFB53960834476D1C9FF0AE3D6BC08712D85A075E09A
7BE6AF6E078CD818AC1A61F81728F6E39D615162D7239F9E183B2310ACAB6D20
4B62B9B5FF1410C44050F591929F6421DE20A0EC23CE4EE62B246A053D871A42
D710DEE6782E7C76C47BBC96B1439826B043C70874BB6186FF98015436A72787
A0E2CCAE4F1E6E94754755E42FFFB9B468B623EFA52FEAA367CBC1F495E135CE
C731AACD933F4E8EEDB09765E595E9502520AE6E31C8D09670F6C081E557BFEA
B48E5E84B6E6CBFEEAD9B58A706160D7E6A1178F050FFDB1780D5E49CD429FF3
E0486144AAF5FE91DFEEE54AC7D76D946D2BBAF14E89A57A9555B9348445FC9F
BD651DFF9BA67C72D3E3BF715AAD516C3B42F2F716B632D755DABBACAE4B02D6
D48D16AF63D4DDE16FF4A8FF7BED92807061486FEC6268BD20F50F5414B8DAB0
ADA07EBE4C921B25F39ABA07B72CFD3F81262486AC43D54FFA0515C566558874
87E68A25E0073B244993BBA2FA8294F57ACCDA22A0E9B0AFCB1DC867C6635EA3
F0A7A9FDFC5F5BF6CA78E6967F8CD99B5F6A4EE1E80D65EB6FFF4CC788B1D088
643374548692764DC9B4A6DC9A0499CA5B61C053F6FFA240CF9C85297D7868C1
E7471FB43600769617587C1CEFEF6BC17E4166F34672216FFDD05197BF4E83E6
2175EAAE625F7B1437D7F7B7AB6C8314DDA61EF0FDBFEB72662EE46DAF85223D
20915F0BDF11C4FB3D85698B93CA5A2F58BD9FFF341C96029D50D487D36E1D2B
B8296E3E0191C15E89C77ADD6AB5DC3CFD409E37D08FFDBB00C17C528B7BBDE3
EC9CB592BFC2A9391E88CB3D36683EA42F97966D3B0F1605C7498884ACD6DCAD
E2A50C066B06492353FED3AEA3D1CF8E11BBB4E1CF261967D4EC6A3F9B1CE31F
AC273ADD73F2802AF4F98617B3031F6385AA5AFE833E45007F2B5CDA23BE1F17
C8BD6B94664C5FF52FCB743E3999644C85AC80E8E41CFF521B1CCB05633AAD0F
135A1E5EE203294CC13A97899F38733FCEBF275B6CFDF97A20EA72A665A7EF66
E4D371B2B57074F6D206284797AB954F76EFD2DC638C937AE7602D2DC3C4CEBD
DB1378F3BB84EE62734CAE2FD5D4CC31E311EA562F91E1050AD297DF94CFBBE7
7335E626A9B78E1842DC167F706FE919DF4A891CAF763F4ED4421706D039B209
08C2A3C0A2016DD90120453ED722E1A88A265E01DD3806A726D99C56A450DC75
EBB73D2BE52CA8B5FC69DBDA27352855CC8131C07357D4F7786C4CCBF21B8AF5
450737ECF9C3FC15E3F03E742A1B794DC1E2A2CE522F40F80E20A65DA5644FAB
B34145360FED3F7D47D95A10AD087E714D1C76251080D4346028A9B845FA3F01
4E190C2A4B10E3219DD99208C9EFBEEC4C974267D7AC4A2BED2991F6D869790A
3CE279ECFF863074100ADE1FA431D9D401EDCB244EAC6C662593F3E3DEFB703A
614A8AB5EB0249D3DEB4037F589B17A61A8435C6F62D066A0B1574DE8EF6DCDF
4AF3BBFE765D33AC7968865BE890F32D0550298F979895D08579C6FD7CAD0089
D1318FF6016B943893F05069FB4B5C6BE9DA5D58BA933ED72CD6EF287307DB02
12BFC5F5D0585FBA412F6EDD10E604826201A6626A1AD8848B6354FB80AB0957
C17CC462ECE7B2E2E08120954FD46A3078B1D0D265F0C8E81927378BB1C90180
2C4AEC4233765A8DBFB34EFA38B5BD66F10C43D0DA585C397F06593E49AEBC42
30D030BEB55A91FBF6DEDB9AB915395006FF7A0A19DD42C9F81FED00A58D36BE
B675579BDBF6137BE925D651C63E44078EA176C221A2A69DF3F844FBD752B863
BF7596A164BC89261765656FBFAD554EA68CBCCE940A8881D3C1C01687CE9E65
E79B7453517D53A287639D57D5BB8B12219AFB1C49BFA9A5C47A94D6A444EF87
33531A705AC9FC674418031DF9A6259F504169CAB54BAEAF5279BA97C1CC32A2
8F158E2908C822B34B2C7CBD6382149F9081652847F46A07FF3D3AF8DDB6E77F
168EF748BC432B6C1DFB7AD7F129116677D51B3E09AD84228660435E000060C2
521F9ADDBB758FA163DD51B582A36E10D1188FA2C3773895C774384AF1BABDCB
18209CE94F9C53286CB08F197146C2C302625CD3AAB48B2D7F467CB42AE318ED
BB7914E30EDFC1696B3CC3C278D1EA08F64616621C6D04BA3404363A4129F1D1
2621199E8A884F360257EBF3E9A535CE4655A09C4E5C678625473EAC7D68166E
2494BC0965BF7085D1ECD7E455FFC9B1F88CD5CD130A9F3B89E50A7E3B1EEF1B
B77E62633C327F76DE18BD48E6564BE62B52511C977617BAB016E5289DEEF1EB
17AAAF87F9FD6745E7167D4E4A2DD250EF9944F178797354DFFE1C5F5EAC3D63
9578E817FFE1F487BEF6A7D7F29AFCA817B3A5D70B4786DC3BE274A162AD0D10
37BAED4A3C660B59D68BE6FBEB46E677E6A9393FFD0EA6ADACF04CD532646649
0F9544ED81BBD5B51635A70351597CBB0122956AB7BB6066F8845C2B29518E27
E13F9F2CED2F938E5C5B44197F77C4CE93DAD97DD5AE50B80522FCCC24105543
0E268ADFBC4FE5D5F57CA798A252258029F6DCD6F8C7B9620BC3884B6495D878
F15550EDA8EB4EC611E4F4CAACD7EC33CC7E4414E4681E334176CD30E988C203
31310A708B23CBCB797514786DDE509A42D3D5E0557BC6694BDF76BA0ADBB0ED
B0E2DE985657B4C3D95DD35D5421E700A6EDDC5383AC916556F824E629FB7208
14D360FD7CADD9F8E579C4DFCE96D6465C2C7727F9B5DDECC7957685ED79BC64
607A0C21238AFEDA3A8C61B8CB3956794BF45802181E86B807171FE69DB845B0
1A06C2CFE144214DBF0C69D9D2F176187EF04FB997FDA9E41C27F0BD0A1975DA
58B08B5790ACCDE69AADD5CCF17B75D78C3CE49CB52BEB835899219AD9208BBF
041D5E272C5C7465D0D140ADD3FA138ABA497EA178E2788E526793D07536CB4D
E072CEADF7EF3AAAF126370D5D1380F8E18FC351A4C30B46B028D023A4047A14
F184B9C3715408791FAB833245721BB01BF738C7FF60AB886A39242DEEF89EAE
8B789D141F89EA1C4D33EAFBDF31B09388D9C5957CA2DAD1957851A4D1921544
47ACEF0E0CCA88F5B6182217FA88076F5B483555F15CC369A79B8CF906E2E850
F464410D71875857978F4E4B2CE0C9A302422ADEFED84F5E237C10061680FA74
20F92BEAD6E02B101FD5CAD3EDAD7A5AEB51F8211332FEB9723246EEB46F6BA8
CB3084DA3CE0A17A62AE16D0C662248877513E236B47DD840AA42BEDAE5E1939
189C80B9787D25C3F07F40D9B4C2ACFF09AE54F88C2994AA478F13696FFEA632
2646897F514667C516F0292D16EEAAFA5B501A4B9A4511D39F68C645BA62D40D
B87F86B6E3081B6F930D53CB57F2918FB12C3857C3A80761EF63B45D23964026
CB6FE5F9C62046188C681CE43C00CD0FD3CEE0E2C3A2F45A2E5DB13DC69BE25E
F72FAFD63F2F465677E721588B51328A8A657283812C4070AE6B528B9344C23E
1BAD494E8629FD9641E76892674107F1D053A02972C438113AAB35FE291F749F
1AF5BDABDE1BC4881369CF61B1D26E9FF9FE2346C3158DCFC894F127A7FA9622
F27AB5B30589B432E6AB0EB85B6CD897CA32B84CBC497362541413F482DE1275
75839AA3ED913A277B0888D8F687CB1690851B907A0EACD038F9FCEE5F5D0065
3C55C8DDFA5449CBA3724993ED43BB771BF043991EF7B52D864CD59C842ADE04
13832C05A6A5F36AA04D02236C0267C7B23871E8613C036C0AD24C6AF73200B0
33A48C8115E18D7991F00885752AB87122159A289B5A64CEBA594D1A7E9D1E74
92EEF6595CB8EA50AE7CDD7DEC374B8A712976E2EBF80BCD9B52287BCC797745
2BFD2D4B4EA25D41339642787FCCBC8A3942046D039DE59538E3A4BC4E7603AA
B588160E1B6F5E2F248EC78A06923F9704961306FA7D3ED5EBE01117185B31B4
FB01CEA958A3139572E4F6C9E91AFF8EA2D325B5F1A07F072D1F24ED77CBBC0E
D8D86DFA04192F4556C57011F455C458F67A1E5CD51D1C16B056AC3741638D4B
7994824D86D6E4891703BCB68092E0C01619AFAE98779E5F07AE06594857D87D
D5414802726B645C867CF511A4446B8ED18404EBD65C66E160219E585DCDB459
B74249CF865805F75B384608E0F7C2267881C57FE0611AE36095F14833DCAD46
08F90AF10E1D6C572906AF48F31E0C353B4AF3924DBA4B7429B1C0D05B2631E8
9591BC211EAB29E0E40846F9354DF97EF568F6A0BD5EF335A612089569219195
451DD6DA000C787F61B30F668EF977AFAE114CEDF32E9A65822E4C1287256306
1E7C5DE53B0AEBEDF2F5898641CF0ED7D10EE35557962284F6BBE596ACB18B27
D07C6C435C4E2F89DCA393788E087B4A0AEF9E4FBCCE7D414E41F649C69D7842
98220EF1B94A41D261DBC5EEEFDB3C3524488CDEAB445C27FB946CD41A213C21
1CE25472C85F8C79EDCF4212BFADEB9C295B6F5E1BAD8CE24F78203FC5082954
B56CF93897A50CD120FEDA22C8B118866E39282FCE244D4DBBDE4E4294AC81A9
CF61804C1C3B0852A27A83E414C2B799F09D450EB1A6A80E78F92FB3E0499176
F1BD57BEF045D61204D96F3DE946B034510E982F7D3A06D40B2A1C3AAAA31EB1
00B3A6B28BF9F8397DA66A444281C0ADB1CF42E48573D95C7155F5711675B6FB
54F2F82042F74977F929B31230CDF276EBB891841E197474CD24A4A09802D4F5
88F7CBF602F239CADCF671FB13F1FB3110D8E91AB9CEFD358D1027468C9DBD53
3EFFED00107CCA665B20AA517C7B67D0B38818E9F7D4D0CDEECAAF2AF7A1B9EC
EEBC2DBD912518578B0CC143253909FED81D36655ADC4A83E2464C14182EEC15
3EEEB7C1EC140681677295ECEFF13384A2AC3424321A8A00F56F6D5D2E3533DF
FF9998C7CD9B517451874BAD40F8AA6CD26C4F4648AE778BD2A15BEE5D7344E6
47A58F927D2BF70D7296054C31B8023B40221B59E90FBDE803D27BE6C222D136
7AA32E4B8E6003CBD7C9202F0CC29A3CC037F2407A1E1B8BDA56335021933306
EC5037C4FBA6773D97AFF796B31876D92178BD0D3C8BF136E927F60136DE44BE
3EC67C7A1C80E9DB961EBC27C9CC70A4778F8E97C7DF0DE53795C98B0291D478
C42AEEB9FA8BE9228EFAB95D567FC5566EF0AECB510A5E9AB9CC45793BF17F6B
666C3530DFB6C470AA467FD79492EB175B9F311C93794504A32F1C8A7DD96D6F
BD215D20EA1685B944E4110C29D27FC39C0FEE888D9AC8792C94653BC3C291E1
CD534139442500729971444D281EC24B95E36F08C16E45A7CE8BBD7D0352EDAC
978AF61B48B30A8AB4A565C1E604B229A74FFD21A2D92A9F5ADBBE1A6E9AE56A
0BFFEF375BC140438A7387473146AC8F8CE2547E6967476CCBFF25B20B98A88B
59EF67FAA66C52EE733986892F8DE43270CF5E4F223D2AA72D35C95E498C997C
6DB4DF8FBADE9B1078CE2FBA7F493771ED305CB9F68592ED13AC6B6DD81D0B2A
09004CACB46A63EFEB763494816619F5B79B4F5D69651F74D239E18276124087
D8A18A757CAC5B945FAE8EFF4519C3E58DC10266116C1E2C6F774E843C1A12D8
1C5E46091808113A3D1A6A5857CBD2388D177D47CD084F80B52E95CB0F64A9FD
341D9674FECC3D61CDCF3CAB121CC6162782ADC8797280625FCB1DACF8CD79F3
804E90FD27F293D5911A6414BC435E82AE7D78F330A6B5EEBB05076AD2A349AF
214244ECD74A060064970D747CA2B4B5C3A56D84724AF2488EE3C79D4D2BDAE9
5CA2FDF80B7A78F773D322ABDD2A54FDB6C4A45303C0A2B722320D4F437AB2F5
D8F579F22FCB6F3A1AC3430694F1D2E35CDC92816B48975FBA0193951FA9DD5D
D05BFD7F12FE90366005866AC5EEA9D13C8B47336B7F407DEF76E6294E52CE1D
7705E6908F213C03310FF74E4FF0E15FA7163322C4CB4D97E13047A41614576E
60AA8FDD7583FE2E5B4AE1E7DE668FCBAF2C5B368E7BC763B71829C80336D8FE
4E62D5728505BDB1B5F783E6167B80260CBB6E741CFE47F5F3FF01117B3332AE
AF84151AE1E8806A3AE0E2A25BF7B02EBD201B31651DE62CE5FC100A0CA8F111
8D5132F00BE69EE4BD0EA512F9FBFDE7AA9B9EE2CFFD046224C8FEC2A1B56599
BC2DD8A39A6C827DDE379055B3722B27064605C68DAF1E2361062F75E54E5989
453867BC91857165A83A3529219013A8F81483794AB88D2FC563621757CC65C3
05B12E90B528E0356D339FBAA9FD21D36E946AD698B1E925D722381C9A379C00
E003861619774022890C1C07798E0359E64E330A8A3A17E81CCA977DD3251774
E76534BBCCF3500529C934C1672526225D4DCC89BD963B9F18A5D576DE55BC76
B717A8B8801F459B9C655E24FACF1E1E310E8E8C082076EA68E25A7AF2C9D764
BB7923C48A7EF247A88E180590DE3A8D829CF33516D9826CE481B79CB66B9A73
E1BC9991B4355398AB66E8391609EE675C5ADD94FEF0E6A7C53C79E37B57E478
D7FE281EC98C9CF7094C5F2FD9264C6242B498440BA9F24361CACBC8F3210623
126175C9B7323797EAB1C46AC0603C6B6C6B008070D7E107987AFDAB88FACB0F
CF7CD188C8D7CA12FF61F1D68AE78312F5D1F71F3D890598CFDBAF4404F103CA
939AAEB6C4CBFC0B337FB46377FA2995CF1F08627370DAD0CD2DCB11F600D925
98910FE111DCDB52BE0AACAC3E8BB485847CB33A66286B7EB4CFA6488808A68F
041C72159D6AC227BE34EF64CC81CAD4D0CD69AA91CAACB68BC64E531CC02721
564BC52F61E2AF6357B1EA214F8774755C4DDD7BD31F157E81FE17AA96C45A76
D06ECBA301C830039CAE12FEF8D9CD873B1696585FB732041F64C2845B8F5F4F
14A0666145064E0DCBD720BDE994C65B5BCEA8392712880A57D91D3F4EE1BFEC
DA257F5EB73F2014D89FBAFF87DCB325BE755623D74508ABFDC0F92C804AC09B
113A9E51BD2BBFB4A590E234C5CF344BCA7CA048431CB838E63C8E302C6A1299
DE7BC1F0711A81FD087BDCE03E25E16E1ABFB277634DD1B00B105A0FF304D121
88A51B6384DD9FA87D7B1155BBA55EBBFE1CCCD3EE1776456D44DC28DC6D3A84
2AC5E2D4C20EDDE6804A48EE57FFA8E5B82297861B9C5F3DA5B13D66CFE966C1
52F063698D69FCDBD25D432C2DB68EB76B852B8322BB45FAB18B2C3BCD7F5433
005DFCDE9A05AB370518545531BA256624B75AB0165F1DFA12C104EB57AD3EFA
0DA6FC376EF9DBA224257B5E809AD9F7CA7FC2D222052F319316A5DD1975DB5F
9283CBB9C827885EEDF9D0A90DD255CF86B596ABDD22DAE5A1299F960E000C26
EB8D649E770A5F6B7186F2994D65AA4D681EA1A572E5223249BF404EB53E9702
6E6276A87B50BEB40AC1D8E759AC3DDFB2594EED14F1064FFD9B843BEFA278FA
9A66CB941F0BA77992F1F6A96CFF8541EEB70FE3F7DE05978B9C95C8856ABCB6
17A98839E6146B94D3ED441BAB132B2A0BA8D7CFA1ED237902A925360119C645
1092D6BE9D560B391EFECFE3DDFC0380AB3B6E37CF54B686D27FCEF3038DBD86
77379B659E7428CD1CD72DD58D54FA952E802CFADE6148A14F62A53BC26C22A4
4CC9A3EEFC529C2EF8CB320A11E87CB8DCDC3817B0E2B5618D04F8FD915DF9F0
9E3A6CCBD2F0E2B686B46119AD565CB6F02EC444017FC45D83ECE7D4AED36CA6
5F98FA0FB8BA498A620C521CDC04E1B7E00005E084C68E58808996D233BF8104
75037FBCC84BCA0099ECF7E94BC08938525DA951541C3DD662B1B658F9C45D55
931C93197F44C9A8FC1657A7789EF5C802D95784E11429CBE26F7D12B0E61ADD
00FE07E3E47AE0A883B45945F5535D6AB6398B7598209407FD8277735AB967CC
7B8302465A521763114DE47F9B2DFD28DCA5B941028F46C31554F5A81D2683D6
EA3726A0361D4A2EDED6C04B54245E154806D6ED4F64AC3AE2508665CB4BF3AD
F57146D476B3F27B2F0511C9256FAF901605D6DF5A7EDC1F4A453BDB0107F422
DEE076A028794522B7B397BAB4563B346BAD833744AA5B23FA53D9BA2FD69937
E9E861962E5928A8DE4488803B22D31C104E083EFC1146123CC52DDF1FA4AB6D
9196253867D64E70323713647077899C07800752AF9744E60181D209B560D086
A91115605A9E87536B5BAD4E83B6A2FE1AEE7971357040323712D3A82B5D8C96
3DD93B32B1859233FCE986B2ABF26D2EF73EBCF34C001035943E81EBCBD66917
A5CCE6A10364C01BB20B51DA75A157B10220D87D5A39C0CAD6BF2C0F8680179E
D930FE97E5A2EA1BCF3168350966319A3DCFA4202DBF67A6D4DEA7EDA5EF0350
1AD48B59400044A1E96720A10D02714E04B1669892DD181A5E0ADFCAF4AC37A7
71428627BD65EFBAC3D303601F0B7B0DDE284608EB97838DB5E1A9D5639ABD1D
B0859D0FC43F9C93259C5598C42BC7105E1D2E1A002B9C763080DC2183536135
E3F07E0F7547A41FFE7266F2C6A6C3C5B52BDCC34277EF4519587AB6684B156E
007D8CDCBB2E9A405BD24484B6DBBA54A3583863E50213AC631B70FB156F03C0
69CAF7B4689B807B57FA3C0ACE24DC25709675EE75DE959E3B7A2C6BC41F543C
93EC539AD51859A442A63AF459AD7A3AF591450BC726EAE4B19F2007DDA336D0
4C96952CEDF44A1DECCC16CED69D8C7506C76CB9362C700046E9C8A3BC4F44EE
0CDD697E7EEE20FF6C34DE1B40619B8EDAA74E2F1795B3B7CA22A693CC7C769B
F3A161F3EE33DB50F1B85F57475CEC34C95D181C0604B876D668E3E505D9060F
01F3A0D1DA9614F8684A36CDBDE6C5F6EB13C26A848D1365A8B84D58F5D9936F
E518C97AF7F3369BF866B5D93D2348589E10F927AB24C19550D9218CB9592C29
C5C96C6CDA17E3C53C774BE5CB303BA2222B0CCCA7A3BB1079A494CE63EDC664
FE1655A1E42F4F3D3487CC896AB0FB7787350D491B069FDB50D2E3BF7978CC29
2DAE84A538F50B77E1563B915FFC60721F97867732692870730CDC40F7FEA728
F1B71154AC73A63A780B1F2ECF4D08798347A09F3BF4028B0AF1262E7984D43D
6A163D952FA9D040E6DE00460DB63888077BF945C47E975FE2D5F32C6828D6D7
30128BC200AF3241C15C6EE7DFDDF78561800E6B0C3E95D86D7E0189E74DC472
51D210A1018BD5E6EABB6ED6B4EB34AFE22C52F3230E5A4369F8D2D36F93C44D
2A25B101E397E7D78A7F81365BC05D13758AE6F3AFDA1FA96EA6C23A4E8A0057
A0598DD2BE138E8C198F8FEE4F6FBD00186FAEBE6BBF4F26B65B907EBF853CC1
567F44860F927DA30735F4ABE9C9E0CC02AF9D7289EBF76C2948125784410194
5FCB8910131E99DDBA14B5C934882CEACEF673683538CE0440C196A21F4F2018
DAAC0AE695A590224EC1C8A2AC50AA46514FAAB580D544520C17DA021553AA32
AC083AE8CDAA68251D15175A59C85D00AABAF64362CCBCB4C6B3433DE0F78A09
C4B1D653FA63CA32F05B969932C7CEA5AB261241350CFFDCDDE8BC0FDF1C16D6
B70F8CAE8E24495C4880A721B4129F4362A6359B625ECA9C39F19EAFEB44D6A7
DFB138162FDEF1054EFFC40CD31809C1822A525D88130B875C214E49AAB0D58E
C0156710F4B1E6D52F54B86DE7D2826BC1C70EC6EC5A0BC4804F52693C5D838D
A766593EAD3F9C55E013B2F6373BDBD078C52018DF8C38D69997DACFADF71E85
80D49B0FA50A4AD8E7DDFFF08285FDCC8794DC4301CAAF938399469CD7A6C804
26D66E0697D8A351B3F45714AB22020B3612495E302AC301B5915324E6A1E41E
3A3203598740FC0FE4D53B871F552CD2A8083BBCFB27E1F915FE27DC08712FEA
B3C1EECB9FF3889987768CCDB5C59987B1FBCCD91EEBB640B7D0C91D190A2346
E9E2452E64A8133E35F2B218BAA7EAC977B6E369C8832C8A10936ED586DC988A
33CFDBC535F7352FA606BF5525F41FCC2C1535997A3C409E6CA7385D25586844
317A99B601C789BCBF188BB46EDD65B94C0D782F3A628EF0DA94230BB1A72836
1FF9422C4E2708483AF103798BBBF33DE8895BABB8638B9695465109634B3603
3FA8D8048AFB083ED079C09E1F8033AB6FE6EE1B38A413EBDA4C0E2E007F4DA1
FC739EDA8120139C85934384615044333E1D7212C103610094A191923B683FCB
2C96D983AA088C5426EEEAC5B88A5033B2E3521ED596BF5EA86D644FB2012F1D
FFE2CA347989D66FC6EF8415B6526D1FF0C4FD3CD2A2076E4D8D304371FD2FB1
809287114CE5D299960E0F945F694B33575A60A4232BCE6B4B074D0B59CD0887
71B8D84967696FA96C75F6FF9DD0E29070665F5DDCE0F270314E99EFC4C94EBC
3353396D63F17B675DDD310AA6D2573CBA45DF95187C6E60A10A4B7AED708A7C
72E03128CB6C04BCE56EDF26BF7A5DD3FAF05C9DE404DCC57B3917914A78155C
238EA4A7BF0F5791D0177ADB78EE55129E3FA4CD40E9C4630D02080763DAE001
EEECA6ACBA6E83269D8EA2FB95A7318701532165730E7BD4DFA0DBA58B71A2A2
6BA71665A85B3B4FCA158D1228857F1B5E53378DDBD1B2588D5360D776671200
5D40F4EA25EBF6EF57F6CB001C09D92853C3476845AFD7D170C9080CA84B9975
B998F5C68BAE0C64E4043D389BA227EBE81296D0D38A43DF72F8C37FF0632AFF
92C547DC3C992F2BB469803F6901298A93667948CD1F54672123B17C051C06BD
FDC6C3F5F67A020403E6EA18642BF36157FD0E1C36FE194E45D6E07AF2A8DA16
B7AD038A4C4865F5FD7B8FF78B896F3C4F474CB4C41DFA7B47678EBE95EF81FC
D037C22B9E8E5C828ED5F485CB5D6F0C2785B777BC6A4AFD0B10A58A05856E75
EEA9EB20E70E5947342329A2E1646746DEF8396FDD072E6AA2F13CAA82647C01
0262C6FC73FB51DDF9F60E706386A7ACB5DD95F0F9F8184851D76E7D6394EAE1
34066877AEC91AE525E95F2D6FEFFD6D79EA98164BFAA3CDCB8918DBDC0B3A22
4822C23FB988811529CC5C07355CF9BDE3CADCC37FA5AF57D322407873E1B140
4991C55A22CEDA4592C92EE1BB074DAA3C6F036F5EC9BD58D8F99A8C9674DB46
B960BD088BB3ADCDE40766D46102CB46E151FA3B6DEACBD83A021C84BBFBF809
DB1193E951CFCF64B2176828AADCF1E450229F92B887A4A6AB7CB6B37191BEB7
932F19F39E081253EA0008E6D3C969406F33FF183A7DA1E40320362C2F97A91A
9706EBA3CF031DD199A3CBB0054703A59A21129FD002B34524B093A0A8F181CC
0C7610107DBD940407EEAB47E211158B1FB9B8843A8D13C2B5C108254D007D64
41389B3781F50F622C68BC25337581B69A3531C6630E023A81B5125975891138
6EC7AECB3AAB04D6A10203BDF16418E13CB06E1B725A9A5894AF551DFAE2B4D8
69E38AF979E60AE1EC69C5FF1C69E4AA7D7C6142721E0B206E4853B7C3094963
6CB33E682B9842EC946599F1C6FF16D5B7F08EC8C4FFCA92C1DBBF06EBBCFD77
467659D58CEADE2E3C9750475F7A780E651B27065F80AB6E1680EF60C140C939
0691C6E0B3A4C9233D4A7B7DBD66C09B4071DA4F6C8B9EB2FCB002DE9F5B1042
FFCA28A1BA55D0C8DCAE5E7E316DDD3061DF0E55C8AEB4AD2D48609FBA3E6081
A1F4F961DCCB98135F919FCDB050976537EFD5688DB4DF5C3D691A088CF0078A
F96E65DDF10B293497F13793981DAC2F4C3B91E9125C036A3142AFDA0996DDF4
1EE94782C302E017419C5938374776460AA3FC9218E8B8A2880A35BDF6059378
BB590520263D149D1CCB80A08951F6F0B8B560B194EA53830A23F06F1E72CFB8
C94F59480D2C4FF1F43BEEE0AAD581E934B1CC7E906E8E05249D12B859B2E6C9
2664EFA7CC3B6D7E93A8395CBD950E5F3FC655F9D8983FBED6F915FE543B30D8
8B3012C5BEAD91C8A51BF0F89C224B690CD9FA9F9A95A1AA66F468F764C1B875
E135BEAAA6D854C5B2895F6E518D2820DA240924F87DF673CE9C584C16569177
760BA9B61A82B6E7DAF6BB1EA439D24D843582A04A007DD57DFE7EB159E653CE
9BD77FDC5A7BD4C1C48F4C2782128F98ECB91FD174161F25F8E35AB2D76A7F04
1A8B5005BF6BD33A71F0346474B108322975B41DE2DAA33CA5E6AF9882919E19
BA72016B54754006FCC42C0A9B8BB199FB1BE9097FF0F5566F6230E77A87403E
4E87784F242AC4CFD4C3BE444814F53101F4BF318A45330144B95EBA355A44F8
4E87B3C6C5E83732B71D637935A28E57354CDA96379368344A2A86E21927E188
A0CFC3167ED13689D5B5641F03BD7347BA6E8EA16B70DD58A4DB7C771376D843
A47CBEFD582553B144B3C62697EA22FBE74B109DC234340A2F510E04E56E3AF4
07B26C21AC1ACDF06FA1432732B463D003265B60D827BE0F59209E08D756A6C1
F09A1B5EFCFD750D91B5B2C037060F0A6D5F3935839E4039AB600AF25812C7F5
7058FF9243201924DB3C1A2A929F51001EC3FC7AF637B23FEFCC1E5B868EC64B
CCB779723176FC1B68CF2F8767A370C9CDD5DE69DBF6FADC7FF2F4CFE4DF47A0
47D7A0029ABC449224B684E639320D5D811205E4C9C30510D2A797790736150D
FDF449552916E9C79B1D572DDAE509987908C2E130B2A0E124AF789CF57AB590
3BEC01FDC5D9A318CEF52F33E7A56612B7D8D40289A40D2D9ABDB067F03D7F07
58B625FE20D6698E542A7C90AA2960E3867314974BC29441A37FB31D0E2F2CA6
60701C4F914F9433618159C7C41D51BB8EA5B2D9FC836245AC3860C1C76BB3C2
75D344D9A273842A78D8033F56BCF1299F05820E8E12E2645B754ACBDBFADDEE
BE67CD1F2034F41E89D0E3BA24CAD06DF06E2B0D15E36D96C65F9293DC29B627
9017644BBE8FE229D4BFAF6291B42716AEDA39A8511045A693710D7AFD70B6E9
AC2B16B839DF0E31F80B841176E3FF8128A8A6CACD338D27A79FC57E69A57FD9
45BC0AFB947B58F810F8B9FCC503B64D950A56808B0E5BF1419323DA65704FCB
95E0B9471EFEF4E051A6907601F79F4B887C96F70B81435690A7159AB8187B3C
2D5934364CE8ED86DB95B14B0EFD3925733EAB3C569C4677F6E4364B24CACB98
00FA918FC6082DA2B40880BA66ED9946AB20B7234633DCB0BC493BBC7D1785E2
0EB68FC1E2DF459B5D1A681DE3B610D3B0FD49F5438E20CFDD610A8B119BF3DC
661518501E82C41EE37057D8CE16D42B63F4B211139AD89279AFE4CCA97EE649
9301295D782A90B5EC620E0711C8E7899FC6190BB1068BB02C0332507C63EBCD
2B7CED100F4ACAF78115099A9417511640A2C43DB4D00BD98E043407A49A3260
DEF9F09CBA8AFFADEC7073CC0D357523C180E270F3F125EFF76FBD41F3194979
B8E871F2CAB9FBA3946A276111B48ACD887CBD01D7D517C202E3998C6E57037E
9384BDDDFA29526BA876F4EE3FCCE92465EB05DF9CA9EA8E11D54B422E990AAB
77C5713DC768FE38DFAFDDEFC2CB30C550D47E31FCD91B0F4FA37EDD4E27FC30
364431234CB6058F7D81BA05180C4E01FD58AAF4E65B1E482F968DEB9EA22C0A
0AF808CB0E9544E0E0F9E09ACB0B3FE36900BD34FA43A738B1BDA74857C783C3
9C32DF373C4433B7E8FD94F11A1B163871F781A695F1277910644C27FE516421
B6F620605BB48DDD89753D102351386DF7440AA3985B1C76CD653C91B4FC5689
81BF9E2951F62753FCC85B9050D2E56370F7877D7B1EF3E1A727B725306C403F
4EAD71C0B30F1D68367EFBA7E7573B28B3FB7FB0460FF4C3028D460635BFC1C6
56C22AFB33DB5A7CEAC8F5AFA126A5435967EEFF09921A80F50379D3AB8A2264
02BF4531F0E48A90E613C3391577BADFFCE701B09B14C27629C810014F64A6A0
796055F0EA0AF67B67210DFFE06E474002B16EA07F17DD9C91442B0FF149D81D
3FFEEFFACD93498CD467400E73402C0E1DA30D68258ED854C60642DE091056DF
580BAA5B5452D0158EC1A506B67DFD66F0A60E1ED55B5E5CF23C0D5D2FB4148B
224AE282AAFA4E37B3428C9B989B3C539D5E305851CC1691DE8419C6D5DC69DE
58F6E661467DDBD8DB399B55DC277CA6F8A6FADF484443DDFB7A01562931ACFF
0A4832BAD1F798E06ECD5A1A6C79BB76E03BF5CFC2F6B6B1E5B50FB98EF60C9D
12AF68E360980DC2A1BF010443382AB72EE6EEFDFCEB03915CD1F07D8E67B103
1883D83C22B18F7D8FA7C41200969E6A9438C7886FD4C73A286BD86B504317A0
F2310501F2D1259B41038C08CD99519E9BE12371F40ABB1C3890AAD56AC946CD
46EEA29ACB039FDC11DC588D372A73F26AEC5826AE4560F5310489845A0A0EAB
B15786259F73926B0F14B86040D4619582A7DD43AC5B83D1A28162D7A7E6966D
91358A5F97FBABF431301C6D7367FD8F083D0160C55C73D92B0A11D0E8C5CF36
EA27E518CC7A49159BFDEA8EF40440A5B9159EBC2F09B3CA5F48787942C95431
FBC4E908C5C3184250775D35560F2994BD18EB927082AB55324046ECE313BCC3
514A080E4D3D0FA89359972E8619925D9C80C3D3C5251FB0919F653A31384C1A
52F609158E2E89B55104E76E6C2FB8A65DED91494EAE81AB837212E90F0A73AE
9569E8B576E90DE3216E9E4EFD3B88F927CB82BFA8C16404A88E0CC93732668B
BD5EA1FC83180A8644FEDAE2C319D7CAEF2DCCAE8E1BA91E264DC7F24E8D97A1
B1EDA427649C189F10546E093A125C69EE039D31B4BE92FECFF2E0B374AEFAC2
DB53B52A95B0A5F377EDAF19DFF11333947EBEF142D6C2CDE79EF3A32E09E257
B4D9E73D9C3DEFCC61D971E3C1666560FE9847200CBCF0CAC8B9CC8E47BEA8E5
105F2FFF395CE916B185770631355CF5742D23EF977ABD0EB3F6BEBBA62BA680
4B25590161BFF37ED0AA3401DED7D17FF0282F4FD997B60A7369BE54AF817737
C3598DFE526483E7F5FDDC54701DADA100CB6D5E63D582FE08C41B1DBCDA3B18
3847F7281D3D7A79B103B839B173387286B101EDB9E003276A56A412FB9DA083
161AB78C67FD0DC47E39393E1B190159EB90C928EBCDAFF78D8E2E7B1F338BCC
469EAB109ACDA7F129C874A017D90022B4F2A0317F2CEA5F9BF3C53EB5188044
2574942534480F1FA09EC92FE0F9D77D8535380CFBD20D20A46DD83996402771
C746A42E820D0204E15A3B96ECDAD21FF4E594C0D460FFC3CB2E10ACACB15A7D
B47C003EB2DCD1CF998C60075A72E7B579657A23F101B5483B08C4D641CAEE9F
5D1BB08D22AB99A65B204B52A49295D4A0E17E29746047302AEA5C5E69ED549B
632DE427007CDB9471270CBD6ED4C66BD75C3501B0200143C1B16D8AAD973655
9C537B66FDAD3458A0F97CCC16D546B39A45095AA61A135DF0C9E6B222C8A4CF
880FEF91DC93CA8B811F0DE7A953D6EC91739FBAE1507F15C18ED97BD2C07990
1F3CE5B64FF75E3AF10AF49E04E66256F8EDE44C073E5F3FDA9A7EA726F9553C
E4E1D78E6BC8D718C174A3A39EDC36F4C0F51F6BC4019F19BC72038C7FE5C53C
DAE1EC8C819338E5DF887EE327E455F7AF8D027748453FD4347CE53D284CD546
4BB765E6DFFED76E19259B7893C362B6DE0684452287BBD70C6AE9E6100B7049
C7D5DE129EAB074A74A69AC671DD1560DE89F63659A53123F4E2E814A2D7B5CC
3D3A6B1503181CE6EADCFB03C25AC962E4E251D2FFFEF7AD982CA4B7D018C677
9570951BD7635B6D2CCC5932F1CDB99D16573CE32DDEF4960213DC0AF84B6537
14CF9763DCEB2F037EB4597E20EB1BDDD176D04540E090B52B9B7A8FCAC6871C
F3FC51AD5F23DEE338BB11AEC843453352A0904D482C6E5F44CB35EE731EC4CC
A200980B7558F345DBA5195B5F40DB6F7F82FCF420AB262229735FF368F49C3A
365E2AD3F0EB1D8CBBA597836C1AA4D78B9D71D12E86F51F38AF6D63C07C8722
74D3863FBB29357E0D6F9E3E39D42A3FFB2F438C243A08194E542696B3BD4FC0
DBD140A3B0BCDDE5F6EB9BDEC7E7E70CF4CA99C3649B621D99357387B114CD3E
0ED081071F192AE1DB668254973E75BE48990EE9A3486C8E96D6C33FF087CF44
A2A496EAE616D4F3B56BAD5B59B2F9F25EE7B60398A0FD9B622EEBEE5D476DF6
8DE1CD39D4F5264348C0DC199F14FD6276DDF1772F7E3BC180439C16F5A85A82
017E42DAE71ACDDF43B657CAFCD6A88E0879D25DAB23D692588E7BACFD24A5E9
90B71C8AD31F35B661A824CF965677CB5AFDE3F30F883620270EDAEEC78E8412
41793FAB7FBF76D5EE3C117C1C73622BB5ABC2504DB776920AD993ECCFBF81F4
2F90F8CC3EB4BCB29C4DCC86DB8D96003D5C0DD021EF44BEA56E90F8FF3D2952
C26D1CB886A7F4AA2A6679BECADBB815B0DFCCD27772B9F551F7B05B4CCC8DBE
EBD69A2DFAE7C3D0064B4FC4B5F414FCAA3F2DD3EC65C4A854F8AF90488D9DA7
A22BC58C1CC9F4E5483140C5023C574EEACA0F6A954DB146AE0F314149CBA359
077296B2C9442FFD80D46C3344196DECBAA901202F5D6EEFA14738B348D09F68
74F183DE632B7DB0766D4747AF46CD322008C29CFEADD70E8B2E6E72CA216F46
B2B716EFF5F6FDF1DA427E850B2A9EF8EFE6C2D96C62F6BEDAEF033F362CBE0F
522ED9F1CC31E98BBC458223573ECE64D9A33CEF6C39FD5C6101091D978A8CBB
C629EB9F53FD4C5B14BA462378CA6B9B375426456ADE93BE774159ED1D2CC59F
BE71BFAA6904507E1AEE228A903AB5FE3365BB4C491DFD05F956E206F39C0251
B8B45841D7B0E43DD96A550C5C73F8489346074CD964680418955C91FA9E7CFF
A3C2C8EBBF939F977F1FECA8090D199E2AE061D9535351CED347272FE38E2E2A
6186A35F45BF9116FAA6664F75855ED137D5482146CDC65BDB6206F68236C96F
F84C0DDD57098661C6350AE41413DF0ACB0F632720A8135F47E636108EA6AAE9
D477039798D191BED088A1DB688C53B6BA8F36604C235F8DFCD10DF7A78D7495
A812240E1FD9CBFDB2732A432F29B54DC385279F9062B5BBA50F67C38863B503
8F112C4A15BAD10D1B6AFD9420D0C5ECF84B8455FEB8F8D657937766FCBCF0A4
12DD0B9A5C45A03180C51E8330168318A174929EA792E0EE9488E270CE334F5E
8D0B3D230AAB5548363E7BA4FD1BE8ABD082A725F66918DB1FFEFB6683826051
AE5E9883CFDD239C7C150942F308C714CD73C8CAE5F419797A7A73F577DB5D47
788CC331BB8B2321F983AFDB8F9F792F1C74CB566804D4432CAFF302981845DF
0E0DB70B5C0ADA5CB2B76F603AA7AF2823D4592E3107229AFEE8A042FBD8E232
0EF98D2DA355239FE5F0C7D8B480C0007570F174EC04314E61DD4AD060410C9D
1430351D740D781E5C707E9E6D5EACC6E679C08B3F9A9375F85D3B4FCA82B7FF
3DC9B7B2FD653C232836FCD5B037F4C75887366CBA0B2EBCFC3CB4D13F31B150
097515E2B60851BE87665B2765421C062A1AFBD551F07F2FDAD046ABF2F3625D
DF71C673AC450FD2DF22844414AB71F24360F2CAE882B2C23DDCDDD1D770DF8F
283CCE2BC08557FD6B9BFC57C91C20E60E5F8652A24924939A5150CB542D22E8
E1032C175972142F3E823FC52B7B0B56F477EA1B324E8F7975A8569A59D4318B
71CE7F6EC0CB3EE1A01A477E24D6FF1BDC0CF9B7E0836EB73910D80EB885AF7C
1A9944C2D783E549A4EBB6528374B227D27726D98E4957D2B9861ADA5335D92F
E8283B1CB9520D757C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR12
%!PS-AdobeFont-1.1: CMR12 1.0
%%CreationDate: 1991 Aug 20 16:38:05
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 12 /fi put
dup 13 /fl put
dup 14 /ffi put
dup 34 /quotedblright put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 61 /equal put
dup 63 /question put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 92 /quotedblleft put
dup 93 /bracketright put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /endash put
readonly def
/FontBBox{-34 -251 988 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E
59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28
51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23
DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A
AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F
45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31
821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE
96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D
9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379
26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4
140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213
1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498
1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB
377D3061A20B1EB98796B8607EECBC699445EAA866C38E03ED7D4F3EDBCA1926
2AF6A41F67AFCFBF3630C943FA111E4CCD988A7363F7C2B75EAF5830B049460E
0D2B337988F150B9182E989E7750C51BA83DF37685483F86D1F47478883F3F6A
4B7F768DA5AA89E8F163029ADD4A9209DE8A4F285766C06EA859639B92CCCDCA
F59B1C2BB8D588CA754D1257BFF76B53984DF4937093AAEF79009D32A29A4C16
FB610C7D6713482C48D7F9E8410C0F00AD6E67021056B6035534E79F05D14EF2
4E8D877D32C6541E46518B5F7B9992CA0CE392B97D857EB6310712B9E3E6FC58
44826152B5C8EBD21401B11713AFE32E275792300C18DF24D1F5E8DAF784992B
4FEBC7DEFB31D48CDC7E9F316CE394E71713D1240F1DC33761B447C3C68EB785
A3445F6B017C509FFBEE39EFDFFA5E5BEEA73265763FCD5BE91F8EA11ADD66BF
FF346732B01E78E4E3AE10D34F555247FB16B5E7EFDF5E7143429DC90C869B57
2F0170E9D0D35041D6A148A556B5A71A3BD427578D63538D879DEF993334587B
9F06AEAA27D3CD10956B4DD478DDAB0D645415BF6D4089BBD6C8DD2AC633F4D7
3391CDC71FF329178B86FAE26366173AE1438F8AF2EE22FD39B42A75F23E7271
35E3907747372545C40EC9386640B0CE7DA4217D8519E400B105AE1B85F320D1
4C60B6A8DF1E06D767DB774D9B1F92AA492641E48C225EC67948F950F9BA58B6
97C7525AEFD6B16C5D3FF360DAA15CB00A5937B1E2332FCC2DEC0FF1678B79E9
433325E57BAB75831B10457A77560023B54B7BFE7C77DA1B05BD5B9A0CE72E77
385D0831AC56BA8C9B9648E85B4C2FCF1C26700221701183592729514994C23E
4A216062CED3B8B808B313A2174F5A107C04F0E3E82DED2501A4E6952E858422
FBC2E238E60752E00893DB037C4CC69FD3869002AF02A34B1D565265756B3E79
DAD418519760CD4E8DB70CBC476EE8A70CA3DD01A2BBD018B25B12747E241C92
B3D471BE78E611BEA4A1DBB7200E908EBD7241F7F7A1EF8BB94B2FDC64EF85D0
AB93AC85ADAAE3306A983BE45D56EA67986965D44B43666299DA06203125825C
E97CC986F666374D4DDF2DB9F03F8DC0E2DF86A2CE5FACF8E45EA11A5AE2872F
188726CFE50313CC5B982F37598B717A7A5B53EE8F104145C9DBCD796075C896
54AF6EE9FC4F16464839C76F76217C338B5A12302658BB5D1C2A8F82F6914C81
6881B64525E3A62D5AF6DA9CCC145FB564A78B4D4130A203FE3AD600E7107B19
58370E195EAF471DD2E247B1A613B02DAA5D2332C5F244FE5DA2F810C97CEFEF
DB9B0C25C0E82B4A48D4FB35A77978361E141446B190BBA90695D0E73D8C2650
934121016D2B50407DC7DF5E5C2805573EEB6C32FAF8E11F5254C969D383D23B
B52AC298850174916960C6A1A8D58799920D98E3EB57A89FCCA2615EEDECB9F9
F4D6B7F581D852BD461521A483F70318896607183F599C04B9E2C3ADEF75FC66
925D4750303224F73CD1B8306B1462475D029A7BA8A15F482CC4F75B8F319449
E95AAFACEDF9A9B2F037AC3E680049613B85701ECF6FCA809DC089E4A7D60C88
067E26CAB1AF7DFF99C70604C9D64D80FD6A4FCEE605B4712FEEDE4960D8360D
74F4FECEC5FF0EEDE185EE75A6C08F268EC79D8A859DE12E276951A33757DDD0
592C1F9A2E29C196F503158315BCBD27B8E9C63EF1035E5FB4044E23C10D40BF
11B00C719E357AE3419FED4E8238EC5D5CBDE2CDE6ADCB1A463A3D953AEF4FCD
F4A6F9BF299ABB9072FA9295240418F0007AA1923B4B39B7EC17DBDDE1A4BFE8
D81A1AB470748B1ADF1AD9F7758CE7D2F36F29E99D94F5250D2739739FA65D3D
CF5E0701DC82CD747ECE989DD5FC8575A8E27A096AC6C1C4735BC5B347FA8EDD
87665B94A025EF7DB4070FB4CB8E375745986B3123B73629CA9E32F4F9735B23
A3908549FD4BBDE29AD08DDA42C555F8FB9989C9DCAFB752AF4E43EDC2909BFB
49A74BA43779A8F91ED0778C8E33386F4AFD156E954AFE942CAED11D6F11B4D2
8E84508729C6C8B0AE8F8925F817658C75AAEE036339BAC6987C0847ADCFA52F
07AF0FB94ED9483BE91ACA53E100F0F756C7540D2847774B1FBB44E6608791E8
712E07E2A635AA1BFC09EF9A9C61FE22AA2F176E70F049A2B01477AF3E865571
A67274A80D26428DF284FA593DAC10D48F5B3E5E3919B45DB0296434D2C0258F
8FB055741F206B3C71BFE54B4E5FA4D2D04A437BF26936795CFC833A468B36DB
29F265DCA2754EFEC6152DDA051CAAA23D268CB1B761BB24FB1EA9D1E0F467AA
625446C1E03130D8778EB9871B279B68985BA45F7A8E8AE80DB1B3358AE2BBA7
40384CD8AB3BAEE7373E24884AC8FB23326F08AA1358B807AB340F76758D8F33
4150690466F5E71CEE88240C6A8CC07D15F5993C1759CF2DE83D31B0EC8A48D0
EFF18E3734E5BF169B03EBD6BB7044E6C1D88CC5D6077C948285C482F2A9E975
F67CC5CD93A8D8A5A1DF299A045027A75973B4F63A2E96EFB24575D70ACBFC7B
FDADA5D483D5872043759D42663BF7AD9309274ECCB29B3D685A46D48CFD4A27
D2AD457D1A35126A95B63DF7FB284DB7CBDD581245C36CF37AA94F517B85EA29
BFB71F319365E09FC04E1C590F9E11FEA989704C8BBDBC3F10A5717D1E76703A
92BBA482F35716D9389739808E56438902D934B961D571360B3BF73EFE90BFBD
2817A6396BB6A04374F7A08B4693D25A0CA9681E0A9141680273644E5B54953D
1F75DF71271EE047CB5AA25123786DD68A3B9A303A3DF47725C61EE48F9FC2B7
6FD218B20BF89B853B66AA5751379FF7CA1E1D4847812ACBE183BECECC51BB75
268E54F8D24418056C2EAC2FBF6BBC309EA438746A766AD4466B9753C2F507D8
72E035F3B1EF693C58732815A230BFA0FF8D9EA71EFDB334617A275511287C6A
A6810B03A1F8577B55E3FEF609F7D4D0F2A44D6EDFD1850076C9FAE2CBF46C69
2AAF8D9A447FA4ABB8094AC1B0EAF9BFD306AEE83A38C56480C6FDCF2573EFDF
A20E156B51E878039E105B2E76228789DC9AE2DCC4EE39F4FFFD4BFAF8E34FCC
F4C915E4220395DA071AB801FC2656A28CC8387E15557A3FA89063CBEAF44450
250C0A275C7BAC2861AE8901B9913158CDCDFAFCC4B7E4F74D4404DACBDEBA69
A84BE34000D890623F0B2E4CC7040B45DF49417561DF74FCA8CBEE8607DB261E
4AF691FEC75824C85E4089D8BCD605DF2E99D13796DBDBC1BC00CB7F337824BB
CE451EDA7685AD30D13809910E89CC1E9D580D6878F413932D9D084A2904CA0A
3D0FC332EB0349606F161DC736D661F1D1FDD0DB52C7959FFE1E50E82E278388
6A82497C58C3744078B6B1F4A66AD75E560056DE09632B88AA9E661983D59088
FF9A7689725C5604D9D861382415D153571B9F2E052E3D0CCE02ECE7690F1840
DA6167F460746703C7D09BE70F350486F4612DCD16FE36763FA31106F86CFC0B
3AFFB07BE470033536B1114320F0E2C26831A394672FF7CAE425370C497AE3BB
568F7453FE42CFF8AB3CCB939CA40C8C8E6076DF9CE55472225C831118786EBE
2EC541772A1E7779B731530789B1ADEF243C801683AA192B3A68D17AEB28D708
0D79773A9B59990EDD85E06F874B9B5665A5677BABBF11F63351AA1F9CDB5526
C596CDAA90BDE7B22FD8EBB757A7A17FEF7EF188A81CD30655BA7656DBB0A2CB
ABBF7128E0E3A4401877BCEB01EA848BCB7A79A1D4421B1E7F5B65B451FB4264
74959A4DDFBDE82A4DB1D1F8D6D3DBF35C9AAD70BD3DC25AFB98070474DE30B4
CB256114E53A20BCA7E323648BDD34C11689B93495451CE26B06CE5A10E7772B
E3070AD0BD1A367EFBC5462E9C264F451812A94C197A4A54A6D6822281281681
939761535B8C41F1F1DA468F7E43DC069BC7D1583C41DBC0A5B6DFA70FF54A72
E2370492FEE849B9E2A89DFF48BF37C938F73DD9EC4950C7C56D7957699E5A2C
56ECE3C2044DD8633B8E0DBC444B4DD965CD0DAEE2D54668369485544F55064B
22F325041B917CC75E531D647C734EE934EFFECCC851F0F7F816A284EEE0CA84
594107F77A6691AD56C63724B05831FF311A3D6D466951F08B0FFB12B56ED96D
E8981DB822DE3790EAF4742FF39E3A1FBB4A5B010B348FE9D2A3FCA0D5D766C2
D27FEA43B7142854F5891A25353F70CCCE5719387E79A24DD5C9A937AB126785
ABA7DE8A0FE8AFCF70641B4D7D677000CA5972F235D4E43E4061624774019E22
7D3378BCCBA045F8EB9EEF605D1B4817595AB2A57399DA181D49FF68E5501919
DE799C58959365FFC9A9B3100841B57BE1A5315AACBEFC4FF5E6A85106B05D72
EABB7C91ADBE294F5C83714C8588E3A96203A70AE38E81F0209E6A796E68C538
0F53B985CC2165698AC821DD43944710F2603D436BDE1680332BD46B7CFA05BE
00A4D93B3F1D7D240809A03556EAA91ECA4E3C318BA0A6AB159F4746AC54AD15
DEDEB122D7F261B807360F0D6A4BFBE426C4DA6CC84FB13BC25FD8519E428776
ACDFFB4CF2893E1CA737AA2CF47C1BFD810F6D4E3693079AD94340DC273B5407
CAE24595CCB09E3ADD7ABFB23938A31E5863A45DAD7888637D47F82BE09D8083
E80CF06523B5574B466D0DA5188026DD0E5D057FACDDEC07323B878581A7D1CF
F3BF8BE85BA79DA89235EBE1AF7F73D7FE5BD6376C3DFA951F9B46010A7D4005
6CD4082BF037CA5342FEBDC46E2618A4A24A25F72AA378A91617B1544B9C22B3
50026E3165FABAFDEFBB309BB24E05E836E7B255AEA7686886D530072EE38276
FDEE04E456B0E3DCD103F4962B2ACEDD20065E33BF6B3651B5FB97CCB7BF73F7
B5B49680DEB7FC9C764A8BAFB10B13826BD12039140710AEEFE6CBE9268A39FE
3DB4018D18087E6CDDD0A72CFFD71A6078C93DDF527B9BB06970C99249591246
A08DE63D566BCCA5DAFED4088DA9BE34E66C2DCE74756AA17ABF9ECD1E6FAC56
C506458198558ECCED05976D8F1296811F5344C62A3419CD9D1B45D08B6FB7D7
0B63B574A3F8A80763C68E511C636455DA02BBDE1ED79A75ADC7945E9F970777
4BABF0E87E3D2DEC95F42A417E31637458124B2FF37497A953B1CBB76B420FF0
BE47CBB1EC2E66C0153A98BF94FA11E52AE968F3708A1F27493B19A9F8F3BF98
CD4E1790FAF04F772D3850BE1E988508DAE86E5566C263E43C4FB2FCC57CDBBD
0FDCA5C2F043DD2D6F00F47D41E49E045FB653F4E80CD16FB22D24E02ECD21A7
916EAA18442F504F69DC6BBB2B67A3F02CC0080E933343A7BF86509C074DE418
AF0F4C9442162355F7796AF0E31B2EB54AAA29E02C3B0806BD7C147FFEA1D945
55E492C6F7B1D5ECC1D3F30F18885C33D23B993AE3E8CB32664BAAA090C1E25F
CA16A24937E93ECE916D70C4B3A9C826AC7090737BE97A00D973C83C4E96AB61
8ADF5A929441CE4F0270A405E739D6E66ED529C53DF19A4E7DAEDF1585A40C15
B702D8EF00D5886FAE25BDB75492AC41B4FA05565B264BA4577CF84637468DC1
15B96B80686336F3542FEB7BE2202E3B82E9786E9DB5A00EDBDE06669EBD0724
356C7B8B0CE6067AE8ACA2418FE1D409DDEC782D7C14927D224871AA3859776D
3EED3812588B40DBF1D211A2F72AEA2A6D507C4DE9EAC37E2B0A57891A08FABD
3A4F2344F245B414D5DABF99B524CE12F8E58266475DCBEEB1F3C88DD853C236
66CB0874EB599B3C2B8A238E8D2EF92D1AF35C546CD6FAD839B76058BBF40DE4
6E4AB5010B368AD0946333310AF1B65A217C4FF5D5E90D148BDDD07AD0751AD2
64375A6ABC05E334972280C56CE87872B6E93634AECE39FCADA1CC8CDEF51263
522EC8B7B3B11AD8C36B464DC057E7DC56801171AD0F037444E6C9570C7247DD
439278262BC5C6FF81952C5D92F09A6C9DC09C2AEC5A0990B07DCB73855D247E
BCCBD39EE35F9DCF0BC8A7D04DFDC6B1BC62D74220B21AF30937FE83D52D939C
000BDFBF9815C9786DA926B85E6FDB59960A1E739AB418F0154E5AB09EDD6CD9
86389933EDB687418554A7C3D9D10F3D89F00456C6FAF1C45C4DA3B7F2A4673B
5A9E561C310035956028CA2AD5F35894FEE6E2F959FA0812265F5ADA0EA3CFB5
A71912CC23C8FA19F44BD95904E211D2AB73D452118A3071ACE18FC7B1BCFD6C
F49DF81220C3B94589828AD209DC4F07B0BCE5A79E33FC2AE112DD2F16E1F010
6985567CDF9F0BB4F8124555EA6D5C85B293795CB88C6CEE23C33ED56F28C65C
191EA6316B984CF6E10F4DF8D7A3906CA8E9C1A976881112CE71B980E3497D4B
FDF3EA6F23A37040AC422EE4D4C32F2BD495C4B9750D9AA741CADA5C3D7A164A
3B446670976B936D9CB71891BFF79767B9E8BE657081A1CAAD7C953FAA976655
78B27EE7015BA503C9F366ABA6C73C86B39FD1FBC428C34ADB13F0F89E712874
A9897FF47642F7E9009EBA0B5A9231FDE72B727437FBC8198ACCA6AF69C8F6A6
313E03A0E7F8A72C17FFAA1DAF4649AB16EDE4324391267A9348CBA5748136DE
94FEF46FFB007B2BE5DDB6AC20E91470D94EA27204F10F885B7916D70B4FEBE0
1E03208818A03DBD8081540327F5AC4B51D11C07ABD248CE4C7DA35B5F613426
BF2DBB2B1A41B1AE3077595E8FBC4896D1829B4C551C71494E14BE3CA96192B7
82E372A50DEA1CE3BBE1DE2091031B432F7B673B08B0044F670C12FB5972E75E
1968FFA87D545EEB5FA6C55F1E6948B024C8B018D3A4F8936A9F02ECD5C2E204
7DA24750E25166A6241C20CF8AF3239D3CDEEA5295A7A98A1B1A2531F1DD6CBA
38843B9A02FCEDFCC380ACFE403F11657C12B108FC2E8892F7D6F022E0046C81
2A215DFA20C80E7E91F1A0A4B749695F3E12799BACB7D4AD3F5B82E64C103675
EAA5260EE9897BAE667A88A3F5E2747E25679A952C838623BC9C2085B4C0B92C
7E1826D48F0BC3B79CFB83647A30E801BE4481E0A3EF113C007D9A76A2E430FA
0CCDE2C04DF098E5ED3DF3240949A5FABD4034C77E967D7967A77EEC2689BF66
EFFF670E8F8A1EEC1218B595573E76FA0FFED15DA221581434FA0161E4C34B19
244140D41DDE9E6EB22EA46A6EADADC3D1561531A7C57A7C225CD14967EEF73C
1721B2EB401CB909F6A809952F57E1AF4E07706CD7A4B57CA0066B3A0801D5E5
E042928CE29DCF3B358DA278C78F2BB6C98630D7BE9203EE2001F6F2A361D74B
E9FE430C45D04AEB0E8710D26569ACFF5CBBAC8D3F44AE957FE4F6D5DA961351
7362CC084C9B4440C87FE9117148A2F41DAE66B04DF3E76D6384FC8B816AD2F3
8F8510BA46444F1147AFF90AFCD2F747888312CA62D35A6834F576FF1F257744
8AFFE0DF99502F824665EA5147717A4E15677FEDFC9CED948D8DE08CFD03D22F
04F0E0FBCDC68583B86BB1043418D8EB217AC0DE72FA9074FC66878CFD568B38
BE4562A5025EABF9052C6B9979A4D5DEEDC89665C946A6FCAA5A1487C414B0E8
B8BBB97602B37620D0A1BC4C7DEA285487B11157EFE84AC99D75D57D10DF1F66
6D09F48AF06BC9C3AE01E4C30693AE8A5A8618CB84E21A7C328C558BCDF95604
E9DFB6520F84371A50186DB74FADAA1E09204D895071198C6449D7C274A26BD2
BFDFC1A2955051AAA2DDCB990F865808BCF7315079C63EA921C2449546368A77
489D3916D19138CFF758C1088D724AD965F619811B98C9DEAE9015D0629EA3E2
09A779EB0F90B30DE8560071F3AA609446EB25B5BDF9839AD7A72D4E4D4BC468
5C68A906BE068917E5EB60BB200FF08A2B3526226528248C1E0F25F5299D6A48
8184D5244839F64903A8BE5133CB7092B230BBA8143BBF2C695BFF9B1CC6CAA5
4B357466C8B91F34F71FD42103B408EB708966C0581AD04D9B365A3EC2D3291B
4999CE8355F5C5499E105EDC767057A1AF4571F3FC7BF295FE34301735E938C1
BD9683EC3FD5B83DA720810908136B9853BDF1C554BA5F7A74A8663BD34C4935
49A911F536E07C371DD2CDEA85035CAEC3DDCE4340FE8B7AEE5C9BE3BD3A2780
B73CFA933FBD44055AFF5A50CCEF7E30E2DFC4B6769CDBF1F599FC463D7F0160
D5E4BCC67CEFC298DB61165C9330416B983E01818B971254BE814DC5A510338B
F99DD514E32EBCA1C6D6E53632675D4A1573400B76C36EC44008F91F4FAD1C3D
05817B3F360054C497430C3D6B50D113D3FBF1B06DA2D2D44FD219A654D812BC
5CD8B5690C7BAC64F57D95B664A873DE1B53EC5CEE2B7D772DB421716821F6FF
B7BC7472520439270E491A9D9B865A8F39CE26F3B45409E08CB135826CDDE46C
178C4C6D82BB22469CA421B994DB402695B95DF21F0A20E4EB81BFE3D3FFE83F
8C6057B4AFC96E9E1C4DC087ADFEDFE1DD3DD70C0EFF4D83F52B480C5ECC709A
F6C3275D1865C0A8601BA7EF597D48F664BE46DAB1214D647C6B4F0B7CE37590
B64D98C1A8149170BF4E7E9995165FD1D9DEDB694BB26519D637DFC144036D6E
BE0005483BCD9C46DC6A63B5E7FF7D128C7FB8EA1F4B16AD5DA8641539584686
3A2063A8C47F0EF38209EC40C985FBCDE11122756BA1F721FF2EC0CE49A9F66D
30DE4BA5024FAD0C2291447490192EE26AA9E94ADAFCD10D24319254F6165A3F
0E34CA688C998C4480DF009AD8D2CDD31524191CA4BBA225CCF2A8CA66C40756
445433295AE5A4A68A974F63E827236D5A60423981D41960E644A0C376FE79CD
D47F2BE39AD8C982C67B5CB71D9206661FE11E22F0BFFAE2E4A8203AEAEED92E
BEA9D2ACFCE77F377A808ABAE6AA29B5E3B75063FDDE294C90FE49102C5AEDDB
93D0BEE9B2B0CA11D1D0C0F8864A8BCB3341344E2A84218F2B3D669A65503B17
516E496CF4B887D9CF2689CBFE423C67C170D98FE954D95902717F20DFF777FE
0F4EA16F2A3823A5B184D198C99A68629AB95D849FD49BD16D93BB20E25709B6
471BC6AB9D3A2F21C647E2902EF27CF7047F66C213AAE53FEE16E9C95EFFDCF5
E3438A706545771279534ACD84DAD465FA1465902CC44E83E0257196A876CC84
21FA6C46215E674B208658B6F0ABF88808E78F95A85DE945E95679D981CFBCD2
A7B5526FF56CB45B96560310C51128625F56C16404D6276CA5B86F6366310C46
F0DB8F503EE8127BDC073FFCB2C4AE08FCA54E0C43EADB383D9527B5DCE7165A
0DDCC8EB43CDB2CE15DE1D326139B28F6E1FDD7E601A6BF4028749B00C36E505
9EA297BCCDC012BE711DC5EA01AD058661FF1605F58512077AB84A9D76B792B4
00EE966B1D78CBCE1AC6E6999FDFDED772AB1CCE0FEEBE13E569F53EC56AE48A
5D1133CEBF7C02E938A2D87666977CBA28A2DEB53732B3DCFAF1C6B7305D232E
C5DB6EFE807CD62B9F6CBCFC346A5011D4058207993583DE88AD9B48C2D71C52
B89530A3726028386DB61E4B9755A071878F23F5FB0B9564C8B5DBC767753A39
4CE240B7EB4ADFAAE3C755F77B818D7CD2539D4E3BFDC2D3C0A993C2C8BEE80E
92DE0D2EC6A9095C64BDAD2FDDA46625EEC33E0987D000ED16B2E550D156E509
C56B9D19B556137287612D801D7DAA9BCD0A18EC7856578F2469BBFD83F4E6BA
1617391DA10A36E182225D4F41B59B35A7569A3E846F7BB242F313B480BC1E8E
C03153D1E21A9D906C0F058B6689581FE34DA71F6D4422F9822A2189F2916CC1
13EE895D663962E222FC28ECA4A4FEB3DE7617ED4C6EA72F37A936D30A0D9C9A
ED63665D61B36A89B4795221538DB108FA4ECA358B5699377A5DB5931A71C960
19BC66879B7E522AB2AF0CD800A6CE023CA3E0DDE2E5511E846E3A8645A7D61C
382760C9C5AA011367F964334AB53C27E9FFE7722102D98983F1CA8994E8169E
913C095B41FD54D45B95721B6D7E4967D1AFFC771E0A5060C52A4A7FE17D1652
6486FF73ABDD9EF86DBFA6D121B515434A51A967D5FE15BADF2AB3A56BF14D43
584F4C8E3A005EFCBB5963621BA4F565D47AEAF9062E567BAD817BF97C646757
769C8CF06BF6D4767A8D5ADA194597CC467E3DD2659DA17B4BD317AC53B44321
6C7772A11D85470FF7199E6A50E7E55768002366460F3C1331942CBDFC211BBF
10B056ADA1DAFBA91458A8C9FDEBB406CD13D1FC9FE0B61E5A1E9DCC1E30AE10
F576A9DF42AFC7115340F5B13D3DF449096E3EA2C130483E212469DD3AD34F8F
43F00C2F4C25F35CC224E1275AB93629CFDAA318539329BE37E51EBCBBFEA274
981E1915B5A7FD67085202BB4FFA9247BE35DF8B1D6C455B0615F0A396D38702
E1EEFAAE26ADE628ADC0F65E296D391E211086970070297DB5B6E10609BE8302
5C30C30A6E8B6EC49A7D18599F47646F32D18F6175735D7EA0287AB9394B063B
5AED04FD4F3F629BC641CADB5EF8C0948C971063E71D27EC81D160094D461EBF
1D1DC166B8DAF80FA08240ED787E7E91DB47820EE5EDABE22032D9154D9600C1
502822DCA34E4E7C842EE36BA1542FFE06FE9C890B2B7476A1CF54EA7808B305
781B56D51AA697D7746DCD4556ACC09E68BA81DDD7CAF84B4FF57D05A3A2B37A
80C0A04CCDFFABDE348C3844D215E0AC7CFC748BDFBEF0181EB37D4838239985
A75826F666AC24ED653566F031C6ECD4C8384B3192AE517E5B3A580A911F0583
3C71893774433370052A09DC0770B68F5546F9B0BD29E8101576046E6A462140
A07F9C4CE0C7D27701C4468C36E3BAABFADD8FA902A3704D3E8349FB83807D51
26026A156F8050EE623E6F3592638ECDE4A1C566233C2CCBB2B0336024560D32
E81460B1CF971C1DD4BB0B685E98BCF70A8C860F67DBD8DCEBDCB899E30A0E25
85F5F50BACC1E1C55D0EF181983287DEDD4C59C9976289D9A7EE42844FAFA5DC
7669B0C6F36270B0DFAD758EF45B79F109941D0B156A4F7532C60B8D77C2193C
1780F3788B25972CE59D746351C4BEB6B5DCD78666C5894C18127EE47676EBDC
06BB5B539D8800D45C6F950BA7DFA0DE9EB31E7F5ABFF5A1EF3D1C7DAD2F0AEF
7DB787A1C147721A3878196311A2B5517399D1803D315398472360E66B8D27DC
6B15B05E2BFAFD938F27A62F12DD11401724B81C32BCA98F3E090432BD824671
E9D07C68E55B574984859B482C4DB878DE96129E206699F6186A05A0E9D6E335
A0B80E7BA6F3237EC197D1C471CB523C7EDFDEEC46B503BE06569C50221D142F
95B9F31910EDAC5BF1A75988ADBC0ADD7B601A6CF0A8480ED122C5A78412051F
0F0A40AF813FB83E828D90C23093B08715A49922CB6A66B64094C04617CAA0D2
3C25A80C882C7FF5A57072CB631AEF03B9D85699A16C1010F42C22589E2AE69C
48BA16DAD48D67B2F80FF493A744188EAA8E4EEBE7D7946B77890899648E62D5
F79542309D9EAD4E9C667CFD6B29E9E25CAA192B379F69D23E3D6F9DAF20E4B5
E9726679592583EA110FD6F1D0C564126C8431F34A730845D9ED26285B23E61E
CECDC3BDF2A43F26B2F25A1114326D66450A0D9A7D72413B131B09C9CBC9B618
ED6335E691DC7EECB57F938954DEBA56DE1454EDA4AD706CA7FB3225F94FA765
22D45F003196460A62730843B65448E5831CF73F697A8FF998D09BC319ED0953
5AA7B249342B4F9F94C0808C8E139C33EC03E6C43844E95611DAF2E0628BB89D
A7F267E0C6D10866FE7F8155E976622D87803C6E2D35147DC37CA46E499CC5B9
BA13BCEDC81D00F7743473B08EEF54F96381C2308882C7FCF805A9359BF7B74F
76AA1350B76849282BF7E3139685F0548254C5340CE6ACCA6D88A0D8482B60AF
342C29589D1201C72BB00A791CCF1B1FF193613FAFD677896CCBD2F2FCD6D421
6E6327538E9F8D2398EF60A553E4369092E12B20C08A699EACA9EAA288D5D3DF
8E4FAD9C90FA24C6FC17B7B663546EDFB4655922D4233A12D7A80F0A45A72449
257FABD99EE438594552A1036DB79D17A61931CB8AC5387939BE405331A50513
B806A2CB1EA4ACE9337B80B8AE61C7163C84211A9CE69A9CACD138D70E10C686
C6FE457B3DF78D40B1B61B0D91042C2814723FFDBC2DA075C8939C43664C2281
8BC23C6532637EF05590B2FE1BB5A255049519DA235E1D8835A2EE86FBEF897A
C4288135ED28DB9302330E194140609A2E8B0844E7B2BCD14903C826041F5CAC
9DF26482CB8947B6C6F144C69006281E771E69FE60B4448CE93C74BCCD8261D3
3EA869C1BD41F141E15001ED12F91E950515A2DF5D2EAF552E80EE763DAB282E
7154D187754636B07ADEE06F21F21D39B3E4EBCE79EBF8CB06EE6E4E4A267E97
134E2A50A303C94A897659A59E6B312DD370A15C46F04D1754D8BBE5B896FF8E
0E6F9A61DB3635BFDE22C13D758084EFEAA3F8DB767DEDEF6D8C493B1F21C8C6
4119C4582EBC567A499D0018B9BBE41545FA4992941A808BB55C02A95F6D0AEE
4E55B4F07B619ED4B980C1946EF92B1133945894E3D8BF34F4B24DCD5D81B6A2
B06B6D5B2B7676B6057DB7A34B791CD83B3E765305828AC3C05E004F3B8D0890
AB257FB2C204192F4D69945813266A540CF598E7D04ED2DFB8A7D5A8ACC0FA3B
5B13346C4F07C2EA20C128131FBD6DAF0FFEAE8665875203A79C852EEA32EDF8
7942C0B43062740BF4F7112ACEAB7989D5E118B8721C33956FA89007173EB412
7810DD5D1DFA5DAC434036ECCE692CE671859DD00D774B89D212C51B57796404
B3121693191AA577D74706C87A61BE69C5BB80F6B65169D1BDC106466BD4D8B5
5BE1740F96133CF2568EBDA62203ADCE2F4A7A7B9C0987F5ABBA18CEEC0C652C
3A816887F314CBB15E8A5BA83DEA75B16A9414D5D1EF12D5AB1378E1254DE4B6
05A36D4B5AA9A0F48D38D88A4B6D6BBEA5F3C069BE663A8ED1761EAE7F557EF6
893A7234C42A03E05AF12F6EEE0E5EA37A96C837FC08E3870675CEE050E5D512
275FB6E154B23091E1B8C1E09E38296138C22DFD2DCF59C61767EE26AF97DAEA
90336B36374EB7357DB9FB8110ED331CD77F7431E9CA33802CD5F2B923464921
C9DB0783D244BDBAA849D71827D6AF354BCB2B833413D13F6D46381756AD8D35
D922853646AF5C89BB436FD634BD83D36C08844B17770277B003EDF1EF53FB35
0F7F338A4F6159B0CF43DD387D1E4F4DADBC29B50BA8BD0B3D3D6776C4ED4B39
36440093990F8B10487A17771D78348A571F0BD2B32D6A181C301603E3B34029
9F6716AAF6B64D3699BAFCC022622C3779B3F92E1F8AB276483D78459B8D17F6
7392F6DE8589DD93E5B19D55C866CBA28AFF8784844B359B4EE19CFEB988D29B
8753730DD08A70C61679EC52782F3A899D5B0B780D5CD2B4FFEBD8BDA7262E32
B171B609BCEDE32FDD4CE7F20C7979DF336711CC78190E7C0D08B424E8610355
3BD99DA8031FEEB9A3ABF8E09F16824B8F387E97F9AFFF0D5020FA301DF959DD
810255B788C18FA27FB4F389E5553955647AD3D86D68B4C4101F0EC2D95307B0
50DD90F04FBF0905BF1E65C0C778926AA152B2E76A95222D763E9F286646EE6B
02EB5B5539910C6C385E441F1468B7542B43588A394439E348E3C76EE2692D96
95683A97910FED10FA5D663594BF17E63A9995AB768B66A156A032B64F3855AE
F214A2E61EFA22BB47B6318236EBED6481C70667E67530D87A9CD7676CB7A505
F3B1AED79D7C69519E182DFAD9C73B080B341B1684C6092F0046B48A416F67D1
72FB7556F4951E74406B9BBC7300A55DD813EB339B897B2EB22B974AAB552312
3269DC5D7A854F29CEB7B77C0893CF5B3D8625BA28FABE4E46D6F5AC3F53C3AB
995E46741D7F3F3E78A00844C9AF55605DCB8E0B3F59F5BBA04292FD589F88CE
798468AFC49FA53CE2EA09B661A674EFC095142C63DF4FA5BC031F5C9C9F9E76
52F660C60AED0466F603724A4497D610D25F1BBEE23FF0A1D52F4EDF1B889E10
55820520B1C5D86E59C32B80001C4A881A00BCB134D07D78CA1826A0ED331852
754A84CDFC6B98BBECB97E74FAFD351AFD1E8D05182AA5F27061E450C63B22E3
2D16072E8DD5C9637446AC119D62C47D97C63B3F887EEB6BA311BC290CAFE8EE
17101567EE6B59F40A88118D1876685EC5A687ABFEFA5E9C4C32B470E8FADD79
567C238EF5F886F2DB2C8F84B8E45840AFA819357D5598D20409C6A351C16AAF
EFE6D16D2B14368D2AC649A5365D2B8A6EDF3C2C62260E4C01FD0611DBB2549D
6EFC969EFCE1DCE8897CCE5E8AFCF9EAEFC9867AE8A6880404F2182179DD271A
654EF1042EC17855143730A477F2FE401BBED272700AB39F2279F12F15CA8A0C
A79023264EEE97C86ACC54F66639222B1BA1DE89DDD7B71D698A08D7636AD222
5D52AF2FE53B8F4661605932607E3C73834EBCBDBC79D7C327174080A81FC53D
89972080DC210EEAC96B0DCB15CFDEB967959E81323C96EDBA6470AD37C604E5
5EA758E13D024BFB44ACC832F61B72A929E746E22311964EB436AECF999ECB7D
4DE8A1AFC433C7BD8F0CBF132940156367903C58D610498082A56FA5CF63FDB3
1D2B0E88BE8A61EFAD858300627FBF518EF82D925A2F385EFEC753F9B5DBF86A
7AA3EA5D0FAC51EA50B7EED1A303C4C0AF562EE6156CCF7E9F7B28ACFF118325
3828FBDCE7E04D37D7759771E18199E9E0C59C07E88D0CB6E7977C621F05B01F
5FB9A530CA0BA6BF5EF7FA27F26133DA5CD883F706666A9F205C28CF19EA4593
9B08F91951B582B09656785F4ADC9BC460BF7B47434CF623F1C1C816910C9F5D
35EAB4DE9EA063E832B4C408DFF4C5E81B9D73844161378E9504C0EBB7C2EFB6
C30D5910D52AEFFF8CD90546042B03F21F281CB2310DB09FEB4444836602230A
A350EC1CA6F2BFD0F9D49B928B28D17FC842A3A77F2EC67A742B68A96B14CFA9
1689BEA8B570FAFA6E2CC91E5A8E21F7619543681F702C98146D9A7C84D21ED0
62AE0CBC8B66799EC66361C22CC501AB692AEE75DF39883C5A4B1483163176E4
B413EA27D9561D90EA6821EA1109D194CB333E5D812D46B0CAB84F2EEA84FC1F
5F41981D6BC5FF370FDF9070C23015F624E22C45375475CF56895E317BB18F08
B8BFAD03B88E081F818551B4E62E34B70D08965093DFCEBAAB62BD873E53DAC8
A522B02DC937CCB4844F09795BFA6782B09470BCFC3C3B5E26D4B0711C5D7B8D
53D9B728A48CCE79A2BB94C1DFA95AA2DBE5B224F8C27FFA046C216558665989
FD46A268E9A90DDFD1455223897C129F8D6001325E150F6EFE8BA86F04E37105
18B719353412BDF8E81B2177DD1E0CE8BFE7BEA286B14F9E2FDBC04138D9CAC1
E2B55BE28E278E088BA3588F193BA259EA522CD1E9817A7D872CF009995BD5BF
EEED273D17A2F0038CC4EFCC2B17D5F6BAFEE675E3BA035561C86A2127A51156
74AE47A89FE6A248762AEE7E514EE5F9364AACAC24C109852F9C0024E4D31F00
D76B33DE19F1000653ECD824D3D9926397F8359ECFF0105F9EF760A0995D6A5A
90C87A822D8AA038D098E112C75BE93A1A187F32F77FAE1A89020F3EC0812E23
C2917AA0F2939035237DDB1B4DE87B0A0555D4E52121B6E2B196712710545FE4
F1F681B5042A04B25435D2F3752E2C19A1CB08948D7F9DBDB91585149DE48AA1
262DF75D1D36B47ACD7D28EEFCC7EC2B683B3F0BDEBFC173B9B841D18C122D5F
38AEFFFBEE24AC52E7BD4D8EC9E432CE38F9FD1D729BDF348EC5EA69E9D001C5
89349D7B90F471C2E2801E66FFE57E754DC1FAA781525C4576F6C13F2C550034
C5A018619B46D7B3F4B05FDE168BDCCFB7C0A75435DBA9DAC204B94832D6D4E9
34D833D9CE2F807EBCF4229944D9E3F934C7C69B69A2955AA52F3A028941FE24
AE81111DFA853EBAFA79120BD7665DB36B902E3FB1EAC79D4CDE00CC15CA776E
9837F910F94085D00DD89BB5093916DB1E5CC3615C5EDD91BA3BAFC8DE4D5CEF
D096B684351DE8606EE97AEC3E7F126613366924035EF4FD95C829BA77728C77
DA048AF5DBE904021D52698CD5230A85DCC1A51D942BAB2502230747E6A0BF98
009B0F36419203D74743CC94817E868D21480274451A0D836A20D75BD51DFE66
523FE7DEC3E8E83609816241A15CC6FAEDAB5A3461536BFD669A870C7A031842
B43DE9D287B2DA4FEDC9801CF6959CC2A01CB10CDAC1C6B5600F370B86D9A41C
464DEEFC2FD379EDAB1BA9FFE30B23535043DAF3C2D2CDCF48378CEE034E3AE7
5CEF395AAC29C61AE59D2ACFA8E9ED45D5E2EC4BC95473D880A5202C1E20CFF5
7A50EFCA7D458227D69BE18C58DECBDC830D1935F6A283BC135482A04A562101
936FFBB539915BB1BD67B18F956778738F90560802BE156A946D12FC7D0FC389
8BCB24DBA6704305DAC9E4FB49A3C4F9D7F28209F8830E9C472751EECAF78893
03E0F6CEE2CBEF29AC9693FC6E7C25504983D5F6349D17DE75525DCB4C841C62
79AA7BB0C90B3A83DFCAC2729EE63ED23101AD43EE6C924BCE3F5C4141B5DEFD
163DC34E5240AC07B6368F43560F0D63DB0BB81C235F1E5AE0DEEF89BE995FDB
D44CD3CAA974CF19F3E3301E73F16F4F02656AD52A533AA3AA3B1DF16E0381B8
4260D6D4E931E0DDD2EE285B1BA0A9F304D883452CEBF593718EB5BE709B0D4A
21C77C28A46F600CFD6AF61B35A67840CDAD03C0FB6723672754EBCE513A0BFE
090010D0D47CC2FE8867E65385B63586F38144F04F5A1E79E5FB3EC1299EF032
5039AA069EECE5434AE46A1A41A1E3A067942090E4E837ED28286B3E5EB0F83C
19227F91ACF0596C2AAD2F47B10898AC87F9BDCBDBBBBDC5DB3883EB2E59154E
1DE33156DD7A0A2BCA64A9A7AF8212FF0482C1E6E2CB18EE3182B51EEAD48B9D
263FB6A9FB9E615ABEE8FA474EE303209FF2A230F94A70892AE6FE8BC14F9108
DB79AF6BD3F21AD8478153BAA64BA5DF04B8BD5042B13B235AAA54C8CD87F1F9
37AD6250D912C1801DE784215C7786DE4984993075189C4EAFF3D06CD39C2EC3
56067D992A42F389FAA3B516C5156658962DC281E59D983B048A7C66946CA592
8F1BE94E6B50841AD9FAAE06253E600532910B5102C2BB5E54EA1CCCF272F529
BA37A9FE811E1B6DD3AA04D867AD53A85EF0B5076072512782C6BCB57243618E
95074901B73235D5593A102F52E3CC348E8DEFE959909252D5191F913FAEE38A
39F4EE49152768DA4E433DEB4CF0521AD8F238D29FD120917BFC18E3E0DDB12F
845E1792FC3A46F3732EDEE6FB29BBF73183B8AE06961149AE30B1EDE1EE9ACE
08D0806AF7FC3317867B911B4654EE7990DEB59FAEFE47678AF081A213DF46FA
42465053B1813C94A9B2760F24AEBDFA6C8D1E904191B34EFB4B4E7BC0CCF32A
CCB33450A1F43F70789C285CD37C0579B3F2734B5E40C25B885AAA10A6261663
5EE4986B69D6701A2621FEAE55B2BB9BC9E40ACB8E6ED87F31B6C25CDCEF7CD2
21A9A5DD69B437D56CEB2EA49B1A704EBD35A8C9211DDFC54726F92812058822
AC548F2C21E67475D0641F219CA5CA4ECF3C18F2C9DAA4A12E6896C25187FB07
08CCEF678352E9267E2971462F19CF7AC9B39C80BF9C8D4A8DB5890BCF0102CB
B0ED5BAC72666EAC6C895F8B78127DFF7E570D7C405E7525AA28C495D6E03B36
DEF80F50251F39B6D40B94D3631289AB29375259EC57E3175182B527DCB44684
82102329A7EE2AFD72FCA8DEB44CE107C795A50FAF6BE86EDF84DB67ACC3DF11
44CD0C7AB38B3F05F1609C4BA4E5F8F3253E05F62350555369F9370B9FB6596C
18A2DFD4AD5529F79B5C83186C9D597751046A5B171DF4F6E8803244143BCD9F
BCDC11D543E69CED90DF832E74FBA7D978C67979DF7D7D23F9BA0260A7946EC3
617A7A6614AE8454BFA3BB21A443CB032C665AA194626F85B2270CF545231B78
13297E790DFE268372C8FB2CDED61C5ADA1D47AFD089A28E8D49016EE52FA7E2
DB6845261DFAD68B35C3E604C63D23F0C006BEBAAE8457B8E10F8EB9608629DD
2FD19881550F1679B1921F6DD2B99A4D6B4B420DAF42519A871E3932578405E6
F8C8261B9F6DA2669D1DDD3B03EE5AAAFD2416878AEF91FC67A357321E5CAA3A
6ADF623F51D864EE503F7517E5EEC27CBBCD9FEE8A7C10EC8382565B44292319
6343E58EEFD8B7F6084AA746DCF08073AE2332851A9D0F8B98062450A81062CD
201DCA68B44F2C6334DF8F46E250932AEFB458E51B2B4B744A2F495EDB5E0DA0
857DAFEC9E545A7B69A21C1095F7D67C5B8269CA0CA0CB73788B7FD9CD3C6DC5
B78FA9D08855C2EC05506BA559DDC6044806F1450B7062DBC3B6E97C5AF73E7A
0AE6AEC59E5CF513E3DECF19121779A4131F1126F7D5195DA95CEE11F59595C5
78C920260845E5AB50AF3CB78AFA0369D065607B417DBE77211A94078770455A
A6A96BB3971CF48277749DA68272639171B69552CC5822246B256027C9532399
A1A952CAEFBD7945E60F223F4CDA09FCB3B5C8F34AB25EFCC690C62D061F873E
A5145BF77C60B748B0D7AD177404D36BFCCE75E6ADA1E73A29AD958D475F0EA9
8172F226E9A51303AE49B43B4111BC8AD0839A9D344AE1572A3B1F5C84AEB84F
5645A8EA79E129BE528D1591B9C6B29F9D5077E77895A76BB3F3760F5F936EFF
77C3928B06C1E37CBAE05CFA025E0CDBF515DB81766A1A99E43AC8F0E2C81915
C05B3E2FB27B881CA26867F0442C88ADD735D0D0A1B0D4DA2D780C48EFBDDD0E
7299870665DCCF3625A88580FFFD3A754F84E56BE59B29347C25BD4A68ECE88E
F8CAF895EF64E3BAF288E28A41E80417CADE56D3D3133791B7808DAFB1C3AC3E
7174C8CF1945AC9EBB91823DAE215AF89E4BF4CBFC79DFA8BC12A26A1D33CA47
D1946A608ECDA828FD1A201EBE970F1050C543D2AD4AE076AEBEF8C92D361DB1
F1DFCDAC7FCB5472F8A28AAE68860C021ED452090C05C5B70B7A7D9611FB74A1
1FBA4916D939C60F898B90E648C68F569B78F46B3B556B02CAFBDAA53A712E3D
07132285B1202B362C93DAF3F5F61880DEA7F837B7DB193CCAC8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR17
%!PS-AdobeFont-1.1: CMR17 1.0
%%CreationDate: 1991 Aug 20 16:38:24
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR17) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR17 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 74 /J put
dup 80 /P put
dup 97 /a put
dup 103 /g put
dup 105 /i put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 114 /r put
dup 118 /v put
readonly def
/FontBBox{-33 -250 945 749}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95
A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801
BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96
96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC
9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7
E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A
497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46
4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD
3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF
B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8
C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216
9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F
83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25
A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B
246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A
7736A960F72AC01F733A11023832CD68FB6288A5977743F781214D8FA9C0C3F7
80001321D4397771F728FD9EE57CFE7D9192B887EC883EB1505068261DC40089
7B7D2820F06515CD74513521F6397FEAB3AD3572D9A8269430E407E357422461
1785FC2782047F4C0339D79B16862D939F3A37F78E4E2174E4FBF132539CB760
207999FF86F6A3EBE48EB0A1CA635450FDEEF79EB16D853F3BF4B41CD4A5757C
184ECF75F70F3D1A0FA7662D4B72F05F00F34F6C86A3E7F8A8F9031355D8ACA7
C8A448600F74B3006B42649484DAA1A8FEDF8C30EE22E75D43FD0098E791E514
E225B43E54B0968F0B18D7CB5EACCD870A31E622C0C3D4E433D70F11FDCF7AF4
13F5813CF737D47E2A55E48DB1221CAD840E6AB3041D610F6962588DBFAEE26A
57A1EC1D371FB6704F93799FD321C4C6FDAE10FEF85B2C74289E0FB68D7C0E50
D00D1D32943EF47A38A3D0490839C076406D747A89E1FED15117A3F89EFE9EDB
828D44630AD5E67D2A9EE794A5E5E462BFB28EEC1AC32B311D23A1A5914F28A6
BF5E0D64314D534CF75E2CA68659F1F1477C962D17885ABD83A339F864005D7D
BB5D27A0E8F7A598E03CF668B6B62935333638C966E3C58F78A4FECE6AE8BCF6
B60F4E5B9722A6F1B984DA8797C85568E71F011C663728D8674B4000AA176996
CD918781790C3813667E84B2C6F816084787BB66B81784CF656A83B635626887
6F70E18B7A94D0CE06AE8CB623706A159EA01F38879FA5FCFFD8661182D73A09
0DEC96638AF48B252F04C9FF2AE91D699974E5F8C71CF93A5DE1E369688EF2AE
1C28426BFEB19EE976267B464F6AA4412B29BFB94C4F8B9E70B01F5C3025D97B
25702D93C4E0E45C22C1139D2EF61191974C36483734628C665248696982D4EE
7676C9D92AE715D224A40CA1343B1893CFEAA1612FF316BECD029661C38DBC20
AFF5963BC9D72859AB60D55FC720A29F95CC8C118428C73945B1031D65D84F1C
BD9177CEE9F9B23D0846F902DB7D2A8915C4108EC1F775ECE40072ED8DDEF20D
E57D0C6B2FA7150C33C6D8272926AE20F3AE16796DC25CCCEB1C2F5AE0E4CE50
752AACFEF88E2DC8F3DCCA7E325C65BE00D8C51CB255BF66D8EEAA8EF6517819
4C61E7C6CB5AD61388F783CD2EE7FE0C0EF059D88D4543E398A55FA1EDD51747
D61FA9DF86F1F79EFB16B9DCF51663B0BE57541EEC885383B194991A60AE7A78
2D5BEA1D0F70D17AFB461BA4C5980F973BCE23B6A9381CF3FE035A7604110F64
72BF349AE767EE2D0B721A208D998E3E565762CD84FAD08D086D2C5C80220A0D
40D60655A0B3BE1CF01BF079C8351231EB973D6DE2685EABAC614D492133A91F
A5AC6F649FE048F9CCF8335BF508A4B024EAA1106681CD88EB191AF7FCCFBB74
2D81FD13EE9D5AC610B5065C191E3F41AE3F9AE1D93ED9B2287F8D73D93E75D8
74ABF8A7EDA0FE48F6B3B675BC047D09C038F206694CDD98722AD53B63C22BB5
7740114843997E5F88DC7D30357C93DD9E15D151A5AC510F4ABCD888F2013C7C
58D3614E415FCC93A3152E2952BEC2145B4FD927B421AD6F2A0D941A22FC774C
F76059149C22E2C711D888C2A45CAEC1E23CD09F4728593F0D870FB5D7C4DDD8
3960CB310F34DCC2803FAA6CB7E9F53ED672C326ECB0B4EC01598C7B89B1843C
08B7143390FF762CB0385159567C00A278D4E0C2E35A15E1F2BA70E05ED52849
B41BA9FF564E5A27DFF9DA02CD75038B826F2172706DB3994A6BC323D38F8558
6AD52CE372EB79B6B4C54D914A71A9C54873C1B520E6C04D7C4C9A76E3733C47
45E14E87E48761FA837F92256B545F470EC132D075015384BF84DD28EC8228EF
9F0BBC2B960977A916DC582D1CB5082132A8AB154F27672CEB2F481AE22FFA4B
11184EA76BAE618123FB01E0E6598BD2F48288086C0A7AB4F32D8A4DB01E8B89
18DE13AEB77E91E47264A1ABBDA1296695A242679F6224FB3C4B075AE3A9E07E
53EFCE559E0A7EE5B6289D11728C3DD919E2741D34E7BAB2643A21B2CBE97EB9
C5CBD195EAAEF90CB217A68B655020EE997541AA082C32942F77FC83AC2D8B49
A0094F33EF6D49104831801A9683907C5CAF8776387B5897A7DC41B820191A32
BED9A3E7D449AF8ECBDC1C5AB6584000AC16281064FC9DB8AE365D861BD4C43C
66B475D06BFBE13267FE40F7D7CD1B9522FCBA1233368FF2E77734C964D8F040
563768687E4338748015E63A6C3DB8F94214D48E157C739BACEB6F63A1329163
9ACEBB436922F3300B9509326268787934FE9902262629E003C295DAB921E6E3
37E1AA30E24C066BDB5D04EEE0CDA89035AA284038711EA0FDCABFC55BF5A324
5977FD686E967606092240A081ED6A71C5B9F7960F4B9E176657D551CC703C8C
8ECA7636DA8F9741C9F6DE2ACD10734F3EA00475192982788A15B629ED0168E6
FF280D00FA53B950369CF9F3AACA30504706E7A9223D12EFD189B9F0EC7B1BEC
E6A2CB7FD4AA366B40A0764D0E191CD4ABE57BF03A9EE423536D9E60F55BADBB
71617DBB1BB57F411B69843406DB5E48DD237C93A68AB9B9FF2F94BFAAA08D40
3822D2742D3A6F837EA2E98903990750C9E72BF88D0FF26B18931CE2711EBBDB
FD78496FA1C3EC0BA03BB552465DB5F668188C2C007953BAEFDD07A3F536EA9B
1352602A779FE29999EB733D5615716EDF29EA39A992CC9A7BFDC3377AAB6010
0DE3FB19C19F23B9507791427B6579BD5204152A71893EF9D5853DE69DC47A3F
FAA78D9AB3F56BB49C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
TeXDict begin 39139632 55387786 1000 600 600 (book.dvi)
@start /Fa 136[55 38 45 5[42 47 68 21 6[38 42 2[42 97[{}10
83.022 /CMTI10 rf /Fb 163[42 57[42 34[{}2 83.022 /CMR10
rf /Fc 134[44 44 44 44 1[44 44 44 1[44 44 44 44 44 2[44
44 44 44 44 44 44 44 44 10[44 5[44 3[44 6[44 1[44 22[44
2[44 44 40[{}29 83.022 /CMTT10 rf /Fd 167[120 88[{}1
83.022 /CMEX10 rf /Fe 255[55{}1 66.4176 /CMSY8 rf /Ff
139[25 5[43 4[24 35[52 69[{}4 66.4176 /CMMI8 rf /Fg 194[55
6[35 35 35 35 35 35 35 4[55 43[{}9 66.4176 /CMR8 rf /Fh
134[48 55 1[47 56 35 3[49 1[58 1[29 2[33 3[45 3[51 27[72
3[73 3[49 1[27 27 58[{}16 99.6264 /CMMI12 rf /Fi 133[40
47 45 65 45 52 32 40 41 45 50 50 55 80 25 45 30 30 50
45 30 45 50 45 45 50 9[97 72 72 70 55 71 1[66 75 72 87
61 1[51 38 72 75 64 66 1[70 69 72 6[30 7[50 50 2[30 35
30 75 30[55 12[{}54 99.6264 /CMTI12 rf /Fj 133[60 71
71 97 71 75 52 53 55 1[75 67 75 112 37 2[37 75 67 41
61 75 60 75 65 12[94 75 100 1[92 1[105 1[81 1[69 50 105
4[97 96 102 6[37 67 67 67 67 67 67 67 67 67 67 1[37 45
37 105 30[75 12[{}51 119.552 /CMBX12 rf /Fk 205[66 100
28[77 2[77 1[50 12[77 28 77{}8 99.6264 /CMSY10 rf /Fl
165[60 73 73 100 73 73 70 54 72 1[66 76 73 89 61 76 50
35 73 77 64 66 75 70 69 73 7[49 49 49 49 49 49 49 49
49 49 1[27 33 27 44[{}38 99.6264 /CMSL12 rf /Fm 133[72
85 85 117 85 90 63 64 66 1[90 81 90 134 45 85 49 45 90
81 49 74 90 72 90 78 6[99 2[167 122 124 112 90 120 1[110
121 126 153 97 126 83 60 126 127 101 106 124 117 115
122 1[76 5[81 81 81 81 81 81 81 81 81 81 1[45 54 45 31[90
94 11[{}64 143.462 /CMBX12 rf /Fn 134[59 59 81 59 62
44 44 46 1[62 56 62 93 31 59 34 31 62 56 34 51 62 50
62 54 9[116 1[86 78 62 84 1[77 84 88 106 2[58 42 88 88
70 74 86 81 80 85 6[31 56 56 56 56 56 56 56 56 56 56
56 31 46[{}56 99.6264 /CMBX12 rf /Fo 134[123 123 168
123 129 90 92 95 1[129 116 129 194 65 123 71 65 129 116
71 106 129 103 129 113 9[240 1[179 162 129 173 1[159
175 182 220 2[120 87 182 183 146 153 1[168 165 175 7[116
116 116 116 116 116 116 116 116 116 1[65 46[{}53 206.559
/CMBX12 rf /Fp 129[51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51
51 51 51 51 51 51 51 51 51 51 33[{}94 99.6264 /CMTT12
rf /Fq 132[49 43 51 51 70 51 54 38 38 38 51 54 49 54
81 27 51 30 27 54 49 30 43 54 43 54 49 3[27 49 27 60
73 73 100 73 73 70 54 72 76 66 76 73 89 61 76 50 35 73
77 64 66 75 70 69 73 1[46 1[76 1[27 27 49 49 49 49 49
49 49 49 49 49 49 27 33 27 76 1[38 38 27 4[49 19[81 54
54 57 11[{}83 99.6264 /CMR12 rf /Fr 137[70 3[51 2[66
73 111 3[36 1[66 5[66 16[90 5[68 74[{}10 143.462 /CMR17
rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
a4
%%EndPaperSize
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 118 364 a Fr(Programming)42 b(in)h(Ja)l(v)-7
b(a)118 1044 y Fq(b)m(y)118 1165 y(Willi-Hans)33 b(Steeb)118
1285 y(In)m(ternational)g(Sc)m(ho)s(ol)g(for)f(Scien)m(ti\014c)j
(Computing)118 1406 y(email)e(address)h(of)e(the)h(author:)118
1634 y Fp(steebwilli@gmail.com)118 1862 y Fq(and)118
1983 y(Y)-8 b(oric)m(k)34 b(Hardy)118 2103 y(In)m(ternational)f(Sc)m
(ho)s(ol)g(for)f(Scien)m(ti\014c)j(Computing)118 2223
y(email)e(address)h(of)e(the)h(author:)118 2452 y Fp
(yorickhardy@gmail.com)118 2680 y Fq(W)-8 b(eb)33 b(page:)118
2908 y Fp(http://issc.uj.ac.za)p eop end
%%Page: 1 2
TeXDict begin 1 1 bop 118 1032 a Fo(Con)-6 b(ten)g(ts)118
1589 y Fn(1)90 b(In)m(tro)s(duction)2721 b(1)264 1714
y Fq(1.1)100 b(Wh)m(y)34 b(Ja)m(v)-5 b(a)32 b(?)72 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)132
b(1)264 1839 y(1.2)100 b(Aim)33 b(of)f(Ob)5 b(ject-Orien)m(ted)34
b(Programming)99 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)132 b(2)489 1964 y(1.2.1)111 b(Information)32
b(Hiding)60 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)132 b(3)489 2088
y(1.2.2)111 b(Inheritance)95 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)132 b(3)489 2213 y(1.2.3)111 b(P)m(olymorphism)37
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)132 b(4)489 2338
y(1.2.4)111 b(Built-In)33 b(Classes)53 b(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)132 b(4)489 2463 y(1.2.5)111 b(Ja)m(v)-5 b(a)32 b(Compared)i(T)-8
b(o)33 b(C++)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)132 b(5)264 2587 y(1.3)100
b(Iden)m(ti\014ers)35 b(and)d(Keyw)m(ords)j(in)d(Ja)m(v)-5
b(a)100 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)132 b(6)118 2813 y Fn(2)90 b(Ja)m(v)-6
b(a)38 b(Basics)2781 b(7)264 2937 y Fq(2.1)100 b(My)33
b(First)g(Ja)m(v)-5 b(a)32 b(Program)i(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)132 b(7)264 3062 y(2.2)100 b(My)33 b(First)g(Applet)e(.)50
b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)132 b(9)264
3187 y(2.3)100 b(Basic)33 b(Data)f(T)m(yp)s(es)50 b(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)84 b(11)264 3312 y(2.4)100 b(Arithmetic)34
b(Op)s(erations)73 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(16)264 3436 y(2.5)100 b(Unico)s(de,)33 b(ASCI)s(I)h(T)-8
b(able,)33 b(and)g(T)m(yp)s(es)h(Con)m(v)m(ersion)86
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(18)264 3561 y(2.6)100 b(Precedence)35 b(T)-8 b(able)68
b(.)50 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(20)264
3686 y(2.7)100 b(Arra)m(ys)62 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(22)264 3811 y(2.8)100
b(Con)m(trol)33 b(Statemen)m(ts)57 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)
g(.)g(.)84 b(29)489 3935 y(2.8.1)111 b(In)m(tro)s(duction)40
b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(29)489
4060 y(2.8.2)111 b(The)33 b(if)g(Statemen)m(t)78 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(30)489 4185 y(2.8.3)111
b(The)33 b(for)g(Lo)s(op,)f(while)h(Lo)s(op,)f(do-while)h(Lo)s(op)43
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(31)489 4310 y(2.8.4)111 b(The)33 b(switc)m(h)i(Statemen)m(t)97
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)84 b(35)264 4434 y(2.9)100 b(Logical)32
b(AND,)h(Logical)f(OR)g(and)h(Logical)f(NOT)80 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(38)264 4559 y(2.10)51 b(Bit)m(wise)34 b(Op)s(erations)73
b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(40)264
4684 y(2.11)51 b(Shift)33 b(Op)s(erations)26 b(.)50 b(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(42)264 4809 y(2.12)51
b(P)m(ass)34 b(b)m(y)f(V)-8 b(alue,)33 b(P)m(ass)h(b)m(y)g(Reference)78
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)84 b(43)264 4933 y(2.13)51 b(Recursion)82
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(48)264 5058 y(2.14)51 b(Jump)33 b(Statemen)m(ts)63
b(.)50 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(51)264
5183 y(2.15)51 b(Reading)32 b(from)h(Keyb)s(oard)87 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(54)264 5308 y(2.16)51
b(Command)33 b(Line)g(Argumen)m(ts)38 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(56)264 5432 y(2.17)51 b(System)34 b(Class)93 b(.)50
b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(57)264 5557 y(2.18)51 b(Assertions)64 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(61)264 5682 y(2.19)51
b(Applets)34 b(and)e(HTML)i(P)m(arameters)66 b(.)50 b(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(62)1875 5765 y(i)p eop end
%%Page: 2 3
TeXDict begin 2 2 bop 118 364 a Fn(3)90 b(String)38 b(Manipulations)
2244 b(64)264 487 y Fq(3.1)100 b(String)32 b(Class)63
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(64)264 610 y(3.2)100 b(StringT)-8 b(ok)m(enizer)35
b(Class)i(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(69)264
733 y(3.3)100 b(StringBu\013er)33 b(Class)f(.)50 b(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)84 b(72)118 956 y Fn(4)90 b(Classes)39
b(and)g(Ob)6 b(jects)2302 b(73)264 1079 y Fq(4.1)100
b(In)m(tro)s(duction)44 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)84 b(73)264 1202 y(4.2)100 b(W)-8 b(rapp)s(er)33
b(Classes)101 b(.)50 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(75)264 1325 y(4.3)100 b(V)-8 b(ector)33 b(Class)46
b(.)k(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(78)264 1448 y(4.4)100 b(Math)33 b(Class)92 b(.)50 b(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(80)264 1571
y(4.5)100 b(BitSet)33 b(Class)53 b(.)d(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)84 b(82)264 1694 y(4.6)100 b(BigIn)m(teger)33
b(and)g(BigDecimal)g(Class)90 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(83)264
1817 y(4.7)100 b(Ob)5 b(ject)33 b(Class)g(.)50 b(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(85)264 1940 y(4.8)100
b(The)33 b(this)h(Ob)5 b(ject)51 b(.)f(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)84 b(88)264 2063 y(4.9)100 b(The)33 b(Class)h(Class)53
b(.)d(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84
b(91)264 2186 y(4.10)51 b(The)33 b(Calendar)h(Class)45
b(.)k(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(93)264
2309 y(4.11)51 b(Destro)m(ying)33 b(Ob)5 b(jects)66 b(.)49
b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)84 b(97)264 2432
y(4.12)51 b(Regular)32 b(Expression)63 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)84 b(98)264 2555 y(4.13)51 b(The)33 b(Byteco)s(de)h(F)-8
b(ormat)100 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(103)118
2777 y Fn(5)90 b(Inheritance)38 b(and)h(Abstract)e(Classes)1601
b(114)264 2900 y Fq(5.1)100 b(In)m(tro)s(duction)44 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(114)264 3023 y(5.2)100 b(Abstract)33 b(Class)28 b(.)50
b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(115)264 3146 y(5.3)100 b(Inheritance)f(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(117)264 3269 y(5.4)100
b(Comp)s(osition)38 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)35 b(120)264 3392 y(5.5)100 b(Constructors)30
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(123)264 3515 y(5.6)100 b(Inner)33 b(Classes)94 b(.)50
b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(129)264 3638 y(5.7)100 b(In)m(terfaces)92 b(.)50 b(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(131)118 3860
y Fn(6)90 b(The)38 b(GUI)f(and)i(its)e(Comp)s(onen)m(ts)1760
b(132)264 3983 y Fq(6.1)100 b(In)m(tro)s(duction)44 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(132)264 4106 y(6.2)100 b(Class)34 b(Comp)s(onen)m(t)f(and)g(Class)h
(Con)m(tainer)85 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)35 b(135)264 4229 y(6.3)100 b(ActionListener)34
b(and)f(ActionEv)m(en)m(t)43 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(139)264
4352 y(6.4)100 b(Class)34 b(P)m(anel)85 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(141)264 4475 y(6.5)100
b(Mouse)34 b(Listener)f(and)g(Mouse)h(Ev)m(en)m(t)75
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)35 b(148)264 4598 y(6.6)100 b(Class)34 b(Graphics)95
b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(153)264 4721 y(6.7)100 b(Graphics2D)32 b(Class)50 b(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(157)264 4844 y(6.8)100
b(Color)32 b(Class)90 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)35 b(162)264 4967 y(6.9)100 b(Class)34 b(Image)64
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(166)264 5090 y(6.10)51 b(Class)34 b(T)-8 b(o)s(olkit)92
b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(170)118 5313 y Fn(7)90 b(Exception)38 b(Handling)2253
b(173)264 5436 y Fq(7.1)100 b(In)m(tro)s(duction)44 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(173)264 5559 y(7.2)100 b(The)33 b(Exception)i(Class)79
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(174)264
5682 y(7.3)100 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)35 b(175)1861 5765 y(ii)p eop
end
%%Page: 3 4
TeXDict begin 3 3 bop 118 364 a Fn(8)90 b(File)39 b(Manipulations)2305
b(179)264 490 y Fq(8.1)100 b(In)m(tro)s(duction)44 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(179)264 616 y(8.2)100 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(182)264 742 y(8.3)100
b(FileReader)33 b(and)g(FileW)-8 b(riter)72 b(.)50 b(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)35 b(194)264 868 y(8.4)100 b(File)33 b(Class)84 b(.)50
b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(197)264 994 y(8.5)100 b(Serialization)52 b(.)e(.)g(.)g(.)g(.)f(.)h(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(203)264 1120 y(8.6)100
b(GZIP)32 b(and)h(ZIP)f(Compression)75 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(211)264 1246 y(8.7)100 b(JPEG)33 b(Files)86 b(.)50
b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(216)264 1372 y(8.8)100 b(In)m(ternationalization)46
b(.)j(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(218)264
1498 y(8.9)100 b(Lo)s(c)m(king)33 b(Files)g(for)f(Shared)h(Access)72
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)35 b(222)264 1624 y(8.10)51 b(Securit)m(y)34
b(API,)f(Signature)g(and)g(DSA)f(Algorithm)49 b(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(224)118 1851 y Fn(9)90
b(Threads)2829 b(228)264 1977 y Fq(9.1)100 b(In)m(tro)s(duction)44
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(228)264 2103 y(9.2)100 b(Thread)33 b(Class)91 b(.)50
b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(230)264 2229 y(9.3)100 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(232)264 2355 y(9.4)100
b(Priorities)32 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)35 b(237)264 2481 y(9.5)100 b(Sync)m(hronization)34
b(and)f(Lo)s(c)m(ks)45 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(240)264 2607 y(9.6)100 b(Pro)s(ducer)33 b(Consumer)h(Problem)29
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)35 b(245)264 2733 y(9.7)100 b(Deadlo)s(c)m(k)32
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(248)118 2960 y Fn(10)f(Animation)2708 b(250)264 3086
y Fq(10.1)51 b(In)m(tro)s(duction)44 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(250)264 3212 y(10.2)51
b(Image)33 b(Class)h(and)e(Animation)82 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(252)264 3338 y(10.3)51 b(AudioClip)34 b(Class)40 b(.)50
b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(261)118
3565 y Fn(11)f(Net)m(w)m(orking)2658 b(266)264 3691 y
Fq(11.1)51 b(In)m(tro)s(duction)44 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)35 b(266)264 3817 y(11.2)51 b(Addresses)81
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(269)264 3943 y(11.3)51 b(P)m(orts)43 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(273)264
4069 y(11.4)51 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)35 b(275)264 4195 y(11.5)51 b(URL)32
b(Class)40 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)35 b(279)264 4321 y(11.6)51 b(So)s(c)m(k)m(et)34
b(Class)46 b(.)k(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(282)264 4447 y(11.7)51 b(Clien)m(t-Serv)m(er)35 b(Application)d(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(284)264 4573 y(11.8)51
b(Remote)33 b(Metho)s(d)g(In)m(v)m(o)s(cation)101 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)35 b(292)264 4699 y(11.9)51 b(So)s(c)m(k)m
(etChannel)35 b(and)e(Serv)m(erSo)s(c)m(k)m(etChannel)66
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(301)118 4926 y Fn(12)f(Ja)m(v)-6 b(a)38 b(2)g(Collection)f(F)-9
b(rame)39 b(W)-9 b(ork)1736 b(306)264 5052 y Fq(12.1)51
b(In)m(tro)s(duction)44 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)35 b(306)264 5178 y(12.2)51 b(Collection)33
b(and)g(Collections)77 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(309)264 5304 y(12.3)51 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(311)264 5430 y(12.4)51
b(Arra)m(ys)33 b(Class)38 b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)35 b(313)264 5556 y(12.5)51 b(Class)34
b(T)-8 b(reeSet)77 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)35 b(317)264 5682 y(12.6)51 b(Class)34 b(T)-8 b(reeMap)97
b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(321)1847 5765 y(iii)p eop end
%%Page: 4 5
TeXDict begin 4 4 bop 118 364 a Fn(13)34 b(The)k(Swing)g(Comp)s(onen)m
(ts)2056 b(323)264 485 y Fq(13.1)51 b(In)m(tro)s(duction)44
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(323)264 605 y(13.2)51 b(Examples)91 b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(326)264 725 y(13.3)51
b(Adding)33 b(Actions)g(to)g(Con)m(tainers)70 b(.)50
b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)35 b(328)264 846 y(13.4)51 b(Button)32
b(Game)70 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(333)264 966 y(13.5)51 b(Editable)33 b(T)-8 b(ext\014elds)84
b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(336)264
1087 y(13.6)51 b(Do)s(cumen)m(t)33 b(and)g(JT)-8 b(extP)m(ane)34
b(Classes)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)f(.)h(.)g(.)g(.)g(.)35 b(338)264 1207 y(13.7)51 b(Mo)s(del-View-Con)
m(troller)64 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(341)264 1327 y(13.8)51 b(JT)-8 b(ree)33 b(Class)86
b(.)50 b(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)
h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(345)264 1448 y(13.9)51 b(Class)34 b(JEditorP)m(ane)98
b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(350)264
1568 y(13.10)r(Prin)m(ting)e(in)g(Ja)m(v)-5 b(a)43 b(.)50
b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(353)118
1786 y Fn(14)f(Ja)m(v)-6 b(a)38 b(Beans)2681 b(356)264
1906 y Fq(14.1)51 b(In)m(tro)s(duction)44 b(.)50 b(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(356)264 2027 y(14.2)51
b(Example)h(.)e(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)35 b(358)264 2147 y(14.3)51 b(Ja)m(v)-5 b(aBeans)56
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(360)489 2268 y(14.3.1)62 b(Creating)33 b(a)f(Ja)m(v)-5
b(aBean:)44 b(NetBeans)53 b(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)f(.)h(.)g(.)g(.)g(.)35 b(360)489 2388 y(14.3.2)62
b(Adding)33 b(a)f(Ja)m(v)-5 b(aBean)33 b(JAR:)g(NetBeans)46
b(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(361)489 2508 y(14.3.3)62 b(Simple)34 b(prop)s(erties)58
b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(361)489 2629 y(14.3.4)62
b(Simple)34 b(prop)s(erties)58 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f
(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(361)489 2749 y(14.3.5)62 b(Beans)33 b(should)h(b)s(e)f(serializable)
71 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g
(.)g(.)g(.)35 b(362)489 2869 y(14.3.6)62 b(Creating)33
b(a)f(JAR)h(\014le)g(for)f(Ja)m(v)-5 b(aBeans)35 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35
b(362)489 2990 y(14.3.7)62 b(In)m(trosp)s(ection)89 b(.)50
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(363)489 3110
y(14.3.8)62 b(Bound)33 b(prop)s(erties)65 b(.)50 b(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)
g(.)35 b(364)489 3231 y(14.3.9)62 b(Constrained)34 b(prop)s(erties)61
b(.)50 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
f(.)h(.)g(.)g(.)g(.)35 b(366)489 3351 y(14.3.10)13 b(Indexed)34
b(prop)s(erties)87 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)35 b(369)118
3569 y Fn(15)f(Additions)k(to)f(JSE)g(1.5)h(and)g(1.6)1803
b(374)118 3787 y(16)34 b(Resources)k(and)g(W)-9 b(eb)38
b(Sites)1994 b(383)118 4005 y(Bibliograph)m(y)2745 b(385)118
4223 y(Index)3096 b(385)1849 5765 y Fq(iv)p eop end
%%Page: 5 6
TeXDict begin 5 5 bop 118 408 a Fo(Preface)118 811 y
Fq(Besides)38 b(C++)e(Ja)m(v)-5 b(a)36 b(is)h(no)m(w)g(the)f(most)h
(widely)g(a)m(v)-5 b(ailable)37 b(and)f(used)h(ob)5 b(ject-orien)m(ted)
38 b(pro-)118 931 y(gramming)45 b(language.)79 b(It)45
b(is)g(a)f(v)m(ery)j(useful)e(language)g(that)f(is)h(successfully)j
(utilized)e(b)m(y)118 1052 y(man)m(y)32 b(programmers)f(in)g(man)m(y)h
(application)f(areas.)43 b(It)30 b(is)i(a)e(reasonably)i(carefully)f
(though)m(t-)118 1172 y(out)25 b(language)h(where)h(the)e(design)i(is)f
(based)g(partly)g(on)g(ac)m(kno)m(wledged)i(principles)f(and)f(partly)
118 1292 y(on)f(solid)h(exp)s(erience)i(and)d(feedbac)m(k)i(from)e
(actual)h(use.)42 b(Ja)m(v)-5 b(a)25 b(is)h(a)f(p)s(o)m(w)m(erful)h
(but)g(lean)g(ob)5 b(ject-)118 1413 y(orien)m(ted)29
b(programming)g(language.)42 b(It)28 b(mak)m(es)i(it)e(p)s(ossible)h
(to)f(program)g(for)g(the)h(In)m(ternet)g(b)m(y)118 1533
y(creating)34 b(applets,)g(i.e.)46 b(programs)34 b(that)f(can)g(b)s(e)h
(em)m(b)s(edded)h(in)f(a)f(w)m(eb)h(page.)46 b(F)-8 b(or)32
b(example,)118 1654 y(an)40 b(applet)h(can)g(b)s(e)g(an)f(animation)h
(with)g(sound,)i(an)e(in)m(teractiv)m(e)h(game,)h(or)d(a)g(tic)m(k)m
(er)i(tap)s(e)118 1774 y(with)c(constan)m(tly)h(up)s(dated)e(sto)s(c)m
(k)h(prices.)59 b(Ho)m(w)m(ev)m(er)40 b(Ja)m(v)-5 b(a)37
b(is)g(more)h(than)f(a)g(programming)118 1894 y(language)26
b(for)g(writing)h(applets.)42 b(It)26 b(also)g(can)h(b)s(e)f(used)i
(for)d(writing)i(standalone)g(applications.)118 2015
y(It)g(seems)i(it)d(is)i(b)s(ecoming)f(the)g(standard)h(language)e(for)
h(b)s(oth)f(general-purp)s(ose)i(and)f(In)m(ternet)118
2135 y(programming.)42 b(Ja)m(v)-5 b(a)26 b(is)i(close)f(to)g(C++.)41
b(It)27 b(has)g(tak)m(en)h(man)m(y)g(features)f(of)g(C++,)h(but)f
(unfor-)118 2256 y(tunately)38 b(discarded)h(some)e(of)g(them,)i(for)d
(example)j(templates)f(and)f(m)m(ultiple)i(inheritence.)118
2376 y(T)-8 b(o)29 b(this)h(lean)f(core)g(it)g(has)g(added)h(garbage)e
(collection)i(\(automatic)f(memory)h(managemen)m(t\),)118
2496 y(m)m(ultithreading)e(\(the)e(capacit)m(y)i(for)d(one)i(program)f
(to)g(do)g(more)g(than)h(one)f(task)h(at)f(the)g(time\),)118
2617 y(and)j(securit)m(y)i(capabilities.)43 b(Ja)m(v)-5
b(a)29 b(is)g(a)g(platform)f(consisting)i(of)f(three)g(comp)s(onen)m
(ts:)43 b(\(1\))29 b(the)118 2737 y(Ja)m(v)-5 b(a)30
b(programming)g(language,)g(\(2\))f(the)i(Ja)m(v)-5 b(a)29
b(library)i(of)e(classes)j(and)e(in)m(terfaces)h(\(Ja)m(v)-5
b(a)30 b(has)118 2857 y(a)f(h)m(uge)h(n)m(um)m(b)s(er)g(of)f(built-in)g
(classes)i(and)e(in)m(terfaces\),)i(and)e(\(3\))g(the)g(Ja)m(v)-5
b(a)29 b(Virtual)g(Mac)m(hine.)118 3126 y(One)45 b(of)f(the)h(biggest)h
(adv)-5 b(an)m(tages)45 b(Ja)m(v)-5 b(a)44 b(o\013ers)i(is)f(that)f(it)
h(is)g(p)s(ortable.)80 b(An)45 b(application)118 3246
y(written)32 b(in)g(Ja)m(v)-5 b(a)31 b(will)h(run)f(on)g(all)g
(platforms.)44 b(An)m(y)32 b(computer)g(with)g(a)f(Ja)m(v)-5
b(a-based)32 b(bro)m(wser)118 3367 y(can)48 b(run)g(the)g(applications)
h(or)e(applets)i(written)g(in)f(the)g(Ja)m(v)-5 b(a)47
b(programming)h(language.)118 3487 y(The)32 b(Ja)m(v)-5
b(a)31 b(Virtual)g(Mac)m(hine)i(\(JVM\))e(is)h(what)f(giv)m(es)i(Ja)m
(v)-5 b(a)31 b(its)g(cross-platform)h(capabilities.)118
3608 y(The)39 b(Ja)m(v)-5 b(a)39 b(\014le)g(is)g(not)f(compiled)i(in)m
(to)e(a)g(mac)m(hine)i(language,)g(whic)m(h)g(is)f(di\013eren)m(t)g
(for)f(eac)m(h)118 3728 y(op)s(erating)d(system)i(and)e(computer)h(arc)
m(hitecture,)h(Ja)m(v)-5 b(a)35 b(co)s(de)h(is)f(compiled)i(in)m(to)e
(b)m(yte-co)s(de)118 3848 y(\(platform)d(indep)s(enden)m(t\).)118
4117 y(The)43 b(Ja)m(v)-5 b(a)41 b(programming)g(language)h(is)g(ob)5
b(ject-orien)m(ted,)45 b(whic)m(h)e(mak)m(es)g(program)e(design)118
4237 y(fo)s(cus)27 b(on)g(what)g(w)m(e)g(are)g(dealing)g(with)g(rather)
g(than)g(on)f(ho)m(w)h(w)m(e)h(are)f(going)f(to)g(do)h(something.)118
4358 y(Ob)5 b(ject-orien)m(ted)36 b(languages)f(use)h(the)f(paradigm)g
(of)f(classes.)51 b(A)35 b(class)h(is)f(an)f(abstract)h(data)118
4478 y(t)m(yp)s(e)e(\(ADT\).)e(A)h(class)g(includes)i(b)s(oth)d(data)g
(and)h(the)g(metho)s(ds)g(\(functions\))g(to)g(op)s(erate)f(on)118
4598 y(that)f(data.)42 b(W)-8 b(e)31 b(can)f(create)h(an)f(instance)i
(of)d(class,)j(also)f(called)g(an)f(ob)5 b(ject,)31 b(whic)m(h)h(will)f
(ha)m(v)m(e)118 4719 y(all)j(the)h(data)f(mem)m(b)s(ers)i(and)f
(functionalit)m(y)g(of)f(its)h(class.)50 b(The)36 b(class)f(paradigm)f
(allo)m(ws)i(one)118 4839 y(to)28 b(encapsulate)i(data)e(so)h(that)f
(sp)s(eci\014c)i(data)e(v)-5 b(alues)30 b(or)e(metho)s(ds)h(implemen)m
(tations)i(cannot)118 4960 y(b)s(e)j(seen)h(b)m(y)g(those)g(using)f
(the)g(class.)49 b(Encapsulation)35 b(mak)m(es)g(it)f(p)s(ossible)h(to)
f(mak)m(e)h(c)m(hanges)118 5080 y(in)43 b(co)s(de)g(without)g(breaking)
h(other)e(programs)h(that)g(use)g(that)g(co)s(de.)74
b(Ja)m(v)-5 b(a)42 b(also)h(includes)118 5200 y(inheritance,)36
b(this)f(means)g(the)g(abilit)m(y)g(to)f(deriv)m(e)i(new)f(classes)h
(from)e(existing)i(classes.)50 b(The)118 5321 y(deriv)m(ed)28
b(class,)h(also)d(called)i(a)e(sub)s(class,)j(inherits)f(all)e(the)h
(data)e(and)i(metho)s(ds)g(of)f(the)h(existing)118 5441
y(class,)i(referred)e(to)g(as)f(the)h(paren)m(t)g(class.)43
b(A)27 b(sub)s(class)h(can)f(add)f(new)i(data)e(mem)m(b)s(ers)i(to)e
(those)118 5561 y(inherited)k(from)e(the)h(paren)m(t)g(class.)43
b(With)29 b(resp)s(ect)g(to)f(metho)s(ds)i(the)e(sub)s(class)i(can)f
(reuse)h(the)118 5682 y(inherited)k(metho)s(ds)f(as)g(is,)g(c)m(hange)h
(them,)f(and/or)f(add)h(its)g(o)m(wn)g(new)h(metho)s(d.)1862
5765 y(v)p eop end
%%Page: 6 7
TeXDict begin 6 6 bop 118 485 a Fq(Ja)m(v)-5 b(a)42 b(includes)i(a)e(h)
m(uge)h(n)m(um)m(b)s(er)h(of)d(built-in)i(classes)h(and)e(in)m
(terfaces.)74 b(The)43 b(programmer)118 605 y(can)35
b(use)i(already)e(existing)i(class)f(as)f(is,)i(create)e(sub)s(classes)
j(to)d(mo)s(dify)g(existing)i(classes,)g(or)118 725 y(implemen)m(t)e
(in)m(terfaces)f(to)e(augmen)m(t)h(the)g(capabilities)h(of)e(classes.)
118 966 y(In)27 b(c)m(hapter)g(2)f(w)m(e)h(giv)m(e)g(the)g(basic)g
(concepts)h(in)e(Ja)m(v)-5 b(a.)41 b(The)28 b(giv)m(en)f(programs)f
(are)g(v)m(ery)i(helpful)118 1087 y(for)j(the)g(b)s(eginners.)44
b(They)33 b(are)e(also)g(the)g(building)h(blo)s(c)m(ks)h(for)d(more)h
(complex)i(applications.)118 1207 y(The)d(widely)h(used)g
Fp(String)g Fq(class)f(and)f(the)h(classes)h Fp(StringTokenizer)j
Fq(and)29 b Fp(StringBuffer)118 1327 y Fq(are)49 b(in)m(tro)s(duced.)92
b(Chapter)49 b(3)f(is)h(dev)m(oted)h(to)e(classes)j(and)d(ob)5
b(jects.)93 b(F)-8 b(urthermore)49 b(the)118 1448 y(wrapp)s(er)37
b(classes,)i(the)d(con)m(tainer)h(class)g Fp(Vector)p
Fq(,)i(the)d(class)h Fp(Math)g Fq(for)f(doing)g(mathematics)118
1568 y(and)c(the)g(BigIn)m(teger)h(and)f(BigDecimal)h(classes)g(are)f
(in)m(tro)s(duced.)45 b(The)33 b Fp(Object)g Fq(class)g(is)g(the)118
1688 y(ancestor)e(of)e(all)h(classes)i(and)e(discussed)i(in)e(detail)h
(in)f(section)h(3.6.)42 b(Finally)30 b(the)g Fp(this)h
Fq(ob)5 b(ject)118 1809 y(is)37 b(explained)i(in)e(detail.)56
b(Chapter)37 b(4)g(deals)g(with)g(inheritance)i(and)d(abstract)h
(classes.)58 b(The)118 1929 y(graphical)35 b(user)h(in)m(terface)g
(\(GUI\))e(is)i(discussed)h(in)e(c)m(hapter)h(5)f(and)g(a)f(n)m(um)m(b)
s(er)j(of)d(examples)118 2050 y(are)47 b(pro)m(vided.)88
b(Chapter)47 b(6)g(in)m(tro)s(duces)h(exception)h(handling.)87
b(File)47 b(manipulations)h(for)118 2170 y(reading)g(from)f(\014le)h
(and)f(writing)h(to)f(\014les)i(are)e(in)m(tro)s(duced)i(in)e(c)m
(hapter)i(7.)87 b(Ja)m(v)-5 b(a)48 b(is)g(able)118 2290
y(to)f(pro)s(duce)g(m)m(ulti-threaded)h(applications,)k(whic)m(h)c
(often)f(form)g(a)f(part)h(of)f(applications)118 2411
y(including)29 b(animations.)42 b(Threads)29 b(are)f(discussed)i(in)e
(c)m(hapter)h(8)e(and)h(application)g(of)f(threads)118
2531 y(in)k(animation)f(are)g(giv)m(en)i(in)e(c)m(hapter)h(9.)43
b(An)30 b(in)m(tro)s(duction)h(in)m(to)g(net)m(w)m(orking)h(together)e
(with)118 2652 y(a)41 b(n)m(um)m(b)s(er)i(of)e(programs)g(is)h(giv)m
(en)g(in)g(c)m(hapter)g(10.)69 b(Chapters)43 b(11)e(and)g(12)g(deal)h
(with)g(the)118 2772 y(additions)37 b(to)e(Ja)m(v)-5
b(a)36 b(for)f(the)i(v)m(ersion)g(1.2.)53 b(Finally)36
b(c)m(hapter)h(13)e(lists)i(imp)s(ortan)m(t)f(W)-8 b(eb)37
b(sites)118 2892 y(for)32 b(Ja)m(v)-5 b(a,)33 b(Ja)m(v)-5
b(aScript)33 b(and)g(HTML.)118 3133 y(The)41 b(lev)m(el)h(of)d(presen)m
(tation)j(is)e(suc)m(h)i(that)e(one)g(can)g(study)h(the)g(sub)5
b(ject)42 b(early)e(on)g(in)g(ones)118 3253 y(education)33
b(in)f(programming.)43 b(There)33 b(is)f(a)g(balance)g(b)s(et)m(w)m
(een)i(practical)e(programming)g(and)118 3374 y(the)h(underlying)h
(language.)43 b(The)33 b(b)s(o)s(ok)f(is)h(ideally)h(suited)f(for)f
(use)i(in)e(lectures)i(on)f(Ja)m(v)-5 b(a)32 b(and)118
3494 y(ob)5 b(ject-orien)m(ted)40 b(programming.)61 b(The)39
b(b)s(eginner)h(will)f(also)f(b)s(ene\014t)h(from)g(the)f(b)s(o)s(ok.)
61 b(The)118 3615 y(reference)45 b(list)f(giv)m(es)h(a)e(collection)i
(of)e(textb)s(o)s(oks)h(useful)h(in)e(the)h(study)h(of)e(the)h
(computer)118 3735 y(language)d(Ja)m(v)-5 b(a.)68 b(There)42
b(are)f(a)f(n)m(um)m(b)s(er)i(of)f(go)s(o)s(d)e(textb)s(o)s(oks)j(for)e
(Ja)m(v)-5 b(a)41 b(a)m(v)-5 b(ailable)41 b([1],)i([2].)118
3855 y(F)-8 b(or)36 b(applications)h(of)f(Ja)m(v)-5 b(a)36
b(in)g(science)j(w)m(e)e(refer)g(to)f(W.-H.)g(Steeb)h(et)g(al)f([6])g
(and)h(Steeb)g([5].)118 3976 y(Comprehensiv)m(e)f(in)m(tro)s(ductions)e
(in)m(to)f(Ja)m(v)-5 b(aScript)33 b(are)f(giv)m(en)i(b)m(y)g([3)o(])f
(and)g([4].)1849 5765 y(vi)p eop end
%%Page: 7 8
TeXDict begin 7 7 bop 118 364 a Fq(Without)37 b(doubt,)g(this)g(b)s(o)s
(ok)f(can)h(b)s(e)f(extended.)57 b(If)36 b(y)m(ou)h(ha)m(v)m(e)g
(commen)m(ts)i(or)c(suggestions,)118 485 y(w)m(e)f(w)m(ould)f(b)s(e)g
(pleased)h(to)e(ha)m(v)m(e)i(them.)44 b(The)34 b(email)f(addresses)i
(of)d(the)h(author)f(are:)118 713 y Fp(whsteeb@uj.ac.za)118
833 y(steebwilli@gmail.com)118 1062 y Fq(The)i(w)m(eb)f(site)h(of)e
(the)h(authors)g(is)118 1290 y Fp(http://issc.uj.ac.za)1835
5765 y Fq(vii)p eop end
%%Page: 1 9
TeXDict begin 1 8 bop 118 1028 a Fo(Chapter)78 b(1)118
1444 y(In)-6 b(tro)6 b(duction)118 1958 y Fm(1.1)161
b(Wh)l(y)53 b(Ja)l(v)-9 b(a)54 b(?)118 2177 y Fq(Ja)m(v)-5
b(a)31 b(is)g(a)f(platform-indep)s(enden)m(t)i(ob)5 b(ject-orien)m
(ted,)33 b(m)m(ulti-threading)e(dynamically-link)m(ed)118
2298 y(programming)e(language.)42 b(Ja)m(v)-5 b(a)29
b(w)m(as)h(dev)m(elop)s(ed)h(b)m(y)e(Sun)h(MicroSystems)i(primarily)d
(for)g(the)118 2418 y(use)i(on)f(the)h(W)-8 b(orld-Wide-W)g(eb.)43
b(It)30 b(has)h(a)f(lot)f(in)i(common)f(with)h(C++.)43
b(With)31 b(Ja)m(v)-5 b(a)30 b(w)m(e)h(can)118 2538 y(pro)s(duce)i
(three)h(distinct)f(t)m(yp)s(es)h(of)f(programs,)f(applets,)i
(applications,)g(and)e(b)s(eans.)118 2779 y(Firstly)-8
b(,)40 b(Ja)m(v)-5 b(a)38 b(supp)s(orts)h(the)f(cen)m(tral)h(concepts)h
(of)d(ob)5 b(ject-orien)m(tated)40 b(programming:)54
b(en-)118 2900 y(capsulation,)c(inheritance)d(and)f(p)s(olymorphism)h
(\(including)g(dynamic)g(binding\).)84 b(It)46 b(has)118
3020 y(go)s(o)s(d)28 b(supp)s(ort)h(for)f(dynamic)i(memory)f(managemen)
m(t)h(and)f(supp)s(orts)h(b)s(oth,)f(pro)s(cedural)g(and)118
3140 y(ob)5 b(ject-orien)m(tated)34 b(programming.)118
3381 y(Ho)m(w)m(ev)m(er,)i(other)e(w)m(ell-designed)i(programming)d
(languages)h(ha)m(v)m(e)h(failed)f(against)f(relativ)m(ely)118
3502 y(p)s(o)s(or)43 b(comp)s(etitors.)77 b(Being)44
b(a)g(go)s(o)s(d)e(programming)i(language)f(is)i(not)e(su\016cien)m(t)j
(for)d(sur-)118 3622 y(viv)-5 b(al.)56 b(An)37 b(additional)g(imp)s
(ortan)m(t)f(requiremen)m(t)j(for)e(a)f(p)s(o)m(w)m(erful)i
(programming)e(language)118 3742 y(is)c(p)s(ortabilit)m(y)-8
b(.)44 b(If)31 b(a)h(\014rm)g(replaces)h(one)f(computer)g(system)i
(with)e(another,)g(only)g(a)f(minimal)118 3863 y(amoun)m(t)40
b(of)f(recording)h(\(if)f(an)m(y\))h(should)h(b)s(e)e(required.)66
b(Ja)m(v)-5 b(a)39 b(compilers)i(are)f(a)m(v)-5 b(ailable)40
b(for)118 3983 y(virtually)d(all)e(mac)m(hines)i(and)f(a)f(high)h(lev)m
(el)h(of)d(compatibilit)m(y)j(is)f(ensured)h(b)m(y)g(the)f(standard)118
4103 y(for)c(Ja)m(v)-5 b(a.)118 4344 y(All)37 b(these)h(p)s(oin)m(ts)f
(ha)m(v)m(e)g(con)m(tributed)h(to)e(Ja)m(v)-5 b(a)37
b(b)s(eing)f(the)h(fastest)g(gro)m(wing)g(computer)h(lan-)118
4465 y(guage)44 b(for)g(nearly)i(all)e(computer)h(and)g(op)s(erating)f
(systems)j(and)d(for)g(nearly)i(all)e(soft)m(w)m(are)118
4585 y(applications,)34 b(ranging)f(from)g(scien)m(ti\014c)i(to)e
(administrativ)m(e)h(programs)g(to)e(real-time)h(indus-)118
4705 y(trial)f(applications)i(and)f(computer)g(games.)1864
5765 y(1)p eop end
%%Page: 2 10
TeXDict begin 2 9 bop 118 100 a Fq(2)2019 b Fl(CHAPTER)34
b(1.)76 b(INTR)m(ODUCTION)118 364 y Fm(1.2)161 b(Aim)54
b(of)g(Ob)9 b(ject-Orien)l(ted)50 b(Programming)118 583
y Fq(Ob)5 b(ject-orien)m(ted)34 b(programming)e(is)h(the)f(most)h
(dramatic)g(inno)m(v)-5 b(ation)32 b(in)h(soft)m(w)m(are)g(dev)m(elop-)
118 704 y(men)m(t)40 b(in)f(the)h(last)f(t)m(w)m(o)h(decades.)64
b(It)39 b(o\013ers)h(a)f(new)h(and)f(p)s(o)m(w)m(erful)h(w)m(a)m(y)g
(to)f(cop)s(e)g(with)h(the)118 824 y(complexit)m(y)e(of)e(programs.)54
b(Using)37 b(ob)5 b(ject-orien)m(ted)37 b(programming)f(w)m(e)h(can)f
(write)h(clearer,)118 944 y(more)45 b(reliable,)k(more)c(easily)h(main)
m(tained)g(programs.)81 b(In)m(tegrating)45 b(data)f(and)h(functions)
118 1065 y(\(metho)s(ds\))33 b(is)h(the)f(cen)m(tral)g(idea)g(of)f(ob)5
b(ject-orien)m(ted)34 b(programming.)118 1306 y(The)e(class)h(is)f(the)
f(foundation)h(of)e(Ja)m(v)-5 b(a's)32 b(supp)s(ort)g(for)f(ob)5
b(ject-orien)m(ted)32 b(programming,)g(and)118 1426 y(is)k(at)f(the)h
(core)f(of)g(man)m(y)h(of)f(its)h(adv)-5 b(anced)36 b(features.)52
b(The)37 b(class)f(pro)m(vides)h(the)f(mec)m(hanism)118
1546 y(b)m(y)h(whic)m(h)h(ob)5 b(jects)38 b(are)e(created.)55
b(Th)m(us)38 b(a)e(class)h(de\014nes)h(a)e(new)h(data)f(t)m(yp)s(e,)j
(whic)m(h)e(can)g(b)s(e)118 1667 y(used)d(to)e(create)h(ob)5
b(jects.)45 b(A)33 b(class)g(is)h(created)f(b)m(y)g(using)h(the)f(k)m
(eyw)m(ord)h Fp(class)p Fq(.)118 1907 y(Ob)5 b(ject-orien)m(ted)34
b(programming)f(metho)s(ds)g(aim)g(to)f(ac)m(hiev)m(e)j(the)e(follo)m
(wing:)263 2136 y Fk(\017)49 b Fq(T)-8 b(o)33 b(simplify)h(the)f
(design)g(and)g(implemen)m(tation)h(of)e(complex)j(programs.)263
2339 y Fk(\017)49 b Fq(T)-8 b(o)31 b(mak)m(e)h(it)e(easier)i(for)e
(teams)h(of)g(designers)h(and)f(programmers)g(to)g(w)m(ork)g(on)g(a)f
(single)362 2460 y(soft)m(w)m(are)k(pro)5 b(ject.)263
2663 y Fk(\017)49 b Fq(T)-8 b(o)33 b(enable)g(a)f(high)h(degree)h(of)e
(reusabilit)m(y)i(of)e(designs)i(and)f(of)f(soft)m(w)m(are)i(co)s(des.)
263 2866 y Fk(\017)49 b Fq(T)-8 b(o)33 b(decrease)h(the)f(cost)g(of)f
(soft)m(w)m(are)i(main)m(tenance.)118 3095 y(In)27 b(order)h(to)e(ac)m
(hiev)m(e)j(these)g(aims,)f(ob)5 b(ject-orien)m(ted)29
b(programming)e(languages)g(are)g(exp)s(ected)118 3215
y(to)32 b(supp)s(ort)h(a)g(n)m(um)m(b)s(er)h(of)e(features:)237
3418 y(1.)49 b(Information)32 b(hiding)i(\(encapsulation\))237
3622 y(2.)49 b(P)m(olymorphism)237 3825 y(3.)g(Inheritance)118
4029 y(Eac)m(h)34 b(of)e(these)i(concepts)g(is)f(discussed)i(b)s(elo)m
(w.)p eop end
%%Page: 3 11
TeXDict begin 3 10 bop 118 100 a Fl(1.2.)76 b(AIM)33
b(OF)f(OBJECT-ORIENTED)i(PR)m(OGRAMMING)1064 b Fq(3)118
364 y Fj(1.2.1)136 b(Information)46 b(Hiding)118 549
y Fi(Information)28 b(hiding)f Fq(is)g(ac)m(hiev)m(ed)j(b)m(y)e
(restricting)g(the)f(access)i(of)e(the)g(user)h(to)f(the)h(underlying)
118 669 y(data)g(structures)h(to)f(the)g(prede\014ned)i(metho)s(ds)f
(for)e(that)h(class.)43 b(This)29 b(shifts)g(the)f(resp)s(onsibil-)118
790 y(it)m(y)e(of)g(handling)g(the)g(data)f(\014elds)i(correctly)f
(from)g(the)g(user)g(of)f(the)h(co)s(de)g(to)f(the)h(supplier.)43
b(F)-8 b(or)118 910 y(example,)29 b(a)d(programmer)g(using)g(a)g(Date)g
(class)h(is)f(usually)h(not)f(in)m(terested)i(in)e(the)h(implemen-)118
1031 y(tation)g(details.)43 b(These)29 b(include)g(the)f(underlying)g
(data)f(structure)i(of)e(Date)g(\(i.e.)h(whether)h(the)118
1151 y(mon)m(th)k(is)g(stored)g(as)f(an)g(in)m(teger,)i(a)e(string)g
(or)g(an)h(en)m(umeration)g(t)m(yp)s(e\))g(and)g(the)g(underlying)118
1271 y(co)s(de)d(\(i.e.)g(ho)m(w)h(t)m(w)m(o)f(dates)g(are)g
(subtracted)h(from)e(eac)m(h)i(other\).)43 b(If,)30 b(at)f(a)h(later)f
(stage)h(a)g(more)118 1392 y(e\016cien)m(t)38 b(w)m(a)m(y)g(of)d
(storing)i(the)g(date)f(or)g(of)g(calculating)h(the)f(n)m(um)m(b)s(er)i
(of)e(da)m(ys)h(b)s(et)m(w)m(een)h(t)m(w)m(o)118 1512
y(dates)27 b(is)h(in)m(tro)s(duced,)h(this)e(should)h(not)e(a\013ect)h
(the)g(programmers)h(who)f(ha)m(v)m(e)h(b)s(een)f(using)h(the)118
1632 y(date)36 b(class.)55 b(They)38 b(should)f(not)f(ha)m(v)m(e)h(to)f
(searc)m(h)h(through)f(all)g(their)g(programs)h(for)e(an)m(y)i(o)s(c-)
118 1753 y(currence)c(of)e(Date)g(and)h(to)f(mak)m(e)i(the)f(relev)-5
b(an)m(t)32 b(c)m(hanges.)45 b(Suc)m(h)33 b(a)e(main)m(tenance)i(nigh)m
(tmare)118 1873 y(and)38 b(the)g(v)m(ery)h(high)f(cost)h(accompan)m
(ying)g(it)f(is)g(prev)m(en)m(ted)i(b)m(y)f(information)f(hiding)g
(where)118 1994 y(access)j(to)d(the)h(underlying)h(data)f(structures)h
(is)f(giv)m(en)h(only)f(via)g(the)h(prede\014ned)g(metho)s(ds)118
2114 y(of)g(the)h(class.)68 b(A)41 b(further)g(adv)-5
b(an)m(tage)40 b(of)g(information)h(hiding)g(is)g(that)f(it)g(can)h(b)s
(e)g(used)g(to)118 2234 y(guaran)m(tee)32 b(the)f(in)m(tegrit)m(y)h(of)
f(the)g(data)g(\(e.g.)g(to)g(prev)m(en)m(t)i(the)f(user)f(from)g
(setting)h(the)f(mon)m(th)118 2355 y(equal)d(to)f(13\).)41
b(Ja)m(v)-5 b(a)28 b(and)f(C++)h(pro)m(vide)g(the)g(k)m(eyw)m(ords)i
Fp(private)p Fq(,)g Fp(protected)g Fq(and)e Fp(public)118
2475 y Fq(for)k(data)g(hiding.)118 2884 y Fj(1.2.2)136
b(Inheritance)118 3069 y Fq(Often)42 b(one)h(ob)5 b(ject)43
b(shares)h(a)d(n)m(um)m(b)s(er)j(of)e(c)m(haracteristics)j(with)d
(another,)j(but)e(has)g(a)e(few)118 3189 y(additional)i(attributes.)74
b(F)-8 b(or)42 b(example,)47 b(our)c(\014rm)g(migh)m(t)g(ha)m(v)m(e)h
(a)e(database)h(for)f(v)m(ehicles.)118 3310 y(F)-8 b(or)33
b(eac)m(h)h(v)m(ehicle)i(the)e(registration)g(n)m(um)m(b)s(er,)i(mo)s
(del,)e(y)m(ear)g(and)g(main)m(tenance)i(history)e(are)118
3430 y(stored.)86 b(Supp)s(ose)47 b(the)g(\014rm)g(w)m(an)m(ts)h(to)e
(expand)i(this)f(data)f(base)h(to)f(include)i(its)f(truc)m(ks.)118
3551 y(Ho)m(w)m(ev)m(er,)34 b(they)e(w)m(an)m(t)h(to)e(store)h
(additional)f(information)g(for)g(truc)m(ks,)j(suc)m(h)f(as)e(the)h
(the)g(pa)m(y-)118 3671 y(load)38 b(and)g(the)h(n)m(um)m(b)s(er)g(of)f
(axes)h(\(for)f(toll-road)f(purp)s(oses\).)61 b(Instead)39
b(of)f(rewriting)h(all)f(the)118 3791 y(co)s(de)43 b(for)f(truc)m(ks,)
47 b(one)c(can)f(see)i(a)e(truc)m(k)i(as)f(a)f(sp)s(ecial)h(case)h(of)e
(a)g(v)m(ehicle)j(ha)m(ving)e(all)g(the)118 3912 y(attributes)35
b(of)f(a)f(v)m(ehicle)k(plus)e(a)e(few)i(additional)f(attributes.)49
b(By)35 b(making)f(truc)m(k)h(a)f(deriv)m(ed)118 4032
y(class)c(of)f(v)m(ehicle,)j(it)d(inherits)i(all)e(the)g(attributes)h
(of)f(v)m(ehicle)i(and)e(the)h(programmer)f(has)h(only)118
4152 y(to)j(add)h(the)f(co)s(de)h(for)f(the)h(additional)f(attributes.)
47 b(This)35 b(not)e(only)h(reduces)h(the)f(amoun)m(t)g(of)118
4273 y(co)s(ding)e(to)g(b)s(e)g(done)h(and)f(main)m(tained,)h(but)g(it)
f(also)g(ensures)i(a)e(higher)g(lev)m(el)i(of)d(consistency)-8
b(.)118 4393 y(Should)32 b(the)f(coun)m(try)h(decide)h(to)e(c)m(hange)h
(its)f(format)g(for)f(n)m(um)m(b)s(er)j(plates,)f(it)f(has)h(to)e(b)s
(e)i(only)118 4514 y(c)m(hanged)38 b(in)f(the)g(base)h(class)g(v)m
(ehicle)h(and)d(the)i(truc)m(ks)g(automatically)f(inherit)h(the)f(c)m
(hange.)118 4634 y(In)e(Ja)m(v)-5 b(a)35 b(a)f(sup)s(erclass)j(is)e
(the)g(paren)m(t)g(of)g(a)f(class.)51 b(The)36 b(k)m(eyw)m(ord)h(is)e
Fp(super)p Fq(.)51 b(It)35 b(is)g(the)g(class)118 4754
y(from)30 b(whic)m(h)i(the)f(curren)m(t)g(class)h(inherits.)44
b(In)31 b(Ja)m(v)-5 b(a,)31 b(a)f(class)h(can)g(ha)m(v)m(e)g(only)g
(one)g(sup)s(erclass.)118 4875 y(Th)m(us)k(Ja)m(v)-5
b(a)32 b(is)i(a)e(single)i(inheritance)g(system,)h(in)e(whic)m(h)i(a)d
(class)i(can)f(only)h(inhert)f(from)g(one)118 4995 y(class.)55
b(C++)37 b(is)f(a)g(m)m(ultiple)i(inheritance)f(system)h(in)f(whic)m(h)
h(a)d(class)j(can)e(inherit)h(from)f(one)118 5116 y(or)c(more)h
(classes.)p eop end
%%Page: 4 12
TeXDict begin 4 11 bop 118 100 a Fq(4)2019 b Fl(CHAPTER)34
b(1.)76 b(INTR)m(ODUCTION)118 364 y Fj(1.2.3)136 b(P)l(olymorphism)118
549 y Fq(Often)47 b(one)f(w)m(an)m(ts)i(to)e(p)s(erform)h(an)f(action)h
(suc)m(h)h(as)e(editing)h(on)g(a)f(n)m(um)m(b)s(er)i(of)e(di\013eren)m
(t)118 669 y(ob)5 b(jects)36 b(\(i.e.)e(text)h(\014les,)h(pixel)f
(\014les,)h(c)m(harts,)f(etc.\).)49 b(P)m(olymorphism)36
b(allo)m(ws)f(one)g(to)f(sp)s(ecify)118 790 y(an)39 b(abstract)h(op)s
(eration)f(lik)m(e)h(editing,)i(lea)m(ving)e(the)g(actual)f(w)m(a)m(y)h
(in)g(whic)m(h)g(this)g(op)s(eration)118 910 y(is)g(p)s(erformed)g(to)e
(a)h(later)h(stage.)63 b(In)40 b(the)g(case)g(where)g(dynamic)h
(binding)f(\(linking)g(during)118 1031 y(run-time\))34
b(is)f(used)i(the)e(decision)i(of)e(whic)m(h)h(co)s(de)g(to)f(b)s(e)g
(used)i(for)d(the)i(editing)g(op)s(eration)f(is)118 1151
y(only)38 b(made)h(during)f(run-time.)60 b(This)39 b(is)g(esp)s
(ecially)g(useful)g(in)f(the)h(case)g(where)g(the)f(actual)118
1271 y(t)m(yp)s(e)c(of)e(ob)5 b(ject)33 b(whic)m(h)h(is)f(to)f(b)s(e)h
(edited)h(is)f(only)g(kno)m(wn)h(at)e(run-time.)118 1512
y(F)-8 b(urthermore,)47 b(if)d(a)g(new)h(ob)5 b(ject)45
b(t)m(yp)s(e)f(is)h(to)f(b)s(e)g(supp)s(orted)h(\(e.g.)77
b(faxes\))45 b(then)g(the)f(new)118 1632 y(editing)39
b(co)s(de)f(\(pro)m(vided)i(b)m(y)f(the)g(fax-soft)m(w)m(are)g
(supplier\))g(can)g(b)s(e)f(link)m(ed)i(in)f(at)e(run-time.)118
1753 y(Ev)m(en)f(when)f(the)g(original)f(program)g(is)g(not)g
(recompiled,)j(it)d(can)g(supp)s(ort)h(future)f(additions)118
1873 y(to)f(the)i(system.)48 b(P)m(olymorphism)36 b(is)f(hence)g(again)
e(a)g(higher)i(lev)m(el)g(of)e(abstraction,)i(allo)m(wing)118
1994 y(the)f(programmer)f(to)g(sp)s(ecify)h(an)g(abstract)f(action)g
(to)g(b)s(e)g(p)s(erformed)h(on)f(abstract)h(ob)5 b(jects.)118
2114 y(Ja)m(v)-5 b(a)33 b(allo)m(ws)g(de\014ning)h(abstract)f(classes.)
118 2520 y Fj(1.2.4)136 b(Built-In)45 b(Classes)118 2705
y Fq(Ja)m(v)-5 b(a)42 b(co)s(de)g(is)h(organized)f(in)m(to)g(classes)i
(\(abstract)e(data)g(t)m(yp)s(es\).)73 b(Classes)44 b(de\014ne)f(a)f
(set)h(of)118 2825 y Fi(metho)-5 b(ds)33 b Fq(\(mem)m(b)s(er)h
(functions\))g(and)g Fi(\014elds)e Fq(\(data)h(mem)m(b)s(ers\))i(that)e
(form)h(the)f(b)s(eha)m(viour)i(of)118 2945 y(an)42 b(ob)5
b(ject.)73 b(What)42 b(mak)m(es)i(Ja)m(v)-5 b(a)42 b(so)g(p)s(o)m(w)m
(erful)h(is)g(the)g(large)f(n)m(um)m(b)s(er)h(of)f(built-in)g(classes.)
118 3066 y(Classes)f(are)e(group)s(ed)g(b)m(y)h(directories)h(on)e
(disk)h(in)m(to)f(categories)h(of)f(related)g(classes)i(called)118
3186 y(pac)m(k)-5 b(ages.)44 b(Ho)m(w)m(ev)m(er,)34 b(from)d(v)m
(ersion)i(1.0)d(to)h(v)m(ersion)i(1.1)e(a)f(large)h(n)m(um)m(b)s(er)i
(of)e(metho)s(ds)h(ha)m(v)m(e)118 3306 y(b)s(een)j Fi(depr)-5
b(e)g(c)g(ate)g(d)34 b Fq(and)g(replaced)i(b)m(y)f(other)g(metho)s(ds.)
50 b(Ja)m(v)-5 b(a)34 b(1.2)g(added)h(a)f(large)h(n)m(um)m(b)s(er)h(of)
118 3427 y(new)e(classes.)118 3668 y(Some)f(of)f(the)h(most)g(imp)s
(ortan)m(t)g(built-in)g(classes)h(are)118 3870 y Fp(String,)53
b(System,)g(Graphics,)h(Object,)f(Vector,)g(Math,)g(Date,)f(Event)118
4073 y Fq(The)42 b Fp(String)g Fq(class)f(do)s(es)g(all)g(the)g(string)
g(manipulations)g(suc)m(h)h(as)f Fp(length\(\))h Fq(to)f(\014nd)g(the)
118 4193 y(length)31 b(of)f(a)g(string)h(and)f Fp(charAt\(int\))k
Fq(whic)m(h)e(\014nds)f(the)g(c)m(haracter)g(at)f(the)h(giv)m(en)h(p)s
(osition.)118 4314 y(The)45 b Fp(System)g Fq(class)g(includes)h(the)e
(metho)s(d)g Fp(exit\(\))p Fq(.)79 b(The)45 b Fp(Graphics)h
Fq(class)e(includes)i(all)118 4434 y(dra)m(wing)h(metho)s(ds,)j(for)c
(example)h Fp(drawLine\(int,int,int,int)q(\))52 b Fq(whic)m(h)47
b(dra)m(ws)h(a)d(line)118 4554 y(b)s(et)m(w)m(een)c(to)d(p)s(oin)m(ts)h
(giv)m(en)h(b)m(y)f(the)g(argumen)m(ts.)62 b(The)40 b(class)f
Fp(Object)h Fq(is)f(the)g(mother)g(of)f(all)118 4675
y(classes.)54 b(The)36 b Fp(Vector)h Fq(is)f(a)f(con)m(tainer)h(class.)
53 b(Mathematical)36 b(op)s(erations)f(are)h(in)f(the)h(class)118
4795 y Fp(Math)p Fq(.)118 5036 y(W)-8 b(e)48 b(use)h
Fp(import)g Fq(statemen)m(ts)h(to)d(load)h(classes)i(required)f(to)e
(compile)i(a)f(Ja)m(v)-5 b(a)47 b(program.)118 5156 y(F)-8
b(or)38 b(example,)j(to)d(tell)h(the)f(compiler)i(to)d(load)i(the)f
Fp(Applet)i Fq(class)f(from)f(the)h Fp(java.applet)118
5277 y Fq(pac)m(k)-5 b(age,)33 b(the)g(statemen)m(t)118
5479 y Fp(import)53 b(java.applet.Applet;)118 5682 y
Fq(is)33 b(used.)p eop end
%%Page: 5 13
TeXDict begin 5 12 bop 118 100 a Fl(1.2.)76 b(AIM)33
b(OF)f(OBJECT-ORIENTED)i(PR)m(OGRAMMING)1064 b Fq(5)118
364 y Fj(1.2.5)136 b(Ja)l(v)-7 b(a)46 b(Compared)f(T)-11
b(o)45 b(C++)118 549 y Fq(The)37 b(syn)m(tax)h(of)e(Ja)m(v)-5
b(a)36 b(lo)s(oks)g(v)m(ery)i(similar)f(to)e(C++.)55
b(Ho)m(w)m(ev)m(er,)39 b(there)e(are)f(n)m(um)m(b)s(er)i(of)d(im-)118
669 y(p)s(ortan)m(t)d(di\013erences.)118 910 y(Ja)m(v)-5
b(a)33 b(compared)g(to)f(C++)h(has)118 1151 y(no)g(p)s(oin)m(ters,)118
1392 y(no)g(references,)118 1632 y(no)g(structs,)118
1873 y(no)g(unions,)118 2114 y(no)g(t)m(yp)s(edefs,)118
2355 y(no)g Fp(#define)p Fq(,)118 2595 y(no)g(need)g(to)f(manage/free)h
(\(delete\))h(memory)-8 b(,)118 2836 y(no)33 b(core)g(dumps,)118
3077 y(no)g Fp(goto)g Fq(although)g(Ja)m(v)-5 b(a)32
b(has)h(a)f(k)m(eyw)m(ord)j Fp(goto)p Fq(,)118 3318 y(no)e
Fp(sizeof)h Fq(op)s(erator.)118 3559 y(The)39 b(size)g(of)e(the)h
(basic)g(data)f(t)m(yp)s(es)i(in)f(Ja)m(v)-5 b(a)38 b(are)g(\014xed.)59
b(C++)38 b(has)g(signed)h(and)f(unsigned)118 3679 y(data)g(t)m(yp)s(es)
j(for)d Fp(short)p Fq(,)k Fp(int)d Fq(and)g Fp(long)p
Fq(.)63 b(Ja)m(v)-5 b(a)39 b(has)g(no)f(unsigned)j(data)d(basic)i(data)
e(t)m(yp)s(e.)118 3799 y(All)e(in)m(teger)g(basic)g(data)f(t)m(yp)s(es)
h(are)g(signed.)52 b(There)37 b(are)e(no)g(standalone)h(metho)s(ds)g
(in)g(Ja)m(v)-5 b(a.)118 3920 y(Ev)m(erything)41 b(in)d(Ja)m(v)-5
b(a)39 b(m)m(ust)h(b)s(e)e(in)h(a)f(class)i(ev)m(en)g(the)f
Fp(main)h Fq(metho)s(d.)62 b(In)39 b(Ja)m(v)-5 b(a)38
b(basic)h(data)118 4040 y(t)m(yp)s(es)34 b(can)f(only)g(b)s(e)g(passed)
h(b)m(y)g(v)-5 b(alue.)44 b(Arra)m(ys)34 b(are)f(passed)h(b)m(y)f
(reference.)46 b(Op)s(erators)33 b(suc)m(h)118 4160 y(as)24
b Fp(+)p Fq(,)i Fp(*)e Fq(cannot)f(b)s(e)h(o)m(v)m(erloaded)h(in)f(Ja)m
(v)-5 b(a.)41 b(Ja)m(v)-5 b(a)24 b(do)s(es)g(not)f(allo)m(w)h(function)
g(or)g(class)h(templates.)118 4281 y(Ja)m(v)-5 b(a)37
b(has)h(a)e(b)s(o)s(olean)h(data)g(t)m(yp)s(e)h(called)g
Fp(boolean)p Fq(.)59 b(Only)37 b(new)m(er)i(C++)e(compilers)i(ha)m(v)m
(e)f(a)118 4401 y(b)s(o)s(olean)e(data)f(t)m(yp)s(e)i(called)g
Fp(bool)p Fq(.)55 b(There)37 b(is)g(no)f(m)m(ultiple)i(inheritance)f
(in)f(Ja)m(v)-5 b(a.)54 b(There)38 b(is)118 4522 y(no)e(scop)s(e)h
(resolution)g(op)s(erator)f Fp(::)g Fq(in)h(Ja)m(v)-5
b(a.)54 b(Ja)m(v)-5 b(a)36 b(uses)i(the)f(dot)f Fp(.)g
Fq(\(access)i(op)s(erator\))e(for)118 4642 y(ev)m(erything.)65
b(There)40 b(are)f(no)g(global)g(functions)h(or)e(global)h(data)g(in)g
(Ja)m(v)-5 b(a.)63 b(If)39 b(w)m(e)h(w)m(an)m(t)g(the)118
4762 y(equiv)-5 b(alen)m(t)32 b(of)e(globals,)h(w)m(e)g(use)h
Fp(static)g Fq(metho)s(ds)f(and)f Fp(static)i Fq(data)e(within)h(a)f
(class.)44 b(Ja)m(v)-5 b(a)118 4883 y(do)s(es)43 b(not)f(ha)m(v)m(e)h
(the)g(C++)f(concept)h(of)f(a)g(destructor,)k(a)41 b(metho)s(d)i(that)f
(is)h(automatically)118 5003 y(called)29 b(when)h(an)e(ob)5
b(ject)29 b(is)g(destro)m(y)m(ed.)44 b(The)30 b(reason)f(is)f(that)h
(in)f(Ja)m(v)-5 b(a)28 b(the)h(practice)h(is)e(simply)118
5123 y(to)k(forget)g(ab)s(out)h(ob)5 b(jects)33 b(rather)g(than)g(to)f
(destro)m(y)i(them,)f(allo)m(wing)g(the)g(garbage)f(collector)118
5244 y(to)39 b(reclaim)h(the)f(memory)h(as)f(necessary)-8
b(.)66 b(Ja)m(v)-5 b(a)39 b(has)g(b)s(oth)g(kinds)h(of)f(commen)m(ts)i
(lik)m(e)f(C++)118 5364 y(do)s(es.)p eop end
%%Page: 6 14
TeXDict begin 6 13 bop 118 100 a Fq(6)2019 b Fl(CHAPTER)34
b(1.)76 b(INTR)m(ODUCTION)118 364 y Fm(1.3)161 b(Iden)l(ti\014ers)51
b(and)i(Keyw)l(ords)f(in)h(Ja)l(v)-9 b(a)118 583 y Fq(V)h(ariables,)43
b(constan)m(ts,)i(classes,)f(ob)5 b(jects,)44 b(metho)s(ds)e(and)e(in)m
(terfaces)j(are)d(all)h(iden)m(ti\014ed)h(b)m(y)118 704
y(their)e(names.)66 b(A)40 b(v)-5 b(alid)40 b(Ja)m(v)-5
b(a)40 b(iden)m(ti\014er)h(m)m(ust)g(start)e(either)i(with)f(a)g(lo)m
(w)m(er)h(or)e(upp)s(er)h(case)118 824 y(letter,)33 b(an)e(underscore)i
(c)m(haracter)g Fp(\(_\))f Fq(or)g(a)f(dollar)g(sign)h
Fp(\($\))p Fq(.)44 b(Subsequen)m(t)35 b(c)m(haracters)e(can)118
944 y(also)c(include)h(n)m(umerals)g(\(0-9\).)41 b(The)30
b(length)f(of)f(the)h(iden)m(ti\014er)h(is)f(not)f(limited.)44
b(F)-8 b(urthermore)118 1065 y(Ja)m(v)j(a)41 b(is)h(case)f(sensitiv)m
(e.)72 b(The)42 b(only)f(restriction)h(is)g(that)f(w)m(e)h(ma)m(y)g
(not)e(use)i(an)m(y)g(of)f(Ja)m(v)-5 b(a's)118 1185 y(reserv)m(ed)35
b(w)m(ords.)45 b(The)33 b(follo)m(wing)g(iden)m(ti\014ers)i(are)d(th)m
(us)i(all)e(v)-5 b(alid)33 b(and)g(all)f(distinct)323
1414 y Fp(x)52 b(X)f(_x)h(x1)g(myClass)118 1642 y Fq(while)34
b(the)f(follo)m(wing)g(are)f(not)h(v)-5 b(alid)32 b(iden)m(ti\014er)j
(names)e(in)g(Ja)m(v)-5 b(a)323 1870 y Fp(x!)103 b(1X)g(true)h(#x1)118
2098 y Fq(The)48 b(iden)m(ti\014er)h Fp(true)f Fq(is)g(in)m(v)-5
b(alid)48 b(b)s(ecause)g(it)f(is)h(a)f(reserv)m(ed)i(w)m(ord.)88
b(Since)48 b(Ja)m(v)-5 b(a)47 b(is)h(case)118 2219 y(sensitiv)m(e)35
b(w)m(e)f(could)f(use)h Fp(True)f Fq(as)g(an)g(iden)m(ti\014er.)118
2460 y(Ja)m(v)-5 b(a's)33 b(reserv)m(ed)i(w)m(ords)f(\(so-called)f(k)m
(eyw)m(ords\))i(are)272 2688 y Fp(abstract)105 b(boolean)360
b(break)309 b(byte)272 2808 y(byvalue)156 b(case)513
b(catch)309 b(char)272 2929 y(class)258 b(const)462 b(continue)156
b(default)272 3049 y(do)411 b(double)g(else)360 b(extends)272
3169 y(false)258 b(final)462 b(finally)207 b(float)272
3290 y(for)360 b(goto)513 b(if)462 b(implements)272 3410
y(import)207 b(instanceof)g(int)411 b(interface)272 3531
y(long)309 b(native)411 b(new)g(null)272 3651 y(package)156
b(private)360 b(protected)105 b(public)272 3771 y(return)207
b(short)462 b(static)258 b(super)272 3892 y(switch)207
b(synchronized)105 b(this)360 b(threadsafe)272 4012 y(throw)258
b(transient)g(true)360 b(try)272 4132 y(void)309 b(while)118
4361 y Fq(where)221 4589 y Fp(byte,)52 b(short,)h(int,)f(long,)h
(float,)g(double,)g(char,)g(boolean)118 4817 y Fq(describ)s(e)32
b(the)e(basic)h(\(primitiv)m(e\))h(data)e(t)m(yp)s(es.)44
b(The)31 b(k)m(eyw)m(ord)i Fp(class)e Fq(indicates)h(an)e(abstract)118
4938 y(data)i(t)m(yp)s(e,)i(for)e(example)221 5166 y
Fp(class)52 b(Rational)p eop end
%%Page: 7 15
TeXDict begin 7 14 bop 118 1028 a Fo(Chapter)78 b(2)118
1444 y(Ja)-6 b(v)-13 b(a)77 b(Basics)118 1958 y Fm(2.1)161
b(My)54 b(First)f(Ja)l(v)-9 b(a)55 b(Program)118 2177
y Fq(The)29 b(follo)m(wing)f(Ja)m(v)-5 b(a)28 b(program)f(displa)m(ys)j
(the)f(string)f Fp(Good)52 b(Morning)h(Egoli)29 b Fq(on)f(the)g
(screen.)118 2298 y(The)36 b(assumption)g(is)g(that)f(the)g(JDK)f(\(Ja)
m(v)-5 b(a)35 b(Dev)m(elop)s(er)h(Kit\))f(is)g(b)s(eing)h(used.)51
b(The)36 b(instruc-)118 2418 y(tions)d(for)f(compiling)i(and)e(running)
h(are)g(sp)s(eci\014c)h(to)e(the)h(JDK.)118 2646 y Fp(//)52
b(First.java)i(\(file)e(name\))118 2887 y(public)h(class)g(First)118
3008 y({)272 3128 y(public)g(static)g(void)f(main\(String[])j(args\))
272 3248 y({)272 3369 y(System.out.println\("Good)j(Morning)53
b(Egoli"\);)272 3489 y(})118 3609 y(})118 3838 y Fq(The)40
b(\014le)f(name)g(is)g Fp(First.java)p Fq(.)65 b(The)39
b(extension)i(of)d(a)h(Ja)m(v)-5 b(a)38 b(program)g(\014le)i(is)f
Fp(.java)p Fq(.)63 b(T)-8 b(o)118 3958 y(compile)34 b(the)f(co)s(de)g
(from)f(the)h(command)g(line)h(w)m(e)f(en)m(ter)118 4186
y Fp(javac)53 b(First.java)118 4415 y Fq(This)34 b(pro)s(duces)g(a)e
(Ja)m(v)-5 b(a)32 b(b)m(yte-co)s(de)i(\014le)f(called)118
4643 y Fp(First.class)118 4871 y Fq(T)-8 b(o)33 b(run)g(the)g(program)f
(from)g(the)h(command)g(line)h(w)m(e)f(en)m(ter)118 5100
y Fp(java)52 b(First)118 5328 y Fq(This)36 b(command)f(is)g(also)f
(case-sensitiv)m(e.)53 b(Both)34 b Fp(javac)i Fq(and)e
Fp(java)i Fq(are)e(execute)i(\014les)g(in)f(the)118 5448
y Fp(bin)e Fq(directory)-8 b(.)1864 5765 y(7)p eop end
%%Page: 8 16
TeXDict begin 8 15 bop 118 100 a Fq(8)2179 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(In)c(a)f(Ja)m(v)-5
b(a)28 b(program)f(the)i(name)g(of)f(the)g(\014le)h(with)g(extension)h
Fp(java)f Fq(m)m(ust)g(b)s(e)g(the)f(same)h(as)g(the)118
485 y(name)i(of)e(the)i(class)g(whic)m(h)g(con)m(tains)g(the)f
Fp(main)h Fq(metho)s(d.)43 b(In)31 b(the)f(program)g(giv)m(en)h(ab)s(o)
m(v)m(e)g(the)118 605 y(\014le)k(name)f(is)g Fp(First.java)j
Fq(and)c(the)i(class)g(name)f(whic)m(h)h(con)m(tains)g
Fp(main)g Fq(is)f Fp(First)p Fq(.)49 b(Ja)m(v)-5 b(a)34
b(is)118 725 y(case)k(sensitiv)m(e.)61 b(The)38 b(k)m(eyw)m(ord)h
Fp(class)g Fq(is)f(there)g(b)s(ecause)g(ev)m(erything)i(in)d(a)g(Ja)m
(v)-5 b(a)37 b(program)118 846 y(liv)m(es)26 b(inside)f(a)e
Fp(class)p Fq(.)42 b(F)-8 b(ollo)m(wing)24 b(the)g(k)m(eyw)m(ord)i
Fp(class)f Fq(is)g(the)f(name)g(of)f(the)i(class.)41
b(The)25 b(com-)118 966 y(piled)37 b(b)m(yte)g(co)s(de)f(is)h(then)f
(automatically)h(called)f Fp(First.class)j Fq(\(platform)d(indep)s
(enden)m(t\).)118 1087 y(W)-8 b(e)33 b(ha)m(v)m(e)h(declared)g(the)f
(class)g Fp(First)h(public)g Fq(so)f(that)g(it)f(is)h(publicly)h
(accessible.)118 1327 y(In)f(Ja)m(v)-5 b(a,)33 b(as)f(in)h(C/C++,)g
(curly)h(braces)118 1556 y Fp({)52 b(...)g(})118 1784
y Fq(are)42 b(used)h(to)e(delineate)i(the)g(parts)f(\(usually)h(called)
f(blo)s(c)m(ks\))h(in)f(the)g(program.)71 b(A)42 b(P)m(ascal)118
1904 y(programmmer)33 b(can)g(relate)g(them)g(to)g(the)g(b)s(egin/end)g
(pair.)118 2145 y(Ev)m(ery)26 b(Ja)m(v)-5 b(a)24 b(program)g(m)m(ust)h
(ha)m(v)m(e)h(a)d Fp(main)j Fq(metho)s(d)e(within)h(a)f(class)h(for)f
(our)g(co)s(de)g(to)g(compile.)118 2265 y(The)39 b(metho)s(d)f
Fp(main)h Fq(is)g(declared)g Fp(static)p Fq(.)61 b(A)38
b(static)g(mem)m(b)s(er)h(metho)s(d)g(of)e(a)h(class)h(can)f(b)s(e)118
2386 y(in)m(v)m(ok)m(ed)e(indep)s(enden)m(tly)h(of)c(an)m(y)i(class)g
(instance.)48 b(Instances)36 b(of)d(classes)j(are)e(called)h
Fi(obje)-5 b(cts)p Fq(.)118 2506 y(A)41 b(public)i(class)f(is)g
(de\014ned)h(within)f(its)g(o)m(wn)g(\014le)g(and)f(is)h(visible)h(ev)m
(erywhere.)73 b(The)42 b Fp(main)118 2627 y Fq(metho)s(d)h(m)m(ust)h
(also)e(b)s(e)h(declared)h Fp(public)p Fq(.)75 b(The)44
b Fp(main)f Fq(metho)s(d)g(returns)h Fp(void)f Fq(whic)m(h)i(is)118
2747 y(Ja)m(v)-5 b(a's)37 b(w)m(a)m(y)h(for)f(sp)s(ecifying)h(nothing.)
56 b(The)38 b Fp(main)g Fq(metho)s(d)f(has)g(as)g(argumen)m(t)h(an)f
(arra)m(y)g(of)118 2867 y(strings.)42 b(Arra)m(ys)27
b(are)f(denoted)h(in)f(Ja)m(v)-5 b(a)26 b(b)m(y)h(a)f(pair)f(of)h
(square)h(brac)m(k)m(ets)h Fp([])p Fq(.)42 b(The)27 b(name)f(of)g(the)
118 2988 y(arra)m(y)34 b(of)e(strings)j(is)f Fp(args)p
Fq(.)46 b(This)35 b(arra)m(y)e(will)h(hold)g(an)m(y)g(command)g(line)g
(parameters)h(passed)118 3108 y(to)d(our)h(application.)118
3349 y(Commen)m(ts)i(are)d(the)h(same)h(as)e(in)h(C)g(and)g(C++,)g
(i.e.)118 3577 y Fp(//)52 b(....)118 3698 y(/*)g(...)g(*/)118
4046 y Fq(The)34 b Fp(System)g Fq(class)f(con)m(tains)h(sev)m(eral)g
(useful)g(class)g(\014elds)g(and)e(metho)s(ds.)45 b(The)33
b(metho)s(d)118 4275 y Fp(static)53 b(PrintStream)h(out)118
4503 y Fq(is)33 b(the)g(standard)g(output)g(stream)g(\(normally)g(to)g
(the)g(screen\).)45 b(The)33 b(metho)s(d)118 4731 y Fp(void)52
b(println\(String)j(s\))118 4960 y Fq(is)33 b(in)g(class)h
Fp(PrintStream)h Fq(and)e(prin)m(ts)g(a)g(string)g(and)f(terminates)i
(the)f(line.)44 b(The)34 b(metho)s(d)118 5188 y Fp(void)52
b(print\(String)j(s\))118 5416 y Fq(prin)m(ts)34 b(a)e(string)h
(without)g(a)f(newline.)p eop end
%%Page: 9 17
TeXDict begin 9 16 bop 118 100 a Fl(2.2.)76 b(MY)33 b(FIRST)g(APPLET)
2338 b Fq(9)118 364 y Fm(2.2)161 b(My)54 b(First)f(Applet)118
583 y Fq(An)46 b Fi(applet)f Fq(is)h(a)f(Ja)m(v)-5 b(a)45
b(program)g(that)h(m)m(ust)g(b)s(e)g(run)g(from)f(another)g(program)g
(called)i(its)118 704 y(host)f(program.)84 b(F)-8 b(or)45
b(example,)51 b(applets)c(are)f(usually)h(run)f(from)g(W)-8
b(ebbro)m(wsers)48 b(suc)m(h)g(as)118 824 y(Netscap)s(e's)38
b(Comm)m(unicator)f(or)f(Microsoft)h(In)m(ternet)g(Explorer.)55
b(T)-8 b(o)36 b(run)g(the)h(applet)f(from)118 944 y(the)g(w)m(ebbro)m
(wser)j(or)c(using)i(the)f Fp(appletviewer)j Fq(command)d(pro)m(vided)i
(in)e(the)g(Ja)m(v)-5 b(a)36 b(Dev)m(el-)118 1065 y(op)s(er)c(Kit)f
(\(JDK\))g(w)m(e)i(need)g(an)e Fp(HTML)i Fq(\014le.)44
b(W)-8 b(e)32 b(sho)m(w)h(no)m(w)f(ho)m(w)g(to)f(run)h(an)g(applet)g
(from)g(the)118 1185 y(command)i(line.)44 b(The)33 b(program)f(is)118
1414 y Fp(//)52 b(Welcome.java)118 1654 y(import)h(java.applet.Applet;)
118 1775 y(import)g(java.awt.Graphics;)118 2015 y(public)g(class)g
(Welcome)g(extends)g(Applet)118 2136 y({)272 2256 y(public)g(void)f
(paint\(Graphics)j(g\))d(//)g(g)f(is)h(an)g(object)h(of)e(class)i
(Graphics)272 2377 y({)272 2497 y(g.drawString\("Welcome)k(to)52
b(JAVA",25,25\);)272 2617 y(g.drawString\("Welcome)57
b(to)52 b(ISSC",50,50\);)272 2738 y(})118 2858 y(})118
3086 y Fq(T)-8 b(o)45 b(run)h(the)g(applet)f(do)g(the)h(follo)m(wing.)
82 b(W)-8 b(e)45 b(compile)i Fp(Welcome.java)h Fq(b)m(y)e(en)m(tering)h
(the)118 3207 y(follwing)33 b(command)g(at)g(the)g(command)g(line:)118
3435 y Fp(javac)53 b(Welcome.java)118 3663 y Fq(This)34
b(creates)g(a)e(\014le)118 3892 y Fp(Welcome.class)118
4120 y Fq(Then)i(w)m(e)f(write)h(the)f(follo)m(wing)g(\014le)g(with)g
(\014le)g(name)g Fp(Welcome.html)272 4348 y()272
4469 y()54 b(file)e(name:)g(Welcome.html)j()272
4589 y()272 4830 y()118 5058 y Fq(3.)43
b(Then)34 b(at)e(the)h(command)h(line)f(en)m(ter)118
5286 y Fp(appletviewer)55 b(Welcome.html)p eop end
%%Page: 10 18
TeXDict begin 10 17 bop 118 100 a Fq(10)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(The)i(command)f(is)h
(pro)m(vided)g(with)f(Ja)m(v)-5 b(a's)35 b(Dev)m(elop)s(er's)g(Kit.)47
b(This)35 b(means)g Fp(appletviewer)118 485 y Fq(is)e(an)g
(execute-\014le)h(in)f(the)g(directory)h Fp(jdk1.4\\bin)p
Fq(.)46 b(The)33 b(program)g(displa)m(ys)h(the)f(messages)118
713 y Fp(Welcome)53 b(to)f(JAVA)118 833 y(Welcome)h(to)f(ISSC)118
1062 y Fq(on)29 b(the)g(screen)h(at)e(the)h(co)s(ordinates)g(25)f(and)h
(25)f(and)h(50)f(and)g(50,)h(resp)s(ectiv)m(ely)-8 b(.)45
b(Co)s(ordinates)118 1182 y(are)40 b(measured)i(from)e(the)h(upp)s
(er-left)g(corner)g(of)f(the)g(applet)h(in)g(pixels.)68
b(A)41 b(pixel)g(\(picture)118 1302 y(elemen)m(t\))36
b(is)f(the)g(unit)g(of)f(displa)m(y)i(for)e(the)h(computer)h(screen.)50
b(Man)m(y)36 b(computers)g(ha)m(v)m(e)g(640)118 1423
y(pixels)e(for)e(the)h(width)h(of)e(the)h(screen)h(and)f(480)f(pixels)i
(for)e(the)h(heigh)m(t)g(of)f(the)h(screen.)118 1664
y(The)h(program)e(con)m(tains)h(the)g(de\014nition)h(for)e(the)h(metho)
s(d)g(\(mem)m(b)s(er)h(function\))118 1892 y Fp(public)53
b(void)f(paint\(Graphics)j(g\))118 2120 y Fq(This)35
b(metho)s(d)g(is)f(in)h(the)f(class)h Fp(Component)p
Fq(.)50 b(The)35 b Fp(paint)h Fq(metho)s(d)e(is)h(called)g
(automatically)118 2241 y(during)e(an)g(applet's)h(execution)g(and)f
(is)h(used)g(to)e(displa)m(y)j(information)d(on)h(the)g(screen.)46
b(The)118 2361 y Fp(paint)33 b Fq(metho)s(d's)f(parameter)g(list)g
(indicates)g(that)g(it)f(requires)i(a)e Fp(Graphics)i
Fq(ob)5 b(ject)32 b(\(that)g(is)118 2481 y(named)37 b
Fp(g)g Fq(in)g(our)f(program\))g(to)g(p)s(erform)h(its)g(task.)56
b(The)37 b(k)m(eyw)m(ord)i Fp(public)f Fq(is)f(required)h(so)118
2602 y(the)33 b(bro)m(wser)h(can)f(automatically)g(call)g(the)g
Fp(paint)h Fq(metho)s(d.)118 2842 y(The)i(left)f(brace)g
Fp({)g Fq(b)s(egins)g(the)g(metho)s(d)g(de\014nition's)i(b)s(o)s(dy)-8
b(.)49 b(A)35 b(corresp)s(onding)h(righ)m(t)e(brace)118
2963 y Fp(})f Fq(m)m(ust)h(end)f(the)g(metho)s(d)g(de\014nition's)h(b)s
(o)s(dy)-8 b(.)118 3204 y(The)34 b(line)118 3432 y Fp
(g.drawString\("Welcome)57 b(to)52 b(JAVA",25,25\);)118
3660 y Fq(instructs)34 b(the)f(computer)h(to)e(p)s(erform)h(an)f
(action,)h(namely)g(to)g(use)g(the)g(metho)s(d)118 3889
y Fp(drawString\(String)56 b(str,int)d(x,int)g(y\))118
4117 y Fq(to)35 b(dra)m(w)g(the)h(text)f(giv)m(en)h(b)m(y)g(the)f(sp)s
(eci\014ed)i(string)e(using)h(this)f(graphics)h(con)m(text's)h(curren)m
(t)118 4237 y(fon)m(t)c(and)f(color.)44 b(Th)m(us)34
b(the)f(metho)s(d)g Fp(drawString)i Fq(is)e(pro)m(vided)h(in)f(the)g
Fp(Graphics)i Fq(class.)118 4478 y(The)k Fi(sc)-5 b(op)g(e)38
b Fq(of)g(an)g(iden)m(ti\014er)i(is)f(the)g(p)s(ortion)f(in)h(whic)m(h)
h(the)f(iden)m(ti\014er)h(can)f(b)s(e)f(referenced.)118
4598 y(F)-8 b(or)33 b(example,)i(when)g(w)m(e)g(declare)f(a)g(lo)s(cal)
f(v)-5 b(ariable)34 b(in)g(a)f(blo)s(c)m(k,)i(it)e(can)h(b)s(e)g
(referenced)i(only)118 4719 y(in)c(that)f(blo)s(c)m(k)h(or)f(in)h(the)f
(blo)s(c)m(ks)i(nested)g(within)f(that)f(blo)s(c)m(k.)44
b(The)33 b(scop)s(es)f(for)f(an)g(iden)m(ti\014er)118
4839 y(are)i(class)h(scop)s(e)f(and)g(blo)s(c)m(k)h(scop)s(e.)44
b(Blo)s(c)m(k)34 b(b)s(egins)f(are)g(indicated)h(b)m(y)g(the)f(left)g
(brace)g Fp({)g Fq(and)118 4960 y(the)27 b(blo)s(c)m(k)g(end)f(b)m(y)h
(the)g(righ)m(t)f(brace)h Fp(})p Fq(.)41 b(An)27 b(exception)g(from)f
(this)h(rule)f(are)g Fp(static)i Fq(metho)s(ds.)118 5080
y(In)35 b(a)g(sense,)j(all)d(instance)h(v)-5 b(ariables)36
b(and)f(metho)s(ds)h(of)e(a)h(class)h(are)f(global)g(to)g(the)g(metho)s
(ds)118 5200 y(of)41 b(the)h(class)g(in)g(whic)m(h)h(they)f(are)f
(de\014ned,)k(i.e.)71 b(the)41 b(metho)s(ds)i(can)e(mo)s(dify)h(the)g
(instance)118 5321 y(v)-5 b(ariables)33 b(directly)h(and)f(in)m(v)m(ok)
m(e)i(other)e(metho)s(ds)g(of)f(the)h(class.)p eop end
%%Page: 11 19
TeXDict begin 11 18 bop 118 100 a Fl(2.3.)76 b(BASIC)33
b(D)m(A)-8 b(T)g(A)33 b(TYPES)2247 b Fq(11)118 364 y
Fm(2.3)161 b(Basic)53 b(Data)h(T)l(yp)t(es)118 583 y
Fq(The)34 b Fi(b)-5 b(asic)34 b(data)g(typ)-5 b(es)33
b Fq(\(also)g(called)g Fi(primitive)h(data)h(typ)-5 b(es)p
Fq(\))33 b(in)f(Ja)m(v)-5 b(a)33 b(for)f(in)m(tegers)i(are)118
812 y Fp(byte,)53 b(short,)g(int,)f(long)118 1040 y(type)g(storage)i
(requirement)g(range)e(\(inclusive\))118 1160 y(byte)104
b(1)51 b(byte)i(=)e(8)h(bits)206 b(-128)52 b(to)g(127)118
1281 y(short)h(2)e(bytes)i(=)e(16)h(bits)104 b(-32768)53
b(to)e(32767)118 1401 y(int)155 b(4)51 b(bytes)i(=)e(32)h(bits)104
b(-2147483648)54 b(to)e(2147483647)118 1521 y(long)104
b(8)51 b(bytes)i(=)e(64)h(bits)104 b(-9223372036854775808L)57
b(to)51 b(9223372036854775807L)118 1750 y Fq(There)d(is)f(no)f
(unsigned)i(data)e(t)m(yp)s(e)h(in)g(Ja)m(v)-5 b(a.)84
b(This)48 b(is)f(problem)g(when)g(w)m(e)h(consider)g(IP)118
1870 y(addresses.)d(IP)29 b(addresses)i(are)e(arra)m(ys)h(of)e
(unsigned)j(b)m(yte.)43 b(There)30 b(is)g(no)f Fp(sizeof\(\))i
Fq(op)s(erator)118 1991 y(in)i(Ja)m(v)-5 b(a.)43 b(In)33
b(C)g(and)g(C++)f(one)h(has)g(a)f Fp(sizeof\(\))j Fq(op)s(erator.)42
b(In)33 b(Ja)m(v)-5 b(a)33 b(the)g(size)g(of)f(the)h(basic)118
2111 y(data)38 b(t)m(yp)s(es)h(are)f(\014xed.)62 b(The)39
b(basic)g(data)e(t)m(yp)s(es)j Fp(byte)p Fq(,)g Fp(short)p
Fq(,)h Fp(int)p Fq(,)g Fp(long)e Fq(are)f(initialized)118
2231 y(to)f(0.)59 b(Default)37 b(in)m(teger)i(data)e(t)m(yp)s(e)i(is)f
Fp(int)p Fq(.)60 b(W)-8 b(e)38 b(can)g(declare)h(a)e(v)-5
b(ariable)38 b(at)g(an)m(y)g(p)s(oin)m(t)g(in)118 2352
y(the)c(program.)45 b(The)34 b(v)-5 b(ariable)34 b(exists)h(from)e(the)
g(p)s(oin)m(t)h(of)f(declaration)g(un)m(til)h(the)g(end)g(of)f(the)118
2472 y(blo)s(c)m(k)h(in)e(whic)m(h)i(it)f(is)g(de\014ned.)118
2713 y(The)h(op)s(erator)118 2941 y Fp(\(type\))118 3169
y Fq(is)f(called)h(the)f Fi(typ)-5 b(e)35 b(c)-5 b(onversion)33
b(op)-5 b(er)g(ator)p Fq(,)33 b(for)f(example)i Fp(\(int\))p
Fq(.)44 b(An)33 b(example)h(is)118 3398 y Fp(byte)52
b(a)g(=)g(\(byte\))g(7;)118 3518 y(int)g(i)g(=)f(\(int\))i(a;)118
3746 y Fq(What)33 b(happ)s(ens)g(if)g(w)m(e)g(c)m(hange)h(the)f(line:)
118 3975 y Fp(byte)52 b(l)g(=)g(\(byte\)\(j)h(+)e(k\);)118
4203 y Fq(to)118 4431 y Fp(byte)h(l)g(=)g(j)f(+)h(k;)118
4660 y Fq(in)33 b(the)g(follo)m(wing)g(program?)43 b(What)33
b(happ)s(ens)g(if)g(w)m(e)g(c)m(hange)h(the)f(line)118
4888 y Fp(c)52 b(=)f(\(short\)\(a)j(+)d(b\);)118 5116
y Fq(to)118 5345 y Fp(c)h(=)f(a)h(+)f(b;)118 5573 y Fq(in)33
b(the)g(follo)m(wing)g(program?)p eop end
%%Page: 12 20
TeXDict begin 12 19 bop 118 100 a Fq(12)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fp(//)52
b(Types1.java)118 485 y(//)g(Arithmetic)i(operations:)118
605 y(//)e(addition)h(+,)f(subtraction)i(-)118 846 y(public)f(class)g
(Types1)118 966 y({)272 1087 y(public)g(static)g(void)f(main\(String[])
j(args\))272 1207 y({)272 1327 y(byte)d(z1)g(=)g(\(byte\))g(255;)272
1448 y(System.out.println\("z1)57 b(=)52 b(")f(+)h(z1\);)g(//)g(=>)g
(-1)f(since)i(255-256)g(=)f(-1)272 1568 y(byte)g(z2)g(=)g(\(byte\))g
(152;)272 1688 y(System.out.println\("z2)57 b(=)52 b(")f(+)h(z2\);)g
(//)g(=>)g(-104)g(since)g(152-256)i(=)d(-104)272 1809
y(byte)h(z3)g(=)g(\(byte\))g(1001;)272 1929 y(//)g(repeated)h
(subtraction)h(of)e(256)g(until)272 2050 y(//)g(number)h(is)e(in)h
(range)h(-128)f(...)g(127)272 2170 y(System.out.println\("z3)57
b(=)52 b(")f(+)h(z3\);)g(//)g(=>)g(-23)272 2411 y(byte)g(j)g(=)f
(\(byte\))i(-128;)272 2531 y(byte)f(k)g(=)f(\(byte\))i(127;)272
2652 y(byte)f(l)g(=)f(\(byte\)\(j)j(+)d(k\);)272 2772
y(System.out.println\(l\);)211 b(//)52 b(=>)f(-1)272
3013 y(short)i(a)e(=)h(\(short\))h(8;)272 3133 y(short)g(b)e(=)h
(\(short\))h(-17;)272 3253 y(short)g(c;)272 3374 y(c)e(=)h
(\(short\)\(a)i(+)d(b\);)272 3494 y(System.out.println\(c\);)160
b(//)51 b(=>)h(-9)272 3735 y(int)g(d)g(=)f(-2000000;)272
3855 y(int)h(e)g(=)f(2000001;)272 3976 y(int)h(f)g(=)f(d)h(+)f(e;)272
4096 y(System.out.println\(f\);)108 b(//)52 b(=>)g(1)272
4337 y(byte)g(g)g(=)f(-5;)272 4457 y(int)h(h)g(=)f(\(int\))i(g;)272
4578 y(System.out.println\(h\);)108 b(//)52 b(=>)g(-5)272
4818 y(long)g(p)g(=)f(900000000000002L;)272 4939 y(long)h(q)g(=)f
(100000000000003L;)272 5059 y(long)h(s)g(=)f(p)h(-)f(q;)272
5180 y(System.out.println\(s\);)108 b(//)52 b(=>)g(799999999999999)272
5300 y(})118 5420 y(})p eop end
%%Page: 13 21
TeXDict begin 13 20 bop 118 100 a Fl(2.3.)76 b(BASIC)33
b(D)m(A)-8 b(T)g(A)33 b(TYPES)2247 b Fq(13)118 364 y(The)34
b(\015oating)e(p)s(oin)m(t)h(data)f(mem)m(b)s(ers)i(are)f
Fp(float)h Fq(and)e Fp(double)p Fq(.)118 535 y Fp(type)52
b(storage)i(requirement)156 b(range)53 b(\(inclusive\))118
656 y(float)104 b(4)52 b(bytes)g(=)g(32)f(bits)207 b(pm)51
b(3.40282347E+38F)118 776 y(double)i(8)f(bytes)g(=)g(64)f(bits)207
b(pm)51 b(1.79769313486231570E+308)118 896 y(pm)h(stands)h(for)f
(plus-minus)118 1067 y Fq(The)26 b(default)f(\015oating)g(p)s(oin)m(t)g
(data)f(t)m(yp)s(e)i(is)f Fp(double)p Fq(.)43 b(There)26
b(is)f(no)g Fp(long)53 b(double)26 b Fq(\(80)e(bits\))i(in)118
1188 y(Ja)m(v)-5 b(a.)43 b(All)31 b(\015oating-p)s(oin)m(t)f(t)m(yp)s
(es)i(follo)m(w)f(the)g(IEEE)h(754)e(sp)s(eci\014cation.)44
b(They)32 b(will)f(o)m(v)m(er\015o)m(w)118 1308 y(on)d(range)h(errors)f
(and)h(under\015o)m(w)h(on)e(op)s(erations)g(lik)m(e)i(a)e(divide)i(b)m
(y)f(zero.)42 b(The)29 b(\015oating)f(data)118 1429 y(t)m(yp)s(es)23
b(are)f(initialized)i(to)d Fp(0.0)p Fq(.)41 b(Ja)m(v)-5
b(a)22 b(allo)m(ws)h(us)f(to)g(mak)m(e)h(certain)g(assignmen)m(t)h(con)
m(v)m(ersions)g(b)m(y)118 1549 y(assigning)32 b(the)f(v)-5
b(alue)32 b(of)e(a)h(v)-5 b(ariable)31 b(without)g(an)g(explicit)i
(cast.)43 b(Those)32 b(that)f(are)g(p)s(ermitted)118
1669 y(are)118 1840 y Fp(byte)52 b(->)g(short)h(->)f(int)g(->)f(long)i
(->)f(float)g(->)g(double)118 2011 y(//)g(Types2.java)118
2252 y(public)h(class)g(Types2)118 2373 y({)272 2493
y(public)g(static)g(void)f(main\(String[])j(args\))272
2613 y({)272 2734 y(float)e(z1)e(=)h(\(float\))h(8.17;)155
b(//)52 b(type)g(conversion)272 2854 y(float)h(z2)e(=)h(\(float\))h
(-912;)155 b(//)52 b(type)g(conversion)272 2974 y(float)h(z3;)272
3095 y(z3)f(=)f(z1)h(+)g(z2;)272 3215 y(System.out.println\(z3\);)57
b(//)52 b(=>)g(-903.83)272 3456 y(double)h(u)e(=)h(20.1E+10;)272
3576 y(double)h(v)e(=)h(17.157;)272 3697 y(double)h(w)e(=)h(u*v;)272
3817 y(System.out.println\(w\);)57 b(//)52 b(=>)g(3.448557e+12)272
4058 y(//)g(type)g(conversion)272 4178 y(double)h(x)e(=)h(-10.345;)272
4299 y(int)g(nx)g(=)f(\(int\))i(x;)411 b(//)51 b(type)i(conversion)272
4419 y(System.out.println\(nx\);)109 b(//)51 b(=>)h(-10)272
4660 y(int)g(i)g(=)f(10;)272 4780 y(int)h(j)g(=)f(3;)272
4901 y(double)i(y)e(=)h(10/3;)155 b(//)52 b(integer)h(division)g(on)f
(right-hand)i(side,)1246 5021 y(//)e(then)g(type)g(conversion)i(to)e
(double)272 5141 y(System.out.println\(y\);)160 b(//)51
b(=>)h(3.0)272 5262 y(double)h(b)e(=)h(\(\(double\))h(i\)/\(\(double\))
i(j\);)272 5382 y(System.out.println\(b\);)160 b(//)51
b(=>)h(3.3333333333333335)272 5502 y(})118 5623 y(})p
eop end
%%Page: 14 22
TeXDict begin 14 21 bop 118 100 a Fq(14)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(The)h
Fp(char)f Fq(t)m(yp)s(e)h(uses)g(single)f(quotes)h(to)e(denote)i(a)e
Fi(char)-5 b(acter)p Fq(.)43 b(F)-8 b(or)32 b(example)118
593 y Fp(char)52 b(ch)g(=)g('A';)118 821 y Fq(The)47
b(size)f(of)f(of)g(data)g(t)m(yp)s(e)i Fp(char)f Fq(is)g(2)g(b)m(ytes)h
(compared)f(to)f(1)h(b)m(yte)g(for)f(a)g(c)m(haracter)i(in)118
941 y(C)42 b(and)g(C++.)72 b(The)43 b Fp(char)g Fq(t)m(yp)s(e)g
(denotes)g(c)m(haracter)f(in)h(the)f Fi(Unic)-5 b(o)g(de)41
b Fq(enco)s(ding)i(sc)m(heme.)118 1062 y(Unico)s(de)30
b(w)m(as)g(designed)h(to)e(handle)h(essen)m(tially)i(all)d(c)m
(haracters)i(in)e(all)g(written)h(languages)g(in)118
1182 y(the)37 b(w)m(orld.)57 b(It)37 b(is)h(a)e(2-b)m(yte)i(co)s(de.)56
b(This)38 b(allo)m(ws)g(65536)e(c)m(haracters,)j(unlik)m(e)g(ASCI)s
(I/ANSI,)118 1302 y(whic)m(h)j(is)g(a)e(1-b)m(yte)h(co)s(de)g(allo)m
(wing)g(only)g(255)f(c)m(haracters.)70 b(The)41 b(ASCI)s(I/ANSI)h(co)s
(de)f(is)g(a)118 1423 y(subset)33 b(of)f(Unico)s(de.)44
b(It)31 b(is)h(the)h(\014rst)f(255)f(c)m(haracters)i(on)e(the)h(Unico)s
(de)h(co)s(ding)e(sc)m(heme.)46 b(F)-8 b(or)118 1543
y(example)118 1771 y Fp(int)52 b(i)g(=)f(\(int\))i('A';)103
b(//)52 b(=>)g(65)118 2000 y Fq(The)47 b Fp(boolean)g
Fq(data)e(t)m(yp)s(e)h(has)g(t)m(w)m(o)g(v)-5 b(alues:)71
b Fp(false)46 b Fq(and)g Fp(true)p Fq(.)83 b(It)46 b(is)g(used)g(for)f
(logical)118 2120 y(testing)37 b(using)h(the)f(relational)g(op)s
(erators)f(that)h(Ja)m(v)-5 b(a,)37 b(lik)m(e)h(C)f(and)g(C++,)h(supp)s
(orts.)57 b(T)m(yp)s(e)118 2241 y(con)m(v)m(ersion)42
b(from)e Fp(boolean)i Fq(to)e Fp(byte)p Fq(,)j Fp(short)p
Fq(,)h Fp(int)p Fq(,)f Fp(long)e Fq(is)f(not)g(p)s(ossible.)68
b(The)41 b(storage)118 2361 y(requiremen)m(t)35 b(for)d(the)h(b)s(o)s
(olean)f(data)g(t)m(yp)s(e)i(is)f(1)f(b)m(yte.)118 2602
y(Basic)h(data)e(t)m(yp)s(es)i(in)f(Ja)m(v)-5 b(a,)32
b(C,)h(and)f(C++)g(are)g(compared)g(for)g(equalit)m(y)h(using)g(the)f
Fi(e)-5 b(quality)118 2722 y(op)g(er)g(ator)118 2950
y Fp(==)118 3179 y Fq(F)d(or)32 b(example)118 3407 y
Fp(char)52 b(c1)g(=)g('X';)118 3527 y(char)g(c2)g(=)g('x';)118
3648 y(boolean)h(b)f(=)f(\(c1)h(==)g(c2\);)118 3768 y
(System.out.println\(b\);)160 b(//)52 b(=>)f(false)i(\(Java)g(is)e
(case)i(sensitive\))118 4117 y Fq(A)36 b Fi(string)f
Fq(is)i(an)e(arra)m(y)h(of)f(c)m(haracters.)54 b(The)37
b(data)e(t)m(yp)s(e)i Fp(String)g Fq(is)f(an)g(abstract)g(data)f(t)m
(yp)s(e)118 4237 y(in)41 b(Ja)m(v)-5 b(a.)66 b(Strings)41
b(in)g(Ja)m(v)-5 b(a)40 b(are)g(imm)m(utable.)68 b(They)42
b(cannot)f(b)s(e)f(c)m(hanged.)68 b(W)-8 b(e)41 b(ha)m(v)m(e)g(t)m(w)m
(o)118 4358 y(metho)s(ds)34 b(to)e(create)h(a)f(string,)h(namely)118
4586 y Fp(String)53 b(s1)f(=)f("abc";)118 4706 y(String)i(s2)f(=)f(new)
h(String\("abc"\);)118 4935 y Fq(The)38 b Fp(equals)g
Fq(metho)s(d)g(pro)m(vided)g(in)f(the)g Fp(String)i Fq(class)f
(compares)g(t)m(w)m(o)f(strings)h(\(case)g(sen-)118 5055
y(sitiv)m(e\))k(for)d(equalit)m(y)-8 b(.)67 b(The)41
b(metho)s(d)f(returns)h Fp(true)g Fq(if)f(the)g(ob)5
b(jects)41 b(are)f(equal)h(and)f Fp(false)118 5175 y
Fq(otherwise.)52 b(The)36 b(metho)s(d)f Fp(equals)h Fq(uses)h(a)d
(lexicographical)i(comparsion)g(the)f(in)m(teger)h(Uni-)118
5296 y(co)s(de)k(v)-5 b(alues)40 b(that)f(represen)m(t)i(eac)m(h)g(c)m
(haracter)f(in)f(eac)m(h)i(String)e(are)g(compared.)65
b(Th)m(us)41 b(the)118 5416 y(metho)s(d)33 b Fp(equals)h
Fq(is)f(case)h(sensitiv)m(e.)p eop end
%%Page: 15 23
TeXDict begin 15 22 bop 118 100 a Fl(2.3.)76 b(BASIC)33
b(D)m(A)-8 b(T)g(A)33 b(TYPES)2247 b Fq(15)118 364 y
Fp(//)52 b(Types3.java)118 605 y(public)h(class)g(Types3)118
725 y({)272 846 y(public)g(static)g(void)f(main\(String[])j(args\))272
966 y({)272 1087 y(int)d(r1;)272 1207 y(char)g(ch1)g(=)g('Y';)103
b(char)53 b(ch2)f(=)f('Z';)272 1327 y(if\(ch1)i(!=)f(ch2\))103
b(r1)52 b(=)f(0;)272 1448 y(else)104 b(r1)51 b(=)h(1;)272
1568 y(System.out.println\(r1\);)109 b(//)51 b(=>)h(0)272
1809 y(int)g(r2;)272 1929 y(char)g(ch3)g(=)g('A';)103
b(char)53 b(ch4)f(=)f('A';)272 2050 y(if\(ch3)i(==)f(ch4\))103
b(r2)52 b(=)f(0;)272 2170 y(else)104 b(r2)51 b(=)h(1;)272
2290 y(System.out.println\(r2\);)109 b(//)51 b(=>)h(0)272
2531 y(int)g(x)g(=)f(7;)103 b(int)52 b(y)g(=)f(8;)272
2652 y(boolean)i(bool)f(=)g(true;)272 2772 y(if\(x)g(==)g(y\))g
(System.out.println\(bool\);)272 2892 y(else)272 3013
y(System.out.println\(!bool\))q(;)108 b(//)52 b(=>)g(false)272
3253 y(String)h(c1)f(=)f("egoli";)156 b(//)52 b(String)h(is)e(an)h
(abstract)i(data)e(type)272 3374 y(String)h(c2)f(=)f("egoli";)156
b(//)52 b(Java)g(provides)i(a)d(String)i(class)272 3494
y(boolean)g(b1)f(=)f(c1.equals\(c2\);)272 3615 y
(System.out.println\(b1\);)416 b(//)52 b(=>)g(true)272
3855 y(String)h(d1)f(=)f("Cape";)272 3976 y(String)i(d2)f(=)f("cup";)
272 4096 y(boolean)i(b2)f(=)f(d1.equals\(d2\);)272 4216
y(System.out.println\(b2\);)365 b(//)52 b(=>)f(false)272
4457 y(String)i(e1)f(=)f(new)h(String\("Y"\);)272 4578
y(String)h(e2)f(=)f(new)h(String\("y"\);)272 4698 y(boolean)h(b3)f(=)f
(e1.equals\(e2\);)272 4818 y(System.out.println\(b3\);)314
b(//)51 b(=>)h(false)272 4939 y(})118 5059 y(})p eop
end
%%Page: 16 24
TeXDict begin 16 23 bop 118 100 a Fq(16)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.4)161
b(Arithmetic)52 b(Op)t(erations)118 583 y Fq(The)34 b(arithmetic)f(op)s
(erators)g(are:)118 804 y Fp(+,)52 b(-,)g(*,)g(/,)f(\045,)h(++,)g(--)
118 1025 y Fq(where)43 b Fp(\045)f Fq(is)h(the)f Fi(r)-5
b(emainder)43 b(op)-5 b(er)g(ator)41 b Fq(\(also)h(called)h
Fi(mo)-5 b(dulus)43 b(op)-5 b(er)g(ator)p Fq(\).)142
b(F)-8 b(or)42 b(example)118 1146 y Fp(23\0457)52 b(=)g(2)p
Fq(,)30 b(since)g Fp(23/7)52 b(=)g(3)29 b Fq(in)f(in)m(teger)i
(division)g(and)f(the)g(remainder)h(is)f(2.)42 b(The)29
b(op)s(erators)118 1266 y Fp(++)46 b Fq(and)f Fp(--)g
Fq(are)g(the)h(incremen)m(t)h(and)e(decremen)m(t)i(op)s(erators,)h
(resp)s(ectiv)m(ely)-8 b(.)84 b(W)-8 b(e)45 b(ha)m(v)m(e)h(a)118
1386 y(preincremen)m(t)40 b(op)s(erator)e Fp(++i)g Fq(and)g(a)g(p)s
(ostincremen)m(t)i(op)s(erator)d Fp(i++)h Fq(and)g(analogously)h(for)
118 1507 y(the)33 b(decremen)m(t)i(op)s(erator.)43 b(The)33
b(com)m(bined)i(op)s(erators)d(are)118 1728 y Fp(+=,)52
b(-=,)g(*=,)g(/=,)g(\045=)118 1949 y Fq(Th)m(us,)34 b(for)e(example,)
118 2169 y Fp(a)52 b(+=)f(b;)118 2390 y Fq(is)33 b(equiv)-5
b(alen)m(t)35 b(to)118 2611 y Fp(a)52 b(=)f(a)h(+)f(b;)118
2832 y Fq(The)24 b(supp)s(ort)g(for)f(constan)m(ts)i(in)f(Ja)m(v)-5
b(a)23 b(is)h(not)f(as)h(mature)g(as)f(that)h(pro)m(vided)g(b)m(y)h
(C++.)40 b(In)24 b(Ja)m(v)-5 b(a)118 2953 y(one)37 b(can)f(de\014ne)i
(constan)m(t)f(data)f(mem)m(b)s(ers)i(of)e(a)g(class.)56
b(The)38 b(k)m(eyw)m(ord)g(used)g(for)e(constan)m(ts)118
3073 y(is)d Fp(final)p Fq(.)45 b(F)-8 b(or)32 b(example)118
3294 y Fp(final)53 b(double)g(g)e(=)h(1.618;)118 3515
y(//)g(Arith.java)118 3756 y(public)h(class)g(Arith)118
3876 y({)323 3996 y(public)g(static)g(void)f(main\(String[])j(args\))
323 4117 y({)323 4237 y(int)d(a)g(=)f(7;)323 4358 y(int)h(b)g(=)f(8;)
323 4478 y(int)h(c)g(=)f(a)h(+)f(b;)323 4598 y
(System.out.println\(c\);)57 b(//)52 b(=>)g(15)323 4839
y(int)g(d)g(=)f(23;)323 4960 y(int)h(e)g(=)f(-25;)323
5080 y(int)h(f)g(=)f(d)h(-)f(e;)323 5200 y(System.out.println\(f\);)57
b(//)52 b(=>)g(48)323 5441 y(int)g(dd)g(=)g(5;)323 5561
y(dd++;)412 b(//)51 b(increment)j(operator)323 5682 y
(System.out.println\(dd\);)k(//)51 b(=>)h(6)p eop end
%%Page: 17 25
TeXDict begin 17 24 bop 118 100 a Fl(2.4.)76 b(ARITHMETIC)35
b(OPERA)-8 b(TIONS)1874 b Fq(17)323 485 y Fp(int)52 b(xx)g(=)g(-17;)323
605 y(xx--;)412 b(//)51 b(decrement)j(operator)323 725
y(System.out.println\(xx\);)k(//)51 b(=>)h(-18)323 966
y(short)h(k)e(=)h(\(short\))h(5;)323 1087 y(short)g(j)e(=)h(\(short\))h
(7;)323 1207 y(short)g(l)e(=)h(\(short\))h(\(k*j\);)323
1327 y(System.out.println\(l\);)k(//)52 b(=>)g(35)323
1568 y(long)h(n)e(=)h(3000000001L;)323 1688 y(long)h(m)e(=)h(2L;)323
1809 y(long)h(result)f(=)g(n/m;)257 b(//)52 b(integer)h(division)323
1929 y(System.out.println\(resul)q(t\);)58 b(//)51 b(=>)h(1500000000)
323 2170 y(long)h(remain)f(=)g(n\045m;)323 2290 y
(System.out.println\(remai)q(n\);)109 b(//)52 b(=>)f(1)h(remainder)323
2531 y(int)g(x)g(=)f(7;)323 2652 y(x)h(+=)g(-9;)821 b(//)51
b(short)i(cut)f(for)g(x)g(=)f(x)h(-)f(9;)323 2772 y
(System.out.println\(x\);)109 b(//)51 b(=>)h(-2)323 3013
y(double)h(z1)f(=)f(1.0;)323 3133 y(double)i(z2)f(=)f(3.0;)323
3253 y(//)h(floating)h(point)g(division)323 3374 y(double)g(z3)f(=)f
(z1/z2;)323 3494 y(System.out.println\("z3)57 b(=)52
b(")f(+)h(z3\);)g(//)g(=>)g(0.333333...)323 3735 y(double)h(d1)f(=)f
(3.14159;)323 3855 y(double)i(d2)f(=)f(2.1;)323 3976
y(d1)h(/=)g(d2;)411 b(//)51 b(short)i(cut)f(for)g(d1)g(=)g(d1/d2;)323
4096 y(System.out.println\(d1\);)109 b(//)52 b(=>)f(1.4959952...)323
4337 y(int)h(u)g(=)f(27;)323 4457 y(int)h(v)g(=)f(12;)323
4578 y(u)h(\045=)g(v;)820 b(//)52 b(short)h(cut)f(for)g(u)f(=)h
(u\045v;)323 4698 y(System.out.println\(u\);)57 b(//)52
b(=>)g(3)323 4818 y(})118 4939 y(})p eop end
%%Page: 18 26
TeXDict begin 18 25 bop 118 100 a Fq(18)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.5)161
b(Unico)t(de,)40 b(ASCI)t(I)g(T)-13 b(able,)41 b(and)e(T)l(yp)t(es)g
(Con)l(v)l(ersion)118 583 y Fi(Unic)-5 b(o)g(de)26 b
Fq(is)h(the)f(in)m(ternational)h(standard)g(c)m(haracter)g(set)g(that)f
(Ja)m(v)-5 b(a)27 b(uses)h(for)d(its)i Fp(String)h Fq(and)118
704 y Fp(StringBuffer)35 b Fq(classes.)45 b(Eac)m(h)32
b(co)s(de)g(is)g(a)f(16-bit)g(in)m(teger)h(with)h(unique)f(v)-5
b(alue)32 b(in)g(the)g(range)118 824 y(0)g(to)g(65)g(535.)43
b(These)34 b(v)-5 b(alues)33 b(are)f(usually)i(expressed)h(in)e
(hexadecimal)h(form.)43 b(F)-8 b(or)31 b(example,)118
944 y(the)e Fi(in\014nity)h(symb)-5 b(ol)27 b Fk(1)h
Fq(has)g(the)h(Unico)s(de)g(v)-5 b(alue)28 b(8734,)g(whic)m(h)h(is)g
(221E)f(in)g(hexadecimal.)44 b(In)118 1065 y(Ja)m(v)-5
b(a,)36 b(the)g(c)m(haracter)g(whose)h(Unico)s(de)f(is)g
Fp(hhhh)g Fq(in)g(hexadecimal)h(is)f(expressed)i(as)d
Fp(\\uhhhh)p Fq(.)118 1185 y(F)-8 b(or)29 b(example,)j(the)e(in\014nit)
m(y)i(sym)m(b)s(ol)f Fk(1)e Fq(is)i(expressed)h(as)e
Fp(\\u221E)p Fq(.)i(The)f(\014rst)f(127)f(v)-5 b(alues)31
b(are)118 1306 y(the)23 b(same)f(as)h(the)f(ASCI)s(I)h(Co)s(de)f
(\(American)h(Standard)f(Co)s(de)h(for)e(Information)h(In)m(terc)m
(hange\).)118 1426 y(The)i(follo)m(wing)e(program)g(sho)m(ws)j(the)e
(con)m(v)m(ersion)h(from)e Fp(char)i Fq(to)e Fp(int)h
Fq(and)g Fp(int)g Fq(to)f Fp(char)i Fq(where)118 1546
y(the)33 b(ASCI)s(I)g(table)g(is)g(tak)m(en)h(in)m(to)f(accoun)m(t.)118
1895 y Fp(//)52 b(Unicode.java)118 2136 y(public)h(class)g(Unicode)118
2256 y({)272 2377 y(public)g(static)g(void)f(main\(String[])j(args\))
272 2497 y({)272 2617 y(char)d(c1)g(=)g(\(char\))g(65;)206
b(//)52 b(type)g(conversion)i(ASCII)f(table)272 2738
y(System.out.println\(c1\);)k(//)52 b(=>)g('A')272 2978
y(char)g(c2)g(=)g(\(char\))g(97;)272 3099 y(System.out.println\(c2\);)
57 b(//)52 b(=>)g('a')272 3340 y(char)g(a)g(=)f(\(char\))i(3;)272
3460 y(System.out.println\(a\);)272 3701 y(int)f(i)g(=)f(\(int\))i
('A';)272 3821 y(System.out.println\(i\);)k(//)52 b(=>)g(65)272
4062 y(int)g(j)g(=)f(\(int\))i('a';)272 4182 y
(System.out.println\(j\);)k(//)52 b(=>)g(97)272 4423
y(int)g(k)g(=)f(\(int\))i('0';)272 4543 y(System.out.println\(k\);)k
(//)52 b(=>)g(48)272 4784 y(char)g(n)g(=)f('\\0';)463
b(//)52 b(null)g(character)272 4905 y(System.out.println\("n)57
b(=)51 b(")h(+)f(n\);)h(//)g(no)g(output)272 5145 y(char)g(inf)g(=)g
('\\u221E';)272 5266 y(System.out.println\("inf)57 b(=)52
b(")f(+)h(inf\);)g(//)g(=>)g(?)g(\(explain)h(why\))272
5386 y(})118 5506 y(})p eop end
%%Page: 19 27
TeXDict begin 19 26 bop 118 100 a Fl(2.5.)76 b(UNICODE,)33
b(ASCI)s(I)g(T)-8 b(ABLE,)34 b(AND)e(TYPES)i(CONVERSION)708
b Fq(19)118 364 y(In)30 b(the)f(follo)m(wing)h(program)e(w)m(e)j(sho)m
(w)f(ho)m(w)g(to)f(displa)m(y)h(degree)g(F)-8 b(ahrenheit,)31
b(degree)f(Celsius,)118 485 y(in\014nit)m(y)k(\()p Fp(hex)52
b(221E)p Fq(\))34 b(and)e(the)h(Euro)g(\()p Fp(hex)52
b(20AC)p Fq(\).)118 671 y Fp(//)g(UniCode.java)118 912
y(import)h(java.awt.*;)118 1033 y(import)g(java.awt.event.*;)118
1273 y(class)g(UniCode)g(extends)g(Frame)118 1394 y({)323
1514 y(Label)g(label1,)g(label2,)g(label3,)g(label4;)323
1755 y(UniCode\(String)i(s\))323 1875 y({)323 1996 y(super\(s\);)323
2116 y(setSize\(200,200\);)323 2236 y(addWindowListener\(new)i
(WindowAdapter\(\))323 2357 y({)52 b(public)h(void)f
(windowClosing\(WindowEvent)58 b(event\))323 2477 y({)52
b(System.exit\(0\);)j(}}\);)323 2718 y(setLayout\(new)g
(FlowLayout\(\)\);)323 2838 y(label1)e(=)f(new)g(Label\(")668
b("\);)323 2959 y(label1.setFont\(new)56 b(Font\("TimesRoman)g(12)c
(point)g(bold.",20,20\)\);)323 3079 y(add\(label1\);)323
3199 y(label2)h(=)f(new)g(Label\(")668 b("\);)323 3320
y(label2.setFont\(new)56 b(Font\("TimesRoman)g(12)c(point)g
(bold.",20,20\)\);)323 3440 y(add\(label2\);)323 3561
y(label3)h(=)f(new)g(Label\(")668 b("\);)323 3681 y
(label3.setFont\(new)56 b(Font\("TimesRoman)g(12)c(point)g
(bold.",20,20\)\);)323 3801 y(add\(label3\);)323 3922
y(label4)h(=)f(new)g(Label\(")668 b("\);)323 4042 y
(label4.setFont\(new)56 b(Font\("TimesRoman)g(12)c(point)g
(bold.",20,20\)\);)323 4163 y(add\(label4\);)323 4283
y(label1.setText\("\\u00B0F")q(\);)323 4403 y
(label2.setText\("\\u00B0C")q(\);)323 4524 y
(label3.setText\("\\u221E"\))q(;)323 4644 y
(label4.setText\("\\u20AC"\))q(;)323 4764 y(setVisible\(true\);)323
4885 y(})323 5126 y(public)h(static)g(void)f(main\(String[])j(args\))
323 5246 y({)323 5366 y(new)d(UniCode\("Example"\);)323
5487 y(})118 5607 y(})p eop end
%%Page: 20 28
TeXDict begin 20 27 bop 118 100 a Fq(20)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.6)161
b(Precedence)51 b(T)-13 b(able)118 583 y Fi(Pr)-5 b(e)g(c)g(e)g(denc)g
(e)27 b Fq(is)i(the)f(priorit)m(y)h(system)h(for)e(grouping)g
(di\013eren)m(t)h(t)m(yp)s(es)g(of)f(op)s(erators)g(with)h(their)118
704 y(op)s(erands.)80 b(Ja)m(v)-5 b(a,)47 b(C)e(and)g(C++)f(ha)m(v)m(e)
i(precedence)h(rules)f(that)e(determine)i(the)f(order)g(of)118
824 y(ev)-5 b(aluation)28 b(in)f(expressions)j(that)d(con)m(tain)h
(more)f(than)h(one)f(op)s(erator.)41 b(When)28 b(t)m(w)m(o)g(op)s
(erators)118 944 y(ha)m(v)m(e)49 b(unequal)g(precedence)i(the)d(op)s
(erator)f(with)h(higher)g(precedence)j(is)d(ev)-5 b(aluated)48
b(\014rst.)118 1065 y(Op)s(erators)32 b(with)h(equal)g(precedence)i
(are)d(ev)-5 b(aluated)33 b(from)f(left)h(to)f(righ)m(t.)43
b(F)-8 b(or)32 b(example,)i(the)118 1185 y(fourth)e(line)i(of)e(the)h
(co)s(de)g(fragmen)m(t)118 1414 y Fp(int)52 b(a)g(=)f(5;)118
1534 y(int)h(b)g(=)f(6;)118 1654 y(int)h(c)g(=)f(-1;)118
1775 y(int)h(r)g(=)f(a*b)h(+)g(c;)154 b(//)52 b(=>)g(29)118
1895 y(int)g(s)g(=)f(a*\(b)i(+)e(c\);)h(//)g(=>)g(25)118
2123 y Fq(con)m(tains)38 b(three)g(op)s(erations,)g(namely)g
Fp(=,)52 b(*,)g(+)p Fq(.)k(After)37 b(the)h(precedence)h(table)e(the)h
(m)m(ulti-)118 2244 y(plication)j(op)s(erators)g(is)g(applied)g
(\014rst,)j(then)d(the)g(addition)g(op)s(erator)f(and)h(\014nally)g
(the)g(as-)118 2364 y(signmen)m(t.)58 b(Th)m(us)38 b
Fp(r)f Fq(tak)m(es)i(the)e(v)-5 b(alue)37 b(29.)56 b(In)37
b(the)h(expression)h Fp(a*\(b+c\))f Fq(w)m(e)g(\014rst)g(ev)-5
b(aluate)118 2484 y Fp(b+c)33 b Fq(and)g(then)g(m)m(ultiply)i(with)e
Fp(a)p Fq(.)43 b(Th)m(us)35 b(the)e(output)f(for)g Fp(s)h
Fq(is)g(25.)118 2725 y(The)h(op)s(erator)f Fp(++)h Fq(is)g(the)g
(incremen)m(t)h(op)s(erator,)e(it)g(incremen)m(ts)j(b)m(y)f(1.)45
b(W)-8 b(e)34 b(ha)m(v)m(e)h(to)e(k)m(eep)i(in)118 2846
y(mind)30 b(that)f(there)h(is)g(a)f(pre\014x)i(incremen)m(t)g(and)e(a)g
(p)s(ost\014x)h(incremen)m(t.)45 b(They)31 b(are)e(at)g(di\013eren)m(t)
118 2966 y(places)d(at)d(the)i(precedence)i(table.)41
b(A)24 b(lot)g(of)g(confusion)h(in)f(literature)h(is)g(ab)s(out)e(the)i
(incremen)m(t)118 3086 y(and)41 b(decremen)m(t)i(op)s(erators,)f
Fp(++)f Fq(and)g Fp(--)p Fq(,)i(resp)s(ectiv)m(ely)-8
b(.)70 b(Let)41 b Fp(x)g Fq(b)s(e)g(an)f(in)m(teger.)69
b(There)42 b(is)118 3207 y(a)36 b Fi(pr)-5 b(eincr)g(ement)38
b(op)-5 b(er)g(ator)36 b Fp(++x)h Fq(and)g(a)f Fi(p)-5
b(ostincr)g(ement)38 b(op)-5 b(er)g(ator)36 b Fp(x++)p
Fq(.)56 b(The)38 b(preincremen)m(t)118 3327 y(op)s(erator)32
b(is)h(at)g(the)g(top)g(of)f(the)h(precedence)i(table)e(and)g(p)s
(ostincremen)m(t)i(op)s(erator)d(is)h(at)g(the)118 3448
y(b)s(ottom)i(of)f(precedence)k(table.)51 b(Notice)36
b(that)f(the)g(p)s(ostincremen)m(t)j(op)s(erator)c(is)i(ev)m(en)g(b)s
(elo)m(w)118 3568 y(the)d(assignmen)m(t)h(op)s(erator)e
Fp(=)p Fq(.)44 b(The)34 b(same)f(applies)h(for)e(the)h(decremen)m(t)i
(op)s(erator)c Fp(--)p Fq(.)118 3809 y(The)39 b(access)h(op)s(erator)89
b Fp(.)h Fq(is)39 b(higher)f(in)h(the)f(precedence)j(table)e(than)f
(the)h(m)m(ultiplication)118 3929 y(op)s(erator.)118
4170 y(The)d(op)s(erators)f Fp(*)h Fq(\(m)m(ultiply\),)h
Fp(/)f Fq(\(division\))g(and)g Fp(\045)f Fq(\(remainder\))i(ha)m(v)m(e)
f(equal)g(precedence.)118 4290 y(Op)s(erators)24 b(with)i(equal)f
(precedence)i(are)d(ev)-5 b(aluated)25 b(from)g(left)f(to)g(righ)m(t.)
41 b(All)25 b(three)g(op)s(erators)118 4411 y(ha)m(v)m(e)34
b(higher)f(precedence)i(than)e(the)g(assignmen)m(t)h(op)s(erator)e
Fp(=)p Fq(.)44 b(F)-8 b(or)32 b(example)118 4639 y Fp(int)52
b(m)g(=)f(27;)118 4759 y(int)h(n)g(=)f(8;)118 4880 y(int)h(p)g(=)f(5;)
118 5120 y(int)h(r1)g(=)g(m/n\045p;)104 b(//)51 b(=>)h(3)118
5241 y(int)g(r2)g(=)g(m\045n/p;)104 b(//)51 b(=>)h(0)118
5469 y Fq(C)33 b(and)g(C++)f(follo)m(w)h(the)g(same)h(rules)f(for)f
(these)i(op)s(erators.)p eop end
%%Page: 21 29
TeXDict begin 21 28 bop 118 100 a Fl(2.6.)76 b(PRECEDENCE)34
b(T)-8 b(ABLE)2160 b Fq(21)118 364 y(Fill)33 b(in)f(the)h(output)g(for)
f(the)h(follo)m(wing)g(program.)43 b(Then)34 b(run)f(the)g(program)f
(and)h(compare.)118 671 y Fp(public)53 b(class)g(Preced)118
792 y({)272 912 y(public)g(static)g(void)f(main\(String[])j(args\))272
1033 y({)272 1153 y(int)d(a)g(=)f(7;)272 1273 y(a++;)272
1394 y(++a;)272 1514 y(System.out.println\(a\);)57 b(//)52
b(=>)272 1755 y(int)g(b)g(=)f(5,)h(c)f(=)h(7;)272 1875
y(int)g(r1)g(=)f(c*b++;)272 1996 y(System.out.println\(r1\);)57
b(//)52 b(=>)272 2236 y(System.out.println\(b\);)108
b(//)52 b(=>)272 2477 y(int)g(d)g(=)f(5,)h(e)f(=)h(7;)272
2598 y(int)g(r2)g(=)f(d*\(e++\);)272 2718 y(System.out.println\(r2\);)
57 b(//)52 b(=>)272 2959 y(int)g(f)g(=)f(5,)h(g)f(=)h(7;)272
3079 y(int)g(r3)g(=)f(f*++g;)272 3199 y(System.out.println\(r3\);)57
b(//)52 b(=>)272 3440 y(int)g(n)g(=)f(23;)272 3561 y(int)h(m)g(=)f(5;)
272 3801 y(int)h(s1)g(=)f(n/m;)272 3922 y(System.out.println\(s1\);)57
b(//)52 b(=>)272 4163 y(int)g(s2)g(=)f(n\045m;)272 4283
y(System.out.println\(s2\);)57 b(//)52 b(=>)272 4524
y(int)g(p)g(=)f(3;)272 4644 y(int)h(s3)g(=)f(n/m\045p;)272
4764 y(System.out.println\(s3\);)57 b(//)52 b(=>)272
5005 y(int)g(i)g(=)f(12;)272 5126 y(int)h(j)g(=)f(12;)272
5246 y(System.out.println\(i++\);)58 b(//)51 b(=>)272
5366 y(System.out.println\(++j\);)58 b(//)51 b(=>)272
5487 y(})118 5607 y(})p eop end
%%Page: 22 30
TeXDict begin 22 29 bop 118 100 a Fq(22)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.7)161
b(Arra)l(ys)118 583 y Fq(An)43 b Fi(arr)-5 b(ay)43 b
Fq(is)h(a)f(set)g(of)g(elemen)m(ts)i(with)f(the)f(same)h(data)f(t)m(yp)
s(e.)76 b(The)43 b(\014rst)h(subscript)h(of)d(a)118 704
y(Ja)m(v)-5 b(a,)29 b(C)g(and)g(C++)g(arra)m(y)f(is)h(0)g(and)f(the)h
(last)g(subscript)h(is)f(1)f(less)i(than)f(the)g(n)m(um)m(b)s(er)h
(used)f(to)118 824 y(declare)35 b(the)g(arra)m(y)-8 b(.)48
b(Th)m(us)36 b(an)e(arra)m(y)g(is)h(a)f(con)m(tiguous)h(region)f(of)g
(storage,)h(large)f(enough)g(to)118 944 y(hold)h(all)f(its)g(elemen)m
(ts.)51 b(The)35 b(elemen)m(ts)i(in)d(the)h(arra)m(y)f(are)h(accessed)h
(using)f(the)g(rectangular)118 1065 y(brac)m(k)m(et)f
Fp([])p Fq(.)118 1306 y(An)f(arra)m(y)g(can)g(b)s(e)f(declared)i(and)f
(initialized)h(in)e(a)h(single)g(statemen)m(t.)45 b(F)-8
b(or)32 b(example)221 1534 y Fp(int)52 b(vec[])g(=)g({)f(1,)h(78,)g
(12,)g(5)g(};)118 1762 y Fq(allo)s(cates)40 b(memory)g(for)f(four)h(in)
m(teger)g(v)-5 b(ariables,)42 b(initializes)f(these)g(memory)f(p)s
(ositions)h(for)118 1883 y(the)29 b(in)m(teger)g(v)-5
b(alues.)43 b(The)29 b(length)g(of)f(an)g(arra)m(y)h(of)e(basic)j(data)
d(t)m(yp)s(es)j(or)e(abstract)h(data)f(t)m(yp)s(es)118
2003 y(can)33 b(b)s(e)g(found)f(with)i(the)f Fp(length)h
Fq(command.)44 b(F)-8 b(or)32 b(example)118 2231 y Fp(int)52
b(l)g(=)f(vec.length;)118 2352 y(System.out.println\(l\);)57
b(//)52 b(=>)g(4)118 2580 y Fq(W)-8 b(e)32 b(can)g(also)g(use)g(the)g
Fp(new)h Fq(op)s(erator)e(to)g(allo)s(cate)h(memory)g(for)f(the)i(arra)
m(y)e(and)h(then)g(assign)118 2700 y(the)h(v)-5 b(alues.)45
b(An)m(y)33 b(v)-5 b(alid)33 b(data)f(t)m(yp)s(e)i(can)e(b)s(e)h(allo)s
(cated)g(using)g Fp(new)p Fq(.)44 b(F)-8 b(or)32 b(example)118
2929 y Fp(int)52 b(vec[])h(=)e(new)h(int[4];)118 3049
y(vec[0])h(=)f(1;)f(vec[1])i(=)f(78;)g(vec[2])h(=)e(12;)h(vec[3])h(=)f
(5;)118 3277 y Fq(Ja)m(v)-5 b(a)31 b(pro)m(vides)h(automatic)f(memory)g
(managemen)m(t.)44 b(It)31 b(allo)s(cates)g(a)f(p)s(ortion)g(of)g
(memory)i(as)118 3398 y(and)k(when)h(required.)56 b(When)37
b(memory)g(is)f(short,)h(it)f(lo)s(oks)h(for)e(areas)h(whic)m(h)i(are)e
(no)g(longer)118 3518 y(referenced.)45 b(These)31 b(areas)f(of)g
(memory)h(are)f(then)g(freed)h(up)f(\(deallo)s(cated\))g(so)g(that)g
(they)h(can)118 3638 y(b)s(e)i(reallo)s(cated.)44 b(This)33
b(pro)s(cess)h(is)f(often)g(referred)g(to)g(as)f Fi(garb)-5
b(age)34 b(c)-5 b(ol)5 b(le)-5 b(ction)p Fq(.)43 b(The)33
b(line)118 3867 y Fp(int)52 b(vec[])h(=)e(new)h(int[4];)118
4095 y Fq(can)33 b(also)g(b)s(e)f(written)i(as)118 4323
y Fp(int[])53 b(vec)f(=)f(new)h(int[4];)118 4552 y Fq(T)-8
b(o)38 b(access)i(arra)m(y)e(elemen)m(ts)i(one)e(uses)h(the)f(index)i
(notation)d(and)h(the)g(rectangular)g(brac)m(k)m(et)118
4672 y Fp([])p Fq(.)44 b(F)-8 b(or)32 b(example)118 4900
y Fp(int)52 b(result)h(=)f(vec[1]*vec[2];)118 5129 y
Fq(The)40 b(class)g Fp(Arrays)h Fq(can)e(b)s(e)g(used)i(to)d(do)h(op)s
(erations)h(on)f(arra)m(ys)g(of)g(basic)h(data)e(t)m(yp)s(es,)43
b(for)118 5249 y(example)118 5477 y Fp(equals\(\),)105
b(fill\(\),)f(sort\(\),)h(binarySearch\(\))p eop end
%%Page: 23 31
TeXDict begin 23 30 bop 118 100 a Fl(2.7.)76 b(ARRA)-8
b(YS)2806 b Fq(23)118 364 y Fp(//)52 b(Marray.java)118
485 y(//)g(one-dimensional)j(arrays)118 725 y(public)e(class)g(Marray)
118 846 y({)221 966 y(public)g(static)f(void)h(main\(String[])h(args\))
221 1087 y({)221 1207 y(int)e(intnumbers[])i(=)e({)f(-2,)h(4,)g(5,)g
(6,)g(7,)f(11,)i(-19,)f(-23,)g(89,)g(-9)g(};)221 1327
y(//)f(the)i(line)221 1448 y(//)e(int)i(intnumbers[10])h(=)e({)g(-2,)g
(4,)f(5,)h(6,)g(7,)g(11,)g(-19,)g(-23,)h(89,)f(-9)f(};)221
1568 y(//)g(would)i(give)f(the)g(error)h(message:)221
1688 y(//)e(can't)i(specify)g(array)g(dimension)g(in)f(a)g(type)g
(expression)221 1929 y(int)g(sum)g(=)f(0;)221 2050 y(for\(int)i
(i=0;i)h(2)272 3013 y
(System.out.println\("lengt)q(h2)57 b(=)52 b(")f(+)h(length2\);)i(//)d
(=>)h(2)272 3253 y(int)g(array[][])i(=)d({)h({)f(-1,)h(1)g(},)g({)f(2,)
h(-7)g(}};)272 3374 y(int)g(result)h(=)e(0;)272 3494
y(for\(int)i(i=0;i<2;i++\))272 3615 y({)272 3735 y(for\(int)g
(j=0;j<2;j++\))272 3855 y({)272 3976 y(result)g(+=)f(array[i][j];)272
4096 y(})272 4216 y(})272 4337 y(System.out.println\(result)q(\);)272
4457 y(})118 4578 y(})118 4698 y(//)g(in)g(C++)g(we)g(must)g(apply)g
(twice)h(the)118 4818 y(//)f(new)g(operator)h(to)f(allocate)i(the)e
(memory.)118 4939 y(//)118 5059 y(//)g(The)g(line)118
5180 y(//)g(int)g(array[2][2])i(=)e({{)f(-1,)i(1)e(},)h({)f(2,)h(-7)g
(}};)118 5300 y(//)g(is)g(not)g(allowed.)118 5420 y(//)g(Error)h
(message.)g(Can't)f(specify)i(array)e(dimension)118 5541
y(//)g(in)g(type)g(expression.)p eop end
%%Page: 26 34
TeXDict begin 26 33 bop 118 100 a Fq(26)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 485 y Fp(//)52
b(ThreeArr.java)118 605 y(//)g(three)h(dimensional)h(arrays)118
846 y(public)f(class)g(ThreeArr)118 966 y({)272 1087
y(public)g(static)g(void)f(main\(String[])j(args\))272
1207 y({)272 1327 y(int)d(three[][][])i(=)e(new)g(int[2][2][2];)272
1448 y(three[0][0][0])j(=)c(-1;)272 1568 y(three[0][0][1])k(=)c(1;)272
1688 y(three[0][1][0])k(=)c(-9;)272 1809 y(three[0][1][1])k(=)c(11;)272
1929 y(three[1][0][0])k(=)c(2;)272 2050 y(three[1][0][1])k(=)c(-7;)272
2170 y(three[1][1][0])k(=)c(20;)272 2290 y(three[1][1][1])k(=)c(8;)272
2531 y(int)h(sum)g(=)g(0;)272 2652 y(int)g(i,)g(j,)g(k;)272
2772 y(for\(i=0;i<=1;i++\))272 2892 y(for\(j=0;j<=1;j++\))272
3013 y(for\(k=0;k<=1;k++\))272 3133 y({)272 3253 y(sum)g(+=)g
(three[i][j][k];)272 3374 y(})272 3494 y(System.out.println\(sum\);)272
3735 y(int)g(array[][][])i(=)272 3855 y({{{)e(-1,)g(1)g(},)f({)h(-9,)g
(11)g(}},)g({{)g(2,)f(-7)h(},)g({)g(20,)g(8)f(}}};)272
3976 y(int)h(result)h(=)e(0;)272 4096 y(for\(i=0;i<=1;i++\))272
4216 y(for\(j=0;j<=1;j++\))272 4337 y(for\(k=0;k<=1;k++\))272
4457 y({)272 4578 y(result)i(+=)f(array[i][j][k];)272
4698 y(})272 4818 y(System.out.println\(result)q(\);)272
4939 y(})118 5059 y(})118 5180 y(//)g(In)g(C++)g(the)g(new)g(operator)
118 5300 y(//)g(must)g(be)g(applied)h(three)g(times)118
5420 y(//)f(to)g(allocate)h(the)f(memory.)p eop end
%%Page: 27 35
TeXDict begin 27 34 bop 118 100 a Fl(2.7.)76 b(ARRA)-8
b(YS)2806 b Fq(27)118 364 y(Arra)m(ys)41 b(of)f(basic)h(data)e(t)m(yp)s
(es)j(in)e(Ja)m(v)-5 b(a)40 b(are)g(classes.)68 b(This)41
b(means)g(the)g(arra)m(y)f(iden)m(ti\014er)i(is)118 485
y(actually)31 b(a)g(handle)g(to)g(a)f(true)h(ob)5 b(ject)31
b(that)g(is)g(created)h(on)e(the)h(heap.)44 b(The)31
b(heap)g(ob)5 b(ject)32 b(can)118 605 y(b)s(e)37 b(created)h(either)f
(implicitly)-8 b(,)39 b(as)e(part)g(of)f(the)h(arra)m(y)g
(initialization)g(syn)m(tax,)j(or)c(explicitly)118 725
y(with)d(a)g Fp(new)g Fq(expression.)118 966 y(The)40
b(follo)m(wing)f(t)m(w)m(o)h(programs)f(demonstrate)h(this)g(b)s(eha)m
(viour.)63 b(In)40 b(the)f(\014rst)g(program)g(w)m(e)118
1087 y(o)m(v)m(erride)34 b(the)f(metho)s(d)118 1315 y
Fp(protected)54 b(Object)f(clone\(\))118 1543 y Fq(from)24
b(the)h Fp(Object)g Fq(class)g(to)f(mak)m(e)h(a)f(cop)m(y)h(of)f(the)h
(arra)m(y)-8 b(.)40 b(Ov)m(erriding)26 b(o)s(ccurs)f(when)g(a)f(metho)s
(d)118 1664 y(is)33 b(de\014ned)h(in)f(a)f(class)i(and)f(also)f(in)h
(one)g(of)f(its)h(sub)s(classes.)118 1904 y(Class)i Fp(Object)g
Fq(is)f(the)h(ro)s(ot)d(of)h(the)i(class)f(hierarc)m(h)m(y)-8
b(.)49 b(Ev)m(ery)35 b(class)g(has)f Fp(Object)h Fq(as)f(a)g(sup)s(er-)
118 2025 y(class.)45 b(All)33 b(ob)5 b(jects,)34 b(including)f(arra)m
(ys,)h(implemen)m(t)g(the)f(metho)s(ds)h(of)e(this)h(class.)118
2265 y(In)k(the)g(second)h(program)e(w)m(e)i(sho)m(w)g(ho)m(w)f
(assignmen)m(t)h(of)e(t)m(w)m(o)i(arra)m(ys)f(w)m(orks.)57
b(Assignmen)m(t)118 2386 y(of)32 b(t)m(w)m(o)h(arra)m(ys)h(can)f(b)s(e)
f(v)m(ery)i(dangerous)g(as)e(the)h(output)g(of)f(the)h(program)f(sho)m
(ws.)118 2614 y Fp(//)52 b(ArrClone.java)118 2855 y(public)h(class)g
(ArrClone)118 2975 y({)221 3096 y(public)g(static)f(void)h
(main\(String[])h(args\))221 3216 y({)221 3336 y(int[])e(vec)g(=)g(new)
g(int[3];)221 3457 y(vec[0])h(=)e(2;)h(vec[1])h(=)e(4;)h(vec[2])h(=)e
(-5;)221 3698 y(int[])h(vecClone)i(=)d(\(int[]\))i(vec.clone\(\);)221
3938 y(for\(int)g(i=0;i)154 b(greater)53 b(than)118 2470 y(>=)103 b(greater)53
b(than)g(or)e(equal)i(to)118 2590 y(<)154 b(less)53 b(than)118
2711 y(<=)103 b(less)53 b(than)f(or)g(equal)g(to)118
2831 y(==)103 b(equal)53 b(to)118 2951 y(!=)103 b(not)52
b(equal)h(to)118 3180 y Fq(F)-8 b(or)32 b(the)h(basic)g(data)f(t)m(yp)s
(e)i Fp(boolean)g Fq(w)m(e)g(ha)m(v)m(e)118 3408 y Fp(==)103
b(equal)53 b(to)118 3528 y(!=)103 b(not)52 b(equal)h(to)118
3757 y Fq(F)-8 b(or)32 b(example)118 3985 y Fp(int)52
b(x)g(=)f(234567;)118 4105 y(int)h(y)g(=)f(234568;)118
4226 y(if\(x)h(==)g(y\))g(...)118 4467 y(boolean)h(b1)f(=)g(false;)118
4587 y(boolean)h(b2)f(=)g(true;)118 4707 y(if\(b1)h(!=)f(b2\))g(...)118
4936 y Fq(T)-8 b(o)35 b(compare)g(strings)g(the)g(op)s(erator)f
Fp(==)h Fq(should)g(not)f(b)s(e)h(used)g(instead)h(w)m(e)f(ha)m(v)m(e)h
(to)e(use)i(the)118 5056 y(metho)s(ds)e Fp(equals\(\))p
Fq(.)118 5297 y(Selection)50 b(or)e(\015o)m(w-con)m(trol)h(statemen)m
(ts)h(select)g(from)e(alternativ)m(e)i(courses)g(of)e(action)g(b)m(y)
118 5417 y(testing)24 b(certain)g(v)-5 b(alues.)42 b(There)25
b(are)e(t)m(w)m(o)h(t)m(yp)s(es)h(of)e(selection)i(statemen)m(ts:)41
b(the)24 b Fp(if)52 b(...)g(else)118 5538 y Fq(and)33
b(the)g Fp(switch)p Fq(.)p eop end
%%Page: 30 38
TeXDict begin 30 37 bop 118 100 a Fq(30)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fj(2.8.2)136
b(The)45 b(if)g(Statemen)l(t)118 549 y Fq(The)30 b Fp(if)g
Fq(statemen)m(t)h(consists)g(of)e(the)h Fp(if)g Fq(k)m(eyw)m(ord)h
(follo)m(w)m(ed)g(b)m(y)f(a)f(test)h(expression)i(in)d(paren-)118
669 y(theses,)37 b(and)d(a)g(single)i(or)e(comp)s(ound)h(statemen)m(t.)
50 b(The)35 b(statemen)m(t)h(is)f(executed)h(if)f(the)f(test)118
790 y(expression)f(is)f Fp(true)p Fq(,)g(or)f(skipp)s(ed)i(if)e(the)g
(expression)i(is)f Fp(false)p Fq(.)44 b(The)32 b Fp(if)g
Fq(statemen)m(t)g(has)g(the)118 910 y(follo)m(wing)h(pattern)118
1108 y Fp(if\(cond-expression\))56 b(t-st)d()118
1306 y Fq(The)c Fp(cond-expression)i Fq(m)m(ust)e(b)s(e)f(of)f(scalar)h
(t)m(yp)s(e.)86 b(The)48 b(expression)h(is)e(ev)-5 b(aluated.)86
b(If)118 1426 y(the)51 b(v)-5 b(alue)51 b(is)g(zero)g(\(or)f
Fp(NULL)i Fq(for)e(p)s(oin)m(ter)h(t)m(yp)s(es)h(in)f(C)g(and)g(C++\),)
k(w)m(e)d(sa)m(y)f(that)g(the)118 1546 y Fp(cond-expression)g
Fq(is)d(false;)55 b(otherwise,)d(it)47 b(is)h(true.)88
b(If)47 b(there)h(is)f(no)g Fp(else)i Fq(clause)f(and)118
1667 y Fp(cond-expression)53 b Fq(is)c(true,)k Fp(t-st)d
Fq(is)f(executed;)59 b(otherwise,)c Fp(t-st)49 b Fq(is)h(ignored.)92
b(If)49 b(the)118 1787 y(optional)31 b Fp(else)i(f-st)f
Fq(is)g(presen)m(t)h(and)e Fp(cond-expression)36 b Fq(is)31
b(true,)h Fp(t-st)h Fq(is)f(executed;)i(oth-)118 1907
y(erwise,)e Fp(t-st)e Fq(is)g(ignored)g(and)g Fp(f-st)g
Fq(is)g(executed.)45 b(Ja)m(v)-5 b(a)29 b(has)h(a)f(b)s(o)s(olean)g
(data)g(t)m(yp)s(e.)44 b(C)30 b(do)s(es)118 2028 y(not)38
b(ha)m(v)m(e)h(a)f(sp)s(eci\014c)h(Bo)s(olean)f(data)g(t)m(yp)s(e)g
(and)h(only)f(new)m(er)h(C++)g(compiler)f(ha)m(v)m(e)i(a)d(data)118
2148 y(t)m(yp)s(e)j Fp(bool)p Fq(.)65 b(An)m(y)40 b(expression)i(of)d
(in)m(teger)h(or)f(p)s(oin)m(ter)h(t)m(yp)s(e)g(can)f(serv)m(e)i(a)e
(Bo)s(olean)g(role)h(in)118 2269 y(conditional)30 b(tests.)44
b(In)30 b(Ja)m(v)-5 b(a)30 b(the)h(expression)h(is)e(alw)m(a)m(ys)i(ev)
-5 b(aluated)30 b(to)g Fp(true)h Fq(or)e Fp(false)p Fq(.)44
b(The)118 2389 y(relational)31 b(expression)i Fp(\(a)52
b(>)g(b\))31 b Fq(\(if)g(legal\))g(ev)-5 b(aluates)31
b(to)g Fp(int)h Fq(1)e(\(true\))h(if)g Fp(\(a)52 b(>)g(b\))p
Fq(,)31 b(and)g(to)118 2509 y Fp(int)i Fq(0)g(\(false\))g(if)f
Fp(\(a)52 b(<=)g(b\))p Fq(.)118 2707 y Fp(//)g(Mif.java)118
2948 y(class)h(Mif)118 3068 y({)374 3189 y(public)g(static)g(void)f
(main\(String[])j(args\))374 3309 y({)374 3429 y(int)e(x)e(=)h(-5;)374
3550 y(if\(x)h(!=)f(0\))374 3670 y(System.out.println\("val)q(ue)57
b(is)52 b(nonzero"\);)105 b(//)52 b(=>)g(value)h(is)e(nonzero)374
3911 y(int)i(y)e(=)h(7;)374 4031 y(if\(y)h(>)e(0\))374
4152 y(System.out.println\("pos)q(itiv)q(e"\);)374 4272
y(else)i(System.out.println\("negati)q(ve"\))q(;)211
b(//)52 b(=>)g(positive)374 4513 y(char)h(c1)f(=)f('a';)104
b(char)52 b(c2)g(=)f('b';)374 4633 y(if\(c1)i(==)f(c2\))374
4754 y(System.out.println\("the)58 b(same"\);)374 4874
y(else)53 b(System.out.println\("not)k(the)52 b(same"\);)h(//)f(=>)g
(not)g(the)g(same)374 5115 y(double)h(u)f(=)f(3.140;)156
b(double)53 b(v)e(=)h(3.141;)374 5235 y(boolean)i(b)d(=)h(\(u)f(!=)h
(v\);)374 5355 y(System.out.println\("boo)q(lean)58 b(value)52
b(")g(+)g(b\);)g(//)f(=>)h(true)374 5476 y(})118 5596
y(})p eop end
%%Page: 31 39
TeXDict begin 31 38 bop 118 100 a Fl(2.8.)76 b(CONTR)m(OL)33
b(ST)-8 b(A)g(TEMENTS)2018 b Fq(31)118 364 y Fj(2.8.3)136
b(The)45 b(for)g(Lo)t(op,)g(while)g(Lo)t(op,)g(do-while)h(Lo)t(op)118
549 y Fq(Iteration)32 b(statemen)m(ts)i(let)e(us)g(lo)s(op)f(a)h(set)g
(of)g(statemen)m(ts.)45 b(There)33 b(are)f(three)g(forms)g(of)f(itera-)
118 669 y(tion)i(in)f(Ja)m(v)-5 b(a,)33 b(C)g(and)g(C++:)43
b Fp(while)p Fq(,)34 b Fp(do-while)p Fq(,)h(and)e Fp(for)g
Fq(lo)s(ops.)118 910 y(The)h(general)f(format)f(for)g(the)h
Fp(while)h Fq(statemen)m(t)g(is)118 1138 y Fp(while\(cond-exp\))55
b(t-st)118 1367 y Fq(The)37 b(lo)s(op)e(statemen)m(t,)j(t-st,)f(will)f
(b)s(e)h(executed)h(rep)s(eatedly)f(un)m(til)f(the)h(conditional)f
(expres-)118 1487 y(sion,)30 b(cond-exp,)h(compares)f(to)f(zero)g
(\(false\).)43 b(The)29 b(cond-exp)h(is)g(ev)-5 b(aluated)29
b(and)g(tested)h(\014rst.)118 1608 y(If)41 b(this)g(v)-5
b(alue)42 b(is)f(nonzero)g(\(true\),)j(t-st,)e(is)g(executed.)70
b(If)41 b(no)g(jump)g(statemen)m(ts)i(that)d(exit)118
1728 y(from)33 b(the)h(lo)s(op)f(is)g(encoun)m(tered,)j(cond-exp)e(is)g
(ev)-5 b(aluated)34 b(again.)45 b(This)35 b(cycle)f(rep)s(eats)g(un)m
(til)118 1848 y(cond-exp)g(is)f(zero.)118 2089 y(The)h
Fp(while)f Fq(lo)s(op)f(o\013ers)h(a)f(concise)i(metho)s(d)f(for)f
(scanning)i(strings)f(\(end)g(of)f(string)h(indicate)118
2209 y(b)m(y)h(the)f(n)m(ull)g(c)m(haracter)g Fp('\\0')p
Fq(\))h(and)f(other)f(n)m(ull-terminated)i(data)e(structures.)118
2450 y(The)i(general)f(format)f(for)g(the)h Fp(do-while)h
Fq(statemen)m(t)g(is)118 2678 y Fp(do)52 b(do-st)h(while\(cond-exp\);)
118 2907 y Fq(The)31 b Fp(do-st)f Fq(statemen)m(t)i(is)e(executed)h
(rep)s(eatedly)g(un)m(til)g Fp(cond-exp)g Fq(compares)g(equal)f(to)g
(zero)118 3027 y(\(false\).)61 b(The)39 b(main)g(di\013erence)h(from)e
(the)h Fp(while)g Fq(statemen)m(t)h(is)f(that)f Fp(cond-exp)i
Fq(is)f(tested)118 3148 y(after,)32 b(rather)f(than)h(b)s(efore,)f(eac)
m(h)i(execution)g(of)e(the)h(lo)s(op)f(statemen)m(t.)44
b(A)m(t)32 b(least)g(one)g(execu-)118 3268 y(tion)h(of)f
Fp(do-st)i Fq(is)f(assured.)118 3509 y(The)h Fp(for)f
Fq(statemen)m(t)h(format)e(in)h(Ja)m(v)-5 b(a,)32 b(C)h(and)g(C++)g(is)
118 3737 y Fp(for\(;)q(;\))58 b(statement)118 3965 y Fq(The)39 b(sequence)h(of)d(ev)m(en)m
(ts)i(is)f(as)g(follo)m(ws.)59 b(The)38 b(initializing)h(expression)g
Fp(init-exp)p Fq(,)i(if)c(an)m(y)-8 b(,)118 4086 y(is)38
b(executed.)60 b(This)38 b(usually)g(initializes)h(one)f(or)f(more)g
(lo)s(op)g(coun)m(ters,)j(but)d(the)h(syn)m(tax)h(al-)118
4206 y(lo)m(ws)h(an)f(expression)i(of)d(an)m(y)i(degree)f(of)g
(complexit)m(y)i(\(including)f(declarations)f(in)g(Ja)m(v)-5
b(a,)41 b(C)118 4326 y(and)34 b(C++\).)49 b(The)35 b(expression)i
Fp(test-exp)f Fq(is)f(ev)-5 b(aluated)35 b(follo)m(wing)f(the)h(rules)g
(of)f(the)h Fp(while)118 4447 y Fq(lo)s(op.)70 b(If)41
b Fp(test-exp)j Fq(is)e(non-zero)f(\(true\),)j(the)e(lo)s(op)f
(statemen)m(t)i(is)f(executed.)73 b(An)42 b(empt)m(y)118
4567 y(expression)33 b(here)e(is)g(tak)m(en)h(as)f Fp(while\(1\))p
Fq(,)i(that)d(is,)i(alw)m(a)m(ys)g(true.)43 b(If)31 b(the)g(v)-5
b(alue)31 b(of)f Fp(test-exp)118 4688 y Fq(is)41 b(zero)f(\(false\),)j
(the)e Fp(for)g Fq(lo)s(op)e(terminates.)68 b(The)42
b(statemen)m(t)f Fp(increment-exp)j Fq(adv)-5 b(ances)118
4808 y(one)31 b(or)e(more)i(coun)m(ters.)44 b(The)31
b(expression)i Fp(statement)f Fq(\(p)s(ossible)g(empt)m(y\))f(is)g(ev)
-5 b(aluated)31 b(and)118 4928 y(con)m(trol)i(returns)h(to)e(the)h
(expression)i Fp(test-exp)p Fq(.)118 5169 y(One)26 b(can)f(break)h(out)
f(of)g(a)g(blo)s(c)m(k)h(of)f(statemen)m(ts)i(\(t)m(ypically)g(an)e
(iterativ)m(e)i(blo)s(c)m(k\))f(using)g(Ja)m(v)-5 b(a's)118
5290 y Fp(break)31 b Fq(statemen)m(t.)43 b(This)31 b(is)f(usually)g
(not)f(the)h(preferred)g(metho)s(d)f(and)h(should)g(only)f(b)s(e)h
(used)118 5410 y(if)j(other)f(metho)s(ds)i(are)e(excessiv)m(ely)37
b(cum)m(b)s(ersome.)p eop end
%%Page: 32 40
TeXDict begin 32 39 bop 118 100 a Fq(32)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(The)h
Fp(while)g Fq(lo)s(op)f(is)g(the)h(most)f(general)g(lo)s(op)g(and)g
(can)g(b)s(e)g(used)h(to)f(replace)h(the)f(other)g(t)m(w)m(o;)118
485 y(in)39 b(other)f(w)m(ords,)k(a)c Fp(while)h Fq(lo)s(op)f(is)h(all)
g(w)m(e)g(need,)i(and)e(the)g(others)g(are)f(just)h(there)g(for)f(our)
118 605 y(con)m(v)m(enience.)118 954 y Fp(//)52 b(Loops.java)118
1074 y(//)g(for)g(loop,)h(while)f(loop,)h(do-while)g(loop)118
1194 y(//)f(we)g(apply)g(the)g(for-loop,)i(while-loop)g(and)e
(do-while-loop)118 1315 y(//)g(to)g(find)g(the)g(sum)g(1)g(+)f(2)h(+)f
(3)h(+)f(...)h(+)g(9)f(+)h(10)118 1556 y(class)h(Loops)118
1676 y({)272 1796 y(public)g(static)g(void)f(main\(String[])j(args\))
272 1917 y({)272 2037 y(int)d(n)g(=)f(10;)272 2278 y(int)h(s1)g(=)f(0;)
272 2398 y(int)h(j;)272 2519 y(for\(j=1;j<=n;j++\))272
2639 y({)272 2759 y(s1)g(=)f(s1)h(+)g(j;)154 b(//)52
b(can)g(also)g(be)g(written)h(as)f(s1)g(+=)f(j;)272 2880
y(})272 3000 y(System.out.println\(s1\);)109 b(//=>)103
b(55)272 3241 y(int)52 b(i)g(=)f(0;)272 3361 y(int)h(s2)g(=)f(0;)272
3482 y(while\(i)i(<=)f(n\))272 3602 y({)272 3722 y(s2)g(=)f(s2)h(+)g
(i;)272 3843 y(i++;)272 3963 y(})272 4084 y(System.out.println\(s2\);)
109 b(//)51 b(=>)h(55)272 4324 y(int)g(k)g(=)f(0;)272
4445 y(int)h(s3)g(=)f(0;)272 4565 y(do)272 4686 y({)272
4806 y(s3)h(+=)g(k;)272 4926 y(k++;)272 5047 y(})f(while\(k)j(<=)d
(n\);)272 5167 y(System.out.println\(s3\);)57 b(//)52
b(=>)g(55)272 5287 y(})118 5408 y(})p eop end
%%Page: 33 41
TeXDict begin 33 40 bop 118 100 a Fl(2.8.)76 b(CONTR)m(OL)33
b(ST)-8 b(A)g(TEMENTS)2018 b Fq(33)118 364 y(In)40 b(the)g(follo)m
(wing)g(program)f(w)m(e)i(use)g(three)f Fp(for)h Fq(lo)s(ops)e(to)h
(generate)g(all)g(com)m(binations)h(for)118 485 y(three)33
b(capital)g(letters,)h(i.e.)118 713 y Fp(AAA,)52 b(AAB,)h(...)f(,)f
(ZZY,)i(ZZZ)118 941 y Fq(There)34 b(are)1432 1182 y(26)22
b Fk(\002)h Fq(26)e Fk(\002)i Fq(26)k(=)h(17576)118 1356
y(com)m(binations.)43 b(W)-8 b(e)28 b(compare)h(them)f(to)f(a)h(giv)m
(en)h(string)f(consisting)h(of)e(three)h(capital)g(letters.)118
1477 y(If)39 b(the)g(string)f(is)h(found)g(w)m(e)h(displa)m(y)g(it.)61
b(The)40 b(metho)s(d)e Fp(equals\(\))j Fq(in)e(the)g
Fp(String)h Fq(class)g(is)118 1597 y(used.)118 1825 y
Fp(//)52 b(Password.java)118 2066 y(public)h(class)g(Password)118
2187 y({)272 2307 y(public)g(static)g(void)f(main\(String[])j(args\))
272 2427 y({)272 2548 y(String)e(password)g(=)f(new)g(String\("XYA"\);)
272 2668 y(int)g(i,)g(j,)g(k;)272 2788 y(for\(i=65;i<91;i++\))272
2909 y({)272 3029 y(for\(j=65;j<91;j++\))272 3150 y({)272
3270 y(for\(k=65;k<91;k++\))272 3390 y({)272 3511 y(char)g(c1)g(=)g
(\(char\))g(i;)103 b(//)52 b(type)h(conversion)h(ASCII)e(table)272
3631 y(char)g(c2)g(=)g(\(char\))g(j;)272 3752 y(char)g(c3)g(=)g
(\(char\))g(k;)272 3872 y(char)g(data[])h(=)f({)f(c1,)h(c2,)g(c3)g(};)
154 b(//)52 b(array)h(of)f(characters)272 3992 y(String)h(s)e(=)h(new)g
(String\(data\);)208 b(//)52 b(conversion)i(to)e(String)272
4113 y(boolean)h(found)g(=)e(password.equals\(s\);)272
4233 y(if\(found)i(==)f(true\))272 4353 y({)272 4474
y(System.out.println\("passw)q(ord)58 b(=)51 b(")h(+)f(s\);)272
4594 y(System.exit\(0\);)272 4715 y(})g(//)h(end)g(if)272
4835 y(})f(//)h(end)g(k-for)h(loop)272 4955 y(})e(//)h(end)g(j-for)h
(loop)272 5076 y(})e(//)h(end)g(i-for)h(loop)272 5196
y(})e(//)h(end)g(main)118 5317 y(})p eop end
%%Page: 34 42
TeXDict begin 34 41 bop 118 100 a Fq(34)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(A)d
Fi(p)-5 b(olygon)29 b Fq(is)i(a)e(closed)i(plane)g(\014gure)f(with)h
Fh(n)f Fq(sides.)44 b(If)30 b(all)f(sides)j(and)e(angles)g(are)g(equiv)
-5 b(alen)m(t)118 485 y(the)33 b(p)s(olygon)g(is)g(called)g(regular.)44
b(The)33 b(area)g(of)f(a)g(planar)g(con)m(v)m(ex)j(p)s(olygon)e(with)g
(v)m(ertices)1199 725 y(\()p Fh(x)1292 740 y Fg(0)1332
725 y Fh(;)17 b(y)1424 740 y Fg(0)1462 725 y Fq(\))p
Fh(;)50 b Fq(\()p Fh(x)1670 740 y Fg(1)1710 725 y Fh(;)17
b(y)1802 740 y Fg(1)1841 725 y Fq(\))p Fh(;)33 b(:::)17
b(;)g Fq(\()p Fh(x)2174 740 y Ff(n)p Fe(\000)p Fg(1)2311
725 y Fh(;)g(y)2403 740 y Ff(n)p Fe(\000)p Fg(1)2539
725 y Fq(\))118 900 y(is)33 b(giv)m(en)h(b)m(y)848 1187
y Fh(A)28 b Fq(=)1063 1120 y(1)p 1063 1164 49 4 v 1063
1256 a(2)1138 1080 y Ff(n)p Fe(\000)p Fg(1)1145 1104
y Fd(X)1147 1287 y Ff(i)p Fg(=0)1271 1187 y Fq(\()p Fh(x)1364
1202 y Ff(i)1393 1187 y Fh(y)1441 1202 y Ff(i)p Fg(+1)1581
1187 y Fk(\000)22 b Fh(x)1735 1202 y Ff(i)p Fg(+1)1854
1187 y Fh(y)1902 1202 y Ff(i)1930 1187 y Fq(\))p Fh(;)211
b(x)2261 1202 y Ff(n)2337 1187 y Fk(\021)28 b Fh(x)2497
1202 y Fg(0)2537 1187 y Fh(;)49 b(y)2661 1202 y Ff(n)2736
1187 y Fk(\021)28 b Fh(y)2889 1202 y Fg(0)118 1426 y
Fq(The)e(follo)m(wing)g(program)f(\014nds)h(the)g(area)f(of)g(a)g(giv)m
(en)i(planar)e(con)m(v)m(ex)j(p)s(olygon.)41 b(The)26
b(p)s(olygon)118 1547 y(in)37 b(the)g(program)g(is)g(the)g(unit)g
(square.)58 b(W)-8 b(e)37 b(apply)g(the)g Fi(mo)-5 b(dulus)39
b(op)-5 b(er)g(ator)36 b Fp(\045)h Fq(to)g(iden)m(tify)h
Fh(n)118 1667 y Fq(and)33 b(0.)118 1896 y Fp(//)52 b(Polygon.java)118
2136 y(public)h(class)g(Polygon)118 2257 y({)272 2377
y(public)g(static)g(void)f(main\(String[])j(args\))272
2497 y({)272 2618 y(double[])e(x)f(=)f(new)h(double[4];)272
2738 y(double[])h(y)f(=)f(new)h(double[4];)272 2979 y(x[0])g(=)g(0.0;)
103 b(x[1])53 b(=)e(1.0;)104 b(x[2])52 b(=)g(1.0;)103
b(x[3])53 b(=)e(0.0;)272 3099 y(y[0])h(=)g(0.0;)103 b(y[1])53
b(=)e(0.0;)104 b(y[2])52 b(=)g(1.0;)103 b(y[3])53 b(=)e(1.0;)272
3340 y(double)i(area)f(=)g(0.0;)272 3461 y(int)g(length)h(=)e
(x.length;)272 3701 y(for\(int)i(i=0;i)g(1.0)272
4544 y(})118 4664 y(})p eop end
%%Page: 35 43
TeXDict begin 35 42 bop 118 100 a Fl(2.8.)76 b(CONTR)m(OL)33
b(ST)-8 b(A)g(TEMENTS)2018 b Fq(35)118 364 y Fj(2.8.4)136
b(The)45 b(switc)l(h)g(Statemen)l(t)118 549 y Fq(Often)36
b(an)g(algorithm)g(con)m(tains)h(a)f(series)i(of)e(decisions)i(in)e
(whic)m(h)i(a)e(v)-5 b(ariable)36 b(or)g(expression)118
669 y(is)46 b(tested)h(separately)g(for)e(eac)m(h)i(of)e(the)h(constan)
m(t)h(in)m(tegral)f(v)-5 b(alues)46 b(it)g(ma)m(y)g(assume,)51
b(and)118 790 y(di\013eren)m(t)34 b(actions)f(are)f(tak)m(en.)44
b(Ja)m(v)-5 b(a,)33 b(C)g(and)f(C++)h(pro)m(vide)g(the)g(switc)m(h)h(m)
m(ultiple-selection)118 910 y(structure)e(to)e(handle)i(suc)m(h)g
(decision)g(making.)44 b(The)31 b Fp(switch)h Fq(structure)g(consists)h
(of)d(a)g(series)118 1031 y(of)i Fp(case)i Fq(lab)s(els,)f(and)g(an)f
(optional)h Fp(default)h Fq(case.)118 1271 y(Th)m(us)48
b(if)e(one)g(has)h(a)f(large)g(decision)i(tree)e(and)h(all)f(the)g
(decisions)j(dep)s(end)e(on)f(the)h(v)-5 b(alue)118 1392
y(of)32 b(the)h(same)g(v)-5 b(ariable)33 b(w)m(e)h(use)f(a)f
Fp(switch)i Fq(statemen)m(t)g(instead)g(of)e(a)g(series)i(of)e
Fp(if)52 b(...)g(else)118 1512 y Fq(constructions.)43
b(The)28 b Fp(switch)h Fq(statemen)m(t)f(transfers)g(con)m(trol)f(to)g
(one)g(of)f(sev)m(eral)j(case-lab)s(eled)118 1632 y(statemen)m(ts,)i
(dep)s(ending)f(on)e(the)h(v)-5 b(alue)28 b(of)g(the)h(switc)m(h)h
(expression.)44 b(Note)29 b(that)f(if)g(the)h Fp(break)118
1753 y Fq(is)48 b(omitted,)k(execution)d(will)f(con)m(tin)m(ue)h(o)m(v)
m(er)g(the)e(remaining)h(statemen)m(ts)i(in)d(the)h(switc)m(h)118
1873 y(blo)s(c)m(k.)c(The)34 b Fp(break)g Fq(statemen)m(t)g(can)f(also)
f(b)s(e)h(used)h(to)e(break)h(out)g(of)f(an)g(iteration)h(lo)s(op.)118
2114 y(The)h Fp(switch)g Fq(statemen)m(t)g(uses)g(the)f(follo)m(wing)g
(basic)g(format)118 2342 y Fp(switch\(sw-expression\))57
b(case-st)118 2571 y Fq(A)48 b Fp(switch)h Fq(statemen)m(t)g(allo)m(ws)
g(us)f(to)f(transfer)h(con)m(trol)g(to)f(one)h(of)f(sev)m(eral)j
(case-lab)s(eled)118 2691 y(statemen)m(ts,)40 b(dep)s(ending)e(on)f
(the)g(v)-5 b(alue)38 b(of)e(the)i Fp(sw-expression)p
Fq(.)60 b(The)37 b(latter)g(m)m(ust)h(b)s(e)g(of)118
2811 y(in)m(tegral)h(t)m(yp)s(e)g(\()p Fp(byte)p Fq(,)i
Fp(short)p Fq(,)g Fp(int)p Fq(,)g Fp(long)p Fq(\))e(or)f
Fp(char)p Fq(.)62 b(In)39 b(Ja)m(v)-5 b(a,)39 b(C++)g(and)f(C)h(it)f
(also)h(can)118 2932 y(b)s(e)c(of)e(class)j(t)m(yp)s(e)f(pro)m(vided)h
(that)e(there)h(is)g(an)f(unam)m(biguous)i(con)m(v)m(ersion)g(to)e(in)m
(tegral)h(t)m(yp)s(e)118 3052 y(a)m(v)-5 b(ailable.)52
b(An)m(y)37 b(statemen)m(t)g(in)e Fp(case-st)j Fq(\(including)e(empt)m
(y)h(statemen)m(ts\))g(can)f(b)s(e)f(lab)s(eled)118 3172
y(with)e(one)g(or)f(more)h(case)h(lab)s(els.)118 3401
y Fp(case)52 b(const-exp-i:case-st-i)118 3629 y Fq(There)34
b(can)f(also)f(b)s(e)h(at)f(most)h(one)g Fp(default)i
Fq(lab)s(el.)118 3857 y Fp(default:default-st)118 4086
y Fq(After)h(ev)-5 b(aluating)35 b Fp(sw-expression)p
Fq(,)40 b(a)35 b(matc)m(h)h(is)g(sough)m(t)g(with)h(one)e(of)g(the)h
Fp(const-exp-i)p Fq(.)118 4206 y(If)f(a)f(matc)m(h)i(is)f(found,)g(con)
m(trol)g(passes)h(to)f(the)g(statemen)m(t)h Fp(case-st-i)h
Fq(with)e(the)g(matc)m(hing)118 4326 y(case)44 b(lab)s(el.)75
b(If)42 b(no)h(matc)m(h)h(is)f(found)g(and)g(there)h(is)f(a)g
Fp(default)i Fq(lab)s(el,)h(con)m(trol)d(passes)h(to)118
4447 y Fp(default-st)p Fq(.)92 b(If)48 b(no)g(matc)m(h)h(is)g(found)f
(and)g(there)g(is)h(no)f Fp(default)i Fq(lab)s(el,)i(none)c(of)g(the)
118 4567 y(statemen)m(ts)40 b(in)f Fp(case-st)h Fq(is)e(executed.)63
b(Program)38 b(execution)i(is)f(not)f(a\013ected)h(when)g
Fp(case)118 4688 y Fq(and)g Fp(default)i Fq(lab)s(els)e(are)g(encoun)m
(tered.)64 b(Con)m(trol)39 b(simply)i(passes)f(through)f(the)g(lab)s
(els)g(to)118 4808 y(the)46 b(follo)m(wing)f(statemen)m(t)h(or)f
Fp(switch)p Fq(.)82 b(T)-8 b(o)46 b(stop)f(execution)i(at)d(the)i(end)f
(of)g(a)g(group)g(of)118 4928 y(statemen)m(ts)35 b(for)d(a)g
(particular)h(case,)g(use)h Fp(break)p Fq(.)118 5169
y(The)g(program)e(illustrates)i(the)f(syn)m(tax)h(of)e(the)h(Ja)m(v)-5
b(a)33 b(selection)h(statemen)m(t)g Fp(switch)p Fq(.)p
eop end
%%Page: 36 44
TeXDict begin 36 43 bop 118 100 a Fq(36)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fp(//)52
b(SwitchT.java)118 605 y(import)h(java.awt.*;)118 725
y(import)g(java.io.DataInputStream;)118 846 y(import)g
(java.io.IOException;)118 1087 y(class)g(SwitchT)118
1207 y({)272 1327 y(public)g(static)g(void)f(main\(String[])j(args\))d
(throws)h(IOException)272 1448 y({)272 1568 y
(System.out.println\("enter)58 b(character:)c("\);)272
1809 y(//)e(reading)h(a)e(charater)j(from)e(the)g(keyboard)272
1929 y(DataInputStream)j(s)d(=)f(new)h(DataInputStream\(System.i)q
(n\);)272 2050 y(char)g(c)g(=)f(\(char\))i(s.readByte\(\);)106
b(//)52 b(type)g(conversion)272 2290 y(//)g(The)g(command)272
2411 y(//)g(char)g(c)g(=)f(s.readChar\(\);)272 2531 y(//)h(will)g(not)g
(properly)h(work.)272 2652 y(//)f(It)g(always)g(gives)h(the)f(output)
272 2772 y(//)g(you)g(did)g(not)g(enter)g('a')h(or)e('b'.)i(Explain)g
(why)f(!)272 3013 y(System.out.println\(c\);)272 3253
y(switch\(c\))272 3374 y({)272 3494 y(case)g('a':)426
3615 y(System.out.println\("you)57 b(entered)c('a')f("\);)426
3735 y(break;)272 3976 y(case)g('b':)426 4096 y
(System.out.println\("you)57 b(entered)c('b')f("\);)426
4216 y(break;)272 4457 y(default:)426 4578 y(System.out.println\("you)
57 b(did)52 b(not)g(enter)h('a')f(or)g('b')g("\);)426
4698 y(break;)272 4818 y(})272 4939 y(})118 5059 y(})p
eop end
%%Page: 37 45
TeXDict begin 37 44 bop 118 100 a Fl(2.8.)76 b(CONTR)m(OL)33
b(ST)-8 b(A)g(TEMENTS)2018 b Fq(37)118 364 y(The)50 b(metho)s(d)g
Fp(char)i(charAt\(int\))g Fq(is)e(in)f(the)h Fp(String)h
Fq(class)f(and)f(returns)h(the)g(c)m(harac-)118 485 y(ter)f(at)f(the)h
(p)s(osition)f(sp)s(eci\014ed)j(in)d(the)h(argumen)m(t)g(coun)m(ting)h
(from)e(zero.)91 b(The)50 b(metho)s(d)118 605 y Fp(int)i(length\(\))35
b Fq(is)e(in)g(the)g Fp(String)h Fq(class)g(and)e(\014nds)i(the)f
(length)g(of)f(a)g(string.)118 833 y Fp(//)52 b(MSwitch.java)118
1074 y(public)h(class)g(MSwitch)118 1194 y({)272 1315
y(public)g(static)g(void)f(main\(String[])j(args\))272
1435 y({)272 1556 y(String)e(s)e(=)h(new)g(String\("bella"\);)272
1796 y(for\(int)h(i=0;i)f(0\))h(&&)g(\(y)g(>)f(0\)\);)118 3265
y(System.out.println\(result)q(\);)58 b(//)51 b(=>)h(false)118
3493 y Fq(The)34 b(\014rst)f(expression)i(is)e Fp(false)g
Fq(th)m(us)h(the)f(second)h(expression)h(is)e(not)f(ev)-5
b(aluated.)118 3734 y(W)d(arning.)74 b(Lo)s(ok)43 b(out)f(for)g(the)i
(op)s(erator)e(precedence.)76 b(F)-8 b(or)42 b(example)j(the)e
(relational)g(op-)118 3854 y(erators)e(\()g Fp(<)52 b(>)103
b(==)p Fq(\))41 b(ha)m(v)m(e)i(higher)f(precedence)h(than)f(the)f
(logical)g(AND)g(op)s(erator.)69 b(Note)118 3975 y(that)118
4203 y Fp(if\(!n\))118 4431 y Fq(is)33 b(equiv)-5 b(alen)m(t)35
b(to)118 4660 y Fp(if\(n==0\))118 4888 y Fq(The)f(logical)f(op)s
(erators)g(should)h(not)f(b)s(e)g(confused)h(with)g(the)f(bit)m(wise)i
(op)s(erators)e Fp(&)p Fq(,)g Fp(|)p Fq(,)h Fp(~)p Fq(.)45
b(In)118 5008 y(Ja)m(v)-5 b(a,)30 b(C)g(and)g(C++)g(the)g(bit)m(wise)h
(AND)f(op)s(erator)f(is)h Fp(&)p Fq(,)g(the)h(bit)m(wise)g(OR)e(op)s
(erator)g(is)h Fp(|)p Fq(,)h(and)118 5129 y(the)i(bit)m(wise)i(NOT)d
(is)i Fp(~)p Fq(.)p eop end
%%Page: 39 47
TeXDict begin 39 46 bop 118 100 a Fl(2.9.)76 b(LOGICAL)32
b(AND,)h(LOGICAL)f(OR)g(AND)h(LOGICAL)f(NOT)826 b Fq(39)118
364 y Fp(//)52 b(Logic.java)118 605 y(public)h(class)g(Logic)118
725 y({)272 846 y(public)g(static)g(void)f(main\(String[])j(args\))272
966 y({)272 1087 y(int)d(a)g(=)f(5;)272 1207 y(if\(\(a)i(>)e(0\))h(&&)g
(\(a\0452)g(==)g(0\)\))272 1327 y(System.out.println\("numbe)q(r)57
b(is)52 b(positive)h(and)f(even"\);)272 1568 y(int)g(b)g(=)f(7;)272
1688 y(if\(\(b)i(>)e(0\))h(||)g(\(b\0452)g(==)g(0\)\))272
1809 y(System.out.println\("numbe)q(r)57 b(is)52 b(positive)h(or)f
(even"\);)272 2050 y(char)g(d)g(=)f('A';)272 2170 y(char)h(e)g(=)f
('B';)272 2290 y(char)h(f)g(=)f('C';)272 2411 y(if\(\(d)i(!=)e(e\))h
(&&)g(\(d)g(!=)f(f\))h(&&)g(\(e)g(!=)g(f\)\))272 2531
y(System.out.println\("chara)q(cter)q(s)57 b(are)52 b(different"\);)272
2772 y(int)g(c)g(=)f(1;)272 2892 y(if\(!\(c)i(==)f(0\)\))272
3013 y(System.out.println\("numbe)q(r)57 b(is)52 b(nonzero"\);)272
3253 y(int)g(x)g(=)f(\(int\))i(\(Math.random\(\)*100.0\);)272
3374 y(int)f(y)g(=)f(\(int\))i(\(Math.random\(\)*100.0\);)272
3494 y(boolean)g(bool)f(=)g(\(\(x)g(>)f(10\))i(&&)e(\(y)h(<)g(50\)\);)
272 3615 y(System.out.println\("bool)58 b(=)51 b(")h(+)f(bool\);)272
3735 y(})118 3855 y(})p eop end
%%Page: 40 48
TeXDict begin 40 47 bop 118 100 a Fq(40)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.10)160
b(Bit)l(wise)52 b(Op)t(erations)118 583 y Fq(The)44 b
Fi(bitwise)g(op)-5 b(er)g(ations)42 b Fq(in)h(Ja)m(v)-5
b(a,)46 b(C)e(and)f(C++)g(are:)65 b(bit)m(wise)44 b(AND)f
Fp(&)p Fq(,)j(bit)m(wise)f(OR)e Fp(|)p Fq(,)118 704 y(bit)m(wise)36
b(X)m(OR)f Fp(^)f Fq(and)h(bit)m(wise)h(NOT)f Fp(~)p
Fq(.)49 b(T)-8 b(o)35 b(understand)h(the)f(bit)m(wise)h(op)s(eration)e
(w)m(e)h(recall)118 824 y(that)23 b(ev)m(ery)i(in)m(teger)f(n)m(um)m(b)
s(er)h(can)e(b)s(e)h(written)g(in)f Fi(binary)j(notation)p
Fq(.)40 b(F)-8 b(or)23 b(example)i(the)e(in)m(teger)118
944 y(n)m(um)m(b)s(er)34 b(14)e(\(i.)44 b(e.)f(base)34
b(10\))e(can)h(b)s(e)f(written)i(as)1154 1185 y(14)27
b(=)h(1)21 b Fk(\001)h Fq(2)1552 1144 y Fg(3)1614 1185
y Fq(+)g(1)g Fk(\001)f Fq(2)1881 1144 y Fg(2)1943 1185
y Fq(+)h(1)g Fk(\001)f Fq(2)2210 1144 y Fg(1)2272 1185
y Fq(+)h(0)g Fk(\001)g Fq(2)2540 1144 y Fg(0)2595 1185
y Fh(:)118 1360 y Fq(Th)m(us)31 b(in)f(binary)g(w)m(e)h(can)e(express)j
(14)d(\(base)h(10\))f(as)h(bitstring)g(1110.)41 b(If)30
b(14)f(is)h(of)f(t)m(yp)s(e)h Fp(int)g Fq(\(4)118 1480
y(b)m(ytes)d(=)e(32)g(bits\))g(the)h(binary)g(represen)m(tation)h(is)e
Fp(00000000000000000000000)q(0000)q(0111)q(0)p Fq(.)118
1600 y(The)34 b(bit)m(wise)g(op)s(erations)f(are)f(as)h(follo)m(ws.)118
1829 y Fp(bitwise)53 b(AND)f(&)118 1949 y(1)g(1)f(=>)h(1)118
2069 y(0)g(1)f(=>)h(0)118 2190 y(1)g(0)f(=>)h(0)118 2310
y(0)g(0)f(=>)h(0)118 2538 y(bitwise)h(inclusive)h(OR)e(|)118
2659 y(1)g(1)f(=>)h(1)118 2779 y(1)g(0)f(=>)h(1)118 2900
y(0)g(1)f(=>)h(1)118 3020 y(0)g(0)f(=>)h(0)118 3248 y(bitwise)h
(exclusive)h(OR)e(^)f(\(XOR\))118 3369 y(1)h(1)f(=>)h(0)118
3489 y(1)g(0)f(=>)h(1)118 3609 y(0)g(1)f(=>)h(1)118 3730
y(0)g(0)f(=>)h(0)118 3958 y(bitwise)h(NOT)f(operator)i(~)d(\(one's)i
(complement\))118 4079 y(0)f(=>)f(1)118 4199 y(1)h(=>)f(0)118
4427 y Fq(As)35 b(an)f(example)i(consider)g(the)f(t)m(w)m(o)g
(\(decimal\))g(n)m(um)m(b)s(ers)h(14)e(and)h(9)f(of)g(data)g(t)m(yp)s
(e)h Fp(int)p Fq(,)g(i.e.)118 4548 y(the)d(size)g(is)g(4)f(b)m(ytes)j
(\(32)c(bits\).)44 b(In)32 b(binary)g(9)f(is)h(giv)m(en)g(b)m(y)g
(1001.)43 b(Th)m(us)32 b(the)g(bit)m(wise)h(AND)f(of)118
4668 y(these)i(in)m(tegers)g(is)118 4896 y Fp(00000000)54
b(00000000)f(00000000)g(00001001)118 5017 y(00000000)h(00000000)f
(00000000)g(00001110)118 5137 y(-------------------------)q(---)q(----)
q(---)118 5257 y(00000000)h(00000000)f(00000000)g(00001000)118
5486 y Fq(Th)m(us)34 b(the)f(result)h(of)e(the)h(bit)m(wise)h(AND)f(op)
s(eration)f(is)h(8\(=)27 b(2)2439 5450 y Fg(3)2478 5486
y Fq(\))33 b(in)g(decimal.)p eop end
%%Page: 41 49
TeXDict begin 41 48 bop 118 100 a Fl(2.10.)76 b(BITWISE)34
b(OPERA)-8 b(TIONS)2050 b Fq(41)118 364 y(All)35 b(mo)s(dern)g(CPU's)h
(use)g(the)f Fi(two)i(c)-5 b(omplement)33 b Fq(to)h(\014nd)h(the)g
(negativ)m(e)h(n)m(um)m(b)s(er)g(of)f(a)f(giv)m(en)118
485 y(in)m(teger)d(n)m(um)m(b)s(er,)i(for)d(example)i
Fp(23)51 b(->)h(-23)31 b Fq(and)g Fp(-14)52 b(->)g(14)p
Fq(.)43 b(The)32 b(t)m(w)m(o)f(complemen)m(t)h(con-)118
605 y(sists)i(of)e(the)h(one)g(complemen)m(t)i Fp(~)d
Fq(and)h(then)g(adding)g(a)f(1)h(to)f(the)h(least)g(signi\014can)m(t)h
(bit.)118 833 y Fp(//)52 b(Bitwise.java)118 1074 y(public)h(class)g
(Bitwise)118 1194 y({)272 1315 y(public)g(static)g(void)f
(main\(String[])j(args\))272 1435 y({)272 1556 y(int)d(r1)g(=)f(14;)104
b(//)51 b(binary)i(1110)272 1676 y(int)f(r2)g(=)f(7;)155
b(//)51 b(binary)105 b(111)272 1796 y(int)52 b(r3)g(=)f(r1)h(&)g(r2;)
272 1917 y(System.out.println\(r3\);)57 b(//)52 b(=>)g(6)f(=)h
(110binary)272 2037 y(int)g(r4)g(=)f(r1)h(|)g(r2;)272
2158 y(System.out.println\(r4\);)57 b(//)52 b(=>)g(15)g(=)f(1111binary)
272 2278 y(int)h(r5)g(=)f(r1)h(^)g(r2;)272 2398 y
(System.out.println\(r5\);)57 b(//)52 b(=>)g(9)f(=)h(1001binary)272
2639 y(//)g(using)g(XOR)g(^)g(to)g(initialize)i(an)d(integer)j(to)d
(zero)272 2759 y(int)h(r6;)272 2880 y(r6)g(=)f(234;)272
3000 y(r6)h(=)f(r6)h(^)g(r6;)272 3121 y(System.out.println\(r6\);)57
b(//)52 b(=>)g(0)272 3361 y(//)g(bitwise)h(NOT)f(\(one)g(complement\))
272 3482 y(int)g(r7)g(=)f(~r1;)272 3602 y(System.out.println\(r7\);)57
b(//)52 b(=>)g(-15)272 3843 y(//)g(capital)h(letter)g(to)e(small)i
(letter)g(conversion)h(using)e(OR)272 3963 y(char)g(c)g(=)f('A';)272
4084 y(int)h(ic)g(=)f(\(int\))i(c;)272 4204 y(ic)f(=)f(ic)h(|)g(32;)272
4324 y(c)f(=)h(\(char\))h(ic;)272 4445 y(System.out.println\("c)k(=)51
b(")h(+)f(c\);)104 b(//)51 b(=>)h(c)g(=)f(a)272 4686
y(//)h(two)g(complement)i(to)d(find)i(the)f(negative)h(number)272
4806 y(//)f(of)g(a)f(given)i(number)272 4926 y(//)f(The)g(operation)h
(~)f(gives)h(the)f(one)g(complement)272 5047 y(//)g(and)g(then)g(we)g
(add)g(1)f(to)h(find)h(the)f(two)g(complement)272 5167
y(int)g(r8)g(=)f(\(~r1\))i(+)e(1;)272 5287 y(System.out.println\(r8\);)
57 b(//)52 b(=>)g(-14)272 5408 y(})118 5528 y(})p eop
end
%%Page: 42 50
TeXDict begin 42 49 bop 118 100 a Fq(42)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.11)160
b(Shift)53 b(Op)t(erations)118 583 y Fq(The)30 b Fi(shift)i(op)-5
b(er)g(ators)28 b Fq(in)i(Ja)m(v)-5 b(a,)30 b(C)f(and)g(C++)h(are)f
Fp(<<)g Fq(and)h Fp(>>)p Fq(.)42 b(The)31 b(left)e(shift)g(op)s(erator)
g(is)h Fp(<<)118 704 y Fq(and)37 b(the)g(righ)m(t)g(shift)h(op)s
(erator)e(is)h Fp(>>)p Fq(.)57 b(In)37 b(the)h(expression)h
Fp(E1)51 b(<<)h(E2)38 b Fq(and)f Fp(E1)51 b(>>)h(E2)p
Fq(,)39 b(the)118 824 y(op)s(erands)32 b Fp(E1)f Fq(and)g
Fp(E2)h Fq(m)m(ust)g(b)s(e)f(of)g(in)m(tegral)g(t)m(yp)s(e.)44
b(The)32 b(normal)f(in)m(tegral)g(t)m(yp)s(e)h(con)m(v)m(ersions)118
944 y(are)45 b(p)s(erformed)g(on)g Fp(E1)g Fq(and)g Fp(E2)p
Fq(,)j(and)d(the)g(t)m(yp)s(e)h(of)e(the)h(result)h(is)f(the)g(t)m(yp)s
(e)h(of)e(the)h(t)m(yp)s(e)118 1065 y(con)m(v)m(erted)32
b Fp(E1)p Fq(.)43 b(If)29 b Fp(E2)i Fq(is)f(negativ)m(e)h(or)e(is)h
(greater)g(than)f(or)h(equal)g(to)g(the)g(width)g(in)g(bits)g(of)f
Fp(E1)p Fq(,)118 1185 y(the)39 b(op)s(eration)f(is)g(unde\014ned.)63
b(The)39 b(result)g(of)f Fp(E1)52 b(<<)g(E2)38 b Fq(is)h(the)g(v)-5
b(alue)38 b Fp(E1)h Fq(left-shifted)g(b)m(y)118 1306
y Fp(E2)e Fq(bit)f(p)s(ositions,)i(zero-\014lled)f(from)f(the)h(righ)m
(t)f(if)g(necessary)-8 b(.)57 b(If)36 b Fp(E1)h Fq(is)f(of)g(signed)h
(t)m(yp)s(e,)i(the)118 1426 y(\014ll)e(from)g(the)g(left)g(uses)h(the)f
(sign)h(bit)f(\(0)f(for)g(p)s(ositiv)m(e,)k(1)c(for)g(negativ)m(e)i
Fp(E1)p Fq(\).)57 b(This)38 b(sign-bit)118 1546 y(extension)g(ensures)f
(that)f(the)g(sign)g(of)f Fp(E1)52 b(>>)f(E2)37 b Fq(is)f(the)g(same)g
(as)g(the)g(sign)g(of)f Fp(E1)p Fq(.)53 b(Except)118
1667 y(for)32 b(signed)h(t)m(yp)s(es,)h(the)f(v)-5 b(alue)32
b(of)g Fp(E1)52 b(>>)g(E2)32 b Fq(is)h(the)g(in)m(tegral)f(part)g(\(in)
m(teger)h(division\))h(of)e(the)118 1787 y(quotien)m(t)27
b Fh(E)6 b Fq(1)p Fh(=)p Fq(2)721 1751 y Ff(E)t Fg(2)816
1787 y Fq(.)41 b(Ja)m(v)-5 b(a)26 b(adds)g(the)h(triple)f(righ)m(t)g
(shift)h Fp(>>>)f Fq(to)g(act)g(as)g(a)g(logical)g(righ)m(t)g(shift)g
(b)m(y)118 1907 y(inserting)31 b(zero)s(es)f(at)g(the)g(top)f(end;)i
(the)g Fp(>>)f Fq(inserts)h(the)f(sign)g(bit)g(as)f(it)h(shifts)h(\(an)
e(arithmetic)118 2028 y(shift\).)118 2256 y Fp(//)52
b(Shift.java)118 2497 y(public)h(class)g(Shift)118 2617
y({)272 2738 y(public)g(static)g(void)f(main\(String[])j(args\))272
2858 y({)272 2978 y(int)d(r1)g(=)f(7;)h(//)g(binary)h(111)272
3099 y(int)f(r2)g(=)f(\(r1)h(<<)g(1\);)272 3219 y
(System.out.println\(r2\);)109 b(//)51 b(binary)i(1110)g(=)e(decimal)i
(14)272 3340 y(//)f(shift)g(by)g(1)g(is)f(nothing)j(else)e(then)272
3460 y(//)g(multiplication)j(by)c(2)272 3701 y(int)h(r3)g(=)f(3;)155
b(//)51 b(binary)i(11)272 3821 y(int)f(r4)g(=)f(\(r3)h(<<)g(3\);)272
3942 y(System.out.println\(r4\);)109 b(//)51 b(=>)h(binary)h(11000)g(=)
e(decimal)i(24)f(=)g(3*8)272 4062 y(//)g(shift)g(by)g(3)g(is)f
(multiplication)k(by)d(8)g(=)f(2^3)272 4303 y(int)h(r5)g(=)f(18;)104
b(//)51 b(binary)i(10010)272 4423 y(int)f(r6)g(=)f(\(r5)h(>>)g(2\);)272
4543 y(System.out.println\(r6\);)109 b(//)51 b(=>)h(binary)h(100)f(=)g
(decimal)h(4)272 4664 y(//)f(integer)h(division)g(by)f(4)g(=)f(2^2)272
4905 y(int)h(r7)g(=)f(\(16)h(>>)g(5\);)103 b(//)52 b(decimal)h(16)f(=)g
(10000)g(binary)272 5025 y(System.out.println\(r7\);)109
b(//)51 b(=>)h(0)g(decimal)272 5145 y(})118 5266 y(})p
eop end
%%Page: 43 51
TeXDict begin 43 50 bop 118 100 a Fl(2.12.)76 b(P)-8
b(ASS)33 b(BY)g(V)-11 b(ALUE,)33 b(P)-8 b(ASS)33 b(BY)g(REFERENCE)1262
b Fq(43)118 364 y Fm(2.12)160 b(P)l(ass)54 b(b)l(y)f(V)-13
b(alue,)53 b(P)l(ass)g(b)l(y)g(Reference)118 583 y Fq(In)37
b(Ja)m(v)-5 b(a)36 b(basic)i(data)e(t)m(yp)s(es)i(suc)m(h)g(as)f
Fp(double)h Fq(can)f(only)g(b)s(e)f(passed)i(b)m(y)g(v)-5
b(alue)37 b(to)f(metho)s(ds.)118 704 y(Ja)m(v)-5 b(a)32
b(has)h(no)f(p)s(oin)m(ters)h(and)f(references.)46 b(In)32
b(C)h(and)f(C++)g(argumen)m(ts)h(to)f(functions)h(can)g(b)s(e)118
824 y(passed)39 b(either)e(b)m(y)h(v)-5 b(alue)38 b(or)f(b)m(y)h
(reference.)58 b(W)-8 b(e)38 b(can)f(use)h(p)s(oin)m(ters)g(or)f
(references)i(in)e(C++)118 944 y(to)h(pass)h(v)-5 b(alues)40
b(b)m(y)f(reference.)63 b(When)39 b(an)f(argumen)m(t)i(is)e(passed)i(b)
m(y)g(v)-5 b(alue,)40 b(a)e(cop)m(y)i(of)e(the)118 1065
y(argumen)m(t)33 b(is)f(pro)s(duced,)h(and)f(the)g(asso)s(ciated)g
(parameter)h(is)f(the)g(same)h(as)f(a)f(lo)s(cal)h(v)-5
b(ariable)118 1185 y(for)32 b(the)i(function.)45 b(This)34
b(means,)g(c)m(hanges)g(to)f(the)g(parameter)g(v)-5 b(ariable)34
b(will)f(ha)m(v)m(e)h(no)f(e\013ect)118 1306 y(on)h(the)h(original)f
(argumen)m(t)h(v)-5 b(alue.)49 b(F)-8 b(unctions)35 b(that)f(receiv)m
(e)i(v)-5 b(ariables)35 b(as)g(parameters)g(get)118 1426
y(lo)s(cal)24 b(copies)h(of)f(those)h(v)-5 b(ariables,)27
b(not)d(the)h(originals.)40 b(The)26 b(alternativ)m(e,)h(pass)e(b)m(y)g
(reference)h(in)118 1546 y(C++,)i(is)f(indicated)h(b)m(y)f(the)g
(presence)h(of)e(the)h(amp)s(ersand)g(op)s(erator)f Fp(&)h
Fq(in)f(the)h(argumen)m(t)g(list.)118 1667 y(When)33
b(argumen)m(ts)h(are)e(passed)i(b)m(y)f(reference,)h(the)e(parameter)h
(v)-5 b(ariable)33 b(is)f(an)h(alias)f(for)g(the)118
1787 y(argumen)m(t)38 b(v)-5 b(alue.)56 b(Th)m(us,)40
b(c)m(hanges)e(in)f(the)g(parameter)h(also)f(alter)f(the)i(original)e
(argumen)m(t.)118 1907 y(In)g(C)g(and)f(ob)m(viously)i(in)f(C++)g(w)m
(e)g(also)f(can)h(use)h(p)s(oin)m(ters)f(and)f(the)h(dereference)i(op)s
(erator)118 2028 y(to)f(pass)h(b)m(y)g(reference.)58
b(Th)m(us)38 b(functions)g(that)f(receiv)m(e)i(p)s(oin)m(ters)f(to)f(v)
-5 b(ariables)38 b(gain)e(access)118 2148 y(to)k(the)h(original)e(v)-5
b(ariables)41 b(asso)s(ciated)g(with)g(the)g(p)s(oin)m(ters.)67
b(Ja)m(v)-5 b(a,)42 b(C)f(and)f(C++)g(pass)h(all)118
2269 y(arra)m(ys)33 b(b)m(y)h(reference.)118 2509 y(The)43
b(follo)m(wing)f(program)g(w)m(e)g(pass)h(t)m(w)m(o)g(in)m(tegers)g(to)
e(the)i(function)f Fp(swap)p Fq(.)72 b(Ob)m(viously)44
b(no)118 2630 y(sw)m(apping)34 b(of)e(the)h(t)m(w)m(o)g(n)m(um)m(b)s
(ers)i(tak)m(es)f(place)f(since)h(w)m(e)g(pass)f(b)m(y)h(v)-5
b(alue.)118 2858 y Fp(//)52 b(Refer.java)118 3099 y(class)h(Refer)118
3219 y({)272 3340 y(public)g(static)g(void)f(swap\(int)h(x,int)g(y\))
272 3460 y({)272 3580 y(int)f(temp;)272 3701 y(temp)g(=)g(x;)g(x)f(=)h
(y;)f(y)h(=)f(temp;)272 3821 y(})272 4062 y(public)i(static)g(void)f
(main\(String[])j(args\))272 4182 y({)272 4303 y(int)d(x)g(=)f(7;)272
4423 y(int)h(y)g(=)f(3;)272 4664 y(swap\(x,y\);)272 4905
y(System.out.println\(x\);)57 b(//)52 b(=>)g(7)272 5025
y(System.out.println\(y\);)57 b(//)52 b(=>)g(3)272 5145
y(})118 5266 y(})p eop end
%%Page: 44 52
TeXDict begin 44 51 bop 118 100 a Fq(44)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fp(//)52
b(Trick.java)118 485 y(//)g(swapping)h(two)f(integers)118
605 y(//)g(arrays)h(passed)g(by)e(reference)118 846 y(public)i(class)g
(Trick)118 966 y({)272 1087 y(public)g(static)g(void)f(swap\(int[])i
(a,int[])f(b\))272 1207 y({)272 1327 y(int)f(temp;)272
1448 y(temp)g(=)g(a[0];)272 1568 y(a[0])g(=)g(b[0];)272
1688 y(b[0])g(=)g(temp;)272 1809 y(})272 2050 y(public)h(static)g(void)
f(main\(String[])j(args\))272 2170 y({)272 2290 y(int[])e(x)e(=)h(new)g
(int[1];)104 b(x[0])52 b(=)g(7;)272 2411 y(int[])h(y)e(=)h(new)g
(int[1];)104 b(y[0])52 b(=)g(3;)272 2531 y(System.out.println\("befor)q
(e)57 b(swapping"\);)272 2652 y(System.out.println\("x[0])h(=)51
b(")h(+)f(x[0]\);)272 2772 y(System.out.println\("y[0])58
b(=)51 b(")h(+)f(y[0]\);)272 3013 y(swap\(x,y\);)272
3253 y(System.out.println\("after)58 b(swapping"\);)272
3374 y(System.out.println\("x[0])g(=)51 b(")h(+)f(x[0]\);)i(//)f(=>)g
(3)272 3494 y(System.out.println\("y[0])58 b(=)51 b(")h(+)f(y[0]\);)i
(//)f(=>)g(7)272 3615 y(})118 3735 y(})118 3963 y Fq(The)34
b Fp(swap)f Fq(function)g(can)g(also)g(b)s(e)g(written)g(as)118
4192 y Fp(public)53 b(static)g(void)f(swap\(int[])i(a,int[])f(b\))118
4312 y({)221 4432 y(a[0])f(=)g(a[0])g(^)f(b[0];)221 4553
y(b[0])h(=)g(a[0])g(^)f(b[0];)221 4673 y(a[0])h(=)g(a[0])g(^)f(b[0];)
118 4793 y(})118 5022 y Fq(where)25 b Fp(^)e Fq(is)h(the)g(bit)m(wise)h
(X)m(OR)f(op)s(eration.)40 b(This)24 b(a)m(v)m(oids)h(the)f(in)m(tro)s
(duction)g(of)f(the)h(temp)s(orary)118 5142 y(\(lo)s(cal\))32
b(v)-5 b(ariable)33 b Fp(temp)p Fq(.)p eop end
%%Page: 45 53
TeXDict begin 45 52 bop 118 100 a Fl(2.12.)76 b(P)-8
b(ASS)33 b(BY)g(V)-11 b(ALUE,)33 b(P)-8 b(ASS)33 b(BY)g(REFERENCE)1262
b Fq(45)118 364 y Fp(//)52 b(Shell.java)118 605 y(class)h(Shell)118
725 y({)272 846 y(public)g(static)g(void)f(sort\(int[])i(a\))103
b(//)52 b(can)g(the)g(public)h(be)f(omitted)h(?)272 966
y({)272 1087 y(int)f(n)g(=)f(a.length;)207 b(//)52 b(finds)h(length)g
(of)f(array)272 1207 y(int)g(incr)g(=)g(n/2;)272 1327
y(while\(incr)i(>=)e(1\))272 1448 y({)272 1568 y(for\(int)h
(i=incr;i=)f(incr\))h(&&)e
(\(temp)i(<)f(a[j-incr]\)\))272 2170 y({)272 2290 y(a[j])g(=)g
(a[j-incr];)272 2411 y(j)f(-=)h(incr;)272 2531 y(})272
2652 y(a[j])g(=)g(temp;)272 2772 y(})272 2892 y(incr)g(/=)g(2;)206
b(//)51 b(short)i(cut)f(for:)g(incr)h(=)e(incr/2;)272
3013 y(})272 3133 y(})272 3374 y(public)i(static)g(void)f
(main\(String[])j(args\))272 3494 y({)272 3615 y(//)d(make)g(a)g
(one-dimenional)j(array)d(of)g(ten)g(integers)272 3735
y(int[])h(a)e(=)h(new)g(int[10];)272 3976 y(int)g(i;)272
4096 y(//)g(fill)g(the)g(array)h(with)f(random)h(numbers)272
4216 y(for\(i=0;i)g(27)272 3361 y(System.out.println\("str2)58
b(=)51 b(")h(+)f(str2\);)104 b(//)52 b(=>)g(11)272 3602
y(System.out.println\("str3[)q(0])57 b(=)52 b(")f(+)h(str3[0]\);)105
b(//)52 b(=>)f(44)272 3843 y(System.out.println\("str4[)q(0])57
b(=)52 b(")f(+)h(str4[0]\);)i(//)d(=>)h(87)272 3963 y(})272
4204 y(static)h(void)f(surprise\(String)j(str1,String)g(str2,String[])f
(str3,)1348 4324 y(String[])g(str4\))272 4445 y({)272
4565 y(str1)e(=)g("26";)272 4686 y(str2)g(=)g(new)g(String\("10"\);)272
4806 y(str3[0])h(=)f("44";)272 4926 y(str4[0])h(=)f(new)g
(String\("87"\);)272 5047 y(})118 5167 y(})p eop end
%%Page: 47 55
TeXDict begin 47 54 bop 118 100 a Fl(2.12.)76 b(P)-8
b(ASS)33 b(BY)g(V)-11 b(ALUE,)33 b(P)-8 b(ASS)33 b(BY)g(REFERENCE)1262
b Fq(47)118 364 y(In)33 b(the)h(follo)m(wing)f(program)f(the)i(calling)
f(metho)s(d)g(and)g(the)g(called)h(metho)s(d)f(ha)m(v)m(e)h(an)f(ob)5
b(ject)118 485 y(in)39 b(common,)h(and)f(b)s(oth)f(metho)s(ds)h(can)g
(c)m(hange)g(the)g(ob)5 b(ject.)62 b(The)39 b(ob)5 b(ject)39
b(reference)h Fp(arg1)118 605 y Fq(is)c(passed)g(b)m(y)g(v)-5
b(alue.)52 b(Then)36 b(a)e(cop)m(y)j(of)d(it)h(is)h(made)f(in)m(to)h
(the)f(stac)m(k)h(frame)g(for)e(the)i(metho)s(d)118 725
y Fp(inverse\(\))p Fq(.)44 b(But)25 b(b)s(oth)h(the)g(original)f(and)g
(the)h(cop)m(y)h(are)e(ob)5 b(ject)27 b(references,)i(and)c(they)i(p)s
(oin)m(t)118 846 y(to)32 b(a)h(common)g(ob)5 b(ject)33
b(in)g(memory)h(that)e(can)h(b)s(e)g(mo)s(di\014ed.)118
1074 y Fp(//)52 b(Reference.java)118 1315 y(class)h(Help)118
1435 y({)272 1556 y(public)g(double)g(y;)272 1796 y(public)g
(Help\(double)h(y\))272 1917 y({)272 2037 y(this.y)f(=)e(y;)272
2158 y(})272 2398 y(public)i(String)g(toString\(\))272
2519 y({)272 2639 y(return)g(Double.toString\(y\);)272
2759 y(})118 2880 y(})118 3121 y(class)g(Reference)118
3241 y({)272 3361 y(static)g(void)f(inverse\(Help)j(arg1\))272
3482 y({)272 3602 y(arg1.y)e(=)e(-arg1.y;)272 3722 y(})272
3963 y(public)i(static)g(void)f(main\(String[])j(args\))272
4084 y({)272 4204 y(Help)d(arg1)h(=)e(new)h(Help\(3.14159\);)272
4324 y(inverse\(arg1\);)272 4445 y(System.out.println\("arg1)58
b(=)51 b(")h(+)f(arg1\);)i(//)f(=>)g(-3.14159)272 4565
y(})118 4686 y(})p eop end
%%Page: 48 56
TeXDict begin 48 55 bop 118 100 a Fq(48)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.13)160
b(Recursion)118 583 y Fi(R)-5 b(e)g(cursion)25 b Fq(pla)m(ys)h(a)f(cen)
m(tral)h(role)f(in)g(computer)h(science.)44 b(A)25 b(recursiv)m(e)i
(function)f(is)f(one)h(whose)118 704 y(de\014nition)37
b(includes)g(a)f(call)g(to)f(itself.)54 b(More)36 b(generally)-8
b(,)37 b(a)f(recursiv)m(e)i(metho)s(d)e(is)g(a)g(metho)s(d)118
824 y(that)i(calls)i(itself)f(either)g(directly)h(or)f(indirectly)h
(through)f(another)f(metho)s(d.)62 b(A)39 b(recursion)118
944 y(needs)34 b(a)e(stopping)g(condition.)44 b(Of)32
b(course,)h(it)g(is)f(not)g(allo)m(w)m(ed)i(to)d(use)i(the)g
Fp(main)g Fq(function)g(in)118 1065 y(a)f(recursiv)m(e)j(call.)44
b(Ja)m(v)-5 b(a,)33 b(C)g(and)f(C++)h(allo)m(w)g(recursion.)118
1306 y(W)-8 b(e)27 b(consider)h(three)f(examples.)43
b(In)27 b(the)f(\014rst)h(example)h(w)m(e)f(sho)m(w)h(ho)m(w)f(the)g
(factorial)f(function)118 1426 y(can)j(b)s(e)g(implemen)m(ted)i(using)e
(recursion.)44 b(The)29 b(second)h(example)g(sho)m(ws)h(an)d(implemen)m
(tation)118 1546 y(the)34 b(recursiv)m(ely)j(displa)m(y)e(of)e(elemen)m
(ts)k(of)c(an)g(arra)m(y)-8 b(.)47 b(In)34 b(the)h(third)f(example)h
(the)f(Fib)s(onacci)118 1667 y(n)m(um)m(b)s(ers)h(are)d(calculated)i
(using)f(recursion.)118 2015 y Fp(//)52 b(Recur.java)118
2256 y(class)h(Recur)118 2377 y({)272 2497 y(public)g(static)g(long)f
(fac\(long)h(n\))272 2617 y({)272 2738 y(if\(n)f(>)g(1L\))272
2858 y(return)h(n*fac\(n-1L\);)272 2978 y(else)272 3099
y(return)g(1L;)272 3219 y(})272 3460 y(public)g(static)g(void)f
(main\(String[])j(args\))272 3580 y({)272 3701 y(long)d(n)g(=)f(12L;)
272 3821 y(long)h(result)h(=)f(fac\(n\);)272 3942 y
(System.out.println\(result)q(\);)109 b(//)51 b(=>)h(479001600)272
4062 y(})118 4182 y(})p eop end
%%Page: 49 57
TeXDict begin 49 56 bop 118 100 a Fl(2.13.)76 b(RECURSION)2575
b Fq(49)118 485 y Fp(//)52 b(Recursively)i(display)f(the)f(elements)i
(of)d(an)h(array)118 725 y(import)h(java.awt.*;)118 846
y(import)g(java.applet.Applet;)118 1087 y(public)g(class)g(RDisplay)g
(extends)g(Applet)118 1207 y({)272 1327 y(int)f(yPosition)i(=)d(0;)272
1448 y(int)h(a[])g(=)g({)f(1,)h(2,)g(3,)f(4,)h(5,)g(6,)g(7,)g(8,)f(9,)h
(10)g(};)272 1688 y(public)h(void)f(paint\(Graphics)j(g)d(\))272
1809 y({)272 1929 y(someFunction\(a,0,g\);)272 2050 y(})272
2290 y(public)h(void)f(someFunction\(int)k(b[],int)d(x,Graphics)h(g\))
272 2411 y({)426 2531 y(if\(x)e(<)g(b.length\))426 2652
y({)426 2772 y(someFunction\(b,x+1,g\);)426 2892 y
(g.drawString\(String.valueO)q(f\(b[)q(x]\),)q(25,)q(yPos)q(itio)q
(n\);)426 3013 y(yPosition)h(+=)f(15;)426 3133 y(})272
3253 y(})118 3374 y(})118 3602 y Fq(The)34 b(HTML)f(\014le)g
Fp(RDisplay.html)j Fq(is)d(as)g(follo)m(ws:)118 3830
y Fp()118 3951 y()118 4192 y()p
eop end
%%Page: 50 58
TeXDict begin 50 57 bop 118 100 a Fq(50)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(The)h
Fi(Fib)-5 b(onac)g(ci)33 b(numb)-5 b(ers)32 b Fq(are)g(de\014ned)i(b)m
(y)g(the)f(recurrence)h(relation)1545 605 y Fh(x)1600
620 y Ff(t)p Fg(+2)1748 605 y Fq(=)27 b Fh(x)1906 620
y Ff(t)p Fg(+1)2048 605 y Fq(+)22 b Fh(x)2201 620 y Ff(t)118
779 y Fq(where)34 b Fh(t)28 b Fq(=)f(0)p Fh(;)17 b Fq(1)p
Fh(;)g Fq(2)p Fh(;)g(:)g(:)g(:)31 b Fq(and)h Fh(x)1235
794 y Fg(0)1303 779 y Fq(=)c(0,)k Fh(x)1570 794 y Fg(1)1638
779 y Fq(=)27 b(1.)43 b(W)-8 b(e)33 b(\014nd)839 1020
y Fh(x)894 1035 y Fg(2)962 1020 y Fq(=)27 b(1)p Fh(;)114
b(x)1310 1035 y Fg(3)1378 1020 y Fq(=)28 b(2)p Fh(;)114
b(x)1727 1035 y Fg(4)1794 1020 y Fq(=)28 b(3)p Fh(;)114
b(x)2143 1035 y Fg(5)2210 1020 y Fq(=)28 b(5)p Fh(;)114
b(x)2559 1035 y Fg(6)2626 1020 y Fq(=)28 b(8)p Fh(;)17
b(:)g(:)g(:)118 1194 y Fq(Th)m(us)48 b(w)m(e)f(can)g(apply)g(recursion)
g(to)f(obtain)g(the)h(Fib)s(onacci)g(n)m(um)m(b)s(ers.)86
b(It)46 b(is)h(left)g(as)f(an)118 1315 y(exercise)35
b(to)d(rewrite)i(the)f(program)f(using)h(iteration.)118
1543 y Fp(//)52 b(Fibo.java)118 1784 y(public)h(class)g(Fibo)118
1904 y({)272 2025 y(public)g(static)g(long)f(fib\(long)h(n\))272
2145 y({)272 2265 y(if\(n)f(==)g(0\))g(return)h(0;)272
2386 y(if\(n)f(==)g(1\))g(return)h(1;)272 2627 y(return)g(fib\(n-1\))g
(+)f(fib\(n-2\);)272 2747 y(})272 2988 y(public)h(static)g(void)f
(main\(String[])j(args\))272 3108 y({)272 3229 y(long)d(n)g(=)f(10;)272
3349 y(long)h(result)h(=)f(fib\(n\);)272 3469 y
(System.out.println\("resul)q(t)57 b(=)52 b(")f(+)h(result\);)272
3590 y(})118 3710 y(})p eop end
%%Page: 51 59
TeXDict begin 51 58 bop 118 100 a Fl(2.14.)76 b(JUMP)33
b(ST)-8 b(A)g(TEMENTS)2186 b Fq(51)118 364 y Fm(2.14)160
b(Jump)54 b(Statemen)l(ts)118 583 y Fq(A)28 b(jump)f(statemen)m(t,)j
(when)f(executed,)i(transfers)d(con)m(trol)f(unconditionally)-8
b(.)43 b(There)29 b(are)e(four)118 704 y(suc)m(h)34 b(statemen)m(ts)118
932 y Fp(break,)104 b(continue,)h(goto,)f(return)118
1160 y Fq(Ho)m(w)m(ev)m(er)36 b Fp(goto)f Fq(cannot)f(b)s(e)g(used)h
(in)f(Ja)m(v)-5 b(a.)47 b(A)33 b Fp(break)i Fq(statemen)m(t)h(can)e(b)s
(e)g(used)g(only)h(inside)118 1281 y(an)h(iteration)f(\()p
Fp(while)p Fq(,)j Fp(do-while)f Fq(and)f Fp(for)g Fq(lo)s(ops\))g(or)f
Fp(switch)i Fq(statemen)m(t.)54 b(It)36 b(terminates)118
1401 y(the)42 b(iteration)f(or)g Fp(switch)i Fq(statemen)m(t.)71
b(Since)43 b(iteration)e(and)h(switc)m(h)h(statemen)m(ts)g(can)f(b)s(e)
118 1521 y(in)m(termixed)31 b(and)f(nested)g(to)f(an)m(y)h(depth,)h(w)m
(e)f(ha)m(v)m(e)h(to)d(tak)m(e)i(care)g(that)f(the)g
Fp(break)i Fq(exits)f(from)118 1642 y(the)e(correct)f(lo)s(op)g(or)f
(switc)m(h.)44 b(The)28 b(rule)f(is)h(that)f(a)g Fp(break)h
Fq(terminates)g(the)g(nearest)g(enclosing)118 1762 y(iteration)33
b(or)f Fp(switch)i Fq(statemen)m(t.)118 2003 y(The)g(syn)m(tax)g(for)e
(the)h Fp(continue)h Fq(statemen)m(t)h(is)118 2231 y
Fp(continue)118 2460 y Fq(A)f Fp(continue)i Fq(statemen)m(t)f(can)g(b)s
(e)f(used)h(only)f(inside)h(an)f(iteration)g(statemen)m(t.)49
b(It)34 b(transfers)118 2580 y(con)m(trol)j(to)g(the)h(test)f
(condition)h(for)f Fp(while)h Fq(and)f Fp(do)52 b(while)38
b Fq(lo)s(ops,)h(and)e(to)g(the)g(incremen)m(t)118 2700
y(expression)46 b(in)f(a)e Fp(for)i Fq(lo)s(op.)77 b(With)45
b(nested)g(iteration)f(lo)s(ops,)j(a)d Fp(continue)i
Fq(statemen)m(t)g(is)118 2821 y(tak)m(en)34 b(as)e(b)s(elonging)h(to)f
(the)h(nearest)h(enclosing)g(iteration.)118 3061 y(Ja)m(v)-5
b(a)31 b(lac)m(ks)i(a)d Fp(goto)i Fq(statemen)m(t,)h(although)e(there)h
(is)g(a)e(k)m(eyw)m(ord)k Fp(goto)p Fq(.)44 b(In)31 b(C)g(and)g(C++)h
(the)118 3182 y(syn)m(tax)i(for)e(the)h Fp(goto)h Fq(statemen)m(t)g(is)
118 3410 y Fp(goto)52 b(Label)118 3638 y Fq(The)38 b
Fp(goto)f Fq(statemen)m(t)h(transfers)f(con)m(trol)g(to)f(the)h
(statemen)m(t)h(lab)s(eled)f Fp(Label)p Fq(,)i(whic)m(h)f(m)m(ust)118
3759 y(b)s(e)33 b(in)f(the)h(same)g(function.)44 b(One)32
b(go)s(o)s(d)f(use)j(for)d(the)i Fp(goto)g Fq(is)g(to)f(exit)h(from)f
(a)g(deeply)i(nested)118 3879 y(routine.)77 b(A)43 b(simple)i
Fp(break)g Fq(statemen)m(t)g(w)m(ould)f(not)g(w)m(ork)g(here,)j(b)s
(ecause)e(it)e(w)m(ould)i(only)118 4000 y(cause)33 b(the)f(program)g
(to)f(exit)i(from)f(the)g(innermost)h(lo)s(op.)43 b(In)32
b(Ja)m(v)-5 b(a)32 b(nested)h Fp(do-while)h Fq(lo)s(ops)118
4120 y(can)i(replace)g(the)f Fp(goto)p Fq('s.)53 b(The)36
b(follo)m(wing)g(programs)f(one)g(in)h(C++)f(using)h
Fp(goto)p Fq('s)h(and)e(one)118 4240 y(in)e(Ja)m(v)-5
b(a)32 b(using)i Fp(do-while)g Fq(demonstrate)g(this.)118
4481 y(Unless)h(the)f(function)g(return)g(t)m(yp)s(e)g(is)g
Fp(void)p Fq(,)h(a)e(function)h(b)s(o)s(dy)g(m)m(ust)h(con)m(tain)f(at)
f(least)h(one)118 4602 y(return)f(statemen)m(t)h(with)f(the)g(follo)m
(wing)g(format)118 4830 y Fp(return)53 b(return-expression;)118
5058 y Fq(where)43 b(return-expression)h(m)m(ust)e(b)s(e)g(of)f(t)m(yp)
s(e)h Fp(type)h Fq(or)e(of)g(a)g(t)m(yp)s(e)h(that)g(is)g(con)m(v)m
(ertible)h(to)118 5179 y Fp(type)29 b Fq(b)m(y)g(assignmen)m(t.)44
b(The)28 b(v)-5 b(alue)29 b(of)e(the)i(return-expression)h(is)e(the)h
(v)-5 b(alue)28 b(returned)h(b)m(y)g(the)118 5299 y(function.)p
eop end
%%Page: 52 60
TeXDict begin 52 59 bop 118 100 a Fq(52)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fp(//)52
b(didact.cpp)118 485 y(//)g(C++)g(program)h(using)g(goto)118
725 y(#include)h()118 846 y(#include)g()118
966 y(#include)g()118 1207 y(int)e(main\(\))118
1327 y({)272 1448 y(time_t)h(t;)272 1568 y(srand\(\(unsigned)i(long\))e
(time\(&t\)\);)105 b(//)52 b(seed)272 1809 y(L3:)272
1929 y(int)g(a)g(=)f(rand\(\)\045100;)272 2050 y(int)h(b)g(=)f
(rand\(\)\045100;)272 2170 y(int)h(result;)272 2290 y(L1:)272
2411 y(cout)g(<<)g(a)g(<<)f(")h(+)f(")h(<<)g(b)f(<<)h(")g(=)f(";)272
2531 y(cin)h(>>)g(result;)272 2652 y(if\(result)i(==)d(\(a+b\)\))272
2772 y(goto)h(L2;)272 2892 y(cout)g(<<)g("sorry)h(you)f(are)g(not)g
(correct:)h(try)g(again")f(<<)g(endl;)272 3013 y(goto)g(L1;)272
3133 y(L2:)272 3253 y(cout)g(<<)g("congratulations)k(you)c(are)g
(correct")h(<<)f(endl;)272 3374 y(char)g(c;)272 3494
y(cout)g(<<)g("Do)g(you)g(want)g(to)g(add)g(again:)h(Press)g(y)e(for)h
(yes)g(and)h(n)e(for)h(no:)g(";)272 3615 y(cin)g(>>)g(c;)272
3855 y(if\(c)g(==)g('y'\))g(goto)h(L3;)272 3976 y(if\(c)f(==)g('n'\))
272 4096 y({)272 4216 y(cout)g(<<)g("bye,)h(see)f(you)g(next)g(time)g
(around";)272 4337 y(goto)g(L4;)272 4457 y(})272 4578
y(L4:)272 4818 y(return)h(0;)118 4939 y(})p eop end
%%Page: 53 61
TeXDict begin 53 60 bop 118 100 a Fl(2.14.)76 b(JUMP)33
b(ST)-8 b(A)g(TEMENTS)2186 b Fq(53)118 364 y(The)34 b(C++)e(program)h
(can)f(b)s(e)h(rewritten)h(in)f(Ja)m(v)-5 b(a)32 b(as)h(follo)m(ws:)118
551 y Fp(//)52 b(Gotorau.java)118 671 y(//)118 792 y(//)g(public)h
(String)g(readLine\(\))h(throws)e(IOException)118 912
y(//)g(reads)h(a)e(line)h(of)g(text)118 1033 y(//)118
1153 y(//)g(int)g(Integer.parseInt\(String\))118 1273
y(//)g(parses)h(the)f(string)h(argument)g(as)f(a)f(signed)i(decimal)g
(integer)118 1514 y(import)g(java.io.*;)118 1755 y(class)g(Gotorau)118
1875 y({)272 1996 y(public)g(static)g(void)f(main\(String[])j(args\))d
(throws)h(IOException)272 2116 y({)272 2236 y(BufferedReader)i(kbd;)272
2357 y(kbd)d(=)g(new)g(BufferedReader\(new)k
(InputStreamReader\(System.i)q(n\)\);)272 2477 y(String)d(input;)272
2718 y(do)272 2838 y({)272 2959 y(int)f(a)g(=)f(randomInt\(0,99\);)107
b(int)52 b(b)f(=)h(randomInt\(0,99\);)272 3079 y(int)g(r;)272
3199 y(do)272 3320 y({)272 3440 y(if\(b)g(<)g(0\))272
3561 y(System.out.print\(a)k(+)51 b(")h(")g(+)f(b)h(+)f(")h(=)f("\);)
272 3681 y(else)272 3801 y(System.out.print\(a)56 b(+)51
b(")h(+)g(")f(+)h(b)f(+)h(")f(=)h("\);)272 3922 y(r)f(=)h
(Integer.parseInt\(kbd.read)q(Line)q(\(\)\);)272 4042
y(if\(r)g(!=)g(\(a)g(+)f(b\)\))272 4163 y(System.out.println\("try)57
b(again!"\);)272 4283 y(})51 b(while\(r)j(!=)d(\(a)h(+)g(b\)\);)272
4403 y(System.out.println\("Congr)q(atul)q(atio)q(ns:)58
b(correct."\);)272 4524 y(System.out.println\("Do)f(you)52
b(want)g(to)g(add)g(again)h(?)e(\(y/n\))i("\);)272 4644
y(input)g(=)e(kbd.readLine\(\);)272 4764 y(})g
(while\(input.equals\("y"\))q(\);)272 4885 y(})g(//)h(end)g(main)272
5126 y(private)h(static)g(int)f(randomInt\(int)j(lowerB,int)f(upperB\))
272 5246 y({)272 5366 y(return)f(\(int\)\(Math.random\(\)*\(upper)q(B)k
(-)52 b(lowerB\))h(+)e(lowerB\);)272 5487 y(})118 5607
y(})p eop end
%%Page: 54 62
TeXDict begin 54 61 bop 118 100 a Fq(54)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.15)160
b(Reading)54 b(from)g(Keyb)t(oard)118 583 y Fq(W)-8 b(e)31
b(read)f(in)h(a)f(string)h(from)f(the)g(k)m(eyb)s(oard)i(and)e(con)m(v)
m(ert)i(it)e(in)m(to)h(an)f(in)m(teger.)44 b(W)-8 b(e)31
b(apply)g(the)118 704 y(metho)s(d)k Fp(readLine\(\))p
Fq(.)54 b(Then)36 b(w)m(e)g(read)f(in)g(another)g(string)g(and)g(con)m
(v)m(ert)i(it)e(to)f(an)h(in)m(teger.)118 824 y(The)f(constructor)118
1052 y Fp(BufferedReader\(Reader)57 b(in\))118 1281 y
Fq(creates)30 b(a)e(bu\013ering)i(c)m(haracter-input)g(stream)f(that)g
(uses)h(a)e(default-size)i(input)f(bu\013er.)43 b(The)118
1401 y(metho)s(d)118 1629 y Fp(String)53 b(readLine\(\))118
1858 y Fq(in)33 b(class)h Fp(BufferedReader)i Fq(reads)d(a)f(line)i(of)
e(text.)44 b(What)33 b(happ)s(ens)g(if)g(w)m(e)g(en)m(ter:)45
b(4.5)32 b(?)118 2086 y Fp(//)52 b(Readin1.java)118 2327
y(import)h(java.io.*;)118 2568 y(class)g(Readin1)118
2688 y({)272 2808 y(public)g(static)g(void)f(main\(String[])j(args\))d
(throws)h(IOException)272 2929 y({)374 3049 y(System.out.print\("Enter)
58 b(the)52 b(first)g(integer)i(=)d("\);)374 3169 y(BufferedReader)k
(kbd)d(=)374 3290 y(new)h(BufferedReader\(new)j
(InputStreamReader\(System.in)q(\)\);)374 3410 y(String)d(str1)g(=)e
(kbd.readLine\(\);)374 3651 y(//)h(convert)h(String)g(to)f(int)374
3771 y(Integer)i(A)d(=)h(new)g(Integer\(str1\);)374 3892
y(int)h(a)e(=)h(A.intValue\(\);)374 4132 y(System.out.print\("Enter)58
b(the)52 b(second)h(integer)g(=)e("\);)374 4253 y(String)i(str2)g(=)e
(kbd.readLine\(\);)374 4494 y(Integer)j(B)d(=)h(new)g(Integer\(str2\);)
374 4614 y(int)h(b)e(=)h(B.intValue\(\);)374 4855 y(int)h(sum)f(=)f(a)h
(+)f(b;)374 5096 y(System.out.println\("The)58 b(sum)52
b(is)g(=)f(")h(+)f(sum\);)272 5216 y(})118 5336 y(})p
eop end
%%Page: 55 63
TeXDict begin 55 62 bop 118 100 a Fl(2.15.)76 b(READING)32
b(FR)m(OM)g(KEYBO)m(ARD)1756 b Fq(55)118 364 y(In)32
b(the)g(follo)m(wing)f(example)i(w)m(e)f(read)g(in)g(a)f(string)g(from)
g(the)h(k)m(eyb)s(oard)h(and)e(then)h(con)m(v)m(ert)h(it)118
485 y(to)f(a)h Fp(double)p Fq(.)118 833 y Fp(//)52 b(Readin2.java)118
1074 y(//)g(reads)h(double)f(\(must)h(be)f(positive)h(or)f(zero\))118
1194 y(//)g(from)g(keyboard)i(and)e(calculates)i(the)e(square)h(root)
118 1315 y(//)f(using)h(a)e(do-while)i(loop)118 1556
y(import)g(java.io.*;)118 1796 y(class)g(Readin2)118
1917 y({)272 2037 y(public)g(static)g(void)f(main\(String[])j(args\))d
(throws)h(IOException)272 2158 y({)374 2278 y(System.out.print\("Calcu)
q(lati)q(ng)k(Square)c(root)g(of)e(a)h(=)f("\);)374 2398
y(BufferedReader)k(kbd)d(=)374 2519 y(new)h(BufferedReader\(new)j
(InputStreamReader\(System.in)q(\)\);)374 2639 y(String)d(str)f(=)g
(kbd.readLine\(\);)374 2880 y(//)g(convert)h(String)g(to)f(double)374
3000 y(Double)h(A)f(=)f(new)h(Double\(str\);)374 3121
y(double)h(a)f(=)f(A.doubleValue\(\);)374 3361 y(double)i(xnew)g(=)e
(a/2.0;)374 3482 y(double)i(xold;)374 3722 y(do)374 3843
y({)374 3963 y(xold)g(=)e(xnew;)374 4084 y(xnew)i(=)e(\(xold)i(+)e
(a/xold\)/2.0;)374 4204 y(System.out.println\(xnew)q(\);)374
4324 y(})374 4445 y(while\(Math.abs\(xnew-xol)q(d\))57
b(>)52 b(1E-4\);)272 4565 y(})118 4686 y(})118 4914 y
Fq(The)32 b(metho)s(d)f Fp(abs)h Fq(is)f(a)g(metho)s(d)g(in)g(class)h
Fp(Math)p Fq(.)44 b(It)31 b(\014nds)h(the)f(absolute)h(v)-5
b(alue)31 b(of)g(a)f Fp(double)p Fq(.)118 5034 y(What)j(happ)s(ens)g
(if)g(w)m(e)g(en)m(ter)h(a)e(negativ)m(e)i(n)m(um)m(b)s(er?)p
eop end
%%Page: 56 64
TeXDict begin 56 63 bop 118 100 a Fq(56)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fm(2.16)160
b(Command)54 b(Line)f(Argumen)l(ts)118 583 y Fq(Ja)m(v)-5
b(a)33 b(enables)i(us)f(to)f(access)i(command-line)g(argumen)m(ts)f(b)m
(y)h(supplying)g(and)e(using)h(the)g(fol-)118 704 y(lo)m(wing)f
(parameters)h(in)f(metho)s(d)g Fp(main)p Fq(:)118 932
y Fp(public)53 b(static)g(void)f(main\(String)i(argv[]\))118
1160 y Fq(Using)33 b(the)g(command)h(line)f(w)m(e)h(compile)f(the)g
(follo)m(wing)g(program)f(via)118 1389 y Fp(javac)53
b(MCommand.java)118 1617 y Fq(W)-8 b(e)33 b(then)g(run)g(it)g(with)g
(the)g(command)118 1845 y Fp(java)52 b(MCommand)i(Good)e(Morning)h
(Egoli)118 2074 y Fq(where)118 2302 y Fp(argv[0])g(->)f(Good)118
2422 y(argv[1])h(->)f(Morning)118 2543 y(argv[2])h(->)f(Egoli)118
2771 y(//)g(MCommand.java)118 3012 y(public)h(class)g(MCommand)118
3132 y({)272 3252 y(public)g(static)g(void)f(main\(String)i(argv[]\))
272 3373 y({)272 3493 y(System.out.println\(argv[2)q(]\);)k(//)51
b(=>)h(Egoli)272 3614 y(System.out.println\(argv[0)q(]\);)58
b(//)51 b(=>)h(Good)272 3854 y(String)h(t1)f(=)f(argv[0];)272
3975 y(String)i(t2)f(=)f(argv[1];)272 4095 y(String)i(t3)f(=)f
(argv[2];)272 4336 y(String)i(t)e(=)h(t1.concat\(t2.concat\(t3\)\);)272
4456 y(System.out.println\("t)57 b(=)51 b(")h(+)f(t\);)h(//)g(=>)g
(GoodMorningEgoli)272 4697 y(String)h(s1)f(=)f(new)h
(String\(argv[0]\);)272 4817 y(String)h(s2)f(=)f(new)h
(String\(argv[1]\);)272 4938 y(String)h(s3)f(=)f(new)h
(String\(argv[2]\);)272 5179 y(String)h(s)e(=)h
(s1.concat\(s2.concat\(s3\)\);)272 5299 y(System.out.println\("s)57
b(=)51 b(")h(+)f(s\);)h(//)g(=>)g(GoodMorningEgoli)272
5419 y(})118 5540 y(})p eop end
%%Page: 57 65
TeXDict begin 57 64 bop 118 100 a Fl(2.17.)76 b(SYSTEM)34
b(CLASS)2414 b Fq(57)118 364 y Fm(2.17)160 b(System)54
b(Class)118 583 y Fq(The)34 b Fp(System)g Fq(class)g(con)m(tains)g(sev)
m(eral)h(useful)f(\014elds)g(and)f(metho)s(ds.)45 b(It)33
b(cannot)g(b)s(e)g(instan)m(ti-)118 704 y(ated.)44 b(It)32
b(con)m(tains)i(the)f(metho)s(d)118 932 y Fp(void)52
b(exit\(int)i(status\))118 1160 y Fq(whic)m(h)34 b(terminates)g(the)f
(curren)m(tly)h(running)f(Ja)m(v)-5 b(a)33 b(Virtual)g(Mac)m(hine)h
(and)f(the)g(metho)s(d)118 1389 y Fp(long)52 b(currentTimeMillis\(\))
118 1617 y Fq(whic)m(h)38 b(returns)g(the)f(curren)m(t)h(time)f(in)g
(milliseconds)i(b)s(et)m(w)m(een)f(the)f(curren)m(t)h(time)f(and)g
(mid-)118 1737 y(nigh)m(t,)c(Jan)m(uary)g(1,)g(1970)e(UTC.)118
1978 y(F)-8 b(urthermore)36 b(the)g(class)g(pro)m(vides)h(standard)f
(input,)h(standard)f(output,)g(and)g(error)f(output)118
2098 y(streams.)45 b(The)33 b(\014elds)h(are)118 2327
y Fp(static)53 b(PrintStream)h(err)118 2555 y(static)f(PrintStream)h
(in)118 2783 y(static)f(PrintStream)h(out)118 3012 y
Fq(W)-8 b(e)33 b(can)g(also)g(extract)g(system-dep)s(enden)m(t)j
(information)c(using)i(the)f(metho)s(d)118 3240 y Fp(String)53
b(getProperty\(String)j(key\))118 3468 y Fq(A)40 b(utilit)m(y)h(metho)s
(d)f(for)g(quic)m(kly)i(cop)m(ying)f(a)e(p)s(ortion)h(of)f(an)h(arra)m
(y)g(is)g(also)g(pro)m(vided.)67 b(The)118 3589 y(metho)s(d)118
3817 y Fp(void)52 b(arraycopy\(Object)k(src,int)d(src_pos,Object)i
(dest,)887 3937 y(int)d(dest_pos,int)j(length\))118 4166
y Fq(copies)34 b(an)f(arra)m(y)g(from)g(the)g(sp)s(eci\014ed)i(source)f
(arra)m(y)-8 b(,)33 b(b)s(eginning)g(at)g(the)g(sp)s(eci\014ed)i(p)s
(osition,)118 4286 y(to)d(the)h(sp)s(eci\014ed)i(p)s(osition)e(of)f
(the)h(destination)g(arra)m(y)-8 b(.)118 4527 y(The)34
b(metho)s(d)118 4755 y Fp(static)53 b(SecurityManager)i
(getSecurityManager\(\))118 4983 y Fq(gets)33 b(the)g(system)i(securit)
m(y)f(in)m(terface.)118 5224 y(The)g(follo)m(wing)f(programs)f(sho)m(w)
i(an)e(application)h(of)f(some)i(of)e(these)i(metho)s(ds.)p
eop end
%%Page: 58 66
TeXDict begin 58 65 bop 118 100 a Fq(58)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fp(//)52
b(MySystem.java)118 605 y(import)h(java.util.Properties;)118
846 y(public)g(class)g(MySystem)118 966 y({)272 1087
y(public)g(static)g(void)f(main\(String[])j(args\))272
1207 y({)272 1327 y(System.out.println\(System)q(.get)q(Prop)q(erty)q
(\("o)q(s.na)q(me"\))q(\);)272 1568 y(System.out.println\(System)q
(.get)q(Prop)q(erty)q(\("j)q(ava.)q(clas)q(s.pa)q(th")q(\)\);)272
1809 y(System.out.println\(System)q(.get)q(Prop)q(erty)q(\("o)q(s.ar)q
(ch"\))q(\);)272 2050 y(System.out.println\(System)q(.get)q(Prop)q
(erty)q(\("u)q(ser.)q(name)q("\)\);)272 2290 y
(System.out.println\(System)q(.get)q(Prop)q(erty)q(\("j)q(ava.)q(vers)q
(ion")q(\)\);)272 2531 y(long)d(time1)h(=)e(System.currentTimeMillis)q
(\(\);)272 2652 y(for\(long)i(i=0;i<100000;i++\))272
2772 y(i++;)272 2892 y(long)f(time2)h(=)e(System.currentTimeMillis)q
(\(\);)272 3133 y(long)h(diff)h(=)e(time2)i(-)e(time1;)272
3253 y(System.out.println\("diff)58 b(=)51 b(")h(+)f(diff\);)272
3494 y(int[])i(a)e(=)h({)f(7,)h(6,)g(5,)f(4,)h(3,)g(2,)g(1,)g(0,)f(1,)h
(2)g(};)272 3615 y(int[])h(b)e(=)h(new)g(int[a.length];)272
3855 y(System.arraycopy\(a,0,b,1,)q(a.le)q(ngth)q(-1\);)272
3976 y(for\(int)h(k=0;k)g(0)f(7)h(6)f(5)h(4)f(3)h
(2)f(1)h(0)f(1)272 4337 y(//)h(to)g(determine)h(the)f(complete)i(set)e
(of)272 4457 y(//)g(the)g(current)h(system)g(properties)272
4578 y(//)f(we)g(use)g(the)g(following)h(two)f(lines)272
4698 y(Properties)i(p)d(=)h(System.getProperties\(\);)272
4818 y(System.out.println\("p)57 b(=)51 b(")h(+)f(p\);)272
4939 y(//)h(the)g(output)h(could)f(be)g(redirected)i(into)e(a)g(file)g
(using)272 5059 y(//)g(java)g(MySystem)h(>)f(information.txt)272
5180 y(})118 5300 y(})p eop end
%%Page: 59 67
TeXDict begin 59 66 bop 118 100 a Fl(2.17.)76 b(SYSTEM)34
b(CLASS)2414 b Fq(59)118 364 y(The)42 b(metho)s(d)g Fp(String)53
b(getProperty\(String\))46 b Fq(can)c(b)s(e)f(used)i(to)d(\014nd)i(the)
g(name)g(of)f(the)118 485 y(underlying)e(op)s(erating)e(system.)59
b(The)38 b(path)f(in)g(di\013eren)m(t)i(op)s(erating)e(systems)i(is)f
(di\013eren)m(t.)118 605 y(Th)m(us)c(w)m(e)g(can)f(use)g(this)g
(information)g(to)f(select)i(the)f(op)s(erating)f(system)j(in)e(use.)
118 954 y Fp(//)52 b(NoOfLines.java)118 1194 y(import)h(java.io.*;)118
1315 y(import)g(java.util.*;)118 1556 y(public)g(class)g(NoOfLines)118
1676 y({)272 1796 y(public)g(static)g(void)f(main\(String[])j(args\))d
(throws)h(IOException)272 1917 y({)272 2037 y(String)g(s)e(=)h
(System.getProperty\("os.nam)q(e"\))q(;)272 2158 y
(System.out.println\("s)57 b(=)51 b(")h(+)f(s\);)272
2278 y(String)i(fstring)g(=)e("";)272 2519 y(if\(s.equals\("Windows)56
b(98"\)\))272 2639 y({)272 2759 y(fstring)d(=)f
("c:\\\\books/db/data.dat";)272 2880 y(})272 3121 y
(if\(s.equals\("Linux"\)\))272 3241 y({)272 3361 y(fstring)h(=)f
("/root/javacourse/data.dat")q(;)272 3482 y(})272 3722
y(FileInputStream)j(fin)d(=)g(new)g(FileInputStream\(fstring\);)272
3843 y(BufferedReader)j(in;)272 3963 y(in)d(=)f(new)h
(BufferedReader\(new)k(InputStreamReader\(fin\)\);)272
4204 y(int)c(count)h(=)e(0;)272 4445 y(while\(in.readLine\(\))56
b(!=)c(null\))272 4565 y({)272 4686 y(count++;)272 4806
y(})272 4926 y(System.out.println\("count)58 b(=)51 b(")h(+)f(count\);)
272 5167 y(})g(//)h(end)g(main)118 5287 y(})p eop end
%%Page: 60 68
TeXDict begin 60 67 bop 118 100 a Fq(60)2130 b Fl(CHAPTER)34
b(2.)76 b(JA)-11 b(V)g(A)33 b(BASICS)118 364 y Fq(The)h
Fp(System)g Fq(class)f(also)g(includes)i(the)e(metho)s(d)118
593 y Fp(public)53 b(static)g(SecurityManager)i(getSecurityManager\(\))
118 821 y Fq(whic)m(h)40 b(gets)f(the)f(systems)j(securit)m(y)f(in)m
(terface.)61 b(If)39 b(a)e(securit)m(y)k(manager)d(has)h(already)f(b)s
(een)118 941 y(established)32 b(for)c(the)i(curren)m(t)h(application,)f
(then)g(that)f(securit)m(y)j(manager)d(is)h(returned;)i(oth-)118
1062 y(erwise)49 b Fp(null)f Fq(is)g(returned.)89 b(The)48
b(securit)m(y)i(manager)d(is)h(an)f(abstract)h(class)g(that)f(allo)m
(ws)118 1182 y(applications)36 b(to)f(implemen)m(t)i(a)e(securit)m(y)i
(p)s(olicy)-8 b(.)51 b(It)35 b(allo)m(ws)h(an)f(application)h(to)e
(determine,)118 1302 y(b)s(efore)42 b(p)s(erforming)g(a)f(p)s(ossibly)i
(unsafe)g(or)e(sensitiv)m(e)k(op)s(eration,)f(what)e(the)g(op)s
(eration)g(is)118 1423 y(and)35 b(whether)h(the)f(op)s(eration)f(is)h
(b)s(eing)g(p)s(erformed)g(b)m(y)h(a)e(class)i(created)f(via)g(a)f
(class)i(loader)118 1543 y(rather)42 b(than)g(installed)g(lo)s(cally)-8
b(.)71 b(Classes)44 b(loaded)e(via)g(a)g(class)g(loader)g(\(esp)s
(ecially)i(if)d(they)118 1664 y(ha)m(v)m(e)e(b)s(een)f(do)m(wnloaded)h
(o)m(v)m(er)g(a)e(net)m(w)m(ork\))i(ma)m(y)g(b)s(e)f(less)g(trust)m(w)m
(orth)m(y)i(than)e(classes)h(from)118 1784 y(\014les)34
b(installed)f(lo)s(cally)-8 b(.)44 b(The)34 b(application)f(can)g(allo)
m(w)g(or)f(disallo)m(w)i(the)f(op)s(eration.)118 2133
y Fp(//)52 b(Security.java)118 2373 y(public)h(class)g(Security)118
2494 y({)272 2614 y(public)g(static)g(void)f(main\(String[])j(args\))
272 2735 y({)272 2855 y(SecurityManager)g(sec)d(=)g
(System.getSecurityManager\()q(\);)272 2975 y
(System.out.println\("secur)q(ity)58 b(=)51 b(")h(+)f(sec\);)272
3096 y(})118 3216 y(})p eop end
%%Page: 61 69
TeXDict begin 61 68 bop 118 100 a Fl(2.18.)76 b(ASSER)-8
b(TIONS)2547 b Fq(61)118 364 y Fm(2.18)160 b(Assertions)118
583 y Fq(Assertions)34 b(are)e(a)g(new)i(feature)e(in)h(Ja)m(v)-5
b(a)32 b(1.4.)43 b(An)33 b(assertion)g(is)g(a)f(program)f(statemen)m(t)
j(con-)118 704 y(taining)c(a)f(b)s(o)s(olean)g(expression,)k(that)c(a)g
(programmer)h(b)s(eliev)m(es)i(to)d(b)s(e)h(true)g(at)f(the)h(time)h
(the)118 824 y(statemen)m(t)i(is)f(executed.)46 b(Th)m(us)33
b(the)f(new)g(k)m(eyw)m(ord)i Fp(assert)f Fq(is)f(in)m(tro)s(duced)h
(and)f(supp)s(ort)g(in)118 944 y(the)h(library)g Fp
(java.lang.AssertionError)q Fq(.)49 b(The)34 b(follo)m(wing)f(program)f
(giv)m(es)i(an)e(example.)118 1065 y(W)-8 b(e)33 b(compile)h(with)118
1288 y Fp(javac)53 b(-source)g(1.4)f(MyAssert.java)118
1512 y Fq(and)33 b(run)g(it)f(with)118 1735 y Fp(java)52
b(-ea)h(MyAssert)118 1959 y Fq(The)34 b Fp(-ea)f Fq(switc)m(h)h(is)f
(used)h(to)e(enable)i(assertions)g(at)e(run)h(time.)118
2182 y Fp(public)53 b(class)g(MyAssert)118 2303 y({)272
2423 y(static)g(double)g(scalar\(double[])i(v,double[])f(w\))272
2544 y({)272 2664 y(assert)f(v.length)g(==)f(w.length)h(:)f("not)g(the)
g(same)h(length";)272 2905 y(double)g(temp)f(=)g(0.0;)272
3025 y(for\(int)h(i=0;i)118 485 y()118 1087 y(