gperf.ps   [plain text]


%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: ../../doc/gperf.dvi
%%Pages: 28
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D600 -o ../../doc/gperf.ps ../../doc/gperf.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2000.09.26:1257
%%BeginProcSet: texc.pro
%!
/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/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
TeXDict begin 39158280 55380996 1000 600 600 (../../doc/gperf.dvi)
@start
%DVIPSBitmapFont: Fa cmbxti10 14.4 1
/Fa 1 47 df<13FCEA03FF000F13804813C05AA25AA2B5FCA31480A214006C5A6C5A6C5A
EA0FE0121271912B>46 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmti9 9 1
/Fb 1 47 df<121C127F12FFA412FE12380808778718>46 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt9 9 16
/Fc 16 126 df<000F1470486C13F8383FC001EA7FE0140315F038FFF00700F914E0A214
0F15C0A2141F00FF1480387FE03F1500A26C485A381F807E380F00FEC75AA213015CA213
035C13075CA2130F5C131F5CA2133F91C7FCA24913F090387E01F89038FE03FC9038FC07
FEA212019038F80FFF0003149F13F0A2120713E0A2000F14FF9038C007FE121F1380EC03
FC000FEB01F86CC712F0203A7DB327>37 D<007FB512F8B612FCA46C14F81E067C7E27>
95 D<3803FFC0000F13F04813FC4813FF811380EC1FC0381F000F000480C71207A2EB0F
FF137F0003B5FC120F5A383FFC07EA7FC0130012FE5AA46C130F007F131FEBC0FF6CB612
806C15C07E000313F1C69038807F8022207C9F27>97 D<EB0FFF017F13C048B512E04814
F05A380FF807EA1FE0393FC003E0903880008048C8FC127EA212FE5AA67E127EA2007F14
F0393F8001F813C0381FE003390FF80FF06CB5FC6C14E06C14C06C6C1300EB0FF81D207B
9F27>99 D<EC3FF04A7EA3143F1401A9EB0FE1EB7FFD48B5FC5A5A380FF83F381FE00F38
3FC007EB8003EA7F00007E1301A212FE5AA67E007E1303A2127F6C1307EB800F381FE01F
380FF03F6CB612C06C15E06C13FD38007FF9D91FE013C0232E7EAD27>I<EB0FF8EB3FFE
90B51280000314C04814E0390FFC0FF0391FE003F8EBC001D83F8013FC48C7FC127E157E
12FEB612FEA415FC00FCC8FC7E127E127F6C143C6D137E6C7E01F013FE390FFC07FC6CB5
FC000114F86C14F0013F13C0903807FE001F207D9F27>I<EA7FE0487EA3127F1203A914
7F9038F1FFC001F713F090B5FC8114C1EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C7
13F0A36C018313E0242E7FAD27>104 D<130F497E497EA46D5A6DC7FC90C8FCA7383FFF
80487FA37EEA000FB3A4007FB512F0B6FC15F815F07E1D2F7BAE27>I<387FE07F39FFF1
FFC001F713F090B5FC6C80000313C1EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713
F0A36C018313E024207F9F27>110 D<EB1FE0EB7FF83801FFFE487F481480390FF03FC0
391FC00FE0393F8007F0EB00034814F8007E1301A248EB00FCA76C1301007E14F8A2007F
1303393F8007F0A2391FE01FE0390FF03FC06CB512806C14006C5B38007FF8EB1FE01E20
7C9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC39007FFE1F14F89138
F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA36C5C22207E9F27>
114 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FCEA7F80
13FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014070078EB03F000FC
1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F27>I<
133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA415FE6D13FC1483EC
FFF86D13F06D13E0010313C0010013001F297EA827>I<3A7FFE07FFE000FF15F06D5A49
7E007F15E03A0F80001F00A36D5B0007143EA414F0EBC1F83903E3FC7CA4EBE79EA20001
1478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E024207F9F27>119
D<EC07F8EC3FFC14FF130315F8903807FE00EB0FF05C5CB0131FEB7F80EA3FFFB5C7FC5B
A27F003F7FEA007FEB1FC0130FB08080EB07FE903803FFF815FC1300143FEC07F81E3A7C
B327>123 D<EA7F80EAFFF013FC13FF7E00017F38003FC0131F130FB080EB07F8ECFFF0
6D13FC7FA25B4913F0ECF800EB0FE05CB0131F133F48B45A007F90C7FCB5FC13FC13F0EA
7F801E3A7CB327>125 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmr9 9 48
/Fd 48 123 df<123C127EB4FCA21380A2127F123D1201A412031300A25A1206120E120C
121C5A5A126009177AB315>39 D<123C127EB4FCA21380A2127F123D1201A412031300A2
5A1206120E120C121C5A5A126009177A8715>44 D<EB0FE0EB7FFCEBF83E3903E00F8039
07C007C0EB8003000F14E0391F0001F0A24814F8A2003E1300007E14FCA500FE14FEB200
7E14FCA56CEB01F8A36C14F0A2390F8003E03907C007C0A23903E00F803900F83E00EB7F
FCEB0FE01F347DB126>48 D<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E00
7FB51280A319327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC0
48EB1FE048130F15F00060130712FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15
E0EC1FC0A2EC3F801500147E5C495A5C495A495A495A49C7FC133E133C4913185B485A48
481330485A48C7FC001C1470001FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC
4813FF3907E03F80390F001FC0001EEB0FE0001CEB07F0123F018013F8140313C01380A2
381F0007C7FC15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0
EC0FE0EC07F015F8140315FC140115FEA3127EB4FCA415FC48130312780070EB07F86C14
F0003C130F001FEB1FE0390FE03F800003B51200C613FCEB1FE01F347DB126>I<EC01C0
A214031407A2140F141FA2143F147F146F14CF1301EB038F140F1307130E130C131C1338
1330137013E013C0EA0180120313001206120E120C5A123812305A12E0B71280A3C7380F
C000A94A7E0107B51280A321337EB226>I<000C14C0380FC00F90B5128015005C5C14F0
14C0D80C18C7FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000C
EB07E0A2C713F01403A215F8A41218127E12FEA315F0140712F8006014E01270EC0FC06C
131F003C14806CEB7F00380F80FE3807FFF8000113E038003F801D347CB126>I<14FE90
3807FF80011F13E090383F00F0017C13703901F801F8EBF003EA03E01207EA0FC0EC01F0
4848C7FCA248C8FCA35A127EEB07F0EB1FFC38FE381F9038700F809038E007C039FFC003
E0018013F0EC01F8130015FC1400A24814FEA5127EA4127F6C14FCA26C1301018013F800
0F14F0EBC0030007EB07E03903E00FC03901F81F806CB51200EB3FFCEB0FE01F347DB126
>I<1230123C003FB6FCA34814FEA215FC0070C7123800601430157015E04814C01401EC
0380C7EA07001406140E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA2
5BA55BA9131C20347CB126>I<EB0FE0EB7FFC90B5FC3903F01F803907C007C0390F0003
E0000EEB01F0001E1300001C14F8003C1478A3123EA2003F14F86D13F0EBC001D81FF013
E09038F803C0390FFE07803907FF0F006C13DE6C13F87EEB3FFE8001F713C0D803E313E0
D8078013F0390F007FF8001E131F003EEB07FC003C1303481301EC007E12F848143EA215
1EA37E153C1278007C14787E6C14F0390F8003E03907F01FC00001B5120038007FFCEB1F
E01F347DB126>I<EB0FE0EB7FF8EBFFFE3803F83F3907E00F80390FC007C0D81F8013E0
EC03F0EA3F0048EB01F8127EA200FE14FC1400A415FEA5007E1301A2127F7E1403EA1F80
000F13073807C00E3803E01C3801F03838007FF090381FC0FC90C7FC1401A215F8A215F0
1403001F14E0383F800715C0140FEC1F809038003F00001C137E381F01FC380FFFF00003
13C0C690C7FC1F347DB126>I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A
6C7EA202707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E
80010FB5FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF0
4A7ED8FFFE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE
7F80EE3FC0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E
9039FC0007FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0F
F0EE1FE0163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE130C9139
3FFF801C91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC7
120348481401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC4816
00AB7E6D150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC
01C0D97F80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FE
C7FC2E377CB437>I<B77E16F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E70
7E707E177E177FEF3F80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F1800
5F17FE5F4C5AEE07F04C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B>I<B812
80A3D803FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C
15FC90B5FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>70
D<B512FEA3000113006C5AB3B3A7487EB512FEA317337EB21C>73
D<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C
485A380F03F03803FFC0C690C7FC20357DB227>I<B500FE903807FFF8A3000190C70001
13006C48EC00FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC150E5D5D15F84A
7E14034A7EEC0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B6F7E6F7EA26F7E
707EA2707E707E160F83707E707EA283486C913807FF80B500FE013F13FCA336337EB23C
>I<B512FEA3D803FEC9FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407
B7FCA329337DB230>I<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80
140CA2D98FC01418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027E
EB0300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037F
C7FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF8
7F80C6030013006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E
7E6E7EA26E7E6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FC
ED01FEED00FFA2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578
B500C01438A2171835337EB23A>I<90381FE00390387FFC0748B5FC3907F01FCF390F80
03FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C
13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF140302001380157F153FED1F
C0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800
E0B512E0011F138026C003FEC7FC22377CB42B>83 D<B500FE90381FFFF8A3000190C813
006C48153C1718B3AF1738017F1530A217706D6C1460011F15E06E495A010F14036D6C49
5A6D6C49C7FCD901FC131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>85
D<12035A120E5A12181238123012701260A212E05AA412DEB4FC1380A2127FA2EA3F0012
1E09177BB315>96 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7E
EA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA3
140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA126
>I<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB1F80
49EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB3F00
01CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC07C0
3901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FEAA
127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383FFE
00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF
3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B6C
6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7FFC
EBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA212
FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901F0
03C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E0FC0
EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFFE0A3
1A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F83
809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C38
0EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F0001
003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007E0
C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF09038F1
E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA326347EB3
2B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA0F
F0B5FCA310337EB215>I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>
108 D<2703F01FE013FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F028
07F7003F387FD803FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFF
F0A33C217EA041>I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03
FE497FA25BA25BB3486CEB7F80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F
803901F007C03903C001E000078048486C7E48C7127CA248147E003E143E007E143FA300
FE1580A8007E1500A36C147EA26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80
D93FFEC7FCEB07F021237EA126>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED8
07FE7F6C48EB1F804914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D
131F6DEB3F80160001FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0
A325307EA02B>I<3803E07C38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC
0F8049C7FCA35BB2487EB512E0A31A217FA01E>114 D<EBFF06000713CE381F00FE003C
133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFFC014F0000F7F6C7FC67F
EB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E6C5B38F7807838E1FFE0
38C07F8019237EA11E>I<1330A51370A313F0A21201A212031207381FFFFEB5FCA23803
F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>I<D803F0
133F00FFEB0FFFA30007EB007F000380B35DA35D12016D4813800000903803BFFC90387E
073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB3F800007EC1F00000314
0E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5BA290381F8180A214C301
0F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F29>I<B53A1FFF81FFF0
A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C1318A26D017E13380000
02FE1330A290267E01FF5B159F168090263F030F5BA216C0903A1F8607C180A202C613E3
90260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D481378A36D48133034217F
9F37>I<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC070015066C6C5BA26D131C
017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC14
FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA70
1CEA7838EA1FF0EA0FC025307F9F29>121 D<003FB512F0A2EB000F003C14E00038EB1F
C00030EB3F800070137F1500006013FE495A13035CC6485A495AA2495A495A49C7FC1530
13FE485A12035B48481370485A001F14604913E0485A387F000348130F90B5FCA21C207E
9F22>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmb10 10.95 2
/Fe 2 109 df<EB0FFE90387FFFC048B512F04814FC3907FC0FFE48486C7E6D6C7F486C
7E82A26E7FA36C5A6C5AEA01E0C8FC5C49B5FC131F90B6FC000313F84813C0481300EA1F
FC485A127F5B12FF5BA45CA26C6C5A16F83B3FF807BFFF80391FFC1F3F390FFFFE1F6C49
7E0001EBF80326003FE0C8FC292B7EA92C>97 D<13FFB5FCA512077EB3B3AFB512FCA516
3F7EBE19>108 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmss10 10.95 2
/Ff 2 42 df<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B1203
A2485AA25B120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA2120F
7FA212077FA26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8EB
00FC165A79C323>40 D<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2EB
3F80A2131F14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A414
E0130FA214C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A48
C7FC127E5A165A7BC323>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmbx10 12 11
/Fg 11 120 df<903801FFF8011FEBFF80017F14E090B612F8489038807FFC3A03FE001F
FE486CEB07FF486E7F0280806F7FA36F7F6C90C7FCA26C5AEA00F890C8FCA2150F021FB5
FC0103B6FC131F017F13C03901FFFC004813E0000F13804890C7FC485A5B485AA2485AA4
5DA26C6C5BED07BF6C6C010F13FC6CB490391F3FFFE06C9026C0FE1F13F06CEBFFFC6CEC
F007C66CD9E00113E0010790C9FC342F7DAD38>97 D<EFFF804BB5FCA5ED000782B1EC1F
FC49B51283010F14E3013F14F390267FFC07B5FC9038FFF0004801C0133F48497F4890C7
7E484880121F5B123FA2127F5BA312FFAB127FA36C7EA2121F7F000F5D6C6C5C5E6C6D90
B512C06CD9E00114FF39007FF80F6DB512E7010F14C7010314079026003FF0EBFC003846
7CC440>100 D<EC1FFE49B512C0010714F0011F14FC90397FFC0FFE903AFFE003FF8048
49C613C0485B4890C7EA7FE048ED3FF0485AEE1FF8485AA2007F150F4915FCA212FFA390
B7FCA317F801F8C9FCA5127FA27FA2003F1638177C6C6C15FCA26C6CEC01F86C6D13036C
ED07F06C6DEB0FE06C01F0EB3FC0903A3FFE01FF806DB5EAFE0001075C010014F0020F90
C7FC2E2F7DAD35>I<EB7FC0B5FCA512037EB1923803FF80031F13F0037F7F92B57E9139
C1FC1FFE9139C3E00FFF9126C7C0077FECCF0002DE7F02FC81A25C5CA35CB3A7B600C1B6
1280A539457CC440>104 D<13FCEA03FF4813804813C0A24813E0A66C13C0A26C13806C
1300EA00FC90C7FCA9EB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<903A7FC003
FF80B5011F13F0037F7F92B57E9139C1FC1FFE9139C3E00FFF00039026C7C0077F6CEBCF
0002DE7F02FC81A25C5CA35CB3A7B600C1B61280A5392D7CAC40>110
D<EC1FFE49B512E0010714F8011F14FE903A7FF807FF809026FFE0017F48903980007FE0
4890C76C7E48486E7E000F8249140F001F82A2003F824980007F1780A400FF17C0AA007F
1780A46C6C4A1300A2001F5EA26C6C4A5A00075E6D143F6C6D495AC69039E001FFC09026
7FF8075B6DB6C7FC010F14FC010114E09026001FFEC8FC322F7DAD39>I<90397F803FC0
B5EBFFF0028313F8028713FC91388FE7FE91389F8FFF0003EB9E0F6C13BCA214F8A29138
F007FEED03FC9138E001F892C7FCA35CB3A5B612C0A5282D7DAC2F>114
D<90391FFE078090B512DF000314FF5A380FF803381FE000D83F80133F127F90C7121FA2
48140FA27FA201E090C7FC13F8EBFFC06C13FEECFFC06C14F015FC6C806C806C15800001
15C07E011F14E01301D9000713F014000078147F00F8143F151F6C140FA37E6C15E0151F
6D14C06D133F01F0EB7F809039FC03FF0090B55A00FC5CD8F83F13F0D8F00790C7FC242F
7CAD2D>I<EB01F0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B512C0B7
FCA4C601F0C7FCB3A3ED01F0AA017FEB03E014F81507D93FFC13C090391FFE1F806DB512
006D5B01015B9038003FF024407EBE2D>I<B5D8FE1FB539801FFFF0A500039027C0007F
F0C7EAFE00043F157C6E6E14FC6C031F5D6E6E13016C61836E013F1403017F606E496C13
07013F606EED800F011F91B55C16F9DAFF01ECC01F6D02F092C7FC03816E5A6D0183153E
EEE07F03C7ECF07E6DDAC03F137C03E7ECF8FC6D01EF5DEE801F03FF14FD6DDA000F5B18
FF6E486D5BA36E486D5BA26E486D5BA2020F93C8FC4B7FA26E48147E6E48143C4C2C7DAB
53>119 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmtt10 12 8
/Fh 8 118 df<ED7FFC4B7EA4157F1500ABECFF80010313F0010F13F8013F13FE4913FF
48B6FC4813C09038FE003FD807F8130F48481307484813035B003F14015B007F140090C8
FCA25A5AA97E6C1401A27F003F14037F001F14077F6C6C130F6D131F6C6C137F2603FF81
B512FC6C90B612FE6C5C6D5B011F13F001079038E07FFC010090C8FC2F3E7DBC34>100
D<ECFFC0010313F0010F13FC013F13FF49148090B612C04801C013E03A03FE001FF04848
EB0FF8D80FF013074848EB03FC1501485A49EB00FE127F90C8FC16FF167F5A5AB8FCA516
FE48C9FC7E7EA27F123F6D143E001F157F7F6C7E6D14FF6C6CEB01FE6CB413076C9038E0
3FFC6C90B512F86D14F0011F14E06D14800101EBFE009038003FF0282E7BAC34>I<49B4
EB1FE001079038C0FFF8011F01F313FC017F90B512FE90B7FC5A48018313F1903AFC007F
80FC484890383FC07849011F130048486D7EA2001F81491307A66D130F000F5DA26C6C49
5A6D133F6C6C495A9038FF83FF91B5C7FC485C5D4814F001C713C001C190C8FC01C0C9FC
A47F6C7E90B512FE6CECFFE06C15F8000715FE48814816809026F0000313C0D83FC09038
003FE090C8120F48ED07F0007E150300FE16F8481501A56C1503007E16F0007F15076C6C
EC0FE001E0143FD81FF8ECFFC0270FFF800F13806C90B612006C5DC615F8013F14E0010F
1480010001F8C7FC2F447DAB34>103 D<14F0497E497E497EA46D5A6D5A6D5A91C8FCA9
383FFFFC487FA47EC7FCB3AD003FB612F04815F8B7FCA27E6C15F0253E79BD34>105
D<15FF267FFC0713E026FFFE1F7F027F7F91B57E90B67E6C1481C69038FC00FF02F07F4A
804A133F5CA291C7FCA35BB3A4277FFFFC0FB5FCB56C481480A46C496C1400312C7FAB34
>110 D<90390FFF078090B5EACFC0000314FF5A5A5A383FF803397F80007F90C7123F12
FE48141FA47E007FEC0F8001C090C7FCEA3FF8381FFFE06C13FF6C14E06C14F8C614FE01
1F7FD9007F1380020313C09138003FE0ED0FF0003C1407007EEC03F800FE1401A27EA36D
13036D14F06D13076DEB1FE001FE13FF90B612C016801600D8FC7F13FC6D13F0D8780713
80252E79AC34>115 D<EB01E0497E1307AA003FB612FE4881B8FCA36C5D260007F0C8FC
B3A3EE0F80EE1FC0A66EEB3F800103147F6E13FF902601FF031300EDFFFE6D5C6E5B6E5B
020F13C0020190C7FC2A387EB634>I<D87FFCEB1FFF486C497FA4007F800000EC003FB3
A7167FA216FFA26D5B6D1307DAE01F13FF6DB712807F7F6D143F0101D9FC1F1300902600
7FF0C8FC312C7FAA34>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmtt12 13.14 5
/Fi 5 118 df<EC3FFF49B512E0010714F8011F8049805B90B7FC48EBE001481300485A
EA0FF8496D5A4848147C93C7FC485A5B127F90CAFCA35A5AA97E7EA27F123F6D141F6DEC
3F80121F6C7E01FC147F6C6CECFF006C6C6C5A6C9038F00FFE91B55A6C6C5C6D5C6D5C01
071480010149C7FC9038003FF0293278B038>99 D<EEFFC0277FFFC00713F8B5D8E01F13
FC037F13FE92B5FC02E114FF14E36C01E713813A000FEFFC019139FFF000FE4B137C0380
130092C8FCA25C5CA25CA25CA45CB2007FB67EB77E82A35E6C5D30307CAF38>114
D<903907FF80F0017FEBF1F848B512FD000714FF5A5A5AEBFC00D87FE0131F0180130F48
C71207481403A5007FEC01F001C090C7FCEA3FF013FE381FFFF86CEBFFC0000314F8C614
FF013F1480010714E0D9003F13F0020013F8ED0FFC1503003CEC01FE007E140000FE15FF
167F7EA37F6D14FF16FE01F013036DEB07FC01FF137F91B512F816F016E04815C0D8FC3F
1400010F13FCD8780113E0283278B038>I<EB01E0497E1307AB003FB712804816C0B8FC
A46C1680260007F0C8FCB3A4EE03E0EE07F0A66E130F17E06D6C131F6EEB3FC0903901FF
81FF92B512806D15006E5B6E5B6E13F002075B020190C7FC2C3D7DBB38>I<D83FFE9038
03FFE0486C497FB55BA36C806C80C66CEB0007B3A9160FA2161F163F6E137F6D6C13FFDA
F007EBFFE091B712F06D16F87F6D14E76D02C713F00100020313E0DA3FF8C8FC35307FAE
38>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmbx12 13.14 28
/Fj 28 122 df<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA7FFEA2EA3FFCEA1FF8EA07E0
1010778F22>46 D<15F014011407141F147FEB03FF137FB6FCA313FC1380C7FCB3B3B200
7FB712E0A52B4777C63D>49 D<ECFFF80107EBFF80013F14F090B612FC4881480101EBFF
802707F8003F13C0D80FE0010F13E0D81F806D13F0003F80D87FF06D13F86D15FC6D7F00
FF16FE6D147FA217FF82A36C5A6C5A6C5A6C5AC95A17FEA3EEFFFCA24B13F817F05D17E0
4B13C017804B13004B5A4B5A5EED7FE04B5A4A5B4A90C7FCEC07FC4A5A4A5A4B131FEC3F
804AC7FC14FE4948143E495AEB07E0495A4948147E49C8FC017E15FE90B7FC4816FC5A5A
5A5A5A5AB8FC17F8A430477AC63D>I<EC3FFE0103B512E0010F14FC013F14FF90267FE0
1F7F9026FF000713E0D801FC6D7FD803F07F486C6D7FD80FFE817F486D80167FA3805C16
FF7E91C75B6C5A6C5AD80020495B90C75C5D5F4B5B5F031F90C7FCED3FFC4AB45A49B512
E0168016E016FC90C7EA3FFF030713C06F7F6F7F6F7F83707E83A2701380A318C0EA07E0
EA1FF8487E487EA2B5FCA31880A25E491600127F494A5A6C485D01E05B001F4A5BD80FFC
495B2707FFC03F13C06C90B65AC64BC7FC013F14F8010714E09026007FFEC8FC32487BC6
3D>I<EE01F8A24C7EA34C7EA24C7EA34C7FA24C7FA34C7FA293B57EA34B8016F3030380
16E316E103078016C0030F805E83031F814C7E4B81153E83037E81037C7F03FC815D8302
01824B7F0203825D830207824B7F020F825D84021F8392B8FC4A83A34A83027CC8120F02
FC835C840101844A810103845C840107844A81010F845C85011F85496C82B600C091B712
F0A5544D7CCC5D>65 D<93261FFF80EB01C00307B500F81303033F02FE13074AB7EA800F
0207EEE01F021F903AFE007FF83F027F01E0903807FC7F91B5C73801FEFF010301FCEC00
7F4901F0814901C0150F4949814990C97E494882495A48498248197F5C48193F5C48191F
5C48190FA2485BA21A075AA391CDFCA2B5FCAD7EA280F207C0A27EA36C7F1A0F6C1A8080
6C191F6E18006C61806C197E6C6D177C6D6C17FC6D6C4C5A6D6D4B5A6D6D4B5A6D01F0ED
1FC06D01FC4B5A010001FF03FFC7FC6E01E0EB07FE021F01FEEB3FFC020790B612F00201
16C0DA003F92C8FC030714F8DB001F13804A4D79CB59>67 D<B912F0F0FF8019F019FC19
FFD8001F902680000114C0DD001F7F060713F806017F726C7E737E737F737F737F858773
7F8587A2747EA38786A21C80A51CC0A586A462A51C80A51C00A26263A2631AFF63616361
4F5B634F5B073F90C7FC4F5A4F5A06035B061F5B4DB512C0BBC8FC19FC19F0198006F0C9
FC524B7CCA5E>I<BB12C0A486D8000F01E0C77E18071801F0007F193F191F190F190786
1903A31901A3EF0F80A2737EA497C7FC171FA2173F177F17FF160392B6FCA5EDE0031600
177F173F171FA2050FEC0F80A3F21F00A494C8FC621A3EA21A7EA31AFE6219011903A219
07190FF13FF819FF1803183FBBFCA262A3494A7CC951>I<BBFCA41A80D8001F01C0C7FC
181F18038484197F193F191F1AC0190FA31907A4171FF103E0A496C7FCA25FA25F5F5E16
0792B6FCA5EDC0071601828383A283A794C9FCB1B8FCA5434A7CC94D>I<B712FEA5D800
0FEBE000B3B3B3ABB712FEA5274B7DCA2E>73 D<B700F8027FB512F0A5D8001F01C0C9EB
C00074C7FCF101FE4F5A4F5AF10FE04F5A4F5A4FC8FCF001FE4E5A4E5AF00FE04E5A4E5A
4EC9FCEF01FE4D5A4D5AEF0FE04D5A4D5A4DCAFCEE01FE16034C7E4C7F5E4C7F93B57E03
C18015C303C780DBCFE77FDBDFC37FEDFF8104017F4B6C804B7F4B6D7F03E0814B6D7F83
85717F717F83857180727F8486727F8486727F727F84867280737F8587737F87B700F801
0FB612FCA5564B7CCA60>75 D<ECFFFC010FEBFFC0017F14F090B612FC489038803FFF27
03FC00077F486C6D7F486C6D7F6E7E83707EA3707E6C90C7FC6C5A6C5AC9FCA4ED1FFF02
1FB5FC49B6FC130F013FEBC03F9038FFFE00000313F04813C04890C7FC485A485AA2485A
A2485AA4167FA26D14FF007F15EF6D01017F6C6C903907CFFF806C6CD90F8F13FE6C9038
E07F076C9038FFFE0300014A7ED8003F9038F0007F0103018090C7FC37337CB13C>97
D<91380FFF8091B512F8010314FF010F158090263FFE0013C0D97FF8EB1FE0D9FFE0EB3F
F04849EB7FF8484913FF4890C7FC5A5B121F5B003FED7FF0EE3FE0007FED1FC093C7FC5B
A212FFAC127F7FA2123FA26D153E121F6D157E6C167C6C6D14FC6C16F86C6D13036C01F0
EB07F0D97FFCEB1FE06DB4EBFFC0010F90B5120001035C010014F0020F13802F337CB137
>99 D<EF1FF0EE3FFFA51600177FB3A2EC0FFF91B512E0010314F8010F14FE013FEB01FF
903A7FF8003FFFD9FFE0130F48497F48497F4890C77E4881485AA2485AA3127F5BA212FF
AC127FA37F123FA2121F7F000F5D6C6C5C5E6C6D5B6C01E0497F6C6D017FEBFFE090393F
FE03FE6DB512F801075C010114C09027001FFC00EBC0003B4D7CCB44>I<EC0FFF91B512
F0010314FC010F14FF90263FFE077F90267FF0007F4948EB3FE04801806D7E48824890C7
6C7E4848140783485A003F6F7EA3485A701380A312FFA290B8FCA401F8CAFCA5127FA27F
A2123FA26C6CED0F80A2000F161F6C6C16006E5C6C6D147E6C6D5C6C6D495AD97FFCEB07
F0903A1FFF803FE06D90B55A010392C7FCD9007F13FC020713C031337DB138>I<ED7FE0
913807FFFC021F7F027F7F902601FFE0138049018113C0902607FE0113E049485A14F813
1FEB3FF0A26F13C0EB7FE06F1380EE3E0093C7FCADB77EA526007FF0C8FCB3B3A2003FB5
12F8A52B4D7DCC26>I<DA7FFCEB0FF00103B538807FF8011F9138F1FFFC4991B512FE90
267FF01F13F32701FFC007138348EB0001A248486DEBC1FC000FEEE0F849027F1300A200
1F82A8000F5EA26D14FF00075E6C6C495BA26CD9C00790C7FC6C9038F01FFC4890B55A5E
D803C314809026C07FFCC8FC000790CAFCA47FA27F13FC90B612FCEEFFC06C16F817FE6C
8218806C17C06D16E00003B812F0120FD81FFCC7000F13F8D83FF0140049153F4848ED1F
FC00FF160F491507A56D150F007F17F86D151F6C6CED3FF06C6CED7FE0D80FFE913801FF
C06C6C6C010713806C01F8017F1300C690B612FC013F15F001071580D9003F01F0C7FC37
487DB03D>I<13FCEA03FF487F487FA2487FA66C5BA26C5B6C90C7FCEA00FC90C8FCACEB
7FC0B5FCA512037EB3B3B61280A5194D7BCC22>105 D<EB7FC0B5FCA512037EB3B3B3AA
B61280A5194C7BCB22>108 D<90287FC001FFE0EC7FF8B5010F01FC0103B5FC033F6D01
0F804B6D6C4814E0DBFE079026C03F817F9126C3F0019138FC007F0003D9C7E0DAE1F880
6CDA8000D9F1E06D7E02CFC7EBF3C002DE91267FF780131F02FC03FFC77FA24A5DA24A5D
A34A5DB3A9B6D8C03FB5D8F00FB512FCA55E317BB067>I<903A7FC001FFC0B5010F13F8
033F13FE4B7F9126C1FE077F9126C3F0037F00039038C7C0016CD9CF8080150002DE7F02
FC81A25CA25CA35CB3A9B6D8C07FEBFFE0A53B317BB044>I<913807FF80027F13F80103
B6FC010F15C090261FFE017F903A7FF0003FF8D9FFC0EB0FFC48496D7E4890C76C7E4817
804980000F17C048486E13E0A2003F17F049157FA2007F17F8A400FF17FCAB007F17F8A3
6C6CEDFFF0A3001F17E06D5C000F17C06C6C4A13806C17006C6D495A6C01E0EB1FFC6D6C
495A903A3FFE01FFF0010FB612C0010392C7FCD9007F13F80207138036337DB13D>I<90
39FF803FE0B5EBFFF8028113FE02837FDA87E11380EC8F830003D99F0713C06C139E14BC
A214F8A24A6C13806F13004A6C5A93C7FCA45CB3A7B612E0A52A317CB032>114
D<90390FFF8070017FEBF1F048B6FC1207380FFC01391FE0003F4848130F491307127F90
C712035A1501A27FA213E06D90C7FC13FE387FFFF0ECFFC015F06C14FC6C14FF6C15806C
15C06C15E0C615F0013F14F8010714FCEB007F14019138003FFE150F0078140700F81403
A26C1401A37E16FC6C14036D14F87F6DEB07F001F8EB1FE001FFEBFFC091B51280D8FC7F
1400D8F81F13FCD8E00313C027337CB130>I<14F8A61301A41303A21307A2130FA2131F
133F137F13FF1203000F90B512F0B7FCA426007FF8C7FCB3A6167CAA013F14F880A29039
1FFE01F0010F1303903907FF87E06DEBFFC06D14806D6C1300EC0FFC26467EC430>I<D9
7FE0EC3FF0B5EC7FFFA5000315016C81B3AB5EA25EA25E7E6EEB0F7F017F021E7F6E017C
EBFFE090393FFE01F86DB512F0010714E0010114C09027003FFE00EBC0003B327BB044>
I<B60081B500FC90387FFFF0A500019026E000030180903803FC006E715A6C6F5E6E6F13
03017F61A26E496D1307013F616E6F130F011F4A5EA26E6F131F6D4A93C7FCDD9FFC5B6D
D9801F153E170F03C06E137E6D023F157C93383E07FFDBE07E15FC6DDA7C035C03F01581
6D02FC5D4C7E03F815C3DA7FF95E9226FDF00013E7DA3FFF5E4C137F19FF6E5F4C7FA26E
496D90C8FCA26E5E93C7120FA26E486E5AA202015E4B1403A26E486E5A54317EAF59>
119 D<007FB500C090387FFFE0A5C601F0C73803F8006E5D017F5E6E1407013F5E6E140F
011F5E6E141FA26D6D91C7FC5F6D153E6F137E6D157C6F13FC6D5DEDF0016D5DEDF80302
7F5C15FC1607DA3FFE5B160F021F5CEDFF1F6E91C8FC16BF6E13BE16FE6E5BA36E5BA26E
5BA26F5AA26F5AA26F5AA393C9FC5D153E157E157CD81F8013FC486C5B387FE001D8FFF0
5B14035D14074A5A49485A007F49CAFCEBC07E383F81FC6CB45A6C5B6C13C0C648CBFC3B
467EAF41>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmtt12 14.4 5
/Fk 5 115 df<EC1FF891B57E010314E0010F14F84980017F8090B7FC48D9F80F1380DA
C00113C048496C13E04848C7123F4848EC1FF049140F484815F81607484815FCA2484814
03A24915FEA200FF1501A290B7FCA517FCA290CAFC7FA2127FA27F123F6D15FCA26C6CEC
01FE7F6C6C14036C6C14076DEC0FFC6C6D131F6C01E0EB7FF86C9039FC03FFF06DB612E0
6D15C06D158001071500010114FC6D6C13E0020790C7FC2F3679B43E>101
D<923801FFC0030F13F0033F13FC92B512FE5C4A14FF5C4A1303EC1FF89238F001FEEC3F
E09238C000FC027F14005DAA003FB712F05AB812F8A36C16F0A2C7D87F80C7FCB3B3003F
B7FCA2481680A36C1600A2304A7CC93E>I<DA0FF0EB1FF0DA7FFEEBFFFC49B5008313FE
010714EF4991B6FC5B5B90267FF81F13F19026FFE007EB00FEDA8001147C4890C7EB8000
49147F00038249143FA200078249141FA66D143F00035EA26D147F00015E6D14FF6C6D48
90C7FCECE00790397FF81FFE90B65A5E485D5E01F914802703F87FFEC8FCEC0FF091CAFC
A46C7EA213FF6C90B512F8EEFFC06D15F090B712FC4816FF4817804817C04848C7000F13
E0D81FF09138007FF04848ED1FF84915074848ED03FC90C91201A24817FE481600A56C16
01A26C6CED03FC6D15076C6CED0FF8D81FF8ED3FF001FE15FF6C6C6C010313E06C01FC01
7F13C06C90B71280C6EEFE006D5D011F15F0010715C001004AC7FC020713C038517DB33E
>I<ED07FC3B3FFF803FFF804891B512E0B500C314F802CF8002DF806C90B7FC6CDAF80F
1380D8003FD9C00113C092C713E04A143F4AEC1FF04A15F84A140F4AEC07FCA217034A15
FE1701A318FF83A95F18FEA280170318FC6E140718F86E140FEF1FF06E143F6EEC7FE06E
ECFFC0DBC0031380EDF01F92B6120002DF14FC02CF5C02C35C02C114C0DAC07F90C7FCED
0FF892C9FCB3003FB512C04880B67EA36C5C6C5C384F7FB33E>112
D<EE07FE263FFFF890387FFFC0484AB512E0B5D8FC0714F05D4B14F86C5C6C91387FFC0F
D80003EBFFC002FD90380007F0DAFFFEEB03E003F890C7FC5D5DA25D5DA292C9FCA25CA4
5CB3A3003FB612FC4881B7FCA37E6C5D35347CB33E>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmti10 10.95 45
/Fl 45 123 df<D801E013F03907F803FC000F130701FC13FE001F130FA4000F13073903
D801EC390018000CA20138131C01301318017013380160133001E01370491360000114E0
39038001C001001380481303000EEB070048130E485B485B485B4813601F1C70BE2F>34
D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012
01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<387FFFFCA3B5FCA21605799521>
45 D<120FEA3FC0127FA212FFA31380EA7F00123C0A0A77891C>I<131EEB3F80137FEBFF
C05AA214806C13005B133C90C7FCB3120FEA3FC0127FA212FFA35B6CC7FC123C122777A6
1C>58 D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1
A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C
140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B
01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65
D<9339FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB07
1FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C49
5A13FF91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5B
A490CCFCA2170FA2170EA2171E171C173C173817786C16706D15F04C5A003F5E6D140300
1F4B5A6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261F
FFFEC9FC010713F0010013803A4272BF41>67 D<49B812F8A390260003FEC7121F18074B
14031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FC
A217F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C
13070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A
5A1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>69
D<49B812F0A390260003FEC7123F180F4B1403A2F001E014075DA3140F5D19C0A2141F5D
1770EFF003023F02E013804B91C7FCA21601027F5CED8003A2160702FFEB1F8092B5FCA3
49D9003FC8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC130F5CA3131F5CA313
3F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<9339FF8001C0030F13E0033F9038F803
809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E49
5AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B12074916
70120FA2485A95C7FC485AA3127F5BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA2
5FA216035FA316076C5E7FA2003F150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C
6CEB01E36CB4EB07C1903A7FC03F81C090391FFFFE00010701F890C8FC010013803A4272
BF46>I<49B648B6FC495DA2D9000390C7000313004B5D4B5DA2180714074B5DA2180F14
0F4B5DA2181F141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C7
12015B4A5DA2170313034A5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F
133F4A5DA2017F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>I<49B612C0A25FD900
0390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA3
13035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141EA2173E013F5D
4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>76
D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF1407033F923801CFE0
A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F1707F143C023804
E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C5BA2F0380301
0116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F13070200020E5C5F
DB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C6DB4C7FC0138
95C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E01500563E7BBD52
>I<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E70141C193CEC07
BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA203031401023C7F
DA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7FCA2715A0101
141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C7143817FE040113
784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813F8486C6F5AEA
07FEB500F01407A295C8FC483E7BBD44>I<EEFFC0030713F892383F80FE9238FC003FDA
03F0EB0F804A486D7EDA1F80804AC76C7E027E6E7E4A81494814004948811307495A4948
157F133F5C49C9FC4917805B1201485AA212075B000F17FFA25B121F190048485DA44848
4B5AA34D5AA25B4D5A12FF60171F60007F163F604D5AA24DC7FC5F003F15014C5A6D5D00
1F4B5A4C5A6C6C4A5A4C5A6C6C4AC8FC000315FC6C6C495A6C6CEB07E0017FEB1F809026
1FC07EC9FC903807FFF801001380394273BF46>I<49B77E18F018FC903B0003FE0003FE
EF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0
187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512
FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C
497EB67EA33C3E7BBD3E>I<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF
8419800207ED3FC05DA219E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F
4A5A4B495A4D5AEF3F8002FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E
707E707E0103814A130083A213075CA25E130F5C5F1603131F5CA3013F020714404A16E0
5F017F160119C04A01031303496C1680B6D8800113079438FE0F009338007E1ECAEA3FFC
EF07F03B407BBD42>82 D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390F
C007DF4AC66CB4FC023E6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F15
70A46E91C7FCA2808014FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037F
EC003FED07FF1501A281A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14
034B5A486C5C150F6D495A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026
C001FEC9FC314279BF33>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E
49013F141E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A15
3C00F01738485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA214
7FA25DA214FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<00
1FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA2
01FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F16
7817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC
5E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F8
3903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<277FFFFE01B500FC90B512E0
B5FCA20003902680000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA2
0407150EA2040F5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8
FC1683DB0703140E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15
C0DA03804AC9FC60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92
CAFC5F91C7FC705A137E5F137C5F137801705D53406EBD5B>87 D<010C1306011C130E01
78133C01E01370484813E04913C0000313013907000380000EEB0700000C1306001C130E
0018130C0038131C003013180070133800601330A200E0137000CFEB678039FFC07FE0A6
018013C0397F003F80003CEB1E001F1C69BE2F>92 D<147E49B47E903907C1C38090391F
80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E485A
A215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F
13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC
133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA2
1201A25BA21203A25B147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913
FC49137C485A157E5B15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07
F0A215E048130F15C0141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A
6CB4C7FCEA01F81F4076BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90
383F000F017E133F4913FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8
FCA35A5AA6481403007E1407150F151E003E143C15786C14F0EC03E0390F800F803903E0
7E003801FFF838003FC0202977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA2
5EA21501A25EA21503A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC09038
3F00FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F
90C75AA214015A485CA2140316384814F0A21407167891380FE070127C021F13F0007E01
3F5B003E137FECF3E1261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE
2E>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848
133E49133C121F4848137C15F8EC03F0397F000FE0ECFF809038FFFC00B512C048C8FCA4
5AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FF
F038007F801F2976A72A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2
157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F
5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F
5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0F
FC91383E0E1C9138FC077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F00
4914F8137E01FE1303A2484814F0A2150712034914E0A2150F12074914C0A2151FA21680
5B153F1203ED7F006D5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC
90C7FC1401A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C
03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA213
0FA25CA2131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007
D9FFC013E014801400A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16
005B5D001F147EEDFE074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538
A200FE1570020013E048EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8
EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00
701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EB
C070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<EB01FC
13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCED03E049EB0F
F8ED3C3C017EEB707CEDE1FC9038FE01C1EC03839038FC0703140E0001011C13F8913838
00E0494813001460000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7F8EBE0FE000F13
7F6E7EEBC01F81001F130F16701380A2003F15F0021F13E001001380A248148116C0007E
EB0F83168000FE14879138078F0048EB03FE0038EB00F826407ABE2A>107
D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FE
A25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A
1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE
17>I<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E
01F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC05C1270
4A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA20303140700
0160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91
383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E043
2979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C
001C49137E003C13F012385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE
5C5BA2150300015D5B15075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01
C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0
ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14C0491307484814E0485A12
075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A2
48147E007C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF0
38003F80242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07
C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E16
03000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F
010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9
FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<D801F013
FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C1370003CEBE01F123814
C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007EA313FE5BA312015BA31203
5BA312075BA3120F5BA3121F5B0007C9FC232979A726>114 D<EC7F80903801FFE09038
07C0F890381F003C013E131C013C131E017C133E49137E15FEA2000114FCA215706D1300
7FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F14071403120C123F387F80
011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F006C133C381F01F83807FF
E0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA2
91C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A2
5BA2120FA25BA2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C
48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F80137EEA0707000E7F001E
15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307
A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F070001
02FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A
2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E01C013F8121E001C1403EA
3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012005B017E130116C013FE5B
1503000115805BA2ED07001203495B150EA25DA25D1578000114706D5B0000495A6D485A
D97E0FC7FCEB1FFEEB03F0252979A72A>I<903903F001F890390FFC07FE90393C1E0E0F
9026780F1C138001F0EBB83FD801E013F89039C007F07FEA0380000714E0D9000F140048
151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE4A131CA30101143C
001E1538003F491378D87F811470018314F000FF5D9039077801C039FE0F7C033A7C0E3C
078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>120
D<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D878
1F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480
A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB
07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E0070
5B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907FC13
F0010F14E090381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0007E
49133C000114386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A49C8
FC131E4913075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFFD83C
075B486C5B00705CD8F00190C7FC38E0007C24297BA725>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmtt12 17.28 5
/Fm 5 115 df<ED7FF00203B5FC021F14E0027F14F849B67E4915FF010F824982498249
EBC01F9027FFFE00037F4801F801007F48496E7E02C0143F48496E7E4890C8120F491507
001F8349815B003F18804981A2127F4917C08312FF90B9FCA71980190001C0CBFC7F127F
A37F123F7FA26C6C163F6DEE7F806C6CEEFFC0A26C6D5C14E06C6D4A13806C01FC5C6C6D
021F130090267FFFC05B6D9039F801FFFE6D90B65A6D5E6D5E6D5E01005E023F92C7FC02
0F14FC020114E09126001FFEC8FC3A4179BF4A>101 D<4CB47E041F13F093B512FC0303
80030F805D4B15805D92B7FC4AEBFC074A13F0DCC00313004A13804C6C5A4A48EB007895
C7FC5DAB003FB812F04883B97EA56C5F6C5FC7D80FFCC9FCB3B3A8001FB712FE48824883
A56C94C7FC6C5E39597BD84A>I<F00FF8912601FFC0EB7FFE020FD9F803B51280023FEB
FE0F91B6009F14C0010392B612E05B5B5B4916F84901809138C07FC09126FE003F1300D9
FFF8010F9038803F804A6DEC040048496D6DC7FC4A7F48496D7FA291C8127F4883A24915
3FA66D157FA26C5F6E14FFA26C6D495B6E5B6C6D495B6E5BD97FFE013F90C8FC6E6CB5FC
92B55A90B75A5F5F485E1780D9FE3F49C9FC020F13F8020113C091CCFCA47FA26C7F14E4
6DB612E017FF6D16F04916FC90B9FC000318C08548844801C0C7003F7F4848C812014992
38003FFCD83FF0EE0FFE4916074848707E84498200FF1980A290CB127FA56D17FFA26D5E
007F19006D5ED83FF8EE0FFE6D161F6CB4EE7FFC6C01C04A485A6C01F8020F5B9126FFC0
01B5FC000191B712C06C606D94C7FC011F16FC6D5E010316E0D9007F92C8FC020F14F8DA
007F90C9FC43627CBF4A>I<EE0FFC263FFFF090B57E48D9F80714E0DAFC1F14F8B54914
FE92B7FC02FD826C90B87E856CDBE01F7FD8000FEC000703FC01017F4B6D7F03E0143F4B
6E7E4B140F8592C87E4A6F1380A34A6F13C0A284A21AE0A2197FAA19FFA21AC0A26E5DA2
4E138080606F1600606F4A5A6F143F6F4A5A6F4A5A6F130303FF010F5BDCC03F5B93B65A
6102FD93C7FC02FC5D6F5C031F14F0030714C0030191C8FC9238003FF093CAFCB3A4003F
B6FC4881A2B77EA36C5DA26C92CAFC435F7FBE4A>112 D<EF0FFE003FB591B512C048DA
800314F0B6D8C00F14F8043F14FC93B6FC03C115FE15C36C14C76C02CFEBF80FC701DF13
C092B5380007FC04FCEB03F84CEB01F004E090C7FC5E5E93C9FC5DA25DA25DA25DA25DA4
5DB3A6003FB712F84882B8FC83A35F7E6C5E3F3F7BBE4A>114 D
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmtt10 10.95 84
/Fn 84 126 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E1400007C7F
003C131E00101304191C75B830>34 D<903907C007C0A2496C487EA8011F131FA202C05B
A3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F90B512
FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA229387D
B730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFEFD13C0
9039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A36CEC03
F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F011F7F01
037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FCA35AA2
6CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C5C6C5C
C614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<D803C0EB01E0D80FF0
1303486C497E487E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC6C5A5D
387E7E01EA7FFED83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A5AA25D
147FA292C8FC5CA2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F497EA2
4A487E133F163F90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13004914
FF12076F5A5B6F5A6C486D5A0001EC01E029477DBE30>I<EB07E0EB1FF8497E137F497E
803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F1380000113FE
EBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7FC485C
48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01FF5D7F
EDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC1300263FFFFB
B5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>I<EA07
C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA07F012
0FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03FEEB07
FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA212
7F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F80
EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E7F
6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8A2
14FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB1F
C0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE30
>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9FF267F
FBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048B512F0
4880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD87E03EB
0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7FCA2B8
1280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FCEA3FFE
A213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F80
1300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0
EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2
ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA2
4A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2
485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30
>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3F
C04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FE
AD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB
3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC27
3A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA
7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC9038
3FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C0007F4848EB3F
E090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0151F16
C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0
EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F0
25397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C09038F000
7F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF800207
1300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F8150316FC
150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D83FF013
3F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830>I<EC
03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2
EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A4
6C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB612804815C05A
A316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007FC04913
3F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716F04814
0F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E0
6C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F4914F090
387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC5B123F
5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE007FE001
F8EB1FF001E0130F49EB07F849EB03FCA290C7120116FE1500A37EA46C7E15016D14FC12
1F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C15006D
5B011F13F8010713E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA0FF816
F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7
FCA25C5C13015CA213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830>I<49
B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049131FD8
3FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6CEB1FE0
D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE48802607FE
0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815FE4814
00A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE06C90B5
12C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13E0013F
13F890B57E4880488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF04848
1307A290C7EA03F85A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D133FD8
0FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8A21507
16F0150F000F15E0486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A
6C5C6C5C6C1480C649C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7F
E0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C27
6EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA
0FF0121F13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0123FEA
7FC0EAFF80EA7F00127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF014034A
13C0021F138091383FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0485B00
0F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D
7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F
1507ED03F01500252F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE
4881B81280A36C1600A229157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13
C000037F6C13F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0
020113F080ED3FF8151F153FEDFFF05C020713C04A138091383FFE004A5A903801FFF049
5B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9
FC127E1278252F7BB230>I<EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03F
E09038FF800F4890380007F0D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA
1FC0495A003FEBFF0F903800FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700
FC49137EAA00FE6D13FED87E0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F090
3880FF0F001F90387FFFE06D6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC712
7C6CB414FE6CEB800390387FF01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0
273A7CB830>64 D<147F4A7EA2497FA4497F14F7A401077F14E3A3010F7FA314C1A2011F
7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038FC001F0003814913
0FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C130029397DB830>I<007FB5
12F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED
1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80
A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>I<
91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB801F3903FE
000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C16005A5AAC7E
7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6CEB0FF03901
FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007FC0273A7CB830
>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF8150F6F7E6F7E15016F
7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A2167F17005E4B5A1503
4B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B387FB730>I<007FB7
FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FCA6EBF800A4157C92
C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<003FB712804816C0B8
FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FCA69038FC007FA4153E92
C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF13F00103EBC0F8010F13F101
3F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49130F485A491307121F5B123F
491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C6D1400ED03F8A27F
003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F6C6C137FECC1FF6C90B5FC7F
6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<3B3FFF800FFFE0486D4813F0
B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00B290B6FCA601F8C7FCB3A23B3F
FF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E02D387FB730>I<007FB6
FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500213879B730>I<49
B512F04914F85BA27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A1403EB8007397FF0
1FF86CB55A5D6C5C00075C000149C7FC38003FF025397AB730>I<D83FFF90380FFF8048
6D4813C0B56C5AA26C497E6C496C1380D803F0903803F8004B5A4B5A151F4B5A5E4BC7FC
15FE14014A5A5D4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F790B57E14EFECC7F0
1483EC03F8140101FE7F496C7E5B157F497F82151F82150F826F7EA26F7E1501821500D8
3FFF903803FFC0486D4813E0B56C5AA26C497E6C496C13C02B387FB730>I<383FFFF848
7FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A38
7EB730>I<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C4913E00007160001
EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FCA201
E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FFE048
6C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D83FFC90381FFF80486C
4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0A3EBF3E0A314F013F1
A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F15C1A2140715E1A214
0315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01FA26CEB800F6C496C5A
2B387EB730>I<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133F
D87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D131F6C
6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830>I<
007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE15016F7EA2821780163F
A6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB0387F
FFC0B57EA46C5B29387EB730>I<003FB57E4814F0B612FC15FF6C816C812603F8017F91
38003FF0151F6F7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93C7
FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFF
F8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730>82
D<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE001497E484813
7F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C
14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07
F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B5128016
0000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA4
3AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I<
3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F00011600A36C
6C14FE6D13016D5CEC800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7FC9038
007FFCEC1FF02F3980B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E6C486D13C0D8
07F0903801FC00A26D130300035DA46C6C495AA46C6C495AA46D131F6D5CA3EC803F013F
5CA46D6C48C7FCA490380FE0FEA401075B14F1A301035BA314FB01015BA314FFA26D5BA4
6E5A6E5A2B397EB730>I<D83FFC903801FFE0486C4913F000FF16F8A2007F16F06C486D
13E0D81FC09038001FC0000F1680A76D143F00071600A7000390380F803E9039F01FC07E
EC3FE0A3EC7FF0A2147D0001157CA29039F8FDF8FCA314F8A300005D01F913FCA2ECF07C
A201FD137DA2017D5CECE03DA3017F133FA2ECC01FA2013F5CA2EC800F6D486C5A2D397F
B730>I<D87FFF90381FFFC0B56C4813E0A46C496C13C0D803F8903803F8006D1307A26C
6C495AA26C6C5C151F6D5CEC803F013F5CECC07F011F91C7FCA290380FE0FEA214F10107
5BA2903803FBF8A201015B14FF6D5BA26E5AA36E5AB1903803FFF8497F497FA26D5B6D5B
2B387EB730>89 D<001FB612FC4815FE5AA490C7EA03FCED07F816F0150FED1FE016C015
3FED7F80003E1500C85A4A5A5D14034A5A5D140F4A5A5D143F4A5A92C7FC5C495A5C1303
495A5C130F495A5C133F495A91C8FC5B4848147C4914FE1203485A5B120F485A5B123F48
5A90B6FCB7FCA46C15FC27387CB730>I<127CA212FEA27EA26C7EA26C7EA26C7EA26C7E
A26C7EA26C7EA212017FA26C7EA26D7EA26D7EA26D7EA26D7EA26D7EA26D7EA2130180A2
6D7EA26E7EA26E7EA26E7EA26E7EA26E7EA26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2
ED1FE0A2ED0FF0A2ED07F8A21503A2ED01F0150025477BBE30>92
D<007FB612F0A2B712F8A36C15F0A225077B7D30>95 D<1338137CEA01FE12031207EA0F
FC13F0EA1FE013C0EA3F8013005A127EA212FE5AA5EAFFC013E013F0127FA2123FA2EA1F
E0EA07C00F1D70BE30>I<EB7FF80003B5FC4814C04880488048809038E01FFC9038C003
FE14016E7E6C487F6CC77FC8123FA491B5FC130F137F48B6FC12075A48EB803F383FF800
EA7FE0138048C7FC5AA4157F7E6C6C13FFEBC003263FF01FEBFF8090B712C07E6C14EF00
0314876CD9FE01138026003FE0C8FC2A2A7BA830>I<EA3FFC487E12FFA2127F123F1200
AAEC03FE91381FFF80027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F
4AEB3FC091C7121F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F80
6E13FFDAF00313009138FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C
3980B730>I<ECFFE0010713FC011F7F017F7F90B612804815C048EB807F3907FC003F48
5A485A49EB1F804848EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB
0FE06C7E6D131F6C6C14C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801
075B01011380232A7AA830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF87
4913E790B6FC5A5A481303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25A
A25AA87E6C140FA27F003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712
E06C16F06C14F76D01C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713
E0011F13F8017F7F90B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F
484814F0491307127F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB
03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00
010713F8010013C0252A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387
903803FE079138FC03F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C02600
07F0C7FCB3A9003FB512FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF9026
1FFF8713C04913DF90B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F
001F8149133FA56D137F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5B
D9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180
130148C8127F007E8100FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076C
B4EB7FFC6C90B55A6C5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3F
FC487E12FFA2127F123F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07
FCECF8039138E001FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500
FE14FEA26C01FC14FC6C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E0
91C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C02339
7AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0A2EC01C091C7FCA990B512F04814F8A47E
EB0003B3B3A5EC07F0A2123C007EEB0FE0B4131FEC3FC0147F90B512806C14005C6C5B00
0F13F0000313C01D4E7CB830>I<EA7FF8487EA4127F1200AB0203B512804A14C017E0A2
17C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F
90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F496D7E6F7E826F7E15076F7E6F7E3B7F
FFF81FFFE0B56C4813F017F8A217F06C496C13E02D387FB730>I<387FFFF8B57EA47EEA
0001B3B3A8007FB612F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8
FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC
01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C0107138032
2881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E000FF90B57E90B67E7E6C9038FE07FC
C6EBF8039138E001FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500
FE14FEA26C01FC14FC6C496C13F82F2880A730>I<49B4FC010F13E0013F13F8497F90B5
7E0003ECFF8014013A07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F
15FC90C71201A300FEEC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB
1FF06C6CEB3FE06D137F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E00101
90C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267FFE7F13E000FF90B57E90B612FC6C81
6CEBFE07C69038F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8
160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C
6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487FB57EA26C5B6C5B2C3C80A730>I<ED
07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238
801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A28
7EA730>114 D<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880
A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038
000FFF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF
0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9
003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814
F09138FC1FF06DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFC
EB3FFC486C497E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F
903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630
>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D13
0700005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2EC
E0FE01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3F
FFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157E
A56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3
017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3A3FFF81
FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8
EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380F
E3F0ECC1F890381F81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80
B5FCB500C1148014E3A214C16C0180140029277DA630>I<3B3FFFC07FFF80486DB512C0
B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F151F
D91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00F9EC
FDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3FC1EB
C3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>I<001FB612FC4815
FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7485A4A5A4A5A4A5A
4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E4890C7127F485A485A48
5A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3FF0913803FFF8140F5C147F16F0
9138FFF00092C7FC495A5CB3A21303495A133F383FFFF0B55A5C91C8FC14C080003F7F38
003FF813076D7E1301B3A2806D7E15F091387FFFF016F8141F8014039138003FF025477B
BE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E13076D7E1301B3A2806D7E15E091387FFF
E06E13F8801407141F5C4A13E09138FFE00092C7FC495A5CB3A21303495A137F387FFFF0
B5FC14C05C49C8FCEA7FE025477BBE30>125 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmsl10 10.95 35
/Fo 35 123 df<EEFF80030F13F092383FC0789238FE001CDA03F8130E4A48133FDA1FE0
13FF4A5A4B5AEC7F005C5CEE00FE010115784A1400A513035CA4EE01FC0003B7FC17F8A2
3A0007F0000F1607A2130F4A14F0A4160F131F4A14E0A4161F133F4A14C0A4163F137F91
C71380A4167F5B491500A31201486C903801FF80B5D8F83F13FCA25D30407EBF33>12
D<EA0780EA1FE0123F13F0A6EA0F30120013701360A213E013C0A21201EA038013005A12
0E120C121C5A5A5A5A0C1C71BE19>39 D<007FB5FCA2B512FEA418067C961E>45
D<121EEA3F80EA7FC012FFA41380EA7F00123C0A0A788919>I<157015F014011407143F
903803FFE0137FEBFFCFEBF80F1300141F15C0A5143F1580A5147F1500A55C5CA513015C
A513035CA513075CA5130F5CA3131F497EB612F8A31D3D78BC2D>49
D<DCFFC01338030F01F01378037F01FC13F0913A01FF803F01913A07FC000781DA1FE0EB
03C3DA7FC0EB01E74AC812FF4948ED7FE0D907FC153F495A4948151F495A4948150F4948
16C018074890C9FC485AA2485A000F1880491603121FA248481607A295C7FC485AA412FF
5BA75BA2181C183C1838A27F007F1778187018F0003F5F6D150160001F16036C6C4B5A95
C7FC6C6C5D6C6C151E6C6C5D6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80D907FE01FE
C8FC0101B512F86D6C13E0DA07FEC9FC3D4276BF42>67 D<013FB812E0A3903A007FF000
016E48EB003F180F4B14071803A31801147F4B15C0A514FF92C71270A395C7FC17F0495D
5C160116031607161F49B65AA39138FC003F160F160701075D4A1303A5010F4AC8FC5C93
C9FCA4131F5CA5133F5CA3137FEBFFF0B612F8A33B3E7DBD3B>70
D<021FB512FCA3DA000713006F5AA25EA41507A25EA4150FA25EA4151FA25EA4153FA25E
A4157FA25EA415FFA293C7FCA45C121FD87F805BEAFFC0A214035D13804A5AEAFE0000F8
495A48495A00705C6C495A6C01FEC8FC380F81FC3803FFE0C690C9FC2E407ABD2F>74
D<9238FF80070207EBE00F021FEBF81E91387F00FE02FCEB1F3ED903F0EB0FFE49481307
494813034AEB01FC49C7FC491400133E137E177C491578A57F1770A26D1500808080EB7F
FEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F02031480DA003F13C0150315
00EE7FE0163F161FA2160F121CA31607160F003C16C0A31780003E151F1700007E5D007F
153E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC7FCD8E0
0713F839C0007FC030427BBF33>83 D<0007B912F0A33C0FFE000FF8003F01F0160F01C0
4A13034848160190C7FC121EF000E048141F5E1238A212781270153F5E5AA3C81600157F
5EA515FF93C9FCA55C5DA514035DA514075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76
BC42>I<B6017FB5D88007B512804A1A00A2000701C0010101E0C713F06C90C80180EC3F
C06C48735A99C7FC057F150E1B1E6D191C6C1A3C1B3805FF15787214705E636EEB03BF01
7F4E5AEE073F505A040E7F051F4AC8FC161C6E170E013F143862167804706D5BEEF00F04
E05D90381FE00104C015F003035E0480140106F85B9226070007130302F05F010F010E15
0797C9FC5D190E4BEB03FC616E5A01075F5D61DAF9C014FE05015BECFB8002FF6F5A7F92
C75CA24A93CAFC835C606D5A605C604A15781870594074BD5D>87
D<EC7FC0903803FFF890380FC07E90383E003F496D7E01FF6D7E82A248140782A26C5A13
7890C7120FA25EA2EC03FF147F903807FF1FEB1FE0D97F805B3801FE00EA03F8485A4848
133F485A003F5D49EC81C048C7FCA2157F48ED03804814FFA2007F5B913903BF07009038
80073F3A3FC00E1F8E260FE03C13FC3A03FFF00FF83A007FC003E02A2A7CA82D>97
D<EB3F80EA1FFFA3C6FC137FA291C9FCA55B5BA512015BA4EC07F80003EB3FFF9039F8F8
0FC09039FBE003E09039FF8001F891C77E5B4848147E49147F5B821780A2120F5B17C0A3
167F001F16805BA4EEFF00123F5B4B5AA24B5A5E007F4A5AA24B5A6D495A4BC7FCD87CE0
137E39F87001F839F03C07E039E00FFF80260003FCC8FC2A4077BE33>I<EC1FF0ECFFFE
903903F01F8090390FC003C0D93F0013E0017E130F49131F000115F04848EB3FE0485AA2
4848EB1FC0001FEC0F004990C7FC123FA2485AA412FF90C9FCA96CEC0380150716006C6C
5B151E001F5C6C6C5B6C6C5B6C6C485A3901F80F8026007FFEC7FCEB0FF0242A7AA828>
I<EE03F8ED01FFA3ED000F1607A217F0A4160FA217E0A4161FA217C0A491380FF03FECFF
FC902603F81F138090390FC007BF90391F8003FF90387E0001497F0001157F4848150048
5A120F5B001F5D485A5E5B127FA2150112FF90C75BA41503A25EA37E1507A26C4A5A7F00
1F141F6C6C133F6C6CEBFFF83B03F001EFFFC03900F80F8F90383FFE0FD90FF0EBE0002D
407ABE33>I<EC3FE0903801FFF8903807E07E90380F801F90393F000F80017E14C049EB
07E0485A12034848EB03F0485AA2121F5B123FA248481307A290B6FCA2D8FF80C8FC90C9
FCA87EED01C015036C15806D1307001FEC0F006D131E000F5C6C6C5B6C6C485A3900FC07
C0D93FFFC7FCEB07F8242A7BA828>I<ED07F0ED3FFCEDFC1E913803F03F4A48B4FC4A48
1380141FEC3F81DA7F0113008102FE137C93C7FCA213015CA513035CA50007B512F8A326
0007F0C8FCA3130F5CA5131F5CA5133F5CA5137F91C9FCA55B5BA4EA03FF007F13FEB5FC
A229407DBF1C>I<177C913907F803FE91393FFE0F8F9139FC0F9C3F903901F007F89039
07E003E0D90FC013F0011F903801F80C02801400133FD97F007FA315035B495CA3017E49
5A5E150F6D5C6D495A90263F803EC7FCECC0FC903871FFF09038E07F8091C9FC485AA47F
A27F90B512F8EDFF806C15E016F86D8048B6FC3A07E0000FFED80F801300003FC8127F00
3E815A00FC815AA25E163EA25E6C15FC007C4A5A6C4A5A6CEC0FC0D80FC0013FC7FC3903
F801FCC6B512F0010F90C8FC303D7FA82D>I<147FEB3FFFA313017FA25CA513015CA513
035CA4ED07F80107EB1FFF9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F049
5A5CA25CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B4915
00A300015D486C491380B5D8F87F13FCA32E3F7DBE33>I<1478EB01FE130314FFA25B14
FE130314FCEB00F01400ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5133F
1480A5137F1400A55B5BA4EA03FF007F13F0A2B5FC183E7DBD1A>I<ED0780ED1FE0153F
16F0157FA216E0153F16C0ED0F0092C7FCACED7F80EC3FFF1600A2140180A35DA41401A2
5DA41403A25DA41407A25DA4140FA25DA4141FA25DA4143F5DA4121E267F807FC7FCA200
FF137E14FE5CEB01F8495A387C07E0383C0FC0D80FFFC8FCEA03F8245187BD1C>I<147F
EB3FFFA313017FA25CA513015CA513035CA501070103B5FC02F014FEA26F13F06F1380EE
FE00010F14F84A485AED03C04B5A031FC7FC153E011F13784A5AECC3E0ECC7F0ECCFF814
FF497F14F9ECE1FE14C04A7E4A7E4980017E133F82151F82150F01FE8049130782A20001
81486C49B4FCB5D8F03F13F04B13E0A2303F7EBE30>I<143FEB1FFF5BA213017FA214FE
A5130114FCA5130314F8A5130714F0A5130F14E0A5131F14C0A5133F1480A5137F1400A5
5B5BA4EA03FF007F13F8A2B5FC183F7DBE1A>I<902707F007F8EB03FCD803FFD91FFF90
380FFF80913CE0781FC03C0FE09126E1E00FEBF0073E001FE38007E1C003F090260FE700
EBE38002EEDAF70013F802FC14FE02D85C14F84A5CA24A5C011F020F14074A4A14F0A501
3F021F140F4A4A14E0A5017F023F141F91C74914C0A549027F143F4992C71380A300014B
147F486C496DEBFFC0B5D8F87FD9FC3F13FEA347287DA74C>I<903907F007F8D803FFEB
1FFF9139E0781FC09138E1E00F3B001FE38007E090380FE70002EE14F014FC14D814F85C
A24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B491500A30001
5D486C491380B5D8F87F13FCA32E287DA733>I<EC0FF0ECFFFE903903F01F8090390FC0
07C049C66C7E013E6D7E01FC6D7E48488049147C0003157E485A000F157F5B121FA2485A
A2007F1680A2170048C85AA54B5AA25E5A6C4A5A7E4B5A5E6C140F6C6C5C4B5A6C6C013E
C7FC6C6C5B6C6C485A3900FC0FE090383FFF80D90FF8C8FC292A7BA82D>I<91387F01FE
903A7FFF0FFFC09139FE3E03F09238F801F8903A03FFE000FE6D49137F4B7F92C713804A
15C04A141FA218E0A20103150F5C18F0A3171F010716E05CA3173F18C0130F4A147F1880
A2EFFF004C5A011F5D16034C5A6E495AEE1FC06E495AD93FDC017EC7FC91388F01F89138
83FFE0028090C8FC92C9FC137FA291CAFCA45BA25BA31201487EB512F8A3343A81A733>
I<903907F01F80D803FFEB7FE09138E1E1F09138E387F839001FE707EB0FE614EE02FC13
F002D813E09138F801804AC7FCA25C131FA25CA4133F5CA5137F91C8FCA55B5BA3120148
7EB512FEA325287EA724>114 D<9138FF81C0010713E390381F807F90397C003F804913
1F4848130F5B00031407A248481400A27FA27F6D90C7FCEBFF8014FC6C13FF6C14C015F0
6C6C7F011F7F13079038007FFE1403140100381300157EA2123C153E157E007C147CA200
7E147815F8007F495A4A5A486C485A26F9E01FC7FC38E0FFFC38C01FE0222A7DA824>I<
EB0380A4130791C7FCA25BA25BA2133EA2137E13FE12011207001FB512C0B6FCA2D801FC
C7FCA312035BA512075BA5120F5BA41407001F130E13C0A4141E141C1380A26D5AA2000F
5B14F03807E1E03801FF80D8007EC7FC1A3978B723>I<01FE147F00FFEC7FFF4914FEA2
0007140300031401A34914FCA4150312074914F8A41507120F4914F0A4150F121F4914E0
A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE09138073FFF3803F01E3801FFF826
003FE01380282977A733>I<B539E007FFF05D17E02707FE000313006C48EB01FC6F5A5E
00014A5A5EA24B5A6D1307000092C7FC5D150E6D5B7F5DA25D1480013F5B14815D14C301
1F5B02C7C8FCA214CE14EEEB0FFCA25CA26D5A5CA25CA26D5A2C2878A630>I<B500C3B5
3803FFFCA204FE14F8290FFE003FE00013C0D807F86D48EB7F000003173E183C150F1838
6D5E0001141F705B153F4D5A15776D4B5A0000ECE7F04DC7FCEC01C3170E9038FF038301
7F5D91380703F85FEC0E01021E5CD93F9C14F002BC6D5A02B813FDDAF8005B4A13FF5F6D
5A94C8FC5C4A137E167C6DC7FC1678010E14383E2878A642>I<90B539E007FFF05E18E0
902707FE000313006D48EB01FC705A5F01014A5A5F16036E5C0100140794C7FC160E805E
805E1678ED8070023F13F05EED81C015C191381FC38015C793C8FC15EF15EEEC0FFCA25D
A26E5AA25DA26E5A5DA24AC9FC5C140E141E141C5C121C003F5B5A485B495A130300FE5B
4848CAFCEA701EEA783CEA3FF0EA0FC0343A80A630>121 D<017FB512FEA2ECC0019039
7E0003FC49EB07F849EB0FF049EB1FE049EB3FC0ED7F8000011500495B4A5A4A5A484848
5A4A5AC7485A4A5A5D147F4AC7FC495A495A49481370494813E0495A5C133F90387F8001
D9FF0013C0485A48481303485A4848EB078049130F4848131F003F143F397F8001FFB712
00A227277EA628>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmbx12 17.28 48
/Fp 48 122 df<B812C0AD2A0D7EA636>45 D<16F04B7E1507151F153FEC01FF1407147F
010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51>49
D<913801FFF8021FEBFFC091B612F8010315FF010F16C0013F8290267FFC0114F89027FF
E0003F7F4890C7000F7F48486E7FD807F86E148048486E14C048486E14E048486F13F001
FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A36C5BA26C5B6C90C8FCD807FC5D
EA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512C019804C14004C5B604C5B4C5B
604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC4B5AED1FF84B5A4B5A4B48143F
4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02FE16FE495A495A4948ED01FCD9
0FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A4405E78DD51>I<92B5
FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC90271FFC00077FD93FE001017F
49486D8049C86C7F484883486C6F7F14C0486D826E806E82487FA4805CA36C5E4A5E6C5B
6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C5B4C5B4C5B4C5B047F13809226
0FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F13E0040713F8040113FE707F71
7F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487F487FA2B57EA31A
80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F5ED807FE92B55A6C6C6C491480
6C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0010716C001014BC8FCD9001F14
F0020149C9FC426079DD51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA294B5FC5E
5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F8016005D
15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A5C133F49
C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B1037FB8FC
A6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5FC92B712
8019006060606060606095C7FC17FC5F17E0178004FCC8FC16E09026FC3FFCC9FC91CBFC
ADED3FFE0203B512F0020F14FE023F6E7E91B712E001FDD9E00F7F9027FFFE00037F02F8
01007F02E06EB4FC02806E138091C8FC496F13C04917E07113F0EA00F090C914F8A219FC
83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC5B
4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B1380D807FC92B512006C6C4A5B
6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C0010F93C7FC6D15FC010115F0D900
3F1480020301F0C8FC406078DD51>I<EE1FFF0303B512E0031F14F892B612FE0203814A
D9FC037F021F9039C0007FC04A90C7EA1FE0DAFFFC6E7E494914074949EC7FF8494914FF
49495B4949497F4990C7FC495D5C13FF485BA25A4A6E5B5A715B48496E5B725A4894C8FC
A35AA35C48913801FFE0030F13FE033F6D7E4B14E092B612F89126E1FE037FB53AE3F000
7FFEDAE7E06D7EDAEFC06D7F4B6D7F02FFC76C7F4A82717F4A82A2854A8085A24A1780A5
4A17C0A37EA77EA47E6E1780A27EA21A007E4D5B7E6E5E7E6E5E6C4C5B6D7E013F4B5B6D
6C4A5B6D01C0495B6D6D90B5C7FC6DD9FC0713FC6D90B65A6D5E023F15C0020F92C8FC02
0114F8DA001F1380426079DD51>I<EA07E0120F7F13FCEBFFFC91B912F8A45AA21AF01A
E01AC01A801A00A248606161616101E0C9123F01804C5A48CA485A4D90C7FC60007E4C5A
17074D5A4D5A4D5A485F4D5A17FF4C90C8FCC9485A5F4C5A160F4C5A5F163F4C5A16FF5F
5D94C9FC5D5D5E150FA24B5AA2153FA24B5AA215FFA34A5BA25CA35CA44A5BA45CA65CAD
6E5BA26E5BDA03FECAFC6E5A456377E051>I<92383FFF800203B512FC021FECFF80027F
15E049B712F849D9F0077F010F90C76C7ED91FFCEC1FFFD93FF06E7F494802037F494882
717F484980854890C9127FA24884183FA25A80A380806E157F6E5E14FE6E7E6F4A5A6C14
F003FC495B03FF495B6C1580DCE0075B6CDBF80F90C7FC9338FE1FFE6C9238FF7FF84D5A
6D16C06D5E6D4BC8FC6D6F7E6D16E00101826D16FC023F814A8149B87E01078349839026
3FFE3F8190267FFC0F819026FFF003814849C6FC48496D804849131F4890C70007801601
48486E1580003F163F49150F007F7014C0491501717E8400FF835B8484A384A21A80A27F
007F1900607F003F606D160F001F606D4C5A6C6D153F6C6D4B5A6C01F04B5A6C01FC0203
5B6C01FF021F5B6D9027F001FFFEC7FC6D90B65A010F16F001035E010093C8FC020F14F8
DA007F90C9FC426079DD51>I<F00FE04E7EA24E7EA34E7EA24E7EA34D7FA24D80A24D80
A34D80A24D80A34D80A2DD7FBF7FA2181F05FF8017FE04016D7FA24D7E04038217F80407
6D80A24D7E040F8217E0041F6D80A24D7F043F825F047F6E7FA294C77E4C825E03016F7F
A24C800303845E03076F80A24C80030F845E031F6F80A24C81033F845E037F707F93B9FC
A292BA7EA24A85A203FCC912070203865D020771805D86020F864B82021F865D87023F86
4B83027F8692CBFC874A864A840101875C496C728090381FFFC0B700E092B812FEA66F64
7BE37A>65 D<BB12F0F2FF801BF81BFEF3FFC088D800010280C7000114F8DF003F7F080F
13FF74807480867480757FA2757FA28987A289A965A26365A2515BA298B55A505C505C50
91C7FC505B505B087F13F00703B512C096B6C8FC93B812F81BC01BF8F3FF801CE00480C8
001F13F8080713FE08016D7E7480757F757F757F89757F89871E80871EC0A41EE087A663
A21EC0A3631E80A2511400A2515B515B6398B55A505C08075C081F5C97B6C7FCBD5A1CF8
1CE099C8FC1BF898C9FC63627AE173>I<4DB5ED03C0057F02F014070407B600FE140F04
7FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A
02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B54882
490280824991CB7E49498449498449498449865D49498490B5FC484A84A2484A84A24891
CD127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C
7FA37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D
6D4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E
02C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F91B648C8FC03
0117F86F6C16E004071680DC007F02F8C9FC050191CAFC626677E375>I<BB12E0F2FF80
1BF01BFE757E1CF0D800010280C7000780DF007F13FE080F6D7E0801807480093F7F090F
13FC757F757F877580767F8A88767F8A888AA2767FA28A881F80A37614C0A41FE0A5881F
F0B05214E0A51FC0A4521480A31F006466A2525BA2525BA2525B666499B55A515C5191C7
FC515B515B515B097F5B50B512C008075C083F91C8FC0707B512FCBD12F01CC051C9FC1B
F81B8008E0CAFC6C627AE17C>I<BD12FCA488A2D8000102C0C71201F1000F1A01F2007F
1B3F1B0F1B07757EA28787A288A3F43F80A31C1FA3197EA3F40FC0A499C7FC19FEA31801
A218031807181F18FF93B6FCA6EEC000181F180718031801A21800A21D7E197EA21DFCA6
96C812011DF8A31C03A3F407F0A31C0FA21C1F1C3F1DE01C7F1CFF63631B0F093F13C098
B5FC1A0797B6FCBEFCA31D80A35F617AE06A>I<4DB5ED03C0057F02F014070407B600FE
140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807
FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291
B54882490280824991CB7E49498449498449498449865D49498490B5FC484A84A2484A84
A24891CD127FA25A4A1A3F5AA348491A1FA44899C8FCA25CA3B5FCB07E071FB812F880A3
7EA296C70001ECC000A26C7FA37E807EA26C80A26C80A26C807F6D7F816D7F7F6D7F6D6D
5F6D14C06D6E5E6E7F6E01FC5E020F01FF5E6E02C0ED7FEF020102F8EDFFC76E02FF0207
1383033F02FC013F1301030F91B638FC007F03014D131F6F6C04E01307040704801301DC
007F02F8CAFC050191CBFC6D6677E37F>71 D<B96C90B91280A6D8000102C0C9000102C0
C7FCB3B3A293BBFCA604C0C91201B3B3A6B96C90B91280A671627AE17E>I<B912E0A6C7
02E0C7FCB3B3B3B3AEB912E0A633627CE13C>I<B96C020FB612FCA6D8000102C0CA003F
EBF0000A0390C7FC525A525AF41FF0525A525A525A090390C8FC515AF30FF8515A515A51
5A50485A5090C9FC505AF20FF8505A505A505A4F485A4F90CAFCF107FC4F5A4F5A4F5A4F
5A4E485A4E90CBFCF007FC4E5A4E7E4E7E18FF4D7F4D805F4D804D804D8094B6FC04C181
DCC3FE809326C7FC7F7F9338CFF83F9326DFF01F7FDCFFE0814D6C804D7EDCFE00814C6D
804C7F4C6D804C824C6E7F85737F8873808588738085738088747F86747F897480868974
8086748089757F87757F8A7580878A7580090F14FCB96C010FB8FCA670627AE17E>75
D<B912F8A6D8000102C0CBFCB3B3B1F307E0A5F30FC0A61B1FA31B3F1C80A21B7FA21BFF
A262A262625013006262624FB5FC1907191F4EB6FCBDFC63A553627AE161>I<B700E004
0FB7128082828282A2D800016EDC000101FCC7FC719338001FC08383A28302FD808302FC
80816F7F6F806F8084816F806F806F8084707F8270807080857080827080708085717F83
718071807180868371807180727F8672808472807280877280847280737F877314808573
14C07314E01CF07314F8857314FC7413FE7413FF1D9F867414DF7414FF86A286868787A2
87878787A28787888888A288888890261FFFC084B712F8881D7F1D3F1D1F775A71627AE1
7E>78 D<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F0736C7F081F7F
747F747F7414807414C0A27414E0A21DF0A27513F8A41DFCA91DF8A498B512F0A21DE0A2
5014C01D8062501400505B505B087F5B4FB512E0071F5C93B9C7FC1BFC1BF01B8008F0C8
FC04C0CCFCB3B3A2B97EA65E627AE16E>80 D<BA12F8F1FFE01AFEF2FFC01BF01BFED800
010280C76C7F070714C0070014F0747F081F7F747F747F7480A2748089A37480A389A865
A3505CA265A2505C9AC9FC505B505B505B087F5B4FB55A0707148096B548CAFC93B812F8
1BC050CBFC621AFF932680000314C0DE007F7F071F13F8737F737F737F73808885888688
A2747FA688A688A676140FF71F80A374801F3F86771400745E746E5BB96E6E5B746E485A
75EBFE07091F90B55A090715E009015DCF003F91C7FC0A0013FC71647AE178>82
D<DBFFFCEC01E0020FD9FFE01303027F02FC130749B7130F0107EEC01F011F16F049D9C0
07EBF83F4948C7383FFE7FD9FFF8020FB5FC4801E014014849804849153F91C97E484882
001F834982003F83845B007F187FA2193FA200FF181FA27F190FA27FA26D17078080806C
01F893C7FC80ECFF8015F86CECFFC016FC6CEDFFE017FE6CEEFFE018F86C17FE6C717E6C
846C846D17F86D836D836D8313036D18806D6C17C0020F17E01401DA000F16F015000407
15F8EE007F1703050014FC183F84060713FE84A2007C8300FC83A2197FA3193F7EA31AFC
7EA27F1AF86D177F7F1AF06D17FF6D18E06D5E01FF18C06E4B138002E04B130002F84B5A
02FFED3FFC01CF01E0ECFFF8018301FF010F5B010191B65A6D6C5E48011F93C7FC480103
15FC48D9003F14E048020149C8FC476677E35A>I<001FBEFCA64849C79126E0000F1480
02E0180091C8171F498601F81A0349864986A2491B7FA2491B3F007F1DC090C9181FA400
7E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3021FBAFCA663617AE070>I<B96C023F
B612FEA6D8000102C0CA0007EBF000E2007FC7FCB3B3B3AA656D63A2821C018065701703
80525A6E7F6E4F5A70171F6E626E6D4D5A6E6D177F525A6E6E030390C8FC033F01E04B5A
6F6DED1FFC6F01FCED7FF80303D9FF80903803FFE06F02F8017F5B6F6C90B7C9FC041F5E
040716F8040016C0050F4ACAFCDD003F13C06F647AE17C>I<913803FFFE027FEBFFF001
03B612FE010F6F7E4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F717E
486D6E7F85717FA2717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207B7FC
147F49B61207010F14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C485B5A
5CA2B55AA45FA25F806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE114FF
6C9027FFC07FC01580000191B5487E6C6C4B7E011F02FC130F010302F001011400D9001F
90CBFC49437CC14E>97 D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14
F00381B612FC038715FF038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02007F
03F8824B6F7E4B6F13804B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA44F13
F8A31BF0A24F13E0A24F13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C495B91
26F83FE0013F13C09127F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91
C8FC90C8000313E04F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E0103
9039FE001FFF4901F8010113804901E0010713C04901804913E0017F90C7FC49484A13F0
A2485B485B5A5C5A7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA2
80A27EA2806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC0
6D01E0EC7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F
1580020102FCC7FCDA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892
380FFF804AB512F8020F14FE023FECFF8391B712E301039138807FF3499039F8000FFB01
1F01E00103B5FC494913004990C87E49488148498148834A815A485BA2485BA25AA3485B
A4B5FCAE7EA46C7FA37EA26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C010380
6D6D49806D01F0D91FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F802
0314E09127003FFE00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15
E091B712F80103D9FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F4948
6E7F48498048844A804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A00
02C0CBFCA67EA380A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D
6C4B5A6D6D4A5A6D01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90
B55A021F15F8020715E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280033F
14C04AB612F0020715F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF4913F0
5B4913E0A24913C0A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6D800
1F01C0C8FCB3B3B0007FB612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8F001
B5FC027FDAFE03148049B7128F49DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7
EBFC0349486E6C7E4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E7FA3
4884A96C60A36C6D4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B
4990B612C060D97C7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F8014F0
91B77E18FE6CEFFFC019F06D17FC19FF6D846D846D846D84013F8490BAFC0003854801E0
C712014890C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D173F
003F616D177F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8
011F5B011F90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151>I<
903807FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F
7F922781FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825D
A25DA25DA45DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FCA248
80A24880A76C5CA26C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5FCA6
C6FC7F7FB3B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3A90503B612
80A6DD003FEB8000DE0FFCC7FCF01FF04E5AF0FFC04D5B4D90C8FCEF07FC4D5AEF3FF04D
5A4D5A4C90C9FC4C5AEE0FFC4C5A4C5AEE7FC04C7E03837F03877F158F039F7F03BF7F92
B5FC838403FC804B7E03F0804B6C7F4B6C7F1580707F707F707FA270807080717FA2717F
717F717FA2717F717F83867180727F95B57EB7D8E00FECFFF0A64C647BE355>107
D<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>I<902607FF80D91F
FFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B612F84C6F48819326
7FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987
F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003
FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087
>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267FE07F7F922781FE00
1F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC8003FC825DA25DA2
5DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC020715E0021F15F8
027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D7F4990C87F49486F
7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A348496F13FCA34819
FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19E06C6D4B13C0A26C
6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13E06D01FE017F5B01
0090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>I<902607FF80EBFF
F8B6010FEBFF80047F14F00381B612FC038715FF038F010114C09227BFF0003F7FC6DAFF
C0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13C0A27313E0A27313F0A2
1BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611BC06F92B512801B006F5C
6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A03C7B648C7FC03C115F8
03C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC05A>I<D90FFFEB0FFCB6
90383FFF8093B512E04B14F04B14F8923907FC7FFC92390FE0FFFEC6EC1F806DD93F0113
FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B7
12F8A638417BC042>114 D<913A3FFF8007800107B5EAF81F011FECFE7F017F91B5FC48
B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F49153FA212FF171F
A27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C
826C82013F1680010F16C01303D9007F15E0020315F0EC001F1500041F13F81607007C15
0100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D
0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8007F49C7FC48010F
13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147FA214FF5BA25B5B5B5B137F48
B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D1480A2173F6D1600
6F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002035C9126003FFCC7FC325C7D
DA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60
183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F
5C020314F8DA003F018002F0C7FC51427BC05A>I<B700C00103B512FCA6C66C01C0C838
1FFE006D6DED07F0A26D6D5E190F6D6D5E191F6D606F153F6D95C7FC6F5DA26D6D157E19
FE6D6E5C18016E5E7013036E5E701307A26E6D5C180F6E6D5C181F6E6D5C183F6E93C8FC
705BA26E6D13FEA26E6E5A17816FEBC1F817C36F5C17E76F5C17FFA26F5CA26F5CA26F91
C9FCA26F5BA36F5BA2705AA2705AA2705AA2705A4E417DBF55>I<B70081B600FC0103B5
12FCA6C66C0180C701FCC8381FFE006F6FED03F86D047F5F856F6E16076D646F70140F6D
705F866F6E161F6D646F4A6D143F6D99C7FC4E7F6F616D1B7E6F4A6D14FE6D6395B57E70
01FC15016E62DCC0016E13036EDBF87F5D05038004E0496C14076E62DCF007ED800F6E4B
6C5D050F15C004F8496C141F6E62DCFC1FEDE03F6E4B6C92C8FC053F15F004FE496C5C6E
197E7048EDF8FE6E027E6D5C05FE15FC4D6D13FD6F601BFF6F496E5BA24D806F60A26F49
6E5BA24D806F60A26F496E90C9FCA294C87E6F5FA26F486F5A047C6F5A6E417DBF75>I<
007FB600C0017FB512F8A6D8001F01F8C70007EBF0006D040190C7FC6D6D5D6D6D4A5A6D
6D4A5A70495A6D4C5A6E7F6E6D495A6E6D495A7049C8FC6E4A5A6E6D485A6E6D485A6E13
FFEF8FF06EEC9FE06FEBFFC06F5C6F91C9FC5F6F5B816F7F6F7F8481707F8493B57E4B80
5D4B80DB0FF37FDB1FE17F04C080153F4B486C7F4B486C7F4A486D7F4A486D7F4A5A4B6D
7F020F6E7F4A486D7F4A486D804A5A4AC86C7F49486F7F4A6F7F0107707FEB3FFFB600F0
49B7FCA650407EBF55>I<B700C00103B512FCA6D8003F01C0C8381FFE006FED07F0A26D
6D5E190F6D6D5E191F6D6D5E193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C18
036E6D5C18076E5E70130F6E5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E5D
17816F5C17C3A26FEBE7F0A26FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA270
5AA2705AA2705AA35FA25F163F94CAFC5E167E16FED807E05CD81FF81301487E486C495A
A2B5495AA24B5A5E151F4B5A6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A6C
5C6C91CCFCC613FCEB1FE04E5D7DBF55>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq cmsy10 10.95 2
/Fq 2 16 df<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0DA
3FE0EC07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E4948
707E49CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001F0
A248CD12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA2481A
0FAB6C1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C6C
F001F0A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D606D
6C4C5A6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3FE0
EC07FCDA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007FFE
C9FC50557BC05B>13 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580
A3B712C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA7
2D>15 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fr cmbx12 14.4 61
/Fr 61 122 df<922601FFFC903801FFE0033F9026FF801F13F84AB6D8E07F13FE020F03
F9B6FC023FD9C00FB500C0138091277FFC0003D9FE0113C0902601FFE049495A49494949
4813E04990C714F049484A13E0495A19C0495A7413C0017F17804A6E6E1380719138007E
007192C7FCAEBCFCA526007FF8C7000301C0C8FCB3B3A7007FB5D8F803B612F0A553547D
D34E>11 D<EEFFFC031FEBFF804AB612E0020781021F9038C00FF8913A7FFE0003FCDAFF
F0EB00FE4949EB03FF4901805B4990C7487F49485CA2495A4D7F013F6F5B5CA37190C7FC
715AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03B612
C0A542547DD34B>I<49B419F0010F01E01701013F6D4D7E4901FC17079026FFC1FE170F
48D9007F4D5A4848D93FC0163F0007DA1FF04C5A48486D6C4B485A6FB403075B484803C0
141F003F6E01F891B5C8FC9327EFFFC00F5B04F190B6FC4848902601F07FECF7FC0507EC
8FF8943A003FF00FF07090C7121F00FF02004C5A505A631AFF4F90C9FC624F5A19074F5A
62191F4F5A4F5A007F02015E4C14FF4E90CAFC4E5A6C6C01035D4C13074E5A001F02075D
6C6C4A495A030F143F6C6C4948495A00034AC75B6C6C017E14FF6CD9C1FC4990CBFC6DB4
48495A6D495C010F491307010190C74848EC1FF090C94848ECFFFE4E01037F053F4A804D
4890390FFC1FC04E90391FF007E04DC748486C7E4C037F6D7E4C484A486C7E4D177C0407
4A49137E4C4849153E4C5A4D173F043F4A90C77E4C5A4C5A94C717804B4B150F4B5A5E4B
5A150F4B5A5E153F4B5A4B5A93C8FC5C4A5A4A486F151F4B1A00140F4A5A4B6F6D5B4A48
193E147F4A486F157E92CA6D137C491BFC4948716C485A4948053F495A4A716C485A010F
95390FFC1FC04A71B55A4A7191C7FC6D4805005B0103F11FF0616179D970>37
D<EA07F0EA1FF8487E487E7FB5FC1480A314C0A37EA27E7EEA07F3EA0003A213071480A3
130F1400A25B131E133E133C137C5BA2485A485A485A485A48C7FC121E120C1228769025
>44 D<B712F0AB240B7F9F2D>I<EA07F0487E487E487E487EB51280A76C13006C5A6C5A
6C5A6C5A1111769025>I<913803FFC0023F13FC91B6FC010315C0010F018113F0903A1F
FC003FF849486D7E49486D7E49486D7E48496D138048496D13C0A24817E04890C813F0A3
4817F8A24817FC49157FA3007F17FEA600FF17FFB3A5007F17FEA6003F17FCA26D15FFA2
6C17F8A36C17F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913006D6C495AD91FFC
EB3FF8903A0FFF81FFF06D90B55A01011580D9003F01FCC7FC020313C0384F7BCD43>48
D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600
7FB712FEA52F4E76CD43>I<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F
7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F01680486C6E13C07F
486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C1300
5F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48
EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F80140749C8FC013E150F
017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC
0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D8
07FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005F
A24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113
F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8
487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A13
80D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F
1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D
5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C
5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E
127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380150ED807E0157E
01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8FC15F801E190C9
FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDAC0017F49C713F8
496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0487E487E487E48
7EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D6C6C4A5AD807F8
495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314C09026007FF8C8
FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE903A01FFF0007F49
01C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF5C485BA2485B5A
A2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA21508913801FFF8020713FF
B54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A15E07013F05C18
F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E4913806C6D1500
6D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F13FC020713C036
4F7ACD43>I<121F7F7FEBFF8091B81280A45A1900606060A2606060485F0180C86CC7FC
007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A15
0F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA3
14FFA55BAC6D5BA2EC3FC06E5A395279D043>I<913807FFC0027F13FC0103B67E010F15
E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717
C04980120F18E0177FA2121F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313
009238F007FE6C02F85B9238FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D8101
0F15E06D81010115FC010781011F81491680EBFFE748018115C048D9007F14E04848011F
14F048487F48481303030014F8484880161F4848020713FC1601824848157F173FA2171F
A2170FA218F8A27F007F17F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C
010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F
13C0364F7ACD43>I<91380FFF8091B512F8010314FE010F6E7E4901037F90267FF8007F
4948EB3FF048496D7E484980486F7E484980824817805A91C714C05A7013E0A218F0B5FC
A318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C7F6C6D137B6C6D13F390387FF80301
1FB512E36D14C30103028313F89039007FFE03EC00401500A218F05EA3D801F816E0487E
486C16C0487E486D491380A218005E5F4C5A91C7FC6C484A5A494A5A49495B6C48495BD8
03FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F06D14C0010F49C8FC010013F0364F7A
CD43>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C8083047F8016
7E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F8116808303
3F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844AB87EA24A83
A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82010785A24A
82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F737F070F7F737F8785
87858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A060713F892B812E097
C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87737F747E1C807413
C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F
13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<932601FFFCEC01C0047F
D9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7
383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982
4949824990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA2
98C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D
606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D
6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F
93C8FC030715FCDB007F14E0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFC
D8000701F0C7000F13FF060014C0071F7F070713F807017F737F747E747F747F86747F74
7F8886888688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515A
A2646264505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FC
BB5A1AF01AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F
19071901851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317
031707170F177F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FC
A21BFCA21BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5
FCBCFCA21BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0007F191F19078585
8586861B80A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6
FCA59238F8007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<9326
01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003
EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249
49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F
A3485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712E0A280A36C94C7003FEBC000A36C7F
A36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D
5C6E01F0EC07FB020F01FEEC1FF10203903AFFF001FFE0020091B6EAC07F033FEE001F03
0703FC1307DB007F02E01301040149CAFC5B5479D26A>I<B8D8C003B8FCA5D8000701F8
C9001FEBE000B3AE92BAFCA503F8C9121FB3B1B8D8C003B8FCA560527CD169>I<B812C0
A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>I<027FB71280A591C76C90C7FCB3
B3B3EA07F0EA1FFC487E487EA2B57EA44C5AA34A485B7E49495BD83FF8495BD81FE05DD8
0FFC011F5B2707FF807F90C8FC000190B512FC6C6C14F0011F14C0010101F8C9FC39537D
D145>I<B800C091B612F8A5D8000701F8C90003EBF8009738007F8051C7FC505AF203F8
F20FF0505A505A505A50C8FCF101FCF107F84F5A4F5A4F5A4F5A07FEC9FCF003FC4E5A4E
5A4E5A4E5A4E5ADD01FECAFC4D5A4D5A4D5A4D7E173F4D7E4C487E4C7F5E4C804C804C80
EEFF7F9226F9FE3F7FDBFBFC809226FFF81F7F4C7EDCC0077F0480804C7E4B6D804B6D80
4B8284727F727F8684727F727F8784728087737F85737F87737F85737F88857380747F88
8697B512FCB800C0013FECFFFEA55F527CD169>I<B812F8A5D8000701F8CAFCB3B3A91A
7CA41AFC1AF8A51901A31903A219071AF0190FA2191F193F197F19FF180360183F4DB5FC
BB12E0A546527CD151>I<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01
EFA202EF6DEF03CFA202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F
6C1778A26F6C17F0A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D15
1EA26F6D5DA3706C5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA270
6D131EA2706D5BA2716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FC
A3715BA2715BA2725AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<
B600FC93B7FC8181A282D800076E9239003FFC0070EE07E08282A28202EF7F02E77F02E3
80A202E18002E0806F7F6F7F6F7FA26F7F6F7F6F806F80A26F80707F707F707F707FA270
7F7080708070808583717F717F717F717FA27114807114C07114E07213F07213F8A27213
FC7213FE7213FF721487A27214C77214E77313F77313FF85A285858585A28586868686A2
86868686A2D93FFC187FB7173F1B1F1B0F1B07755A60527CD169>I<93380FFFC00303B6
FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02
007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F494870
7FA24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B5
1AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D
4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A
6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0
030392C9FCDB001F13E0565479D265>I<BAFC19F819FF1AE086D8000701F0C7001F13FC
060113FF726C13807313C0070F13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC
61A21BF84F13F04F13E0614F13C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8
CBFCB3AEB812C0A550527CD15C>I<B912F0F0FF8019F819FF1AC0D8000701F0C714F006
0F7F060113FE727F737F737F85737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC
4F5A06035B060F13F095B512C092B8C9FC19F819E019F89226F0000313FE9439007FFF80
727F727F727F727F727F8684A28684A787A71D1C75133EA38575137E73157C7513FC7314
01B86C6D9038F803F807039038FE07F07390B512E0736C14C0080F1400CEEA7FFC5F537C
D164>82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC00
6D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F
82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFF
C017F06C16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F
15C0ED007F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA2
6CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFF
C003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D2
4B>I<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F
49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912
F0A553517BD05E>I<B800C00103B612FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA2
6D97C7FC81637F1B7E6D6D17FE505A6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01
F84B5A6E6DDA03FFC8FC6E6CB46CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F
92C9FC040F14F8DC007F13805E537CD167>I<B700FC017FB600FE91B612F0A5D8003F01
C0C8001F01E0C9EBF8006F71EE0FC06D7161876F1C1F6D7196C7FC6F8373606D1E3E6F83
6D7160876F1CFC6D666F4B801F016D66704A806E525A88704A17076E059F5F70021F8008
0F160F6E6570023F806EDC3E074CC8FC8870027E5F6EDC7C03163E7002FC804F6C167E6E
1C7C700101814F6C16FC6E745B70010317016E4C6D5D060716C00580496D14036F63DDC0
0F16E04F6D14076F07F05BDDE01F170F6F92C76C5D1DF8DDF03E6E141F6F98C9FCDDF87E
16FC067C6E5C6FF1FE3EDDFCFC177E6F4A6E147C1DFFDDFFF06E14FC6F62A24E816F62A2
70496F5BA24E817061A295C97E7061A270487090CAFCA37048705AA24D1601040360A270
48705A84537DD18B>87 D<B8030FB61280A5D8000F01FCCA003F90C7FC6FEF07F86D6D60
6D4F5A826D6E4C5A6D4F5A826E6D4CC8FC6E18FE826E6D4B5A6E4D5A826E6D4B5A6E4D5A
836E6E4A5A6E4D5A836F6D4AC9FC6F5E715C6F6D495A6F1503715C6F6D495A6F150F0680
5B6F6E485A6F153F06E05B706D48CAFC705C725A70EBFDFC7013FF61705C82705C618271
5B96CBFCB3AA030FB712F8A561527ED166>89 D<EC7FFF0107B512F0013F14FE90B77E48
D9E00F7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7
FC6C5AC9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813
F0485B485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F1
13F86C9026C003E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0
010101E090C8FC3C387CB641>97 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE
033FEBFFC092B612F002F301017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A
6E7F4A824A6E7FA2727EA285A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B
6E4A5B6F495BDACFC04990C7FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049
011F01FCC8FC90C7000313C041547BD24B>I<913801FFF8021FEBFF8091B612F0010315
FC010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2
486F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C
6D15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0
010390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F
1707B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC
0101B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7E
A37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFF
C07FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FF
C0023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48
496D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049
CAFCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6D
EC3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC02
0113F034387CB63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03F
F849EB807F49903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712
E0A526007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713
C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0
484990387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A900
1F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC
01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C83
6C836C836D828448B9FC12074848C700031480D81FF8EC003F4848150748486F13C08348
5A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E04948
5A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<
EB3FF0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F00
1FFE037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B6
12C0A542537BD24B>I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90
C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA51203C6FC
B3A54CB512F8A59339003FFE00EF1FF0EF3FC04D5A4DC7FCEE03FEEE07F84C5A4C5AEE7F
C04CC8FC4B5A4B5AED0FF8ED1FE04B7E4B7EECF1FF02F37F02F77F91B6FC83159F030F7F
02FE80DAF8077F4A7E6F7F6F7F83707E82707F84707F707F82707F84707F177F717E4D13
C0B6D8F003B6FCA540537CD247>107 D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C53
7BD225>I<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F
8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD9
0780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5E
A44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C003
0314F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7
807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F
13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F4849
6D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC00
7F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C49
5BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387C
B643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007F
FE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A472
1380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFF
FC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7B
B54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83FFC0003
D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55C
B3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB003FD8
0FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC0
6C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300020714E0EC
003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F
8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC
2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A000F90
B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEB
F0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0B50207B5FC
A50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3
EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB54B>
I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15
FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E
177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA2
6F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A500
0101F0C701F0C7381FF8006E027FED07E06C715DA26E023F150F017F705DA26E181F013F
4B6C92C7FC6E606D70143E94B5FC6F177E6D4A6E137C03C001F315FC6D715B160303E001
E114016D020702E05B03F013C06D71485A160F03F8D9807F13076D05F85B93381F003F03
FC160F027F4902FC5BDBFE3E011F131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF
3E4C6D137E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E
6FC9FC5A367DB461>I<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC07F86D
6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C485A6E
EB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92B5FCDA
01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F4A6D7F
495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB447>I<
B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F
13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E02
3F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5A
A26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C
486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F00003
5BC690CBFC404D7DB447>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmr10 10.95 86
/Fs 86 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<121EEA7F80EAFFC0A9EA7F80ACEA3F00AC
121EAB120CC7FCA8121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4179C019>33
D<001E130F397F803FC000FF137F01C013E0A201E013F0A3007F133F391E600F30000013
00A401E01370491360A3000114E04913C00003130101001380481303000EEB070048130E
0018130C0038131C003013181C1C7DBE2D>I<4B6C130C4B6C131EA20307143EA24C133C
A2030F147CA293C71278A24B14F8A2031E5CA2033E1301A2033C5CA3037C1303A203785C
A203F81307A24B5CA20201140F007FBAFCBB1280A26C1900C72707C0003EC8FC4B133CA3
020F147CA292C71278A24A14F8A2021E5CA3023E1301007FBAFCBB1280A26C1900C727F8
0007C0C8FC4A5CA20101140FA24A91C9FCA301035CA24A131EA20107143EA24A133CA201
0F147CA291C71278A34914F8A2011E5CA2013E1301A2013C5CA201186D5A41517BBE4C>
I<14E0A4EB07FC90383FFF8090B512E03901F8E3F03903E0E0FCD807C0133CD80F807FD8
1F007F003E80003C1580007C140316C00078141F00F8143F157FA47EED3F806CEC0E0092
C7FC127F138013C0EA3FF013FEEA1FFF6C13FC6C13FF6C14C06C806C6C13F8011F7F1303
01007FECE7FF14E102E01380157F153FED1FC0A2003E140F127FD8FF801307A5130000FC
158000F0140F1270007815005D6C141E153E6C5C6C5C3907C0E1F03903F8EFE0C6B51280
D93FFEC7FCEB0FF8EB00E0A422497BC32D>I<EC0F80EC7FE0ECF870903803E038010713
3CECC01CEB0F80011F131E150EA2EB3F00A55D1480A25D157815705D6D6C5A14C1ECC380
02C7CAFC02EE91387FFFFCEB0FEC14FC4A020713C06D48913801FE006E5DEF00F06D7E01
074B5A496C5D011D1503D939FF4A5A017093C7FC496D5B0001017F140E496C6C131E0003
6E131C2607801F143C000F6E5B001F6D6C1370263F000714F0486E485ADA03FE5B913801
FF03486D495A0487C8FCED7FCFED3FFE6F4814386D5C150F007F6E6C14786D6D6C147000
3F4A6C14F06D496C6C13E0001F91393E3FC0016C6C903AFC1FF003C03D07FC07F007FC1F
800001B5D8C001B512006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>38
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E13
3E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12
FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E
131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C
7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A61303
14F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B48
5A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<EB03C0A2805CA600F0140F00FC14
3F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC03900FDBF00EB3FFCEB0FF0EB
03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3C3FC39FF03C0FF00FE147F00
FC143F00F0140F00001400A6805CA220277AC32D>I<121EEA7F8012FF13C0A213E0A312
7FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C798919>
44 D<B512FEA617067F961E>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>
I<ED0180ED03C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8A25D14
01A25D1403A25D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A25C1301
A25C1303A25C1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201A25B12
03A25B1207A25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260225B7B
C32D>I<EB01FE90380FFFC090383F03F090387C00F849137C48487F48487F4848EB0F80
A2000F15C04848EB07E0A3003F15F0A290C712034815F8A64815FCB3A26C15F8A56C6CEB
07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315006C6C133E6C6C5B017C5B90383F
03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C013031307131F137FEA07FFB5FC13
9FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B512E039
03F01FF83907C007FC390F0001FE001E6D7E001C1580003CEC7FC05AED3FE01270B4FC6D
EB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F168015FF16004A5A5D4A5A4A5A5D
4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C71270133E133C5B4914E0485A485A
485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D>I<EB07FC90383FFF809038F80F
E03901E003F839078001FCD80F007F000E6D7E001E1580D81F80137F486C14C07FA27F5B
A2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E04A5A023FC7FCEB1FFCECFF809038
000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153FA216F0A2120C123F487E487EA316
E0A249137F6CC713C01278EDFF807E6C4913006C495A3907C007FC3903F80FF0C6B55A01
3F1380D907F8C7FC243F7CBC2D>I<150E151E153EA2157EA215FE1401A21403EC077E14
06140E141CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B120148
5A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<
00061403D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE
90380FFF8090383E03E090387001F8496C7E49137E497F90C713800006141FC813C0A216
E0150FA316F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C
6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC
2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F000780133E017EEB1FC049133F48
48137F12035B12074848EB3F80ED1F00001F91C7FC5BA2123FA3485AA214FE903887FF80
39FF8F07E090389C01F09038B800FC01B0137E13F0497F16804914C0A2ED1FE0A34914F0
A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A20007EC7F006C6C137E6C6C5B6C6C48
5A90387E07F06DB45A010F1380D903FCC7FC243F7CBC2D>I<1238123C123F90B612FCA3
16F85A16F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC8127015F0
4A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2
131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC90381FFF8090387C07E09038F001
F83901E0007C48487F48487F48C7FCED0F80121E16C0003E1407A4123FA26DEB0F807F6C
6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6CEBF3E06CEBFF806C91C7FC133F6D
13C06D7F013F13F801787F48486C7E3903E01FFF48486C1380260F800313C048487E4890
38007FE0003E143F007E141F007CEC0FF01507481403A31501A46C15E0007C1403A2007E
15C06C14076CEC0F806DEB1F006C6C133ED807F05B3901FC03F86CB512E0011F1380D903
FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C09038FC03F048486C7E48486C7E4848
137C000F147E4848137F81003F15805B007F15C0A2151F12FF16E0A516F0A5127F153FA3
6C7EA2001F147F120F6C6C13FF6D13DF000313013900F8039F90387E0F1FD91FFE13E0EB
07F090C7FCA2ED3FC0A41680157FD80F801400487E486C13FEA24A5A5D49485AEB800739
1E000FE0001F495A260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D>I<121EEA7F
80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779
A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A412
7F121E1200A412011380A3120313005A1206120E120C121C5A1230A20A3979A619>I<00
7FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61
D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381FEA34AC6
7EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA24981913880
0001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA2017882170F13
FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>65 D<B712FCEEFF8017F000
01903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0A2EF1FF0A218F8A3170F171F
A318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE7FE091B6C7FC17E091C7EA07
FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC1707A218FEA718FC170FA2EF
1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00B85A17E094C7FC373E7DBD40
>I<DB3FF01306912603FFFE130E020F9038FF801E913A3FF007E03E9139FF8000F8D903
FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403495A91C81201484815001203
4848167E5B000F173EA24848161EA2123F5B180E127FA349160012FFAC127F7F180EA212
3FA27F001F171E181C6C7EA20007173C6D16386C6C1678000117706C6C16F06EEC01E06D
6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E902600FF8013F891393FF007F0
020FB512C0020391C7FC9138003FF037427BBF42>I<B712FCEEFF8017E000019039C000
1FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E170184717EA21980187F19C0A3
F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA24D5A6017074D5A4D5AEF7FC0
4DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD45>I<B912E0A300019038C0
00016C6C48EB001FEF0FF01703A217011700A31870A418381638A41800A21678A216F815
01150791B5FCA3EC8007150115001678A21638A2180EA3181C93C7FCA4183C1838A21878
A318F8EF01F0A21707170F173F48486CEB03FFB912E0A3373E7DBD3E>I<B91280A30001
9038C000036C6C48EB007FEF1FC0170F1707A21703A31701A4EF00E0A21638A31800A316
78A216F81501150791B5FCA3EC8007150115001678A21638A693C8FCAF3801FFE0B612F0
A3333E7DBD3B>I<DB3FE0130C912603FFFE131C021F9038FF803C913A7FF00FC07C9139
FF0001F0D903FC90380078FC4948143DD91FE0141F4948140F4948140701FF15034890C8
FC491501485A000716005B000F177C5B001F173CA2485AA2181C127FA25B95C7FC12FFAB
041FB512F0127FA26D9139000FFE00EF03FC123FA27F121FA26C7EA212077F12036C7E7F
6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC3C7C902600FF80EBF83C913A7FF007
F01C021FB5EAC00C020391C8FC9138003FF03C427BBF47>I<B6D8C01FB512F8A3000101
E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120FB3A92601FFE0EC3FFCB6D8C0
1FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7E
BD21>I<011FB512FCA3D9000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A1380D8
7F005B007C130700385C003C495A6C495A6C495A2603E07EC7FC3800FFF8EB3FC026407C
BD2F>I<B600C090387FFFFCA3000101E0C7000F138026007F80913807FE0018F818E060
4D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5AED07804B7E151F4B
7E4B7E15FF913881EFF8913883C7FCEC878791388F03FE91389E01FF14BCDAF8007F4A6D
7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F717E84173F717E717EA2717E848419
802601FFE04A13C0B600C090B6FCA3403E7DBD47>I<B612F8A3000101E0C9FC38007F80
B3B0EF0380A517071800A45FA35FA25F5F5F4C5A160748486C133FB8FCA3313E7DBD39>
I<B500C093B512C0A300016D4BEBE000D8007F1880D977F0ED03BFA3D973F8ED073FA3D9
71FC150EA2D970FE151CA3027F1538A36E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB03
80A36E6CEB0700A26E6C130EA36E6C5BA3037F5BA26F6C5AA36F6C5AA392380FE1C0A392
3807F380A26FB4C7FCA36F5AA213F8486C6D5AD807FFEFFFE0B500F80178017FEBFFC0A3
4A3E7CBD53>I<B56C91B512F88080D8007F030713006EEC01FC6E6E5A1870EB77FCEB73
FEA2EB71FF01707FA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E
6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE
01FF7013F0A2177F173FA2171F170FA2170701F81503487ED807FF1501B500F81400A218
703D3E7DBD44>I<ED7FE0913807FFFE91391FC03F8091397E0007E04948EB03F8D907F0
EB00FE4948147F49486E7E49486E7E49C86C7E01FE6F7E00018349150300038348486F7E
A248486F7EA2001F188049167F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D
167FA4003F18C0A26C6CEEFF80A36C6C4B1300A26C6C4B5A00035F6D150700015F6C6C4B
5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091391FC0
3F80912607FFFEC8FC9138007FE03C427BBF47>I<B712F8EEFF8017E000019039C0003F
F86C6C48EB07FCEE01FE707EEF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218
C0EF7F80EFFF004C5AEE07FCEE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3
353E7DBD3E>I<ED7FE0913807FFFE91391FC03F8091397F000FE0D901FCEB03F8D907F0
EB00FE4948147F49486E7E49486E7E49C86C7E498248486F7E49150300038348486F7EA2
000F834981001F1880A24848EE7FC0A3007F18E0A249163FA200FF18F0AC007F18E0A26D
167FA3003F18C0A26C6CEEFF80A3000F18006D5D0007DA0F805B6C6C90393FE003FCED70
706C6C496C485A6C6C48486C485A017FD9800E5BD93F819038061FC0D91FC19038073F80
D90FE14AC7FCD907F1EB03FE902601FDC013F8903A007EE007E091271FF03FC013180207
B5FC9139007FE1E0DB0001143883711378A2706C13F0EFFF0318FFA27113E0A37113C071
1380711300715AEF01F83D527BBF47>I<B712C016FCEEFF800001D9C00013E06C6C48EB
1FF0EE07FCEE01FE707E84717EA2717EA284A760177F606017FF95C7FCEE01FCEE07F8EE
1FE0EEFF8091B500FCC8FC16F091388001FCED003FEE1FC0707E707E83160383160183A3
83A484A4F0C004190EA28218E0057F131E2601FFE0161CB600C0EB3FF094381FF8380507
1370CA3801FFE09438003F803F407DBD43>I<D907FC131890391FFF8038017FEBE07839
01FC03F83A03F0007CF8D807C0133F4848130F001F140748C7FC003E1403007E1401A200
7C140012FC1678A46C1538A27EA26C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F0
6C14FC6C14FF6C15C0013F14E0010714F0EB007F020713F89138007FFC150FED07FE1503
1501ED00FFA200E0157FA3163FA27EA3163E7E167E6C157C6C15FC6C15F86D13016DEB03
F06DEB07E0D8F9FCEB0FC03AF07F803F8090391FFFFE00D8E00713F839C0007FC028427B
BF33>I<003FB91280A3903AF0007FE001018090393FC0003F48C7ED1FC0007E1707127C
00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>
I<B600C090B512F8A3000101E0C70007130026007F80EC01FC715A1870B3B3A4013F16F0
6E5DA21701011F5E80010F15036E4A5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E
6C485A91390FF00FE00203B51280020049C8FCED1FF03D407DBD44>I<B691380FFFFEA3
000301E0020113E06C01809138007F806CEF3F00017F163E181C6E153C013F1638A26E15
78011F1670A26D6C5DA26E140101075EA26E140301035EA26D6C4AC7FCA2806D150EA26F
131E027F141CA26F133C023F1438A26E6C5BA26F13F0020F5CA2EDF80102075CA26E6C48
5AA2EDFE07020191C8FCA26F5A6E130EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA3
6F5A3F407EBD44>I<B500FE017FB5D88007B5FCA3000301C0010101E0C713F86C90C849
EC3FE07148EC0F807E7215006E143F017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C
60A2933801C3FC6E18F001076104037F6E0281140101036104077F17006D6C4D5AA2040E
EB7F806D6C4DC7FCA24CEB3FC0DA7F80160EA24CEB1FE003C0161E023F171C047814F0DB
E070010F133C021F173804F014F84C1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80
EB01FEDA03FF6F5AA293C8FCA26E5FA24B157F020094C8FCA24B81037C153EA20378151E
0338151C58407EBD5D>I<007FB5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC
1F806D6C92C7FC171E6D6C141C6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F1303
6F485ADA1FF090C8FC020F5BEDF81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5A
A26F7E6F7EA28282153FED3BFEED71FF15F103E07F913801C07F0203804B6C7EEC07004A
6D7E020E6D7E5C023C6D7E02386D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C8
6C7E496F7E497ED9FFC04A7E00076DEC7FFFB500FC0103B512FEA33F3E7EBD44>I<B66C
0103B51280A3000101F0C8EBF8006C6C48ED3FC0725A013F041EC7FC6D7E606D6C15386D
6C1578606D6C5D6E14016D5E6D6D1303606E6C49C8FC6E6C5B170E6E6C131E171C6E6C5B
6E6C137817706E6C13F06F5B6E13016EEB83C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F
6F5AB3A4ED1FFC020FB512FCA3413E7FBD44>I<EAFFFCA4EAF000B3B3B3B3ABEAFFFCA4
0E5B77C319>91 D<486C13C00003130101001380481303000EEB070048130E0018130C00
38131C003013180070133800601330A300E01370481360A400CFEB678039FFC07FE001E0
13F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003CB3
B3B3B3ABEAFFFCA40E5B7FC319>I<EA0180120313005A120E5A12181238123012701260
A312E05AA412CFEAFFC013E0A3127FA2123F13C0EA0F000B1C7ABE19>96
D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C
5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485A
A248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C
0FFE3A01FFF807FC3A003FC001F0292A7DA82D>I<EA01FC12FFA3120712031201B1EC03
FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E49158049141F17
C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13FE
9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>I<
49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B121FA248
48EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C1307
6C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC222A7DA828
>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D49131FD803
F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E000F
14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFFC1903A01FE
01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C7E4848137E
48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6FCA290C9FC
A67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C131E017E5B90
381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807E0
7E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE48
7E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E0FDE1F9038
F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F147E6D13FE00
075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA2
7F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE003E14004815
7E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017F
C7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1EC01FE9138
07FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25BB3
A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8
FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2EB
03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F38FF807E14
FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C>I<EA01FC
12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D4A5AEC07C0
4A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C7E1401816E
7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FFA3
120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FFC0
0313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603F9C06D487F
000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F8
7FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E091387803F0
00079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8
F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F8131F4848EB0F
804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C
15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D800
7EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC00FF90381F
FF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F805BEE1FC0
17E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001
F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733
>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E4848EB0FFC
150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C13
0F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD4B7E92B512
F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381EA01FB
1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<90383FC0603901
FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E7E7E6D1300
EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB001FEC0FF8
00E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3E01F0038E0
FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207001FB512C0
B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F8700EB07FE
EB01F81B397EB723>I<D801FC14FE00FF147FA3000714030003140100011400B3A51501
A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE00100903880
FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E00015D7F00005D
A26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E0107131CA26D
6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630
>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C4817006D010F141E
00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC1538D91FC0
4A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138F1C01F02F9
148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2027C130102
3C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C690388007F8D97F00
13E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00FF
6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7ED90F007F01
1E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA630>I<B539
E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495AA2EC800301
3F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF001
005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800181370127EB45B
A2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB61280
A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A147F5D4AC7FC
C6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B4848130712074914
00485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<BE12C0A25A0280
985B>124 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ft cmtt12 20.736 5
/Ft 5 115 df<923807FFC0033F13FC4AB67E020715E0021F15F8027F8191B8FC010383
498349834949C6804901F0130F49018001037F90B5C87F02FC157F48496F7E4849151F4A
6F7E485B4A6F1380488391C914C0485A84484818E0A24982127FA24918F0A200FF187FA2
90BAFCA71AE0A21A8001F0CCFCA2127FA37F123F7FA2121F6DEF0F806DEF3FE07E6EEE7F
F06C7F6C6D16FF806C6D4B13E06C6D5D6E4B13C06D6C6C141F6D01E04A13806D01FC49B5
FC6D9026FFC01F14006D91B65A6D5F6D5F6D6C5E6E16C0020F5E02034BC7FC020015F003
1F14C0030101F8C8FC444D76CB59>101 D<943803FFF0053F13FE4CB61280040715E05E
043F15F05E4BB712F85D5D4DC6FC4B13E04B49EB7FF094C7FC4CEC3FE04B48EC0F8096C7
FC4B5A5EAE001FB912FC4818FF5ABB1280A46C1900A2001F18FCC8D87FF0C9FCB3B3B200
07B9FC001F18C04884A66C60000795C7FC456A7AE959>I<F2FF80DB07FF020F13F0033F
01E0017F13FC4AB5D8FC01B57E0207DAFF0780021F15CF4A92B712805C49BBFC5B491807
DBFE0302F81400499026F0007F13C04901C0011F6E5A4B6DEC00FC4948C700036D90C7FC
4A80017F834A8049486F7EA24A153FA248844A151FA86E153F6C60A26E157FA26D6C4B5A
6E5C013F5F6E5C6D6C6C010F5B6F5B6D01F0017F5BDBFE03B5C9FC92B7FC495E604916F0
6060D97FE792CAFC02C114FCDAC03F13E0030790CBFC92CDFCA480A2806D7E80806DB712
E0F0FF806D17F06D17FE49717E013F18E04918F890BA7E488548854801FCC8003F804801
E00300800280161F4890CA00077F4917014848717F49187F4848851A3F49181F8712FF49
180FA66D181FA26C6C4E5A6D187FA2D83FFE4D485A6D5F6C6D4C5B6C01E0041F5B02F816
7F6C01FE4BB55A6CD9FFE0021F91C7FC6C02FF0103B55A6C92B75A013F18F06D60010718
8001014DC8FC6D6C16F8021F16E0020393C9FCDA007F14F8030149CAFC51747BCB59>I<
EF3FF8261FFFFC0103B5FC4801FF011F14E048037F14F8B60081B612FE038381038F16C0
039F826C02BF826C91B87E6CDCC01F7FD800039126FC00037F04F001007F4C800480021F
138093C86C13C04B814B6F13E05D7313F04B814BEE7FF8A24B163F1BFC4B161FA21BFE1A
0FA31BFF86AC621BFEA2811A1F1BFC1A3F81F27FF8811AFF6F17F0616F4B13E06F5D6F4B
13C0704A13806104E091B5120070495B04FC01075B9326FF807F5B94B65A03BF5E039F5E
038F5E03874BC7FC03815D038015F0043F14C0040749C8FC040013E094CAFCB3A9001FB6
12F048814881B77EA46C5D6C5D6C5D50717ECA59>112 D<953803FFC0001FB500F0023F
13F84802FC49B512FE480407ECFF80B66C011F15C0057F15E094B7FC16036C4B16F06C5D
6C4BEBFE03C7000F4913E04C13804C48486C13E092B512F84D6D13C005C0EC7F804DEC0C
0094CAFC5EA25E5E5EA25EA25EA25EA293CBFCA55DB3AB001FB812F848834883BAFCA46C
5F6C5F6C5F4C4B7ACA59>114 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fu cmbx12 20.736 14
/Fu 14 118 df<13FF000313E0487F001F13FC487F805A1580B612C0A315E0A315F0A37E
A27EA27E000713F36C13E3C61383EB00031407A215E0A3140FA215C0141FA2EC3F80A214
7F15005C5C1301495A5C1307495A495A133F495A495A4890C7FC485A485A485A5B6C5AEA
01801C3A72F736>39 D<137F3801FFC0000713F0487F487F487F487FA2B61280A96C1400
A26C5B6C5B6C5B6C5B000113C06C6CC7FC1919729836>46 D<92380FFFE04AB67E020F15
F0027F15FE49B87E4917E0010F17F8013F8349D9C01F14FF9027FFFC0001814801E06D6C
80480180021F804890C86C8048486F8048486F8001FF6F804801C06E8002F081486D1880
6E816E18C0B5821BE06E81A37214F0A56C5BA36C5B6C5B6C5B000313C0C690C9FC90CA15
E060A34E14C0A21B80601B0060626295B55A5F624D5C624D5C4D91C7FC614D5B4D13F04D
5B6194B55A4C49C8FC4C5B4C5B4C13E04C5B604C90C9FCEE7FFC4C5A4B5B4B5B4B0180EC
0FF04B90C8FC4B5A4B5A4B48ED1FE0EDFFE04A5B4A5B4A90C9FC4A48163F4A5ADA3FF017
C05D4A48167F4A5A4990CA12FFD903FC160749BAFC5B4919805B5B90BBFC5A5A5A5A481A
005A5ABCFCA462A44C7176F061>50 D<EA03FCA2487E7F14C0ECFFF092BA12C0A45AA31C
801C0063A2486263636363A26398C7FC48616249CAEA0FF801F0171F494D5A4F5A49604F
5A007F4D90C8FC60494C5A4E5A614E5A4E5A48CA127F4E5A4D5B96C9FCCA485A4D5A170F
4D5A60173F4D5A6017FF4C5BA25E4C90CAFCA24C5A161FA24C5AA2167FA24C5AA25DA24B
5BA25DA25DA25F5DA25DA35DA392B5FCA25FA25CA45CA75CAD6E5CA26E91CBFCA26E5BED
3FF8ED0FE0527775F461>55 D<96267FFFE01670063FB6ED01F80503B700F01403053F04
FC14074CB96C130F040706E0131F043F72133F93BA00FC137F0303DC00076D13FF030F03
C09039003FFF814B02FCC8000713C3037F02E0030113F792B600806F6CB5FC02034ACA12
1F4A02F8834A02E0834A4A1701027F4A8391B548CC7E494A85495C4C854988494A85494A
85495C8A4991CDFC90B54886A2484A1B7FA2481E3F5D481E1F5D5A1F0FA2485CA3481E07
5DA2795A489BC9FCA45DA2B6FCB27EA26F0403BA12C0A47EA3816C96C8000302F8C7FCA3
6C80A36C80A27E817E817E817F6D80827F6D806D806D80826D6E606D806E80021F6E5F6E
02F05F6E806E02FE5F0200DAFFC05E6F02F04BB6FC031F02FE030713CF6FDAFFE0021F13
8703039226FF8003B51201030093B6EAFC00043F4E133F040706E0131F04014E1307DC00
3F4CC71201050304F8EC0070DD003F038092C8FCDE007F01F0CCFC827A75F798>71
D<BA00E0030FB8FCA8C7003F0280CC003FEBC000E503FCC7FCB3B3B3B3A46E1C0768A283
6E1C0F68A26E1C1F7162A26E1C3F714F5A806E525A71606F6D97C8FC6F505A7118076F6D
4E5A6F6EEF3FF86F6E4D5A6F6EEE01FF6F02F84C5B6F02FE041F5B043F6D6C037F90C9FC
7002F0913807FFFE0407DAFF8090B55A040192B712F07061051F188005074DCAFC050017
F0061F16C0060103FCCBFCDE000391CCFC88787AF595>85 D<97380FFFE00607B6FCA8F0
0003190086B3AD93383FFF800307B512F8033F14FF4AB712C0020716F0021F16FC027F90
39FE007FFE91B500F0EB0FFF01030280010190B5FC4949C87E4949814949814949814949
8190B548814884484A8192CAFC5AA2485BA25A5C5AA35A5CA4B5FCAF7EA4807EA37EA280
7EA26C7F616C6E5D6C606C80616D6D5D6D6D5D6D6D92B67E6D6D4A15FC010301FF0207ED
FFFE6D02C0EB3FFE6D6C9039FC01FFF86E90B65A020F16C002031600DA007F14FC030F14
E09226007FFEC749C7FC5F797AF76C>100 D<93387FFF80030FB512FC037FECFF804AB7
12E0020716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E04901FC020F7F49
496E7F49498049496E7F49496E7F90B55A48727E92C914804884485B1BC048841BE0485B
A27313F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF1
03F0F207F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13
806D6D4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A
020F178002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE58>I<EB01
FCEB07FF011F13C0497F497F90B57EA24880A24880A76C5CA26C5CA26D5B6D5B6D5B0107
90C8FCEB01FC90CAFCB2903801FFFC007FB5FCA8C67E131F7FB3B3B3A5B81280A8297979
F835>105 D<93381FFFE00303B6FC031F15E092B712FC020316FF020F17C0023FD9FC00
14F091B500C0010F13FC4991C700037F4901FC02007F010F496F13C049496F7F49496F7F
4B8149496F7F90B5C96C7F4886A24849707F481B80A248497014C0A2481BE0A348497113
F0A3481BF8A5B51AFCAE6C1BF8A46C1BF06E94B5FCA36C1BE0A26C6D4C14C0A26C1B806E
5E6C1B006C6E4B5BA26C6E4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D92B55A6D01FF02035C
6D02C0010F91C7FC010002FC90B512FC6E90B75A021F17E00207178002014CC8FCDA003F
15F0030392C9FCDB001F13E056507BCE61>111 D<902601FFF8EB07FEB691383FFFC094
B512F00403804C14FE4C8093261FFC3F138093263FE07F13C0DC7F80B5FCC66C5D011FDA
FE0114E06DEBF9FC16F815FB16F016E015FF16C07114C05E72138095381FFE0093C76C5A
F001E095C8FCA25DA65DB3B3A2B812F8A8434E7ACD4F>114 D<912603FFFCEB0780027F
9039FFE00FC00103B6EAF83F010FEDFEFF013F92B5FC49EB000F2601FFF0130048018014
3F4890C8120F4848814848814981123F83485A187FA212FF6D163FA37F7F6DEE1F8002C0
92C7FC14F014FEECFFF06CECFF8016FEEEFFE06C16FC6C16FF18C06C836C17F86C836C83
6C83013F17806D17C0010717E0010117F0EB003F020716F8EC001F030015FC1607EE007F
051F13FE1707007E82B482836D167FA2183F7F181FA27F19FC7FA26D163F6D17F86D167F
19F06D16FF6E4A13E002E04A13C06E4A138002FE023F1300913AFFC003FFFE01E790B65A
01C316F0018016C026FE003F92C7FC48010714F80070D9007F90C8FC3F507ACE4C>I<15
FFA75CA55CA45CA25CA25CA25CA25C91B5FCA25B5B5B131F5B90B9FC120FBAFCA6D80007
91C9FCB3B3A3F01FE0AE183F7014C07F187F7014806D16FF826D4B13006E6D485AEEFE0F
6E90B55A020F5D6E5D020115C06E6C5C031F49C7FC030113F03B6E7CEC4B>I<DAFFFE93
3803FFF8B60303B6FCA8C66CEE0001011F717E6D84B3B3A862A497B5FCA261A2616D5F1A
DF6F150F6DEF1F9F073F806D6EDA7F1F13FF6D6ED901FEEDFF8070EB07FC023F01FEEB3F
F86E90B612F06E16C0020316800200EDFE00031F14F80300028003C0C7FC614F79CD6C>
I E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
a4
%%EndPaperSize

