docs: oxTutor.ps
[uebersetzerbau-ss10.git] / doc / ox / oxTutor.ps
1 %!PS-Adobe-2.0
2 %%Creator: dvips 5.519 Copyright 1986, 1993 Radical Eye Software
3 %%Title: gs.dvi
4 %%CreationDate: Fri Nov  5 17:57:05 1993
5 %%Pages: 19
6 %%PageOrder: Ascend
7 %%BoundingBox: 0 0 612 792
8 %%EndComments
9 %DVIPSCommandLine: dvips -o gs.ps gs.dvi
10 %DVIPSSource:  TeX output 1993.11.05:1756
11 %%BeginProcSet: tex.pro
12 /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
13 /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
14 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
15 ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
16 isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
17 hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
18 TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get
19 round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{
20 statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0
21 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn
22 begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X
23 array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo
24 setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx
25 FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{
26 pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}
27 B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup
28 length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B
29 /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
30 /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp
31 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2
32 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff
33 ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
34 ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{
35 ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn
36 /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1
37 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D
38 }B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0
39 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
40 .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage
41 userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
42 known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
43 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
44 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
45 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
46 {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
47 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
48 ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley
49 false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley
50 scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave
51 transform round exch round exch itransform moveto rulex 0 rlineto 0
52 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta
53 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
54 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{
55 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
56 -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{
57 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end
58 %%EndProcSet
59 TeXDict begin 40258431 52099146 1000 300 300
60 (/home/grad2/bischoff/oxDevelop/getstart/gs.dvi) @start
61 /Fa 3 112 df<007FFFE0000007803C000007800E000007800700000F000780000F0003
62 80000F0003C0000F0003C0001E000780001E000780001E000780001E000F00003C001E00
63 003C003C00003C007000003C01C000007FFE00000078078000007801C000007801E00000
64 F000F00000F000F00000F000F00000F000F00001E001E00001E001E00001E001E00001E0
65 01E00003C003C00003C003C04003C003C04003C001C08007C001C080FFFC00E300000000
66 3C0022237EA125>82 D<3C07C04618604720308740388780388700388700380E00700E00
67 700E00700E00701C00E01C00E01C01C01C01C13801C23803823803823801847001883000
68 F018157E941D>110 D<003E0000C1800380C00700E00E00E01C00F03C00F03C00F07800
69 F07800F07800F0F001E0F001E0F001C0F003C0700380700700700600381C001C380007E0
70 0014157E9417>I E /Fb 3 104 df<03F0000FFC001FFE003FFF007FFF807FFF80FFFFC0
71 FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC0FFFFC07FFF807FFF803FFF001FFE000FFC00
72 03F00012147D9519>15 D<000F0038007000E001C001C001C001C001C001C001C001C001
73 C001C001C001C001C001C001C001C001C0038007001E00F0001E000700038001C001C001
74 C001C001C001C001C001C001C001C001C001C001C001C001C001C001C000E00070003800
75 0F10317CA419>102 D<F0001E000700038001C001C001C001C001C001C001C001C001C0
76 01C001C001C001C001C001C001C001C000E000700038000F0038007000E001C001C001C0
77 01C001C001C001C001C001C001C001C001C001C001C001C001C001C0038007001E00F000
78 10317CA419>I E /Fc 66 126 df<6030F078F078F078F078F078F078F078F078E038E0
79 38E0380D0C7C9916>34 D<0387000387000387000387000387000387007FFFC0FFFFE0FF
80 FFE0070E00070E00070E000F1E000E1C000E1C000E1C00FFFFE0FFFFE07FFFC01C38001C
81 38001C38001C38001C38001C380013197F9816>I<3801807C0380FE0780FE0700EE0700
82 EE0F00EE0E00EE1E00FE1C00FE3C007C380038380000780000700000F00000E00000E000
83 01E00001C00003C0000380000383800787C0070FE00F0EE00E0EE01E0EE01C0EE01C0EE0
84 3C0FE03807C018038013207F9C16>37 D<183C3E1E0E0E0E1E1C3C78F060070D799816>
85 39 D<00E001E007C007000F001E003C0038007800700070007000F000E000E000E000E0
86 00E000E000E000F000700070007000780038003C001E000F00070007C001E000E00B217A
87 9C16>I<E000F0007C001C001E000F000780038003C001C001C001C001E000E000E000E0
88 00E000E000E000E001E001C001C001C003C0038007800F001E001C007C00F000E0000B21
89 7C9C16>I<01C00001C00001C00001C00071C700F9CF807FFF001FFC0007F00007F0001F
90 FC007FFF00F9CF8071C70001C00001C00001C00001C00011127E9516>I<01C00001C000
91 01C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF8001C00001C00001C000
92 01C00001C00001C00001C00001C00011137E9516>I<387C7E7E3E0E1E3C7CF860070B79
93 8416>I<FFFF80FFFF80FFFF8011037E8D16>I<70F8F8F8700505788416>I<0001800003
94 80000780000700000F00000E00001E00001C00003C0000380000780000700000F00000E0
95 0001E00001C00001C00003C0000380000780000700000F00000E00001E00001C00003C00
96 00380000780000700000F00000E00000E0000011207E9C16>I<03E0000FF8001FFC001E
97 3C00380E00780F00700700700700E00380E00380E00380E00380E00380E00380E00380E0
98 0380F00780700700700700780F003C1E001E3C001FFC000FF80003E00011197E9816>I<
99 01800380078007801F807F80FF8073800380038003800380038003800380038003800380
100 03800380038003807FF87FFC7FF80E197C9816>I<07E0001FF8007FFE00783F00F00F00
101 F00780F00380F00380000380000380000780000700000F00001E00003C0000780000F000
102 03E0000780000F00001E03803C03807FFF80FFFF807FFF8011197E9816>I<03E0000FF8
103 003FFC007C1E00780F00F00700E00700E00780E00780E00380F00780F00780780F803FFF
104 803FFB800FE380000780000700300F00780E00781E00787C007FF8003FE0000F80001119
105 7E9816>57 D<70F8F8F870000000000000000070F8F8F8700512789116>I<387C7C7C38
106 0000000000000000387C7C7C3C1C3C38F8F0600618799116>I<000380000780001F8000
107 3E0000FC0003F00007E0001F80003E0000FC0000F00000FC00003E00001F800007E00003
108 F00000FC00003E00001F8000078000038011157E9616>I<7FFF00FFFF80FFFF80000000
109 000000000000000000000000FFFF80FFFF807FFF00110B7E9116>I<E00000F00000FC00
110 003E00001F800007E00003F00000FC00003E00001F80000780001F80003E0000FC0003F0
111 0007E0001F80003E0000FC0000F00000E0000011157E9616>I<00F80003FE000FFF001F
112 0F803E3F803C7F8078FFC071E7C0F1C3C0E3C3C0E381C0E381C0E381C0E381C0E381C0E3
113 C3C0F1C38071E78078FF003C7E003E3C001F03C00FFFC003FF0000FC0012197E9816>64
114 D<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00071C00071C
115 00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007F1FC0FF1F
116 E07F1FC013197F9816>I<7FF800FFFE007FFF001C0F001C07801C03801C03801C03801C
117 07801C07001FFF001FFE001FFE001C1F001C03801C03C01C01C01C01C01C01C01C01C01C
118 03C01C07807FFF80FFFF007FFC0012197F9816>I<01F18007FF800FFF801F0F803C0780
119 780780780380700380F00000E00000E00000E00000E00000E00000E00000E00000F00000
120 7003807803807803803C07801F0F000FFE0007FC0001F00011197E9816>I<7FF800FFFE
121 007FFF001C0F001C07801C03C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C00
122 E01C00E01C00E01C00E01C01C01C01C01C03C01C07801C0F807FFF00FFFE007FF8001319
123 809816>I<7FFFC0FFFFC07FFFC01C01C01C01C01C01C01C01C01C00001C00001C1C001C
124 1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C00E01C00E01C00E01C00E07F
125 FFE0FFFFE07FFFE013197F9816>I<FFFEFFFEFFFE038003800380038003800380038003
126 8003800380038003800380038003800380038003800380FFFEFFFEFFFE0F197D9816>73
127 D<FFC000FFC000FFC0001C00001C00001C00001C00001C00001C00001C00001C00001C00
128 001C00001C00001C00001C00001C00001C00401C00E01C00E01C00E01C00E0FFFFE0FFFF
129 E0FFFFE013197F9816>76 D<FC07E0FE0FE0FE0FE03A0B803B1B803B1B803B1B803B1B80
130 3B1B803BBB8039B38039B38039B38039B38039F38038E38038E380380380380380380380
131 380380380380FE0FE0FE0FE0FE0FE013197F9816>I<7E1FC0FF3FE07F1FC01D07001D87
132 001D87001D87001DC7001DC7001CC7001CC7001CE7001CE7001CE7001C67001C67001C77
133 001C77001C37001C37001C37001C17007F1F00FF9F007F0F0013197F9816>I<1FFC003F
134 FE007FFF00780F00F00780E00380E00380E00380E00380E00380E00380E00380E00380E0
135 0380E00380E00380E00380E00380E00380F00780F00780780F007FFF003FFE001FFC0011
136 197E9816>I<7FE000FFF8007FFC001C1E001C0F001C07001C07001C07001C07001C0F00
137 1C1E001FFC001FF8001FFC001C3E001C0E001C0E001C0E001C0E001C0E201C0E701C0E70
138 7F0FF0FF87E07F03C014197F9816>82 D<07E3001FFF007FFF00781F00F00F00E00700E0
139 0700E00000F000007800007F80001FF00007FC0000FE00000F00000780000380000380E0
140 0380E00380F00780F80F00FFFE00FFFC00C7F00011197E9816>I<7FFFE0FFFFE0FFFFE0
141 E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000E00000E00000E00000E00000E000
142 00E00000E00000E00000E00000E00000E00000E00007FC000FFE0007FC0013197F9816>
143 I<FE0FE0FF1FE0FE0FE03803801C07001C07001C07001C07000E0E000E0E000E0E000E0E
144 00060C00071C00071C00071C00071C0003180003B80003B80003B80001B00001F00001F0
145 0000E00013197F9816>86 D<7FFF80FFFF80FFFF80E00700E00F00E01E00E01C00003C00
146 00780000700000F00001E00001C00003C0000780000700000F00001E03801C03803C0380
147 780380700380FFFF80FFFF80FFFF8011197E9816>90 D<FFF0FFF0FFF0E000E000E000E0
148 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
149 00E000E000E000E000FFF0FFF0FFF00C20789C16>I<E00000E00000F000007000007800
150 003800003C00001C00001E00000E00000F000007000007800003800003C00001C00001C0
151 0001E00000E00000F000007000007800003800003C00001C00001E00000E00000F000007
152 0000078000038000018011207E9C16>I<FFF0FFF0FFF000700070007000700070007000
153 700070007000700070007000700070007000700070007000700070007000700070007000
154 700070FFF0FFF0FFF00C207F9C16>I<1FE0007FF8007FFC00783C00301E00000E00000E
155 0003FE001FFE007E0E00F00E00E00E00E00E00F01E00F83E007FFFE03FE7E00F83E01312
156 7E9116>97 D<7E0000FE00007E00000E00000E00000E00000E00000E3E000EFF800FFFC0
157 0F83E00F01E00E00F00E00F00E00700E00700E00700E00700E00F00F00E00F01E00F83C0
158 0FFFC00EFF00063C001419809816>I<03F80FFE1FFE3C1E780C7000F000E000E000E000
159 E000F000700778073E0F1FFE0FFC03F010127D9116>I<003F00007F00003F0000070000
160 070000070000070003C7000FF7003FFF003C1F00780F00F00700F00700E00700E00700E0
161 0700E00700F00700F00F00781F007C3F003FFFE01FF7F007C7E014197F9816>I<07E00F
162 F81FFC3C3E780E700FF007FFFFFFFFFFFFE000F000700778073E1F1FFE0FFC03F010127D
163 9116>I<001F00007F8000FF8001E78001C30001C00001C0007FFF00FFFF00FFFF0001C0
164 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0003FFE
165 007FFF003FFE0011197F9816>I<03E3C00FFFE01FFFE01E3CC03C1E00380E00380E0038
166 0E003C1E001E3C001FFC001FF8003BE0003800003800001FFC001FFF003FFFC07803C0F0
167 01E0E000E0E000E0E000E0F001E07C07C03FFF800FFE0003F800131C7F9116>I<7E0000
168 FE00007E00000E00000E00000E00000E00000E3C000EFF000FFF800F87800F03800F0380
169 0E03800E03800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7F87FC7F0
170 1519809816>I<018003C003C0018000000000000000007FC07FC07FC001C001C001C001
171 C001C001C001C001C001C001C001C001C07FFFFFFF7FFF101A7D9916>I<7E0000FE0000
172 7E00000E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E7800
173 0EF0000FF8000FF8000FBC000F1E000E0E000E0F000E07807F87F0FFCFF07F87F0141980
174 9816>107 D<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C000
175 01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
176 FFFF80FFFF80FFFF8011197E9816>I<F9C380FFEFC0FFFFE03E7CE03C78E03870E03870
177 E03870E03870E03870E03870E03870E03870E03870E03870E0FE7CF8FE7CF8FE7CF81512
178 809116>I<7E3C00FEFF007FFF800F87800F03800F03800E03800E03800E03800E03800E
179 03800E03800E03800E03800E03807FC7F0FFE7F87FC7F01512809116>I<03E0000FF800
180 1FFC003C1E00780F00700700E00380E00380E00380E00380E00380F00780700700780F00
181 3C1E001FFC000FF80003E00011127E9116>I<7E3E00FEFF807FFFC00F83E00F01E00E00
182 F00E00F00E00700E00700E00700E00700E00F00F00E00F01E00F83C00FFFC00EFF000E3C
183 000E00000E00000E00000E00000E00000E00007FC000FFE0007FC000141B809116>I<FF
184 0FC0FF3FE0FF7FE007F04007E00007C00007800007800007000007000007000007000007
185 0000070000070000FFFC00FFFC00FFFC0013127F9116>114 D<0FEC3FFC7FFCF03CE01C
186 E01CF0007F801FF007FC003EE00EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<030000
187 0700000700000700000700007FFF00FFFF00FFFF00070000070000070000070000070000
188 07000007000007010007038007038007078007878003FF0003FE0000F80011177F9616>
189 I<7E1F80FE3F807E1F800E03800E03800E03800E03800E03800E03800E03800E03800E03
190 800E03800E07800F0F800FFFF007FFF803E3F01512809116>I<7F1FC0FF1FE07F1FC01C
191 07001E0F000E0E000E0E000E0E00071C00071C00071C00071C0003B80003B80003B80001
192 F00001F00000E00013127F9116>I<7F1FC07F3FC07F1FC00F1C00073C0003B80003F000
193 01F00000E00001E00001F00003B800073C00071C000E0E007F1FC0FF3FE07F1FC013127F
194 9116>120 D<7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C00071C00
195 039C00039C0003980001B80001B80000F00000F00000F00000E00000E00000E00001C000
196 79C0007BC0007F80003F00003C0000131B7F9116>I<3FFFC07FFFC07FFFC0700780700F
197 00701E00003C0000F80001F00003E00007C0000F00001E01C03C01C07801C0FFFFC0FFFF
198 C0FFFFC012127F9116>I<001F80007F8001FF8001E00001C00001C00001C00001C00001
199 C00001C00001C00001C00001C00003C0007F8000FF0000FF00007F800003C00001C00001
200 C00001C00001C00001C00001C00001C00001C00001C00001E00001FF80007F80001F8011
201 207E9C16>I<E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0E0
202 E0E00320779C16>I<FC0000FF0000FFC00003C00001C00001C00001C00001C00001C000
203 01C00001C00001C00001C00001E00000FF00007F80007F8000FF0001E00001C00001C000
204 01C00001C00001C00001C00001C00001C00001C00003C000FFC000FF0000FC000011207E
205 9C16>I E /Fd 50 122 df<0001FF0000001FFFC000007F80F00000FE00F80003FC01FC
206 0003F803FC0007F003FC0007F003FC0007F003FC0007F001F80007F000F00007F0000000
207 07F000000007F000000007F0000000FFFFFFFC00FFFFFFFC00FFFFFFFC0007F001FC0007
208 F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F0
209 01FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001
210 FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC007FFF1FFFC07FFF1FFF
211 C07FFF1FFFC0222A7FA926>12 D<00000600000000000F00000000000F00000000000F00
212 000000000F00000000000F00000000000F00000000000F00000000000F00000000000F00
213 000000000F00000000000F00000000000F00000000000F00000000000F00000000000F00
214 000000000F00000000000F00000000000F00000000000F00000000000F0000007FFFFFFF
215 FFE0FFFFFFFFFFF0FFFFFFFFFFF07FFFFFFFFFE000000F00000000000F00000000000F00
216 000000000F00000000000F00000000000F00000000000F00000000000F00000000000F00
217 000000000F00000000000F00000000000F00000000000F00000000000F00000000000F00
218 000000000F00000000000F00000000000F00000000000F00000000000F00000000000600
219 00002C2E7CA535>43 D<FFFF80FFFF80FFFF80FFFF80FFFF80FFFF8011067F9017>45
220 D<1C007F00FF80FF80FF80FF80FF807F001C0009097B8813>I<00000300000007800000
221 0F8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000007C000000
222 7C00000078000000F8000000F8000000F0000001F0000001F0000003E0000003E0000003
223 C0000007C0000007C00000078000000F8000000F8000001F0000001F0000001E0000003E
224 0000003E0000003C0000007C0000007C000000F8000000F8000000F0000001F0000001F0
225 000001E0000003E0000003E0000007C0000007C00000078000000F8000000F8000000F00
226 00001F0000001F0000003E0000003E0000003C0000007C0000007C00000078000000F800
227 0000F8000000F000000060000000193C7CAC22>I<000E00001E00007E0007FE00FFFE00
228 FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
229 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
230 00FE0000FE0000FE0000FE0000FE0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>
231 49 D<00FF800003FFF0000FFFFC003F03FF007C00FF807C007FC0FE007FC0FF003FE0FF
232 003FE0FF003FE0FF001FE07E001FE03C003FE000003FE000003FC000003FC000007F8000
233 007F800000FF000001FE000001FC000003F0000007E000000FC000001F0000003E000000
234 7C00E0007800E000F000E001E001C0038001C0070001C00FFFFFC01FFFFFC03FFFFFC07F
235 FFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007FFFC001F81
236 FE001F00FF003F80FF003F807F803FC07F803F807F803F807F801F007F800000FF800000
237 FF000000FF000001FE000003F8000007F00000FFC00000FFF0000001FC000000FF000000
238 7F8000007FC000003FC000003FE000003FE000003FE03C003FE07E003FE0FF003FE0FF00
239 3FE0FF003FC0FF007FC0FE007F807C00FF803F01FF001FFFFC0007FFF00000FF80001B27
240 7DA622>I<00000E0000001E0000003E0000007E000000FE000000FE000001FE000003FE
241 0000077E00000E7E00000E7E00001C7E0000387E0000707E0000E07E0000E07E0001C07E
242 0003807E0007007E000E007E000E007E001C007E0038007E0070007E00E0007E00FFFFFF
243 F8FFFFFFF8FFFFFFF80000FE000000FE000000FE000000FE000000FE000000FE000000FE
244 000000FE00007FFFF8007FFFF8007FFFF81D277EA622>I<0C0003000F803F000FFFFE00
245 0FFFFE000FFFFC000FFFF8000FFFE0000FFFC0000FFE00000E0000000E0000000E000000
246 0E0000000E0000000E0000000E7FC0000FFFF8000F80FE000E007F000C003F8000003F80
247 00001FC000001FC000001FE000001FE018001FE07E001FE0FE001FE0FE001FE0FE001FE0
248 FE001FE0FE001FC078003FC078003F803C007F001F01FE000FFFFC0003FFF00000FF8000
249 1B277DA622>I<0007F000003FFC0000FFFF0001FC0F0007F01F800FE03F800FC03F801F
250 C03F803F803F803F801F007F8000007F0000007F0000007F000000FF000000FF0FC000FF
251 3FF800FF70FE00FFE03F00FFC03F80FF801FC0FF801FC0FF801FC0FF001FE0FF001FE0FF
252 001FE0FF001FE07F001FE07F001FE07F001FE07F001FE03F801FC03F801FC01F803F800F
253 C03F8007E0FF0003FFFC0000FFF000003FC0001B277DA622>I<380000003E0000003FFF
254 FFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFFC07FFFFF8070000F0070001E007000
255 3C00E0003800E0007800E000F0000001E0000003C0000003C0000007800000078000000F
256 0000001F0000001F0000001F0000003F0000003F0000003E0000007E0000007E0000007E
257 0000007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE
258 000000FE0000003800001C297CA822>I<003FC00001FFF00003FFFC000FC07E000F003F
259 001F001F001E001F803E000F803E000F803F000F803F800F803FC01F803FF01F003FFC3F
260 001FFE7E001FFFF8000FFFE00007FFF80001FFFC0001FFFF0007FFFF801F8FFF803F03FF
261 C07E01FFC07C007FE0FC001FE0F8000FE0F80007E0F80003E0F80003E0F80003E0FC0003
262 C07C0007C07E0007803F000F801FC03F000FFFFC0003FFF800007FC0001B277DA622>I<
263 007F800001FFF00007FFF8000FE0FE001FC07E003F803F007F003F807F003F80FF001FC0
264 FF001FC0FF001FC0FF001FC0FF001FE0FF001FE0FF001FE0FF001FE07F003FE07F003FE0
265 7F003FE03F807FE01F80FFE00FE1DFE003FF9FE0007E1FE000001FE000001FC000001FC0
266 00001FC000003FC01F003F803F803F803F807F003F807F003F80FE003F01FC001E03F800
267 0FFFE00007FF800001FE00001B277DA622>I<1C007F00FF80FF80FF80FF80FF807F001C
268 000000000000000000000000000000000000001C007F00FF80FF80FF80FF80FF807F001C
269 00091B7B9A13>I<000003800000000007C00000000007C0000000000FE0000000000FE0
270 000000000FE0000000001FF0000000001FF0000000003FF8000000003FF8000000003FF8
271 0000000073FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF
272 00000001C0FF00000003C0FF80000003807F80000007807FC0000007003FC0000007003F
273 C000000E003FE000000E001FE000001E001FF000001C000FF000001FFFFFF000003FFFFF
274 F800003FFFFFF80000780007FC0000700003FC0000700003FC0000E00001FE0000E00001
275 FE0001E00001FF0001C00000FF0001C00000FF00FFFE001FFFFEFFFE001FFFFEFFFE001F
276 FFFE2F297EA834>65 D<00003FF001800003FFFE0780000FFFFF8F80003FF007FF8000FF
277 8001FF8001FE00007F8007FC00003F8007F800001F800FF000000F801FE000000F803FE0
278 000007803FC0000007807FC0000003807FC0000003807FC000000380FF8000000000FF80
279 00000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF80
280 00000000FF8000000000FF8000000000FF80000000007FC0000000007FC0000003807FC0
281 000003803FC0000003803FE0000003801FE0000007800FF00000070007F800000F0007FC
282 00001E0001FE00003C0000FF8000F800003FF007F000000FFFFFC0000003FFFF00000000
283 3FF8000029297CA832>67 D<FFFFFFF80000FFFFFFFF8000FFFFFFFFE00003FC001FF800
284 03FC0007FC0003FC0001FE0003FC0000FF0003FC00007F8003FC00003FC003FC00001FC0
285 03FC00001FE003FC00001FE003FC00000FF003FC00000FF003FC00000FF003FC00000FF0
286 03FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF8
287 03FC00000FF803FC00000FF803FC00000FF803FC00000FF803FC00000FF003FC00000FF0
288 03FC00000FF003FC00001FE003FC00001FE003FC00001FC003FC00003FC003FC00007F80
289 03FC00007F0003FC0001FE0003FC0003FC0003FC001FF800FFFFFFFFE000FFFFFFFF8000
290 FFFFFFFC00002D297DA835>I<FFFFFFFFE0FFFFFFFFE0FFFFFFFFE003FC001FE003FC00
291 07F003FC0001F003FC0001F003FC0000F003FC00007003FC00007003FC00007003FC01C0
292 7803FC01C03803FC01C03803FC01C03803FC03C00003FC03C00003FC0FC00003FFFFC000
293 03FFFFC00003FFFFC00003FC0FC00003FC03C00003FC03C00003FC01C00E03FC01C00E03
294 FC01C00E03FC01C01C03FC00001C03FC00001C03FC00001C03FC00003C03FC00003803FC
295 00007803FC0000F803FC0001F803FC0003F803FC001FF8FFFFFFFFF0FFFFFFFFF0FFFFFF
296 FFF027297DA82D>I<00007FE003000003FFFC0F00001FFFFF1F00007FF00FFF0000FF80
297 01FF0003FE0000FF0007FC00007F000FF800003F000FF000001F001FE000001F003FE000
298 000F003FC000000F007FC0000007007FC0000007007FC000000700FF8000000000FF8000
299 000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000
300 000000FF8000000000FF8001FFFFF8FF8001FFFFF87FC001FFFFF87FC00000FF007FC000
301 00FF003FC00000FF003FE00000FF001FE00000FF000FF00000FF000FF80000FF0007FC00
302 00FF0003FE0001FF0000FF8001FF00007FF007FF00001FFFFFBF000003FFFE0F0000007F
303 F003002D297CA836>71 D<FFFFFCFFFFFCFFFFFC01FE0001FE0001FE0001FE0001FE0001
304 FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001
305 FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001FE0001
306 FE0001FE0001FE0001FE0001FE0001FE00FFFFFCFFFFFCFFFFFC16297EA81A>73
307 D<FFFFFC0000FFFFFC0000FFFFFC000003FC00000003FC00000003FC00000003FC000000
308 03FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003
309 FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC
310 00000003FC00000003FC00000003FC0001C003FC0001C003FC0001C003FC0001C003FC00
311 03C003FC00038003FC00038003FC00078003FC00078003FC000F8003FC000F8003FC001F
312 8003FC007F8003FC01FF00FFFFFFFF00FFFFFFFF00FFFFFFFF0022297DA829>76
313 D<FFFE0000001FFFC0FFFE0000001FFFC0FFFF0000003FFFC003FF0000003FF00003FF00
314 00003FF00003BF80000077F00003BF80000077F000039FC00000E7F000039FC00000E7F0
315 00038FE00001C7F000038FE00001C7F0000387F0000387F0000387F0000387F0000387F0
316 000387F0000383F8000707F0000383F8000707F0000381FC000E07F0000381FC000E07F0
317 000380FE001C07F0000380FE001C07F0000380FF003807F00003807F003807F00003807F
318 003807F00003803F807007F00003803F807007F00003801FC0E007F00003801FC0E007F0
319 0003800FE1C007F00003800FE1C007F00003800FE1C007F000038007F38007F000038007
320 F38007F000038003FF0007F000038003FF0007F000038001FE0007F000038001FE0007F0
321 00038000FC0007F000038000FC0007F000FFFE00FC01FFFFC0FFFE007801FFFFC0FFFE00
322 7801FFFFC03A297DA841>I<FFFC0000FFFEFFFE0000FFFEFFFF0000FFFE03FF80000380
323 03FFC000038003FFE000038003BFE0000380039FF0000380038FF80003800387FC000380
324 0387FE0003800383FE0003800381FF0003800380FF80038003807FC0038003807FE00380
325 03803FF0038003801FF0038003800FF80380038007FC0380038003FE0380038003FF0380
326 038001FF8380038000FF83800380007FC3800380003FE3800380001FF3800380001FFB80
327 0380000FFB8003800007FF8003800003FF8003800001FF8003800001FF8003800000FF80
328 038000007F80038000003F80038000001F80038000000F80FFFE00000F80FFFE00000780
329 FFFE000003802F297DA836>I<0000FFE000000007FFFC0000003FC07F8000007F001FC0
330 0001FC0007F00003F80003F80007F00001FC000FF00001FE001FE00000FF001FE00000FF
331 003FC000007F803FC000007F807FC000007FC07F8000003FC07F8000003FC07F8000003F
332 C0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003F
333 E0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE07F8000003FC07FC000007F
334 C07FC000007FC03FC000007F803FC000007F801FE00000FF001FE00000FF000FF00001FE
335 0007F00001FC0003F80003F80001FC0007F00000FF001FE000003FC07F8000000FFFFE00
336 000000FFE000002B297CA834>I<007F806003FFF0E00FFFFFE01F807FE03F001FE07E00
337 07E07E0003E07C0003E0FC0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC0
338 00007FFE00007FFFE0003FFFFC003FFFFF001FFFFF8007FFFFC003FFFFE000FFFFF00007
339 FFF000007FF000000FF8000007F8000003F8E00003F8E00001F8E00001F8E00001F8F000
340 01F8F00001F0F80003F0FC0003E0FF0007E0FFE01FC0FFFFFF00E0FFFE00C01FF0001D29
341 7CA826>83 D<FFFFF001FFFCFFFFF001FFFCFFFFF001FFFC03FC0000070003FC00000700
342 03FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC00000700
343 03FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC00000700
344 03FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC00000700
345 03FC0000070003FC0000070003FC0000070003FC0000070003FC0000070003FC00000700
346 03FC0000070003FC00000F0001FC00000E0001FE00000E0000FE00001E0000FF00003C00
347 007F80007800003FC000F800001FF007E0000007FFFFC0000001FFFF000000001FF80000
348 2E297DA835>85 D<FFFFF0003FFF80FFFFF0003FFF80FFFFF0003FFF8003FF000001E000
349 01FF000003C00000FF8000038000007FC000078000007FE0000F0000003FE0000E000000
350 1FF0001E0000001FF8003C0000000FF8003800000007FC007800000007FE00F000000003
351 FE00E000000001FF01E000000001FF83C000000000FF8380000000007FC780000000007F
352 EF00000000003FEE00000000001FFE00000000000FFC00000000000FF8000000000007F8
353 000000000007F8000000000007F8000000000007F8000000000007F8000000000007F800
354 0000000007F8000000000007F8000000000007F8000000000007F8000000000007F80000
355 00000007F8000000000007F8000000000007F80000000001FFFFE000000001FFFFE00000
356 0001FFFFE0000031297FA834>89 D<01FF800007FFF0000F81FC001FC0FE001FC07F001F
357 C07F001FC03F800F803F8000003F8000003F8000003F80000FFF8000FFFF8007FC3F801F
358 E03F803F803F807F803F807F003F80FE003F80FE003F80FE003F80FE007F80FF007F807F
359 00FFC03F83DFFC0FFF0FFC01FC03FC1E1B7E9A21>97 D<FFE0000000FFE0000000FFE000
360 00000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000
361 000FE00000000FE00000000FE00000000FE00000000FE00000000FE1FE00000FE7FF8000
362 0FFE07E0000FF803F8000FF001FC000FE000FE000FE000FE000FE0007F000FE0007F000F
363 E0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE0
364 007F800FE0007F800FE0007F000FE000FF000FE000FE000FF000FE000FF001FC000FF803
365 F8000F9E07E0000F0FFF80000E01FC0000212A7EA926>I<001FF80000FFFE0003F01F00
366 0FE03F801FC03F803F803F803F803F807F801F007F000000FF000000FF000000FF000000
367 FF000000FF000000FF000000FF000000FF000000FF0000007F0000007F8000003F8001C0
368 3FC001C01FC003C00FE0078003F01F0000FFFC00001FE0001A1B7E9A1F>I<00003FF800
369 00003FF80000003FF800000003F800000003F800000003F800000003F800000003F80000
370 0003F800000003F800000003F800000003F800000003F800000003F800000003F800001F
371 E3F80000FFFBF80003F03FF8000FE00FF8001FC007F8003F8003F8003F8003F8007F8003
372 F8007F0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F8
373 00FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8003F8003F8003F8007F800
374 1FC00FF8000FE01FF80003F03FFF8000FFF3FF80003FC3FF80212A7EA926>I<003FE000
375 01FFF80003F07E000FE03F001FC01F803F800FC03F800FC07F000FC07F0007E0FF0007E0
376 FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000FF000000FF0000007F000000
377 7F8000003F8000E03F8001E01FC001C00FE003C003F81F8000FFFE00001FF0001B1B7E9A
378 20>I<0007F0003FFC00FE3E01FC7F03F87F03F87F07F07F07F03E07F00007F00007F000
379 07F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F000
380 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
381 07F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915>I<00FF81F003FFE7FC
382 0FC1FE7C1F80FC7C3F80FE7C3F007E107F007F007F007F007F007F007F007F007F007F00
383 7F007F003F007E003F80FE001F80FC000FC1F8001FFFE00018FF8000380000003C000000
384 3C0000003E0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FFFFF01FFFFFF07E0007F8
385 7C0001F8F80001F8F80000F8F80000F8F80000F8FC0001F87E0003F03F0007E00FC01F80
386 03FFFE00007FF0001E287E9A22>I<FFE0000000FFE0000000FFE00000000FE00000000F
387 E00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0
388 0000000FE00000000FE00000000FE00000000FE07F00000FE1FFC0000FE787E0000FEE07
389 F0000FFC03F8000FF803F8000FF003F8000FF003F8000FF003F8000FE003F8000FE003F8
390 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800
391 0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800FFFE3FFF80FF
392 FE3FFF80FFFE3FFF80212A7DA926>I<07001FC01FE03FE03FE03FE01FE01FC007000000
393 000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE0
394 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>
395 I<FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
396 E00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00F
397 E00FE00FE00FE0FFFEFFFEFFFE0F2A7DA914>108 D<FFC07F800FF000FFC1FFE03FFC00
398 FFC783F0F07E000FCE03F9C07F000FDC01FB803F000FF801FF003F800FF001FE003F800F
399 F001FE003F800FF001FE003F800FE001FC003F800FE001FC003F800FE001FC003F800FE0
400 01FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001
401 FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC003F800FE001FC
402 003F800FE001FC003F80FFFE1FFFC3FFF8FFFE1FFFC3FFF8FFFE1FFFC3FFF8351B7D9A3A
403 >I<FFC07F0000FFC1FFC000FFC787E0000FCE07F0000FDC03F8000FF803F8000FF003F8
404 000FF003F8000FF003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F800
405 0FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000F
406 E003F8000FE003F8000FE003F800FFFE3FFF80FFFE3FFF80FFFE3FFF80211B7D9A26>I<
407 003FE00001FFFC0003F07E000FC01F801F800FC03F800FE03F0007E07F0007F07F0007F0
408 7F0007F0FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8FF0007F8
409 7F0007F07F0007F03F800FE03F800FE01F800FC00FC01F8007F07F0001FFFC00003FE000
410 1D1B7E9A22>I<FFE1FE0000FFE7FF8000FFFE07E0000FF803F8000FF001FC000FE001FE
411 000FE000FE000FE000FF000FE000FF000FE0007F800FE0007F800FE0007F800FE0007F80
412 0FE0007F800FE0007F800FE0007F800FE0007F800FE0007F800FE000FF000FE000FF000F
413 E000FE000FF001FE000FF003FC000FF803F8000FFE0FE0000FEFFF80000FE1FC00000FE0
414 0000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000
415 00000FE0000000FFFE000000FFFE000000FFFE00000021277E9A26>I<FFC1F0FFC7FCFF
416 CE3E0FDC7F0FD87F0FF87F0FF07F0FF03E0FF0000FE0000FE0000FE0000FE0000FE0000F
417 E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000FFFF00FFFF00FF
418 FF00181B7E9A1C>114 D<03FE300FFFF03E03F07800F07000F0F00070F00070F80070FC
419 0000FFE000FFFE007FFFC03FFFE01FFFF007FFF800FFFC0003FC0000FCE0007CE0003CF0
420 003CF0003CF80078FC0078FF01F0F7FFC0C1FF00161B7E9A1B>I<007000007000007000
421 00700000F00000F00000F00001F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F000
422 07F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F000
423 07F03807F03807F03807F03807F03807F03807F03803F87001F8F000FFE0001F8015267F
424 A51B>I<FFE03FF800FFE03FF800FFE03FF8000FE003F8000FE003F8000FE003F8000FE0
425 03F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003
426 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE007F8
427 000FE007F8000FE00FF80007E01FF80003F03BFF8001FFF3FF80003FC3FF80211B7D9A26
428 >I<FFFE03FF80FFFE03FF80FFFE03FF8007F000700007F000700007F800F00003F800E0
429 0003FC01E00001FC01C00001FC01C00000FE03800000FE038000007F070000007F070000
430 007F8F0000003F8E0000003FDE0000001FDC0000001FDC0000000FF80000000FF8000000
431 0FF800000007F000000007F000000003E000000003E000000001C00000211B7F9A24>I<
432 FFFE7FFC0FFEFFFE7FFC0FFEFFFE7FFC0FFE0FE007E000E007F003F001C007F003F001C0
433 07F807F803C003F807F8038003F807F8038001FC0EFC070001FC0EFC070001FE1EFC0F00
434 00FE1C7E0E0000FE1C7E0E0000FF383F1E00007F383F1C00007F783F3C00003FF01FB800
435 003FF01FB800003FF01FF800001FE00FF000001FE00FF000000FC007E000000FC007E000
436 000FC007E00000078003C00000078003C0002F1B7F9A32>I<FFFC0FFF00FFFC0FFF00FF
437 FC0FFF0007F003C00003F807800001FC07800000FE0F000000FF1E0000007F3C0000003F
438 F80000001FF00000000FF00000000FF000000007F000000007F80000000FFC0000001FFE
439 0000001EFE0000003C7F000000783F800000F01FC00001E01FE00001C00FE00003C007F0
440 00FFF01FFF80FFF01FFF80FFF01FFF80211B7F9A24>I<FFFE03FF80FFFE03FF80FFFE03
441 FF8007F000700007F000700007F800F00003F800E00003FC01E00001FC01C00001FC01C0
442 0000FE03800000FE038000007F070000007F070000007F8F0000003F8E0000003FDE0000
443 001FDC0000001FDC0000000FF80000000FF80000000FF800000007F000000007F0000000
444 03E000000003E000000001C000000001C000000003800000000380000038078000007C07
445 000000FE0F000000FE0E000000FE1E000000FE3C0000007C780000003FE00000000FC000
446 000021277F9A24>I E /Fe 40 122 df<6060F0F0F8F868680808080808081010101020
447 20404080800D0C7F9C15>34 D<0006000000060000000600000006000000060000000600
448 0000060000000600000006000000060000000600000006000000060000FFFFFFE0FFFFFF
449 E00006000000060000000600000006000000060000000600000006000000060000000600
450 00000600000006000000060000000600001B1C7E9720>43 D<60F0F07010101010202040
451 80040C7C830C>I<FFE0FFE00B0280890E>I<60F0F06004047C830C>I<03E00C30100820
452 0C20066006600660067006780C3E083FB01FE007F007F818FC307E601E600FC007C003C0
453 03C003C00360026004300C1C1007E0101D7E9B15>56 D<00060000000600000006000000
454 0F0000000F0000000F00000017800000178000001780000023C0000023C0000023C00000
455 41E0000041E0000041E0000080F0000080F0000180F8000100780001FFF80003007C0002
456 003C0002003C0006003E0004001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F
457 >65 D<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E0F001E0F001C0F003C
458 0F00780F01F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F0F000F0F000F
459 0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D>I<001F808000E06180018019800700
460 07800E0003801C0003801C00018038000180780000807800008070000080F0000000F000
461 0000F0000000F0000000F0000000F0000000F0000000F000000070000080780000807800
462 0080380000801C0001001C0001000E000200070004000180080000E03000001FC000191E
463 7E9C1E>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F02040F02000F
464 02000F02000F06000FFE000F06000F02000F02000F02000F02000F00000F00000F00000F
465 00000F00000F00000F00000F8000FFF800161C7E9B1B>70 D<001F808000E06180018019
466 80070007800E0003801C0003801C00018038000180780000807800008070000080F00000
467 00F0000000F0000000F0000000F0000000F0000000F000FFF0F0000F8070000780780007
468 8078000780380007801C0007801C0007800E00078007000B800180118000E06080001F80
469 001C1E7E9C21>I<FFF8000F80000F00000F00000F00000F00000F00000F00000F00000F
470 00000F00000F00000F00000F00000F00000F00000F00000F00000F00080F00080F00080F
471 00180F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>76
472 D<003F800000E0E0000380380007001C000E000E001C0007003C00078038000380780003
473 C0780003C0700001C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001
474 E0F00001E0700001C0780003C0780003C0380003803C0007801C0007000E000E0007001C
475 000380380000E0E000003F80001B1E7E9C20>79 D<07E0801C1980300580700380600180
476 E00180E00080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80
477 000F800007C00003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C00
478 83F800121E7E9C17>83 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F002080
479 0F0020800F0020800F0020000F0000000F0000000F0000000F0000000F0000000F000000
480 0F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000
481 0F0000000F0000001F800003FFFC001B1C7F9B1E>I<FFF007FC0F8001E00780008007C0
482 018003C0010003E0020001F0020000F0040000F8040000780800007C1800003C1000001E
483 2000001F2000000F4000000FC00000078000000780000007800000078000000780000007
484 80000007800000078000000780000007800000078000007FF8001E1C809B1F>89
485 D<08081010202040404040808080808080B0B0F8F8787830300D0C7A9C15>92
486 D<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C00601C
487 00E01C40E01C40E01C40603C40304E801F870012127E9115>97 D<FC00001C00001C0000
488 1C00001C00001C00001C00001C00001C00001C00001C00001C7C001D86001E03001C0180
489 1C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01C01C01801E0300
490 19060010F800131D7F9C17>I<07E00C301878307870306000E000E000E000E000E000E0
491 0060007004300418080C3007C00E127E9112>I<003F0000070000070000070000070000
492 070000070000070000070000070000070003E7000C1700180F00300700700700600700E0
493 0700E00700E00700E00700E00700E00700600700700700300700180F000C370007C7E013
494 1D7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000E000E000600070023002
495 18040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FF
496 E00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00F
497 1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C00381C00381C00181800
498 1C38000C300013C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0
499 C000C0C000C06001803003001C0E0007F800121C7F9215>I<FC00001C00001C00001C00
500 001C00001C00001C00001C00001C00001C00001C00001C7C001C87001D03001E03801C03
501 801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
502 80FF9FF0141D7F9C17>I<18003C003C0018000000000000000000000000000000FC001C
503 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091D7F
504 9C0C>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00
505 001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C38
506 001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>107
507 D<FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
508 001C001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<FC7E07E0001C
509 838838001D019018001E01E01C001C01C01C001C01C01C001C01C01C001C01C01C001C01
510 C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C0
511 1C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C87001D03001E03801C03801C03
512 801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380FF9F
513 F014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001C0E001C0E0
514 01C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC7C00
515 1D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C0
516 1C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000
517 FF8000131A7F9117>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C00
518 1C001C001C001C00FFC00D127F9110>114 D<1F9030704030C010C010E010F8007F803F
519 E00FF000F880388018C018C018E010D0608FC00D127F9110>I<04000400040004000C00
520 0C001C003C00FFE01C001C001C001C001C001C001C001C001C001C101C101C101C101C10
521 0C100E2003C00C1A7F9910>I<FC1F801C03801C03801C03801C03801C03801C03801C03
522 801C03801C03801C03801C03801C03801C03801C07800C07800E1B8003E3F014127F9117
523 >I<FF07E03C03801C01001C01000E02000E020007040007040007040003880003880003
524 D80001D00001D00000E00000E00000E00000400013127F9116>I<FF3FCFE03C0F03801C
525 0701801C0701001C0B01000E0B82000E0B82000E1182000711C4000711C4000720C40003
526 A0E80003A0E80003C0680001C0700001C0700001803000008020001B127F911E>I<7F8F
527 F00F03800F030007020003840001C80001D80000F00000700000780000F800009C00010E
528 00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03801C01001C01000E
529 02000E020007040007040007040003880003880003D80001D00001D00000E00000E00000
530 E000004000004000008000008000F08000F10000F300006600003C0000131A7F9116>I
531 E /Ff 3 52 df<0C001C00EC000C000C000C000C000C000C000C000C000C000C000C000C
532 000C000C000C00FFC00A137D9211>49 D<1F0060C06060F070F030603000700070006000
533 C001C00180020004000810101020207FE0FFE00C137E9211>I<0FC03070703870387038
534 0038003000E00FC0007000380018001C601CF01CF018E03860701FC00E137F9211>I
535 E /Fg 61 126 df<2008F01EF01EF01EF01EF01EF01EF01EF01E701C701C701C701C701C
536 600C0F0F7B9E1A>34 D<00600000E00000E00000E00000E00003FC000FFF001FFF803EE7
537 C078E1C0F0E1E0E0E0E0E0E1E0E0E1E0E0E0C0F0E00078E0003FE0001FF8000FFE0001FF
538 0000EF8000E3C000E1C060E1E0F0E0E0F0E0E0F0E0E0E0E1E0F0E1C078E3C03EEF801FFF
539 000FFE0003F80000E00000E00000E00000600013277DA21A>36 D<3C00C07E01E07E03E0
540 FF03E0E703C0E707C0E707C0E70780E70F80E70F80E71F00FF1F007E1E007E3E003C3E00
541 003C00007C00007C0000F80000F80000F00001F00001F00001E00003E00003E00003C1E0
542 07C3F007C3F00F87F80F87380F07381F07381F07381E07383E07F83E03F03C03F01801E0
543 15277EA21A>I<01E00003F00007F8000F3C000E1C000E1C000E1C000E1C000E3C000E39
544 FC0E79FC0FF1FC07E1E007C1C00781C00783C00F83801FC7803DC70079E700F0EF00E0FE
545 00E07E00E03C08E03C1CF07E1C78FF3C7FE7F83FC3F80F81F0161E7F9D1A>I<1C3C3E1E
546 0E0E0E0E1E1C3C38F8F0E0070F779D1A>I<0038007800F801E003C007800F001E001C00
547 3C0038007800700070007000F000E000E000E000E000E000E000E000E000F00070007000
548 7000780038003C001C001E000F00078003C001E000F8007800380D2878A21A>I<6000F0
549 0078003C001E000F00078003C001C001E000E000F0007000700070007800380038003800
550 380038003800380038007800700070007000F000E001E001C003C007800F001E003C0078
551 00F00060000D287CA21A>I<00E00000E00000E00000E00040E040F0E1E0F8E3E07EEFC0
552 1FFF0007FC0003F80007FC001FFF007EEFC0F8E3E0F0E1E040E04000E00000E00000E000
553 00E00013157D991A>I<0030000078000078000078000078000078000078000078000078
554 007FFFF0FFFFF8FFFFF87FFFF00078000078000078000078000078000078000078000078
555 0000300015167E991A>I<3C7E7F7F7F3F070F0E3EFCF8E0080D77851A>I<7FFFC0FFFFE0
556 FFFFE07FFFC013047D901A>I<78FCFCFCFC78060676851A>I<0000C00001E00003E00003
557 E00003C00007C00007C0000F80000F80001F00001F00001E00003E00003E00007C00007C
558 0000F80000F80001F00001F00001E00003E00003E00007C00007C0000F80000F80000F00
559 001F00001F00003E00003E00007C00007C0000780000F80000F80000F000006000001327
560 7DA21A>I<01F00007FC000FFE001F1F001C07003803803803807001C07001C07001C0E0
561 00E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C078
562 03C03803803C07801C07001F1F000FFE0007FC0001F000131E7D9D1A>I<00C001C003C0
563 03C007C00FC07FC0FDC079C001C001C001C001C001C001C001C001C001C001C001C001C0
564 01C001C001C001C001C001C07FFF7FFF7FFF101E7B9D1A>I<07F8000FFE001FFF003C0F
565 807803C0F001C0E001E0F000E0F000E06000E00000E00000E00001E00001C00003C00007
566 80000F00000E00003E00007C0000F80001E00003C0000780000F00001E00E03C00E07FFF
567 E0FFFFE07FFFE0131E7D9D1A>I<78FCFCFCFC7800000000000000000078FCFCFCFC7806
568 1576941A>58 D<3C7E7E7E7E3C0000000000000000003C7C7E7E7E3E0E1E1C3CF8F0E007
569 1C77941A>I<7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000007FFFF0FFFFF8
570 FFFFF87FFFF0150C7E941A>61 D<007E0001FF8003FFC007C3E00F00E01E0FF03C3FF038
571 7FF07879F870F0F8F0E078E1E078E1C038E1C038E1C038E1C038E1C038E1C038E1E078F0
572 E07070F0F07879E0387FE03C3FC01E0F000F003807C1F803FFF801FFE0007F80151E7E9D
573 1A>64 D<003800007C00007C00006C0000EE0000EE0000EE0000C60000C60001C70001C7
574 0001C70001C7000383800383800383800383800701C00701C007FFC007FFC00FFFE00E00
575 E00E00E00E00E00E00E01C00707F01FCFF83FE7F01FC171E7F9D1A>I<00FE3803FFB807
576 FFF80F83F81E00F81C00783C0078780038700038700038F00000E00000E00000E00000E0
577 0000E00000E00000E00000E00000F000007000387000387800383C00781C00701E00F00F
578 83E007FFC003FF8000FE00151E7E9D1A>67 D<7FFE00FFFF007FFF801C07C01C01E01C00
579 F01C00701C00781C00381C00381C003C1C001C1C001C1C001C1C001C1C001C1C001C1C00
580 1C1C001C1C003C1C00381C00381C00781C00701C00F01C01E01C07C07FFFC0FFFF007FFE
581 00161E7F9D1A>I<FFFFF8FFFFF8FFFFF81C00381C00381C00381C00381C00001C00001C
582 00001C0E001C0E001C0E001FFE001FFE001FFE001C0E001C0E001C0E001C00001C00001C
583 00001C001C1C001C1C001C1C001C1C001CFFFFFCFFFFFCFFFFFC161E7E9D1A>I<FFFF80
584 FFFF80FFFF8001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
585 01C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
586 01C00001C000FFFF80FFFF80FFFF80111E7C9D1A>73 D<7FE000FFF0007FE0000E00000E
587 00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E
588 00000E00000E00000E00000E00000E00000E001C0E001C0E001C0E001C0E001C7FFFFCFF
589 FFFC7FFFFC161E7F9D1A>76 D<7E003F00FF007F807F007F001D80DC001D80DC001D80DC
590 001DC1DC001DC1DC001CC19C001CC19C001CE39C001CE39C001C631C001C771C001C771C
591 001C361C001C361C001C3E1C001C1C1C001C1C1C001C001C001C001C001C001C001C001C
592 001C001C001C001C001C001C007F007F00FF80FF807F007F00191E809D1A>I<FE03FEFF
593 03FEFF03FE1D80701D80701DC0701CC0701CC0701CE0701CE0701C60701C70701C70701C
594 30701C38701C38701C18701C1C701C1C701C0C701C0E701C0E701C06701C06701C07701C
595 03701C0370FF81F0FF81F0FF80F0171E7F9D1A>I<0FFE003FFF807FFFC07C07C07001C0
596 F001E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0
597 E000E0E000E0E000E0E000E0E000E0E000E0F001E0F001E07001C07C07C07FFFC03FFF80
598 0FFE00131E7D9D1A>I<07F1C01FFDC03FFFC07C1FC07007C0F003C0E001C0E001C0E001
599 C0E00000F000007800003F00001FF8000FFE0001FF00000F800003C00001C00001E00000
600 E06000E0E000E0E000E0F001E0F003C0FE0780FFFF80FFFE00E3FC00131E7D9D1A>83
601 D<7FFFFEFFFFFEFFFFFEE0380EE0380EE0380EE0380E0038000038000038000038000038
602 000038000038000038000038000038000038000038000038000038000038000038000038
603 0000380000380000380003FF8003FF8003FF80171E7F9D1A>I<FF83FEFF83FEFF83FE1C
604 00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C00701C
605 00701C00701C00701C00701C00701C00701C00701C00701E00F00E00E00F01E007C7C003
606 FF8001FF00007C00171E7F9D1A>I<FF01FEFF01FEFF01FE1C00701C00701C00701E00F0
607 0E00E00E00E00E00E00701C00701C00701C00701C003838003838003838003838001C700
608 01C70001C70001C70000C60000EE0000EE0000EE00006C00007C00007C00003800171E7F
609 9D1A>I<FFF8FFF8FFF8E000E000E000E000E000E000E000E000E000E000E000E000E000
610 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
611 E000E000FFF8FFF8FFF80D2776A21A>91 D<600000F00000F80000F800007800007C0000
612 7C00003E00003E00001F00001F00000F00000F80000F800007C00007C00003E00003E000
613 01E00001F00001F00000F80000F800007C00007C00003E00003E00001E00001F00001F00
614 000F80000F800007C00007C00003C00003E00003E00001E00000C013277DA21A>I<FFF8
615 FFF8FFF80038003800380038003800380038003800380038003800380038003800380038
616 00380038003800380038003800380038003800380038003800380038003800380038FFF8
617 FFF8FFF80D277EA21A>I<1FF0003FFC007FFE00781F0030078000038000038000FF8007
618 FF801FFF803F83807C0380F00380E00380E00380E00380F007807C1F803FFFFC1FFDFC07
619 F0FC16157D941A>97 D<FE0000FE0000FE00000E00000E00000E00000E00000E00000E00
620 000E3F000EFFC00FFFE00FE1F00F80700F00780F00380E003C0E001C0E001C0E001C0E00
621 1C0E001C0F003C0F00380F00780F80F00FC3E00FFFC00EFF80067E00161E7F9D1A>I<01
622 FF8007FFC00FFFE01F01E03C00C0780000700000F00000E00000E00000E00000E00000E0
623 0000F000007000007800703C00701F01F00FFFE007FFC001FF0014157D941A>I<001FC0
624 001FC0001FC00001C00001C00001C00001C00001C00001C001F9C007FDC00FFFC01F0FC0
625 3C07C07803C07003C0F001C0E001C0E001C0E001C0E001C0E001C0F003C07003C07807C0
626 3807C03E1FC01FFFFC0FFDFC03F1FC161E7E9D1A>I<01FC0007FF000FFF801F07C03C01
627 E07800E07000F0F00070E00070FFFFF0FFFFF0FFFFF0E00000F000007000007800703C00
628 701F01F00FFFE007FFC001FF0014157D941A>I<000FF0001FF8003FF800787800F03000
629 E00000E00000E00000E0007FFFF0FFFFF0FFFFF000E00000E00000E00000E00000E00000
630 E00000E00000E00000E00000E00000E00000E00000E00000E00000E0003FFF807FFFC03F
631 FF80151E7F9D1A>I<01F8FC07FFFE0FFFFE1F0F8C1C03803C03C03801C03801C03801C0
632 3C03C01C03801F0F801FFF003FFE0039F8003800003C00001C00001FFF801FFFF03FFFF8
633 7C00FC70001CF0001EE0000EE0000EE0000EF0001E78003C3F01F81FFFF00FFFE001FF00
634 17217F941A>I<FE0000FE0000FE00000E00000E00000E00000E00000E00000E00000E3F
635 000EFF800FFFC00FE1E00F80E00F00E00F00E00E00E00E00E00E00E00E00E00E00E00E00
636 E00E00E00E00E00E00E00E00E00E00E0FFE3FEFFE7FEFFE3FE171E7F9D1A>I<00C00001
637 E00001E00000C0000000000000000000000000000000000000007FE0007FE0007FE00000
638 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
639 E00000E00000E0007FFF80FFFFC07FFF80121F7C9E1A>I<FE0000FE0000FE00000E0000
640 0E00000E00000E00000E00000E00000E0FFC0E1FFE0E0FFC0E03C00E07800E0F000E1E00
641 0E3C000E78000EFC000FFC000FDE000F8F000E07800E03C00E03C00E01E00E00F0FFE3FE
642 FFE3FFFFE3FE181E7F9D1A>107 D<FFE000FFE000FFE00000E00000E00000E00000E000
643 00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
644 00E00000E00000E00000E00000E00000E00000E00000E000FFFFE0FFFFE0FFFFE0131E7D
645 9D1A>I<7DF1F000FFFBF8007FFFFC001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C00
646 1C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C00
647 1C1C1C007F1F1F00FF9F9F807F1F1F00191580941A>I<FE3F00FEFF80FFFFC00FE1E00F
648 80E00F00E00F00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
649 00E00E00E0FFE3FEFFE7FEFFE3FE17157F941A>I<01F00007FC001FFF003E0F803C0780
650 7803C07001C0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C0780
651 3E0F801FFF0007FC0001F00013157D941A>I<FE3F00FEFFC0FFFFE00FE1F00F80700F00
652 780F00380E003C0E001C0E001C0E001C0E001C0E001C0F003C0F00380F00780F80F00FC3
653 E00FFFC00EFF800E7E000E00000E00000E00000E00000E00000E00000E00000E0000FFE0
654 00FFE000FFE00016207F941A>I<01F8E007FEE00FFFE01F0FE03C03E07801E07001E0F0
655 00E0E000E0E000E0E000E0E000E0E000E0F001E07001E07803E03C07E01E0FE00FFFE007
656 FCE003F8E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE000FFE00
657 0FFE17207E941A>I<7F87F0FF9FFC7FBFFC03FC3C03F01803E00003E00003C00003C000
658 0380000380000380000380000380000380000380000380000380007FFF00FFFF007FFF00
659 16157E941A>I<0FFB803FFF807FFF80F80F80E00380E00380E00380F800007FC0003FFC
660 000FFF00007F800007C06001C0E001C0F001C0F003C0FC0F80FFFF00FFFE00E7F8001215
661 7C941A>I<00C00001C00001C00001C00001C00001C00001C0007FFFE0FFFFE0FFFFE001
662 C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C07001C07001
663 C07001C0F001E1E000FFE0007FC0003F00141C7F9B1A>I<FE0FE0FE0FE0FE0FE00E00E0
664 0E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E01E0
665 0E01E00F07E007FFFE03FFFE01FCFE17157F941A>I<7F83FCFFC7FE7F83FC0E00E00E00
666 E00E00E00701C00701C00701C003838003838003838001C70001C70001C70000EE0000EE
667 0000EE00007C00007C0000380017157F941A>I<7FC7F87FCFFC7FC7F80703C003838003
668 C70001EF0000FE00007C00007800003800007C0000EE0001EE0001C7000383800783C00F
669 01C07FC7FCFFC7FE7FC7FC17157F941A>120 D<7FC3FCFFC7FE7FC3FC0E00E00E00E007
670 00E00701C00781C00381C003838003C38001C38001C70000E70000E70000E60000660000
671 6E00003C00003C00003C0000380000380000380000700000700030700078E00071E0007F
672 C0003F80001E000017207F941A>I<0007E0001FE0003FE0007C0000F00000E00000E000
673 00E00000E00000E00000E00000E00000E00000E00000E00000E00001E00007C000FF8000
674 FF0000FF800007C00001E00000E00000E00000E00000E00000E00000E00000E00000E000
675 00E00000E00000E00000F000007C00003FE0001FE00007E013277DA21A>123
676 D<7C0000FF0000FF800007C00001E00000E00000E00000E00000E00000E00000E00000E0
677 0000E00000E00000E00000E00000F000007C00003FE0001FE0003FE0007C0000F00000E0
678 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00001E00007C0
679 00FF8000FF00007C000013277DA21A>125 D E /Fh 31 123 df<00000FE00000301800
680 00E01C0001C03C0001803C00038038000380000003800000070000000700000007000000
681 07000000070000000E000000FFFFE0000E00E0000E00E0000E01C0001C01C0001C01C000
682 1C01C0001C0380001C038000380380003803800038070000380700003807000070070800
683 700E1000700E1000700E1000700E2000E0062000E003C000E0000000E0000000C0000001
684 C0000001C0000071800000F1800000F3000000620000003C0000001E2D82A21B>12
685 D<FFF0FFF0FFE00C037C8B11>45 D<0000030000000300000007000000070000000F0000
686 000F0000001F0000002F0000002F0000004F0000004F8000008780000087800001078000
687 020780000207800004078000040780000807800008078000100780003007800020078000
688 7FFF80004007C0008007C0008003C0010003C0030003C0020003C0040003C0040003C00C
689 0003C03C0007C0FF003FFC1E237DA224>65 D<00FFFC00000F8000000F0000000F000000
690 1E0000001E0000001E0000001E0000003C0000003C0000003C0000003C00000078000000
691 780000007800000078000000F0000000F0000000F0000000F0000001E0000001E0000001
692 E0002001E0002003C0004003C0004003C0008003C0008007800180078001000780030007
693 800F000F803E00FFFFFE001B227DA11F>76 D<00FF800007FC000F80000F80000F800017
694 80000F80001780001780002F000013C0002F000013C0004F000013C0008F000023C0009E
695 000023C0011E000023C0011E000023C0021E000043C0043C000043C0043C000043C0083C
696 000041E0083C000081E01078000081E02078000081E02078000081E04078000101E040F0
697 000101E080F0000101E100F0000101E100F0000200F201E0000200F201E0000200F401E0
698 000200F801E0000400F803C0000400F003C0000400F003C0000C00E003C0001E00C007C0
699 00FFC0C07FFC002E227DA12C>I<0000FE0000078380000C00E0003800700070003800E0
700 003801C0001C0380001C0700001C0F00001E1E00001E1C00001E3C00001E3C00001E7800
701 001E7800001E7800001EF000003CF000003CF000003CF0000078F0000078E0000078E000
702 00F0E00000F0E00001E0E00001C0F00003C0F00007807000070078000E0038001C001C00
703 38000E00E0000703800001FC00001F2479A225>79 D<00FFFFC0000F0070000F003C000F
704 001C001E000E001E000E001E000F001E000F003C001E003C001E003C001E003C003C0078
705 003800780070007801E00078078000FFFC0000F00E0000F0070000F0038001E003C001E0
706 03C001E003C001E003C003C0078003C0078003C0078003C0078007800F0007800F010780
707 0F01078007020F800702FFF8038C000000F020237DA124>82 D<3FFE03FF03C0007803C0
708 006003C00020078000400780004007800040078000400F0000800F0000800F0000800F00
709 00801E0001001E0001001E0001001E0001003C0002003C0002003C0002003C0002007800
710 040078000400780004007800040070000800F0000800F000100070001000700020007000
711 40003000400038018000180200000E0C000003F00000202377A124>85
712 D<FFF001FF1F8000780F0000600F0000400F8000C0078000800780010007C0020003C006
713 0003C0040003E0080001E0100001E0200001F0600000F0400000F0800000F9000000FB00
714 00007A0000007C00000078000000780000007800000078000000F0000000F0000000F000
715 0000F0000001E0000001E0000001E0000001E0000003E000003FFC0000202276A124>89
716 D<00F8C00185C00705C00E03800E03801C03803C0380380700780700780700780700F00E
717 00F00E00F00E00F00E10F01C20701C20703C20305C40308C400F078014157B9419>97
718 D<03C03F8003800380038007000700070007000E000E000E000E001C001CF81D0C1E0E3C
719 0638073807380F700F700F700F700FE01EE01EE01EE03CE038E038607060E031C01F0010
720 237BA216>I<007E0001C1000301800703800E07801C07803C0000380000780000780000
721 780000F00000F00000F00000F00000F00100700100700200300C001830000FC00011157B
722 9416>I<00003C0003F80000380000380000380000700000700000700000700000E00000
723 E00000E00000E00001C000F9C00185C00705C00E03800E03801C03803C03803807007807
724 00780700780700F00E00F00E00F00E00F00E10F01C20701C20703C20305C40308C400F07
725 8016237BA219>I<00F803840E021C023C0238027804F018FFE0F000F000E000E000E000
726 E000E002E0026004701830600F800F157A9416>I<00003E0000470000CF00018F000186
727 000380000380000380000700000700000700000700000700000E0000FFF0000E00000E00
728 000E00001C00001C00001C00001C00001C00003800003800003800003800003800007000
729 00700000700000700000700000E00000E00000E00000E00000C00001C00001C000718000
730 F18000F300006200003C0000182D82A20F>I<001F180030B800E0B801C07001C0700380
731 700780700700E00F00E00F00E00F00E01E01C01E01C01E01C01E01C01E03800E03800E07
732 80060B8006170001E700000700000700000E00000E00000E00701C00F01800F0300060E0
733 003F8000151F7E9416>I<00F0000FE00000E00000E00000E00001C00001C00001C00001
734 C000038000038000038000038000070000071F0007218007C0C00F00E00F00E00E00E00E
735 00E01C01C01C01C01C01C01C01C0380380380380380380380704700708700E08700E1070
736 0610E006206003C016237DA219>I<00C001E001C001C000000000000000000000000000
737 0000001C002300430043008700870087000E000E001C001C001C00380038003840708070
738 807080710032001C000B217BA00F>I<01E01FC001C001C001C003800380038003800700
739 0700070007000E000E000E000E001C001C001C001C003800380038003800700070007000
740 7100E200E200E200E200640038000B237CA20C>108 D<1C0F80F8002610C10C00476066
741 060087807807008780780700870070070087007007000E00E00E000E00E00E000E00E00E
742 000E00E00E001C01C01C001C01C01C001C01C01C001C01C0382038038038403803807040
743 3803807080380380308070070031003003001E0023157B9428>I<1C0F002631C04740C0
744 8780E08780E08700E08700E00E01C00E01C00E01C00E01C01C03801C03801C03801C0704
745 380708380E08380E103806107006203003C016157B941B>I<007E0001C3000381800701
746 C00E01C01C01E03C01E03801E07801E07801E07801E0F003C0F003C0F00380F007807007
747 00700E00700C0030180018700007C00013157B9419>I<01C1F002621804741C08780C08
748 700E08700E08701E00E01E00E01E00E01E00E01E01C03C01C03C01C03C01C07803807003
749 807003C0E003C1C0072380071E000700000700000E00000E00000E00000E00001C00001C
750 00001C0000FFC000171F7F9419>I<1C1F002620804741C08783C08703C0870180870000
751 0E00000E00000E00000E00001C00001C00001C00001C0000380000380000380000380000
752 70000030000012157B9415>114 D<00FC000183000200800401800C03800C03000C0000
753 0F00000FF00007FC0003FE00003E00000F00000700700700F00600F00600E00400400800
754 2030001FC00011157D9414>I<00C001C001C001C001C003800380038003800700FFF807
755 0007000E000E000E000E001C001C001C001C003800380038003810702070207040708031
756 001E000D1F7C9E10>I<1E00602300E04380E04381C08381C08701C08701C00703800E03
757 800E03800E03801C07001C07001C07001C07081C0E10180E101C0E101C1E200C262007C3
758 C015157B941A>I<1E03802307C04387C04383C08381C08700C08700C00700800E00800E
759 00800E00801C01001C01001C01001C02001C02001C04001C08001C08000C300003C00012
760 157B9416>I<03C1E0046210083470103CF02038F0203860203800007000007000007000
761 00700000E00000E00000E00000E02061C040F1C040F1C080E2C100446200383C0014157D
762 9416>120 D<1E00302300704380704380E08380E08700E08700E00701C00E01C00E01C0
763 0E01C01C03801C03801C03801C03801C07001C07001C07001C0F000C3E0003CE00000E00
764 000E00001C00601C00F03800F03000E0600080C0004380003E0000141F7B9418>I<01E0
765 2003F06007F8C0041F800801000802000004000008000010000020000040000080000100
766 000200000400800801001003003F060061FC0040F80080700013157D9414>I
767 E /Fi 3 52 df<03000700FF000700070007000700070007000700070007000700070007
768 00070007000700070007007FF00C157E9412>49 D<0F8030E040708030C038E038403800
769 3800700070006000C00180030006000C08080810183FF07FF0FFF00D157E9412>I<0FE0
770 30306018701C701C001C00180038006007E000300018000C000E000EE00EE00EC00C4018
771 30300FE00F157F9412>I E /Fj 2 121 df<0007FC0000003FFF800000FC07E00003F001
772 F80007E000FC000FC0007E001F80003F001F80003F003F00001F803F00001F807F00001F
773 C07E00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0
774 FE00000FE0FE00000FE0FE00000FE0FE00000FE07E00000FC07F00001FC07F00001FC03F
775 00001F803F80003F801F80003F000FC0007E0007E000FC0003F001F80000FC07E000003F
776 FF80000007FC000023227DA12A>79 D<FFE07FC0FFE07FC00F801C0007C0380003E07000
777 03F0600001F8C00000F98000007F8000003F0000001F0000001F8000003FC0000037C000
778 0063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FFE0FF80FFE01B167F95
779 1E>120 D E /Fk 14 118 df<78FCFCFCFC780606778518>46 D<00FC0003FE0007FF00
780 0F87801E03C03C3FC0387FC078FFE071E3E071C1E0F3C1E0E380E0E380E0E380E0E380E0
781 E380E0E380E0F3C1E071C1C071E3C078FF80387F003C3E001E00E00F83E007FFE003FF80
782 00FE00131C7E9B18>64 D<1FE0003FF8007FFC00783E00300F0000070000070001FF000F
783 FF003FFF007F0700780700F00700E00700E00700F00F00783F007FFFF03FFBF00FE1F014
784 147D9318>97 D<7E0000FE00007E00000E00000E00000E00000E00000E00000E3E000EFF
785 800FFFC00FE3E00F80F00F00700F00780E00380E00380E00380E00380E00380F00380F00
786 780F00700F80F00FC3E00FFFC00EFF80067E00151C809B18>I<01FE0007FF001FFF803F
787 07803C0300780000700000F00000E00000E00000E00000E00000F000007000007801C03C
788 01C03F07C01FFF8007FF0001FC0012147D9318>I<001F80003F80001F80000380000380
789 00038000038000038003F3800FFB801FFF803E1F80780F80700780F00780E00380E00380
790 E00380E00380E00380E00780F00780700780780F803E3F801FFFF00FFBF803E3F0151C7E
791 9B18>I<03F0000FFC001FFE003E1F00780780700380F003C0E001C0E001C0FFFFC0FFFF
792 C0FFFFC0F000007000007801C03C01C03F07C01FFF8007FF0001FC0012147D9318>I<00
793 1FC0007FE000FFE001F1E001C0C001C00001C00001C0007FFFC0FFFFC0FFFFC001C00001
794 C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001
795 C0007FFF007FFF007FFF00131C7F9B18>I<7E0000FE00007E00000E00000E00000E0000
796 0E00000E00000E3F000EFF800FFFC00FE1E00F80E00F00E00F00E00E00E00E00E00E00E0
797 0E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC3FCFFE7FE7FC3FC171C809B18>
798 104 D<03800007C00007C00007C0000380000000000000000000000000007FC000FFC000
799 7FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000
800 01C00001C00001C000FFFF00FFFF80FFFF00111D7C9C18>I<01F0000FFE001FFF003E0F
801 803803807001C07001C0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C07
802 803E0F801FFF000FFE0001F00013147E9318>111 D<0FF7003FFF007FFF00F81F00E007
803 00E00700F007007C00007FF0001FFC0007FE00001F00600780E00380F00380F00780FC0F
804 00FFFF00FFFE00E7F80011147D9318>115 D<0180000380000380000380000380007FFF
805 C0FFFFC0FFFFC00380000380000380000380000380000380000380000380000380000380
806 400380E00380E00381E003C3C001FFC000FF80007E0013197F9818>I<7E07E0FE0FE07E
807 07E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E
808 00E00E01E00F07E007FFFC03FFFE01FCFC1714809318>I E /Fl
809 1 14 df<0001FE0000000FFFC000003E01F00000F0003C0001C0000E0003800007000700
810 0003800E000001C00C000000C01C000000E0380000007030000000303000000030700000
811 003860000000186000000018E00000001CC00000000CC00000000CC00000000CC0000000
812 0CC00000000CC00000000CC00000000CC00000000CC00000000CE00000001C6000000018
813 600000001870000000383000000030300000003038000000701C000000E00C000000C00E
814 000001C00700000380038000070001C0000E0000F0003C00003E01F000000FFFC0000001
815 FE0000262B7DA02D>13 D E /Fm 24 119 df<001F83E000F06E3001C078780380F87803
816 00F03007007000070070000700700007007000070070000700700007007000FFFFFF8007
817 007000070070000700700007007000070070000700700007007000070070000700700007
818 00700007007000070070000700700007007000070070000700700007007000070070007F
819 E3FF001D20809F1B>11 D<70F8FCFC74040404080810102040060E7C840D>44
820 D<70F8F8F87005057C840D>46 D<018003800F80F3800380038003800380038003800380
821 0380038003800380038003800380038003800380038003800380038003800380038007C0
822 FFFE0F1E7C9D17>49 D<03F0000C1C00100E00200700400780800780F007C0F803C0F803
823 C0F803C02007C00007C0000780000780000F00000E00001C0000380000700000600000C0
824 000180000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03
825 F0000C1C00100E00200F00780F80780780780780380F80000F80000F00000F00000E0000
826 1C0000380003F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F8
827 07C0F00780400780400F00200E001C3C0003F000121F7E9D17>I<1803001FFE001FFC00
828 1FF8001FE00010000010000010000010000010000010000011F000161C00180E00100700
829 1007800003800003800003C00003C00003C07003C0F003C0F003C0E00380400380400700
830 200600100E000C380003E000121F7E9D17>53 D<03F0000E18001C0C0038060038070070
831 0700700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807C018
832 0BC00E13C003E3C0000380000380000380000700300700780600780E00700C0020180010
833 70000FC000121F7E9D17>57 D<FFFFE0000F80380007801E0007801F0007800F0007800F
834 8007800F8007800F8007800F8007800F8007800F0007801F0007801E0007803C0007FFF0
835 0007803C0007801E0007800F0007800F8007800780078007C0078007C0078007C0078007
836 C0078007C00780078007800F8007800F0007801F000F803C00FFFFF0001A1F7E9E20>66
837 D<FFFC0FFC0FC003E0078001800780010007800200078004000780080007801000078020
838 000780400007808000078100000783000007878000078F80000793C0000791E00007A1E0
839 0007C0F0000780F0000780780007803C0007803C0007801E0007801E0007800F00078007
840 8007800780078007C00FC007E0FFFC3FFC1E1F7E9E23>75 D<FF80001FF80F80001F8007
841 80001F0005C0002F0005C0002F0005C0002F0004E0004F0004E0004F000470008F000470
842 008F000470008F000438010F000438010F000438010F00041C020F00041C020F00041C02
843 0F00040E040F00040E040F00040E040F000407080F000407080F000407080F000403900F
844 000403900F000401E00F000401E00F000401E00F000E00C00F001F00C01F80FFE0C1FFF8
845 251F7E9E2A>77 D<FF803FF807C007C007C0038005E0010005E0010004F0010004780100
846 04780100043C0100043C0100041E0100040F0100040F010004078100040781000403C100
847 0401E1000401E1000400F1000400F1000400790004003D0004003D0004001F0004001F00
848 04000F0004000700040007000E0003001F000300FFE001001D1F7E9E22>I<0E0000FE00
849 000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E3E000EC3
850 800F01C00F00E00E00E00E00700E00700E00780E00780E00780E00780E00780E00780E00
851 700E00700E00E00F00E00D01C00CC300083E0015207F9F19>98 D<03F80E0C1C1E381E38
852 0C70007000F000F000F000F000F000F00070007000380138011C020E0C03F010147E9314
853 >I<03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F0
854 0000F000007000007000003800801800800C010007060001F80011147F9314>101
855 D<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00
856 000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
857 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>104
858 D<1C001E003E001E001C000000000000000000000000000E007E000E000E000E000E000E
859 000E000E000E000E000E000E000E000E000E000E000E000E00FFC00A1F809E0C>I<0E1F
860 01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E00E00E000E00E0
861 0E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E
862 000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>109
863 D<01F800070E001C03803801C03801C07000E07000E0F000F0F000F0F000F0F000F0F000
864 F0F000F07000E07000E03801C03801C01C0380070E0001F80014147F9317>111
865 D<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E000E000E
866 000E00FFE00F147F9312>114 D<1F9030704030C010C010C010E00078007F803FE00FF0
867 0070803880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E
868 000E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E
869 080E080610031001E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01
870 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030D
871 C001F1FC16147F9319>I<FF83F81E01E01C00C00E00800E00800E008007010007010003
872 820003820003820001C40001C40001EC0000E80000E80000700000700000700000200015
873 147F9318>I E /Fn 76 123 df<001F83E000706E3000C07C780180F8780380F0780700
874 70000700700007007000070070000700700007007000070070000700700007007000FFFF
875 FFC007007000070070000700700007007000070070000700700007007000070070000700
876 700007007000070070000700700007007000070070000700700007007000070070000700
877 7000070078007FE3FF801D2380A21C>11 D<001FC0000070200000C01000018038000380
878 780007007800070030000700000007000000070000000700000007000000070000000700
879 0000FFFFF800070078000700380007003800070038000700380007003800070038000700
880 380007003800070038000700380007003800070038000700380007003800070038000700
881 380007003800070038007FE1FF80192380A21B>I<001FD8000070380000C07800018078
882 000380780007003800070038000700380007003800070038000700380007003800070038
883 0007003800FFFFF800070038000700380007003800070038000700380007003800070038
884 000700380007003800070038000700380007003800070038000700380007003800070038
885 000700380007003800070038007FF3FF80192380A21B>I<000FC07F00007031C08000E0
886 0B004001801E00E003803E01E007003C01E007001C00C007001C000007001C000007001C
887 000007001C000007001C000007001C000007001C0000FFFFFFFFE007001C01E007001C00
888 E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E0
889 07001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007001C00E007
890 001C00E007001C00E007001C00E07FF1FFCFFE272380A229>I<7038F87CFC7EFC7E743A
891 04020402040204020804080410081008201040200F0F7EA218>34
892 D<70F8FCFC7404040404080810102040060F7CA20E>39 D<002000400080010003000600
893 04000C000C00180018003000300030007000600060006000E000E000E000E000E000E000
894 E000E000E000E000E000E000E000E0006000600060007000300030003000180018000C00
895 0C0004000600030001000080004000200B327CA413>I<800040002000100018000C0004
896 00060006000300030001800180018001C000C000C000C000E000E000E000E000E000E000
897 E000E000E000E000E000E000E000E000C000C000C001C001800180018003000300060006
898 0004000C00180010002000400080000B327DA413>I<0001800000018000000180000001
899 800000018000000180000001800000018000000180000001800000018000000180000001
900 8000000180000001800000018000FFFFFFFEFFFFFFFE0001800000018000000180000001
901 800000018000000180000001800000018000000180000001800000018000000180000001
902 80000001800000018000000180001F227D9C26>43 D<70F8FCFC74040404040808101020
903 40060F7C840E>I<FFE0FFE00B027F8B10>I<70F8F8F87005057C840E>I<000180000180
904 000380000300000300000700000600000600000E00000C00000C00001C00001800001800
905 00180000380000300000300000700000600000600000E00000C00000C00001C000018000
906 0180000380000300000300000700000600000600000E00000C00000C00000C00001C0000
907 180000180000380000300000300000700000600000600000E00000C00000C0000011317D
908 A418>I<01F000071C000C06001803003803803803807001C07001C07001C07001C0F001
909 E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001
910 E0F001E07001C07001C07001C07803C03803803803801C07000C0600071C0001F0001322
911 7EA018>I<008003800F80F3800380038003800380038003800380038003800380038003
912 8003800380038003800380038003800380038003800380038003800380038007C0FFFE0F
913 217CA018>I<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0F801E0
914 F801E02003E00003E00003C00003C0000780000700000E00001C00001800003000006000
915 00C0000180000100000200200400200800201800603000403FFFC07FFFC0FFFFC013217E
916 A018>I<03F8000C1E001007002007804007C07807C07803C07807C03807C00007800007
917 80000700000F00000E0000380003F000001C00000F000007800007800003C00003C00003
918 E02003E07003E0F803E0F803E0F003C04003C0400780200780100F000C1C0003F0001322
919 7EA018>I<000200000600000E00000E00001E00001E00002E00004E00004E00008E0000
920 8E00010E00020E00020E00040E00040E00080E00100E00100E00200E00200E00400E0080
921 0E00FFFFF8000E00000E00000E00000E00000E00000E00000E00001F0001FFF015217FA0
922 18>I<1000801E07001FFF001FFE001FF80013E000100000100000100000100000100000
923 10000010F800130E001407001803801003800001C00001C00001E00001E00001E00001E0
924 7001E0F001E0F001E0E001C08001C04003C04003802007001006000C1C0003F00013227E
925 A018>I<007E0001C1000300800601C00E03C01C03C01801803800003800007800007000
926 00700000F0F800F30C00F40600F40300F80380F801C0F001C0F001E0F001E0F001E0F001
927 E0F001E07001E07001E07001E03801C03801C01803801C03000C0600070C0001F0001322
928 7EA018>I<4000006000007FFFE07FFFC07FFFC0400080C0010080010080020080020000
929 040000080000080000100000300000200000600000600000600000E00000C00000C00001
930 C00001C00001C00001C00003C00003C00003C00003C00003C00003C00003C00003C00001
931 800013237DA118>I<01F800060E000803001001802001802000C06000C06000C06000C0
932 7000C07801803E01003F02001FC4000FF80003F80003FC00067F00083F80100F803007C0
933 6001C06000E0C000E0C00060C00060C00060C000606000406000C03000801803000E0E00
934 03F00013227EA018>I<01F000060C000C0600180700380380700380700380F001C0F001
935 C0F001C0F001E0F001E0F001E0F001E0F001E07001E07003E03803E01805E00C05E00619
936 E003E1E00001C00001C00001C0000380000380300300780700780600700C002018001030
937 000FC00013227EA018>I<70F8F8F870000000000000000000000070F8F8F87005157C94
938 0E>I<70F8F8F870000000000000000000000070F8F8F87808080808101010204040051F
939 7C940E>I<0001800000018000000180000003C0000003C0000003C0000005E0000005E0
940 00000DF0000008F0000008F0000010F800001078000010780000203C0000203C0000203C
941 0000401E0000401E0000401E0000800F0000800F0000FFFF000100078001000780030007
942 C0020003C0020003C0040003E0040001E0040001E00C0000F00C0000F03E0001F8FF800F
943 FF20237EA225>65 D<FFFFF8000F800E0007800780078003C0078003E0078001E0078001
944 F0078001F0078001F0078001F0078001F0078001E0078003E0078007C007800F8007803E
945 0007FFFE0007800780078003C0078001E0078001F0078000F0078000F8078000F8078000
946 F8078000F8078000F8078000F8078001F0078001F0078003E0078007C00F800F00FFFFFC
947 001D227EA123>I<0007E0100038183000E0063001C00170038000F0070000F00E000070
948 1E0000701C0000303C0000303C0000307C0000107800001078000010F8000000F8000000
949 F8000000F8000000F8000000F8000000F8000000F800000078000000780000107C000010
950 3C0000103C0000101C0000201E0000200E000040070000400380008001C0010000E00200
951 00381C000007E0001C247DA223>I<FFFFF0000F801E0007800700078003C0078001C007
952 8000E0078000F007800078078000780780007C0780003C0780003C0780003C0780003E07
953 80003E0780003E0780003E0780003E0780003E0780003E0780003E0780003E0780003C07
954 80003C0780007C0780007807800078078000F0078000E0078001E0078003C0078007000F
955 801E00FFFFF8001F227EA125>I<FFFFFFC00F8007C0078001C0078000C0078000400780
956 004007800060078000200780002007800020078020200780200007802000078020000780
957 60000780E00007FFE0000780E00007806000078020000780200007802000078020080780
958 000807800008078000100780001007800010078000300780003007800070078000E00F80
959 03E0FFFFFFE01D227EA121>I<FFFFFFC00F8007C0078001C0078000C007800040078000
960 400780006007800020078000200780002007802020078020000780200007802000078060
961 000780E00007FFE0000780E0000780600007802000078020000780200007802000078000
962 0007800000078000000780000007800000078000000780000007800000078000000FC000
963 00FFFE00001B227EA120>I<0007F008003C0C1800E0021801C001B8038000F807000078
964 0F0000381E0000381E0000183C0000183C0000187C0000087800000878000008F8000000
965 F8000000F8000000F8000000F8000000F8000000F8000000F8001FFF780000F878000078
966 7C0000783C0000783C0000781E0000781E0000780F00007807000078038000B801C000B8
967 00E00318003C0C080007F00020247DA226>I<FFFC3FFF0FC003F0078001E0078001E007
968 8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007
969 8001E0078001E0078001E007FFFFE0078001E0078001E0078001E0078001E0078001E007
970 8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007
971 8001E00FC003F0FFFC3FFF20227EA125>I<FFFC0FC00780078007800780078007800780
972 078007800780078007800780078007800780078007800780078007800780078007800780
973 078007800780078007800FC0FFFC0E227EA112>I<03FFF0001F00000F00000F00000F00
974 000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
975 000F00000F00000F00000F00000F00000F00000F00000F00000F00700F00F80F00F80F00
976 F80E00F01E00401C0020380018700007C00014237EA119>I<FFFC03FF000FC000F80007
977 800060000780004000078000800007800100000780020000078004000007800800000780
978 10000007802000000780400000078080000007818000000783C000000787E000000789E0
979 00000788F000000790F0000007A078000007C03C000007803C000007801E000007800F00
980 0007800F00000780078000078007C000078003C000078001E000078001E000078000F000
981 078000F8000FC000FC00FFFC07FF8021227EA126>I<FFFE00000FC00000078000000780
982 000007800000078000000780000007800000078000000780000007800000078000000780
983 000007800000078000000780000007800000078000000780000007800000078000000780
984 000007800080078000800780008007800080078001800780018007800100078003000780
985 030007800F000F803F00FFFFFF0019227EA11E>I<FFC00003FF0FC00003F007C00003E0
986 05E00005E005E00005E004F00009E004F00009E004F00009E004780011E004780011E004
987 780011E0043C0021E0043C0021E0043C0021E0041E0041E0041E0041E0040F0081E0040F
988 0081E0040F0081E004078101E004078101E004078101E00403C201E00403C201E00401E4
989 01E00401E401E00401E401E00400F801E00400F801E00400F801E004007001E00E007001
990 E01F007003F0FFE0203FFF28227EA12D>I<FF8007FF07C000F807C0007005E0002004F0
991 002004F0002004780020047C0020043C0020041E0020041F0020040F0020040780200407
992 80200403C0200401E0200401E0200400F0200400F8200400782004003C2004003E200400
993 1E2004000F2004000F20040007A0040003E0040003E0040001E0040001E0040000E00E00
994 00601F000060FFE0002020227EA125>I<000FE00000783C0000E00E0003C00780078003
995 C00F0001E00E0000E01E0000F03C0000783C0000787C00007C7C00007C7800003C780000
996 3CF800003EF800003EF800003EF800003EF800003EF800003EF800003EF800003EF80000
997 3E7800003C7C00007C7C00007C3C0000783E0000F81E0000F00F0001E00F0001E0078003
998 C003C0078000E00E0000783C00000FE0001F247DA226>I<FFFFF0000F803C0007800F00
999 07800780078007C0078003C0078003E0078003E0078003E0078003E0078003E0078003E0
1000 078003C0078007C00780078007800F0007803C0007FFF000078000000780000007800000
1001 078000000780000007800000078000000780000007800000078000000780000007800000
1002 07800000078000000FC00000FFFC00001B227EA121>I<FFFFE000000F803C000007800E
1003 00000780078000078007C000078003C000078003E000078003E000078003E000078003E0
1004 00078003E000078003C000078007C000078007800007800E000007803C000007FFE00000
1005 0780700000078038000007801C000007801E000007800E000007800F000007800F000007
1006 800F000007800F000007800F800007800F800007800F800007800F808007800FC0800780
1007 07C0800FC003C100FFFC01E2000000007C0021237EA124>82 D<03F0200C0C6018026030
1008 01E07000E0600060E00060E00060E00020E00020E00020F00000F000007800007F00003F
1009 F0001FFE000FFF0003FF80003FC00007E00001E00000F00000F000007080007080007080
1010 0070800070C00060C00060E000C0F000C0C80180C6070081FC0014247DA21B>I<7FFFFF
1011 F87807807860078018400780084007800840078008C007800C8007800480078004800780
1012 048007800400078000000780000007800000078000000780000007800000078000000780
1013 000007800000078000000780000007800000078000000780000007800000078000000780
1014 0000078000000780000007800000078000000FC00003FFFF001E227EA123>I<FFFC07FF
1015 0FC000F80780007007800020078000200780002007800020078000200780002007800020
1016 078000200780002007800020078000200780002007800020078000200780002007800020
1017 078000200780002007800020078000200780002007800020078000200380004003C00040
1018 03C0004001C0008000E000800060010000300600001C08000003F00020237EA125>I<FF
1019 F03FFC03FE1F8007E000F80F0003C000700F0003C000200F0003C00020078001E0004007
1020 8001E00040078001E0004003C002F0008003C002F0008003C002F0008001E00478010001
1021 E00478010001E00478010000F0083C020000F0083C020000F0083C020000F8183E060000
1022 78101E04000078101E0400007C101E0400003C200F0800003C200F0800003C200F080000
1023 1E40079000001E40079000001E40079000000F8003E000000F8003E000000F8003E00000
1024 070001C00000070001C00000070001C0000003000180000002000080002F237FA132>87
1025 D<FFF0007FC01F80001F000F80000C00078000080007C000180003E000100001E0002000
1026 01F000200000F000400000F800C000007C008000003C010000003E010000001E02000000
1027 1F040000000F84000000078800000007D800000003D000000003E000000001E000000001
1028 E000000001E000000001E000000001E000000001E000000001E000000001E000000001E0
1029 00000001E000000001E000000001E000000003E00000003FFF000022227FA125>89
1030 D<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
1031 C0C0C0C0C0C0C0C0C0C0C0C0FEFE07317BA40E>91 D<0804100820102010402040208040
1032 804080408040B85CFC7EFC7E7C3E381C0F0F7AA218>I<FEFE0606060606060606060606
1033 06060606060606060606060606060606060606060606060606060606060606060606FEFE
1034 07317FA40E>I<0FE0001838003C0C003C0E0018070000070000070000070000FF0007C7
1035 001E07003C0700780700700700F00708F00708F00708F00F087817083C23900FC1E01515
1036 7E9418>97 D<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E0000
1037 0E00000E00000E00000E00000E1F000E61C00E80600F00300E00380E003C0E001C0E001E
1038 0E001E0E001E0E001E0E001E0E001E0E001E0E001C0E003C0E00380F00700C80600C41C0
1039 083F0017237FA21B>I<01FE000703000C07801C0780380300780000700000F00000F000
1040 00F00000F00000F00000F00000F000007000007800403800401C00800C010007060001F8
1041 0012157E9416>I<0000E0000FE00001E00000E00000E00000E00000E00000E00000E000
1042 00E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800E07800E07000E0F0
1043 00E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800E01801E00C02E007
1044 0CF001F0FE17237EA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0
1045 FFFFE0F00000F00000F00000F00000F000007000007800203800201C00400E0080070300
1046 00FC0013157F9416>I<003C00C6018F038F030F07000700070007000700070007000700
1047 0700FFF80700070007000700070007000700070007000700070007000700070007000700
1048 0700070007807FF8102380A20F>I<00007001F198071E180E0E181C07001C07003C0780
1049 3C07803C07803C07801C07001C07000E0E000F1C0019F000100000100000180000180000
1050 1FFE000FFFC00FFFE03800F0600030400018C00018C00018C000186000306000303800E0
1051 0E038003FE0015217F9518>I<0E0000FE00001E00000E00000E00000E00000E00000E00
1052 000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E00F00700F00700E00
1053 700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00
1054 700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C00000000000000000000
1055 000000000000000E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E
1056 000E000E000E000E000E00FFC00A227FA10E>I<01C003E003E003E001C0000000000000
1057 0000000000000000000001E00FE001E000E000E000E000E000E000E000E000E000E000E0
1058 00E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F18061803E00
1059 0B2C82A10F>I<0E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00
1060 000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E02000E04000E08000E10
1061 000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C00E01E00E00F00E00
1062 F8FFE3FE17237FA21A>I<0E00FE001E000E000E000E000E000E000E000E000E000E000E
1063 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
1064 000E000E000E00FFE00B237FA20E>I<0E1FC07F00FE60E183801E807201C00F003C00E0
1065 0F003C00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E
1066 003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E00
1067 3800E00E003800E0FFE3FF8FFE27157F942A>I<0E1F80FE60C01E80E00F00700F00700E
1068 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
1069 00700E00700E0070FFE7FF18157F941B>I<01FC000707000C01801800C03800E0700070
1070 700070F00078F00078F00078F00078F00078F00078F000787000707800F03800E01C01C0
1071 0E038007070001FC0015157F9418>I<0E1F00FE61C00E80600F00700E00380E003C0E00
1072 1C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C0E003C0E00380F00700E80
1073 E00E41C00E3F000E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE0
1074 00171F7F941B>I<01F8200704600E02601C01603801E07800E07800E0F000E0F000E0F0
1075 00E0F000E0F000E0F000E0F000E07000E07800E03801E01C01E00C02E0070CE001F0E000
1076 00E00000E00000E00000E00000E00000E00000E00000E00000E0000FFE171F7E941A>I<
1077 0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E000E00
1078 0E000F00FFF010157F9413>I<0F8830786018C018C008C008E008F0007F803FE00FF001
1079 F8003C801C800C800CC00CC008E018D0308FC00E157E9413>I<02000200020002000600
1080 060006000E001E003E00FFF80E000E000E000E000E000E000E000E000E000E000E000E04
1081 0E040E040E040E040E040708030801F00E1F7F9E13>I<0E0070FE07F01E00F00E00700E
1082 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
1083 00F00E00F006017003827800FC7F18157F941B>I<FFC1FE1E00780E00300E00200E0020
1084 07004007004003808003808003808001C10001C10000E20000E20000E200007400007400
1085 00380000380000380000100017157F941A>I<FF8FF8FF1E01E03C1C01C0180E01C0180E
1086 01E0100E01E01007026020070270200702702003843040038438400384384001C8188001
1087 C81C8001C81C8000F00D0000F00F0000F00F0000600600006006000060060020157F9423
1088 >I<FF83FE1F01F00E00C007008003810003830001C20000E40000780000780000380000
1089 3C00004E00008E000187000103800201C00401E00C00E03E01F0FF03FE17157F941A>I<
1090 FFC1FE1E00780E00300E00200E002007004007004003808003808003808001C10001C100
1091 00E20000E20000E200007400007400003800003800003800001000001000002000002000
1092 002000004000F04000F08000F180004300003C0000171F7F941A>I<3FFFC03803803007
1093 80200700600E00401C00403C0040380000700000E00001E00001C0000380400700400F00
1094 400E00C01C0080380080780180700780FFFF8012157F9416>I E
1095 /Fo 49 123 df<FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF0FFFFF014077F921B>45
1096 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B7A8A17>I<000000380000
1097 007C0000007C000000FC000000F8000000F8000001F8000001F0000001F0000003F00000
1098 03E0000007E0000007C0000007C000000FC000000F8000000F8000001F8000001F000000
1099 3F0000003E0000003E0000007E0000007C0000007C000000FC000000F8000001F8000001
1100 F0000001F0000003F0000003E0000003E0000007E0000007C000000FC000000F8000000F
1101 8000001F8000001F0000001F0000003F0000003E0000003E0000007E0000007C000000FC
1102 000000F8000000F8000001F8000001F0000001F0000003F0000003E0000007E0000007C0
1103 000007C000000FC000000F8000000F8000001F8000001F0000003F0000003E0000003E00
1104 00007E0000007C0000007C000000FC000000F8000000F8000000700000001E487BB529>
1105 I<000FFC0000007FFF800001FFFFE00003FC0FF00007F003F8000FE001FC000FE001FC00
1106 1FC000FE003FC000FF003FC000FF003F80007F007F80007F807F80007F807F80007F807F
1107 80007F80FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80
1108 007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF80007FC0FF8000
1109 7FC0FF80007FC0FF80007FC07F80007F807F80007F807F80007F807F80007F803F80007F
1110 003FC000FF003FC000FF001FC000FE001FE001FE000FE001FC0007F807F80003FC0FF000
1111 01FFFFE000007FFF8000000FFC0000222E7DAD29>I<0001E0000003E000000FE000007F
1112 E0001FFFE000FFFFE000FFBFE000E03FE000003FE000003FE000003FE000003FE000003F
1113 E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F
1114 E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F
1115 E000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003FE000003F
1116 E000003FE000003FE000003FE0007FFFFFF07FFFFFF07FFFFFF01C2E7AAD29>I<003FF0
1117 0001FFFE0007FFFF801FC07FE03F003FF07C001FF87F000FFCFF8007FEFFC007FEFFC003
1118 FFFFC003FFFFC003FFFFC003FF7F8003FF3F0003FF000003FF000003FF000007FE000007
1119 FE000007FC00000FF800001FF800001FF000003FE000007F8000007F000000FE000001FC
1120 000003F0000007E000000FC007001F8007003E0007007C000F00F8000E01F0000E01E000
1121 1E03FFFFFE07FFFFFE0FFFFFFE1FFFFFFE3FFFFFFE7FFFFFFCFFFFFFFCFFFFFFFCFFFFFF
1122 FC202E7CAD29>I<000FFC0000007FFF800001F01FE00003C00FF00007800FF8000FE007
1123 FC001FF007FE001FF807FE001FF807FE001FF807FE001FF807FE001FF807FE000FF007FE
1124 0007E007FC0001800FFC0000000FF80000000FF80000001FF00000003FE00000007F8000
1125 001FFE0000001FFC0000001FFF800000001FF00000000FF800000007FE00000003FF0000
1126 0003FF00000001FF80000001FF800E0001FFC03F8001FFC07FC001FFC0FFE001FFC0FFE0
1127 01FFC0FFE001FFC0FFE001FFC0FFE001FF80FFE003FF807FC003FF007F0007FE003F000F
1128 FC001FE01FF80007FFFFE00001FFFF8000001FFC0000222E7DAD29>I<00000078000000
1129 00F800000001F800000003F800000007F800000007F80000000FF80000001FF80000003F
1130 F80000007FF800000077F8000000F7F8000001E7F8000003C7F800000787F800000707F8
1131 00000F07F800001E07F800003C07F800007807F800007007F80000F007F80001E007F800
1132 03C007F800078007F8000F0007F8000F0007F8001E0007F8003C0007F800780007F800F0
1133 0007F800FFFFFFFFF0FFFFFFFFF0FFFFFFFFF000000FF80000000FF80000000FF8000000
1134 0FF80000000FF80000000FF80000000FF80000000FF80000000FF800000FFFFFF0000FFF
1135 FFF0000FFFFFF0242E7EAD29>I<0C0000380FC003F80FFFFFF80FFFFFF00FFFFFE00FFF
1136 FFC00FFFFF800FFFFF000FFFFC000FFFF0000FFF00000F0000000F0000000F0000000F00
1137 00000F0000000F0000000F0000000F1FF8000FFFFF000FFFFFC00FF01FE00F800FF00F00
1138 07F80E0007FC000003FE000003FE000003FE000003FF000003FF1E0003FF7F8003FFFF80
1139 03FFFFC003FFFFC003FFFFC003FFFF8003FEFF8003FE7F0007FC7C0007FC3C000FF81E00
1140 1FF00FC07FE007FFFF8001FFFE00003FE000202E7CAD29>I<00007F80000007FFF00000
1141 1FC07800007F001C0000FE001E0001FC007E0003F800FF0007F001FF000FF001FF001FE0
1142 01FF001FE001FF003FE000FE003FE0007C007FC00000007FC00000007FC00000007FC000
1143 0000FFC3FF8000FFC7FFE000FFCFBFF000FFDC03FC00FFF803FE00FFF001FF00FFF000FF
1144 00FFE000FF80FFE000FF80FFE000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0
1145 7FC000FFC07FC000FFC07FC000FFC07FC000FFC03FC000FFC03FC000FF801FE000FF801F
1146 E000FF000FE001FF000FF001FE0007F803FC0001FC0FF80000FFFFE000003FFF80000007
1147 FC0000222E7DAD29>I<38000000003E000000003FFFFFFFC03FFFFFFFC03FFFFFFFC03F
1148 FFFFFF807FFFFFFF007FFFFFFE007FFFFFFC007FFFFFF8007FFFFFF800780001F0007000
1149 03E000700007C000F0000F8000E0000F0000E0001F0000E0003E000000007C00000000F8
1150 00000000F800000001F000000003F000000003F000000007E000000007E00000000FE000
1151 00000FE00000000FE00000001FE00000001FC00000001FC00000003FC00000003FC00000
1152 003FC00000003FC00000003FC00000007FC00000007FC00000007FC00000007FC0000000
1153 7FC00000007FC00000007FC00000007FC00000007FC00000003F800000001F0000002230
1154 7BAF29>I<0007FC0000003FFF800000F80FE00001E003F00003C001F80007C000FC000F
1155 8000FC000F80007E001F80007E001F80007E001FC0007E001FE0007E001FF0007E001FF8
1156 00FE001FFE00FC001FFF81FC000FFFE3F8000FFFFFF00007FFFFC00003FFFF800003FFFF
1157 C00000FFFFF000007FFFF80001FFFFFC0007F7FFFE000FE1FFFF001FC0FFFF803F803FFF
1158 807F000FFF807E0003FFC0FE0000FFC0FC00007FC0FC00003FC0FC00001FC0FC00000FC0
1159 FC00000FC0FC00000F80FE00000F807E00001F807F00001F003F80003E001FC0007C000F
1160 F803F80003FFFFE00000FFFF8000001FFC0000222E7DAD29>I<000FFC0000007FFF0000
1161 01FC0FC00007F807F0000FF003F8001FE001FC003FE001FC003FC001FE007FC000FF007F
1162 C000FF00FFC000FF00FFC000FF80FFC000FF80FFC000FF80FFC000FF80FFC000FFC0FFC0
1163 00FFC0FFC000FFC0FFC000FFC07FC001FFC07FC001FFC07FC001FFC03FE003FFC01FE003
1164 FFC01FF007FFC00FF80EFFC003FF7CFFC001FFF8FFC0007FF0FFC0000000FF80000000FF
1165 80000000FF80000000FF800F8001FF001FC001FF003FE001FE003FE001FE003FE003FC00
1166 3FE003F8003FC007F8001F800FF0001E001FE0000F807F800007FFFE000001FFF8000000
1167 7FC00000222E7DAD29>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F00000000
1168 00000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F
1169 801F000B207A9F17>I<0000007C0000000000007C000000000000FE000000000000FE00
1170 0000000000FE000000000001FF000000000001FF000000000003FF800000000003FF8000
1171 00000007FFC00000000007FFC00000000007FFC0000000000FFFE0000000000F7FE00000
1172 00001F7FF0000000001E3FF0000000001E3FF0000000003E3FF8000000003C1FF8000000
1173 007C1FFC00000000780FFC00000000780FFC00000000F80FFE00000000F007FE00000001
1174 F007FF00000001E003FF00000001E003FF00000003E003FF80000003C001FF80000007C0
1175 01FFC00000078000FFC00000078000FFC000000FFFFFFFE000000FFFFFFFE000001FFFFF
1176 FFF000001E00003FF000001E00003FF000003C00003FF800003C00001FF800007C00001F
1177 FC00007800000FFC00007800000FFC0000F0000007FE0000F0000007FE0001F0000007FF
1178 0003F8000003FF00FFFFC001FFFFFEFFFFC001FFFFFEFFFFC001FFFFFE37317DB03E>65
1179 D<000003FF80038000003FFFF007800001FFFFFC0F800007FF007F1F80001FF8000FFF80
1180 007FE00003FF8000FFC00001FF8001FF000000FF8003FE0000007F8007FE0000003F800F
1181 FC0000001F801FF80000001F801FF80000000F803FF80000000F803FF00000000F803FF0
1182 00000007807FF000000007807FF000000007807FE00000000000FFE00000000000FFE000
1183 00000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000
1184 000000FFE00000000000FFE00000000000FFE00000000000FFE000000000007FE0000000
1185 00007FF000000000007FF000000003803FF000000003803FF000000003803FF800000003
1186 801FF800000007801FF800000007000FFC0000000F0007FE0000000E0003FF0000001E00
1187 01FF0000003C0000FFC000007800007FE00001F000001FF80003E0000007FF003F800000
1188 01FFFFFE000000003FFFF80000000003FF80000031317BB03C>67
1189 D<FFFFFFFFFFF000FFFFFFFFFFF000FFFFFFFFFFF00000FFC0003FF00000FFC00007F800
1190 00FFC00003F80000FFC00000F80000FFC00000F80000FFC00000780000FFC00000780000
1191 FFC00000380000FFC00000380000FFC00000380000FFC000001C0000FFC007001C0000FF
1192 C007001C0000FFC007001C0000FFC00700000000FFC00700000000FFC00F00000000FFC0
1193 1F00000000FFC03F00000000FFFFFF00000000FFFFFF00000000FFFFFF00000000FFC03F
1194 00000000FFC01F00000000FFC00F00000000FFC00700000000FFC00700000000FFC00700
1195 038000FFC00700038000FFC00700038000FFC00000070000FFC00000070000FFC0000007
1196 0000FFC00000070000FFC000000F0000FFC000000F0000FFC000001E0000FFC000001E00
1197 00FFC000003E0000FFC000007E0000FFC00000FE0000FFC00003FE0000FFC0001FFE00FF
1198 FFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0031317EB036>69
1199 D<FFFFFFC0FFFFFFC0FFFFFFC000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
1200 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
1201 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
1202 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
1203 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
1204 0000FFC000FFFFFFC0FFFFFFC0FFFFFFC01A317EB01F>73 D<FFFFFFF00000FFFFFFF000
1205 00FFFFFFF0000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1206 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1207 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1208 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1209 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000007000FFC00000
1210 7000FFC000007000FFC00000F000FFC00000F000FFC00000E000FFC00000E000FFC00001
1211 E000FFC00001E000FFC00003E000FFC00003E000FFC00007E000FFC0000FE000FFC0001F
1212 E000FFC0007FC000FFC003FFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02C317EB032
1213 >76 D<00000FFE0000000000FFFFE000000007FFFFFC0000001FFC07FF0000003FE000FF
1214 800000FF80003FE00001FF00001FF00003FE00000FF80007FC000007FC0007FC000007FC
1215 000FF8000003FE001FF8000003FF001FF0000001FF003FF0000001FF803FF0000001FF80
1216 3FF0000001FF807FE0000000FFC07FE0000000FFC07FE0000000FFC0FFE0000000FFE0FF
1217 E0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0
1218 000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE0FFE0000000FFE07FE000
1219 0000FFC07FE0000000FFC07FF0000001FFC07FF0000001FFC03FF0000001FF803FF00000
1220 01FF801FF8000003FF001FF8000003FF000FFC000007FE000FFC000007FE0007FE00000F
1221 FC0003FF00001FF80001FF80003FF00000FFC0007FE000003FE000FF8000001FFC07FF00
1222 000007FFFFFC00000000FFFFE0000000000FFE00000033317BB03E>79
1223 D<FFFFFFFFE000FFFFFFFFFE00FFFFFFFFFF8000FFC001FFE000FFC0003FF000FFC0001F
1224 F800FFC0000FFC00FFC0000FFC00FFC00007FE00FFC00007FE00FFC00007FF00FFC00007
1225 FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007FF00FFC00007
1226 FE00FFC00007FE00FFC0000FFC00FFC0000FFC00FFC0001FF800FFC0003FF000FFC001FF
1227 E000FFFFFFFF8000FFFFFFFE0000FFFFFFE00000FFC000000000FFC000000000FFC00000
1228 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1229 0000FFC000000000FFC000000000FFC000000000FFC000000000FFC000000000FFC00000
1230 0000FFC000000000FFC000000000FFC000000000FFC0000000FFFFFFC00000FFFFFFC000
1231 00FFFFFFC0000030317EB038>I<001FF0038000FFFF078003FFFFCF8007F00FFF801FC0
1232 01FF801F80007F803F00003F807F00001F807E00000F807E00000F80FE00000780FE0000
1233 0780FF00000380FF00000380FF80000380FFC0000000FFE0000000FFFC0000007FFFE000
1234 007FFFFE00003FFFFFC0003FFFFFF0001FFFFFFC000FFFFFFE0007FFFFFF0001FFFFFF00
1235 007FFFFF80001FFFFFC00000FFFFC0000007FFC0000000FFE00000007FE00000003FE000
1236 00001FE0E000001FE0E000000FE0E000000FE0E000000FE0F000000FE0F000000FC0F800
1237 000FC0F800001F80FC00001F80FF00003F00FFC0007E00FFFC01FC00F9FFFFF800F03FFF
1238 E000E007FF000023317BB02E>83 D<3FFFFFFFFFFF003FFFFFFFFFFF003FFFFFFFFFFF00
1239 3FE00FFC01FF007F000FFC003F807E000FFC001F807C000FFC000F8078000FFC00078078
1240 000FFC00078070000FFC00038070000FFC00038070000FFC00038070000FFC000380E000
1241 0FFC0001C0E0000FFC0001C0E0000FFC0001C0E0000FFC0001C000000FFC00000000000F
1242 FC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC
1243 00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00
1244 000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000
1245 0000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000
1246 00000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000
1247 000FFC000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF800032307DAF39>I<FFFF
1248 FFC003FFFFC0FFFFFFC003FFFFC0FFFFFFC003FFFFC000FFC0000007E00000FFC0000003
1249 C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FF
1250 C0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003
1251 C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FF
1252 C0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003
1253 C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FF
1254 C0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003
1255 C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FFC0000003C00000FF
1256 C0000007C000007FC00000078000007FE00000078000003FE000000F8000003FE000000F
1257 0000001FF000001E0000000FF800003E00000007FC0000FC00000003FF0003F800000000
1258 FFE01FE0000000007FFFFFC0000000000FFFFF000000000000FFF00000003A317EB03F>
1259 I<FFFFFF0000FFFF80FFFFFF0000FFFF80FFFFFF0000FFFF8003FFC000000FF00001FFE0
1260 000007C00000FFE000000F800000FFF000000F8000007FF800001F0000003FF800001E00
1261 00001FFC00003E0000001FFE00007C0000000FFE00007800000007FF0000F800000007FF
1262 8001F000000003FF8001E000000001FFC003E000000001FFE007C000000000FFF0078000
1263 0000007FF00F80000000007FF81F00000000003FFC1E00000000001FFC3E00000000001F
1264 FE7C00000000000FFF78000000000007FFF8000000000007FFF0000000000003FFF00000
1265 00000001FFE0000000000001FFC0000000000000FFC0000000000000FFC0000000000000
1266 FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000
1267 00000000FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000
1268 FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000
1269 00000000FFC00000000000FFFFFF8000000000FFFFFF8000000000FFFFFF80000039317E
1270 B03E>89 D<007FF8000003FFFF00000FFFFFC0001FE01FF0001FF007F8001FF007FC001F
1271 F003FC001FF001FE000FE001FE0007C001FE00010001FE00000001FE00000001FE000001
1272 FFFE00003FFFFE0001FFF1FE0007FE01FE001FF001FE003FE001FE007FC001FE007F8001
1273 FE00FF8001FE00FF0001FE00FF0001FE00FF0001FE00FF8003FE00FF8007FE007FC00FFE
1274 003FF03EFF001FFFF87FF807FFF03FF800FF801FF825207E9F28>97
1275 D<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007F8000000
1276 07F800000007F800000007F800000007F800000007F800000007F800000007F800000007
1277 F800000007F800000007F800000007F800000007F80FF00007F87FFE0007F9FFFF8007FF
1278 E03FE007FF000FF007FE0007F807FC0007F807F80003FC07F80003FE07F80003FE07F800
1279 01FE07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001
1280 FF07F80001FF07F80001FF07F80001FF07F80001FE07F80003FE07F80003FC07FC0003FC
1281 07FC0007F807FE000FF007FF801FE007E7E07FC007C1FFFF8007807FFE0007001FE00028
1282 327EB12E>I<0007FF00007FFFE001FFFFF803FC03FC07F807FC0FF007FC1FE007FC3FC0
1283 07FC3FC003F87FC001F07F800040FF800000FF800000FF800000FF800000FF800000FF80
1284 0000FF800000FF800000FF800000FF8000007FC000007FC000003FC0000E3FE0000E1FE0
1285 001E0FF0003C07F8007803FF01F001FFFFE0007FFF800007FC001F207D9F25>I<000000
1286 07E0000003FFE0000003FFE0000003FFE00000003FE00000001FE00000001FE00000001F
1287 E00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0
1288 0000001FE00000001FE00000001FE0000FF81FE0007FFF1FE001FFFFDFE003FE03FFE00F
1289 F800FFE01FF0007FE01FE0003FE03FC0001FE03FC0001FE07FC0001FE07F80001FE0FF80
1290 001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF80001FE0FF8000
1291 1FE0FF80001FE0FF80001FE07F80001FE07FC0001FE07FC0001FE03FC0003FE01FE0007F
1292 E01FE000FFE00FF001FFE007FC07DFF001FFFF9FFF007FFE1FFF000FF01FFF28327DB12E
1293 >I<000FFE0000007FFFC00001FFFFE00003FE0FF00007F801F8000FF000FC001FE000FE
1294 003FC0007F003FC0007F007FC0003F007F80003F807F80003F80FF80003F80FF80003F80
1295 FFFFFFFF80FFFFFFFF80FFFFFFFF80FF80000000FF80000000FF800000007F800000007F
1296 800000007FC00000003FC00003803FE00003801FE00007800FF0000F0007F8003E0003FF
1297 01FC0000FFFFF800003FFFE0000007FF000021207E9F26>I<0000FF000007FFC0001FFF
1298 F0007FC7F000FF0FF801FF0FF801FE0FF803FE0FF803FC0FF803FC07F003FC01C003FC00
1299 0003FC000003FC000003FC000003FC000003FC000003FC0000FFFFF800FFFFF800FFFFF8
1300 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
1301 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
1302 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00007FFFF0
1303 007FFFF0007FFFF0001D327EB119>I<001FF007E000FFFE3FF003FFFFFFF807F83FF1F8
1304 0FE00FE1F81FE00FF1F81FC007F0603FC007F8003FC007F8003FC007F8003FC007F8003F
1305 C007F8003FC007F8003FC007F8001FC007F0001FE00FF0000FE00FE00007F83FC00007FF
1306 FF80000EFFFE00000E1FF000000E000000001E000000001E000000001F000000001F8000
1307 00001FFFFFC0000FFFFFF8000FFFFFFE0007FFFFFF8007FFFFFFC007FFFFFFE01FFFFFFF
1308 E03F00007FE07E00000FF0FE000007F0FC000003F0FC000003F0FC000003F0FE000007F0
1309 7E000007E07F00000FE03FC0003FC01FF801FF8007FFFFFE0000FFFFF000001FFF800025
1310 2F7E9F29>I<01F800000000FFF800000000FFF800000000FFF8000000000FF800000000
1311 07F80000000007F80000000007F80000000007F80000000007F80000000007F800000000
1312 07F80000000007F80000000007F80000000007F80000000007F80000000007F800000000
1313 07F80000000007F807F8000007F83FFF000007F87FFF800007F9F03FC00007FBC01FE000
1314 07FF801FE00007FF000FF00007FE000FF00007FC000FF00007FC000FF00007F8000FF000
1315 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1316 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1317 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1318 FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029327DB12E>I<03C0000FF0001FF8001FF8
1319 001FF8001FFC001FF8001FF8001FF8000FF00003C0000000000000000000000000000000
1320 0000000000000000000001F800FFF800FFF800FFF8000FF80007F80007F80007F80007F8
1321 0007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F8
1322 0007F80007F80007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF801133
1323 7DB217>I<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F800000007
1324 F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8
1325 00000007F800000007F800000007F800000007F800000007F8007FFC07F8007FFC07F800
1326 7FFC07F8001FC007F8001F0007F8003E0007F800F80007F801F00007F803E00007F80780
1327 0007F81F000007F83E000007F87E000007F9FE000007FBFF000007FFFF800007FF7FC000
1328 07FE3FE00007FC1FF00007F01FF00007F00FF80007F007FC0007F003FE0007F001FF0007
1329 F001FF0007F000FF8007F0007FC007F0003FE007F0003FF0FFFF80FFFFFFFF80FFFFFFFF
1330 80FFFF28327EB12C>107 D<01F800FFF800FFF800FFF8000FF80007F80007F80007F800
1331 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
1332 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
1333 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800
1334 07F80007F80007F800FFFFC0FFFFC0FFFFC012327DB117>I<03F007F8000FF000FFF03F
1335 FF007FFE00FFF07FFF80FFFF00FFF1F03FC3E07F800FF3C01FE7803FC007F7801FEF003F
1336 C007F7000FFE001FE007FE000FFC001FE007FC000FF8001FE007FC000FF8001FE007F800
1337 0FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001F
1338 E007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F800
1339 0FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001F
1340 E007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F8000FF0001FE007F800
1341 0FF0001FE0FFFFC1FFFF83FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF40207D9F45>I<
1342 03F007F80000FFF03FFF0000FFF07FFF8000FFF1F03FC0000FF3C01FE00007F7801FE000
1343 07F7000FF00007FE000FF00007FC000FF00007FC000FF00007F8000FF00007F8000FF000
1344 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1345 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1346 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000FFFFC1FFFF80
1347 FFFFC1FFFF80FFFFC1FFFF8029207D9F2E>I<0007FE0000003FFFC00000FFFFF00003FC
1348 03FC0007F000FE000FE0007F001FC0003F803FC0003FC03FC0003FC07F80001FE07F8000
1349 1FE07F80001FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF80001F
1350 F0FF80001FF0FF80001FF07F80001FE07F80001FE07F80001FE03FC0003FC03FC0003FC0
1351 1FE0007F800FE0007F0007F801FE0003FE07FC0001FFFFF800003FFFC0000007FE000024
1352 207E9F29>I<01F80FF000FFF87FFE00FFF9FFFF80FFFFE07FE00FFF001FF007FE000FF8
1353 07FC0007F807F80007FC07F80003FE07F80003FE07F80003FE07F80001FF07F80001FF07
1354 F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F8
1355 0003FF07F80003FE07F80003FE07F80003FC07FC0007FC07FC000FF807FE000FF007FF80
1356 1FE007FFE07FC007F9FFFF8007F87FFE0007F81FE00007F800000007F800000007F80000
1357 0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000
1358 07F8000000FFFFC00000FFFFC00000FFFFC00000282E7E9F2E>I<03F03F00FFF0FFC0FF
1359 F1FFF0FFF3C7F00FF78FF807F70FF807FE0FF807FE0FF807FC07F007FC03E007FC008007
1360 FC000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007
1361 F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80000FF
1362 FFE000FFFFE000FFFFE0001D207E9F22>114 D<00FF870007FFEF001FFFFF003F007F00
1363 7C001F007C000F00F8000F00F8000700FC000700FC000700FF000000FFF800007FFFC000
1364 7FFFF0003FFFFC001FFFFE0007FFFF0001FFFF80001FFF800000FFC000001FC0E0000FC0
1365 E0000FC0F00007C0F00007C0F80007C0FC000F80FE001F80FF803F00FFFFFE00F3FFF800
1366 E07FC0001A207D9F21>I<00380000380000380000380000380000780000780000780000
1367 F80000F80001F80003F80007F8001FF800FFFFFEFFFFFEFFFFFE07F80007F80007F80007
1368 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007
1369 F80007F80707F80707F80707F80707F80707F80707F80707FC0F03FC0E03FE1E01FFFC00
1370 7FF8000FE0182E7EAD20>I<01F80003F000FFF801FFF000FFF801FFF000FFF801FFF000
1371 0FF8001FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1372 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1373 07F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF00007F8000FF000
1374 07F8000FF00007F8001FF00007F8001FF00007F8003FF00007F8007FF00003FC00FFF000
1375 03FE03EFF80001FFFFCFFF80007FFF0FFF80000FFC0FFF8029207D9F2E>I<FFFF801FFE
1376 FFFF801FFEFFFF801FFE07F80003E007F80001C007FC0003C003FC00038003FE00078001
1377 FE00070001FF000F0000FF000E0000FF801E00007F801C00007FC03C00003FC03800003F
1378 E03800001FE07000001FE07000000FF0E000000FF0E000000FF9E0000007F9C0000007FF
1379 C0000003FF80000003FF80000001FF00000001FF00000000FE00000000FE000000007C00
1380 0000007C0000000038000027207E9F2C>I<FFFF0FFFF01FFEFFFF0FFFF01FFEFFFF0FFF
1381 F01FFE0FF0007E0003F00FF8007F0001E007F8007F0001C007F8003F8003C003FC003F80
1382 038003FC007FC0038003FE007FC0078001FE00FFC0070001FF00EFE00F0000FF00EFE00E
1383 0000FF01C7F00E00007F81C7F01C00007F83C7F01C00007FC383F83C00003FC383F83800
1384 003FC701FC3800001FE701FC7000001FEF01FC7000001FFE00FEF000000FFE00FEE00000
1385 0FFC007FE0000007FC007FC0000007FC007FC0000007F8003FC0000003F8003F80000003
1386 F0001F80000001F0001F00000001E0000F00000000E0000E000037207E9F3C>I<FFFF00
1387 FFFCFFFF00FFFCFFFF00FFFC07F8001F8003FC001E0001FE003C0000FF00780000FF80F0
1388 00007FC1E000003FC1E000001FE3C000000FF780000007FF00000007FE00000003FE0000
1389 0001FE00000000FF00000001FF80000001FFC0000003FFE00000079FF000000F0FF00000
1390 1E07F800003C03FC00007801FE0000F001FF0001E000FF8001E0007FC007E0003FC0FFF8
1391 01FFFEFFF801FFFEFFF801FFFE27207E9F2C>I<FFFF801FFEFFFF801FFEFFFF801FFE07
1392 F80003E007F80001C007FC0003C003FC00038003FE00078001FE00070001FF000F0000FF
1393 000E0000FF801E00007F801C00007FC03C00003FC03800003FE03800001FE07000001FE0
1394 7000000FF0E000000FF0E000000FF9E0000007F9C0000007FFC0000003FF80000003FF80
1395 000001FF00000001FF00000000FE00000000FE000000007C000000007C00000000380000
1396 0000380000000070000000007000000000F000003C00E000007E01E00000FF01C00000FF
1397 03800000FF07800000FF0F0000007A3E0000007FFC0000003FF80000000FC0000000272E
1398 7E9F2C>I<3FFFFFFC3FFFFFFC3FFFFFFC3FC00FF83E001FF03C003FF038003FE078007F
1399 C07800FF807001FF807003FF007003FE007007FC00000FFC00001FF800001FF000003FE0
1400 00007FE00E00FFC00E00FF800E01FF000E03FF000E07FE001E07FC001E0FF8001C1FF000
1401 3C3FF0007C3FE000FC7FC007FCFFFFFFFCFFFFFFFCFFFFFFFC1F207E9F25>I
1402 E end
1403 %%EndProlog
1404 %%BeginSetup
1405 %%Feature: *Resolution 300dpi
1406 TeXDict begin
1407
1408 %%EndSetup
1409 %%Page: 1 1
1410 1 0 bop 909 315 a Fo(Ox:)519 375 y Fn(An)16 b(A)o(ttribute-Grammar)d
1411 (Compiling)i(System)681 435 y(based)i(on)f(Y)l(acc,)g(Lex,)f(and)i(C:)
1412 588 549 y Fo(T)-7 b(utorial)28 b(In)n(tro)r(duction)795
1413 660 y Fm(No)o(v)o(em)o(b)q(er)15 b(5,)g(1993)683 715
1414 y(c)670 716 y Fl(\015)p Fm(1992,)f(1993)g(Kurt)h(M.)g(Bisc)o(ho\013)699
1415 773 y Fk(bischoff@cs.iastate.edu)164 939 y Fo(1)83 b(In)n(tro)r
1416 (duction)164 1049 y Fj(Ox)19 b Fn(is)f(an)i(attribute-grammar)d
1417 (compiling)g(system)g(based)j(on)f(Y)l(acc,)g(Lex,)g(and)g(C.)164
1418 1109 y(Ox)248 1091 y Fi(1)288 1109 y Fn(generalizes)g(the)h(function)g
1419 (of)h(Y)l(acc)f(in)g(the)g(w)o(a)o(y)g(that)g(attribute)g(grammars)164
1420 1169 y(generalize)14 b(con)o(text-free)g(grammars.)20
1421 b(Ordinary)15 b(Y)l(acc)g(and)h(Lex)f(sp)q(eci\014cations)h(can)164
1422 1229 y(b)q(e)c(augmen)o(ted)f(with)h(de\014nitions)g(of)h(syn)o
1423 (thesized)e(and)h(inherited)f(attributes)h(written)164
1424 1289 y(in)17 b(C/C++)i(syn)o(tax.)25 b(F)l(rom)16 b(these)h(sp)q
1425 (eci\014cations,)h(Ox)f(generates)h(a)g(program)f(that)164
1426 1350 y(builds)e(and)h(decorates)g(attributed)f(parse)h(trees.)k(Ox)c
1427 (accepts)f(a)h(most)f(general)g(class)164 1410 y(of)20
1428 b(attribute)g(grammars.)32 b(The)20 b(user)g(can)g(sp)q(ecify)g
1429 (parse-tree)g(tra)o(v)o(ersals)f(for)i(easy)164 1470
1430 y(ordering)j(of)f(side)g(e\013ects)g(suc)o(h)g(as)i(co)q(de)e
1431 (generation.)43 b(Ox)23 b(handles)h(the)f(tedious)164
1432 1530 y(and)15 b(error-prone)g(details)g(of)g(writing)f(co)q(de)h(for)g
1433 (parse-tree)g(managemen)o(t,)d(so)j(its)g(use)164 1590
1434 y(eases)f(problems)f(of)h(securit)o(y)e(and)j(main)o(tainabilit)o(y)10
1435 b(asso)q(ciated)15 b(with)f(that)g(asp)q(ect)h(of)164
1436 1651 y(translator)i(dev)o(elopmen)o(t.)237 1711 y(Ox)11
1437 b(is)g(a)g(Y)l(acc/Lex/C/C++)h(prepro)q(cessor,)g(and)g(is)f(designed)g
1438 (to)g(bring)g(attribute)164 1771 y(grammars)17 b(to)j(the)e(mainstream)
1439 f(of)i(Unix-based)g(language)g(dev)o(elopmen)o(t.)26
1440 b(Ox)19 b(in-)164 1831 y(herits)h(all)g(of)g(the)g(familiar)f(syn)o
1441 (tax)h(and)h(seman)o(tics)d(of)j(Y)l(acc,)f(Lex,)h(and)g(C/C++.)164
1442 1891 y(This)e(mak)o(es)f(Ox)h(easily)f(accessible)g(to)i(language)g
1443 (designers,)g(dev)o(elop)q(ers,)e(and)i(ex-)164 1952
1444 y(p)q(erimen)o(ters)14 b(who)k(use)e(those)h(to)q(ols.)24
1445 b(It)16 b(also)h(pro)o(vides)f(a)i(ready)e(\\escap)q(e)h(hatc)o(h")g
1446 (in)164 2012 y(case)f(it)g(is)g(desired)g(to)g(return)g(to)h(an)g
1447 (ordinary)f(Y)l(acc)g(implem)o(e)o(n)o(tation.)237 2072
1448 y(This)g(pap)q(er)h(giv)o(es)e(an)h(o)o(v)o(erview)e(of)i(Ox)g(b)o(y)f
1449 (emphasizing)g(examples.)k(It)c(quic)o(kly)164 2132 y(familiarizes)22
1450 b(y)o(ou)k(with)f(the)g(Ox)g(features)g(that)h(are)f(most)g(imme)o
1451 (diately)d(useful.)164 2192 y(A)g(more)g(complete)f(reference,)h(the)h
1452 Fh(Ox)h(User)g(R)n(efer)n(enc)n(e)f(Manual)5 b Fn(,)25
1453 b(accompanies)164 2252 y(the)f(Ox)f(electronic)g(distribution,)i(whic)o
1454 (h)e(can)h(b)q(e)h(obtained)f(free)f(b)o(y)h(writing)g(to)164
1455 2313 y Fg(ox-request)o(@cs)o(.i)o(ast)o(ate)o(.ed)o(u)p
1456 Fn(.)p 164 2358 648 2 v 220 2388 a Ff(1)239 2403 y Fe(The)13
1457 b(name)f(\\Ox")g(comes)h(from)e(an)h(attempt)g(to)h(pronounce)h(an)f
1458 (acron)o(ym)e(for)i(\\An)f(A)o(ttribute-)164 2453 y(Gramma)o(r)g
1459 (Compiling)e(System")961 2599 y Fn(1)p eop
1460 %%Page: 2 2
1461 2 1 bop 237 307 a Fn(F)l(amiliarit)o(y)12 b(with)i(the)g(use)h(of)g(Y)l
1462 (acc,)f(Lex,)g(C,)h(and)g(Mak)o(e)f(is)g(su\016cien)o(t)g(to)h(under-)
1463 164 367 y(stand)i(this)f(tutorial)g(and)h(to)g(b)q(egin)f(using)h(Ox.)k
1464 (Some)15 b(prior)h(exp)q(osure)h(to)f(attribute)164 428
1465 y(grammars)g(is)g(helpful.)23 b(Readers)17 b(with)g(an)g(urge)g(for)h
1466 (details)e(and)i(hands-on)h(exp)q(eri-)164 488 y(ence)c(should)h(use)f
1467 (the)g(index)g(of)h(the)f(reference)f(man)o(ual)g(and)i(should)g(ha)o
1468 (v)o(e)f(access)h(to)164 548 y(a)d(system)e(on)i(whic)o(h)f(Ox)h(is)f
1469 (installed.)20 b(The)12 b(examples)f(herein)h(\(in)g(mac)o
1470 (hine-readable)164 608 y(form\))j(are)h(included)f(with)i(the)f(Ox)g
1471 (distribution.)164 775 y Fo(2)83 b(Con)n(v)n(erting)37
1472 b(a)h(Y)-7 b(acc/Lex)38 b(program)h(for)g(use)288 866
1473 y(with)27 b(Ox)164 975 y Fn(Probably)21 b(the)g(easiest)g(w)o(a)o(y)f
1474 (to)h(get)g(started)g(with)g(Ox)g(is)f(to)i(con)o(v)o(ert)d(an)j
1475 (existing)164 1036 y(Y)l(acc/Lex)382 1017 y Fi(2)417
1476 1036 y Fn(parser)16 b(or)g(translator.)22 b(This)16 b(can)g(usually)f
1477 (b)q(e)h(done)g(without)g(c)o(hanging)164 1096 y(the)f(Y)l(acc)f(and)i
1478 (Lex)e(co)q(de.)21 b(Ox)15 b(can)g(also)h(b)q(e)f(used)g(with)g(Y)l
1479 (acc-only)f(translators,)i(i.e.,)164 1156 y(those)h(with)f(lexical)e
1480 (analyzers)i(hand-co)q(ded)i(in)d(C)i(\(see)f(section)g(9.3\).)164
1481 1300 y Fd(2.1)70 b(A)22 b(parser)i(of)f(arithmetic)d(expressions)164
1482 1393 y Fn(As)13 b(a)g(running)g(example,)e(w)o(e)h(start)h(with)g(a)g
1483 (Y)l(acc/Lex)f(parser)i(for)f(in)o(teger)e(arithmetic)164
1484 1453 y(expressions.)237 1513 y(The)k(Lex)f(\014le)g(is)g(named)f
1485 Fg(scan.l)p Fn(,)f(and)j(sp)q(eci\014es)g(the)f(tok)o(ens)g(of)h(the)f
1486 (language)h(as)164 1573 y(digit)h(strings,)g(paren)o(theses,)g(and)g
1487 (four)h(binary)f(op)q(erators:)164 1677 y Fc(\045{)164
1488 1727 y(#include)k("y.tab.h")164 1777 y(\045})164 1876
1489 y(\045\045)164 1926 y([)i(\\n\\t\\f]+)172 b(;)164 1976
1490 y([0-9]+)260 b(return\(ICONST\);)164 2026 y([\(\)*/+\\-])194
1491 b(return\(yytext[0]\);)164 2076 y(\045\045)237 2190 y
1492 Fn(The)24 b(Y)l(acc)g(\014le)f(\(named)g Fg(gram.y)p
1493 Fn(\))f(sp)q(eci\014es)i(the)g(syn)o(tax.)45 b(The)24
1494 b(grammar)f(is)164 2250 y(disam)o(biguated)15 b(b)o(y)h(use)g(of)h(the)
1495 f Fg(\045left)e Fn(reserv)o(ed)h(w)o(ord:)p 164 2329
1496 648 2 v 220 2359 a Ff(2)239 2374 y Fe(Ox)d(is)g(designed)g(to)g(w)o
1497 (ork)g(also)f(with)g(Y)m(acc)i(and)e(Lex)i(w)o(ork)n(alik)o(es)d(and)i
1498 (C++.)18 b(Throughout)12 b(this)164 2424 y(pap)q(er,)i(\\Y)m(acc",)f
1499 (\\Lex",)g(and)h(\\C")f(can)i(generally)e(b)q(e)i(tak)o(en)f(to)f(mean)
1500 g(\\Y)m(acc)h(or)g(Bison",)f(\\Lex)h(or)164 2474 y(Flex",)f(and)h(\\C)f
1501 (or)h(C++",)g(resp)q(ectiv)o(ely)m(.)961 2599 y Fn(2)p
1502 eop
1503 %%Page: 3 3
1504 3 2 bop 164 307 a Fc(\045token)21 b(ICONST)164 357 y(\045left)g('+')g
1505 ('-')164 407 y(\045left)g('*')g('/')164 506 y(\045\045)164
1506 556 y(expr)86 b(:)153 b(expr)86 b('*')108 b(expr)338
1507 606 y(|)153 b(expr)86 b('/')108 b(expr)338 656 y(|)153
1508 b(expr)86 b('+')108 b(expr)338 706 y(|)153 b(expr)86
1509 b('-')108 b(expr)338 756 y(|)153 b('\(')108 b(expr)86
1510 b('\)')338 805 y(|)153 b(ICONST)338 855 y(;)164 905 y(\045\045)164
1511 955 y(main\(\))208 1005 y({return\(yyparse)o(\(\)\);)208
1512 1054 y(})237 1169 y Fn(The)18 b(follo)o(wing)f(Mak)o(e)g(\014le)g(is)h
1513 (used)g(to)g(build)f(and)h(main)o(tain)e(the)i(parser,)g(whic)o(h)164
1514 1229 y(is)e(named)f Fg(gc)p Fn(:)164 1333 y Fc(gc:)21
1515 b(y.tab.o)f(lex.yy.o)338 1382 y(cc)i(-o)f(gc)g(y.tab.o)g(lex.yy.o)f
1516 (-ly)h(-ll)164 1482 y(y.tab.c)f(y.tab.h:)g(gram.y)338
1517 1532 y(yacc)h(-d)h(gram.y)164 1631 y(lex.yy.c:)e(scan.l)338
1518 1681 y(lex)h(scan.l)164 1781 y(y.tab.o:)f(y.tab.c)338
1519 1831 y(cc)i(-c)f(y.tab.c)164 1930 y(lex.yy.o:)f(lex.yy.c)g(y.tab.h)338
1520 1980 y(cc)i(-c)f(lex.yy.c)164 2124 y Fd(2.2)70 b(A)22
1521 b(parser)i(that)f(builds)f(a)h(parse)h(tree)164 2217
1522 y Fn(The)15 b(ab)q(o)o(v)o(e)g(parser)h(do)q(es)g(no)f(seman)o(tic)e
1523 (analysis.)21 b(T)l(o)16 b(get)f(ready)g(for)h(Ox)f(implem)o(en-)164
1524 2277 y(tation)j(of)g(seman)o(tics,)e(w)o(e)h(need)g(merely)e(replace)i
1525 (the)h(follo)o(wing)f(lines)g(in)g(the)h(Mak)o(e)164
1526 2337 y(\014le:)961 2599 y(3)p eop
1527 %%Page: 4 4
1528 4 3 bop 273 307 a Fc(y.tab.c)20 b(y.tab.h:)g(gram.y)447
1529 357 y(yacc)h(-d)h(gram.y)273 457 y(lex.yy.c:)e(scan.l)447
1530 506 y(lex)h(scan.l)164 596 y Fn(with)16 b(these:)273
1531 676 y Fc(oxout.y)k(oxout.l:)g(gram.y)h(scan.l)447 726
1532 y(ox)h(gram.y)e(scan.l)273 826 y(y.tab.c)g(y.tab.h:)g(oxout.y)447
1533 875 y(yacc)h(-d)h(oxout.y)273 975 y(lex.yy.c:)e(oxout.l)447
1534 1025 y(lex)h(oxout.l)164 1116 y Fn(The)16 b(command:)292
1535 1206 y Fg(ox)25 b(gram.y)e(scan.l)164 1297 y Fn(transforms)17
1536 b Fg(gram.y)e Fn(\(called)h(the)i Fh(Y-\014le)t Fn(\))g(in)o(to)f
1537 Fg(oxout.y)p Fn(,)e(and)j(transforms)f Fg(scan.l)164
1538 1357 y Fn(\(called)24 b(the)g Fh(L-\014le)t Fn(\))i(in)o(to)e
1539 Fg(oxout.l)p Fn(.)44 b(These)24 b(Ox)h(outputs)g(replace)f
1540 Fg(gram.y)e Fn(and)164 1418 y Fg(scan.l)14 b Fn(in)i(the)g(remaining)f
1541 (steps)h(of)h(parser)f(construction.)237 1478 y(The)f(user-observ)o(ed)
1542 g(b)q(eha)o(viors)h(of)f(the)g(original)g(program)g(and)h(the)f(one)g
1543 (prepro-)164 1538 y(cessed)f(b)o(y)g(Ox)g(are)g(the)g(same.)20
1544 b(The)14 b(di\013erence)f(is)h(that)h(the)f(v)o(ersion)f(made)h(using)g
1545 (Ox)164 1598 y(and)j(the)f(new)g(Mak)o(e)g(\014le)g(builds)g(a)g(dumm)o
1546 (y)e(\(attribute-less\))i(parse)g(tree,)g(while)f(the)164
1547 1658 y(original)k(builds)h(no)g(parse)g(tree.)30 b(The)20
1548 b(original)f(co)q(de)h(in)f(the)g(example)f(lac)o(ks)h(Y)l(acc)164
1549 1718 y(actions,)25 b(but)e(had)h(it)e(con)o(tained)h(suc)o(h)g
1550 (actions,)h(their)f(e\013ects)g(w)o(ould)g(ha)o(v)o(e)f(b)q(een)164
1551 1779 y(undisturb)q(ed)17 b(b)o(y)e(the)h(Ox)g(prepro)q(cessing.)237
1552 1839 y(Ha)o(ving)i(mo)q(di\014ed)g(our)h(Mak)o(e)f(\014le,)g(w)o(e)g
1553 (are)h(ready)f(to)h(augmen)o(t)f(the)g(Y-\014le)g(and)164
1554 1899 y(L-\014le)e(with)g(Ox)g(constructs.)164 2064 y
1555 Fo(3)83 b(Adding)27 b(Ox-generated)g(seman)n(tics)164
1556 2173 y Fn(This)18 b(section)f(in)o(tro)q(duces)h(the)f(form)g(and)h
1557 (meaning)f(of)h(Ox-sp)q(eci\014c)f(constructs,)h(b)o(y)164
1558 2233 y(w)o(a)o(y)e(of)g(con)o(v)o(erting)g(our)g(parse-tree-building)g
1559 (parser)h(in)o(to)f(a)g(calculator.)237 2293 y(Eac)o(h)d(parse)f(tree)g
1560 (has)h(lea)o(v)o(es)e(lab)q(eled)h(b)o(y)g(the)g Fg(ICONST)f
1561 Fn(tok)o(en.)19 b(Let)13 b(us)f(endo)o(w)h(this)164 2354
1562 y(tok)o(en)20 b(with)g(an)g(attribute)g Fg(string)p Fn(:)27
1563 b(a)21 b(c)o(haracter)e(p)q(oin)o(ter)h(that)h(for)f(eac)o(h)g
1564 Fg(ICONST)164 2414 y Fn(no)q(de)e(is)e(to)i(p)q(oin)o(t)f(to)g(a)g(cop)
1565 o(y)g(of)g(the)g(lexeme)d(corresp)q(onding)k(to)f(the)g(no)q(de.)24
1566 b(This)17 b(is)164 2474 y(done)f(b)o(y)g(placing)g(the)g
1567 Fh(attribute)j(de)n(clar)n(ation)t Fn(:)961 2599 y(4)p
1568 eop
1569 %%Page: 5 5
1570 5 4 bop 292 307 a Fg(@attribute)o(s)23 b({char)h(*string;})e(ICONST)164
1571 409 y Fn(b)q(efore)15 b(the)g(\014rst)h Fg(\045\045)f
1572 Fn(mark)f(in)g(the)i(Y-\014le.)k(The)15 b(ab)q(o)o(v)o(e-men)o(tioned)e
1573 (storage)k(lo)q(cation)164 469 y(created)i(for)g(eac)o(h)g
1574 Fg(ICONST)e Fn(no)q(de)j(is)f(called)f(an)i Fh(attribute)h(instanc)n(e)
1575 k Fn(\(concisely:)g(an)164 529 y Fh(instanc)n(e)t Fn(\).)d(It)16
1576 b(is)g(an)h(instance)f(of)g(the)g Fg(string)e Fn(attribute)i(of)h
1577 Fg(ICONST)p Fn(.)237 589 y(W)l(e)23 b(supply)g(a)h(C)g(macro)e(\(named)
1578 g Fg(lexeme)p Fn(\))f(that)j(constructs)g(a)g(cop)o(y)f(of)g(the)164
1579 650 y(lexeme.)29 b(F)l(or)20 b(brevit)o(y)e(of)i(the)f(example,)f
1580 Fg(lexeme)g Fn(unsafely)h(neglects)h(to)g(c)o(hec)o(k)e(for)164
1581 710 y(return)e(of)h Fg(NULL)d Fn(b)o(y)i Fg(malloc)p
1582 Fn(.)j(Here)c(is)h(the)g(mo)q(di\014ed)f(L-\014le:)164
1583 814 y Fc(\045{)164 863 y(#include)20 b("y.tab.h")164
1584 913 y(#include)g(<string.h>)164 1013 y(#define)g(lexeme)h
1585 (strcpy\(\(char)e(*\)malloc\(yyleng+1\))o(,yyte)o(xt\))164
1586 1063 y(\045})164 1162 y(\045\045)164 1212 y([)j(\\n\\t\\f]+)172
1587 b(;)164 1262 y([0-9]+)260 b(return\(ICONST\);)19 b(@{)i
1588 (@ICONST.string@)e(=)j(lexeme;)e(@})164 1312 y("\(")326
1589 b(return\('\('\);)164 1362 y("\)")g(return\('\)'\);)164
1590 1411 y("*")g(return\('*'\);)164 1461 y("/")g(return\('/'\);)164
1591 1511 y("+")g(return\('+'\);)164 1561 y("-")g(return\('-'\);)164
1592 1611 y(\045\045)237 1725 y Fn(T)l(o)16 b(the)f(righ)o(t)g(of)g(the)g
1593 (lexical)f(rule)g(for)i Fg(ICONST)p Fn(,)c(there)j(is)g(b)q(et)o(w)o
1594 (een)f Fg(@)p Fb(f)h Fn(and)h Fg(@)p Fb(g)e Fn(an)164
1595 1785 y Fh(attribute)i(de\014nition)j Fn(that)14 b(causes)g(the)g
1596 Fg(string)d Fn(attribute)j(instance)f(in)h(eac)o(h)f
1597 Fg(ICONST)164 1845 y Fn(no)q(de)k(to)f(get)h(a)f(p)q(oin)o(ter)g(to)h
1598 (a)g(cop)o(y)e(of)i(the)f(constan)o(t's)h(lexeme)o(.)237
1599 1905 y(Notice)e(that)i(w)o(e)f(ha)o(v)o(e)f(replaced)h(the)g(single)f
1600 (lexical)g(rule:)292 2007 y Fg([\(\)*/+\\-])228 b(return\(yy)o(te)o
1601 (xt[)o(0]\))o(;)164 2109 y Fn(with)14 b(six)f(rules)g(that)h(are)g
1602 (together)g(equiv)m(alen)o(t)e(to)i(that)h(single)e(rule.)19
1603 b(Ox)14 b(w)o(ould)g(ha)o(v)o(e)164 2169 y(b)q(een)21
1604 b(unable)h(to)f(determine)e(from)i(the)g(ob)s(ject)g(of)g(the)g(single)
1605 g Fg(return)f Fn(statemen)o(t)164 2229 y(\(namely)10
1606 b Fg(yytext[0])o Fn(\))f(the)i(sp)q(eci\014c)h(tok)o(en)f(that)h(w)o
1607 (ould)f(b)q(e)h Fg(return)p Fn(ed.)18 b(By)11 b(replacing)164
1608 2289 y(the)19 b(rule,)f(w)o(e)h(mak)o(e)e(the)i Fg(return)p
1609 Fn(ed)e(tok)o(ens)i(explicit,)e(and)j(a)o(v)o(oid)e(a)i(w)o(arning)f
1610 (from)164 2350 y(Ox.)237 2410 y(Eac)o(h)14 b(parse-tree)g(no)q(de)h
1611 (lab)q(eled)f(b)o(y)g Fg(expr)e Fn(is)i(the)g(ro)q(ot)i(of)e(a)h
1612 (subtree)f(corresp)q(ond-)164 2470 y(ing)i(to)h(a)g(sub)q(expression.)k
1613 (Placing)16 b(the)g(attribute)g(declaration:)961 2599
1614 y(5)p eop
1615 %%Page: 6 6
1616 6 5 bop 292 307 a Fg(@attribute)o(s)23 b({long)h(val;})f(expr)164
1617 409 y Fn(in)f(the)g(Y-\014le)g(causes)h(the)f(Ox-generated)h
1618 (translator)g(to)g(allo)q(cate)g(space)f(\(an)h(at-)164
1619 469 y(tribute)17 b(instance\))h(for)g(a)g Fg(long)f Fn(named)g
1620 Fg(val)f Fn(eac)o(h)i(time)e(it)h(creates)h(a)g(no)q(de)h(lab)q(eled)
1621 164 529 y(b)o(y)d Fg(expr)p Fn(.)237 589 y(The)24 b Fh(b)n(o)n(dy)k
1622 Fn(\(the)c(part)h(b)q(et)o(w)o(een)e(curly)g(braces\))i(of)f(an)h
1623 (attribute)f(declaration)164 650 y(resem)o(bles)13 b(that)k(of)f(a)h(C)
1624 f(structure)f(declaration,)h(except)f(that)h(curly)f(braces)h(cannot)
1625 164 710 y(b)q(e)g(nested.)380 692 y Fi(3)237 770 y Fn(The)22
1626 b(de\014nitions)g(for)g(the)g Fg(val)f Fn(attribute)h(of)g
1627 Fg(expr)f Fn(are)h(seen)f(in)h(the)g Fh(attribute)164
1628 830 y(r)n(efer)n(enc)n(e)d(se)n(ctions)k Fn(\(co)q(de)18
1629 b(fragmen)o(ts)e(delimited)f(b)o(y)j Fg(@)p Fb(f)f Fn(and)h
1630 Fg(@)p Fb(g)p Fn(\))g(in)f(the)h(mo)q(di\014ed)164 890
1631 y(Y-\014le.)i(Eac)o(h)14 b(of)g(the)g(attribute)f(de\014nitions)h
1632 (starts)h(with)e(the)h Fh(implicit-mo)n(de)i(annun-)164
1633 951 y(ciator)23 b Fg(@i)p Fn(,)16 b(whose)i(meaning)e(is)h(explained)f
1634 (in)h(section)g(4.1.)24 b(In)17 b(this)h(example,)c(eac)o(h)164
1635 1011 y(attribute)i(reference)e(section)i(con)o(tains)h(exactly)e(one)h
1636 (attribute)g(de\014nition.)p 164 2378 648 2 v 220 2409
1637 a Ff(3)239 2424 y Fe(A)o(ttributes)h(can)f(b)q(e)h(of)f(an)o(y)f(C)h
1638 (fundamen)o(tal)f(or)h(deriv)o(ed)g(t)o(yp)q(e.)26 b(The)16
1639 b(Ox)h(co)q(de)g(in)e(section)i(8)164 2474 y(uses)e(an)f(attribute)g
1640 (that)g(is)g(a)f(C)h(structure.)961 2599 y Fn(6)p eop
1641 %%Page: 7 7
1642 7 6 bop 164 307 a Fc(\045token)21 b(ICONST)164 357 y(\045left)g('+')g
1643 ('-')164 407 y(\045left)g('*')g('/')164 506 y(@attributes)e({char)i
1644 (*string;)f(})i(ICONST)164 556 y(@attributes)d({long)i(val;})130
1645 b(expr)164 656 y(\045\045)164 706 y(expr)86 b(:)153 b(expr)86
1646 b('*')108 b(expr)513 756 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1647 (@expr.1.val@)f(*)h(@expr.2.val@;)41 b(@})338 855 y(|)153
1648 b(expr)86 b('/')108 b(expr)513 905 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1649 (@expr.1.val@)f(/)h(@expr.2.val@;)41 b(@})338 1005 y(|)153
1650 b(expr)86 b('+')108 b(expr)513 1054 y(@{)21 b(@i)g(@expr.val@)f(=)i
1651 (@expr.1.val@)d(+)j(@expr.2.val@;)84 b(@})338 1154 y(|)153
1652 b(expr)86 b('-')108 b(expr)513 1204 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1653 (@expr.1.val@)f(-)h(@expr.2.val@;)41 b(@})338 1303 y(|)153
1654 b('\(')108 b(expr)86 b('\)')513 1353 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1655 (@expr.1.val@;)368 b(@})338 1453 y(|)153 b(ICONST)513
1656 1503 y(@{)21 b(@i)g(@expr.val@)f(=)i(atoi\(@ICONST.str)o(ing@\))o(;)215
1657 b(@})338 1553 y(;)164 1602 y(\045\045)164 1652 y(main\(\))208
1658 1702 y({return\(yyparse)o(\(\)\);)208 1752 y(})237 1859
1659 y Fn(The)11 b(grammar)e(sym)o(b)q(ol)h Fg(expr)f Fn(has)j(three)e
1660 Fh(gr)n(ammar-symb)n(ol)h(o)n(c)n(curr)n(enc)n(es)k Fn(\(namely)164
1661 1919 y Fg(expr.0)p Fn(,)f Fg(expr.1)p Fn(,)f(and)k Fg(expr.2)p
1662 Fn(\))d(in)i(the)g(grammar)f(rule:)292 2016 y Fg(expr)101
1663 b(:)179 b(expr)101 b('*')127 b(expr)164 2113 y Fn(An)16
1664 b Fh(attribute)i(o)n(c)n(curr)n(enc)n(e)i Fn(\(concisely:)g(an)c
1665 Fh(o)n(c)n(curr)n(enc)n(e)t Fn(\))g(is)g(a)h(grammar-sym)o(b)q(ol)c(o)q
1666 (c-)164 2173 y(currence)20 b(together)h(with)g(an)g(attribute)g(of)g
1667 (the)g(sym)o(b)q(ol.)34 b(An)20 b Fh(attribute)j(r)n(efer)n(enc)n(e)164
1668 2233 y Fn(tak)o(es)16 b(the)g(form:)237 2354 y Fg(@)p
1669 Fh(gr)n(ammarsymb)n(ol)p Fg(.)p Fn([)p Fh(inte)n(ger)p
1670 Fg(.)p Fn(])p Fh(attributename)p Fg(@)164 2474 y Fn(where)21
1671 b Fh(attributename)27 b Fn(app)q(ears)c(as)f(an)g(iden)o(ti\014er)d(in)
1672 i(the)h(b)q(o)q(dy)g(of)g(the)f(attribute)961 2599 y(7)p
1673 eop
1674 %%Page: 8 8
1675 8 7 bop 164 307 a Fn(declaration)20 b(for)g Fh(gr)n(ammarsymb)n(ol)p
1676 Fn(.)31 b(If)20 b(in)o(teger)f(is)h Fh(n)p Fn(,)h(the)f(reference)e(is)
1677 i(to)h(the)e Fh(n)p Fn(th)164 367 y(o)q(ccurrence)13
1678 b(of)h Fh(gr)n(ammarsymb)n(ol)j Fn(coun)o(ting)d(from)e(the)i(left)f
1679 (of)h(the)f(rule)g(\(the)h(leftmost)164 428 y(o)q(ccurrence)19
1680 b(b)q(eing)i(the)f(0th\).)33 b(The)20 b(square)g(brac)o(k)o(ets)f(ab)q
1681 (o)o(v)o(e)h(denote)h(that)f Fh(inte)n(ger)164 488 y
1682 Fn(and)d(the)f(second)g Fg(.)22 b Fn(are)16 b(optional)h(\(the)e
1683 (default)h(v)m(alue)g(for)h Fh(inte)n(ger)22 b Fn(b)q(eing)17
1684 b(0\).)237 548 y Fh(A)o(ttribute)i(de\014nitions)j Fn(are)16
1685 b(basically)g(C)g(co)q(de)h(fragmen)o(ts)e(con)o(taining)h(attribute)
1686 164 608 y(references.)22 b(In)17 b(general,)g(an)g(attribute)g
1687 (de\014nition)f(section)h(con)o(tains)g(zero)g(to)g(man)o(y)164
1688 668 y(attribute)g(de\014nitions.)24 b(Eac)o(h)18 b(attribute)f
1689 (de\014nition)g(is)g(announced)h(b)o(y)f(a)h(mo)q(de)e(an-)164
1690 729 y(n)o(unciator,)g(and)g(terminated)f(b)o(y)h Fg(@)p
1691 Fb(g)f Fn(or)i(b)o(y)f(the)g(next)f(mo)q(de)h(ann)o(unciator.)164
1692 895 y Fo(4)83 b(Order)27 b(of)h(A)n(ttribute-Instance)e(Ev)-5
1693 b(aluation)164 1004 y Fn(A)o(ttribute)16 b(grammars)g(sp)q(ecify)g
1694 (seman)o(tics)f(in)i(a)h Fh(de)n(clar)n(ative)j Fn(or)d
1695 Fh(functional)24 b Fn(\(rather)164 1064 y(than)15 b(sequen)o(tial)f(or)
1696 h(imp)q(erativ)o(e\))d(st)o(yle.)19 b(When)c(a)g(parse)h(tree)e(is)g
1697 (created,)g(the)h(tree's)164 1125 y(attribute)d(instances)h(are)g(ev)m
1698 (aluated)f(in)h(an)g(order)g(constrained)g(\(but)g(not)g(fully)e
1699 (deter-)164 1185 y(mined\))g(b)o(y)h(the)h(attribute)g(grammar.)18
1700 b(It)13 b(is)g(clear)f(that)h(in)g(the)f(example)f(of)i(section)g(3,)
1701 164 1245 y(all)h Fg(val)f Fn(instances)i(in)f(the)g(leaf)g(no)q(des)i
1702 (m)o(ust)d(b)q(e)i(ev)m(aluated)f(b)q(efore)h(the)f Fg(val)f
1703 Fn(instance)164 1305 y(of)k(the)f(ro)q(ot)h(no)q(de.)237
1704 1365 y(Ox)22 b(\(rather)g(than)g(the)g(compiler)e(designer\))h
1705 (generates)h(co)q(de)g(that)h(causes)f(in-)164 1426 y(stances)17
1706 b(to)f(b)q(e)h(ev)m(aluated)f(in)g(a)g(correct)g(order.)164
1707 1570 y Fd(4.1)70 b(Dep)r(endency)21 b(relations)h(in)g(the)g(Y-\014le)
1708 164 1652 y Fn(There)h(is)h(a)g(constrain)o(t)f(for)h(eac)o(h)g(grammar)
1709 e(rule)h(in)g(the)g(Y-\014le:)35 b(a)25 b Fh(dep)n(endency)164
1710 1702 y(r)n(elation)20 b Fn(on)d(the)f(attribute)g(o)q(ccurrences)g(in)g
1711 (that)g(rule.)21 b(F)l(or)16 b(the)g(rule:)164 1792 y
1712 Fc(expr)86 b(:)153 b(expr)86 b('*')108 b(expr)513 1842
1713 y(@{)21 b(@i)g(@expr.0.val@)f(=)h(@expr.1.val@)f(*)h(@expr.2.val@;)513
1714 1892 y(@})164 1993 y Fn(there)16 b(is)g(the)g(constrain)o(t)g(that)h
1715 (instances)f(corresp)q(onding)h(to)g Fg(expr.1.va)o(l)c
1716 Fn(and)164 2053 y Fg(expr.2.val)19 b Fn(in)j(sibling)g(parse-tree)h(no)
1717 q(des)g(m)o(ust)e(b)q(e)i(ev)m(aluated)g(b)q(efore)f(the)h(one)164
1718 2113 y(corresp)q(onding)17 b(to)g Fg(expr.0.val)12 b
1719 Fn(in)k(their)g(paren)o(t)g(no)q(de.)237 2173 y(Eac)o(h)f(rule's)g(dep)
1720 q(endency)f(relation)h(is)h(determined)c(b)o(y)j(its)g(individual)f
1721 (attribute)164 2233 y(de\014nitions.)32 b(There)19 b(are)h(sev)o(eral)f
1722 (mo)q(des)g(for)h(comm)o(unic)o(ating)e(dep)q(endency)h(infor-)164
1723 2293 y(mation)d(to)h(Ox.)22 b(The)17 b Fh(implicit)i(mo)n(de)h
1724 Fn(is,)c(for)h(most)f(Ox)g(translators,)i(the)f(only)f(suc)o(h)164
1725 2354 y(mo)q(de)f(needed.)21 b(The)16 b Fh(explicit)j(mo)n(de)h
1726 Fn(is)c(describ)q(ed)g(brie\015y)f(in)h(section)g(9.7.)237
1727 2414 y(The)h(implici)o(t-m)o(o)q(de)e(ann)o(unciator)i
1728 Fg(@i)f Fn(\(see)g(the)g(example)f(in)h(section)g(3\))h(signals)164
1729 2474 y(to)h(Ox)g(the)f(b)q(eginning)i(of)f(an)g(attribute)g
1730 (de\014nition.)25 b(F)l(urther,)18 b(it)f(informs)g(Ox)g(that)961
1731 2599 y(8)p eop
1732 %%Page: 9 9
1733 9 8 bop 164 307 a Fn(an)19 b(instance)g(corresp)q(onding)h(to)f(the)g
1734 (de\014nition's)f Fh(leftmost)24 b Fn(attribute)19 b(reference)e(is)164
1735 367 y(to)d(b)q(e)g(ev)m(aluated)f Fh(after)20 b Fn(those)14
1736 b(corresp)q(onding)g(to)g(other)g(attribute)g(references)e(in)h(the)164
1737 428 y(de\014nition.)25 b(This)17 b(is)h(to)g(sa)o(y)f(that)h(the)g(o)q
1738 (ccurrence)f(corresp)q(onding)h(to)g(the)g(leftmost)164
1739 488 y(reference)f Fh(dep)n(ends)j(on)j Fn(the)c(o)q(ccurrences)f
1740 (corresp)q(onding)i(to)f(the)f(other)h(references)164
1741 548 y(in)d(the)g(de\014nition.)164 692 y Fd(4.2)70 b(Dep)r(endency)21
1742 b(relations)h(in)g(the)g(L-\014le)164 785 y Fn(Note)h(that)h(the)g(mo)q
1743 (de)e(ann)o(unciator)i Fg(@i)f Fn(do)q(es)h(not)g(app)q(ear)h(in)e(the)
1744 h(L-\014le)f(of)h(the)164 845 y(example)19 b(in)j(section)f(3.)37
1745 b(Mo)q(de)22 b(ann)o(unciators)g(are)g(not)g(used)f(in)h(L-\014les.)37
1746 b(An)21 b(at-)164 905 y(tribute)g(reference)f(section)i(in)f(an)i
1747 (L-\014le)f(is)f(executed)g(as)h(a)h(whole)e(whenev)o(er)g(the)164
1748 965 y(corresp)q(onding)16 b(lexical)d(rule)h(is)g(matc)o(hed.)19
1749 b(In)c(the)f(example,)f(this)h(is)h(done)g(whenev)o(er)164
1750 1025 y(the)21 b(Lex-generated)g(scanner)h(matc)o(hes)d(a)j(digit)f
1751 (string.)36 b(Executing)21 b(an)g(attribute)164 1086
1752 y(reference)d(section)i(ma)o(y)f(in)o(v)o(olv)o(e)f(the)i(ev)m
1753 (aluation)g(of)g(sev)o(eral)g(attribute)f(instances.)164
1754 1146 y(An)12 b(attribute)g(reference)f(section)h(in)h(the)f(L-\014le)h
1755 (m)o(ust)e(con)o(tain)h(exactly)f(one)i(attribute)164
1756 1206 y(reference)i(for)i(eac)o(h)g(attribute)f(o)q(ccurrence)g
1757 (de\014ned)h(there)f(\(in)h(the)g(previous)f(exam-)164
1758 1266 y(ple,)f(that)i(for)f Fg(ICONST.stri)o(ng)p Fn(\))o(.)164
1759 1433 y Fo(5)83 b(Using)27 b(global)h(v)-5 b(ariables)164
1760 1542 y Fn(A)o(ttribute)15 b(reference)g(sections)i(can)g(con)o(tain)g
1761 (an)o(y)f(C)i(co)q(de,)e(including)g(references)g(to)164
1762 1602 y(global)h(v)m(ariables.)237 1663 y(In)11 b(our)g(running)g
1763 (example,)f(w)o(e)g(ha)o(v)o(en't)g(y)o(et)g(sho)o(wn)h(ho)o(w)h(to)f
1764 (prin)o(t)f(the)h(main)e(result)164 1723 y(of)18 b(the)f(seman)o(tic)e
1765 (analysis)j(\(i.e.,)e(the)h(v)m(alue)g(of)h(the)f(expression\).)24
1766 b(The)18 b(approac)o(h)g(is)164 1783 y(to)i(cop)o(y)g(the)f
1767 Fg(val)g Fn(attribute)h(instance)f(of)h(the)g(ro)q(ot)h(no)q(de)g(in)o
1768 (to)e(a)h(global)h(v)m(ariable,)164 1843 y(then)e(prin)o(t)f(it)h
1769 (after)g(termination)e(of)i Fg(yyparse\(\))p Fn(.)26
1770 b(W)l(e)19 b(in)o(tro)q(duce)g(a)g(unique)f(start)164
1771 1903 y(pro)q(duction)f(for)g(this)f(purp)q(ose.)23 b(The)16
1772 b(L-\014le)h(need)f(not)h(b)q(e)g(c)o(hanged.)22 b(Here)15
1773 b(is)h(sho)o(wn)164 1964 y(the)g(new)g(Y-\014le,)f(with)h(c)o(hanged)h
1774 (or)f(added)h(lines)e(mark)o(ed)g(b)o(y)g(empt)o(y)f(C)j(commen)o(ts:)
1775 961 2599 y(9)p eop
1776 %%Page: 10 10
1777 10 9 bop 164 307 a Fc(\045token)21 b(ICONST)164 357 y(\045left)g('+')g
1778 ('-')164 407 y(\045left)g('*')g('/')164 506 y(\045{)1351
1779 b(/*)21 b(*/)164 556 y(long)g(globVal;)1110 b(/*)21 b(*/)164
1780 606 y(\045})1351 b(/*)21 b(*/)164 706 y(@attributes)e({char)i
1781 (*string;})f(ICONST)164 756 y(@attributes)f({long)i(val;})108
1782 b(s)22 b(expr)653 b(/*)21 b(*/)164 805 y(\045\045)164
1783 855 y(s)152 b(:)h(expr)958 b(/*)21 b(*/)513 905 y(@{)g(@i)g(globVal)g
1784 (=)g(@s.val@)g(=)g(@expr.val@;)129 b(@})65 b(/*)21 b(*/)338
1785 955 y(;)1199 b(/*)21 b(*/)164 1054 y(expr)86 b(:)153
1786 b(expr)86 b('*')108 b(expr)513 1104 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1787 (@expr.1.val@)f(*)h(@expr.2.val@;)41 b(@})338 1204 y(|)153
1788 b(expr)86 b('/')108 b(expr)513 1254 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1789 (@expr.1.val@)f(/)h(@expr.2.val@;)41 b(@})338 1353 y(|)153
1790 b(expr)86 b('+')108 b(expr)513 1403 y(@{)21 b(@i)g(@expr.val@)f(=)i
1791 (@expr.1.val@)d(+)j(@expr.2.val@;)84 b(@})338 1503 y(|)153
1792 b(expr)86 b('-')108 b(expr)513 1553 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1793 (@expr.1.val@)f(-)h(@expr.2.val@;)41 b(@})338 1652 y(|)153
1794 b('\(')108 b(expr)86 b('\)')513 1702 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1795 (@expr.1.val@;)368 b(@})338 1802 y(|)153 b(ICONST)513
1796 1851 y(@{)21 b(@i)g(@expr.val@)f(=)i(atoi\(@ICONST.str)o(ing@\))o(;)215
1797 b(@})338 1901 y(;)164 1951 y(\045\045)164 2001 y(main\(\))208
1798 2051 y({yyparse\(\);)1109 b(/*)21 b(*/)229 2100 y
1799 (printf\("\045d\\n",globV)o(al\);)825 b(/*)21 b(*/)208
1800 2150 y(})237 2264 y Fn(Up)q(on)h(completion)d(of)j(the)f(call)g(to)h
1801 Fg(yyparse)p Fn(,)d(the)i(tree's)g(attribute)g(instances)164
1802 2325 y(ha)o(v)o(e)14 b(all)g(b)q(een)h(ev)m(aluated.)21
1803 b(The)14 b(ev)m(aluation)h(of)g Fg(@s.val@)e Fn(en)o(tails)h(an)h
1804 (assignmen)o(t)f(to)164 2385 y Fg(globVal)p Fn(.)19 b(The)d(prin)o
1805 (ting)g(of)g Fg(globVal)e Fn(is)i(the)g(last)g(thing)h(done)f(b)o(y)g
1806 (the)g(calculator.)949 2599 y(10)p eop
1807 %%Page: 11 11
1808 11 10 bop 164 315 a Fo(6)83 b(P)n(arse-tree)27 b(tra)n(v)n(ersals)164
1809 425 y Fn(A)18 b(parse)g(tree)g(is)g(m)o(uc)o(h)e(more)h(useful)g(if)h
1810 (it)g(can)g(b)q(e)h(tra)o(v)o(ersed,)e(and)i(if)e(its)h(attribute)164
1811 485 y(instances)e(can)h(b)q(e)g(accessed)f(during)h(tra)o(v)o(ersals.)k
1812 (Suc)o(h)16 b(tra)o(v)o(ersals)g(are)h(particularly)164
1813 545 y(useful)k(for)g(co)q(de)h(generation.)36 b(Ox)21
1814 b(can)g(b)q(e)g(instructed)g(to)g(generate)g(a)h(translator)164
1815 606 y(that)c(p)q(erforms)e(v)m(arious)i(kinds)f(of)h(tra)o(v)o(ersals)f
1816 (after)g(ev)m(aluation)h(of)f(all)g(of)h(the)f(tree's)164
1817 666 y(attribute)f(instances.)164 810 y Fd(6.1)70 b(Application:)28
1818 b(translation)23 b(to)g(pre\014x)164 903 y Fn(The)18
1819 b(follo)o(wing)f(Y-\014le)g(sp)q(eci\014es)h(an)g(expression)f(parser)h
1820 (that)h(translates)f(its)f(\(in\014x\))164 963 y(input)e(to)h(pre\014x)
1821 f(form.)20 b(The)c(L-\014le)f(is)g(the)h(same)e(as)i(that)g(of)g(the)f
1822 (previous)h(example.)949 2599 y(11)p eop
1823 %%Page: 12 12
1824 12 11 bop 164 307 a Fc(\045token)21 b(ICONST)164 357
1825 y(\045left)g('+')g('-')164 407 y(\045left)g('*')g('/')164
1826 506 y(@traversal)f(@preorder)g(yourTrav)164 556 y(@traversal)g
1827 (@preorder)g(yoursToo)164 656 y(@attributes)f({char)i(*string;})f
1828 (ICONST)164 706 y(@attributes)f({long)i(val;})108 b(s)22
1829 b(expr)164 756 y(\045\045)164 805 y(s)152 b(:)h(expr)513
1830 855 y(@{)21 b(@i)g(@s.val@)g(=)g(@expr.val@;)578 905
1831 y(@yoursToo)f(printf\("\\n\045d\\n",@)o(s.val)o(@\);)513
1832 955 y(@})338 1005 y(;)164 1054 y(expr)86 b(:)153 b(expr)86
1833 b('*')108 b(expr)513 1104 y(@{)21 b(@i)g(@expr.0.val@)f(=)h
1834 (@expr.1.val@)f(*)h(@expr.2.val@;)578 1154 y(@yourTrav)f(printf\(")g(*)
1835 i("\);)513 1204 y(@})338 1254 y(|)153 b(expr)86 b('/')108
1836 b(expr)513 1303 y(@{)21 b(@i)g(@expr.0.val@)f(=)h(@expr.1.val@)f(/)h
1837 (@expr.2.val@;)578 1353 y(@yourTrav)f(printf\(")g(/)i("\);)513
1838 1403 y(@})338 1453 y(|)153 b(expr)86 b('+')108 b(expr)513
1839 1503 y(@{)21 b(@i)g(@expr.val@)f(=)i(@expr.1.val@)d(+)j(@expr.2.val@;)
1840 578 1553 y(@yourTrav)e(printf\(")g(+)i("\);)513 1602
1841 y(@})338 1652 y(|)153 b(expr)86 b('-')108 b(expr)513
1842 1702 y(@{)21 b(@i)g(@expr.0.val@)f(=)h(@expr.1.val@)f(-)h
1843 (@expr.2.val@;)578 1752 y(@yourTrav)f(printf\(")g(-)i("\);)513
1844 1802 y(@})338 1851 y(|)153 b('\(')108 b(expr)86 b('\)')513
1845 1901 y(@{)21 b(@i)g(@expr.0.val@)f(=)h(@expr.1.val@;)513
1846 1951 y(@})338 2001 y(|)153 b(ICONST)513 2051 y(@{)21
1847 b(@i)g(@expr.val@)f(=)i(atoi\(@ICONST.str)o(ing@\))o(;)578
1848 2100 y(@yourTrav)e(printf\(")g(\045s)h(",@ICONST.string@\);)513
1849 2150 y(@})338 2200 y(;)164 2250 y(\045\045)164 2300 y(main\(\))208
1850 2350 y({return\(yyparse)o(\(\)\);)208 2399 y(})949 2599
1851 y Fn(12)p eop
1852 %%Page: 13 13
1853 13 12 bop 164 307 a Fn(The)16 b(line)292 409 y Fg(@traversal)22
1854 b(@preorder)g(yourTrav)164 511 y Fn(declares)16 b(a)g(left-to-righ)o(t)
1855 g(preorder)h(tra)o(v)o(ersal)e(named)g Fg(yourTrav)p
1856 Fn(.)k(Supp)q(ose)e(that)g(in)164 571 y(our)d(example,)d(the)j
1857 Fg(yourTrav)c Fn(tra)o(v)o(ersal)j(has)h(reac)o(hed)f(a)h(no)q(de)g(at)
1858 g(whic)o(h)f(a)h(grammar)164 631 y(rule)d Fa(R)g Fn(is)g(applied.)20
1859 b(If)10 b(the)h(attribute)g(reference)f(section)h(of)g
1860 Fa(R)h Fn(con)o(tains)g(the)f Fh(tr)n(aversal-)164 691
1861 y(mo)n(de)17 b(annunciator)h Fg(@yourTrav)c Fn(\(whic)o(h)i(w)o(as)h
1862 (giv)o(en)f(meaning)g(b)o(y)g(its)h Fg(@traversa)o(l)164
1863 751 y Fn(declaration\),)c(then)f(the)g Fg(printf)f Fn(statmen)o(t)g
1864 (follo)o(wing)h Fg(@yourTrav)d Fn(is)k(executed,)e(and)164
1865 812 y(the)j(tra)o(v)o(ersal)g(is)g(con)o(tin)o(ued)g(for)g(the)h
1866 (subtree)f(ro)q(oted)h(at)g(the)f(no)q(de)h(in)f(question.)21
1867 b(Us-)164 872 y(ing)16 b Fg(@postorder)c Fn(instead)17
1868 b(of)f Fg(@preorder)d Fn(w)o(ould)j(cause)g(a)g(tra)o(v)o(ersal)g(that)
1869 g(executes)164 932 y(the)23 b Fg(printf)f Fh(after)29
1870 b Fn(completing)22 b(the)h(tra)o(v)o(ersal)g(of)h(that)g(subtree,)h
1871 (resulting)e(in)h(a)164 992 y(p)q(ost\014x)17 b(translation.)237
1872 1052 y(A)e(tra)o(v)o(ersal)g(that)h(accesses)f(the)g
1873 Fg(val)g Fn(instance)g(in)g(the)h(ro)q(ot)g(no)q(de)g(is)g(an)g
1874 (alterna-)164 1112 y(tiv)o(e)f(to)h(using)h(the)f(global)h(v)m(ariable)
1875 f Fg(globVal)d Fn(of)k(section)f(5.)21 b(Placing)16 b(the)g(line:)292
1876 1214 y Fg(@traversal)22 b(@preorder)g(yoursToo)164 1316
1877 y Fn(in)16 b(the)g(declarations)g(section,)g(and)g(the)g(line:)292
1878 1418 y Fg(@yoursToo)22 b(printf\("\045d\\)o(n",)o(@s.)o(va)o(l@\))o(;)
1879 164 1519 y Fn(in)c(the)h(attribute)f(reference)f(section)h(for)h(the)f
1880 (start)h(pro)q(duction)g(accomplishes)e(the)164 1579
1881 y(same)e(thing)i(as)f(the)g(use)h(of)f Fg(globVal)p Fn(.)237
1882 1640 y(One)h(tra)o(v)o(ersal)g(is)g(done)g(for)h(eac)o(h)f(tra)o(v)o
1883 (ersal)f(declaration,)h(the)g(tra)o(v)o(ersals)g(b)q(eing)164
1884 1700 y(done)e(one)f(after)g(another,)h(in)f(the)g(order)h(in)f(whic)o
1885 (h)f(the)h(declarations)h(app)q(ear.)21 b(In)14 b(the)164
1886 1760 y(example,)e(the)j(declaration)f(of)h Fg(yoursToo)c
1887 Fn(app)q(ears)16 b(after)f(that)g(of)f Fg(yourTrav)p
1888 Fn(,)e(so)j(the)164 1820 y(v)m(alue)h(of)h(the)f(expression)f(is)h
1889 (prin)o(ted)g(after)g(the)g(preorder)g(translation)h(is)f(prin)o(ted.)
1890 164 1987 y Fo(7)83 b(Inherited)27 b(vs.)35 b(Syn)n(thesized)25
1891 b(A)n(ttributes)164 2096 y Fn(It)15 b(is)g(useful)f(to)i(think)f(of)g
1892 (the)g(lexical)e(rules)i(\(i.e.,)e(the)i(rules)g(in)g(the)g(L-\014le\))
1893 g(as)h(virtual)164 2156 y(grammar)10 b(rules)i(\(pro)q(ductions\))g
1894 (whose)h(righ)o(t-hand)f(sides)g(are)g(the)g(empt)o(y)d(string)j(and)
1895 164 2217 y(whose)22 b(left-hand)g(sides,)h(while)e(actual)h(Y)l(acc)f
1896 (tok)o(ens,)h(are)g(virtual)f(non)o(terminals.)164 2277
1897 y(This)h(generic)e(concept)h(of)h Fh(rule)k Fn(is)21
1898 b(consisten)o(t)g(with)h(usual)g(concepts)f(of)h Fh(attribute)164
1899 2337 y(gr)n(ammar)5 b Fn(,)15 b(and)i(leads)f(to)g(the)g(follo)o(wing)g
1900 (de\014nitions:)237 2397 y(An)g(attribute)g(o)q(ccurrence)g
1901 Fa(o)g Fn(in)g(a)h(rule)e Fa(R)i Fn(is)f Fh(synthesize)n(d)22
1902 b Fn(if)15 b(and)i(only)f(if)949 2599 y(13)p eop
1903 %%Page: 14 14
1904 14 13 bop 237 307 a Fb(\017)24 b Fa(o)17 b Fn(is)f(on)g(the)g(LHS)h(of)
1905 f Fa(R)h Fn(and)g(the)f(attribute)g(reference)f(section)g(of)i
1906 Fa(R)g Fn(con)o(tains)286 367 y(a)g(de\014nition)e(of)i
1907 Fa(o)p Fn(,)f(or)237 469 y Fb(\017)24 b Fa(o)16 b Fn(is)g(on)g(the)g
1908 (RHS)f(of)i Fa(R)f Fn(and)g(the)g(attribute)g(reference)e(section)h(of)
1909 h Fa(R)h Fn(con)o(tains)286 529 y(no)g(de\014nition)e(of)i
1910 Fa(o)p Fn(.)237 631 y(An)f(attribute)g(o)q(ccurrence)g
1911 Fa(o)g Fn(in)g(a)h(rule)e Fa(R)i Fn(is)f Fh(inherite)n(d)22
1912 b Fn(if)15 b(and)i(only)f(if)237 733 y Fb(\017)24 b Fa(o)13
1913 b Fn(is)g(on)h(the)e(left-hand)h(side)g(\(LHS\))g(of)g
1914 Fa(R)h Fn(and)g(the)e(attribute)h(reference)e(section)286
1915 793 y(of)16 b Fa(R)h Fn(con)o(tains)g(no)f(de\014nition)g(of)h
1916 Fa(o)p Fn(,)f(or)237 895 y Fb(\017)24 b Fa(o)g Fn(is)e(on)i(the)f(righ)
1917 o(t-hand)h(side)e(\(RHS\))h(of)g Fa(R)h Fn(and)g(the)f(attribute)g
1918 (reference)286 955 y(section)16 b(of)g Fa(R)h Fn(con)o(tains)f(a)h
1919 (de\014nition)f(of)g Fa(o)p Fn(.)237 1056 y(Ox)h(issues)g(an)g(error)g
1920 (message)f(if)h(it)f(\014nds)h(an)h(attribute)e(that)i(has)f(b)q(oth)h
1921 (syn)o(the-)164 1117 y(sized)d(and)i(inherited)e(o)q(ccurrences)h(in)g
1922 (the)f(grammar.)20 b(An)c(attribute)g(is)g Fh(synthesize)n(d)164
1923 1177 y Fn(if)11 b(and)i(only)e(if)h(it)f(has)i(at)f(least)f(one)i(o)q
1924 (ccurrence,)e(and)h(its)g(ev)o(ery)e(o)q(ccurrence)i(is)f(syn)o(the-)
1925 164 1237 y(sized.)22 b(An)16 b(attribute)h(is)f Fh(inherite)n(d)22
1926 b Fn(if)17 b(and)g(only)g(if)f(it)g(has)h(at)h(least)e(one)h(o)q
1927 (ccurrence,)164 1297 y(and)23 b(its)f(ev)o(ery)f(o)q(ccurrence)h(is)g
1928 (inherited.)39 b(It)22 b(follo)o(ws)g(from)g(the)g(ab)q(o)o(v)o(e)g
1929 (that)h(the)164 1357 y(grammar's)17 b(start)i(sym)o(b)q(ol)e(can)i(ha)o
1930 (v)o(e)f(only)g(syn)o(thesized)g(attributes.)28 b(Referring)18
1931 b(to)164 1418 y(returned)g(tok)o(ens)h(as)g(rules)f(emphasizes)g(the)g
1932 (equal)g(status)i(of)f(tok)o(ens)f(and)i(non)o(ter-)164
1933 1478 y(minals,)14 b(inasm)o(uc)o(h)f(as)j(eac)o(h)f(kind)g(of)h(sym)o
1934 (b)q(ol)e(\(except)g(the)h(start)h(sym)o(b)q(ol\))e(can)i(ha)o(v)o(e)
1935 164 1538 y(b)q(oth)h(syn)o(thesized)d(and)i(inherited)f(attributes.)21
1936 b(Eac)o(h)15 b(sym)o(b)q(ol)g(has)h(a)g(distinct)f(name)164
1937 1598 y(space,)h(so)g(same-named)e(attributes)i(of)g(di\013eren)o(t)f
1938 (sym)o(b)q(ols)g(are)g(distinct)g(attributes,)164 1658
1939 y(and)i(can)f(di\013er)g(as)h(to)g(whether)f(they)f(are)i(inherited)e
1940 (or)h(syn)o(thesized.)237 1719 y(F)l(or)g(eac)o(h)f(parse-tree)g(no)q
1941 (de)h(except)f(the)g(ro)q(ot)i(no)q(de,)e(t)o(w)o(o)h(rules)f(of)h(the)
1942 f(Ox)g(input)164 1779 y(sp)q(eci\014cation)21 b(are)h(of)g(particular)f
1943 (in)o(terest.)36 b(The)22 b Fh(home)g(rule)k Fn(is)21
1944 b(the)h(rule)e(applied)164 1839 y(at)i(the)g(no)q(de,)h(i.e.,)e(the)h
1945 (rule)f(whose)i(LHS)f(is)f(the)h(lab)q(el)f(of)h(the)g(giv)o(en)f(no)q
1946 (de,)i(and)164 1899 y(whose)c(RHS)g(sym)o(b)q(ols)e(are)i(the)g(lab)q
1947 (els)f(of)h(the)g(c)o(hildren)e(of)i(the)f(no)q(de.)30
1948 b(The)19 b Fh(p)n(ar)n(ent)164 1959 y(rule)24 b Fn(is)19
1949 b(the)g(rule)g(applied)f(at)i(the)f(no)q(de's)h(paren)o(t.)31
1950 b(The)19 b(attribute)g(de\014nition)g(of)h(a)164 2020
1951 y(syn)o(thesized)c(attribute)h(instance)g(of)h(a)g(giv)o(en)e(no)q(de)i
1952 (is)g(asso)q(ciated)g(with)f(the)g(no)q(de's)164 2080
1953 y(home)i(rule)g(\(i.e.,)f(it)h(app)q(ears)i(in)f(the)f(attribute)h
1954 (reference)e(section)h(for)h(that)g(rule\),)164 2140
1955 y(and)d(de\014nitions)g(of)g(inherited)e(attribute)h(instances)h(are)g
1956 (similarly)c(asso)q(ciated)18 b(with)164 2200 y(the)e(paren)o(t)g
1957 (rule.)237 2260 y(In)i(a)g(legal)g(input)g(sp)q(eci\014cation,)g(eac)o
1958 (h)f(attribute)h(of)g(a)h(sym)o(b)q(ol)e(app)q(earing)i(in)f(a)164
1959 2320 y(rule)e(is)g(either)g(syn)o(thesized)f(or)i(inherited,)e(but)i
1960 (not)g(b)q(oth,)g(so)h(the)e(de\014nitions)g(of)h(all)164
1961 2381 y(attributes)f(\\\014t)h(together")g(completely)c(and)k(without)f
1962 (con)o(tradiction.)949 2599 y(14)p eop
1963 %%Page: 15 15
1964 15 14 bop 164 315 a Fo(8)83 b(Using)27 b(inherited)g(attributes)164
1965 425 y Fn(This)19 b(section)f(giv)o(es)g(an)h(example)d(indicating)i
1966 (the)g(use)h(of)g(inherited)e(attributes)i(for)164 485
1967 y(seman)o(tic)e(analysis)j(in)o(v)o(olving)d(righ)o(t)i(con)o(text.)30
1968 b(The)19 b(example)e(also)j(giv)o(es)f(a)g(b)q(etter)164
1969 545 y(idea)d(of)g(ho)o(w)h(Ox)f(co)q(de)g(is)h(used)f(together)g(with)g
1970 (C)h(co)q(de.)237 606 y(In)c(man)o(y)e(languages,)j(for)g(instance)e(P)
1971 o(ascal,)h(eac)o(h)g(v)m(ariable)f(declaration)h(is)g(essen-)164
1972 666 y(tially)h(a)j(list)e(of)h(iden)o(ti\014ers)e(follo)o(w)o(ed)h(b)o
1973 (y)g(a)h(t)o(yp)q(e)f(sp)q(eci\014er.)21 b(Here)14 b(w)o(e)i(sho)o(w)g
1974 (a)g(simple)164 726 y(language)j(whose)g(ev)o(ery)e(sen)o(tence)g
1975 (consists)i(of)g(suc)o(h)f(a)h(v)m(ariable)f(declaration.)27
1976 b(Our)164 786 y(translator)19 b(parses)h(the)e(input,)g(recording)h(in)
1977 f(a)h(sym)o(b)q(ol)e(ob)s(ject)h(the)g(iden)o(ti\014er)f(and)164
1978 846 y(t)o(yp)q(e)g(of)h(eac)o(h)f(v)m(ariable)g(declared.)24
1979 b(Then)17 b(the)g(sym)o(b)q(ol)g(ob)s(jects)g(are)g(prin)o(ted)g
1980 (during)164 907 y(a)g(p)q(ostorder)g(tra)o(v)o(ersal.)237
1981 956 y(Here)e(is)h(the)g(L-\014le:)164 1048 y Fc(\045{)164
1982 1097 y(#include)k("y.tab.h")164 1147 y(#include)g(<string.h>)164
1983 1247 y(#define)g(lexeme)h(strcpy\(\(char)e(*\)malloc\(yyleng+1\))o
1984 (,yyte)o(xt\))164 1297 y(\045})164 1396 y(\045\045)164
1985 1446 y([)j(\\n\\t\\f]+)172 b(;)164 1496 y(real)304 b(return\(REAL\);)
1986 164 1546 y(integer)238 b(return\(INT\);)164 1596 y(boolean)g
1987 (return\(BOOL\);)164 1645 y([a-zA-Z]+)194 b(return\(IDENT\);)41
1988 b(@{)21 b(@IDENT.string@)e(=)j(lexeme;)e(@})164 1695
1989 y(",")326 b(return\(','\);)164 1745 y(";")g(return\(';'\);)164
1990 1795 y(":")g(return\(':'\);)164 1845 y(.)370 b({fprintf\(stderr,"il)o
1991 (lega)o(l)19 b(character\\n"\);)g(exit\(-1\);})164 1894
1992 y(\045\045)237 1996 y Fn(The)c(de\014nitions)g(in)f(section)h(7)g
1993 (together)g(with)f(the)h(follo)o(wing)g(Y-\014le)f(imply)e(that:)237
1994 2098 y Fb(\017)24 b Fg(string)14 b Fn(is)i(a)h(syn)o(thesized)e
1995 (attribute)h(of)g Fg(IDENT)p Fn(.)237 2200 y Fb(\017)24
1996 b Fg(sym)15 b Fn(is)h(an)h(inherited)e(attribute)h(of)g
1997 Fg(IDENT)p Fn(.)237 2301 y Fb(\017)24 b Fg(tMark)14 b
1998 Fn(is)i(an)h(inherited)e(attribute)h(of)h Fg(varList)p
1999 Fn(.)237 2403 y Fb(\017)24 b Fg(varDecl)14 b Fn(has)j(no)f(attributes.)
2000 949 2599 y(15)p eop
2001 %%Page: 16 16
2002 16 15 bop 164 307 a Fc(\045token)21 b(REAL)f(INT)i(BOOL)f(IDENT)164
2003 407 y(\045{)164 457 y(#include)f(<stdlib.h>)164 506 y(struct)h(sym)g
2004 ({char)f(*str,*typeMark;};)164 606 y(struct)h(sym)g(*allocSym\(cp,t\))
2005 208 656 y(char)g(*cp,*t;)208 706 y({struct)f(sym)h(*pSym;)229
2006 756 y(pSym)g(=)h(\(struct)e(sym)h(*\))h(malloc\(sizeof)d(\(struct)h
2007 (sym\)\);)229 805 y(pSym->str)g(=)i(cp;)f(pSym->typeMark)e(=)j(t;)229
2008 855 y(return)f(pSym;)208 905 y(})164 955 y(\045})164
2009 1054 y(@attributes)e({char)i(*string;)f(struct)h(sym)g(*sym;)g(})g
2010 (IDENT)164 1104 y(@attributes)e({char)i(*tMark;)413 b(})21
2011 b(varList)164 1154 y(@traversal)f(@postorder)f(myT)j(/*)f(my)g
2012 (Traversal)f(*/)164 1254 y(\045\045)164 1303 y(varDecl)86
2013 b(:)174 b(varList)20 b(':')h(REAL)g(';')600 1353 y(@{)g(@i)h
2014 (@varList.tMark@)c(=)k("real";)86 b(@})404 1453 y(|)174
2015 b(varList)20 b(':')h(INT)h(';')600 1503 y(@{)f(@i)h(@varList.tMark@)c
2016 (=)k("integer";)e(@})404 1602 y(|)174 b(varList)20 b(':')h(BOOL)g(';')
2017 600 1652 y(@{)g(@i)h(@varList.tMark@)c(=)k("boolean";)e(@})404
2018 1702 y(;)164 1802 y(varList)86 b(:)174 b(IDENT)600 1851
2019 y(@{)21 b(@i)h(@IDENT.sym@)d(=)774 1901 y(allocSym\(@IDENT.st)o(ring@)o
2020 (,@var)o(List.)o(tMark)o(@\);)665 1951 y(@myT)i(printf\("\045s:)f
2021 (\045s;\\n",@IDENT.sy)o(m@->t)o(ypeMa)o(rk,)1188 2001
2022 y(@IDENT.sym@->str\);)600 2051 y(@})404 2100 y(|)174
2023 b(varList)20 b(',')h(IDENT)600 2150 y(@{)g(@i)h(@varList.1.tMar)o(k@)d
2024 (=)i(@varList.tMark@;)665 2200 y(@i)h(@IDENT.sym@)d(=)774
2025 2250 y(allocSym\(@IDENT.st)o(ring@)o(,@var)o(List.)o(tMark)o(@\);)665
2026 2300 y(@myT)i(printf\("\045s:)f(\045s;\\n",@IDENT.sy)o(m@->t)o(ypeMa)o
2027 (rk,)1188 2350 y(@IDENT.sym@->str\);)600 2399 y(@})404
2028 2449 y(;)949 2599 y Fn(16)p eop
2029 %%Page: 17 17
2030 17 16 bop 164 307 a Fc(\045\045)164 357 y(main\(\))208
2031 407 y({return\(yyparse)o(\(\)\);)18 b(})164 573 y Fo(9)83
2032 b(Ov)n(erview)25 b(of)j(other)f(features)164 683 y Fn(This)21
2033 b(section)f(brie\015y)g(describ)q(es)h(some)e(Ox)i(features)f(that)i
2034 (are)e(pro)o(vided)g(for)h(con-)164 743 y(v)o(enience)d(or)i(for)g(adv)
2035 m(anced)h(or)f(sp)q(ecialized)e(use.)32 b(Detailed)20
2036 b(descriptions)f(of)h(these)164 803 y(features)c(app)q(ear)h(in)f(the)g
2037 Fh(Ox)i(User)g(R)n(efer)n(enc)n(e)f(Manual)5 b Fn(.)164
2038 948 y Fd(9.1)70 b(Macro)23 b(facilit)n(y)164 1040 y Fn(Ox's)17
2039 b(input)h(sp)q(eci\014cation)f(ma)o(y)g(b)q(e)h(suc)o(h)f(that)h(the)g
2040 (same)f(or)h(similar)e(text)h(app)q(ears)164 1100 y(in)23
2041 b(more)g(than)h(one)g(place)g(in)f(attribute)h(reference)e(sections.)44
2042 b(Ox)23 b(has)i(a)f(macro)164 1160 y(substitution)16
2043 b(feature)g(that)h(can)g(b)q(e)f(used)g(to)h(decrease)f(v)o(erb)q(osit)
2044 o(y)f(in)h(suc)o(h)g(cases.)164 1305 y Fd(9.2)70 b(Automatic)21
2045 b(generation)h(of)i(cop)n(y)f(rules)164 1397 y Fn(Often)13
2046 b(a)g(Y-\014le)f(has)i(attribute)f(de\014nitions)g(that)h(function)f
2047 (only)f(to)i(cop)o(y)f(an)g(instance)164 1457 y(b)q(elonging)j(to)g
2048 (one)g(no)q(de)g(to)g(a)g(lik)o(e-named)d(instance)j(b)q(elonging)g(to)
2049 g(the)f(no)q(de's)h(par-)164 1517 y(en)o(t)g(or)i(c)o(hild.)k(Large)c
2050 (attribute)f(grammars)f(tend)g(to)i(ha)o(v)o(e)e(man)o(y)g(suc)o(h)h
2051 (de\014nitions,)164 1578 y(whic)o(h)i(are)g(sometimes)e(called)h
2052 Fh(c)n(opy)i(rules)t Fn(.)32 b(The)20 b(situation)f(is)h(conspicuous)g
2053 (when)164 1638 y(con)o(textual)12 b(information)f(is)i(mo)o(v)o(ed)d
2054 (leafw)o(ard)i(via)h(inherited)e(attributes.)20 b(Ox)12
2055 b(syn)o(tax)164 1698 y(pro)o(vides)k(w)o(a)o(ys)g(of)h(sp)q(ecifying)e
2056 (that)i(a)g(cop)o(y)f(rule)f(is)i(global)f(to)h(the)f(attribute)g
2057 (gram-)164 1758 y(mar,)f(ob)o(viating)h(rep)q(etition)f(of)i(attribute)
2058 f(de\014nitions)g(in)g(man)o(y)f(grammar)f(rules.)164
2059 1903 y Fd(9.3)70 b(Using)22 b(Ox)h(with)f(scanners)h(not)g(based)g(on)h
2060 (Lex)164 1995 y Fn(By)15 b(default,)g(Ox)h(pro)o(vides)f(prepro)q
2061 (cessing)h(for)g(Lex)g(\014les)f(augmen)o(ted)f(with)i(Ox)f(con-)164
2062 2055 y(structs.)21 b(By)13 b(using)i(a)g(command)d(line)h(option,)i(Ox)
2063 f(can)g(b)q(e)g(informed)f(that)i(the)f(L-\014le)164
2064 2115 y(con)o(tains)23 b(Ox-augmen)o(ted)e(C)i(co)q(de)g(rather)g(than)g
2065 (the)g(usual)g(Ox-augmen)o(ted)e(Lex)164 2176 y(co)q(de.)164
2066 2320 y Fd(9.4)70 b(Use)22 b(of)h(m)n(ultiple)c(scanners)164
2067 2412 y Fn(Some)e(translators)i(con)o(tain)f(sev)o(eral)f(scanners.)28
2068 b(Suc)o(h)18 b(a)g(translator)h(is)f(designed)g(so)164
2069 2473 y(that)i(at)g(an)o(y)f(momen)o(t,)e(it)i(is)g(using)h(one)f
2070 (scanner)h(or)g(another,)g(and)g(switc)o(hes)f(to)h(a)949
2071 2599 y(17)p eop
2072 %%Page: 18 18
2073 18 17 bop 164 307 a Fn(di\013eren)o(t)16 b(one)h(when)g(there)f(is)g(a)
2074 h(c)o(hange)g(in)f(con)o(text.)22 b(An)16 b(Ox)h(translator)h(that)f
2075 (uses)164 367 y(more)g(than)i(one)f(scanner)h(can)f(b)q(e)h
2076 (constructed)f(b)o(y)g(submitting)f(to)h(Ox)g(more)f(than)164
2077 428 y(one)f(L-\014le.)164 572 y Fd(9.5)70 b(Stripping)22
2078 b(Ox)h(constructs)164 664 y Fn(Occasionally)l(,)11 b(the)h(Ox)f(user)h
2079 (ma)o(y)e(desire)h(copies)h(of)g(the)f(Y-\014le)g(and)i(L-\014le\(s\))f
2080 (stripp)q(ed)164 725 y(of)17 b(Ox-sp)q(eci\014c)f(constructs.)23
2081 b(By)17 b(a)g(command-line)d(option,)j(the)f(Ox)h(user)g(can)g
2082 (\014lter)164 785 y(all)f(Ox-sp)q(eci\014c)f(constructs)h(from)f(the)h
2083 (inputs,)g(to)h(obtain)f(\014les)g(acceptable)f(to)i(Y)l(acc)164
2084 845 y(and)i(Lex.)28 b(The)18 b(original)h(copies)f(of)h(the)f(Y-\014le)
2085 g(and)h(L-\014le\(s\))f(are)h(unc)o(hanged,)g(but)164
2086 905 y(Ox's)d(outputs)i(on)g Fg(oxout*.*)c Fn(con)o(tain)j(neither)f(Ox)
2087 h(constructs)g(nor)h(the)f(usual)g(Ox-)164 965 y(generated)f
2088 (parse-tree-managemen)o(t)e(co)q(de.)164 1110 y Fd(9.6)70
2089 b(Accessing)21 b(Y)-6 b(acc)23 b(pseudo)n(v)l(ariables)164
2090 1202 y Fn(A)o(ttribute)17 b(de\014nitions)g(that)i(refer)e(to)i(the)e
2091 (Y)l(acc)h(pseudo)o(v)m(ariables)g Fg($$)p Fn(,)f Fg($1)p
2092 Fn(,)h Fg($2)p Fn(,)f(etc.)164 1262 y(are)f(p)q(ermitted)f(in)g(v)m
2093 (arious)i(forms,)e(including:)237 1383 y Fg(@i)25 b(@)p
2094 Fh(gr)n(ammarsymb)n(ol)p Fg(.)p Fn([)p Fh(inte)n(ger)p
2095 Fg(.)p Fn(])p Fh(attributename)p Fg(@)15 b(=)25 b($)p
2096 Fa(n)p Fn(;)164 1503 y(where)14 b Fg($)p Fa(n)g Fn(denotes)h(a)g(Y)l
2097 (acc)f(pseudo)o(v)m(ariable.)20 b(It)14 b(is)h(also)g(p)q(ossible)f(to)
2098 h(cop)o(y)f(attribute)164 1563 y(instances)i(in)o(to)g(pseudo)o(v)m
2099 (ariables.)164 1708 y Fd(9.7)70 b(Expressing)23 b(dep)r(endencies)d
2100 (explicitl)o(y)164 1800 y Fn(Supp)q(ose)13 b(that)g(y)o(ou)f(ha)o(v)o
2101 (e)f(a)i(C)f(function)g Fg(fun)f Fn(in)h(a)h(library)l(,)f(and)g(that)h
2102 (y)o(ou)f(w)o(an)o(t)g(to)h(use)164 1860 y(it)k(to)h(de\014ne)f(an)g
2103 (attribute)g(o)q(ccurrence,)g(sa)o(y)g Fg(sym.attrb)p
2104 Fn(,)d(in)j(terms)f(of)i(some)e(other)164 1920 y(o)q(ccurrence)23
2105 b Fg(othersym.o)o(the)o(rA)o(ttr)o(b)p Fn(.)40 b(F)l(urther)24
2106 b(supp)q(ose)h(that)f(the)f(\014rst)h(formal)164 1981
2107 y(parameter)c(of)h Fg(fun)g Fn(is)g(of)g(the)g(same)f(t)o(yp)q(e)h(as)h
2108 Fg(othersym.)o(oth)o(erA)o(tt)o(rb)p Fn(,)d(and)i(that)164
2109 2041 y Fg(fun)p Fn('s)14 b(second)h(formal)f(parameter)f(is)i(a)h(p)q
2110 (oin)o(ter)e(to)i(something)e(of)h(the)g(same)f(t)o(yp)q(e)g(as)164
2111 2101 y Fg(sym.attrb)p Fn(.)21 b(A)16 b(call)h(to)g Fg(fun)f
2112 Fn(c)o(hanges)i(the)f(con)o(ten)o(ts)f(of)i(the)f(lo)q(cation)g
2113 (indicated)f(b)o(y)164 2161 y(its)g(second)g(argumen)o(t.)237
2114 2221 y(It)g(w)o(ouldn't)g(w)o(ork)g(to)h(write:)292 2323
2115 y Fg(@i)25 b(fun\(@other)o(Sym)o(.ot)o(he)o(rAt)o(trb)o(@,)d
2116 (&@sym.attr)o(b@\))o(;)949 2599 y Fn(18)p eop
2117 %%Page: 19 19
2118 19 18 bop 164 307 a Fn(since)19 b(the)g(mo)q(de)f(ann)o(uciator)i
2119 Fg(@i)e Fn(\(see)h(section)g(4.1\))h(implies)d(that)j(the)f(o)q
2120 (ccurrence)164 367 y(app)q(earing)c(\014rst)g(\()p Fg(otherSym.)o(oth)o
2121 (er)o(Att)o(rb)p Fn(\))c(is)j(the)g(o)q(ccurrence)f(b)q(eing)h
2122 (de\014ned,)g(and)164 428 y(that)j(it)e(dep)q(ends)i(on)g
2123 Fg(sym.attrb)o Fn(.)i(Actually)14 b(y)o(ou)j(in)o(tend)e(the)h(opp)q
2124 (osite.)237 488 y(One)c(solution)h(w)o(ould)g(b)q(e)g(to)g(mo)q(dify)e
2125 (the)h(de\014nition)g(of)h Fg(fun)f Fn(\(rev)o(ersing)f(the)i(order)164
2126 548 y(of)e(its)g(formal)f(parameter)g(list\).)19 b(If)11
2127 b(y)o(ou)g(don't)g(w)o(an)o(t)g(to)h(disturb)f(the)g(library)l(,)g(ho)o
2128 (w)o(ev)o(er,)164 608 y(it)16 b(w)o(ould)g(b)q(e)g(b)q(est)h(to)g(use)f
2129 (Ox's)g Fh(explicit)j(mo)n(de)e(annunciator)23 b Fg(@e)15
2130 b Fn(as)i(follo)o(ws:)292 710 y Fg(@e)25 b(sym.attrb)d(:)k(otherSym.)o
2131 (oth)o(er)o(Att)o(rb)c(;)369 770 y(fun\(@other)o(Sym)o(.ot)o(he)o(rAt)o
2132 (trb)o(@,)g(&@sym.attr)o(b@\))o(;)164 872 y Fn(In)c(the)g(\014rst)g
2133 (line)f(ab)q(o)o(v)o(e,)h(Ox)g(is)g(explicitly)d(giv)o(en)i(dep)q
2134 (endency)g(information)h(using)164 932 y(a)f(Mak)o(e-lik)o(e)c(syn)o
2135 (tax:)21 b(it)16 b(is)g(declared)g(that)g Fg(sym.attrb)d
2136 Fn(dep)q(ends)k(on)164 992 y Fg(otherSym.o)o(the)o(rA)o(ttr)o(b)p
2137 Fn(.)38 b(Use)22 b(of)h(the)g(explicit)d(mo)q(de)i(mak)o(es)g(the)g
2138 (order)h(of)g(the)164 1052 y(o)q(ccurrences)16 b(in)f(the)h(second)h
2139 (line's)d(call)i(to)g Fg(fun)f Fn(irrelev)m(an)o(t)g(to)i(Ox's)e
2140 (understanding)164 1112 y(of)i(the)f(dep)q(endencies.)164
2141 1257 y Fd(9.8)70 b(Generating)22 b(ANSI/ISO/C++)i(output)164
2142 1349 y Fn(By)15 b(default,)g(the)h(C)g(co)q(de)g(generated)f(b)o(y)h
2143 (Ox)f(follo)o(ws)h(traditional)f(C)h(syn)o(tax.)21 b(There)164
2144 1409 y(is,)16 b(ho)o(w)o(ev)o(er,)e(a)j(command-line)c(option)k(to)f
2145 (pro)q(duce)h(co)q(de)f(compatible)f(with)164 1470 y(ANSI/ISO/C++)g
2146 (syn)o(tax.)21 b(Th)o(us)c(it)e(is)h(easy)h(to)f(mak)o(e)e(Ox's)i(co)q
2147 (de)g(generation)g(con-)164 1530 y(form)f(to)i(the)f(exp)q(ectations)g
2148 (of)g(practically)f(an)o(y)h(C)h(or)f(C++)h(compiler.)164
2149 1696 y Fo(10)83 b(Ac)n(kno)n(wledgemen)n(ts)164 1806
2150 y Fn(This)19 b(is)f(to)h(thank)f(T)l(erry)g(Dineen,)g(Carolyn)h(Gib)q
2151 (erson,)h(Markus)e(Klingsp)q(or,)h(John)164 1866 y(Levine,)14
2152 b(Carla)i(Marceau,)f(and)g(Mic)o(hael)f(Seager)h(for)g(their)g(helpful)
2153 f(reviews)g(of)i(early)164 1926 y(v)o(ersions)g(of)g(this)g(pap)q(er.)
2154 949 2599 y(19)p eop
2155 %%Trailer
2156 end
2157 userdict /end-hook known{end-hook}if
2158 %%EOF