%%EndSetup
%%Page: 1 1
1 0 bop 150 1318 a Fu(User's)65 b(Guide)h(to)e Ft(gperf)f
Fu(2.7.2)p 150 1423 3600 34 v 2005 1519 a Fs(The)30 b(GNU)h(P)m(erfect)
h(Hash)e(F)-8 b(unction)30 b(Generator)2430 1627 y(Edition)f(2.7.2,)j
(26)f(Septem)m(b)s(er)f(2000)150 5068 y Fr(Douglas)46
b(C.)f(Sc)l(hmidt)p 150 5141 3600 17 v eop
%%Page: 2 2
2 1 bop 150 4152 a Fs(Cop)m(yrigh)m(t)602 4149 y(c)577
4152 y Fq(\015)30 b Fs(1989-2000)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)
-8 b(oundation,)31 b(Inc.)150 4286 y(P)m(ermission)f(is)i(gran)m(ted)h
(to)f(mak)m(e)i(and)d(distribute)f(v)m(erbatim)i(copies)g(of)g(this)f
(man)m(ual)h(pro)m(vided)f(the)150 4396 y(cop)m(yrigh)m(t)g(notice)f
(and)g(this)f(p)s(ermission)f(notice)i(are)h(preserv)m(ed)f(on)h(all)e
(copies.)150 4530 y(P)m(ermission)36 b(is)i(gran)m(ted)g(to)h(cop)m(y)g
(and)f(distribute)e(mo)s(di\014ed)g(v)m(ersions)h(of)i(this)e(man)m
(ual)g(under)g(the)150 4640 y(conditions)42 b(for)h(v)m(erbatim)g(cop)m
(ying,)k(pro)m(vided)42 b(also)h(that)i(the)e(section)h(en)m(titled)f
(\\GNU)h(General)150 4749 y(Public)25 b(License")h(is)g(included)e
(exactly)k(as)f(in)e(the)i(original,)f(and)g(pro)m(vided)g(that)h(the)g
(en)m(tire)g(resulting)150 4859 y(deriv)m(ed)i(w)m(ork)i(is)e
(distributed)f(under)h(the)h(terms)g(of)h(a)g(p)s(ermission)c(notice)k
(iden)m(tical)e(to)i(this)e(one.)150 4994 y(P)m(ermission)i(is)i(gran)m
(ted)g(to)h(cop)m(y)g(and)f(distribute)d(translations)i(of)i(this)e
(man)m(ual)g(in)m(to)h(another)g(lan-)150 5103 y(guage,)41
b(under)35 b(the)j(ab)s(o)m(v)m(e)g(conditions)e(for)h(mo)s(di\014ed)f
(v)m(ersions,)i(except)h(that)e(the)h(section)f(en)m(titled)150
5213 y(\\GNU)f(General)g(Public)d(License")i(ma)m(y)h(b)s(e)e(included)
f(in)h(a)i(translation)e(appro)m(v)m(ed)h(b)m(y)h(the)f(author)150
5322 y(instead)30 b(of)g(in)f(the)i(original)d(English.)p
eop
%%Page: 1 3
1 2 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(1)150 299 y Fp(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537
564 y Fs(V)-8 b(ersion)30 b(2,)h(June)f(1991)390 720
y(Cop)m(yrigh)m(t)842 717 y(c)817 720 y Fq(\015)g Fs(1989,)j(1991)f(F)
-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30 b(Inc.,)390
824 y(59)h(T)-8 b(emple)30 b(Place,)h(Suite)e(330,)j(Boston,)g(MA)e
(02111-1307,)35 b(USA.)390 1032 y(Ev)m(ery)m(one)c(is)f(p)s(ermitted)f
(to)i(cop)m(y)g(and)f(distribute)e(v)m(erbatim)i(copies)390
1135 y(of)h(this)e(license)g(do)s(cumen)m(t,)i(but)e(c)m(hanging)i(it)f
(is)f(not)i(allo)m(w)m(ed.)150 1462 y Fr(Pream)l(ble)275
1683 y Fs(The)39 b(licenses)h(for)g(most)h(soft)m(w)m(are)g(are)g
(designed)e(to)i(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d(freedom)g(to)h
(share)g(and)150 1793 y(c)m(hange)g(it.)70 b(By)40 b(con)m(trast,)k
(the)c(GNU)h(General)f(Public)e(License)i(is)f(in)m(tended)g(to)h
(guaran)m(tee)i(y)m(our)150 1902 y(freedom)24 b(to)h(share)f(and)f(c)m
(hange)i(free)f(soft)m(w)m(are|to)j(mak)m(e)e(sure)e(the)h(soft)m(w)m
(are)i(is)d(free)h(for)g(all)f(its)h(users.)150 2012
y(This)38 b(General)i(Public)d(License)j(applies)e(to)i(most)g(of)g
(the)g(F)-8 b(ree)41 b(Soft)m(w)m(are)g(F)-8 b(oundation's)39
b(soft)m(w)m(are)150 2121 y(and)c(to)h(an)m(y)g(other)g(program)f
(whose)h(authors)f(commit)g(to)i(using)d(it.)55 b(\(Some)36
b(other)g(F)-8 b(ree)37 b(Soft)m(w)m(are)150 2231 y(F)-8
b(oundation)31 b(soft)m(w)m(are)i(is)d(co)m(v)m(ered)j(b)m(y)e(the)g
(GNU)h(Library)e(General)h(Public)e(License)h(instead.\))43
b(Y)-8 b(ou)150 2340 y(can)31 b(apply)e(it)h(to)h(y)m(our)f(programs,)g
(to)s(o.)275 2503 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m
(are,)i(w)m(e)e(are)g(referring)d(to)j(freedom,)h(not)f(price.)60
b(Our)36 b(General)150 2612 y(Public)c(Licenses)h(are)i(designed)e(to)i
(mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g
(distribute)e(copies)150 2722 y(of)k(free)h(soft)m(w)m(are)g(\(and)f(c)
m(harge)i(for)e(this)f(service)h(if)f(y)m(ou)i(wish\),)g(that)f(y)m(ou)
h(receiv)m(e)g(source)f(co)s(de)h(or)150 2832 y(can)e(get)h(it)e(if)f
(y)m(ou)i(w)m(an)m(t)h(it,)f(that)g(y)m(ou)g(can)g(c)m(hange)h(the)e
(soft)m(w)m(are)i(or)f(use)f(pieces)h(of)f(it)g(in)g(new)g(free)150
2941 y(programs;)c(and)g(that)h(y)m(ou)g(kno)m(w)f(y)m(ou)h(can)f(do)h
(these)g(things.)275 3104 y(T)-8 b(o)40 b(protect)h(y)m(our)f(righ)m
(ts,)i(w)m(e)e(need)g(to)h(mak)m(e)g(restrictions)d(that)j(forbid)d(an)
m(y)m(one)j(to)g(den)m(y)f(y)m(ou)150 3213 y(these)d(righ)m(ts)f(or)g
(to)h(ask)g(y)m(ou)f(to)h(surrender)e(the)h(righ)m(ts.)58
b(These)36 b(restrictions)f(translate)i(to)g(certain)150
3323 y(resp)s(onsibilities)25 b(for)31 b(y)m(ou)f(if)g(y)m(ou)g
(distribute)e(copies)i(of)h(the)f(soft)m(w)m(are,)j(or)d(if)f(y)m(ou)i
(mo)s(dify)e(it.)275 3485 y(F)-8 b(or)30 b(example,)f(if)g(y)m(ou)g
(distribute)e(copies)j(of)f(suc)m(h)g(a)h(program,)g(whether)e(gratis)i
(or)f(for)g(a)h(fee,)h(y)m(ou)150 3595 y(m)m(ust)i(giv)m(e)h(the)g
(recipien)m(ts)e(all)h(the)g(righ)m(ts)g(that)h(y)m(ou)g(ha)m(v)m(e.)51
b(Y)-8 b(ou)34 b(m)m(ust)g(mak)m(e)g(sure)f(that)h(they)-8
b(,)35 b(to)s(o,)150 3704 y(receiv)m(e)j(or)g(can)g(get)g(the)g(source)
g(co)s(de.)62 b(And)37 b(y)m(ou)h(m)m(ust)f(sho)m(w)h(them)f(these)h
(terms)f(so)h(they)g(kno)m(w)150 3814 y(their)29 b(righ)m(ts.)275
3976 y(W)-8 b(e)29 b(protect)g(y)m(our)f(righ)m(ts)f(with)g(t)m(w)m(o)i
(steps:)40 b(\(1\))29 b(cop)m(yrigh)m(t)f(the)g(soft)m(w)m(are,)j(and)c
(\(2\))i(o\013er)g(y)m(ou)f(this)150 4086 y(license)h(whic)m(h)g(giv)m
(es)i(y)m(ou)g(legal)f(p)s(ermission)d(to)k(cop)m(y)-8
b(,)32 b(distribute)c(and/or)i(mo)s(dify)f(the)i(soft)m(w)m(are.)275
4248 y(Also,)45 b(for)d(eac)m(h)i(author's)f(protection)f(and)g(ours,)j
(w)m(e)e(w)m(an)m(t)h(to)f(mak)m(e)h(certain)e(that)h(ev)m(ery)m(one)
150 4358 y(understands)29 b(that)j(there)f(is)f(no)h(w)m(arran)m(t)m(y)
h(for)f(this)f(free)h(soft)m(w)m(are.)44 b(If)30 b(the)i(soft)m(w)m
(are)g(is)e(mo)s(di\014ed)f(b)m(y)150 4467 y(someone)i(else)e(and)g
(passed)h(on,)g(w)m(e)g(w)m(an)m(t)h(its)e(recipien)m(ts)g(to)h(kno)m
(w)g(that)g(what)g(they)g(ha)m(v)m(e)h(is)e(not)h(the)150
4577 y(original,)e(so)h(that)g(an)m(y)h(problems)d(in)m(tro)s(duced)g
(b)m(y)i(others)g(will)d(not)j(re\015ect)h(on)f(the)g(original)e
(authors')150 4686 y(reputations.)275 4849 y(Finally)-8
b(,)24 b(an)m(y)h(free)f(program)g(is)g(threatened)g(constan)m(tly)h(b)
m(y)g(soft)m(w)m(are)h(paten)m(ts.)39 b(W)-8 b(e)26 b(wish)c(to)j(a)m
(v)m(oid)150 4958 y(the)30 b(danger)g(that)h(redistributors)c(of)k(a)f
(free)h(program)f(will)d(individually)e(obtain)30 b(paten)m(t)h
(licenses,)e(in)150 5068 y(e\013ect)39 b(making)e(the)h(program)f
(proprietary)-8 b(.)62 b(T)-8 b(o)38 b(prev)m(en)m(t)g(this,)h(w)m(e)f
(ha)m(v)m(e)h(made)f(it)f(clear)g(that)i(an)m(y)150 5178
y(paten)m(t)31 b(m)m(ust)g(b)s(e)e(licensed)g(for)h(ev)m(ery)m(one's)i
(free)f(use)f(or)g(not)h(licensed)e(at)i(all.)275 5340
y(The)e(precise)h(terms)g(and)g(conditions)f(for)h(cop)m(ying,)h
(distribution)26 b(and)k(mo)s(di\014cation)f(follo)m(w.)p
eop
%%Page: 2 4
2 3 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(2)150 166 y Fr(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g(COPYING,)150
299 y(DISTRIBUTION)f(AND)h(MODIFICA)-11 b(TION)199 515
y Fs(0.)61 b(This)41 b(License)h(applies)e(to)k(an)m(y)f(program)f(or)g
(other)h(w)m(ork)g(whic)m(h)e(con)m(tains)i(a)g(notice)f(placed)330
625 y(b)m(y)33 b(the)h(cop)m(yrigh)m(t)g(holder)e(sa)m(ying)i(it)f(ma)m
(y)h(b)s(e)f(distributed)e(under)h(the)h(terms)h(of)g(this)e(General)
330 735 y(Public)37 b(License.)67 b(The)39 b(\\Program",)j(b)s(elo)m
(w,)f(refers)e(to)h(an)m(y)g(suc)m(h)f(program)g(or)g(w)m(ork,)j(and)d
(a)330 844 y(\\w)m(ork)29 b(based)f(on)h(the)g(Program")g(means)f
(either)h(the)f(Program)h(or)g(an)m(y)g(deriv)-5 b(ativ)m(e)28
b(w)m(ork)g(under)330 954 y(cop)m(yrigh)m(t)k(la)m(w:)42
b(that)32 b(is)e(to)j(sa)m(y)-8 b(,)33 b(a)e(w)m(ork)h(con)m(taining)f
(the)g(Program)h(or)f(a)h(p)s(ortion)e(of)h(it,)g(either)330
1063 y(v)m(erbatim)e(or)g(with)e(mo)s(di\014cations)g(and/or)i
(translated)g(in)m(to)g(another)g(language.)40 b(\(Hereinafter,)330
1173 y(translation)26 b(is)g(included)f(without)h(limitation)f(in)h
(the)h(term)g(\\mo)s(di\014cation".\))40 b(Eac)m(h)27
b(licensee)g(is)330 1282 y(addressed)i(as)i(\\y)m(ou".)330
1429 y(Activities)38 b(other)h(than)f(cop)m(ying,)k(distribution)35
b(and)j(mo)s(di\014cation)f(are)i(not)g(co)m(v)m(ered)h(b)m(y)f(this)
330 1538 y(License;)33 b(they)g(are)f(outside)g(its)f(scop)s(e.)47
b(The)32 b(act)h(of)g(running)c(the)k(Program)f(is)f(not)i(restricted,)
330 1648 y(and)24 b(the)g(output)g(from)g(the)h(Program)f(is)g(co)m(v)m
(ered)i(only)d(if)g(its)h(con)m(ten)m(ts)i(constitute)f(a)g(w)m(ork)f
(based)330 1758 y(on)h(the)h(Program)f(\(indep)s(enden)m(t)f(of)i(ha)m
(ving)f(b)s(een)f(made)i(b)m(y)f(running)e(the)i(Program\).)40
b(Whether)330 1867 y(that)31 b(is)e(true)i(dep)s(ends)d(on)i(what)h
(the)f(Program)h(do)s(es.)199 2014 y(1.)61 b(Y)-8 b(ou)42
b(ma)m(y)g(cop)m(y)g(and)e(distribute)f(v)m(erbatim)i(copies)g(of)h
(the)f(Program's)h(source)f(co)s(de)h(as)g(y)m(ou)330
2123 y(receiv)m(e)32 b(it,)f(in)f(an)m(y)h(medium,)f(pro)m(vided)g
(that)h(y)m(ou)h(conspicuously)d(and)h(appropriately)g(publish)330
2233 y(on)j(eac)m(h)h(cop)m(y)g(an)f(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(and)g(disclaimer)d(of)k(w)m(arran)m(t)m(y;)h(k)m(eep)f(in)m
(tact)330 2342 y(all)d(the)g(notices)h(that)h(refer)e(to)h(this)f
(License)g(and)g(to)i(the)f(absence)g(of)g(an)m(y)g(w)m(arran)m(t)m(y;)
h(and)e(giv)m(e)330 2452 y(an)m(y)g(other)f(recipien)m(ts)g(of)g(the)h
(Program)f(a)h(cop)m(y)g(of)g(this)e(License)h(along)g(with)f(the)i
(Program.)330 2598 y(Y)-8 b(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for)
f(the)h(ph)m(ysical)e(act)j(of)f(transferring)e(a)i(cop)m(y)-8
b(,)32 b(and)e(y)m(ou)h(ma)m(y)g(at)g(y)m(our)330 2708
y(option)f(o\013er)h(w)m(arran)m(t)m(y)g(protection)g(in)e(exc)m(hange)
j(for)e(a)g(fee.)199 2854 y(2.)61 b(Y)-8 b(ou)24 b(ma)m(y)h(mo)s(dify)d
(y)m(our)i(cop)m(y)g(or)g(copies)g(of)g(the)g(Program)g(or)g(an)m(y)g
(p)s(ortion)e(of)i(it,)h(th)m(us)f(forming)f(a)330 2964
y(w)m(ork)k(based)g(on)f(the)h(Program,)h(and)f(cop)m(y)g(and)g
(distribute)d(suc)m(h)j(mo)s(di\014cations)e(or)h(w)m(ork)h(under)330
3074 y(the)k(terms)f(of)g(Section)h(1)f(ab)s(o)m(v)m(e,)i(pro)m(vided)d
(that)i(y)m(ou)g(also)f(meet)h(all)f(of)g(these)h(conditions:)379
3220 y(a.)61 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(mo)s(di\014ed)f
(\014les)g(to)i(carry)g(prominen)m(t)e(notices)i(stating)f(that)i(y)m
(ou)510 3330 y(c)m(hanged)31 b(the)g(\014les)e(and)h(the)g(date)h(of)g
(an)m(y)g(c)m(hange.)374 3476 y(b.)60 b(Y)-8 b(ou)31
b(m)m(ust)g(cause)g(an)m(y)h(w)m(ork)f(that)g(y)m(ou)g(distribute)d(or)
j(publish,)d(that)j(in)f(whole)g(or)h(in)e(part)510 3586
y(con)m(tains)35 b(or)h(is)e(deriv)m(ed)g(from)h(the)g(Program)g(or)g
(an)m(y)h(part)f(thereof,)i(to)f(b)s(e)e(licensed)g(as)i(a)510
3695 y(whole)30 b(at)h(no)f(c)m(harge)i(to)f(all)e(third)f(parties)i
(under)f(the)i(terms)f(of)g(this)g(License.)384 3842
y(c.)61 b(If)39 b(the)h(mo)s(di\014ed)e(program)h(normally)f(reads)i
(commands)f(in)m(teractiv)m(ely)h(when)f(run,)i(y)m(ou)510
3951 y(m)m(ust)30 b(cause)h(it,)f(when)g(started)h(running)c(for)k(suc)
m(h)f(in)m(teractiv)m(e)h(use)f(in)f(the)i(most)g(ordinary)510
4061 y(w)m(a)m(y)-8 b(,)25 b(to)d(prin)m(t)e(or)h(displa)m(y)f(an)h
(announcemen)m(t)g(including)d(an)k(appropriate)e(cop)m(yrigh)m(t)i
(notice)510 4170 y(and)i(a)g(notice)h(that)f(there)h(is)e(no)h(w)m
(arran)m(t)m(y)h(\(or)g(else,)g(sa)m(ying)f(that)h(y)m(ou)g(pro)m(vide)
e(a)i(w)m(arran)m(t)m(y\))510 4280 y(and)35 b(that)g(users)g(ma)m(y)g
(redistribute)e(the)j(program)f(under)e(these)j(conditions,)f(and)g
(telling)510 4390 y(the)f(user)f(ho)m(w)h(to)g(view)f(a)i(cop)m(y)f(of)
g(this)f(License.)50 b(\(Exception:)e(if)32 b(the)i(Program)g(itself)f
(is)510 4499 y(in)m(teractiv)m(e)i(but)e(do)s(es)h(not)g(normally)e
(prin)m(t)h(suc)m(h)g(an)h(announcemen)m(t,)h(y)m(our)f(w)m(ork)g
(based)510 4609 y(on)c(the)h(Program)f(is)g(not)g(required)f(to)i(prin)
m(t)e(an)h(announcemen)m(t.\))330 4792 y(These)41 b(requiremen)m(ts)g
(apply)f(to)i(the)g(mo)s(di\014ed)e(w)m(ork)h(as)h(a)g(whole.)73
b(If)42 b(iden)m(ti\014able)d(sections)330 4902 y(of)j(that)h(w)m(ork)g
(are)f(not)h(deriv)m(ed)e(from)h(the)h(Program,)i(and)d(can)h(b)s(e)e
(reasonably)h(considered)330 5011 y(indep)s(enden)m(t)24
b(and)j(separate)g(w)m(orks)g(in)e(themselv)m(es,)j(then)e(this)g
(License,)h(and)f(its)h(terms,)g(do)g(not)330 5121 y(apply)36
b(to)i(those)f(sections)g(when)g(y)m(ou)g(distribute)e(them)i(as)g
(separate)h(w)m(orks.)61 b(But)37 b(when)g(y)m(ou)330
5230 y(distribute)27 b(the)i(same)g(sections)h(as)f(part)g(of)g(a)h
(whole)e(whic)m(h)g(is)g(a)h(w)m(ork)h(based)e(on)h(the)h(Program,)330
5340 y(the)h(distribution)d(of)j(the)h(whole)e(m)m(ust)h(b)s(e)g(on)g
(the)g(terms)g(of)h(this)e(License,)h(whose)g(p)s(ermissions)p
eop
%%Page: 3 5
3 4 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(3)330 299 y(for)22 b(other)h(licensees)e(extend)i(to)g(the)f(en)m
(tire)g(whole,)i(and)d(th)m(us)h(to)h(eac)m(h)h(and)d(ev)m(ery)i(part)g
(regardless)330 408 y(of)31 b(who)e(wrote)i(it.)330 538
y(Th)m(us,)48 b(it)d(is)f(not)i(the)f(in)m(ten)m(t)g(of)h(this)e
(section)h(to)h(claim)f(righ)m(ts)f(or)h(con)m(test)i(y)m(our)f(righ)m
(ts)e(to)330 648 y(w)m(ork)34 b(written)e(en)m(tirely)h(b)m(y)h(y)m
(ou;)h(rather,)g(the)f(in)m(ten)m(t)g(is)e(to)j(exercise)e(the)h(righ)m
(t)f(to)i(con)m(trol)f(the)330 757 y(distribution)27
b(of)j(deriv)-5 b(ativ)m(e)30 b(or)h(collectiv)m(e)f(w)m(orks)h(based)f
(on)g(the)h(Program.)330 887 y(In)41 b(addition,)h(mere)f(aggregation)i
(of)f(another)f(w)m(ork)g(not)h(based)f(on)g(the)g(Program)h(with)e
(the)330 996 y(Program)22 b(\(or)g(with)e(a)i(w)m(ork)g(based)f(on)h
(the)g(Program\))g(on)f(a)h(v)m(olume)g(of)g(a)g(storage)h(or)f
(distribution)330 1106 y(medium)28 b(do)s(es)j(not)f(bring)f(the)h
(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)e(License.)199
1235 y(3.)61 b(Y)-8 b(ou)38 b(ma)m(y)f(cop)m(y)h(and)f(distribute)d
(the)k(Program)f(\(or)g(a)h(w)m(ork)f(based)g(on)g(it,)i(under)c
(Section)i(2\))330 1345 y(in)29 b(ob)5 b(ject)31 b(co)s(de)g(or)g
(executable)g(form)f(under)e(the)j(terms)f(of)h(Sections)f(1)h(and)f(2)
h(ab)s(o)m(v)m(e)g(pro)m(vided)330 1455 y(that)g(y)m(ou)g(also)f(do)g
(one)h(of)f(the)h(follo)m(wing:)379 1584 y(a.)61 b(Accompan)m(y)47
b(it)e(with)f(the)i(complete)g(corresp)s(onding)e(mac)m(hine-readable)h
(source)g(co)s(de,)510 1694 y(whic)m(h)25 b(m)m(ust)h(b)s(e)f
(distributed)e(under)h(the)j(terms)e(of)i(Sections)e(1)i(and)e(2)h(ab)s
(o)m(v)m(e)i(on)d(a)i(medium)510 1803 y(customarily)i(used)h(for)g
(soft)m(w)m(are)i(in)m(terc)m(hange;)f(or,)374 1933 y(b.)60
b(Accompan)m(y)30 b(it)f(with)f(a)i(written)e(o\013er,)j(v)-5
b(alid)27 b(for)i(at)i(least)e(three)h(y)m(ears,)g(to)g(giv)m(e)g(an)m
(y)g(third)510 2042 y(part)m(y)-8 b(,)32 b(for)f(a)h(c)m(harge)g(no)f
(more)h(than)f(y)m(our)g(cost)h(of)f(ph)m(ysically)f(p)s(erforming)f
(source)i(distri-)510 2152 y(bution,)c(a)h(complete)h(mac)m
(hine-readable)e(cop)m(y)h(of)g(the)g(corresp)s(onding)e(source)i(co)s
(de,)h(to)g(b)s(e)510 2262 y(distributed)i(under)i(the)h(terms)g(of)h
(Sections)f(1)g(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)d
(customarily)510 2371 y(used)e(for)g(soft)m(w)m(are)i(in)m(terc)m
(hange;)f(or,)384 2501 y(c.)61 b(Accompan)m(y)33 b(it)e(with)g(the)h
(information)e(y)m(ou)i(receiv)m(ed)g(as)g(to)g(the)g(o\013er)g(to)h
(distribute)c(cor-)510 2610 y(resp)s(onding)i(source)i(co)s(de.)50
b(\(This)31 b(alternativ)m(e)j(is)e(allo)m(w)m(ed)h(only)g(for)g
(noncommercial)f(dis-)510 2720 y(tribution)e(and)h(only)g(if)g(y)m(ou)i
(receiv)m(ed)f(the)g(program)g(in)f(ob)5 b(ject)33 b(co)s(de)f(or)g
(executable)g(form)510 2829 y(with)d(suc)m(h)h(an)g(o\013er,)h(in)e
(accord)j(with)d(Subsection)g(b)h(ab)s(o)m(v)m(e.\))330
2979 y(The)j(source)h(co)s(de)g(for)f(a)h(w)m(ork)g(means)f(the)h
(preferred)e(form)h(of)h(the)g(w)m(ork)f(for)h(making)f(mo)s(di\014-)
330 3088 y(cations)e(to)g(it.)40 b(F)-8 b(or)31 b(an)f(executable)h(w)m
(ork,)g(complete)f(source)h(co)s(de)f(means)h(all)e(the)h(source)h(co)s
(de)330 3198 y(for)25 b(all)g(mo)s(dules)f(it)h(con)m(tains,)i(plus)c
(an)m(y)j(asso)s(ciated)g(in)m(terface)h(de\014nition)c(\014les,)j
(plus)d(the)j(scripts)330 3308 y(used)41 b(to)i(con)m(trol)g
(compilation)d(and)i(installation)e(of)i(the)h(executable.)76
b(Ho)m(w)m(ev)m(er,)48 b(as)42 b(a)g(sp)s(e-)330 3417
y(cial)30 b(exception,)i(the)f(source)g(co)s(de)g(distributed)d(need)i
(not)h(include)e(an)m(ything)h(that)i(is)e(normally)330
3527 y(distributed)37 b(\(in)h(either)h(source)h(or)f(binary)f(form\))i
(with)e(the)i(ma)5 b(jor)39 b(comp)s(onen)m(ts)h(\(compiler,)330
3636 y(k)m(ernel,)35 b(and)f(so)g(on\))g(of)h(the)f(op)s(erating)g
(system)g(on)g(whic)m(h)f(the)h(executable)h(runs,)f(unless)e(that)330
3746 y(comp)s(onen)m(t)f(itself)e(accompanies)i(the)f(executable.)330
3875 y(If)39 b(distribution)c(of)40 b(executable)g(or)f(ob)5
b(ject)40 b(co)s(de)f(is)g(made)g(b)m(y)g(o\013ering)g(access)h(to)g
(cop)m(y)g(from)330 3985 y(a)e(designated)f(place,)i(then)f(o\013ering)
f(equiv)-5 b(alen)m(t)37 b(access)h(to)h(cop)m(y)f(the)f(source)h(co)s
(de)g(from)f(the)330 4095 y(same)29 b(place)f(coun)m(ts)g(as)h
(distribution)24 b(of)k(the)h(source)f(co)s(de,)h(ev)m(en)g(though)e
(third)g(parties)g(are)i(not)330 4204 y(comp)s(elled)g(to)i(cop)m(y)g
(the)g(source)f(along)h(with)e(the)h(ob)5 b(ject)31 b(co)s(de.)199
4334 y(4.)61 b(Y)-8 b(ou)35 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)37 b(mo)s(dify)-8 b(,)35 b(sublicense,)f(or)g(distribute)f(the)i
(Program)f(except)i(as)f(expressly)330 4443 y(pro)m(vided)k(under)g
(this)h(License.)70 b(An)m(y)41 b(attempt)h(otherwise)e(to)h(cop)m(y)-8
b(,)45 b(mo)s(dify)-8 b(,)42 b(sublicense)c(or)330 4553
y(distribute)24 b(the)j(Program)g(is)e(v)m(oid,)i(and)f(will)e
(automatically)j(terminate)f(y)m(our)h(righ)m(ts)f(under)f(this)330
4663 y(License.)70 b(Ho)m(w)m(ev)m(er,)45 b(parties)40
b(who)g(ha)m(v)m(e)h(receiv)m(ed)g(copies,)i(or)d(righ)m(ts,)j(from)d
(y)m(ou)g(under)f(this)330 4772 y(License)d(will)e(not)j(ha)m(v)m(e)h
(their)e(licenses)f(terminated)i(so)g(long)f(as)h(suc)m(h)f(parties)g
(remain)g(in)f(full)330 4882 y(compliance.)199 5011 y(5.)61
b(Y)-8 b(ou)38 b(are)g(not)g(required)d(to)j(accept)h(this)e(License,)i
(since)e(y)m(ou)g(ha)m(v)m(e)i(not)f(signed)e(it.)62
b(Ho)m(w)m(ev)m(er,)330 5121 y(nothing)23 b(else)g(gran)m(ts)i(y)m(ou)f
(p)s(ermission)c(to)25 b(mo)s(dify)d(or)h(distribute)f(the)i(Program)g
(or)f(its)g(deriv)-5 b(ativ)m(e)330 5230 y(w)m(orks.)38
b(These)23 b(actions)g(are)h(prohibited)c(b)m(y)j(la)m(w)g(if)f(y)m(ou)
h(do)g(not)h(accept)g(this)e(License.)38 b(Therefore,)330
5340 y(b)m(y)e(mo)s(difying)d(or)j(distributing)c(the)k(Program)g(\(or)
h(an)m(y)f(w)m(ork)g(based)g(on)f(the)i(Program\),)h(y)m(ou)p
eop
%%Page: 4 6
4 5 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(4)330 299 y(indicate)31 b(y)m(our)i(acceptance)h(of)f(this)e(License)
h(to)i(do)e(so,)h(and)f(all)f(its)h(terms)g(and)g(conditions)f(for)330
408 y(cop)m(ying,)g(distributing)26 b(or)31 b(mo)s(difying)c(the)k
(Program)f(or)h(w)m(orks)f(based)g(on)g(it.)199 545 y(6.)61
b(Eac)m(h)43 b(time)e(y)m(ou)h(redistribute)e(the)i(Program)g(\(or)g
(an)m(y)h(w)m(ork)f(based)f(on)h(the)g(Program\),)k(the)330
655 y(recipien)m(t)31 b(automatically)i(receiv)m(es)g(a)g(license)e
(from)h(the)g(original)f(licensor)g(to)i(cop)m(y)-8 b(,)34
b(distribute)330 765 y(or)i(mo)s(dify)f(the)h(Program)h(sub)5
b(ject)36 b(to)h(these)g(terms)f(and)g(conditions.)57
b(Y)-8 b(ou)37 b(ma)m(y)g(not)f(imp)s(ose)330 874 y(an)m(y)27
b(further)f(restrictions)f(on)i(the)g(recipien)m(ts')f(exercise)h(of)g
(the)g(righ)m(ts)f(gran)m(ted)h(herein.)38 b(Y)-8 b(ou)28
b(are)330 984 y(not)j(resp)s(onsible)c(for)j(enforcing)g(compliance)g
(b)m(y)g(third)e(parties)i(to)h(this)e(License.)199 1121
y(7.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g(judgmen)m(t)
f(or)h(allegation)f(of)h(paten)m(t)h(infringemen)m(t)c(or)j(for)g(an)m
(y)330 1230 y(other)h(reason)f(\(not)h(limited)d(to)j(paten)m(t)h
(issues\),)e(conditions)f(are)h(imp)s(osed)f(on)h(y)m(ou)h(\(whether)f
(b)m(y)330 1340 y(court)c(order,)h(agreemen)m(t)g(or)f(otherwise\))f
(that)h(con)m(tradict)h(the)e(conditions)f(of)i(this)f(License,)i(they)
330 1450 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)g(conditions)f
(of)h(this)f(License.)52 b(If)33 b(y)m(ou)i(cannot)g(distribute)c(so)k
(as)330 1559 y(to)f(satisfy)f(sim)m(ultaneously)f(y)m(our)h
(obligations)g(under)f(this)g(License)h(and)g(an)m(y)h(other)g(p)s
(ertinen)m(t)330 1669 y(obligations,)41 b(then)f(as)g(a)g(consequence)h
(y)m(ou)f(ma)m(y)g(not)g(distribute)e(the)i(Program)g(at)g(all.)68
b(F)-8 b(or)330 1778 y(example,)25 b(if)e(a)i(paten)m(t)g(license)e(w)m
(ould)g(not)h(p)s(ermit)f(ro)m(y)m(alt)m(y-free)j(redistribution)20
b(of)k(the)h(Program)330 1888 y(b)m(y)35 b(all)f(those)h(who)f(receiv)m
(e)i(copies)f(directly)e(or)i(indirectly)e(through)h(y)m(ou,)i(then)f
(the)g(only)f(w)m(a)m(y)330 1998 y(y)m(ou)27 b(could)e(satisfy)h(b)s
(oth)f(it)h(and)g(this)f(License)h(w)m(ould)f(b)s(e)h(to)h(refrain)d
(en)m(tirely)i(from)g(distribution)330 2107 y(of)31 b(the)f(Program.)
330 2244 y(If)43 b(an)m(y)g(p)s(ortion)f(of)h(this)g(section)g(is)f
(held)g(in)m(v)-5 b(alid)41 b(or)i(unenforceable)f(under)g(an)m(y)i
(particular)330 2354 y(circumstance,)i(the)e(balance)f(of)g(the)h
(section)f(is)f(in)m(tended)g(to)i(apply)e(and)g(the)i(section)f(as)h
(a)330 2463 y(whole)30 b(is)f(in)m(tended)g(to)i(apply)e(in)g(other)i
(circumstances.)330 2600 y(It)41 b(is)e(not)i(the)f(purp)s(ose)f(of)i
(this)e(section)i(to)g(induce)e(y)m(ou)i(to)g(infringe)d(an)m(y)j
(paten)m(ts)g(or)g(other)330 2710 y(prop)s(ert)m(y)e(righ)m(t)h(claims)
e(or)i(to)h(con)m(test)h(v)-5 b(alidit)m(y)38 b(of)i(an)m(y)g(suc)m(h)g
(claims;)j(this)c(section)h(has)g(the)330 2819 y(sole)30
b(purp)s(ose)e(of)j(protecting)f(the)g(in)m(tegrit)m(y)g(of)g(the)h
(free)f(soft)m(w)m(are)h(distribution)c(system,)j(whic)m(h)330
2929 y(is)k(implemen)m(ted)g(b)m(y)h(public)d(license)i(practices.)55
b(Man)m(y)36 b(p)s(eople)e(ha)m(v)m(e)i(made)f(generous)h(con)m(tri-)
330 3039 y(butions)e(to)i(the)f(wide)g(range)g(of)h(soft)m(w)m(are)h
(distributed)32 b(through)j(that)h(system)f(in)f(reliance)h(on)330
3148 y(consisten)m(t)h(application)e(of)h(that)h(system;)i(it)d(is)g
(up)f(to)i(the)g(author/donor)f(to)h(decide)f(if)g(he)g(or)330
3258 y(she)i(is)g(willing)d(to)k(distribute)d(soft)m(w)m(are)k(through)
e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)g(cannot)330
3367 y(imp)s(ose)29 b(that)i(c)m(hoice.)330 3504 y(This)25
b(section)j(is)e(in)m(tended)g(to)i(mak)m(e)g(thoroughly)e(clear)h
(what)g(is)f(b)s(eliev)m(ed)g(to)i(b)s(e)f(a)g(consequence)330
3614 y(of)k(the)f(rest)h(of)f(this)f(License.)199 3751
y(8.)61 b(If)35 b(the)g(distribution)c(and/or)k(use)g(of)g(the)g
(Program)g(is)f(restricted)h(in)f(certain)h(coun)m(tries)f(either)330
3861 y(b)m(y)h(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)h(in)m
(terfaces,)h(the)e(original)f(cop)m(yrigh)m(t)i(holder)e(who)h(places)g
(the)330 3970 y(Program)h(under)f(this)g(License)h(ma)m(y)h(add)e(an)i
(explicit)d(geographical)j(distribution)32 b(limitation)330
4080 y(excluding)27 b(those)i(coun)m(tries,)g(so)g(that)g(distribution)
c(is)i(p)s(ermitted)h(only)f(in)g(or)i(among)g(coun)m(tries)330
4189 y(not)k(th)m(us)f(excluded.)47 b(In)32 b(suc)m(h)g(case,)j(this)c
(License)i(incorp)s(orates)f(the)h(limitation)d(as)j(if)f(written)330
4299 y(in)d(the)i(b)s(o)s(dy)d(of)j(this)e(License.)199
4436 y(9.)61 b(The)26 b(F)-8 b(ree)28 b(Soft)m(w)m(are)g(F)-8
b(oundation)26 b(ma)m(y)i(publish)23 b(revised)i(and/or)i(new)f(v)m
(ersions)g(of)h(the)g(General)330 4545 y(Public)35 b(License)h(from)h
(time)g(to)g(time.)61 b(Suc)m(h)36 b(new)h(v)m(ersions)f(will)f(b)s(e)h
(similar)e(in)i(spirit)f(to)j(the)330 4655 y(presen)m(t)30
b(v)m(ersion,)h(but)e(ma)m(y)i(di\013er)e(in)g(detail)h(to)h(address)e
(new)h(problems)f(or)h(concerns.)330 4792 y(Eac)m(h)46
b(v)m(ersion)e(is)g(giv)m(en)h(a)g(distinguishing)40
b(v)m(ersion)45 b(n)m(um)m(b)s(er.)83 b(If)44 b(the)h(Program)g(sp)s
(eci\014es)f(a)330 4902 y(v)m(ersion)35 b(n)m(um)m(b)s(er)g(of)h(this)e
(License)i(whic)m(h)e(applies)g(to)j(it)e(and)g(\\an)m(y)i(later)e(v)m
(ersion",)j(y)m(ou)e(ha)m(v)m(e)330 5011 y(the)d(option)f(of)h(follo)m
(wing)e(the)i(terms)g(and)f(conditions)f(either)i(of)g(that)g(v)m
(ersion)f(or)h(of)g(an)m(y)g(later)330 5121 y(v)m(ersion)d(published)c
(b)m(y)k(the)g(F)-8 b(ree)31 b(Soft)m(w)m(are)g(F)-8
b(oundation.)41 b(If)29 b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)f
(a)330 5230 y(v)m(ersion)e(n)m(um)m(b)s(er)g(of)h(this)e(License,)i(y)m
(ou)g(ma)m(y)h(c)m(ho)s(ose)f(an)m(y)h(v)m(ersion)e(ev)m(er)h
(published)c(b)m(y)k(the)g(F)-8 b(ree)330 5340 y(Soft)m(w)m(are)31
b(F)-8 b(oundation.)p eop
%%Page: 5 7
5 6 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(5)154 299 y(10.)61 b(If)29 b(y)m(ou)g(wish)f(to)i(incorp)s(orate)f
(parts)g(of)g(the)g(Program)h(in)m(to)f(other)h(free)f(programs)g
(whose)g(distri-)330 408 y(bution)e(conditions)g(are)j(di\013eren)m(t,)
e(write)g(to)i(the)f(author)f(to)i(ask)e(for)h(p)s(ermission.)37
b(F)-8 b(or)29 b(soft)m(w)m(are)330 518 y(whic)m(h)23
b(is)g(cop)m(yrigh)m(ted)h(b)m(y)g(the)g(F)-8 b(ree)25
b(Soft)m(w)m(are)g(F)-8 b(oundation,)25 b(write)e(to)i(the)f(F)-8
b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oun-)330 628 y(dation;)28
b(w)m(e)g(sometimes)g(mak)m(e)g(exceptions)g(for)f(this.)39
b(Our)26 b(decision)g(will)f(b)s(e)h(guided)h(b)m(y)g(the)h(t)m(w)m(o)
330 737 y(goals)23 b(of)g(preserving)e(the)h(free)h(status)g(of)f(all)g
(deriv)-5 b(ativ)m(es)22 b(of)g(our)g(free)h(soft)m(w)m(are)h(and)e(of)
h(promoting)330 847 y(the)31 b(sharing)e(and)g(reuse)h(of)h(soft)m(w)m
(are)h(generally)-8 b(.)330 995 y Fr(NO)45 b(W)-15 b(ARRANTY)154
1187 y Fs(11.)61 b(BECA)m(USE)40 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g
(FREE)g(OF)h(CHAR)m(GE,)h(THERE)e(IS)g(NO)330 1297 y(W)-10
b(ARRANTY)26 b(F)m(OR)f(THE)g(PR)m(OGRAM,)h(TO)e(THE)h(EXTENT)f
(PERMITTED)h(BY)g(APPLI-)330 1406 y(CABLE)i(LA)-10 b(W.)27
b(EX)m(CEPT)g(WHEN)h(OTHER)-10 b(WISE)25 b(ST)-8 b(A)g(TED)28
b(IN)e(WRITING)i(THE)e(COPY-)330 1516 y(RIGHT)35 b(HOLDERS)g(AND/OR)h
(OTHER)f(P)-8 b(AR)g(TIES)35 b(PR)m(O)m(VIDE)h(THE)f(PR)m(OGRAM)h(\\AS)
330 1626 y(IS")22 b(WITHOUT)f(W)-10 b(ARRANTY)23 b(OF)f(ANY)g(KIND,)h
(EITHER)e(EXPRESSED)g(OR)h(IMPLIED,)330 1735 y(INCLUDING,)33
b(BUT)g(NOT)g(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32
b(OF)h(MER-)330 1845 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330
1954 y(RISK)19 b(AS)h(TO)g(THE)g(QUALITY)g(AND)h(PERF)m(ORMANCE)g(OF)f
(THE)g(PR)m(OGRAM)h(IS)f(WITH)330 2064 y(YOU.)h(SHOULD)g(THE)f(PR)m
(OGRAM)i(PR)m(O)m(VE)f(DEFECTIVE,)g(YOU)g(ASSUME)f(THE)g(COST)330
2174 y(OF)30 b(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10 b(VICING,)30
b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)154 2308 y(12.)61
b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10
b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330 2418 y(WRITING)37
b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h(OTHER)f(P)-8
b(AR)g(TY)38 b(WHO)330 2527 y(MA)-8 b(Y)52 b(MODIFY)g(AND/OR)g
(REDISTRIBUTE)e(THE)h(PR)m(OGRAM)h(AS)f(PERMITTED)330
2637 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m(OR)g(D)m(AMA)m(GES,)
h(INCLUDING)f(ANY)h(GENERAL,)330 2746 y(SPECIAL,)e(INCIDENT)-8
b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m(GES)j(ARISING)e(OUT)g(OF)330
2856 y(THE)44 b(USE)g(OR)g(INABILITY)h(TO)f(USE)g(THE)g(PR)m(OGRAM)h
(\(INCLUDING)h(BUT)e(NOT)330 2966 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m
(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m
(CCURA)-8 b(TE)29 b(OR)330 3075 y(LOSSES)38 b(SUST)-8
b(AINED)40 b(BY)h(YOU)f(OR)g(THIRD)g(P)-8 b(AR)g(TIES)40
b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330 3185 y(PR)m(OGRAM)f(TO)f
(OPERA)-8 b(TE)38 b(WITH)h(ANY)g(OTHER)f(PR)m(OGRAMS\),)h(EVEN)g(IF)f
(SUCH)330 3294 y(HOLDER)33 b(OR)h(OTHER)f(P)-8 b(AR)g(TY)34
b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)330
3404 y(SUCH)e(D)m(AMA)m(GES.)150 3661 y Fr(END)45 b(OF)g(TERMS)f(AND)h
(CONDITIONS)p eop
%%Page: 6 8
6 7 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(6)150 299 y Fr(Ho)l(w)46 b(to)f(Apply)f(These)h(T)-11
b(erms)45 b(to)g(Y)-11 b(our)44 b(New)i(Programs)275
503 y Fs(If)38 b(y)m(ou)i(dev)m(elop)f(a)g(new)g(program,)j(and)c(y)m
(ou)i(w)m(an)m(t)g(it)e(to)i(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)
36 b(use)j(to)150 612 y(the)i(public,)g(the)h(b)s(est)e(w)m(a)m(y)i(to)
g(ac)m(hiev)m(e)g(this)e(is)g(to)i(mak)m(e)g(it)f(free)g(soft)m(w)m
(are)h(whic)m(h)e(ev)m(ery)m(one)j(can)150 722 y(redistribute)28
b(and)i(c)m(hange)h(under)e(these)i(terms.)275 868 y(T)-8
b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)e(notices)h(to)i
(the)e(program.)40 b(It)30 b(is)f(safest)h(to)g(attac)m(h)h(them)f(to)g
(the)150 978 y(start)j(of)g(eac)m(h)h(source)e(\014le)g(to)h(most)g
(e\013ectiv)m(ely)h(con)m(v)m(ey)g(the)e(exclusion)g(of)g(w)m(arran)m
(t)m(y;)j(and)d(eac)m(h)i(\014le)150 1087 y(should)28
b(ha)m(v)m(e)k(at)f(least)g(the)f(\\cop)m(yrigh)m(t")i(line)d(and)g(a)i
(p)s(oin)m(ter)f(to)h(where)f(the)g(full)e(notice)j(is)e(found.)390
1227 y Fo(one)i(line)d(to)j(giv)m(e)g(the)g(program's)f(name)h(and)e
(an)i(idea)f(of)g(what)g(it)g(do)s(es.)390 1331 y Fn(Copyright)45
b(\(C\))i Fo(y)m(ear)103 b(name)30 b(of)h(author)390
1539 y Fn(This)47 b(program)e(is)j(free)e(software;)g(you)g(can)h
(redistribute)e(it)i(and/or)390 1642 y(modify)f(it)h(under)g(the)g
(terms)f(of)h(the)g(GNU)g(General)f(Public)g(License)390
1746 y(as)h(published)e(by)j(the)f(Free)f(Software)g(Foundation;)e
(either)j(version)e(2)390 1850 y(of)i(the)g(License,)f(or)h(\(at)g
(your)f(option\))g(any)h(later)f(version.)390 2057 y(This)h(program)e
(is)j(distributed)c(in)k(the)e(hope)h(that)g(it)g(will)g(be)g(useful,)
390 2161 y(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)g(the)h
(implied)f(warranty)g(of)390 2265 y(MERCHANTABILITY)e(or)j(FITNESS)f
(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)390
2369 y(GNU)g(General)f(Public)g(License)g(for)h(more)f(details.)390
2576 y(You)h(should)f(have)h(received)e(a)j(copy)e(of)h(the)g(GNU)g
(General)f(Public)g(License)390 2680 y(along)g(with)h(this)g(program;)e
(if)i(not,)g(write)f(to)i(the)e(Free)h(Software)390 2784
y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f(Boston,)g
(MA)h(02111-1307,)e(USA.)275 2930 y Fs(Also)30 b(add)f(information)g
(on)h(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)h(and)f
(pap)s(er)f(mail.)275 3076 y(If)f(the)g(program)h(is)e(in)m(teractiv)m
(e,)j(mak)m(e)g(it)e(output)g(a)h(short)f(notice)h(lik)m(e)f(this)f
(when)h(it)g(starts)h(in)e(an)150 3185 y(in)m(teractiv)m(e)k(mo)s(de:)
390 3325 y Fn(Gnomovision)45 b(version)h(69,)g(Copyright)g(\(C\))h
Fo(y)m(ear)103 b(name)30 b(of)g(author)390 3429 y Fn(Gnomovision)45
b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for)i(details)390
3533 y(type)g(`show)f(w'.)95 b(This)46 b(is)h(free)g(software,)e(and)i
(you)g(are)g(welcome)390 3637 y(to)g(redistribute)e(it)i(under)f
(certain)g(conditions;)f(type)h(`show)h(c')390 3740 y(for)g(details.)
275 3886 y Fs(The)27 b(h)m(yp)s(othetical)g(commands)h(`)p
Fn(show)h(w)p Fs(')f(and)f(`)p Fn(show)j(c)p Fs(')d(should)f(sho)m(w)i
(the)g(appropriate)f(parts)h(of)150 3996 y(the)38 b(General)g(Public)d
(License.)63 b(Of)37 b(course,)j(the)f(commands)e(y)m(ou)h(use)g(ma)m
(y)g(b)s(e)f(called)g(something)150 4106 y(other)25 b(than)f(`)p
Fn(show)29 b(w)p Fs(')c(and)f(`)p Fn(show)29 b(c)p Fs(';)e(they)d
(could)g(ev)m(en)h(b)s(e)f(mouse-clic)m(ks)g(or)h(men)m(u)f
(items|whatev)m(er)150 4215 y(suits)29 b(y)m(our)h(program.)275
4361 y(Y)-8 b(ou)28 b(should)e(also)i(get)h(y)m(our)f(emplo)m(y)m(er)g
(\(if)f(y)m(ou)h(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m(our)f(sc)m
(ho)s(ol,)i(if)e(an)m(y)-8 b(,)150 4471 y(to)34 b(sign)f(a)g(\\cop)m
(yrigh)m(t)i(disclaimer")c(for)j(the)f(program,)h(if)f(necessary)-8
b(.)51 b(Here)34 b(is)e(a)i(sample;)g(alter)g(the)150
4580 y(names:)390 4720 y Fn(Yoyodyne,)45 b(Inc.,)i(hereby)f(disclaims)f
(all)i(copyright)390 4824 y(interest)f(in)h(the)g(program)e
(`Gnomovision')390 4928 y(\(which)h(makes)g(passes)h(at)g(compilers\))e
(written)390 5032 y(by)i(James)g(Hacker.)390 5239 y Fo(signature)30
b(of)g(T)m(y)h(Co)s(on)p Fn(,)47 b(1)g(April)g(1989)390
5343 y(Ty)g(Coon,)g(President)e(of)i(Vice)p eop
%%Page: 7 9
7 8 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
b(7)275 299 y(This)19 b(General)h(Public)f(License)h(do)s(es)h(not)g(p)
s(ermit)e(incorp)s(orating)g(y)m(our)i(program)f(in)m(to)h(proprietary)
150 408 y(programs.)38 b(If)22 b(y)m(our)h(program)f(is)g(a)h
(subroutine)e(library)-8 b(,)23 b(y)m(ou)g(ma)m(y)g(consider)f(it)g
(more)h(useful)e(to)j(p)s(ermit)150 518 y(linking)33
b(proprietary)i(applications)g(with)g(the)h(library)-8
b(.)57 b(If)35 b(this)h(is)f(what)h(y)m(ou)h(w)m(an)m(t)g(to)g(do,)h
(use)e(the)150 628 y(GNU)31 b(Library)e(General)h(Public)e(License)i
(instead)f(of)i(this)e(License.)p eop
%%Page: 8 10
8 9 bop 150 -116 a Fs(Con)m(tributors)29 b(to)i(GNU)g
Fn(gperf)e Fs(Utilit)m(y)2137 b(8)150 299 y Fp(Con)l(tributors)51
b(to)i(GNU)h Fm(gperf)f Fp(Utilit)l(y)225 533 y Fq(\017)60
b Fs(The)27 b(GNU)i Fn(gperf)d Fs(p)s(erfect)i(hash)e(function)h
(generator)i(utilit)m(y)d(w)m(as)i(originally)d(written)i(in)f(GNU)330
643 y(C)p Fn(++)34 b Fs(b)m(y)g(Douglas)h(C.)g(Sc)m(hmidt.)52
b(It)34 b(is)g(no)m(w)h(also)f(a)m(v)-5 b(ailable)34
b(in)f(a)i(highly-p)s(ortable)d(\\old-st)m(yle")330 752
y(C)37 b(v)m(ersion.)60 b(The)37 b(general)g(idea)f(for)h(the)g(p)s
(erfect)g(hash)g(function)e(generator)k(w)m(as)e(inspired)d(b)m(y)330
862 y(Keith)42 b(Bostic's)h(algorithm)f(written)f(in)h(C,)g(and)g
(distributed)e(to)j(net.sources)g(around)f(1984.)330
971 y(The)37 b(curren)m(t)g(program)g(is)f(a)i(hea)m(vily)e(mo)s
(di\014ed,)h(enhanced,)i(and)e(extended)g(implemen)m(tation)330
1081 y(of)h(Keith's)f(basic)h(idea,)h(created)g(at)g(the)f(Univ)m
(ersit)m(y)g(of)g(California,)f(Irvine.)63 b(Bugs,)40
b(patc)m(hes,)330 1191 y(and)32 b(suggestions)h(should)e(b)s(e)i(rep)s
(orted)f(to)i(b)s(oth)e Fn(<bug-gnu-utils@gnu.org>)27
b Fs(and)32 b Fn(<gperf-)330 1300 y(bugs@lists.sourceforge.n)o(et>)p
Fs(.)225 1435 y Fq(\017)60 b Fs(Sp)s(ecial)31 b(thanks)i(is)f(extended)
h(to)h(Mic)m(hael)f(Tiemann)f(and)h(Doug)h(Lea,)g(for)f(pro)m(viding)e
(a)j(useful)330 1544 y(compiler,)29 b(and)h(for)g(giving)f(me)i(a)g
(forum)e(to)i(exhibit)e(m)m(y)h(creation.)330 1679 y(In)22
b(addition,)g(Adam)h(de)f(Bo)s(or)h(and)f(Nels)h(Olson)e(pro)m(vided)g
(man)m(y)i(tips)e(and)h(insigh)m(ts)f(that)i(greatly)330
1788 y(help)s(ed)28 b(impro)m(v)m(e)j(the)f(qualit)m(y)g(and)g
(functionalit)m(y)e(of)j Fn(gperf)p Fs(.)225 1923 y Fq(\017)60
b Fs(A)27 b(testsuite)h(w)m(as)f(added)g(b)m(y)g(Bruno)g(Haible.)38
b(He)28 b(also)f(rewrote)h(the)f(output)g(routines)f(for)h(b)s(etter)
330 2032 y(reliabilit)m(y)-8 b(.)p eop
%%Page: 9 11
9 10 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(In)m(tro)s(duction)2591
b(9)150 299 y Fp(1)80 b(In)l(tro)t(duction)275 533 y
Fn(gperf)31 b Fs(is)i(a)g(p)s(erfect)h(hash)e(function)g(generator)j
(written)d(in)g(C)p Fn(++)p Fs(.)49 b(It)33 b(transforms)g(an)g
Fo(n)f Fs(elemen)m(t)150 643 y(user-sp)s(eci\014ed)j(k)m(eyw)m(ord)j
(set)g Fo(W)49 b Fs(in)m(to)38 b(a)f(p)s(erfect)h(hash)e(function)g
Fo(F)p Fs(.)i Fo(F)44 b Fs(uniquely)35 b(maps)i(k)m(eyw)m(ords)150
752 y(in)k Fo(W)54 b Fs(on)m(to)43 b(the)f(range)h(0..)p
Fo(k)p Fs(,)j(where)c Fo(k)47 b Fn(>)p Fs(=)42 b Fo(n)p
Fs(.)75 b(If)42 b Fo(k)47 b Fs(=)42 b Fo(n)g Fs(then)f
Fo(F)49 b Fs(is)41 b(a)i Fl(minimal)53 b Fs(p)s(erfect)42
b(hash)150 862 y(function.)67 b Fn(gperf)39 b Fs(generates)i(a)f(0..)p
Fo(k)46 b Fs(elemen)m(t)40 b(static)g(lo)s(okup)f(table)g(and)g(a)i
(pair)d(of)i(C)f(functions.)150 971 y(These)34 b(functions)f(determine)
h(whether)f(a)i(giv)m(en)f(c)m(haracter)i(string)e Fo(s)k
Fs(o)s(ccurs)c(in)f Fo(W)p Fs(,)i(using)d(at)k(most)150
1081 y(one)31 b(prob)s(e)e(in)m(to)h(the)h(lo)s(okup)e(table.)275
1215 y Fn(gperf)22 b Fs(curren)m(tly)g(generates)k(the)d(reserv)m(ed)h
(k)m(eyw)m(ord)g(recognizer)h(for)e(lexical)g(analyzers)g(in)g(sev)m
(eral)150 1325 y(pro)s(duction)29 b(and)h(researc)m(h)h(compilers)e
(and)i(language)g(pro)s(cessing)e(to)s(ols,)i(including)c(GNU)32
b(C,)e(GNU)150 1435 y(C)p Fn(++)p Fs(,)49 b(GNU)d(P)m(ascal,)k(GNU)c
(Mo)s(dula)e(3,)50 b(and)45 b(GNU)h(inden)m(t.)85 b(Complete)45
b(C)p Fn(++)g Fs(source)g(co)s(de)h(for)150 1544 y Fn(gperf)25
b Fs(is)g(a)m(v)-5 b(ailable)26 b(via)g(anon)m(ymous)g(ftp)g(from)g
Fn(ftp://ftp.gnu.org/pub/gn)o(u/gp)o(erf/)o Fs(.)34 b(A)26
b(pap)s(er)150 1654 y(describing)33 b Fn(gperf)p Fs('s)i(design)f(and)h
(implemen)m(tation)f(in)h(greater)i(detail)d(is)h(a)m(v)-5
b(ailable)35 b(in)f(the)i(Second)150 1763 y(USENIX)30
b(C)p Fn(++)f Fs(Conference)i(pro)s(ceedings.)p eop
%%Page: 10 12
10 11 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Static)31
b(searc)m(h)g(structures)e(and)h(GNU)h Fn(gperf)1425
b Fs(10)150 299 y Fp(2)80 b(Static)54 b(searc)l(h)f(structures)e(and)j
(GNU)f Fm(gperf)275 533 y Fs(A)24 b Fo(static)h(searc)m(h)g(structure)k
Fs(is)24 b(an)g(Abstract)h(Data)i(T)m(yp)s(e)c(with)h(certain)g
(fundamen)m(tal)f(op)s(erations,)150 643 y(e.g.,)32 b
Fl(initialize)p Fs(,)g Fl(insert)p Fs(,)f(and)f Fl(r)-5
b(etrieve)p Fs(.)42 b(Conceptually)-8 b(,)30 b(all)g(insertions)f(o)s
(ccur)h(b)s(efore)h(an)m(y)g(retriev)-5 b(als.)150 752
y(In)37 b(practice,)k Fn(gperf)c Fs(generates)j(a)e Fn(static)f
Fs(arra)m(y)h(con)m(taining)g(searc)m(h)h(set)g(k)m(eyw)m(ords)f(and)g
(an)m(y)g(as-)150 862 y(so)s(ciated)33 b(attributes)g(sp)s(eci\014ed)e
(b)m(y)i(the)h(user.)48 b(Th)m(us,)33 b(there)g(is)f(essen)m(tially)h
(no)g(execution-time)g(cost)150 971 y(for)k(the)g(insertions.)58
b(It)37 b(is)f(a)h(useful)f(data)h(structure)g(for)f(represen)m(ting)g
Fl(static)k(se)-5 b(ar)g(ch)40 b(sets)p Fs(.)61 b(Static)150
1081 y(searc)m(h)33 b(sets)g(o)s(ccur)f(frequen)m(tly)g(in)f(soft)m(w)m
(are)j(system)f(applications.)45 b(T)m(ypical)32 b(static)h(searc)m(h)g
(sets)g(in-)150 1191 y(clude)27 b(compiler)g(reserv)m(ed)i(w)m(ords,)f
(assem)m(bler)g(instruction)e(op)s(co)s(des,)j(and)f(built-in)d(shell)i
(in)m(terpreter)150 1300 y(commands.)39 b(Searc)m(h)28
b(set)g(mem)m(b)s(ers,)f(called)g Fo(k)m(eyw)m(ords)p
Fs(,)h(are)g(inserted)e(in)m(to)h(the)h(structure)f(only)f(once,)150
1410 y(usually)i(during)g(program)i(initialization,)e(and)i(are)g(not)h
(generally)f(mo)s(di\014ed)e(at)j(run-time.)275 1544
y(Numerous)c(static)h(searc)m(h)h(structure)e(implemen)m(tations)f
(exist,)j(e.g.,)g(arra)m(ys,)g(link)m(ed)e(lists,)g(binary)150
1654 y(searc)m(h)45 b(trees,)j(digital)42 b(searc)m(h)j(tries,)i(and)c
(hash)g(tables.)82 b(Di\013eren)m(t)44 b(approac)m(hes)h(o\013er)f
(trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e(space)h(utilization)c(and)j
(searc)m(h)g(time)f(e\016ciency)-8 b(.)76 b(F)-8 b(or)42
b(example,)j(an)c Fo(n)h Fs(elemen)m(t)g(sorted)150 1873
y(arra)m(y)e(is)f(space)i(e\016cien)m(t,)h(though)e(the)g(a)m(v)m
(erage-case)k(time)39 b(complexit)m(y)h(for)g(retriev)-5
b(al)39 b(op)s(erations)150 1983 y(using)30 b(binary)f(searc)m(h)j(is)e
(prop)s(ortional)f(to)i(log)h Fo(n)p Fs(.)42 b(Con)m(v)m(ersely)-8
b(,)32 b(hash)e(table)h(implemen)m(tations)f(often)150
2092 y(lo)s(cate)c(a)g(table)f(en)m(try)h(in)e(constan)m(t)j(time,)f
(but)f(t)m(ypically)f(imp)s(ose)g(additional)g(memory)h(o)m(v)m(erhead)
i(and)150 2202 y(exhibit)i(p)s(o)s(or)g(w)m(orst)i(case)g(p)s
(erformance.)275 2336 y Fl(Minimal)26 b(p)-5 b(erfe)g(ct)28
b(hash)f(functions)32 b Fs(pro)m(vide)23 b(an)g(optimal)g(solution)f
(for)h(a)h(particular)e(class)i(of)f(static)150 2446
y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)c(p)s(erfect)j(hash)g
(function)f(is)h(de\014ned)f(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225
2580 y Fq(\017)60 b Fs(It)34 b(allo)m(ws)g(k)m(eyw)m(ord)h(recognition)
f(in)f(a)i(static)g(searc)m(h)g(set)g(using)e(at)i(most)g
Fl(one)41 b Fs(prob)s(e)33 b(in)m(to)i(the)330 2690 y(hash)30
b(table.)40 b(This)29 b(represen)m(ts)h(the)h(\\p)s(erfect")g(prop)s
(ert)m(y)-8 b(.)225 2824 y Fq(\017)60 b Fs(The)35 b(actual)i(memory)f
(allo)s(cated)g(to)g(store)h(the)f(k)m(eyw)m(ords)h(is)e(precisely)f
(large)i(enough)g(for)g(the)330 2934 y(k)m(eyw)m(ord)31
b(set,)g(and)f Fl(no)j(lar)-5 b(ger)p Fs(.)42 b(This)28
b(is)i(the)g(\\minimal")f(prop)s(ert)m(y)-8 b(.)275 3093
y(F)g(or)38 b(most)g(applications)e(it)h(is)g(far)g(easier)h(to)g
(generate)h Fl(p)-5 b(erfe)g(ct)47 b Fs(hash)37 b(functions)f(than)i
Fl(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fs(hash)36
b(functions.)59 b(Moreo)m(v)m(er,)41 b(non-minimal)34
b(p)s(erfect)j(hash)f(functions)f(frequen)m(tly)i(execute)150
3313 y(faster)44 b(than)g(minimal)d(ones)j(in)e(practice.)82
b(This)42 b(phenomena)h(o)s(ccurs)g(since)g(searc)m(hing)h(a)g(sparse)
150 3422 y(k)m(eyw)m(ord)34 b(table)f(increases)g(the)h(probabilit)m(y)
c(of)k(lo)s(cating)f(a)g(\\n)m(ull")g(en)m(try)-8 b(,)35
b(thereb)m(y)e(reducing)f(string)150 3532 y(comparisons.)55
b Fn(gperf)p Fs('s)34 b(default)g(b)s(eha)m(vior)g(generates)j
Fl(ne)-5 b(ar-minimal)47 b Fs(p)s(erfect)35 b(hash)f(functions)g(for)
150 3641 y(k)m(eyw)m(ord)40 b(sets.)68 b(Ho)m(w)m(ev)m(er,)44
b Fn(gperf)39 b Fs(pro)m(vides)f(man)m(y)i(options)e(that)i(p)s(ermit)e
(user)h(con)m(trol)h(o)m(v)m(er)h(the)150 3751 y(degree)31
b(of)g(minimalit)m(y)c(and)j(p)s(erfection.)275 3885
y(Static)36 b(searc)m(h)g(sets)g(often)g(exhibit)e(relativ)m(e)i
(stabilit)m(y)e(o)m(v)m(er)j(time.)57 b(F)-8 b(or)36
b(example,)h(Ada's)f(63)h(re-)150 3995 y(serv)m(ed)31
b(w)m(ords)f(ha)m(v)m(e)i(remained)d(constan)m(t)j(for)f(nearly)f(a)h
(decade.)42 b(It)31 b(is)f(therefore)h(frequen)m(tly)f(w)m(orth-)150
4105 y(while)20 b(to)j(exp)s(end)e(concerted)i(e\013ort)g(building)18
b(an)k(optimal)g(searc)m(h)g(structure)g Fl(onc)-5 b(e)p
Fs(,)25 b(if)c(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)g
(use)e(m)m(ultiple)f(times.)38 b Fn(gperf)22 b Fs(remo)m(v)m(es)i(the)f
(drudgery)f(asso)s(ciated)i(with)d(constructing)150 4324
y(time-)37 b(and)g(space-e\016cien)m(t)i(searc)m(h)e(structures)g(b)m
(y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)f(and)g
(practical)150 4433 y(to)s(ol)42 b(for)g(serious)f(programming)g(pro)5
b(jects.)76 b(Output)41 b(from)h Fn(gperf)e Fs(is)h(curren)m(tly)g
(used)h(in)f(sev)m(eral)150 4543 y(pro)s(duction)32 b(and)h(researc)m
(h)h(compilers,)f(including)d(GNU)k(C,)g(GNU)g(C)p Fn(++)p
Fs(,)g(GNU)g(P)m(ascal,)h(and)e(GNU)150 4653 y(Mo)s(dula)27
b(3.)40 b(The)28 b(latter)h(t)m(w)m(o)g(compilers)e(are)h(not)h(y)m(et)
g(part)f(of)g(the)h(o\016cial)e(GNU)i(distribution.)36
b(Eac)m(h)150 4762 y(compiler)h(utilizes)f Fn(gperf)h
Fs(to)i(automatically)g(generate)h(static)f(searc)m(h)g(structures)e
(that)i(e\016cien)m(tly)150 4872 y(iden)m(tify)29 b(their)g(resp)s
(ectiv)m(e)i(reserv)m(ed)f(k)m(eyw)m(ords.)p eop
%%Page: 11 13
11 12 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(11)150
299 y Fp(3)80 b(High-Lev)l(el)54 b(Description)f(of)h(GNU)g
Fm(gperf)275 604 y Fs(The)42 b(p)s(erfect)g(hash)g(function)f
(generator)j Fn(gperf)d Fs(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
(from)e(a)h Fo(k)m(ey\014le)150 714 y Fs(\(or)34 b(from)g(the)g
(standard)f(input)f(b)m(y)i(default\).)51 b(It)34 b(attempts)h(to)f
(deriv)m(e)g(a)g(p)s(erfect)g(hashing)e(function)150
824 y(that)37 b(recognizes)h(a)f(mem)m(b)s(er)f(of)h(the)g
Fo(static)g(k)m(eyw)m(ord)g(set)j Fs(with)35 b(at)j(most)f(a)g(single)e
(prob)s(e)h(in)m(to)h(the)150 933 y(lo)s(okup)25 b(table.)40
b(If)26 b Fn(gperf)f Fs(succeeds)i(in)f(generating)h(suc)m(h)f(a)h
(function)e(it)i(pro)s(duces)e(a)i(pair)f(of)g(C)h(source)150
1043 y(co)s(de)39 b(routines)f(that)i(p)s(erform)d(hashing)h(and)g
(table)h(lo)s(okup)e(recognition.)67 b(All)37 b(generated)j(C)f(co)s
(de)150 1152 y(is)e(directed)g(to)h(the)g(standard)f(output.)62
b(Command-line)36 b(options)h(describ)s(ed)e(b)s(elo)m(w)i(allo)m(w)g
(y)m(ou)h(to)150 1262 y(mo)s(dify)29 b(the)h(input)f(and)g(output)h
(format)h(to)g Fn(gperf)p Fs(.)275 1420 y(By)23 b(default,)h
Fn(gperf)e Fs(attempts)i(to)g(pro)s(duce)e(time-e\016cien)m(t)i(co)s
(de,)h(with)d(less)h(emphasis)e(on)i(e\016cien)m(t)150
1530 y(space)31 b(utilization.)39 b(Ho)m(w)m(ev)m(er,)33
b(sev)m(eral)d(options)g(exist)g(that)h(p)s(ermit)e(trading-o\013)h
(execution)h(time)f(for)150 1639 y(storage)j(space)f(and)g(vice)f(v)m
(ersa.)46 b(In)31 b(particular,)f(expanding)g(the)i(generated)h(table)f
(size)f(pro)s(duces)g(a)150 1749 y(sparse)26 b(searc)m(h)g(structure,)h
(generally)e(yielding)e(faster)k(searc)m(hes.)40 b(Con)m(v)m(ersely)-8
b(,)27 b(y)m(ou)g(can)f(direct)f Fn(gperf)150 1859 y
Fs(to)c(utilize)e(a)i(C)f Fn(switch)f Fs(statemen)m(t)k(sc)m(heme)e
(that)g(minimizes)d(data)j(space)g(storage)h(size.)38
b(F)-8 b(urthermore,)150 1968 y(using)39 b(a)h(C)g Fn(switch)e
Fs(ma)m(y)i(actually)g(sp)s(eed)f(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
b(al)39 b(time)h(somewhat.)70 b(Actual)150 2078 y(results)29
b(dep)s(end)g(on)h(y)m(our)g(C)g(compiler,)g(of)g(course.)275
2236 y(In)h(general,)i Fn(gperf)e Fs(assigns)h(v)-5 b(alues)32
b(to)h(the)g(c)m(haracters)g(it)f(is)g(using)f(for)h(hashing)f(un)m
(til)g(some)h(set)150 2346 y(of)42 b(v)-5 b(alues)42
b(giv)m(es)g(eac)m(h)i(k)m(eyw)m(ord)e(a)h(unique)d(v)-5
b(alue.)76 b(A)42 b(helpful)d(heuristic)i(is)g(that)i(the)f(larger)g
(the)150 2455 y(hash)36 b(v)-5 b(alue)36 b(range,)j(the)e(easier)g(it)f
(is)g(for)g Fn(gperf)f Fs(to)j(\014nd)d(and)h(generate)i(a)f(p)s
(erfect)g(hash)f(function.)150 2565 y(Exp)s(erimen)m(tation)29
b(is)g(the)i(k)m(ey)g(to)g(getting)g(the)g(most)g(from)e
Fn(gperf)p Fs(.)150 2882 y Fr(3.1)68 b(Input)44 b(F)-11
b(ormat)46 b(to)f Fk(gperf)275 3098 y Fs(Y)-8 b(ou)36
b(can)h(con)m(trol)f(the)h(input)d(k)m(ey\014le)i(format)h(b)m(y)f(v)-5
b(arying)35 b(certain)i(command-line)d(argumen)m(ts,)150
3208 y(in)c(particular)g(the)i(`)p Fn(-t)p Fs(')f(option.)44
b(The)31 b(input's)f(app)s(earance)i(is)f(similar)e(to)j(GNU)g
(utilities)d Fn(flex)i Fs(and)150 3317 y Fn(bison)e Fs(\(or)i(UNIX)f
(utilities)e Fn(lex)i Fs(and)f Fn(yacc)p Fs(\).)40 b(Here's)31
b(an)g(outline)e(of)h(the)h(general)f(format:)390 3470
y Fn(declarations)390 3573 y(\045\045)390 3677 y(keywords)390
3781 y(\045\045)390 3885 y(functions)275 4036 y Fl(Unlike)36
b Fn(flex)29 b Fs(or)h Fn(bison)p Fs(,)f(all)g(sections)h(of)g
Fn(gperf)p Fs('s)f(input)f(are)i(optional.)40 b(The)29
b(follo)m(wing)g(sections)150 4146 y(describ)s(e)g(the)h(input)f
(format)h(for)h(eac)m(h)g(section.)150 4417 y Fj(3.1.1)63
b Fi(struct)41 b Fj(Declarations)g(and)g(C)g(Co)s(de)g(Inclusion)275
4634 y Fs(The)20 b(k)m(eyw)m(ord)h(input)e(\014le)h(optionally)g(con)m
(tains)h(a)g(section)g(for)g(including)c(arbitrary)j(C)g(declarations)
150 4743 y(and)k(de\014nitions,)g(as)h(w)m(ell)e(as)i(pro)m(visions)e
(for)i(pro)m(viding)d(a)j(user-supplied)d Fn(struct)p
Fs(.)37 b(If)24 b(the)h(`)p Fn(-t)p Fs(')f(option)150
4853 y Fl(is)39 b Fs(enabled,)31 b(y)m(ou)g Fl(must)41
b Fs(pro)m(vide)30 b(a)i(C)f Fn(struct)e Fs(as)j(the)f(last)h(comp)s
(onen)m(t)f(in)f(the)i(declaration)f(section)150 4963
y(from)23 b(the)h(k)m(ey\014le)f(\014le.)37 b(The)23
b(\014rst)g(\014eld)f(in)g(this)g(struct)i(m)m(ust)f(b)s(e)g(a)h
Fn(char)29 b(*)23 b Fs(or)h Fn(const)k(char)i(*)23 b
Fs(iden)m(ti\014er)150 5072 y(called)d(`)p Fn(name)p
Fs(',)i(although)e(it)g(is)f(p)s(ossible)f(to)j(mo)s(dify)e(this)g
(\014eld's)g(name)i(with)e(the)i(`)p Fn(-K)p Fs(')f(option)g(describ)s
(ed)150 5182 y(b)s(elo)m(w.)275 5340 y(Here)30 b(is)g(a)h(simple)d
(example,)i(using)f(mon)m(ths)h(of)h(the)f(y)m(ear)i(and)d(their)h
(attributes)g(as)g(input:)p eop
%%Page: 12 14
12 13 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(12)390
299 y Fn(struct)46 b(months)g({)i(char)e(*name;)g(int)h(number;)f(int)h
(days;)f(int)h(leap_days;)e(};)390 403 y(\045\045)390
506 y(january,)141 b(1,)47 b(31,)g(31)390 610 y(february,)93
b(2,)47 b(28,)g(29)390 714 y(march,)237 b(3,)47 b(31,)g(31)390
818 y(april,)237 b(4,)47 b(30,)g(30)390 922 y(may,)333
b(5,)47 b(31,)g(31)390 1025 y(june,)285 b(6,)47 b(30,)g(30)390
1129 y(july,)285 b(7,)47 b(31,)g(31)390 1233 y(august,)189
b(8,)47 b(31,)g(31)390 1337 y(september,)e(9,)i(30,)g(30)390
1440 y(october,)93 b(10,)47 b(31,)g(31)390 1544 y(november,)e(11,)i
(30,)g(30)390 1648 y(december,)e(12,)i(31,)g(31)275 1782
y Fs(Separating)24 b(the)h Fn(struct)f Fs(declaration)g(from)h(the)g
(list)f(of)h(k)m(eyw)m(ords)h(and)e(other)h(\014elds)f(are)h(a)h(pair)e
(of)150 1892 y(consecutiv)m(e)32 b(p)s(ercen)m(t)g(signs,)e(`)p
Fn(\045\045)p Fs(',)i(app)s(earing)e(left)h(justi\014ed)e(in)h(the)i
(\014rst)e(column,)h(as)g(in)f(the)i(UNIX)150 2002 y(utilit)m(y)d
Fn(lex)p Fs(.)275 2143 y(Using)c(a)h(syn)m(tax)h(similar)c(to)k(GNU)f
(utilities)e Fn(flex)h Fs(and)g Fn(bison)p Fs(,)h(it)f(is)g(p)s
(ossible)f(to)i(directly)f(include)150 2253 y(C)k(source)h(text)g(and)f
(commen)m(ts)h(v)m(erbatim)f(in)m(to)h(the)f(generated)i(output)e
(\014le.)39 b(This)28 b(is)g(accomplished)150 2362 y(b)m(y)37
b(enclosing)f(the)i(region)f(inside)d(left-justi\014ed)i(surrounding)e
(`)p Fn(\045{)p Fs(',)39 b(`)p Fn(\045})p Fs(')e(pairs.)60
b(Here)38 b(is)e(an)h(input)150 2472 y(fragmen)m(t)31
b(based)f(on)g(the)h(previous)e(example)h(that)h(illustrates)d(this)i
(feature:)390 2608 y Fn(\045{)390 2711 y(#include)46
b(<assert.h>)390 2815 y(/*)h(This)g(section)f(of)h(code)f(is)i
(inserted)d(directly)h(into)g(the)h(output.)f(*/)390
2919 y(int)h(return_month_days)c(\(struct)j(months)g(*months,)f(int)i
(is_leap_year\);)390 3023 y(\045})390 3126 y(struct)f(months)g({)i
(char)e(*name;)g(int)h(number;)f(int)h(days;)f(int)h(leap_days;)e(};)
390 3230 y(\045\045)390 3334 y(january,)141 b(1,)47 b(31,)g(31)390
3438 y(february,)93 b(2,)47 b(28,)g(29)390 3542 y(march,)237
b(3,)47 b(31,)g(31)390 3645 y(...)275 3780 y Fs(It)40
b(is)g(p)s(ossible)e(to)j(omit)g(the)f(declaration)h(section)f(en)m
(tirely)-8 b(.)71 b(In)40 b(this)g(case)h(the)g(k)m(ey\014le)f(b)s
(egins)150 3889 y(directly)29 b(with)g(the)i(\014rst)e(k)m(eyw)m(ord)i
(line,)e(e.g.:)390 4025 y Fn(january,)141 b(1,)47 b(31,)g(31)390
4129 y(february,)93 b(2,)47 b(28,)g(29)390 4233 y(march,)237
b(3,)47 b(31,)g(31)390 4336 y(april,)237 b(4,)47 b(30,)g(30)390
4440 y(...)150 4670 y Fj(3.1.2)63 b(F)-10 b(ormat)40
b(for)h(Keyw)m(ord)f(En)m(tries)275 4870 y Fs(The)20
b(second)g(k)m(ey\014le)h(format)g(section)f(con)m(tains)h(lines)e(of)i
(k)m(eyw)m(ords)f(and)g(an)m(y)h(asso)s(ciated)g(attributes)150
4979 y(y)m(ou)34 b(migh)m(t)g(supply)-8 b(.)49 b(A)34
b(line)e(b)s(eginning)g(with)g(`)p Fn(#)p Fs(')i(in)f(the)h(\014rst)f
(column)g(is)g(considered)f(a)j(commen)m(t.)150 5089
y(Ev)m(erything)30 b(follo)m(wing)f(the)h(`)p Fn(#)p
Fs(')h(is)e(ignored,)h(up)f(to)i(and)f(including)d(the)j(follo)m(wing)f
(newline.)275 5230 y(The)i(\014rst)g(\014eld)f(of)i(eac)m(h)g
(non-commen)m(t)h(line)d(is)g(alw)m(a)m(ys)j(the)e(k)m(ey)i(itself.)43
b(It)32 b(can)g(b)s(e)f(giv)m(en)g(in)g(t)m(w)m(o)150
5340 y(w)m(a)m(ys:)54 b(as)37 b(a)g(simple)d(name,)k(i.e.,)h(without)c
(surrounding)f(string)h(quotation)i(marks,)h(or)e(as)h(a)g(string)p
eop
%%Page: 13 15
13 14 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(13)150
299 y(enclosed)40 b(in)f(double-quotes,)k(in)c(C)h(syn)m(tax,)j(p)s
(ossibly)38 b(with)h(bac)m(kslash)h(escap)s(es)g(lik)m(e)g
Fn(\\")g Fs(or)g Fn(\\234)150 408 y Fs(or)d Fn(\\xa8)p
Fs(.)60 b(In)37 b(either)f(case,)41 b(it)36 b(m)m(ust)h(start)h(righ)m
(t)f(at)h(the)f(b)s(eginning)e(of)i(the)g(line,)h(without)e(leading)150
518 y(whitespace.)57 b(In)35 b(this)g(con)m(text,)k(a)e(\\\014eld")e
(is)g(considered)g(to)h(extend)g(up)f(to,)j(but)d(not)h(include,)g(the)
150 628 y(\014rst)i(blank,)h(comma,)j(or)c(newline.)63
b(Here)39 b(is)e(a)i(simple)e(example)h(tak)m(en)h(from)f(a)h(partial)f
(list)f(of)h(C)150 737 y(reserv)m(ed)31 b(w)m(ords:)390
865 y Fn(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h
(the)g(c.gperf)f(file)390 969 y(#)h(for)g(a)h(complete)d(list)i(of)g
(ANSI)g(C)g(reserved)f(words.)390 1073 y(unsigned)390
1177 y(sizeof)390 1280 y(switch)390 1384 y(signed)390
1488 y(if)390 1592 y(default)390 1696 y(for)390 1799
y(while)390 1903 y(return)275 2030 y Fs(Note)38 b(that)f(unlik)m(e)e
Fn(flex)h Fs(or)h Fn(bison)e Fs(the)j(\014rst)e(`)p Fn(\045\045)p
Fs(')g(mark)m(er)i(ma)m(y)f(b)s(e)f(elided)f(if)h(the)h(declaration)150
2140 y(section)31 b(is)e(empt)m(y)-8 b(.)275 2274 y(Additional)26
b(\014elds)h(ma)m(y)i(optionally)e(follo)m(w)h(the)h(leading)e(k)m(eyw)
m(ord.)41 b(Fields)27 b(should)f(b)s(e)i(separated)150
2383 y(b)m(y)g(commas,)i(and)d(terminate)i(at)g(the)f(end)g(of)g(line.)
39 b(What)29 b(these)f(\014elds)f(mean)h(is)g(en)m(tirely)f(up)g(to)i
(y)m(ou;)150 2493 y(they)k(are)h(used)e(to)i(initialize)c(the)k(elemen)
m(ts)f(of)g(the)h(user-de\014ned)d Fn(struct)h Fs(pro)m(vided)f(b)m(y)i
(y)m(ou)h(in)e(the)150 2602 y(declaration)k(section.)59
b(If)36 b(the)g(`)p Fn(-t)p Fs(')g(option)g(is)f Fl(not)46
b Fs(enabled)35 b(these)i(\014elds)e(are)i(simply)d(ignored.)57
b(All)150 2712 y(previous)29 b(examples)h(except)h(the)g(last)f(one)h
(con)m(tain)f(k)m(eyw)m(ord)h(attributes.)150 2934 y
Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10 b(unctions)275
3127 y Fs(The)30 b(optional)g(third)f(section)i(also)g(corresp)s(onds)e
(closely)h(with)g(con)m(v)m(en)m(tions)i(found)d(in)h
Fn(flex)g Fs(and)150 3236 y Fn(bison)p Fs(.)36 b(All)21
b(text)i(in)e(this)f(section,)k(starting)e(at)h(the)f(\014nal)e(`)p
Fn(\045\045)p Fs(')i(and)f(extending)h(to)g(the)g(end)g(of)g(the)g
(input)150 3346 y(\014le,)30 b(is)g(included)f(v)m(erbatim)h(in)m(to)h
(the)g(generated)h(output)f(\014le.)41 b(Naturally)-8
b(,)31 b(it)f(is)g(y)m(our)h(resp)s(onsibilit)m(y)150
3455 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)f(in)g(this)f
(section)h(is)g(v)-5 b(alid)28 b(C.)150 3711 y Fr(3.2)68
b(Output)45 b(F)-11 b(ormat)45 b(for)g(Generated)h(C)f(Co)t(de)g(with)g
Fk(gperf)275 3903 y Fs(Sev)m(eral)27 b(options)g(con)m(trol)h(ho)m(w)f
(the)h(generated)h(C)e(co)s(de)h(app)s(ears)e(on)i(the)g(standard)e
(output.)40 b(Tw)m(o)150 4013 y(C)22 b(function)f(are)h(generated.)39
b(They)22 b(are)h(called)e Fn(hash)g Fs(and)h Fn(in_word_set)p
Fs(,)f(although)g(y)m(ou)i(ma)m(y)g(mo)s(dify)150 4122
y(their)31 b(names)h(with)f(a)h(command-line)f(option.)45
b(Both)33 b(functions)e(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)g
(string,)150 4232 y Fn(char)c(*)43 b Fo(str)p Fs(,)j(and)d(a)g(length)g
(parameter,)k Fn(int)42 b Fo(len)p Fs(.)78 b(Their)42
b(default)g(function)g(protot)m(yp)s(es)h(are)h(as)150
4341 y(follo)m(ws:)3525 4573 y(F)-8 b(unction)-3725 b
Fh(unsigned)41 b(int)e Fg(hash)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
Ff(\))390 4682 y Fs(By)35 b(default,)g(the)f(generated)i
Fn(hash)d Fs(function)g(returns)g(an)i(in)m(teger)g(v)-5
b(alue)33 b(created)j(b)m(y)e(adding)390 4792 y Fo(len)c
Fs(to)h(sev)m(eral)g(user-sp)s(eci\014ed)e Fo(str)37
b Fs(k)m(ey)31 b(p)s(ositions)e(indexed)g(in)m(to)i(an)f
Fo(asso)s(ciated)h(v)-5 b(alues)34 b Fs(table)390 4902
y(stored)j(in)f(a)i(lo)s(cal)f(static)h(arra)m(y)-8 b(.)62
b(The)37 b(asso)s(ciated)h(v)-5 b(alues)37 b(table)g(is)f(constructed)i
(in)m(ternally)390 5011 y(b)m(y)30 b Fn(gperf)e Fs(and)h(later)h
(output)g(as)g(a)g(static)g(lo)s(cal)g(C)f(arra)m(y)h(called)f(`)p
Fn(hash_table)p Fs(';)f(its)i(meaning)390 5121 y(and)j(prop)s(erties)e
(are)j(describ)s(ed)d(b)s(elo)m(w)i(\(see)h(Chapter)f(7)h([Implemen)m
(tation],)g(page)g(23\).)50 b(The)390 5230 y(relev)-5
b(an)m(t)22 b(k)m(ey)h(p)s(ositions)d(are)i(sp)s(eci\014ed)e(via)i(the)
g(`)p Fn(-k)p Fs(')g(option)f(when)g(running)e Fn(gperf)p
Fs(,)k(as)f(detailed)390 5340 y(in)29 b(the)i Fl(Options)38
b Fs(section)31 b(b)s(elo)m(w\(see)g(Chapter)e(4)i([Options],)f(page)h
(15\).)p eop
%%Page: 14 16
14 15 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(14)3525
299 y(F)-8 b(unction)-3725 b Fg(in)p 253 299 35 5 v 41
w(w)m(ord)p 542 299 V 41 w(set)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
Ff(\))390 408 y Fs(If)43 b Fo(str)49 b Fs(is)42 b(in)g(the)h(k)m(eyw)m
(ord)g(set,)k(returns)42 b(a)h(p)s(oin)m(ter)f(to)i(that)g(k)m(eyw)m
(ord.)79 b(More)43 b(exactly)-8 b(,)48 b(if)390 518 y(the)34
b(option)f(`)p Fn(-t)p Fs(')h(w)m(as)g(giv)m(en,)g(it)g(returns)e(a)i
(p)s(oin)m(ter)f(to)h(the)g(matc)m(hing)g(k)m(eyw)m(ord's)g(structure.)
390 628 y(Otherwise)29 b(it)h(returns)f Fn(NULL)p Fs(.)275
812 y(If)c(the)i(option)f(`)p Fn(-c)p Fs(')g(is)f(not)i(used,)f
Fo(str)33 b Fs(m)m(ust)26 b(b)s(e)g(a)h(NUL)f(terminated)g(string)f(of)
i(exactly)g(length)f Fo(len)p Fs(.)150 922 y(If)k(`)p
Fn(-c)p Fs(')g(is)f(used,)g Fo(str)37 b Fs(m)m(ust)30
b(simply)d(b)s(e)j(an)g(arra)m(y)g(of)g Fo(len)g Fs(c)m(haracters)h
(and)f(do)s(es)f(not)i(need)f(to)g(b)s(e)g(NUL)150 1031
y(terminated.)275 1166 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m
(w)m(o)i(functions)d(is)g(a\013ected)j(b)m(y)f(the)f(follo)m(wing)f
(options:)150 1325 y(`)p Fn(-t)p Fs(')150 1435 y(`)p
Fn(--struct-type)p Fs(')630 1544 y(Mak)m(e)j(use)e(of)h(the)f
(user-de\014ned)f Fn(struct)p Fs(.)150 1704 y(`)p Fn(-S)h
Fo(total-switc)m(h-statemen)m(ts)t Fs(')150 1813 y(`)p
Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t Fs(')630
1923 y(Generate)22 b(1)f(or)g(more)g(C)f Fn(switch)f
Fs(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)i(\(and)d(p)s(oten)m
(tially)630 2032 y(sparse\))j(static)g(arra)m(y)-8 b(.)40
b(Although)22 b(the)h(exact)h(time)f(and)f(space)i(sa)m(vings)f(of)g
(this)f(approac)m(h)630 2142 y(v)-5 b(ary)32 b(according)f(to)i(y)m
(our)e(C)g(compiler's)g(degree)h(of)g(optimization,)f(this)f(metho)s(d)
i(often)630 2252 y(results)d(in)g(smaller)g(and)h(faster)h(co)s(de.)275
2411 y(If)d(the)i(`)p Fn(-t)p Fs(')f(and)f(`)p Fn(-S)p
Fs(')h(options)g(are)g(omitted,)h(the)f(default)g(action)g(is)f(to)i
(generate)h(a)e Fn(char)h(*)e Fs(arra)m(y)150 2521 y(con)m(taining)35
b(the)h(k)m(eys,)h(together)g(with)d(additional)g(n)m(ull)f(strings)i
(used)f(for)h(padding)f(the)i(arra)m(y)-8 b(.)57 b(By)150
2630 y(exp)s(erimen)m(ting)27 b(with)g(the)h(v)-5 b(arious)28
b(input)e(and)i(output)g(options,)g(and)g(timing)f(the)h(resulting)f(C)
g(co)s(de,)150 2740 y(y)m(ou)k(can)f(determine)g(the)g(b)s(est)g
(option)g(c)m(hoices)h(for)f(di\013eren)m(t)g(k)m(eyw)m(ord)h(set)g(c)m
(haracteristics.)150 2997 y Fr(3.3)68 b(Use)46 b(of)f(NUL)g(c)l
(haracters)275 3190 y Fs(By)30 b(default,)g(the)g(co)s(de)g(generated)i
(b)m(y)e Fn(gperf)e Fs(op)s(erates)j(on)f(zero)h(terminated)f(strings,)
f(the)h(usual)150 3299 y(represen)m(tation)40 b(of)f(strings)g(in)f(C.)
i(This)d(means)j(that)g(the)g(k)m(eyw)m(ords)g(in)e(the)i(input)e
(\014le)g(m)m(ust)i(not)150 3409 y(con)m(tain)f(NUL)f(c)m(haracters,)43
b(and)37 b(the)i Fo(str)45 b Fs(argumen)m(t)39 b(passed)f(to)h
Fn(hash)e Fs(or)i Fn(in_word_set)c Fs(m)m(ust)k(b)s(e)150
3518 y(NUL)30 b(terminated)g(and)g(ha)m(v)m(e)i(exactly)f(length)f
Fo(len)p Fs(.)275 3653 y(If)f(option)g(`)p Fn(-c)p Fs(')h(is)f(used,)h
(then)f(the)h Fo(str)37 b Fs(argumen)m(t)30 b(do)s(es)g(not)g(need)f
(to)i(b)s(e)e(NUL)h(terminated.)40 b(The)150 3763 y(co)s(de)i
(generated)h(b)m(y)f Fn(gperf)e Fs(will)f(only)i(access)j(the)e
(\014rst)f Fo(len)p Fs(,)j(not)e Fo(len)p Fn(+)p Fo(1)p
Fs(,)i(b)m(ytes)f(starting)e(at)i Fo(str)p Fs(.)150 3872
y(Ho)m(w)m(ev)m(er,)33 b(the)d(k)m(eyw)m(ords)h(in)e(the)i(input)d
(\014le)h(still)g(m)m(ust)h(not)h(con)m(tain)f(NUL)h(c)m(haracters.)275
4007 y(If)26 b(option)h(`)p Fn(-l)p Fs(')g(is)f(used,)i(then)f(the)g
(hash)g(table)g(p)s(erforms)f(binary)f(comparison.)39
b(The)27 b(k)m(eyw)m(ords)g(in)150 4116 y(the)33 b(input)f(\014le)g(ma)
m(y)i(con)m(tain)f(NUL)h(c)m(haracters,)h(written)e(in)f(string)g(syn)m
(tax)i(as)f Fn(\\000)f Fs(or)h Fn(\\x00)p Fs(,)h(and)150
4226 y(the)28 b(co)s(de)h(generated)g(b)m(y)f Fn(gperf)e
Fs(will)g(treat)j(NUL)f(lik)m(e)g(an)m(y)g(other)h(c)m(haracter.)41
b(Also,)29 b(in)e(this)g(case)i(the)150 4335 y(`)p Fn(-c)p
Fs(')h(option)g(is)g(ignored.)p eop
%%Page: 15 17
15 16 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(15)150 299 y Fp(4)80 b(In)l(v)l(oking)53
b Fm(gperf)275 522 y Fs(There)30 b(are)i Fl(many)40 b
Fs(options)31 b(to)h Fn(gperf)p Fs(.)41 b(They)31 b(w)m(ere)h(added)e
(to)i(mak)m(e)g(the)g(program)f(more)g(con)m(v)m(e-)150
632 y(nien)m(t)g(for)f(use)h(with)f(real)h(applications.)41
b(\\On-line")30 b(help)g(is)g(readily)g(a)m(v)-5 b(ailable)30
b(via)h(the)g(`)p Fn(-h)p Fs(')g(option.)150 742 y(Here)g(is)e(the)i
(complete)g(list)e(of)h(options.)150 993 y Fr(4.1)68
b(Options)45 b(that)h(a\013ect)g(In)l(terpretation)h(of)e(the)g(Input)g
(File)150 1206 y Fs(`)p Fn(-e)30 b Fo(k)m(eyw)m(ord-delimiter-list)r
Fs(')150 1315 y(`)p Fn(--delimiters=)p Fo(k)m(eyw)m(ord-delimiter-list)
r Fs(')630 1425 y(Allo)m(ws)g(the)h(user)f(to)h(pro)m(vide)f(a)h
(string)f(con)m(taining)g(delimiters)f(used)h(to)h(separate)h(k)m(ey-)
630 1535 y(w)m(ords)k(from)h(their)f(attributes.)60 b(The)37
b(default)f(is)g Fn(")p Fs(,)p Fn(\\)p Fs(n)p Fn(")p
Fs(.)60 b(This)35 b(option)h(is)g(essen)m(tial)h(if)630
1644 y(y)m(ou)26 b(w)m(an)m(t)g(to)h(use)e(k)m(eyw)m(ords)h(that)g(ha)m
(v)m(e)h(em)m(b)s(edded)d(commas)i(or)g(newlines.)37
b(One)25 b(useful)630 1754 y(tric)m(k)30 b(is)g(to)h(use)f(-e'T)-8
b(AB',)32 b(where)e(T)-8 b(AB)31 b(is)f(the)g(literal)f(tab)i(c)m
(haracter.)150 1909 y(`)p Fn(-t)p Fs(')150 2019 y(`)p
Fn(--struct-type)p Fs(')630 2128 y(Allo)m(ws)f(y)m(ou)i(to)g(include)d
(a)i Fn(struct)f Fs(t)m(yp)s(e)h(declaration)g(for)g(generated)h(co)s
(de.)44 b(An)m(y)31 b(text)630 2238 y(b)s(efore)43 b(a)i(pair)d(of)i
(consecutiv)m(e)h(`)p Fn(\045\045)p Fs(')e(is)g(considered)g(part)g(of)
h(the)g(t)m(yp)s(e)g(declaration.)630 2347 y(Keyw)m(ords)39
b(and)g(additional)e(\014elds)h(ma)m(y)j(follo)m(w)d(this,)j(one)f
(group)f(of)h(\014elds)e(p)s(er)g(line.)630 2457 y(A)31
b(set)g(of)g(examples)f(for)g(generating)h(p)s(erfect)f(hash)g(tables)h
(and)f(functions)f(for)h(Ada,)h(C,)630 2566 y(C)p Fn(++)p
Fs(,)24 b(P)m(ascal,)i(Mo)s(dula)c(2,)k(Mo)s(dula)c(3)i(and)f(Ja)m(v)-5
b(aScript)23 b(reserv)m(ed)g(w)m(ords)g(are)h(distributed)630
2676 y(with)29 b(this)g(release.)150 2927 y Fr(4.2)68
b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for)f(the)g(Output)f
(Co)t(de)150 3140 y Fs(`)p Fn(-L)30 b Fo(generated-language-name)5
b Fs(')150 3250 y(`)p Fn(--language=)p Fo(generated-language-name)g
Fs(')630 3359 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f
(in)e(the)i(language)g(sp)s(eci\014ed)d(b)m(y)j(the)g(option's)f(ar-)
630 3469 y(gumen)m(t.)41 b(Languages)31 b(handled)e(are)i(curren)m
(tly:)630 3624 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)25
b(K&R)h(C.)g(This)e(language)j(is)f(understo)s(o)s(d)e(b)m(y)i(old-st)m
(yle)g(C)g(com-)1110 3734 y(pilers)c(and)i(ANSI)f(C)h(compilers,)g(but)
g(ANSI)f(C)h(compilers)f(ma)m(y)h(\015ag)h(w)m(arn-)1110
3843 y(ings)k(\(or)i(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)
g(`)p Fn(const)p Fs('.)630 3999 y(`)p Fn(C)p Fs(')382
b(Common)23 b(C.)f(This)g(language)h(is)f(understo)s(o)s(d)f(b)m(y)i
(ANSI)g(C)f(compilers,)i(and)1110 4108 y(also)29 b(b)m(y)f(old-st)m
(yle)g(C)h(compilers,)e(pro)m(vided)g(that)j(y)m(ou)f
Fn(#define)f(const)f Fs(to)1110 4218 y(empt)m(y)k(for)f(compilers)f
(whic)m(h)g(don't)h(kno)m(w)h(ab)s(out)f(this)f(k)m(eyw)m(ord.)630
4373 y(`)p Fn(ANSI-C)p Fs(')142 b(ANSI)39 b(C.)h(This)d(language)j(is)f
(understo)s(o)s(d)f(b)m(y)h(ANSI)g(C)h(compilers)e(and)1110
4482 y(C)p Fn(++)29 b Fs(compilers.)630 4638 y(`)p Fn(C++)p
Fs(')286 b(C)p Fn(++)p Fs(.)40 b(This)28 b(language)j(is)f(understo)s
(o)s(d)e(b)m(y)i(C)p Fn(++)g Fs(compilers.)630 4793 y(The)g(default)f
(is)h(C.)150 4948 y(`)p Fn(-a)p Fs(')334 b(This)32 b(option)h(is)f
(supp)s(orted)g(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i
(of)g Fn(gperf)p Fs(.)49 b(It)630 5058 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 5213 y(`)p Fn(-g)p Fs(')334 b(This)32 b(option)h(is)f
(supp)s(orted)g(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i
(of)g Fn(gperf)p Fs(.)49 b(It)630 5322 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)p eop
%%Page: 16 18
16 17 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(16)150 299 y Fr(4.3)68 b(Options)45
b(for)g(\014ne)g(tuning)g(Details)i(in)e(the)g(Output)f(Co)t(de)150
588 y Fs(`)p Fn(-K)30 b Fo(k)m(ey-name)5 b Fs(')150 698
y(`)p Fn(--slot-name=)p Fo(k)m(ey-name)g Fs(')630 808
y(This)37 b(option)i(is)f(only)g(useful)f(when)h(option)h(`)p
Fn(-t)p Fs(')g(has)g(b)s(een)f(giv)m(en.)67 b(By)39 b(default,)i(the)
630 917 y(program)30 b(assumes)g(the)h(structure)f(comp)s(onen)m(t)h
(iden)m(ti\014er)d(for)i(the)h(k)m(eyw)m(ord)g(is)e(`)p
Fn(name)p Fs('.)630 1027 y(This)23 b(option)g(allo)m(ws)h(an)g
(arbitrary)g(c)m(hoice)h(of)f(iden)m(ti\014er)f(for)h(this)f(comp)s
(onen)m(t,)k(although)630 1136 y(it)j(still)e(m)m(ust)i(o)s(ccur)h(as)f
(the)h(\014rst)e(\014eld)g(in)g(y)m(our)i(supplied)c
Fn(struct)p Fs(.)150 1344 y(`)p Fn(-F)j Fo(initializers)t
Fs(')150 1453 y(`)p Fn(--initializer-suffix=)p Fo(in)o(iti)o(ali)o
(zers)t Fs(')630 1563 y(This)23 b(option)g(is)h(only)f(useful)g(when)g
(option)h(`)p Fn(-t)p Fs(')h(has)f(b)s(een)f(giv)m(en.)39
b(It)25 b(p)s(ermits)d(to)j(sp)s(ecify)630 1673 y(initializers)k(for)j
(the)h(structure)e(mem)m(b)s(ers)h(follo)m(wing)e Fo(k)m(ey)k(name)j
Fs(in)31 b(empt)m(y)i(hash)e(table)630 1782 y(en)m(tries.)73
b(The)40 b(list)g(of)h(initializers)d(should)h(start)j(with)d(a)j
(comma.)73 b(By)42 b(default,)h(the)630 1892 y(emitted)30
b(co)s(de)h(will)d(zero-initialize)h(structure)g(mem)m(b)s(ers)h(follo)
m(wing)f Fo(k)m(ey)i(name)p Fs(.)150 2099 y(`)p Fn(-H)f
Fo(hash-function-name)5 b Fs(')150 2209 y(`)p Fn(--hash-fn-name=)p
Fo(hash-function-name)g Fs(')630 2318 y(Allo)m(ws)29
b(y)m(ou)h(to)g(sp)s(ecify)f(the)h(name)g(for)f(the)h(generated)h(hash)
e(function.)39 b(Default)30 b(name)630 2428 y(is)f(`)p
Fn(hash)p Fs('.)40 b(This)29 b(option)h(p)s(ermits)e(the)j(use)f(of)h
(t)m(w)m(o)g(hash)f(tables)g(in)f(the)i(same)g(\014le.)150
2635 y(`)p Fn(-N)f Fo(lo)s(okup-function-name)5 b Fs(')150
2745 y(`)p Fn(--lookup-fn-name=)p Fo(lo)s(okup-fun)o(ction-name)g
Fs(')630 2855 y(Allo)m(ws)41 b(y)m(ou)h(to)h(sp)s(ecify)d(the)j(name)f
(for)f(the)h(generated)h(lo)s(okup)e(function.)74 b(Default)630
2964 y(name)33 b(is)e(`)p Fn(in_word_set)p Fs('.)45 b(This)31
b(option)h(p)s(ermits)f(completely)h(automatic)i(generation)630
3074 y(of)24 b(p)s(erfect)h(hash)e(functions,)h(esp)s(ecially)f(when)g
(m)m(ultiple)f(generated)j(hash)f(functions)f(are)630
3183 y(used)30 b(in)f(the)h(same)h(application.)150 3391
y(`)p Fn(-Z)f Fo(class-name)5 b Fs(')150 3500 y(`)p Fn(--class-name=)p
Fo(class-name)g Fs(')630 3610 y(This)32 b(option)h(is)f(only)h(useful)f
(when)h(option)g(`)p Fn(-L)d(C++)p Fs(')i(has)i(b)s(een)f(giv)m(en.)50
b(It)34 b(allo)m(ws)f(y)m(ou)630 3720 y(to)e(sp)s(ecify)e(the)i(name)f
(of)h(generated)g(C)p Fn(++)e Fs(class.)41 b(Default)30
b(name)h(is)e Fn(Perfect_Hash)p Fs(.)150 3927 y(`)p Fn(-7)p
Fs(')150 4037 y(`)p Fn(--seven-bit)p Fs(')630 4146 y(This)35
b(option)i(sp)s(eci\014es)f(that)h(all)f(strings)g(that)i(will)c(b)s(e)
j(passed)f(as)i(argumen)m(ts)f(to)h(the)630 4256 y(generated)e(hash)e
(function)f(and)i(the)g(generated)g(lo)s(okup)f(function)f(will)f
(solely)i(consist)630 4365 y(of)26 b(7-bit)f(ASCI)s(I)f(c)m(haracters)i
(\(c)m(haracters)i(in)c(the)h(range)h(0..127\).)42 b(\(Note)27
b(that)f(the)f(ANSI)630 4475 y(C)30 b(functions)f Fn(isalnum)g
Fs(and)h Fn(isgraph)e Fs(do)j Fl(not)40 b Fs(guaran)m(tee)32
b(that)f(a)g(c)m(haracter)h(is)e(in)f(this)630 4585 y(range.)44
b(Only)30 b(an)h(explicit)f(test)i(lik)m(e)e(`)p Fn(c)h(>=)e('A')h(&&)g
(c)g(<=)f('Z')p Fs(')i(guaran)m(tees)i(this.\))43 b(This)630
4694 y(w)m(as)g(the)f(default)g(in)f(v)m(ersions)h(of)g
Fn(gperf)f Fs(earlier)g(than)i(2.7;)49 b(no)m(w)43 b(the)f(default)g
(is)f(to)630 4804 y(assume)30 b(8-bit)g(c)m(haracters.)150
5011 y(`)p Fn(-c)p Fs(')150 5121 y(`)p Fn(--compare-strncmp)p
Fs(')630 5230 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i
Fn(strncmp)d Fs(function)g(to)j(p)s(erform)e(string)g(comparisons.)630
5340 y(The)30 b(default)f(action)i(is)f(to)h(use)f Fn(strcmp)p
Fs(.)p eop
%%Page: 17 19
17 18 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(17)150 299 y(`)p Fn(-C)p Fs(')150
408 y(`)p Fn(--readonly-tables)p Fs(')630 518 y(Mak)m(es)41
b(the)f(con)m(ten)m(ts)h(of)f(all)f(generated)h(lo)s(okup)e(tables)i
(constan)m(t,)j(i.e.,)g(\\readonly".)630 628 y(Man)m(y)31
b(compilers)e(can)i(generate)h(more)e(e\016cien)m(t)h(co)s(de)g(for)f
(this)g(b)m(y)g(putting)f(the)i(tables)630 737 y(in)e(readonly)h
(memory)-8 b(.)150 916 y(`)p Fn(-E)p Fs(')150 1026 y(`)p
Fn(--enum)p Fs(')142 b(De\014ne)31 b(constan)m(t)g(v)-5
b(alues)30 b(using)f(an)h(en)m(um)g(lo)s(cal)g(to)h(the)g(lo)s(okup)e
(function)g(rather)h(than)630 1135 y(with)36 b(#de\014nes.)60
b(This)35 b(also)i(means)h(that)f(di\013eren)m(t)g(lo)s(okup)f
(functions)g(can)h(reside)f(in)630 1245 y(the)31 b(same)f(\014le.)40
b(Thanks)29 b(to)j(James)e(Clark)f Fn(<jjc@ai.mit.edu>)p
Fs(.)150 1424 y(`)p Fn(-I)p Fs(')150 1534 y(`)p Fn(--includes)p
Fs(')630 1643 y(Include)g(the)i(necessary)h(system)f(include)e(\014le,)
h Fn(<string.h>)p Fs(,)f(at)i(the)g(b)s(eginning)e(of)i(the)630
1753 y(co)s(de.)39 b(By)27 b(default,)f(this)f(is)g(not)h(done;)i(the)e
(user)f(m)m(ust)h(include)e(this)g(header)i(\014le)f(himself)630
1862 y(to)31 b(allo)m(w)f(compilation)f(of)h(the)h(co)s(de.)150
2041 y(`)p Fn(-G)p Fs(')150 2151 y(`)p Fn(--global)p
Fs(')630 2260 y(Generate)38 b(the)f(static)g(table)f(of)h(k)m(eyw)m
(ords)g(as)g(a)g(static)g(global)f(v)-5 b(ariable,)37
b(rather)f(than)630 2370 y(hiding)28 b(it)i(inside)e(of)i(the)h(lo)s
(okup)e(function)g(\(whic)m(h)g(is)h(the)g(default)g(b)s(eha)m(vior\).)
150 2549 y(`)p Fn(-W)g Fo(hash-table-arra)m(y-name)5
b Fs(')150 2659 y(`)p Fn(--word-array-name=)p Fo(hash-table-arra)m
(y-name)g Fs(')630 2768 y(Allo)m(ws)39 b(y)m(ou)h(to)h(sp)s(ecify)e
(the)h(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)g(the)g
(hash)630 2878 y(table.)61 b(Default)37 b(name)g(is)f(`)p
Fn(wordlist)p Fs('.)60 b(This)35 b(option)i(p)s(ermits)e(the)i(use)g
(of)g(t)m(w)m(o)i(hash)630 2987 y(tables)30 b(in)f(the)i(same)g
(\014le,)e(ev)m(en)i(when)f(the)g(option)g(`)p Fn(-G)p
Fs(')g(is)g(giv)m(en.)150 3166 y(`)p Fn(-S)g Fo(total-switc)m
(h-statemen)m(ts)t Fs(')150 3276 y(`)p Fn(--switch=)p
Fo(total-switc)m(h-statemen)m(ts)t Fs(')630 3386 y(Causes)35
b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e(a)h Fn(switch)e
Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 3495
y(an)j(arra)m(y)g(lo)s(okup)f(table.)63 b(This)36 b(can)i(lead)g(to)g
(a)h(reduction)e(in)f(b)s(oth)h(time)h(and)f(space)630
3605 y(requiremen)m(ts)f(for)g(some)h(k)m(ey\014les.)60
b(The)36 b(argumen)m(t)h(to)h(this)d(option)h(determines)g(ho)m(w)630
3714 y(man)m(y)c Fn(switch)f Fs(statemen)m(ts)j(are)e(generated.)47
b(A)32 b(v)-5 b(alue)32 b(of)g(1)h(generates)g(1)g Fn(switch)d
Fs(con-)630 3824 y(taining)h(all)h(the)h(elemen)m(ts,)g(a)g(v)-5
b(alue)32 b(of)h(2)g(generates)h(2)f(tables)g(with)e(1/2)j(the)f
(elemen)m(ts)630 3933 y(in)k(eac)m(h)i Fn(switch)p Fs(,)g(etc.)65
b(This)36 b(is)h(useful)g(since)g(man)m(y)i(C)e(compilers)g(cannot)i
(correctly)630 4043 y(generate)29 b(co)s(de)f(for)f(large)g
Fn(switch)f Fs(statemen)m(ts.)41 b(This)26 b(option)h(w)m(as)h
(inspired)c(in)i(part)h(b)m(y)630 4153 y(Keith)j(Bostic's)h(original)d
(C)i(program.)150 4332 y(`)p Fn(-T)p Fs(')150 4441 y(`)p
Fn(--omit-struct-type)p Fs(')630 4551 y(Prev)m(en)m(ts)f(the)e
(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)f(to)i(the)f(output)f
(\014le.)39 b(Use)28 b(this)e(option)630 4660 y(if)j(the)i(t)m(yp)s(e)f
(is)g(already)g(de\014ned)f(elsewhere.)150 4839 y(`)p
Fn(-p)p Fs(')334 b(This)32 b(option)h(is)f(supp)s(orted)g(for)h
(compatibilit)m(y)f(with)g(previous)g(releases)i(of)g
Fn(gperf)p Fs(.)49 b(It)630 4949 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 5255 y Fr(4.4)68 b(Options)45 b(for)g(c)l(hanging)h(the)f
(Algorithms)h(emplo)l(y)l(ed)g(b)l(y)f Fk(gperf)p eop
%%Page: 18 20
18 19 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(18)150 299 y(`)p Fn(-k)30 b Fo(k)m(eys)t
Fs(')150 408 y(`)p Fn(--key-positions=)p Fo(k)m(eys)t
Fs(')630 518 y(Allo)m(ws)25 b(selection)i(of)f(the)h(c)m(haracter)h(k)m
(ey)f(p)s(ositions)d(used)h(in)g(the)i(k)m(eyw)m(ords')g(hash)f(func-)
630 628 y(tion.)51 b(The)33 b(allo)m(w)m(able)g(c)m(hoices)i(range)f(b)
s(et)m(w)m(een)h(1-126,)i(inclusiv)m(e.)48 b(The)34 b(p)s(ositions)e
(are)630 737 y(separated)d(b)m(y)f(commas,)i(e.g.,)g(`)p
Fn(-k)g(9,4,13,14)p Fs(';)d(ranges)i(ma)m(y)g(b)s(e)f(used,)g(e.g.,)i
(`)p Fn(-k)g(2-7)p Fs(';)630 847 y(and)41 b(p)s(ositions)f(ma)m(y)i(o)s
(ccur)f(in)g(an)m(y)h(order.)74 b(F)-8 b(urthermore,)45
b(the)c(meta-c)m(haracter)k('*')630 956 y(causes)35 b(the)h(generated)g
(hash)e(function)g(to)i(consider)e Fe(all)h Fs(c)m(haracter)i(p)s
(ositions)c(in)h(eac)m(h)630 1066 y(k)m(ey)-8 b(,)28
b(whereas)e('$')h(instructs)e(the)h(hash)f(function)g(to)i(use)e(the)h
(\\\014nal)g(c)m(haracter")i(of)e(a)g(k)m(ey)630 1176
y(\(this)g(is)g(the)h(only)f(w)m(a)m(y)i(to)g(use)e(a)h(c)m(haracter)i
(p)s(osition)c(greater)j(than)f(126,)i(inciden)m(tally\).)630
1346 y(F)-8 b(or)37 b(instance,)g(the)f(option)g(`)p
Fn(-k)30 b(1,2,4,6-10,'$')p Fs(')i(generates)38 b(a)e(hash)g(function)e
(that)630 1456 y(considers)g(p)s(ositions)f(1,2,4,6,7,8,9,10,)42
b(plus)33 b(the)i(last)g(c)m(haracter)i(in)d(eac)m(h)i(k)m(ey)g(\(whic)
m(h)630 1565 y(ma)m(y)24 b(di\013er)e(for)h(eac)m(h)i(k)m(ey)-8
b(,)26 b(ob)m(viously\).)38 b(Keys)23 b(with)f(length)h(less)f(than)i
(the)f(indicated)f(k)m(ey)630 1675 y(p)s(ositions)33
b(w)m(ork)i(prop)s(erly)-8 b(,)34 b(since)g(selected)i(k)m(ey)f(p)s
(ositions)e(exceeding)i(the)g(k)m(ey)h(length)630 1784
y(are)31 b(simply)d(not)i(referenced)h(in)e(the)h(hash)g(function.)150
2016 y(`)p Fn(-l)p Fs(')150 2125 y(`)p Fn(--compare-strlen)p
Fs(')630 2235 y(Compare)i(k)m(ey)h(lengths)f(b)s(efore)g(trying)f(a)i
(string)e(comparison.)46 b(This)31 b(migh)m(t)h(cut)g(do)m(wn)630
2345 y(on)g(the)g(n)m(um)m(b)s(er)e(of)i(string)f(comparisons)g(made)h
(during)d(the)k(lo)s(okup,)e(since)g(k)m(eys)h(with)630
2454 y(di\013eren)m(t)38 b(lengths)g(are)h(nev)m(er)g(compared)g(via)f
Fn(strcmp)p Fs(.)64 b(Ho)m(w)m(ev)m(er,)43 b(using)38
b(`)p Fn(-l)p Fs(')g(migh)m(t)630 2564 y(greatly)f(increase)f(the)h
(size)g(of)f(the)h(generated)h(C)e(co)s(de)h(if)e(the)i(lo)s(okup)e
(table)i(range)g(is)630 2673 y(large)25 b(\(whic)m(h)e(implies)f(that)j
(the)g(switc)m(h)f(option)g(`)p Fn(-S)p Fs(')h(is)f(not)g(enabled\),)i
(since)e(the)h(length)630 2783 y(table)31 b(con)m(tains)h(as)g(man)m(y)
g(elemen)m(ts)g(as)f(there)h(are)g(en)m(tries)f(in)g(the)g(lo)s(okup)g
(table.)44 b(This)630 2892 y(option)34 b(is)g(mandatory)g(for)g(binary)
f(comparisons)h(\(see)h(Section)f(3.3)i([Binary)e(Strings],)630
3002 y(page)d(14\).)150 3233 y(`)p Fn(-D)p Fs(')150 3343
y(`)p Fn(--duplicates)p Fs(')630 3453 y(Handle)j(k)m(eyw)m(ords)h
(whose)f(k)m(ey)i(p)s(osition)d(sets)i(hash)f(to)h(duplicate)e(v)-5
b(alues.)53 b(Duplicate)630 3562 y(hash)30 b(v)-5 b(alues)29
b(o)s(ccur)i(for)f(t)m(w)m(o)h(reasons:)705 3733 y Fq(\017)60
b Fs(Since)42 b Fn(gperf)g Fs(do)s(es)h(not)g(bac)m(ktrac)m(k)j(it)c
(is)h(p)s(ossible)d(for)j(it)g(to)h(pro)s(cess)f(all)f(y)m(our)810
3842 y(input)23 b(k)m(eyw)m(ords)j(without)e(\014nding)f(a)i(unique)e
(mapping)h(for)h(eac)m(h)h(w)m(ord.)39 b(Ho)m(w)m(ev)m(er,)810
3952 y(frequen)m(tly)28 b(only)h(a)h(v)m(ery)f(small)f(n)m(um)m(b)s(er)
g(of)h(duplicates)f(o)s(ccur,)i(and)e(the)i(ma)5 b(jorit)m(y)810
4061 y(of)31 b(k)m(eys)g(still)d(require)h(one)i(prob)s(e)e(in)m(to)h
(the)h(table.)705 4232 y Fq(\017)60 b Fs(Sometimes)35
b(a)h(set)g(of)f(k)m(eys)h(ma)m(y)g(ha)m(v)m(e)h(the)f(same)f(names,)i
(but)e(p)s(ossess)f(di\013eren)m(t)810 4341 y(attributes.)86
b(With)45 b(the)g(-D)i(option)e Fn(gperf)f Fs(treats)i(all)f(these)h(k)
m(eys)g(as)f(part)h(of)810 4451 y(an)37 b(equiv)-5 b(alence)36
b(class)g(and)g(generates)j(a)e(p)s(erfect)f(hash)g(function)g(with)f
(m)m(ultiple)810 4561 y(comparisons)26 b(for)g(duplicate)f(k)m(eys.)40
b(It)26 b(is)g(up)f(to)j(y)m(ou)e(to)i(completely)e(disam)m(biguate)810
4670 y(the)36 b(k)m(eyw)m(ords)f(b)m(y)g(mo)s(difying)e(the)j
(generated)g(C)f(co)s(de.)56 b(Ho)m(w)m(ev)m(er,)39 b
Fn(gperf)33 b Fs(helps)810 4780 y(y)m(ou)e(out)f(b)m(y)h(organizing)e
(the)i(output.)630 5011 y(Option)i(`)p Fn(-D)p Fs(')i(is)f(extremely)g
(useful)f(for)i(certain)f(large)h(or)g(highly)d(redundan)m(t)h(k)m(eyw)
m(ord)630 5121 y(sets,)e(e.g.,)h(assem)m(bler)e(instruction)e(op)s(co)s
(des.)41 b(Using)30 b(this)f(option)h(usually)e(means)i(that)630
5230 y(the)d(generated)h(hash)f(function)f(is)g(no)h(longer)g(p)s
(erfect.)39 b(On)26 b(the)i(other)f(hand,)g(it)g(p)s(ermits)630
5340 y Fn(gperf)i Fs(to)i(w)m(ork)g(on)f(k)m(eyw)m(ord)h(sets)f(that)h
(it)f(otherwise)g(could)g(not)g(handle.)p eop
%%Page: 19 21
19 20 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(19)150 299 y(`)p Fn(-f)30 b Fo(iteration-amoun)m
(t)r Fs(')150 408 y(`)p Fn(--fast=)p Fo(iteration-amoun)m(t)r
Fs(')630 518 y(Generate)d(the)e(p)s(erfect)g(hash)g(function)f
(\\fast".)40 b(This)24 b(decreases)i Fn(gperf)p Fs('s)e(running)e(time)
630 628 y(at)27 b(the)f(cost)h(of)f(minimizing)c(generated)27
b(table-size.)39 b(The)25 b(iteration)h(amoun)m(t)g(represen)m(ts)630
737 y(the)32 b(n)m(um)m(b)s(er)e(of)i(times)f(to)h(iterate)h(when)d
(resolving)h(a)h(collision.)42 b(`0')32 b(means)g(iterate)g(b)m(y)630
847 y(the)40 b(n)m(um)m(b)s(er)e(of)i(k)m(eyw)m(ords.)70
b(This)37 b(option)j(is)e(probably)g(most)j(useful)d(when)g(used)h(in)
630 956 y(conjunction)29 b(with)g(options)h(`)p Fn(-D)p
Fs(')g(and/or)h(`)p Fn(-S)p Fs(')f(for)g Fl(lar)-5 b(ge)38
b Fs(k)m(eyw)m(ord)31 b(sets.)150 1154 y(`)p Fn(-i)f
Fo(initial-v)-5 b(alue)5 b Fs(')150 1263 y(`)p Fn(--initial-asso=)p
Fo(initial)o(-v)-5 b(alue)5 b Fs(')630 1373 y(Pro)m(vides)28
b(an)g(initial)d Fo(v)-5 b(alue)33 b Fs(for)28 b(the)g(asso)s(ciate)h
(v)-5 b(alues)28 b(arra)m(y)-8 b(.)41 b(Default)28 b(is)f(0.)41
b(Increasing)630 1482 y(the)30 b(initial)d(v)-5 b(alue)30
b(helps)e(in\015ate)h(the)h(\014nal)f(table)h(size,)g(p)s(ossibly)d
(leading)i(to)h(more)g(time)630 1592 y(e\016cien)m(t)e(k)m(eyw)m(ord)f
(lo)s(okups.)38 b(Note)29 b(that)e(this)f(option)h(is)f(not)h
(particularly)e(useful)g(when)630 1702 y(`)p Fn(-S)p
Fs(')30 b(is)g(used.)40 b(Also,)30 b(`)p Fn(-i)p Fs(')g(is)g(o)m(v)m
(erridden)f(when)g(the)i(`)p Fn(-r)p Fs(')f(option)g(is)g(used.)150
1899 y(`)p Fn(-j)g Fo(jump-v)-5 b(alue)5 b Fs(')150 2008
y(`)p Fn(--jump=)p Fo(jump-v)-5 b(alue)5 b Fs(')630 2118
y(A\013ects)25 b(the)f(\\jump)f(v)-5 b(alue",)26 b(i.e.,)f(ho)m(w)f
(far)g(to)h(adv)-5 b(ance)24 b(the)g(asso)s(ciated)h(c)m(haracter)g(v)
-5 b(alue)630 2228 y(up)s(on)29 b(collisions.)39 b Fo(Jump-v)-5
b(alue)34 b Fs(is)29 b(rounded)g(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s
(er,)f(the)i(default)f(is)f(5.)630 2337 y(If)h(the)g
Fo(jump-v)-5 b(alue)34 b Fs(is)c(0)g Fn(gperf)f Fs(jumps)g(b)m(y)h
(random)g(amoun)m(ts.)150 2534 y(`)p Fn(-n)p Fs(')150
2644 y(`)p Fn(--no-strlen)p Fs(')630 2754 y(Instructs)c(the)i
(generator)g(not)f(to)h(include)d(the)j(length)e(of)h(a)h(k)m(eyw)m
(ord)g(when)e(computing)630 2863 y(its)40 b(hash)g(v)-5
b(alue.)71 b(This)39 b(ma)m(y)i(sa)m(v)m(e)h(a)f(few)f(assem)m(bly)g
(instructions)f(in)g(the)i(generated)630 2973 y(lo)s(okup)29
b(table.)150 3170 y(`)p Fn(-o)p Fs(')150 3280 y(`)p Fn
(--occurrence-sort)p Fs(')630 3389 y(Reorders)43 b(the)h(k)m(eyw)m
(ords)g(b)m(y)f(sorting)g(the)h(k)m(eyw)m(ords)g(so)g(that)g(frequen)m
(tly)f(o)s(ccuring)630 3499 y(k)m(ey)34 b(p)s(osition)e(set)h(comp)s
(onen)m(ts)h(app)s(ear)f(\014rst.)48 b(A)34 b(second)f(reordering)f
(pass)h(follo)m(ws)g(so)630 3608 y(that)43 b(k)m(eys)g(with)e
(\\already)i(determined)e(v)-5 b(alues")42 b(are)h(placed)e(to)m(w)m
(ards)j(the)e(fron)m(t)h(of)630 3718 y(the)c(k)m(eylist.)67
b(This)37 b(ma)m(y)j(decrease)g(the)f(time)g(required)e(to)j(generate)g
(a)g(p)s(erfect)f(hash)630 3828 y(function)33 b(for)h(man)m(y)g(k)m
(eyw)m(ord)h(sets,)h(and)d(also)i(pro)s(duce)e(more)h(minimal)e(p)s
(erfect)i(hash)630 3937 y(functions.)68 b(The)39 b(reason)h(for)g(this)
f(is)f(that)j(the)f(reordering)f(helps)f(prune)g(the)i(searc)m(h)630
4047 y(time)28 b(b)m(y)h(handling)d(inevitable)h(collisions)f(early)i
(in)f(the)i(searc)m(h)g(pro)s(cess.)40 b(On)28 b(the)h(other)630
4156 y(hand,)i(if)f(the)i(n)m(um)m(b)s(er)e(of)i(k)m(eyw)m(ords)g(is)e
Fl(very)40 b Fs(large)31 b(using)f(`)p Fn(-o)p Fs(')i(ma)m(y)g
Fl(incr)-5 b(e)g(ase)39 b Fn(gperf)p Fs('s)630 4266 y(execution)34
b(time,)h(since)e(collisions)f(will)f(b)s(egin)i(earlier)g(and)g(con)m
(tin)m(ue)h(throughout)g(the)630 4376 y(remainder)f(of)h(k)m(eyw)m(ord)
h(pro)s(cessing.)51 b(See)35 b(Cic)m(helli's)d(pap)s(er)h(from)h(the)g
(Jan)m(uary)g(1980)630 4485 y(Comm)m(unications)29 b(of)h(the)h(A)m(CM)
g(for)f(details.)150 4682 y(`)p Fn(-r)p Fs(')150 4792
y(`)p Fn(--random)p Fs(')630 4902 y(Utilizes)37 b(randomness)h(to)h
(initialize)c(the)k(asso)s(ciated)g(v)-5 b(alues)37 b(table.)65
b(This)37 b(frequen)m(tly)630 5011 y(generates)23 b(solutions)c(faster)
j(than)f(using)f(deterministic)f(initialization)f(\(whic)m(h)i(starts)i
(all)630 5121 y(asso)s(ciated)27 b(v)-5 b(alues)27 b(at)g(0\).)40
b(F)-8 b(urthermore,)28 b(using)e(the)h(randomization)e(option)i
(generally)630 5230 y(increases)33 b(the)h(size)f(of)g(the)h(table.)50
b(If)33 b Fn(gperf)f Fs(has)h(di\016cultly)d(with)i(a)i(certain)f(k)m
(eyw)m(ord)630 5340 y(set)e(try)f(using)f(`)p Fn(-r)p
Fs(')h(or)h(`)p Fn(-D)p Fs('.)p eop
%%Page: 20 22
20 21 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
b Fn(gperf)2433 b Fs(20)150 299 y(`)p Fn(-s)30 b Fo(size-m)m(ultiple)5
b Fs(')150 408 y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultipl)o(e)g
Fs(')630 518 y(A\013ects)40 b(the)e(size)g(of)h(the)f(generated)i(hash)
d(table.)65 b(The)38 b(n)m(umeric)f(argumen)m(t)i(for)f(this)630
628 y(option)32 b(indicates)f(\\ho)m(w)i(man)m(y)g(times)f(larger)g(or)
g(smaller")g(the)g(maxim)m(um)f(asso)s(ciated)630 737
y(v)-5 b(alue)23 b(range)h(should)d(b)s(e,)j(in)e(relationship)f(to)j
(the)g(n)m(um)m(b)s(er)e(of)h(k)m(eys.)40 b(If)22 b(the)i
Fo(size-m)m(ultiple)630 847 y Fs(is)31 b(negativ)m(e)j(the)e(maxim)m
(um)g(asso)s(ciated)g(v)-5 b(alue)32 b(is)g(calculated)g(b)m(y)g
Fl(dividing)41 b Fs(it)31 b(in)m(to)i(the)630 956 y(total)k(n)m(um)m(b)
s(er)e(of)h(k)m(eys.)59 b(F)-8 b(or)37 b(example,)h(a)f(v)-5
b(alue)35 b(of)i(3)f(means)g(\\allo)m(w)h(the)f(maxim)m(um)630
1066 y(asso)s(ciated)31 b(v)-5 b(alue)30 b(to)h(b)s(e)f(ab)s(out)g(3)g
(times)g(larger)g(than)h(the)f(n)m(um)m(b)s(er)f(of)i(input)d(k)m
(eys".)630 1200 y(Con)m(v)m(ersely)-8 b(,)42 b(a)e(v)-5
b(alue)39 b(of)g(-3)h(means)g(\\allo)m(w)f(the)h(maxim)m(um)e(asso)s
(ciated)i(v)-5 b(alue)38 b(to)j(b)s(e)630 1310 y(ab)s(out)f(3)g(times)f
(smaller)f(than)i(the)g(n)m(um)m(b)s(er)f(of)h(input)d(k)m(eys".)71
b(Negativ)m(e)41 b(v)-5 b(alues)40 b(are)630 1420 y(useful)i(for)i
(limiting)d(the)j(o)m(v)m(erall)h(size)f(of)g(the)g(generated)h(hash)f
(table,)j(though)d(this)630 1529 y(usually)28 b(increases)i(the)h(n)m
(um)m(b)s(er)e(of)h(duplicate)f(hash)h(v)-5 b(alues.)630
1664 y(If)33 b(`generate)j(switc)m(h')e(option)f(`)p
Fn(-S)p Fs(')h(is)f Fl(not)43 b Fs(enabled,)34 b(the)g(maxim)m(um)f
(asso)s(ciated)h(v)-5 b(alue)630 1773 y(in\015uences)22
b(the)j(static)f(arra)m(y)h(table)f(size,)h(and)f(a)g(larger)g(table)g
(should)e(decrease)j(the)f(time)630 1883 y(required)29
b(for)h(an)g(unsuccessful)e(searc)m(h,)j(at)g(the)g(exp)s(ense)f(of)g
(extra)i(table)e(space.)630 2017 y(The)35 b(default)f(v)-5
b(alue)35 b(is)f(1,)j(th)m(us)e(the)h(default)e(maxim)m(um)g(asso)s
(ciated)i(v)-5 b(alue)35 b(ab)s(out)g(the)630 2127 y(same)25
b(size)f(as)h(the)f(n)m(um)m(b)s(er)g(of)g(k)m(eys)h(\(for)g
(e\016ciency)-8 b(,)26 b(the)f(maxim)m(um)e(asso)s(ciated)i(v)-5
b(alue)24 b(is)630 2237 y(alw)m(a)m(ys)k(rounded)e(up)h(to)h(a)g(p)s(o)
m(w)m(er)g(of)g(2\).)40 b(The)27 b(actual)h(table)g(size)g(ma)m(y)g(v)
-5 b(ary)27 b(somewhat,)630 2346 y(since)21 b(this)g(tec)m(hnique)h(is)
f(essen)m(tially)f(a)j(heuristic.)36 b(In)21 b(particular,)h(setting)g
(this)f(v)-5 b(alue)21 b(to)s(o)630 2456 y(high)32 b(slo)m(ws)i(do)m
(wn)f Fn(gperf)p Fs('s)f(run)m(time,)i(since)f(it)g(m)m(ust)h(searc)m
(h)g(through)f(a)h(m)m(uc)m(h)g(larger)630 2565 y(range)f(of)h(v)-5
b(alues.)48 b(Judicious)30 b(use)j(of)g(the)h(`)p Fn(-f)p
Fs(')f(option)f(helps)g(alleviate)h(this)e(o)m(v)m(erhead,)630
2675 y(ho)m(w)m(ev)m(er.)150 2932 y Fr(4.5)68 b(Informativ)l(e)47
b(Output)150 3150 y Fs(`)p Fn(-h)p Fs(')150 3259 y(`)p
Fn(--help)p Fs(')142 b(Prin)m(ts)23 b(a)h(short)f(summary)g(on)h(the)g
(meaning)f(of)h(eac)m(h)h(program)e(option.)38 b(Ab)s(orts)23
b(further)630 3369 y(program)30 b(execution.)150 3528
y(`)p Fn(-v)p Fs(')150 3638 y(`)p Fn(--version)p Fs(')630
3748 y(Prin)m(ts)f(out)i(the)f(curren)m(t)h(v)m(ersion)e(n)m(um)m(b)s
(er.)150 3907 y(`)p Fn(-d)p Fs(')150 4017 y(`)p Fn(--debug)p
Fs(')94 b(Enables)27 b(the)i(debugging)e(option.)39 b(This)27
b(pro)s(duces)g(v)m(erb)s(ose)i(diagnostics)e(to)i(\\standard)630
4126 y(error")i(when)g Fn(gperf)f Fs(is)g(executing.)44
b(It)32 b(is)e(useful)g(b)s(oth)h(for)g(main)m(taining)f(the)h(program)
630 4236 y(and)f(for)h(determining)e(whether)h(a)h(giv)m(en)g(set)g(of)
g(options)f(is)g(actually)h(sp)s(eeding)e(up)h(the)630
4345 y(searc)m(h)41 b(for)e(a)h(solution.)68 b(Some)40
b(useful)e(information)g(is)h(dump)s(ed)f(at)i(the)g(end)g(of)g(the)630
4455 y(program)30 b(when)g(the)g(`)p Fn(-d)p Fs(')g(option)g(is)g
(enabled.)p eop
%%Page: 21 23
21 22 bop 150 -116 a Fs(Chapter)30 b(5:)41 b(Kno)m(wn)30
b(Bugs)g(and)g(Limitations)e(with)h Fn(gperf)1397 b Fs(21)150
299 y Fp(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)h(with)e
Fm(gperf)275 533 y Fs(The)29 b(follo)m(wing)g(are)i(some)g(limitations)
d(with)h(the)h(curren)m(t)h(release)f(of)h Fn(gperf)p
Fs(:)225 667 y Fq(\017)60 b Fs(The)31 b Fn(gperf)g Fs(utilit)m(y)f(is)h
(tuned)g(to)h(execute)h(quic)m(kly)-8 b(,)32 b(and)f(w)m(orks)h(quic)m
(kly)e(for)i(small)e(to)j(medium)330 777 y(size)h(data)h(sets)g
(\(around)f(1000)i(k)m(eyw)m(ords\).)54 b(It)34 b(is)g(extremely)h
(useful)d(for)i(main)m(taining)f(p)s(erfect)330 887 y(hash)40
b(functions)g(for)g(compiler)g(k)m(eyw)m(ord)h(sets.)72
b(Sev)m(eral)41 b(recen)m(t)h(enhancemen)m(ts)g(no)m(w)e(enable)330
996 y Fn(gperf)31 b Fs(to)j(w)m(ork)e(e\016cien)m(tly)h(on)f(m)m(uc)m
(h)h(larger)f(k)m(eyw)m(ord)h(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m
(ords\).)48 b(When)330 1106 y(pro)s(cessing)29 b(large)i(k)m(eyw)m(ord)
f(sets)h(it)f(helps)f(greatly)i(to)g(ha)m(v)m(e)g(o)m(v)m(er)h(8)f
(megs)g(of)f(RAM.)330 1240 y(Ho)m(w)m(ev)m(er,)k(since)c
Fn(gperf)g Fs(do)s(es)g(not)i(bac)m(ktrac)m(k)h(no)e(guaran)m(teed)h
(solution)e(o)s(ccurs)g(on)h(ev)m(ery)h(run.)330 1350
y(On)26 b(the)h(other)g(hand,)f(it)h(is)e(usually)g(easy)i(to)h(obtain)
e(a)h(solution)e(b)m(y)i(v)-5 b(arying)26 b(the)h(option)f(param-)330
1460 y(eters.)52 b(In)33 b(particular,)g(try)h(the)g(`)p
Fn(-r)p Fs(')g(option,)g(and)f(also)h(try)g(c)m(hanging)g(the)g
(default)f(argumen)m(ts)330 1569 y(to)38 b(the)f(`)p
Fn(-s)p Fs(')h(and)e(`)p Fn(-j)p Fs(')h(options.)61 b(T)-8
b(o)38 b Fl(guar)-5 b(ante)g(e)45 b Fs(a)38 b(solution,)g(use)f(the)g
(`)p Fn(-D)p Fs(')h(and)e(`)p Fn(-S)p Fs(')h(options,)330
1679 y(although)27 b(the)h(\014nal)e(results)g(are)i(not)g(lik)m(ely)e
(to)i(b)s(e)f(a)h Fl(p)-5 b(erfe)g(ct)37 b Fs(hash)27
b(function)f(an)m(ymore!)40 b(Finally)-8 b(,)330 1788
y(use)32 b(the)g(`)p Fn(-f)p Fs(')g(option)f(if)g(y)m(ou)h(w)m(an)m(t)h
Fn(gperf)d Fs(to)j(generate)g(the)f(p)s(erfect)g(hash)f(function)g
Fl(fast)p Fs(,)i(with)330 1898 y(less)d(emphasis)f(on)h(making)g(it)f
(minimal.)225 2032 y Fq(\017)60 b Fs(The)43 b(size)h(of)g(the)g
(generate)h(static)g(k)m(eyw)m(ord)f(arra)m(y)g(can)g(get)h
Fl(extr)-5 b(emely)53 b Fs(large)44 b(if)f(the)h(input)330
2142 y(k)m(eyw)m(ord)d(\014le)e(is)g(large)i(or)f(if)f(the)i(k)m(eyw)m
(ords)f(are)h(quite)f(similar.)67 b(This)39 b(tends)h(to)h(slo)m(w)e
(do)m(wn)330 2252 y(the)c(compilation)e(of)i(the)f(generated)i(C)e(co)s
(de,)i(and)e Fl(gr)-5 b(e)g(atly)44 b Fs(in\015ates)34
b(the)h(ob)5 b(ject)35 b(co)s(de)g(size.)53 b(If)330
2361 y(this)39 b(situation)g(o)s(ccurs,)j(consider)d(using)f(the)i(`)p
Fn(-S)p Fs(')g(option)f(to)i(reduce)e(data)i(size,)h(p)s(oten)m(tially)
330 2471 y(increasing)g(k)m(eyw)m(ord)i(recognition)f(time)g(a)h
(negligible)e(amoun)m(t.)80 b(Since)43 b(man)m(y)g(C)h(compilers)330
2580 y(cannot)33 b(correctly)g(generated)h(co)s(de)f(for)f(large)h
(switc)m(h)f(statemen)m(ts)j(it)d(is)g(imp)s(ortan)m(t)f(to)j(qualify)
330 2690 y(the)40 b Fo(-S)46 b Fs(option)39 b(with)g(an)h(appropriate)f
(n)m(umerical)g(argumen)m(t)h(that)h(con)m(trols)g(the)f(n)m(um)m(b)s
(er)f(of)330 2800 y(switc)m(h)30 b(statemen)m(ts)i(generated.)225
2934 y Fq(\017)60 b Fs(The)31 b(maxim)m(um)f(n)m(um)m(b)s(er)f(of)j(k)m
(ey)f(p)s(ositions)f(selected)h(for)g(a)g(giv)m(en)h(k)m(ey)f(has)g(an)
g(arbitrary)f(limit)330 3044 y(of)40 b(126.)69 b(This)38
b(restriction)h(should)e(b)s(e)i(remo)m(v)m(ed,)k(and)c(if)g(an)m(y)m
(one)i(considers)d(this)h(a)h(problem)330 3153 y(write)30
b(me)g(and)g(let)g(me)h(kno)m(w)f(so)h(I)f(can)g(remo)m(v)m(e)i(the)f
(constrain)m(t.)p eop
%%Page: 22 24
22 23 bop 150 -116 a Fs(Chapter)30 b(6:)41 b(Things)28
b(Still)g(Left)j(to)g(Do)2133 b(22)150 299 y Fp(6)80
b(Things)54 b(Still)i(Left)d(to)g(Do)275 533 y Fs(It)24
b(should)e(b)s(e)i(\\relativ)m(ely")h(easy)g(to)g(replace)f(the)h
(curren)m(t)f(p)s(erfect)g(hash)g(function)f(algorithm)g(with)150
643 y(a)35 b(more)f(exhaustiv)m(e)g(approac)m(h;)j(the)d(p)s(erfect)h
(hash)e(mo)s(dule)g(is)g(essen)m(tial)h(indep)s(enden)m(t)e(from)i
(other)150 752 y(program)c(mo)s(dules.)39 b(Additional)28
b(w)m(orth)m(while)h(impro)m(v)m(emen)m(ts)i(include:)225
887 y Fq(\017)60 b Fs(Mak)m(e)38 b(the)e(algorithm)f(more)h(robust.)58
b(A)m(t)37 b(presen)m(t,)h(the)e(program)g(halts)f(with)g(an)h(error)g
(diag-)330 996 y(nostic)k(if)g(it)g(can't)i(\014nd)d(a)i(direct)f
(solution)g(and)g(the)h(`)p Fn(-D)p Fs(')f(option)h(is)e(not)i
(enabled.)71 b(A)41 b(more)330 1106 y(comprehensiv)m(e,)c(alb)s(eit)d
(computationally)g(exp)s(ensiv)m(e,)j(approac)m(h)f(w)m(ould)e(emplo)m
(y)i(bac)m(ktrac)m(k-)330 1215 y(ing)28 b(or)g(enable)g(alternativ)m(e)
i(options)d(and)h(retry)-8 b(.)41 b(It's)29 b(not)g(clear)f(ho)m(w)h
(helpful)d(this)h(w)m(ould)h(b)s(e,)g(in)330 1325 y(general,)j(since)e
(most)i(searc)m(h)g(sets)g(are)g(rather)f(small)f(in)g(practice.)225
1460 y Fq(\017)60 b Fs(Another)34 b(useful)e(extension)h(in)m(v)m(olv)m
(es)h(mo)s(difying)d(the)j(program)f(to)i(generate)g(\\minimal")d(p)s
(er-)330 1569 y(fect)42 b(hash)f(functions)e(\(under)i(certain)g
(circumstances,)j(the)d(curren)m(t)g(v)m(ersion)g(can)g(b)s(e)g(rather)
330 1679 y(extra)m(v)-5 b(agan)m(t)37 b(in)32 b(the)i(generated)h
(table)e(size\).)51 b(Again,)35 b(this)d(is)h(mostly)h(of)f
(theoretical)i(in)m(terest,)330 1788 y(since)f(a)h(sparse)f(table)g
(often)h(pro)s(duces)f(faster)g(lo)s(okups,)h(and)f(use)g(of)h(the)f(`)
p Fn(-S)p Fs(')h Fn(switch)d Fs(option)330 1898 y(can)27
b(minimize)e(the)i(data)h(size,)g(at)f(the)h(exp)s(ense)e(of)h(sligh)m
(tly)f(longer)g(lo)s(okups)g(\(note)i(that)g(the)f(gcc)330
2007 y(compiler)35 b(generally)g(pro)s(duces)g(go)s(o)s(d)h(co)s(de)g
(for)g Fn(switch)f Fs(statemen)m(ts,)k(reducing)c(the)h(need)g(for)330
2117 y(more)31 b(complex)f(sc)m(hemes\).)225 2252 y Fq(\017)60
b Fs(In)27 b(addition)f(to)j(impro)m(ving)d(the)i(algorithm,)g(it)f(w)m
(ould)g(also)h(b)s(e)f(useful)f(to)j(generate)g(a)f(C)p
Fn(++)f Fs(class)330 2361 y(or)j(Ada)h(pac)m(k)-5 b(age)32
b(as)f(the)f(co)s(de)h(output,)f(in)f(addition)g(to)i(the)g(curren)m(t)
f(C)g(routines.)p eop
%%Page: 23 25
23 24 bop 150 -116 a Fs(Chapter)30 b(7:)41 b(Implemen)m(tation)29
b(Details)i(of)f(GNU)h Fn(gperf)1499 b Fs(23)150 299
y Fp(7)80 b(Implemen)l(tation)52 b(Details)j(of)f(GNU)g
Fm(gperf)275 533 y Fs(A)27 b(pap)s(er)f(describing)f(the)j(high-lev)m
(el)e(description)f(of)j(the)f(data)h(structures)f(and)g(algorithms)f
(used)150 643 y(to)e(implemen)m(t)d Fn(gperf)h Fs(will)e(so)s(on)j(b)s
(e)f(a)m(v)-5 b(ailable.)38 b(This)21 b(pap)s(er)h(is)g(useful)f(not)j
(only)e(from)g(a)i(main)m(tenance)150 752 y(and)30 b(enhancemen)m(t)h
(p)s(ersp)s(ectiv)m(e,)f(but)f(also)h(b)s(ecause)h(they)f(demonstrate)h
(sev)m(eral)g(clev)m(er)g(and)f(useful)150 862 y(programming)e(tec)m
(hniques,)i(e.g.,)h(`Iteration)f(Num)m(b)s(er')f(b)s(o)s(olean)g(arra)m
(ys,)h(double)e(hashing,)h(a)h(\\safe")150 971 y(and)i(e\016cien)m(t)g
(metho)s(d)g(for)g(reading)g(arbitrarily)d(long)j(input)f(from)g(a)i
(\014le,)f(and)g(a)h(pro)m(v)-5 b(ably)31 b(optimal)150
1081 y(algorithm)g(for)i(sim)m(ultaneously)d(determining)g(b)s(oth)i
(the)g(minim)m(um)e(and)i(maxim)m(um)f(elemen)m(ts)h(in)g(a)150
1191 y(list.)p eop
%%Page: 24 26
24 25 bop 150 -116 a Fs(Chapter)30 b(8:)41 b(Bibliograph)m(y)2533
b(24)150 299 y Fp(8)80 b(Bibliograph)l(y)275 533 y Fs([1])22
b(Chang,)h(C.C.:)36 b Fl(A)24 b(Scheme)h(for)g(Constructing)h(Or)-5
b(der)g(e)g(d)26 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)h(F)-7
b(unctions)150 643 y Fs(Information)29 b(Sciences)h(39\(1986\),)k
(187-195.)275 777 y([2])26 b(Cic)m(helli,)e(Ric)m(hard)h(J.)g
Fl(A)n(uthor's)k(R)-5 b(esp)g(onse)30 b(to)f(\\On)f(Cichel)5
b(li's)28 b(Minimal)h(Perfe)-5 b(ct)28 b(Hash)g(F)-7
b(unc-)150 887 y(tions)33 b(Metho)-5 b(d")38 b Fs(Comm)m(unications)29
b(of)i(the)f(A)m(CM,)h(23,)h(12\(Decem)m(b)s(er)g(1980\),)h(729.)275
1021 y([3])f(Cic)m(helli,)e(Ric)m(hard)g(J.)i Fl(Minimal)i(Perfe)-5
b(ct)33 b(Hash)i(F)-7 b(unctions)34 b(Made)g(Simple)39
b Fs(Comm)m(unications)150 1131 y(of)31 b(the)f(A)m(CM,)h(23,)h(1\(Jan)
m(uary)f(1980\),)h(17-19.)275 1265 y([4])22 b(Co)s(ok,)h(C.)e(R.)g(and)
f(Oldeho)s(eft,)i(R.R.)g Fl(A)h(L)-5 b(etter)25 b(Oriente)-5
b(d)25 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)g(F)-7
b(unction)150 1375 y Fs(SIGPLAN)30 b(Notices,)h(17,)h(9\(Septem)m(b)s
(er)f(1982\),)h(18-27.)275 1509 y([5])22 b(Cormac)m(k,)j(G.)d(V.)g(and)
g(Horsp)s(o)s(ol,)g(R.)g(N.)g(S.)g(and)f(Kaiserw)m(erth,)i(M.)g
Fl(Pr)-5 b(actic)g(al)26 b(Perfe)-5 b(ct)25 b(Hashing)150
1619 y Fs(Computer)30 b(Journal,)f(28,)i(1\(Jan)m(uary)g(1985\),)i
(54-58.)275 1753 y([6])28 b(Jaesc)m(hk)m(e,)j(G.)d Fl(R)-5
b(e)g(cipr)g(o)g(c)g(al)34 b(Hashing:)41 b(A)30 b(Metho)-5
b(d)31 b(for)g(Gener)-5 b(ating)32 b(Minimal)e(Perfe)-5
b(ct)31 b(Hashing)150 1863 y(F)-7 b(unctions)39 b Fs(Comm)m(unications)
29 b(of)h(the)h(A)m(CM,)g(24,)g(12\(Decem)m(b)s(er)i(1981\),)g
(829-833.)275 1998 y([7])22 b(Jaesc)m(hk)m(e,)i(G.)e(and)f(Osterburg,)h
(G.)g Fl(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5
b(ct)24 b(Hash)h(F)-7 b(unctions)25 b(Metho)-5 b(d)150
2107 y Fs(Comm)m(unications)29 b(of)h(the)h(A)m(CM,)g(23,)h(12\(Decem)m
(b)s(er)g(1980\),)h(728-729.)275 2242 y([8])25 b(Sager,)h(Thomas)e(J.)h
Fl(A)h(Polynomial)j(Time)f(Gener)-5 b(ator)29 b(for)f(Minimal)f(Perfe)
-5 b(ct)27 b(Hash)h(F)-7 b(unctions)150 2351 y Fs(Comm)m(unications)29
b(of)h(the)h(A)m(CM,)g(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)275
2486 y([9])f(Sc)m(hmidt,)e(Douglas)h(C.)g Fl(GPERF:)i(A)g(Perfe)-5
b(ct)32 b(Hash)h(F)-7 b(unction)33 b(Gener)-5 b(ator)42
b Fs(Second)30 b(USENIX)150 2595 y(C)p Fn(++)f Fs(Conference)i(Pro)s
(ceedings,)f(April)e(1990.)275 2730 y([10])c(Seb)s(esta,)h(R.W.)e(and)g
(T)-8 b(a)m(ylor,)25 b(M.A.)f Fl(Minimal)i(Perfe)-5 b(ct)26
b(Hash)g(F)-7 b(unctions)27 b(for)g(R)-5 b(eserve)g(d)27
b(Wor)-5 b(d)150 2839 y(Lists)38 b Fs(SIGPLAN)30 b(Notices,)i(20,)f
(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)275 2974 y([11])43
b(Sprugnoli,)f(R.)g Fl(Perfe)-5 b(ct)43 b(Hashing)h(F)-7
b(unctions:)64 b(A)43 b(Single)g(Pr)-5 b(ob)g(e)44 b(R)-5
b(etrieving)44 b(Metho)-5 b(d)44 b(for)150 3083 y(Static)33
b(Sets)38 b Fs(Comm)m(unications)29 b(of)i(the)f(A)m(CM,)i(20)f(11\(No)
m(v)m(em)m(b)s(er)i(1977\),)f(841-850.)275 3218 y([12])27
b(Stallman,)f(Ric)m(hard)f(M.)i Fl(Using)h(and)i(Porting)f(GNU)g(CC)39
b Fs(F)-8 b(ree)28 b(Soft)m(w)m(are)f(F)-8 b(oundation,)27
b(1988.)275 3352 y([13])k(Stroustrup,)e(Bjarne)i Fl(The)h(C)p
Fn(++)g Fl(Pr)-5 b(o)g(gr)g(amming)36 b(L)-5 b(anguage.)40
b Fs(Addison-W)-8 b(esley)g(,)31 b(1986.)275 3487 y([14])g(Tiemann,)e
(Mic)m(hael)i(D.)g Fl(User's)h(Guide)h(to)g(GNU)f(C)p
Fn(++)e Fs(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30
b(1989.)p eop
%%Page: 25 27
25 26 bop 150 -116 a Fs(Concept)31 b(Index)2927 b(25)150
299 y Fp(Concept)52 b(Index)150 642 y Fr(\045)150 777
y Fd(`)p Fc(\045\045)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(12)150 874 y(`)p Fc(\045{)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(12)150 972 y(`)p Fc(\045})p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(12)150 1250 y Fr(A)150 1384 y Fd(Arra)n(y)25 b(name)18
b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44
b Fd(17)150 1675 y Fr(B)150 1809 y Fd(Bugs)9 b Fb(.)k(.)g(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)35 b Fd(8)150 2100 y Fr(C)150 2235 y Fd(Class)27 b(name)10
b Fb(.)i(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35
b Fd(16)150 2513 y Fr(D)150 2647 y Fd(Declaration)27
b(section)d Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49
b Fd(11)150 2745 y(Delimiters)9 b Fb(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35 b Fd(15)150 2842
y(Duplicates)24 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)49 b Fd(18)150 3133 y Fr(F)150 3267 y
Fd(F)-6 b(ormat)23 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)49 b Fd(11)150 3365 y(F)-6
b(unctions)25 b(section)18 b Fb(.)13 b(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)43 b Fd(11)2025 642 y Fr(H)2025 764 y Fc(hash)13
b Fb(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)38 b Fd(13)2025 855 y(hash)25
b(table)9 b Fb(.)k(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)34 b Fd(13)2025 1100 y Fr(I)2025 1222 y Fc(in_word_set)23
b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)46
b Fd(14)2025 1313 y(Initializers)25 b Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)49 b Fd(16)2025 1557
y Fr(J)2025 1679 y Fd(Jump)24 b(v)l(alue)6 b Fb(.)13
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)32
b Fd(19)2025 1936 y Fr(K)2025 2058 y Fd(Keyw)n(ords)25
b(section)16 b Fb(.)e(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
b Fd(11)2025 2315 y Fr(M)2025 2437 y Fd(Minimal)26 b(p)r(erfect)g(hash)
g(functions)c Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)48 b Fd(10)2025 2694 y Fr(N)2025 2816 y Fd(NUL)9
b Fb(.)j(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(14)2025 3060 y Fr(S)2025
3182 y Fd(Slot)26 b(name)13 b Fb(.)e(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fd(16)2025 3274 y(Static)26
b(searc)n(h)g(structure)20 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
b Fd(10)2025 3365 y Fc(switch)22 b Fb(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fd(14,)27 b(17)p
eop
%%Page: -1 28
-1 27 bop 3725 -116 a Fs(i)150 299 y Fp(T)-13 b(able)54
b(of)g(Con)l(ten)l(ts)150 641 y Fr(GNU)45 b(GENERAL)g(PUBLIC)g(LICENSE)
31 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)75 b
Fr(1)449 778 y Fs(Pream)m(ble)16 b Fl(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)45 b Fs(1)449 888
y(TERMS)29 b(AND)j(CONDITIONS)d(F)m(OR)h(COPYING,)h(DISTRIBUTION)631
997 y(AND)g(MODIFICA)-8 b(TION)24 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fs(2)449 1107
y(Ho)m(w)31 b(to)g(Apply)e(These)h(T)-8 b(erms)30 b(to)h(Y)-8
b(our)31 b(New)f(Programs)16 b Fl(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)46 b Fs(6)150 1349 y Fr(Con)l(tributors)g(to)f(GNU)g
Fk(gperf)e Fr(Utilit)l(y)16 b Fa(.)21 b(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)60 b Fr(8)150 1619 y(1)135 b(In)l(tro)t(duction)15
b Fa(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)60
b Fr(9)150 1889 y(2)135 b(Static)45 b(searc)l(h)h(structures)f(and)f
(GNU)h Fk(gperf)15 b Fa(.)i(.)j(.)f(.)60 b Fr(10)150
2159 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g
Fk(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fr(11)449
2296 y Fs(3.1)92 b(Input)29 b(F)-8 b(ormat)32 b(to)f
Fn(gperf)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)54 b Fs(11)748 2405 y(3.1.1)93 b Fn(struct)28
b Fs(Declarations)j(and)f(C)g(Co)s(de)g(Inclusion)25
b Fl(.)15 b(.)g(.)g(.)g(.)g(.)57 b Fs(11)748 2515 y(3.1.2)93
b(F)-8 b(ormat)31 b(for)f(Keyw)m(ord)g(En)m(tries)17
b Fl(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)46 b Fs(12)748 2624 y(3.1.3)93 b(Including)27
b(Additional)h(C)i(F)-8 b(unctions)19 b Fl(.)c(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)49 b Fs(13)449 2734 y(3.2)92
b(Output)29 b(F)-8 b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)f
Fn(gperf)23 b Fl(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)52
b Fs(13)449 2844 y(3.3)92 b(Use)31 b(of)f(NUL)h(c)m(haracters)11
b Fl(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
40 b Fs(14)150 3086 y Fr(4)135 b(In)l(v)l(oking)45 b
Fk(gperf)16 b Fa(.)i(.)h(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)61
b Fr(15)449 3223 y Fs(4.1)92 b(Options)29 b(that)i(a\013ect)h(In)m
(terpretation)e(of)h(the)f(Input)f(File)e Fl(.)15 b(.)g(.)g(.)g(.)g(.)g
(.)57 b Fs(15)449 3333 y(4.2)92 b(Options)29 b(to)i(sp)s(ecify)e(the)i
(Language)g(for)f(the)h(Output)e(Co)s(de)14 b Fl(.)g(.)h(.)g(.)g(.)43
b Fs(15)449 3442 y(4.3)92 b(Options)29 b(for)h(\014ne)g(tuning)f
(Details)h(in)f(the)i(Output)e(Co)s(de)23 b Fl(.)15 b(.)g(.)g(.)g(.)g
(.)g(.)53 b Fs(16)449 3552 y(4.4)92 b(Options)29 b(for)h(c)m(hanging)g
(the)h(Algorithms)e(emplo)m(y)m(ed)h(b)m(y)h Fn(gperf)21
b Fl(.)14 b(.)50 b Fs(17)449 3661 y(4.5)92 b(Informativ)m(e)30
b(Output)d Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)58 b Fs(20)150 3904 y Fr(5)135 b(Kno)l(wn)45
b(Bugs)f(and)h(Limitations)i(with)e Fk(gperf)32 b Fa(.)19
b(.)g(.)79 b Fr(21)150 4174 y(6)135 b(Things)44 b(Still)i(Left)g(to)f
(Do)23 b Fa(.)d(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)68 b Fr(22)150 4443 y(7)135 b(Implemen)l(tation)47
b(Details)g(of)e(GNU)g Fk(gperf)37 b Fa(.)19 b(.)g(.)h(.)f(.)84
b Fr(23)150 4713 y(8)135 b(Bibliograph)l(y)38 b Fa(.)19
b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82 b Fr(24)150
4983 y(Concept)45 b(Index)21 b Fa(.)e(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)
f(.)h(.)f(.)h(.)65 b Fr(25)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF