diff --git a/Doc/tutorial.pdf b/Doc/tutorial.pdf
new file mode 100644
Binary files /dev/null and b/Doc/tutorial.pdf differ
diff --git a/Doc/tutorial.ps b/Doc/tutorial.ps
deleted file mode 100644
--- a/Doc/tutorial.ps
+++ /dev/null
@@ -1,16541 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
-%%Pages: 93
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
-%%DocumentPaperSizes: A4
-%%EndComments
-%DVIPSCommandLine: /usr/pd/tex/teTeX/bin/sparc-solaris2.5.1/dvips.bin
-%+ -o!lpr -f
-%DVIPSParameters: dpi=600, comments removed
-%DVIPSSource:  TeX output 2000.08.15:1545
-%%BeginProcSet: tex.pro
-/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
-/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
-mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
-ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
-isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
-hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
-TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
-forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
-/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
-/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
-/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
-string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
-end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
-/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
-N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
-length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
-128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
-get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
-dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
-/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
-/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
-0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
-setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
-.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
-if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
-length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
-cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
-0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
-add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
-/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
-known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
-/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
-65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
-0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
-{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
-getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
-ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
-RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
-false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
-round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
-rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
-{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
-B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
-4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
-p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
-a}B /bos{/SS save N}B /eos{SS restore}B end
-%%EndProcSet
-%%BeginProcSet: special.pro
-TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N
-/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen
-false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B
-/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit
-div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{
-/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{
-10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B
-/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale
-true def end /@MacSetUp{userdict /md known{userdict /md get type
-/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup
-length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{}
-N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath
-clippath mark{transform{itransform moveto}}{transform{itransform lineto}
-}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{
-itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{
-closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39
-0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N
-/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1
-scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get
-ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip
-not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0
-TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR
-pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1
--1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg
-TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg
-sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr
-0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add
-2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp
-{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72
-div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray}
-N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict
-maxlength dict begin /magscale true def normalscale currentpoint TR
-/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts
-/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx
-psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy
-scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR
-/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{
-psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
-roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
-moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict
-begin /SpecialSave save N gsave normalscale currentpoint TR
-@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial
-{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
-closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
-sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
-}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
-CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
-lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath
-}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{
-end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin}
-N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{
-/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX
-SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X
-/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad
-yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end
-%%EndProcSet
-TeXDict begin 39158280 55380996 1000 600 600 () @start
-/Fa 9 74 df<000000000000000000000C000000000000000000001E0000000000000000
-00003E000000000000000000007E00000000000000000000FC00000000000000000001F8
-00000000000000000003F000000000000000000007E00000000000000000000FC0000000
-0000000000001F800000000000000000003F000000000000000000007E00000000000000
-000000FC00000000000000000001F800000000000000000003F000000000000000000007
-E00000000000000000000FC00000000000000000001F800000000000000000003F000000
-000000000000007E00000000000000000000FC00000000000000000001F8000000000000
-00000003F000000000000000000007E00000000000000000000FC0000000000000000000
-1F800000000000000000003F000000000000000000007E00000000000000000000FC0000
-0000000000000001F800000000000000000003F000000000000000000007E00000000000
-000000000FC00000000000000000001F800000000000000000003F000000000000000000
-007E00000000000000000000FC00000000000000000001F800000000000000000003F000
-000000000000000007E00000000000000000000FC00000000000000000001F8000000000
-00000000003F000000000000000000007E00000000000000000000FC0000000000000000
-0001F800000000000000000003F000000000000000000007E00000000000000000000FC0
-0000000000000000001F800000000000000000003F000000000000000000007E00000000
-000000000000FC00000000000000000001F800000000000000000003F000000000000000
-000007E00000000000000000000FC00000000000000000001F800000000000000000003F
-000000000000000000007E00000000000000000000FC00000000000000000001F8000000
-00000000000003F000000000000000000007E00000000000000000000FC0000000000000
-0000001F800000000000000000003F000000000000000000007E00000000000000000000
-FC00000000000000000001F800000000000000000003F000000000000000000007E00000
-000000000000000FC00000000000000000001F800000000000000000003F000000000000
-000000007E00000000000000000000FC00000000000000000001F8000000000000000000
-03F000000000000000000007E00000000000000000000FC00000000000000000001F8000
-00000000000000003F000000000000000000007E00000000000000000000FC0000000000
-0000000000F8000000000000000000006000000000000000000000575782D453>0
-D<00000000001800000000003C00000000007C00000000007C0000000000F80000000000
-F80000000001F00000000001F00000000003E00000000003E00000000007C00000000007
-C0000000000F80000000000F80000000001F00000000001F00000000003E00000000003E
-00000000007C00000000007C0000000000F80000000000F80000000001F00000000001F0
-0000000003E00000000003E00000000007C00000000007C0000000000F80000000000F80
-000000001F00000000001F00000000003E00000000003E00000000007C00000000007C00
-00000000F80000000000F80000000001F00000000001F00000000003E00000000003E000
-00000007C0000000000FC0000000000F80000000001F00000000001F00000000003E0000
-0000003E00000000007C00000000007C0000000000F80000000000F80000000001F00000
-000001F00000000003E00000000003E00000000007C00000000007C0000000000F800000
-00000F80000000001F00000000001F00000000003E00000000003E00000000007C000000
-00007C0000000000F80000000000F80000000001F00000000001F00000000003E0000000
-0003E00000000007C00000000007C0000000000F80000000000F80000000001F00000000
-001F00000000003E00000000003E00000000007C00000000007C0000000000F800000000
-00F80000000000F000000000006000000000002E5782D42A>I<000000060000000F0000
-001F0000001F0000001E0000003E0000003E0000003C0000007C0000007C000000780000
-00F8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000003C00000
-07C0000007C00000078000000F8000000F8000000F0000001F0000001F0000001E000000
-3E0000003E0000003C0000007C0000007C00000078000000F8000000F8000000F0000001
-F0000001F0000001E0000003E0000003E0000003C0000007C0000007C00000078000000F
-8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000003C0000007C
-0000007C00000078000000F8000000F8000000F0000001F0000001F0000001E0000003E0
-000003E0000003C0000007C0000007C00000078000000F8000000F8000000F0000001F00
-00001F0000001E0000003E0000003E0000003C0000007C0000007C00000078000000F800
-0000F8000000F000000060000000205782D41C>I<00000001000000020000000C000000
-3C000000F8000003F800000FF000003FF00000FFE00003FFE0001FFFC0007FFFC003FFFF
-801FFFFF80FFFFFF007FFFFF003FFFFE001FFFFE000FFFFC0007FFFC0003FFFC0001FFF8
-0000FFF800007FF000003FF000001FF000000FE0000007E0000003E0000001C0000000C0
-000000400020204DD253>18 D<001800001800001800001800003C00003C00003C00007E
-00007E00007E0000FF0000FF0000FF0001FF8001FF8001FF8003FFC003FFC007FFE007FF
-E007FFE00FFFF00FFFF01FFFF81FFFF83FFFFC3FFFFC7FFFFE7FFFFEFFFFFFFFFFFF181F
-8CD053>54 D<6000000000000000000000F800000000000000000000FC00000000000000
-0000007E000000000000000000003F000000000000000000001F80000000000000000000
-0FC000000000000000000007E000000000000000000003F000000000000000000001F800
-000000000000000000FC000000000000000000007E000000000000000000003F00000000
-0000000000001F800000000000000000000FC000000000000000000007E0000000000000
-00000003F000000000000000000001F800000000000000000000FC000000000000000000
-007E000000000000000000003F000000000000000000001F800000000000000000000FC0
-00000000000000000007E000000000000000000003F000000000000000000001F8000000
-00000000000000FC000000000000000000007E000000000000000000003F000000000000
-000000001F800000000000000000000FC000000000000000000007E00000000000000000
-0003F000000000000000000001F800000000000000000000FC000000000000000000007E
-000000000000000000003F000000000000000000001F800000000000000000000FC00000
-0000000000000007E000000000000000000003F000000000000000000001F80000000000
-0000000000FC000000000000000000007E000000000000000000003F0000000000000000
-00001F800000000000000000000FC000000000000000000007E000000000000000000003
-F000000000000000000001F800000000000000000000FC000000000000000000007E0000
-00000000000000003F000000000000000000001F800000000000000000000FC000000000
-000000000007E000000000000000000003F000000000000000000001F800000000000000
-000000FC000000000000000000007E000000000000000000003F00000000000000000000
-1F800000000000000000000FC000000000000000000007E000000000000000000003F000
-000000000000000001F800000000000000000000FC000000000000000000007E00000000
-0000000000003F000000000000000000001F800000000000000000000FC0000000000000
-00000007E000000000000000000003F000000000000000000001F8000000000000000000
-00FC000000000000000000007E000000000000000000003F000000000000000000001F80
-0000000000000000000FC000000000000000000007E000000000000000000003F0000000
-00000000000001F800000000000000000000FC000000000000000000007E000000000000
-000000003E000000000000000000001E000000000000000000000C575782D453>64
-D<600000000000F00000000000F80000000000F800000000007C00000000007C00000000
-003E00000000003E00000000001F00000000001F00000000000F80000000000F80000000
-0007C00000000007C00000000003E00000000003E00000000001F00000000001F0000000
-0000F80000000000F800000000007C00000000007C00000000003E00000000003E000000
-00001F00000000001F00000000000F80000000000F800000000007C00000000007C00000
-000003E00000000003E00000000001F00000000001F00000000000F80000000000F80000
-0000007C00000000007C00000000003E00000000003E00000000001F00000000001F0000
-0000000F80000000000FC00000000007C00000000003E00000000003E00000000001F000
-00000001F00000000000F80000000000F800000000007C00000000007C00000000003E00
-000000003E00000000001F00000000001F00000000000F80000000000F800000000007C0
-0000000007C00000000003E00000000003E00000000001F00000000001F00000000000F8
-0000000000F800000000007C00000000007C00000000003E00000000003E00000000001F
-00000000001F00000000000F80000000000F800000000007C00000000007C00000000003
-E00000000003E00000000001F00000000001F00000000000F80000000000F80000000000
-7C00000000007C00000000003C0000000000182E5782D42A>I<60000000F0000000F800
-0000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000001F00
-00001F0000000F0000000F8000000F8000000780000007C0000007C0000003C0000003E0
-000003E0000001E0000001F0000001F0000000F0000000F8000000F8000000780000007C
-0000007C0000003C0000003E0000003E0000001E0000001F0000001F0000000F0000000F
-8000000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000001
-F0000001F0000000F0000000F8000000F8000000780000007C0000007C0000003C000000
-3E0000003E0000001E0000001F0000001F0000000F0000000F8000000F80000007800000
-07C0000007C0000003C0000003E0000003E0000001E0000001F0000001F0000000F00000
-00F8000000F8000000780000007C0000007C0000003C0000003E0000003E0000001E0000
-001F0000001F0000000F00000006205782D41C>I<8000000040000000300000003C0000
-001F0000001FC000000FF000000FFC000007FF000007FFC00003FFF80003FFFE0001FFFF
-C001FFFFF800FFFFFF00FFFFFE007FFFFC007FFFF8003FFFF0003FFFE0003FFFC0001FFF
-80001FFF00000FFE00000FFC00000FF8000007F0000007E0000007C00000038000000300
-0000020000202080D253>73 D E /Fb 1 1 df<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE27
-037A8F34>0 D E /Fc 5 63 df<F000000000FC00000000FF00000000FFC00000003FE0
-0000000FF800000007FC00000003FE00000000FF000000007F800000003FC00000001FC0
-0000001FE00000000FF000000007F000000007F800000003F800000003FC00000001FC00
-000001FC00000001FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FF000000007F000000007F000000007F000000003F800000003F
-800000003FC00000001FC00000000FE00000000FE000000007F000000003F800000003FC
-00000001FE00000000FF000000007F800000001FC00000000FF000000007F800000001FE
-000000007E000000007E00000001FE00000007F80000000FF00000001FC00000007F8000
-0000FF00000001FE00000003FC00000003F800000007F00000000FE00000000FE0000000
-1FC00000003FC00000003F800000003F800000007F000000007F000000007F00000000FF
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-01FE00000001FC00000001FC00000003FC00000003F800000007F800000007F00000000F
-F00000001FE00000001FC00000003FC00000007F80000000FF00000003FE00000007FC00
-00000FF80000003FE0000000FFC0000000FF00000000FC00000000F00000000027C67582
-3E>27 D<F8000000FE000000FF800000FFC00000FFF000003FF800001FFC00000FFE0000
-03FF000001FF800000FFC000007FE000003FF000003FF800001FFC00000FFC000007FE00
-0007FF000003FF000003FF800001FF800001FFC00000FFC00000FFC000007FE000007FE0
-00007FE000003FF000003FF000003FF000003FF000003FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF81D4B737E4A>57 D<00001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF8
-00001FF800001FF800001FF800001FF800003FF800003FF000003FF000003FF000003FF0
-00007FE000007FE000007FE00000FFC00000FFC00001FFC00001FF800003FF800003FF00
-0007FF000007FE00000FFC00001FFC00003FF800003FF000007FE00000FFC00001FF8000
-03FF00000FFE00001FFC00003FF80000FFF00000FFC00000FF800000FE000000F8000000
-1D4B73804A>59 D<FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC000007FE000007FE000007FE000007FE000007FE000003FF000003FF000003FF00000
-1FF800001FF800000FF800000FFC00000FFC000007FE000003FE000003FF000001FF0000
-01FF800000FF8000007FC000003FE000003FF000001FF000000FF8000007FC000003FE00
-0001FF000000FF8000003FE000001FF0000007F0000003F0000007F000001FF000003FE0
-0000FF800001FF000003FE000007FC00000FF800001FF000003FF000003FE000007FC000
-00FF800001FF800001FF000003FF000003FE000007FE00000FFC00000FFC00000FF80000
-1FF800001FF800003FF000003FF000003FF000007FE000007FE000007FE000007FE00000
-7FE00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000
-1C9760804A>61 D<FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0
-FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC00A1B60804A>I
-E /Fd 5 53 df<00000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E00000000000E000000FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFF
-E000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E00000000000E00000000000E00000000000E00000000000E0000
-0000000E00000000000E0000002B2B7DA333>43 D<00380000780001F8001FF800FEF800
-E0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
-00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
-00F80000F80000F80000F80000F80000F80001FC00FFFFF8FFFFF815267BA521>49
-D<00FF000003FFE0000E03F0001800F80030007C0060007E0078003F00FC003F00FE001F
-80FE001F80FE001F80FE001F807C001F8000001F8000001F0000003F0000003E0000007E
-0000007C000000F8000001F0000003E0000003C00000078000000E0000001C0000003800
-000070018000E001800180018003000300060003000C0003001FFFFF003FFFFF007FFFFE
-00FFFFFE00FFFFFE0019267DA521>I<00FF000003FFE0000F01F8001C007C0030007E00
-3C003E007E003F007E003F007E003F007E003F003C003F0000003E0000007E0000007C00
-0000F8000001F0000007E00001FF800001FF00000001E0000000F00000007C0000003E00
-00003F0000001F0000001F8000001F8038001F807C001F80FE001F80FE001F80FE001F00
-FC003F0078003E0070007C003800F8001F01F00007FFC00000FF000019277DA521>I<00
-00380000003800000078000000F8000001F8000001F8000003F8000007F8000006F80000
-0CF800001CF8000018F8000030F8000070F8000060F80000C0F80001C0F8000180F80003
-00F8000700F8000E00F8000C00F8001C00F8003800F8003000F8006000F800E000F800FF
-FFFFE0FFFFFFE00000F8000000F8000000F8000000F8000000F8000000F8000000F80000
-01FC00003FFFE0003FFFE01B277EA621>I E /Fe 10 122 df<00FF000007FFE0001FFF
-F0003FFFF8003FFFFC003F00FE0038007F0020003F0000003F0000001F8000001F800000
-1F8000001F8000001F8000001F80000FFF8000FFFF8007FFFF801FFFFF803FFC1F807FC0
-1F80FE001F80FC001F80FC001F80FC003F80FC003F80FE007F807F83FF807FFFFF803FFF
-FF803FFF9F801FFE1F8007F0000019217D9F22>97 D<000003F0000003F0000003F00000
-03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000
-03F0000003F0000003F0007F03F001FFE3F003FFFBF007FFFFF00FFFFFF01FF03FF03FC0
-0FF03F8007F07F0003F07E0003F07E0003F0FE0003F0FC0003F0FC0003F0FC0003F0FC00
-03F0FC0003F0FC0003F0FC0003F0FC0003F0FE0003F07E0003F07E0003F07F0007F03F80
-0FF03FC01FF01FF03FF00FFFFFF007FFFBF003FFF3F001FFC3F0007F00001C2F7EAD24>
-100 D<001F800000FFF00001FFF80007FFFC000FFFFE000FE07F001FC03F003F801F003F
-000F807E0007807E0007807C0007C0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0F8
-000000F8000000FC000000FC0000007C0000007E0000007E0000003F0000003F8000401F
-C001C00FF01FC007FFFFC003FFFFC001FFFF80007FFE00001FE0001A217E9F1F>I<FCFC
-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
-FCFCFCFCFCFCFCFC062E7BAD11>108 D<000FE000FC3FF800FCFFFC00FDFFFE00FFFFFF
-00FFC0FF00FF803F00FF003F80FE001F80FE001F80FE001F80FC001F80FC001F80FC001F
-80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F
-80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80FC001F80191F7B
-9E24>110 D<001FE000007FF80001FFFE0003FFFF0007FFFF800FF03FC01FC00FE01F80
-07E03F0003F03F0003F07E0001F87E0001F87C0000F8FC0000FCFC0000FCFC0000FCFC00
-00FCFC0000FCFC0000FCFC0000FCFC0000FC7E0001F87E0001F87F0003F83F0003F03F80
-07F01FC00FE00FF03FC007FFFF8003FFFF0001FFFE00007FF800001FE0001E217E9F23>
-I<0007F000FC3FF800FCFFFE00FFFFFF00FFFFFF80FFC0FF80FF003FC0FE001FC0FC000F
-E0FC000FE0FC0007E0FC0007F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003
-F0FC0003F0FC0003F0FC0007E0FC0007E0FC000FE0FE000FC0FE001FC0FF007F80FFC1FF
-80FFFFFF00FFFFFE00FCFFFC00FC7FF000FC0FC000FC000000FC000000FC000000FC0000
-00FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000001C2C7B
-9E24>I<FC001FC001F8FC003FC001F87E003FC001F07E003FE003F07E003DE003F03F00
-7DE003E03F0079F007E03F0079F007E01F00F9F007C01F80F8F00FC01F80F8F80FC01F80
-F0F80FC00FC1F0F80F800FC1F0781F800FC1F07C1F8007C1E07C1F0007E3E07C1F0007E3
-E03E3F0003E3E03E3E0003E3C03E3E0003E3C03E3E0003F7C01E7E0001F7801F7C0001F7
-801F7C0001F7800F7C0000F7800F780000FF000FF80000FF0007F800007F0007F000007E
-0007F0002D1E7F9D30>119 D<7E0000FC3F0001FC1F8003F81FC007F00FE007E007F00F
-C003F01F8001F83F0000FC7F00007E7E00003FFC00001FF800001FF000000FE0000007C0
-00000FE000000FF000001FF800003EFC00007C7E0000FC3F0001F81F8003F00F8003E00F
-C007E007E00FC003F01F8001F83F0001FC7F0000FEFE00007F201E809D21>I<FC0000FC
-7E0001F87E0001F87F0001F83F0003F03F8003F01F8007E01FC007E00FC007E00FC00FC0
-07E00FC007E00F8007F01F8003F01F0003F03F0001F83F0001F83E0000F83E0000FC7C00
-007C7C00007C7C00007C7800003EF800003EF000001EF000001EF000000FE000000FE000
-0007C0000007C0000007800000078000000F8000000F0000001F0000001E0000003E0000
-003E0000307C00003FF800003FF800003FF000003FE000000FC000001E2C7F9D21>I
-E /Ff 7 117 df<FFFFFFFFFFFFFFFF0000000000000000000000007F7F7F7F7F7F7F7F
-7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F08397BB814>
-105 D<FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE0003FE00FE0007FC00FE000FF800FE001FF000FE003FE000FE007FC000FE00FF8000FE
-01FF0000FE03FE0000FE03FC0000FE07F80000FE0FF00000FE1FE00000FE3FC00000FE7F
-800000FEFFC00000FFFFE00000FFFFE00000FFFFF00000FFF7F80000FFE3F80000FFC1FC
-0000FF80FE0000FF00FF0000FE007F0000FE003F8000FE003FC000FE001FC000FE000FE0
-00FE000FF000FE0007F000FE0003F800FE0001FC00FE0001FE00FE0000FE00FE00007F00
-FE00007F80213A7AB929>107 D<0001FC00FE0FFF80FE1FFFC0FE7FFFE0FEFFFFF0FFF8
-1FF8FFE007F8FFC003F8FF8003FCFF8001FCFF0001FCFF0001FCFF0001FCFE0001FCFE00
-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE00
-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FCFE00
-01FCFE0001FCFE0001FCFE0001FCFE0001FCFE0001FC1E267AA52B>110
-D<0003FE0000000FFF8000003FFFE00000FFFFF80001FFFFFC0003FE03FE0007F800FF00
-0FF0007F800FE0003F801FC0001FC03F80000FE03F80000FE03F000007E07F000007F07F
-000007F07E000003F0FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE00
-0003F8FE000003F8FE000003F8FE000003F87F000007F07F000007F07F000007F03F8000
-0FE03F80000FE01FC0001FC01FE0003FC00FF0007F8007F800FF0003FE03FE0001FFFFFC
-0000FFFFF800007FFFF000001FFFC0000003FE000025287EA62A>I<0001FC0000FE0FFF
-0000FE3FFFC000FEFFFFE000FFFFFFF000FFF03FF800FFC00FF800FF8003FC00FF0003FC
-00FE0001FE00FE0000FE00FE0000FF00FE00007F00FE00007F00FE00007F80FE00003F80
-FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE
-00003F80FE00007F00FE00007F00FE00007F00FE0000FF00FE0000FE00FE0001FE00FF00
-03FC00FF8007FC00FFC00FF800FFF03FF000FFFFFFE000FEFFFFC000FE7FFF8000FE1FFE
-0000FE07F80000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE0000000021367AA52B>I<0007F03F80003FFC3F8000FFFE3F8001FFFFBF
-8003FFFFFF8007FE07FF800FF801FF801FF000FF801FE000FF803FC0007F803F80007F80
-7F80003F807F00003F807F00003F807F00003F80FE00003F80FE00003F80FE00003F80FE
-00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FF00003F807F00
-003F807F00003F807F80003F803F80003F803FC0007F801FE0007F801FE000FF800FF801
-FF8007FE07FF8007FFFFFF8003FFFF3F8000FFFE3F80007FF83F80001FE03F800000003F
-800000003F800000003F800000003F800000003F800000003F800000003F800000003F80
-0000003F800000003F800000003F800000003F800000003F800000003F800000003F8021
-367DA52B>I<01FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC
-000001FC000001FC0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001FC000001FC
-000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC
-000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC
-000001FC000001FC000001FC000001FC000001FC000001FE008001FE018000FF07C000FF
-FFC000FFFFC0007FFF00003FFC00001FE0001A307FAE1E>116 D
-E /Fg 3 111 df<000E00001F00003F00003F00003E00001C0000000000000000000000
-000000000000000000000003E00007F0000C7800187C00307C00307C00607C0060F800C0
-F800C0F80001F00001F00001F00003E00003E00007C00007C00007C1800F81800F81801F
-03001F03001F06000F0C000F1C0007F00003E00011287DA617>105
-D<003E000007FE000007FE0000007C0000007C000000FC000000FC000000F8000000F800
-0001F8000001F8000001F0000001F0000003F0000003F0078003E01FC003E0386007E061
-E007E0C3E007C187E007C307E00FC607C00FCC03800FB800000FE000001FF000001FFE00
-001F3F80001F0FC0003F07E0003F03E0003E03E0603E03E0607E03E0607E03C0C07C03C0
-C07C03C180FC03C180FC01E300F800FE0070007C001B297CA723>107
-D<07801FC0000FE07FF00018F0E0F80030F1807C0030FB007C0060FE003C0060FC003C00
-60F8003C00C1F8007C00C1F0007C0001F0007C0001F0007C0003E000F80003E000F80003
-E000F80003E001F00007C001F00007C001F06007C003E06007C003E0600F8007C0C00F80
-07C0C00F8007C1800F8003C3001F0003C7001F0001FE000E0000F800231B7D9929>110
-D E /Fh 20 120 df<000000FE000000000001FF000000000003FF800000000003FF8000
-00000007FFC00000000007FFC00000000007FFC00000000007FFC0000000000FFFE00000
-00000FFFE0000000000FEFE0000000000FEFE0000000000FEFE0000000001FEFF0000000
-001FC7F0000000001FC7F0000000001FC7F0000000003FC7F8000000003FC7F800000000
-3FC7F8000000003F83F8000000007F83FC000000007F83FC000000007F83FC000000007F
-83FC000000007F01FC00000000FF01FE00000000FF01FE00000000FF01FE00000000FF01
-FE00000001FE00FF00000001FE00FF00000001FE00FF00000001FE00FF00000003FE00FF
-80000003FC007F80000003FC007F80000003FC007F80000003FC007F80000007F8003FC0
-000007F8003FC0000007F8003FC0000007F8003FC000000FF8003FE000000FF0001FE000
-000FF0001FE000000FF0001FE000000FF0001FE000001FFFFFFFF000001FFFFFFFF00000
-1FFFFFFFF000001FFFFFFFF000003FFFFFFFF800003FFFFFFFF800003FFFFFFFF800003F
-C00007F800007FC00007FC00007F800003FC00007F800003FC00007F800003FC00007F80
-0003FC0000FF800003FE0000FF000001FE0000FF000001FE0000FF000001FE0001FF0000
-01FF0001FE000000FF0001FE000000FF003FFFF0001FFFF87FFFF8003FFFFCFFFFFC007F
-FFFEFFFFFC007FFFFEFFFFFC007FFFFE7FFFF8003FFFFC3FFFF0001FFFF8374B7DCA3E>
-65 D<000001FF0003C000000FFFF007E000003FFFFC0FE00000FFFFFE0FE00001FFFFFF
-9FE00007FFFFFFDFE0000FFFFFFFFFE0001FFF80FFFFE0003FFC001FFFE0007FF0000FFF
-E0007FE00007FFE000FFC00003FFE001FF800001FFE003FF000000FFE003FE000000FFE0
-07FC0000007FE007FC0000007FE00FF80000003FE00FF00000003FE01FF00000003FE01F
-E00000001FE01FE00000001FE03FE00000001FE03FC00000001FE03FC00000001FE07FC0
-0000000FC07F8000000000007F8000000000007F8000000000007F800000000000FF8000
-00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000
-000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000
-0000FF000000000000FF000000000000FF000000000000FF8000000000007F8000000000
-007F8000000000007F8000000000007F8000000000007FC000000000003FC00000000FC0
-3FC00000001FE03FE00000001FE01FE00000001FE01FE00000001FE01FF00000001FE00F
-F00000001FE00FF80000003FE007FC0000003FC007FC0000003FC003FE0000007FC003FF
-0000007F8001FF800000FF8000FFC00001FF00007FE00003FE00007FF00007FE00003FFC
-001FFC00001FFF80FFF800000FFFFFFFF0000007FFFFFFE0000001FFFFFFC0000000FFFF
-FF000000003FFFFC000000000FFFF00000000001FF800000334B7BC93E>67
-D<7FFFFFFFF000007FFFFFFFFE0000FFFFFFFFFF8000FFFFFFFFFFE000FFFFFFFFFFF800
-7FFFFFFFFFFC007FFFFFFFFFFE0000FF00007FFF0000FF00000FFF8000FF000003FF8000
-FF000000FFC000FF0000007FE000FF0000003FE000FF0000003FE000FF0000001FF000FF
-0000000FF000FF0000000FF000FF0000000FF800FF00000007F800FF00000007F800FF00
-000007F800FF00000007F800FF00000007F800FF00000007F800FF00000007F800FF0000
-000FF800FF0000000FF000FF0000000FF000FF0000001FF000FF0000003FE000FF000000
-3FE000FF0000007FE000FF000000FFC000FF000003FF8000FF00000FFF8000FF00007FFF
-0000FFFFFFFFFE0000FFFFFFFFFC0000FFFFFFFFF80000FFFFFFFFE00000FFFFFFFF8000
-00FFFFFFFE000000FFFFFFF0000000FF000000000000FF000000000000FF000000000000
-FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF
-000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00
-0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000
-00000000FF000000000000FF000000000000FF000000000000FF00000000007FFFFE0000
-00007FFFFE00000000FFFFFF00000000FFFFFF00000000FFFFFF000000007FFFFE000000
-007FFFFE0000000035497DC83E>80 D<0000FFF00078000007FFFE00FC00001FFFFF81FC
-00007FFFFFE1FC0000FFFFFFF9FC0001FFFFFFFFFC0003FFFFFFFFFC0007FFC03FFFFC00
-0FFE0003FFFC001FF80001FFFC003FF000007FFC003FE000003FFC007FC000001FFC007F
-8000001FFC007F8000000FFC00FF80000007FC00FF00000007FC00FF00000007FC00FF00
-000007FC00FF00000003FC00FF00000003FC00FF00000003FC00FF80000003FC00FF8000
-0001F8007FC000000000007FC000000000003FE000000000003FF000000000001FF80000
-0000001FFE00000000000FFFE00000000007FFFE0000000003FFFFE000000001FFFFFE00
-000000FFFFFFE00000003FFFFFF80000000FFFFFFE00000003FFFFFF000000007FFFFFC0
-00000003FFFFE0000000003FFFF00000000003FFF000000000007FF800000000001FFC00
-0000000007FC000000000003FE000000000003FE000000000001FF000000000000FF0000
-00000000FF000000000000FF803E000000007F807F000000007F80FF000000007F80FF00
-0000007F80FF000000007F80FF000000007F80FF000000007F80FF80000000FF80FF8000
-0000FF00FF80000000FF00FFC0000001FF00FFE0000001FE00FFF0000003FE00FFF80000
-07FC00FFFE00000FF800FFFF80003FF800FFFFFC01FFF000FFFFFFFFFFE000FFFFFFFFFF
-C000FE7FFFFFFF8000FE1FFFFFFE0000FE07FFFFFC0000FC00FFFFE0000078000FFF0000
-00314B7AC93E>83 D<000FFFC0000000007FFFF800000001FFFFFE00000003FFFFFF8000
-0007FFFFFFE000000FFFFFFFF000000FFFFFFFF800001FFC007FFC00001FF8000FFE0000
-1FF80007FE00001FF80001FF00001FF80001FF00000FF00000FF800007E000007F800000
-0000007FC000000000003FC000000000003FC000000000003FC000000000003FC0000000
-00003FC000000000003FC000000003FFFFC00000007FFFFFC0000003FFFFFFC000001FFF
-FFFFC000007FFFFFFFC00000FFFFFFFFC00003FFFFC03FC00007FFF8003FC0000FFF8000
-3FC0001FFC00003FC0003FF000003FC0003FE000003FC0007FC000003FC0007F8000003F
-C000FF8000003FC000FF0000003FC000FF0000003FC000FF0000003FC000FF0000003FC0
-00FF0000003FC000FF8000007FC0007F8000007FC0007FC00000FFC0003FE00003FFC000
-3FF8000FFFE0001FFF00FFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFFC07FFFFFFCFFFFC01
-FFFFFF07FFFC00FFFFFC03FFF8003FFFF0007FF80007FF00000000363679B43E>97
-D<000007FFF00000003FFFFE000001FFFFFF800007FFFFFFC0000FFFFFFFE0001FFFFFFF
-F0007FFFFFFFF000FFFC003FF801FFE0001FF803FF80001FF803FF00001FF807FE00001F
-F80FFC00000FF00FF8000007E01FF0000000001FE0000000003FE0000000003FC0000000
-007FC0000000007F80000000007F80000000007F8000000000FF8000000000FF00000000
-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000
-00FF0000000000FF0000000000FF80000000007F80000000007F80000000007FC0000000
-003FC0000000003FE0000000003FE0000000FC1FF0000001FE1FF8000001FE0FFC000001
-FE07FE000003FE07FF000007FC03FFC0000FFC01FFF0001FF800FFFE00FFF0007FFFFFFF
-E0003FFFFFFFC0000FFFFFFF800007FFFFFF000001FFFFFC0000007FFFF000000007FF00
-002F3678B43E>99 D<00001FF800000000FFFF80000003FFFFE000000FFFFFF800001FFF
-FFFC00007FFFFFFE0000FFFFFFFF0001FFF80FFF8001FFC001FFC003FF8000FFE007FE00
-003FE00FFC00001FF00FF800000FF01FF000000FF81FF0000007F83FE0000007FC3FE000
-0007FC7FC0000003FC7FC0000003FC7F80000003FE7F80000003FEFF80000001FEFF8000
-0001FEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFEFFFFFF
-FFFFFCFFFFFFFFFFFCFF0000000000FF8000000000FF80000000007F80000000007F8000
-0000007FC0000000003FC0000000003FE0000000FC3FE0000000FC1FF0000001FE1FF800
-0001FE0FFC000003FE07FE000007FE07FF00000FFC03FF80001FFC01FFE0007FF800FFFC
-03FFF0007FFFFFFFE0003FFFFFFFC0001FFFFFFF800007FFFFFF000001FFFFFC0000007F
-FFE000000007FF00002F3679B43E>101 D<3FFF8000000000007FFF800000000000FFFF
-C00000000000FFFFC00000000000FFFFC000000000007FFFC000000000003FFFC0000000
-0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F
-C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000
-0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F
-C00000000000003FC007FC000000003FC03FFF800000003FC0FFFFE00000003FC3FFFFF0
-0000003FC7FFFFF80000003FCFFFFFFC0000003FDFFFFFFE0000003FFFF80FFE0000003F
-FFC003FF0000003FFF0001FF0000003FFE0000FF0000003FFC0000FF8000003FF80000FF
-8000003FF800007F8000003FF000007F8000003FF000007F8000003FE000007F8000003F
-E000007F8000003FE000007F8000003FC000007F8000003FC000007F8000003FC000007F
-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F
-C000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F
-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F
-C000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F
-8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003F
-C000007F80003FFFFFC07FFFFF807FFFFFE0FFFFFFC0FFFFFFF0FFFFFFE0FFFFFFF0FFFF
-FFE0FFFFFFF0FFFFFFE07FFFFFE0FFFFFFC03FFFFFC07FFFFF803B497FC83E>104
-D<00003E00000000007F0000000000FF8000000001FFC000000001FFC000000001FFC000
-000001FFC000000001FFC000000000FF80000000007F00000000003E0000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000003FFFFF8000
-007FFFFF8000007FFFFFC000007FFFFFC000007FFFFFC000007FFFFFC000003FFFFFC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000
-0000003FC000007FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFF
-C0FFFFFFFFFFC07FFFFFFFFF802A4A76C93E>I<7FFFFFC00000FFFFFFC00000FFFFFFE0
-0000FFFFFFE00000FFFFFFE00000FFFFFFE000007FFFFFE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE0
-000000001FE0000000001FE0000000001FE000007FFFFFFFFFF8FFFFFFFFFFFCFFFFFFFF
-FFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFF82E4978C83E>108
-D<00000FC0007E00007FF07FF003FF8000FFF0FFFC07FFE000FFFBFFFE1FFFF000FFFFFF
-FE3FFFF000FFFFFFFF7FFFF800FFFFFFFF7FFFF8007FFFF07FFF83FC0003FFC03FFE01FC
-0003FF803FFC01FC0003FF003FF801FE0003FF001FF800FE0003FE001FF000FE0003FE00
-1FF000FE0003FC001FE000FE0003FC001FE000FE0003FC001FE000FE0003FC001FE000FE
-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800
-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE
-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800
-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE
-0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F800
-1FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE0003F8001FC000FE
-007FFFC0FFFE07FFF0FFFFE1FFFF0FFFF8FFFFE3FFFF1FFFF8FFFFE3FFFF1FFFF8FFFFE3
-FFFF1FFFF8FFFFE1FFFF0FFFF87FFFC0FFFE07FFF03D3480B33E>I<00000007FC000000
-3FFF803FFF8000007FFF80FFFFE00000FFFFC3FFFFF00000FFFFC7FFFFF80000FFFFCFFF
-FFFC00007FFFDFFFFFFE00003FFFFFF80FFE0000003FFFC003FF0000003FFF0001FF0000
-003FFE0000FF0000003FFC0000FF8000003FF80000FF8000003FF800007F8000003FF000
-007F8000003FF000007F8000003FE000007F8000003FE000007F8000003FE000007F8000
-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000
-007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000
-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000
-007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000
-003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000
-007F8000003FC000007F8000003FC000007F8000003FC000007F80003FFFFFC07FFFFF80
-7FFFFFE0FFFFFFC0FFFFFFF0FFFFFFE0FFFFFFF0FFFFFFE0FFFFFFF0FFFFFFE07FFFFFE0
-FFFFFFC03FFFFFC07FFFFF803B347FB33E>I<00001FF000000000FFFE00000003FFFF80
-00000FFFFFE000001FFFFFF000007FFFFFFC0000FFFFFFFE0001FFF01FFF0001FFC007FF
-0003FF0001FF8007FE0000FFC00FFC00007FE00FF800003FE01FF000001FF01FE000000F
-F03FE000000FF83FC0000007F83FC0000007F87F80000003FC7F80000003FC7F80000003
-FC7F80000003FCFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF00000001
-FEFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF00000001FEFF80000003
-FE7F80000003FC7F80000003FC7FC0000007FC7FC0000007FC3FC0000007F83FE000000F
-F81FF000001FF01FF000001FF00FF800003FE00FFC00007FE007FE0000FFC007FF0001FF
-C003FFC007FF8001FFF01FFF0000FFFFFFFE00007FFFFFFC00003FFFFFF800000FFFFFE0
-000003FFFF80000000FFFE000000001FF000002F3679B43E>I<00001FF800FC00000000
-FFFE00FC00000003FFFF81FE0000000FFFFFE1FE0000001FFFFFF1FE0000003FFFFFF9FE
-0000007FFFFFFDFE000000FFF80FFFFE000001FFC001FFFE000003FF80007FFE000007FE
-00003FFE00000FFC00001FFE00000FF800001FFE00001FF000000FFE00001FF0000007FE
-00003FE0000007FE00003FC0000003FE00007FC0000003FE00007F80000003FE00007F80
-000001FE00007F80000001FE0000FF80000001FE0000FF00000001FE0000FF00000001FE
-0000FF00000001FE0000FF00000001FE0000FF00000001FE0000FF00000001FE0000FF00
-000001FE0000FF00000001FE0000FF00000001FE0000FF80000001FE00007F80000001FE
-00007F80000003FE00007F80000003FE00007FC0000003FE00003FC0000007FE00003FE0
-000007FE00001FE000000FFE00001FF000000FFE00000FF800001FFE00000FFC00003FFE
-000007FE00007FFE000007FF0000FFFE000003FFC003FFFE000001FFF01FFFFE000000FF
-FFFFFDFE0000007FFFFFF9FE0000003FFFFFE1FE0000000FFFFFC1FE00000007FFFF81FE
-00000001FFFE01FE000000003FF001FE00000000000001FE00000000000001FE00000000
-000001FE00000000000001FE00000000000001FE00000000000001FE00000000000001FE
-00000000000001FE00000000000001FE00000000000001FE00000000000001FE00000000
-000001FE00000000000001FE00000000000001FE00000000000001FE00000000000001FE
-00000000000001FE00000000000001FE00000000000001FE000000000003FFFFFF000000
-0003FFFFFF0000000007FFFFFF8000000007FFFFFF8000000007FFFFFF8000000003FFFF
-FF0000000003FFFFFF00394F7BB33E>113 D<0000000007FE003FFFF8007FFFC07FFFF8
-01FFFFE0FFFFFC07FFFFF0FFFFFC0FFFFFF0FFFFFC1FFFFFF87FFFFC3FFFFFF83FFFFC7F
-FC0FF80003FCFFC00FF80003FDFF0007F00003FFFE0003E00003FFF80000000003FFF000
-00000003FFE00000000003FFE00000000003FFC00000000003FF800000000003FF800000
-000003FF000000000003FF000000000003FE000000000003FE000000000003FE00000000
-0003FE000000000003FC000000000003FC000000000003FC000000000003FC0000000000
-03FC000000000003FC000000000003FC000000000003FC000000000003FC000000000003
-FC000000000003FC000000000003FC000000000003FC000000000003FC000000000003FC
-000000000003FC000000000003FC000000000003FC000000000003FC000000000003FC00
-0000000003FC000000003FFFFFFFFC00007FFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFE
-0000FFFFFFFFFE00007FFFFFFFFE00003FFFFFFFFC000035347CB33E>I<0001FFF00F00
-001FFFFE1F8000FFFFFFBF8003FFFFFFFF8007FFFFFFFF800FFFFFFFFF801FFFFFFFFF80
-3FFE003FFF803FF00007FF807FC00001FF807F000000FF80FF000000FF80FE0000007F80
-FE0000007F80FE0000007F80FE0000007F80FF0000007F80FF0000003F007FC000000000
-7FF0000000003FFE000000001FFFF00000000FFFFFC0000007FFFFFE000003FFFFFF8000
-00FFFFFFE000003FFFFFF8000007FFFFFC0000003FFFFE00000000FFFF0000000007FF80
-00000000FFC03E0000003FE07F0000001FE0FF0000000FE0FF0000000FF0FF80000007F0
-FF80000007F0FF80000007F0FFC0000007F0FFC0000007F0FFE000000FF0FFF000000FE0
-FFF000001FE0FFFC00003FC0FFFE0000FFC0FFFFC00FFF80FFFFFFFFFF00FFFFFFFFFE00
-FEFFFFFFFC00FE3FFFFFF800FE1FFFFFE000FC07FFFF800078007FF800002C3677B43E>
-I<00007C000000000000FC000000000001FE000000000001FE000000000001FE00000000
-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000
-01FE000000000001FE000000000001FE000000000001FE000000000001FE000000003FFF
-FFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE007FFFFF
-FFFFFC007FFFFFFFFFFC000001FE000000000001FE000000000001FE000000000001FE00
-0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000
-00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000
-000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000
-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000
-01FE00003F000001FE00003F000001FE00007F800001FE00007F800001FE00007F800001
-FE00007F800001FE00007F800001FE00007F800001FE00007F800001FF0000FF800000FF
-0000FF000000FF8001FF000000FFC007FE0000007FF01FFE0000007FFFFFFC0000003FFF
-FFF80000001FFFFFF00000000FFFFFE000000007FFFF8000000001FFFE00000000003FF0
-000031437DC13E>I<3FFF80007FFF00007FFF8000FFFF0000FFFFC001FFFF8000FFFFC0
-01FFFF8000FFFFC001FFFF80007FFFC000FFFF80003FFFC0007FFF8000003FC000007F80
-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0
-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80
-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0
-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80
-00003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC0
-00007F8000003FC000007F8000003FC000007F8000003FC000007F8000003FC000007F80
-00003FC000007F8000003FC000007F8000003FC00000FF8000003FC00000FF8000003FC0
-0001FF8000003FC00003FF8000003FE00003FF8000001FE0000FFF8000001FF0001FFF80
-00001FFE00FFFFFF80000FFFFFFFFFFFC00007FFFFFFFFFFE00007FFFFFF7FFFE00001FF
-FFFE7FFFE00000FFFFF83FFFC000003FFFE03FFF80000007FF000000003B347FB23E>I<
-7FFFF8003FFFFCFFFFFC007FFFFEFFFFFE00FFFFFEFFFFFE00FFFFFEFFFFFE00FFFFFEFF
-FFFC007FFFFE7FFFF8003FFFFC00FE000000FE0000FE000000FE0000FF000001FE00007F
-000001FC00007F000001FC00007F800003FC00003F800003F800003F800003F800003FC0
-0007F800001FC00007F000001FC00007F000001FE0000FF000000FE0000FE000000FE000
-0FE000000FF0001FE0000007F0001FC0000007F0001FC0000007F8003FC0000003F8003F
-80000003F8003F80000003FC007F80000001FC007F00000001FC007F00000001FE00FF00
-000000FE00FE00000000FE00FE00000000FF01FE000000007F01FC000000007F01FC0000
-00007F83FC000000003F83F8000000003F83F8000000003FC7F8000000001FC7F0000000
-001FC7F0000000001FEFF0000000000FEFE0000000000FEFE0000000000FFFE000000000
-07FFC00000000007FFC00000000007FFC00000000003FF800000000001FF000000000000
-FE00000037347DB23E>I<7FFFFC001FFFFF00FFFFFC001FFFFF80FFFFFE003FFFFF80FF
-FFFE003FFFFF80FFFFFE003FFFFF80FFFFFC001FFFFF807FFFFC001FFFFF0003F8000000
-0FE00003F80000000FE00003F80000000FE00003F80000000FE00003F80000000FE00001
-FC0000001FC00001FC0000001FC00001FC0000001FC00001FC0000001FC00001FC000000
-1FC00001FC0000001FC00000FE0000003F800000FE0000003F800000FE003E003F800000
-FE007F003F800000FE00FF803F800000FE01FFC03F8000007F01FFC07F0000007F01FFC0
-7F0000007F01FFC07F0000007F03FFE07F0000007F03F7E07F0000007F03F7E07F000000
-3F87F7F0FE0000003F87F7F0FE0000003F87E3F0FE0000003F87E3F0FE0000003F8FE3F8
-FE0000003F8FE3F8FE0000001F8FE3F8FC0000001FCFC1F9FC0000001FCFC1F9FC000000
-1FDFC1FDFC0000001FDFC1FDFC0000000FDF80FDF80000000FDF80FDF80000000FFF80FF
-F80000000FFF80FFF80000000FFF007FF80000000FFF007FF800000007FF007FF0000000
-07FE003FF000000007FE003FF000000003FC001FE000000001F8000FC0000039347EB23E
->I E /Fi 5 55 df<7FFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFFFFFFFFC07FFFFFFFFFFF
-803204799641>0 D<000FE000007FFC0000FFFE0003FFFF8007F83FC00FC007E01F8003
-F03F0001F83E0000F87C00007C7C00007C7800003CF800003EF800003EF000001EF00000
-1EF000001EF000001EF800003EF800003E7800003C7C00007C7C00007C3E0000F83F0001
-F81F8003F00FC007E007F83FC003FFFF8000FFFE00007FFC00000FE0001F207BA42A>14
-D<000FE000007FFC0000FFFE0003FFFF8007FFFFC00FFFFFE01FFFFFF03FFFFFF83FFFFF
-F87FFFFFFC7FFFFFFC7FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFF
-FEFFFFFFFEFFFFFFFE7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFF83FFFFFF81FFFFFF00FFFFF
-E007FFFFC003FFFF8000FFFE00007FFC00000FE0001F207BA42A>I<00000000003C0000
-0000000000003C00000000000000003E00000000000000001E00000000000000001F0000
-0000000000000F00000000000000000F800000000000000007C00000000000000003C000
-00000000000003E00000000000000001F00000000000000000F800000000000000007C00
-007FFFFFFFFFFFFE0000FFFFFFFFFFFFFF0000FFFFFFFFFFFFFF80007FFFFFFFFFFFFFC0
-0000000000000003F00000000000000001F80000000000000000FE00000000000000003F
-80000000000000001FE00000000000000007F80000000000000001FF0000000000000001
-FF0000000000000007F8000000000000001FE0000000000000003F8000000000000000FE
-0000000000000001F80000000000000003F0007FFFFFFFFFFFFFC000FFFFFFFFFFFFFF80
-00FFFFFFFFFFFFFF00007FFFFFFFFFFFFE00000000000000007C0000000000000000F800
-00000000000001F00000000000000003E00000000000000003C00000000000000007C000
-0000000000000F80000000000000000F00000000000000001F00000000000000001E0000
-0000000000003E00000000000000003C00000000000000003C00000048307BAC53>41
-D<0000000001800000000003C00000000007C00000000007C0000000000F80000000000F
-80000000001F00000000001F00000000003E00000000003E00000000007C00000000007C
-0000000000F80000000000F80000000001F00000000001F00000000003E00000000003E0
-0000000007C0000000000FC0000000000F80000000001F00000000001F00000000003E00
-000000003E00000000007C00000000007C0000000000F80000000000F80000000001F000
-00000001F00000000003E00000000003E00000000007C00000000007C0000000000F8000
-0000000F80000000001F00000000001F00000000003E00000000003E00000000007C0000
-0000007C0000000000F80000000000F80000000001F00000000001F00000000003E00000
-000003E00000000007C00000000007C0000000000F80000000000F80000000001F000000
-00001F00000000003E00000000003E00000000007C0000000000FC0000000000F8000000
-0001F00000000001F00000000003E00000000003E00000000007C00000000007C0000000
-000F80000000000F80000000001F00000000001F00000000003E00000000003E00000000
-007C00000000007C0000000000F80000000000F80000000000F000000000006000000000
-002A4E75BB00>54 D E /Fj 17 123 df<0003800000000007E0000700000FE0000F8000
-0FE0001F80000FC0001F80000FC0001F80001FC0003F80001FC0003F80001F80003F0000
-1F80003F00003F80007F00003F80007F00003F00007E00003F00007E00007F0000FE0000
-7F0000FE00007E0000FC00007E0000FC0000FE0001FC0000FE0001FC0000FC0001F80000
-FC0001F80001FC0003F80001FC0003F80001F80003F01801F80003F01803F80007F01803
-F80007F03803F80007E03003F8000FE03007F8000FE07007F8001FE06007F8003FE06007
-FC0077E0E00FFE00E3E1C00FFF03C1F3800FCFFF00FF000FC3FC003E001FC0000000001F
-C0000000001F80000000001F80000000003F80000000003F80000000003F00000000003F
-00000000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE
-0000000000FC0000000000FC00000000007000000000002D377EA432>22
-D<1C007F00FF80FF80FF80FF80FF807F001C000909798817>58 D<1C007F00FF80FF80FF
-C0FFC0FFC07FC01CC000C000C000C000C001C00180018003800300070006000E001C0038
-00700060000A19798817>I<00000000006000000000000070000000000000F000000000
-0001F0000000000001F0000000000003F0000000000003F0000000000007F00000000000
-0FF000000000000FF000000000001FF800000000001FF8000000000033F8000000000073
-F8000000000063F80000000000C3F80000000000C3F8000000000183F8000000000183F8
-000000000303F8000000000603F8000000000603FC000000000C03FC000000000C01FC00
-0000001801FC000000003001FC000000003001FC000000006001FC000000006001FC0000
-0000C001FC00000001C001FC000000018001FC000000030001FE000000030001FE000000
-060000FE0000000E0000FE0000000C0000FE000000180000FE0000001FFFFFFE0000003F
-FFFFFE0000003FFFFFFE000000600000FE000000C00000FE000000C00000FF0000018000
-00FF0000018000007F0000030000007F0000060000007F0000060000007F00000C000000
-7F00000C0000007F0000180000007F0000380000007F0000700000007F0000F00000007F
-8001F80000007F8007F8000000FF80FFFF80003FFFFFFFFF80007FFFFFFFFF80007FFFFF
-383C7DBB3E>65 D<0003FFFFFFFF80000007FFFFFFFFF0000007FFFFFFFFFC00000007F8
-0003FE00000007F00000FF00000007F000007F8000000FF000003FC000000FF000001FC0
-00000FE000001FE000000FE000001FE000001FE000001FE000001FE000001FE000001FC0
-00001FE000001FC000001FE000003FC000001FE000003FC000001FC000003F8000003FC0
-00003F8000003F8000007F8000007F8000007F8000007F0000007F000000FE0000007F00
-0001FC000000FF000003F8000000FF00000FF0000000FE00001FC0000000FE0000FF0000
-0001FFFFFFFC00000001FFFFFFF800000001FC0000FF00000001FC00003FC0000003FC00
-000FE0000003FC000007F0000003F8000007F0000003F8000003F8000007F8000003F800
-0007F8000003FC000007F0000001FC000007F0000001FC00000FF0000001FC00000FF000
-0003FC00000FE0000003FC00000FE0000003FC00001FE0000003FC00001FE0000007F800
-001FC0000007F800001FC000000FF000003FC000000FF000003FC000001FE000003F8000
-003FC000003F8000007F8000007F800000FF0000007F800001FE0000007F000007FC0000
-00FF00003FF00000FFFFFFFFFFC00000FFFFFFFFFF000000FFFFFFFFF80000003B397DB8
-3F>I<0003FFFFFFFFFFE00007FFFFFFFFFFE00007FFFFFFFFFFE0000007F800003FE000
-0007F000000FE0000007F0000003C000000FF0000003C000000FF0000001C000000FE000
-0001C000000FE0000001C000001FE0000001C000001FE0000001C000001FC0000001C000
-001FC00000018000003FC00000018000003FC00000018000003F800000018000003F8000
-60018000007F8000E0018000007F8000E0000000007F0000C0000000007F0000C0000000
-00FF0001C000000000FF0001C000000000FE00038000000000FE00078000000001FE001F
-8000000001FFFFFF8000000001FFFFFF0000000001FFFFFF0000000003FC001F00000000
-03FC000F0000000003F8000E0000000003F8000E0000000007F8000E0000000007F8000E
-0000000007F0000C0000000007F0000C000000000FF0001C000000000FF0001C00000000
-0FE00000000000000FE00000000000001FE00000000000001FE00000000000001FC00000
-000000001FC00000000000003FC00000000000003FC00000000000003F80000000000000
-3F800000000000007F800000000000007F800000000000007F00000000000000FF800000
-000000FFFFFFC000000000FFFFFFC000000000FFFFFFC0000000003B397DB835>70
-D<03FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFFE07F8003FC001FE07C0003F80007E
-0F80003F80003C0F00007F80001C1E00007F80001C1C00007F00001C1C00007F00001C38
-0000FF00001C380000FF00001C300000FE00001C700000FE000018600001FE000018E000
-01FE000018C00001FC000018C00001FC000018C00003FC000018000003FC000000000003
-F8000000000003F8000000000007F8000000000007F8000000000007F0000000000007F0
-00000000000FF000000000000FF000000000000FE000000000000FE000000000001FE000
-000000001FE000000000001FC000000000001FC000000000003FC000000000003FC00000
-0000003F8000000000003F8000000000007F8000000000007F8000000000007F00000000
-00007F000000000000FF000000000000FF000000000000FE000000000000FE0000000000
-01FE000000000001FE000000000001FC000000000001FC000000000003FC000000000003
-FC000000000003F800000000000FFC000000003FFFFFFF0000007FFFFFFF0000007FFFFF
-FF00000037397EB831>84 D<00003FC00001FFF00007E03C000F800E003F0007007E001F
-00FC007F01F800FF03F000FF07E000FF0FE000FF0FC000FE1FC000383F8000003F800000
-7F8000007F0000007F0000007F000000FF000000FE000000FE000000FE000000FE000000
-FC000000FC000000FC000000FC000003FC0000077E0000067E00000E3E00003C3F000070
-1F0000E00F8007C007C03F0001FFF800003FC00020267DA424>99
-D<00000000F80000000003FE000000000F87000000001F0F800000003E3F800000003E7F
-800000007C7F800000007C7F80000000FC7F80000000FC7F00000000FC1C00000001F800
-00000001F80000000001F80000000001F80000000003F80000000003F00000000003F000
-00000003F00000000003F00000000007F00000000007E00000000007E000000007FFFFF0
-000007FFFFF0000007FFFFF00000000FE0000000000FC0000000000FC0000000000FC000
-0000000FC0000000001FC0000000001F80000000001F80000000001F80000000001F8000
-0000003F80000000003F00000000003F00000000003F00000000003F00000000007F0000
-0000007E00000000007E00000000007E00000000007E00000000007E0000000000FE0000
-000000FC0000000000FC0000000000FC0000000000FC0000000001FC0000000001F80000
-000001F80000000001F80000000001F80000000003F00000000003F00000000003F00000
-000003F00000000003E00000000007E00000000007E00000000007C00000001E07C00000
-003F07C00000007F8F800000007F8F80000000FF8F00000000FF1E00000000FE1E000000
-007C3C000000007878000000001FF00000000007C000000000294C7CBA29>102
-D<000007E00000001FF80000007C1C380001F80EFC0003F007FC0007E003FC000FC003FC
-001F8001FC003F0001F8007F0001F8007E0003F800FE0003F800FE0003F001FC0003F001
-FC0007F003FC0007F003F80007E003F80007E003F8000FE007F8000FE007F0000FC007F0
-000FC007F0001FC007F0001FC007E0001F8007E0001F8007E0003F8007E0003F8007E000
-3F0003E0007F0003F000FF0001F001FF0001F003FE0000F8077E00007C1EFE00001FF8FE
-000007E0FC00000000FC00000001FC00000001FC00000001F800000001F800000003F800
-1E0003F0003F0003F0007F8007F0007F8007E000FF800FC000FF001F8000FE003F00007C
-007E00003C01F800001FFFE0000003FF00000026367FA428>I<0003F0000001FFF00000
-01FFF0000001FFF000000007F000000007E000000007E000000007E00000000FE0000000
-0FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800000003F
-800000003F000000003F000000003F000000007F000000007E0007C0007E001FF0007E00
-783800FE00E0F800FC01C1FC00FC0383FC00FC0707FC01FC0E07FC01F81C07F801F83803
-F001F87001E003F8E0000003F1C0000003F380000003F700000007FE00000007FE000000
-07FFE0000007E7F800000FE0FE00000FC07F00000FC03F80000FC01F80001FC01FC0001F
-800FC0301F800FC0301F800FC0703F801FC0603F001F80603F001F80603F001F80E07F00
-1F80C07E001F81C07E000F81807E000F8380FE00078700FC0003FE00380000F800263B7C
-B92B>107 D<03E0007F0000FE000007F801FFE003FFC0000E3C0781F00F03E0001C3E1E
-00F83C01F000383F3800FC7001F800303F7000FCE001F800303FE0007DC000F800703FC0
-007F8000F800603F80007F0000F800603F80007F0000F800E03F0000FE0001F800C07F00
-00FE0001F800C07E0000FC0001F800C07E0000FC0001F800007E0001FC0003F80000FE00
-01FC0003F00000FC0001F80003F00000FC0001F80003F00000FC0003F80007F00001FC00
-03F80007E00001F80003F00007E00001F80003F0000FE00001F80007F0000FC00003F800
-07F0000FC00003F00007E0001FC06003F00007E0001F806003F0000FE0003F80E007F000
-0FE0003F00C007E0000FC0003F00C007E0000FC0003F01C007E0001FC0003E01800FE000
-1FC0003E03800FC0001F80003E03000FC0001F80003E07000FC0003F80003E0E001FC000
-3F80001E1C001F80003F00000FF8000700000E000003E00043267EA449>109
-D<03E0007F000007F801FFE0000E3C0781F0001C3E1E00F800383F3800FC00303F7000FC
-00303FE0007C00703FC0007C00603F80007C00603F80007C00E03F0000FC00C07F0000FC
-00C07E0000FC00C07E0000FC00007E0001FC0000FE0001F80000FC0001F80000FC0001F8
-0000FC0003F80001FC0003F00001F80003F00001F80007F00001F80007E00003F80007E0
-0003F0000FE03003F0000FC03003F0001FC07007F0001F806007E0001F806007E0001F80
-E007E0001F00C00FE0001F01C00FC0001F01800FC0001F03800FC0001F07001FC0000F0E
-001F800007FC0007000001F0002C267EA432>I<0001C0000003E0000007E0000007E000
-0007E0000007E000000FE000000FC000000FC000000FC000001FC000001F8000001F8000
-001F8000003F8000003F00007FFFFF807FFFFF80FFFFFF80007E0000007E0000007E0000
-00FE000000FC000000FC000000FC000001FC000001F8000001F8000001F8000003F80000
-03F0000003F0000003F0000007F0000007E0000007E0000007E000000FE000000FC00600
-0FC006000FC00E001FC00C001F801C001F8018001F8038001F8070001F8060001F80E000
-0F81C0000787800003FE000000F8000019357EB31E>116 D<0007E001F000001FF807FC
-0000783E0E0F0000E01F1C1F0001C01F383F8003800FF07F8003000FE0FF8007000FE0FF
-800E000FC0FF000C000FC07E000C001FC03C001C001F80000018001F80000018001F8000
-0000003F80000000003F80000000003F00000000003F00000000007F00000000007F0000
-0000007E00000000007E0000000000FE0000000000FE0000000000FC000C000000FC000C
-000001FC001C001E01FC0018003F01F80018007F81F80038007F83F8007000FF83F80060
-00FF07F800E000FE0E7C01C0007C1C7C03800078383E0F00001FF00FFC000007C003F000
-0029267EA42F>120 D<00F800000003FE000070070F0000F80E0F8001F81C0F8001F818
-0F8001F8380F8003F8300F8003F0701F8003F0601F8003F0603F8007F0E03F0007E0C03F
-0007E0C07F0007E0007E000FE0007E000FC000FE000FC000FC000FC000FC001FC001FC00
-1F8001F8001F8001F8001F8001F8003F8003F8003F0003F0003F0003F0003F0003F0007F
-0003F0007E0003F0007E0003F0007E0003F000FE0003F000FC0003F001FC0001F003FC00
-00F807FC00007C1FF800003FF9F800000FE1F800000003F800000003F000000003F0000E
-0007F0003F8007E0007F800FC0007F800FC0007F801F80007F801F00007F003E00007C00
-7C00007000F800003801F000001E07C000000FFF00000001FC00000025367EA429>I<00
-01E00060000FF800E0001FFC00C0003FFE01C0007FFF038000FFFF070000F81FFF0001E0
-03FE0001C0001C0001800038000180007000000000E000000001C0000000038000000007
-000000000E000000001C000000003800000000F000000001E00000000380000000070000
-00000E000000001C0000000038000300007000030000E000070001C00006000380000E00
-0700001C000FFC007C001FFF81F8001E0FFFF8003807FFF0007003FFE0006003FFC000E0
-01FF0000C0007C000023267DA427>I E /Fk 36 122 df<000380000FC0001FC0003F80
-00FF0000FE0001F80003F80007F0000FE0000FC0001F80001F80003F00003F00003E0000
-7E00007E00007C00007C0000FC0000FC0000F80000F80000F80000F80000F80000F80000
-F80000F80000FC0000FC00007C00007C00007E00007E00003E00003F00003F00001F8000
-1F80000FC0000FE00007F00003F80001F80000FE0000FF00003F80001FC0000FC0000380
-123476AD23>40 D<700000FC0000FE00007F00003FC0001FC00007E00007F00003F80001
-FC0000FC00007E00007E00003F00003F00001F00001F80001F80000F80000F80000FC000
-0FC00007C00007C00007C00007C00007C00007C00007C00007C0000FC0000FC0000F8000
-0F80001F80001F80001F00003F00003F00007E00007E0000FC0001FC0003F80007F00007
-E0001FC0003FC0007F0000FE0000FC000070000012347AAD23>I<1F003F807FC07FE07F
-E07FE07FE03FE01FE007E007E00FC01FC07F80FF00FE00FC0070000B12748823>44
-D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C9623>I<3E007F00
-FF80FF80FF80FF80FF807F003E000909738823>I<001800003C00007C00007C0000FC00
-01FC0003FC0007FC007FFC00FFFC00FFFC00FF7C007C7C00007C00007C00007C00007C00
-007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00
-007C00007C00007C00007C00007C00007C00007C00007C007FFFFC7FFFFE7FFFFE7FFFFE
-7FFFFC172A7AA923>49 D<007FC00003FFF00007FFFC001FFFFE003FFFFF807F80FF807E
-003FC0FE000FE0FC0007E0FE0003F0FE0003F0FE0003F0FE0001F07C0001F0380001F000
-0001F0000003F0000003F0000007E0000007E000000FC000001FC000003F8000003F0000
-00FE000001FE000003F8000007F000000FE000003FC000007F800000FE000001FC000003
-F800000FF000E01FE001F03F8001F07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE01C
-2A7DA923>I<007FC00001FFF00007FFFC000FFFFE001FFFFF003FE07F803F801FC03F80
-0FC03F8007C03F8007C03F8007C00E0007C000000FC000000FC000001F8000003F800001
-FF00007FFE0000FFFC0000FFF80000FFFC00007FFF0000007F8000001FC000000FE00000
-07E0000003F0000003F0000001F0000001F07C0001F0FE0001F0FE0003F0FE0003F0FE00
-07E0FC000FE0FE001FC07FC07FC03FFFFF801FFFFF000FFFFC0003FFF800007FC0001C2B
-7DA923>I<3E007F00FF80FF80FF80FF80FF807F003E0000000000000000000000000000
-0000000000000000003E007F00FF80FF80FF80FF80FF807F003E00091D739C23>58
-D<1F003F807FC07FC07FC07FC07FC03F801F000000000000000000000000000000000000
-00000000001E003F807F807FC07FC07FC07FC03FC01FC00FC00FC01F803F807F00FF00FE
-00F80070000A26749C23>I<000FC000000FC000001FE000001FE000001FE000001FE000
-003CF000003CF000003CF000003CF000003CF000007CF800007CF800007CF80000787800
-00F87C0000F87C0000F87C0000F87C0000F87C0001F03E0001F03E0001F03E0001F03E00
-03F03F0003E01F0003E01F0003FFFF0003FFFF0007FFFF8007FFFF8007FFFF8007C00F80
-0FC00FC00F8007C00F8007C00F8007C07FF03FF8FFF03FFCFFF03FFCFFF03FFC7FF03FF8
-1E2A7EA923>65 D<FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE007C00007C00007C00007C0000
-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
-7C00007C00007C00FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17297AA823>73
-D<03FFF0000FFFFC001FFFFE003FFFFF003FFFFF007F807F807E001F807C000F807C000F
-80FC000FC0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007
-C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0F80007
-C0F80007C0F80007C0F80007C0F80007C0F80007C0FC000FC0FC000FC07C000F807C000F
-807E001F807F807F803FFFFF003FFFFF001FFFFE000FFFFC0003FFF0001A2B7CA923>79
-D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C7E23>95
-D<03FF80000FFFE0001FFFF8003FFFFC003FFFFE003F80FF003F803F801F001F8000001F
-8000000F800000FF80007FFF8003FFFF800FFFFF801FFFFF807FF00F807F000F80FC000F
-80FC000F80F8000F80F8001F80FC001F80FE003F807F81FF807FFFFFFC3FFFFFFE1FFFFF
-FE07FFC7FE01FE01FC1F1D7D9C23>97 D<FF800000FFC00000FFC00000FFC00000FFC000
-0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C1FC0007C7FF
-0007DFFFC007FFFFE007FFFFF007FE0FF807F803F807F001FC07E000FC07E000FC07C000
-7E07C0007E07C0003E07C0003E07C0003E07C0003E07C0003E07C0007E07E0007E07E000
-FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF000383F8
-001F297FA823>I<003FF00000FFFC0003FFFF0007FFFF000FFFFF001FE07F003F807F00
-7F003E007E0000007E000000FC000000FC000000F8000000F8000000F8000000F8000000
-F8000000FC000000FC0000007E0007007F000F807F001F803FC01F801FF07F000FFFFF00
-07FFFE0003FFFC0000FFF000003FC000191D7B9C23>I<0000FF800000FFC00000FFC000
-00FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
-7F87C001FFE7C003FFF7C00FFFFFC01FFFFFC01FE0FFC03F803FC07F001FC07E000FC07E
-000FC0FC0007C0FC0007C0F80007C0F80007C0F80007C0F80007C0F80007C0FC000FC0FC
-000FC07E000FC07E001FC07F003FC03F807FC03FE0FFC01FFFFFFE0FFFFFFE03FFF7FE01
-FFC7FE007F03FE1F297EA823>I<003FC00000FFF80003FFFC0007FFFF000FFFFF801FF0
-7F803F801FC03F000FC07E0007C07E0007E0FC0007E0FFFFFFE0FFFFFFE0FFFFFFE0FFFF
-FFE0FFFFFFC0F8000000FC000000FC0000007E0001C07F0003E03F8007E03FE007E01FF8
-1FC00FFFFFC007FFFF8001FFFE00007FFC00001FE0001B1D7D9C23>I<00007F000001FF
-C00007FFE0000FFFE0001FFFE0003FCFE0003F0FE0003E07C0003E0000003E0000003E00
-00003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF80003E0000003E0000003E00
-00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00
-00003E0000003E0000003E0000003E0000003E0000003E0000003E00003FFFFE007FFFFF
-007FFFFF007FFFFF003FFFFE001B297EA823>I<000001F0003F07FC00FFDFFE03FFFFFE
-07FFFFFE0FFFFF7E1FE1FE7E1F807E183F003F003F003F003E001F003E001F003E001F00
-3E001F003F003F003F003F001F807E001FE1FE000FFFFC001FFFF8001FFFF0001EFFC000
-1E3F00001E0000001F0000001F4000000FFFFC000FFFFF801FFFFFC03FFFFFF07E0007F8
-7C0000F8F800007CF800007CF000003CF000003CF000003CF800007CFC0000FC7F0003F8
-7FE01FF83FFFFFF00FFFFFC007FFFF8001FFFE00003FF0001F2E7E9D23>I<FF800000FF
-C00000FFC00000FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007
-C0000007C0000007C1FC0007C7FF0007DFFF8007FFFFC007FFFFC007FE0FE007F807E007
-F003E007E003E007E003E007E003E007C003E007C003E007C003E007C003E007C003E007
-C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0FFFE1FFFFF
-FE3FFFFFFE3FFFFFFE3FFFFFFE1FFF20297FA823>I<00380000FE0000FE0000FE0000FE
-0000FE000038000000000000000000000000000000000000007FFC00FFFE00FFFE00FFFE
-007FFE00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E
-00003E00003E00003E00003E00003E00003E00003E00003E007FFFFEFFFFFFFFFFFFFFFF
-FF7FFFFE182A7AA923>I<7F800000FFC00000FFC00000FFC000007FC0000003C0000003
-C0000003C0000003C0000003C0000003C0000003C0000003C0FFFC03C1FFFC03C1FFFC03
-C1FFFC03C0FFFC03C03F0003C07E0003C0FC0003C1F80003C3F00003C7E00003CFC00003
-DFE00003FFF00003FFF00003FCF80003F8FC0003F07E0003E03E0003C01F0003C01F8003
-C00FC003C007C003C003E07FFE0FFFFFFF1FFFFFFF1FFFFFFF1FFF7FFE0FFF20297FA823
->107 D<7FFE0000FFFF0000FFFF0000FFFF00007FFF0000001F0000001F0000001F0000
-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
-001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000
-001F00007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC01B297CA823>I<7E1F01F000
-FF7FC7FC00FFFFEFFE00FFFFFFFE007FFFFFFF000FE1FE1F000FC1FC1F000FC0FC0F000F
-80F80F000F80F80F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00
-F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F0
-0F000F00F00F007FE3FE3FE0FFF3FF3FF0FFF3FF3FF0FFF3FF3FF07FE3FE3FE0241D819C
-23>I<FF81FC00FFC7FF00FFDFFF80FFFFFFC0FFFFFFC007FE0FE007F807E007F003E007
-E003E007E003E007E003E007C003E007C003E007C003E007C003E007C003E007C003E007
-C003E007C003E007C003E007C003E007C003E007C003E007C003E0FFFE1FFFFFFE3FFFFF
-FE3FFFFFFE3FFFFFFE1FFF201D7F9C23>I<003F000001FFE00003FFF00007FFF8000FFF
-FC001FC0FE003F807F003E001F007E001F807C000F80FC000FC0F80007C0F80007C0F800
-07C0F80007C0F80007C0F80007C0FC000FC0FC000FC07C000F807E001F803F003F003F80
-7F001FE1FE000FFFFC0007FFF80003FFF00001FFE000003F00001A1D7C9C23>I<FF81FC
-00FFC7FF00FFDFFFC0FFFFFFE0FFFFFFF007FE0FF807F803F807F001FC07E000FC07E000
-FC07C0007E07C0007E07C0003E07C0003E07C0003E07C0003E07C0003E07C0007E07E000
-7E07E000FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF
-0007C3F80007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
-0007C0000007C00000FFFE0000FFFE0000FFFE0000FFFE0000FFFE00001F2C7F9C23>I<
-7FF00FE0FFF87FF8FFF8FFFCFFFBFFFC7FFFFFFC00FFF8FC00FFC07800FF800000FF0000
-00FE000000FE000000FC000000FC000000FC000000F8000000F8000000F8000000F80000
-00F8000000F8000000F8000000F8000000F8000000F800007FFFFC00FFFFFE00FFFFFE00
-FFFFFE007FFFFC001E1D7E9C23>114 D<01FF9C0FFFFE1FFFFE7FFFFE7FFFFEFF00FEFC
-007EF8003EF8003EFC001CFE00007FF0003FFF800FFFE007FFF8007FFC0001FE00007F70
-003FF8001FFC001FFC003FFE003FFF80FFFFFFFEFFFFFCFFFFF8FFFFF070FF80181D7B9C
-23>I<0070000000F8000000F8000000F8000000F8000000F8000000F8000000F800007F
-FFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF8000F8000000F8000000F8000000F8000000
-F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F801C000
-F803E000F803E000F803E000FC07E000FC0FE000FE1FC0007FFFC0007FFF80003FFE0000
-0FFC000007F0001B257EA423>I<FF807FC0FFC07FE0FFC07FE0FFC07FE0FFC07FE007C0
-03E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C0
-03E007C003E007C003E007C003E007C003E007C003E007C003E007C007E007C00FE007E0
-3FE007FFFFFF03FFFFFF03FFFFFF00FFF3FF003FC1FF201D7F9C23>I<7FF00FFEFFF81F
-FFFFF81FFFFFF81FFF7FF00FFE1F0000F80F0000F00F0000F00F0000F00F0000F00F0000
-F00F8000F00783E1E00787F1E00787F1E00787F1E0078FF9E0038F79C003CF79C003CF79
-C003DF7BC003DF7BC003DE3BC001DE3B8001FE3F8001FE3F8001FC1F8001FC1F8000F80F
-00201D7F9C23>119 D<7FF07FF0FFF8FFF8FFF8FFF8FFF8FFF87FF07FF003E03E0001F0
-3C0000F87C000078F800007CF000003FE000001FE000000FC000000F800000078000000F
-C000001FE000003DE000003CF0000078780000F07C0001F03C0001E01E0003C01F007FF0
-3FF8FFF87FFCFFF87FFCFFF87FFC7FF03FF81E1D7E9C23>I<FFF03FFCFFF03FFCFFF03F
-FCFFF03FFCFFF03FFC078007C00780078007C0078003C00F8003C00F0001E00F0001E01F
-0001F01E0000F01E0000F01E0000F83C0000783C0000783C00003C7800003C7800003C78
-00001E7000001EF000000EF000000FE000000FE0000007E0000007C0000007C0000007C0
-000007800000078000000F8000000F0000000F00003E1F00007F1E00007F3E00007CFC00
-007FFC00007FF800003FF000001FE000000F8000001E2C7E9C23>I
-E /Fl 70 123 df<078007C00FC00FE01FE00FE01FE01FE01FE01FE03FC01FE03FC01FE0
-3FC01FC03F803FC03F803FC03F803F807F003F807F003F807F003F007E007F007E007F00
-7E007E00FC007E00FC007E00FC007C00F800FC00F800FC00F800F800F000F80060007000
-1B196EB32C>34 D<001E00007F0000FF8000FF8000FFC000FFC000FFC000FFC0003FC000
-0F80000F80000F80001F80001F00003F00007E00007E0000FC0001F80003F80007F0001F
-E0007FC0007F8000FF00007C0000700000121B6BB22C>39 D<00000038000000FC000001
-FC000007FC00000FF800001FE000007FC00000FF000001FE000003FC000007F800000FF0
-00000FE000001FC000003F8000007F0000007E000000FE000001FC000001F8000003F800
-0003F0000007E0000007E000000FC000000FC000001FC000001F8000003F8000003F0000
-003F0000003F0000007F0000007E0000007E0000007E000000FE000000FC000000FC0000
-00FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0000
-007C0000007E0000007E0000007E0000003E0000003F0000003F0000001F8000001F8000
-000FC000000FE0000007F0000003F0000003FC000001FC000000FE0000007C0000001C00
-001E426DB92C>I<0000E0000001F0000001F8000001FC000000FE0000007F0000003F80
-00001F8000000FC000000FC0000007E0000007E0000003F0000003F0000003F0000001F8
-000001F8000001F8000001F8000001F8000001F8000000F8000000F8000000F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000003F0
-000003F0000007F0000007E0000007E000000FE000000FC000001FC000001F8000001F80
-00003F0000007F0000007E000000FE000000FC000001FC000003F8000007F0000007F000
-000FE000001FC000003F8000007F000000FE000003FC000007F800000FF000003FE00000
-7FC00000FF000000FE000000F8000000700000001D427AB92C>I<000007000000000F80
-0000001F800000001F800000001F800000001F800000003F800000003F000000003F0000
-00003F000000007F000000007E000000007E000000007E00000000FE00000000FC00003F
-FFFFFFE07FFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFF03FFFFFFFE00003F800000003
-F000000003F000000003F000000007F000000007E000000007E000000007E00000000FE0
-0000000FC00000000FC00000000FC00000001FC00000001F800000000F80000000070000
-00242677AB2C>43 D<007C0000FF0001FF8003FF8003FFC007FFC007FFC007FFC003FFC0
-03FF8000FF80001F80003F00003F00007E0000FC0003FC000FF8007FF0007FE000FF8000
-7E00007800001217748A2C>I<3FFFFFFF807FFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFF
-FFC03FFFFFFF802206769B2C>I<0F801FC03FE07FE07FE0FFE0FFE0FFE07FC03F801E00
-0B0B6F8A2C>I<000003F00000001FFC0000007FFF000000FFFF800003FFFF800007F83F
-C0000FE00FE0001FC00FE0003F8007E0003F0003F0007E0003F000FC0003F001F80003F0
-01F80001F003F00001F803E00001F807E00001F807C00001F80FC00001F80FC00001F81F
-800001F01F800003F01F000003F03F000003F03F000003F03F000003F07E000007E07E00
-0007E07E000007E07E00000FE07E00000FC0FC00000FC0FC00001F80FC00001F80FC0000
-3F80FC00003F00FC00003F00FC00007E00FC0000FE00FE0000FC00FE0001F8007E0003F8
-007E0003F0007F0007E0007F000FC0003F801F80003F807F80001FE0FE00001FFFFC0000
-0FFFF8000007FFF0000003FFC00000007E000000253577B32C>48
-D<000000E0000001F0000001F0000003F0000007F000000FF000001FF000003FE000007F
-E00001FFE0003FFFE0007FFFC0007FFFC0007FDFC0003F1FC000001F8000001F8000003F
-8000003F8000003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE
-000000FC000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0
-000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC000000FC0
-00001FC000001FC0007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC01C3477B32C>I<
-000001FE000000000FFFC00000003FFFF0000000FFFFF8000003FFFFFC000007FF03FE00
-000FF800FF00001FF0003F00003FC0003F80003F80001F80007F00001FC0007E00000FC0
-00FE00000FC000FC00000FC001FC00000FC001F800000FC001F800000FC000F800001FC0
-000000001F80000000001F80000000003F80000000007F0000000000FF0000000001FE00
-00000003FC000000000FFC000000001FF8000000007FF000000001FFC000000007FF8000
-00003FFE00000000FFFC00000003FFF000000007FFC00000001FFF000000003FFC000000
-007FE00007C000FFC00007C001FF00000FC003FE00000FC007F800001FC00FF000001FC0
-0FE000003F801FF000007F801FFF80007F003FFFF001FE003FFFFE07FE007FFFFFFFFC00
-7F9FFFFFF8007E01FFFFF000FE007FFFC0007C001FFF8000780003FC00002A357CB32C>
-I<000007FE0000003FFF800000FFFFE00003FFFFF00007FFFFF8001FFE07FC001FF001FE
-003FC000FE007F00007E007F00003F00FE00003F00FC00003F00FC00003F007800007F00
-0000007E000000007E00000000FE00000001FC00000001FC00000003F80000000FF00000
-001FE0000000FFC00003FFFF800003FFFF000007FFFC000003FFFC000001FFFE00000001
-FF000000007F000000003F800000001F800000001F800000001F800000000FC00000000F
-C03C00000FC07E00001FC0FF00001F80FF00001F80FF00001F80FF00003F80FE00007F00
-FC0000FF00FC0001FE00FE0007FC007E001FF8007F80FFF0003FFFFFE0001FFFFF80000F
-FFFE000003FFF8000000FF800000283579B32C>I<00000000E000000001F000000003F0
-00000003F000000003F000000007F000000007E000000007E000000007E00000000FE000
-00000FC00000000FC00000001F800000001F800000003F800000003F000000003F000000
-007E000000007E00000000FE00000000FC00000001FC00000001F800000003F800000003
-F000000007E00000000FE00000000FC00000001FC00000001F800000003F000000007F00
-000000FE00000000FC00000001FC0F000003F81F800007F01F80000FE03F80001FC03F00
-003F803F00007F003F0000FF007F0001FE007E0003FC007E0007F0007E001FFF80FE003F
-FFF0FC007FFFFEFC00FFFFFFFC1CFFFFFFFFFEF800FFFFFE70001FFFFE000003FFFC0000
-03FFF0000003F000000003F000000003F000000007F000000007E000000007E000000007
-E00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F80
-0000000F8000000007000027467EB32C>I<0007FFFFFE000FFFFFFF000FFFFFFF000FFF
-FFFF001FFFFFFE001F800000001F800000001F800000003F800000003F000000003F0000
-00003F000000007F000000007E000000007E000000007E00000000FE00000000FC000000
-00FC3FE00000FDFFF80001FFFFFE0001FFFFFF0001FFFFFF8001FFE03F8003FF001FC003
-FC000FC003F80007E003E00007E001C00007E000000007E000000003E000000007E00000
-0007E000000007E000000007E03E000007E07F00000FE0FF00000FC0FF00001FC0FF0000
-1F80FE00003F80FE00007F00FC0000FF00FC0001FE00FE0007FC007F000FF8007FC07FF0
-003FFFFFE0001FFFFF80000FFFFE000003FFF80000007FC00000283479B22C>I<000000
-7F80000003FFE000001FFFF000003FFFF80000FFFFF80001FFC1FC0007FE01FC000FF803
-FC001FF003FC003FC003FC007F8003F8007F0003F800FE0000E001FC00000003F8000000
-03F800000007F000000007E00000000FE00000000FC0FF00001FC7FFE0001F9FFFF0003F
-FFFFF8003FFFFFFC003FFF81FE003FFC007F007FF0003F007FE0003F807FC0001F807F80
-001F80FF00001FC0FE00000FC0FE00000FC0FE00001FC0FC00001F80FC00001F80FC0000
-1F80FC00003F80FC00003F00FC00003F00FC00007F00FC0000FE00FC0001FC00FC0003FC
-007E0007F8007E000FF0003F003FE0003FC0FFC0001FFFFF80000FFFFF000007FFFC0000
-03FFF00000007F800000263577B32C>I<00F03F8000F001F9FFE001F801FFFFF001F803
-FFFFF807F803FFFFF80FF007FFFFFC3FF007FFE0FFFFE00FFF007FFFC00FFC003FFFC01F
-F0001FFF801FE0000FFF003FC000007F003F800000FE007F000001FC007E000001FC00FE
-000003F800FC000007F0007C000007F0000000000FE0000000000FC0000000001FC00000
-00001F80000000003F80000000003F00000000007F00000000007E0000000000FE000000
-0000FC0000000001FC0000000001F80000000003F80000000003F00000000007F0000000
-0007E0000000000FE0000000000FC0000000000FC0000000001FC0000000001F80000000
-001F80000000003F80000000003F00000000003F00000000007F00000000007E00000000
-007E0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC00000000
-00F80000000000700000002D3578B32C>I<000001FE0000001FFFC000007FFFF00001FF
-FFF80003FFFFFC0007FC07FE000FF001FE001FC000FE003F80007F007F00007F007E0000
-3F00FC00003F00FC00003F00FC00003F01F800007E01F800007E01FC0000FC00FC0001FC
-00FC0003F8007E0007F0007F001FE0003FC07F80001FFFFE000007FFF8000000FFC00000
-07FFF800003FFFFC00007F80FF0001FC003F8003F0001F8007E0000FC00FC0000FC01F80
-0007E03F000007E03F000007E07E000007E07E000007E07E000007E0FC00000FC0FC0000
-0FC0FC00001FC0FC00001F80FE00003F00FE00007F007F0000FE007F8001FC003FC007F8
-003FF03FF0001FFFFFE0000FFFFF800007FFFF000001FFF80000003FC00000283579B32C
->I<000007F80000003FFF000000FFFF800003FFFFC00007FFFFE0000FFC0FF0001FF003
-F0003FC001F8007F8001F800FF0001F801FC0000FC01FC0000FC03F80000FC03F00000FC
-07F00000FC07E00000FC07E00000FC07E00000FC0FE00000FC0FC00001FC0FC00001FC0F
-C00003FC0FC00003F80FE00007F807E0000FF807E0001FF807F0003FF003F800FFF001FE
-07FFF001FFFFFFF000FFFFFFE0007FFFE7E0001FFF8FE00007FC0FC00000001FC0000000
-1F800000003F800000007F000000007E00000000FE003C0001FC007E0003F800FF0007F8
-00FF000FF000FF001FE000FF007FC000FE00FF8000FE07FF0000FFFFFC00007FFFF80000
-3FFFE000001FFF80000007FC000000263578B32C>I<001E00007F0000FF8001FFC001FF
-C001FFC001FF8001FF8001FF0000FE00007C000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000F80001FC0003FE0007FE0
-007FE000FFE000FFE000FFE0007FC0003F80001E000012246FA32C>I<00000000380000
-0000FC00000001FE00000007FE0000001FFC0000007FF8000001FFE0000003FFC000000F
-FF0000003FFC000000FFF0000003FFC0000007FF8000001FFE0000007FF8000001FFE000
-0007FF8000000FFF0000003FFC0000007FF0000000FFC0000000FF800000007FC0000000
-3FE00000001FF80000000FFC00000003FE00000001FF00000000FFC00000003FE0000000
-1FF00000000FFC00000007FE00000001FF00000000FFC00000007FE00000001FF0000000
-0FF800000007FC00000001FC00000000F8000000007000272A76AD2C>60
-D<07FFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF03FFFFFFFE0000000000
-00000000000000000000000000000000000000000000000000000000000000000000003F
-FFFFFFE07FFFFFFFF0FFFFFFFFF8FFFFFFFFF87FFFFFFFF03FFFFFFFE0281479A22C>I<
-0038000000007E000000007F000000007F800000007FC00000003FF00000000FF8000000
-07FC00000003FF00000001FF800000007FC00000003FF00000001FF800000007FC000000
-03FF00000001FF800000007FC00000003FE00000001FF800000007FC00000003FC000000
-0FFC0000001FFC0000007FF8000001FFE0000007FF8000001FFE0000003FFC000000FFF0
-000003FFC000000FFF0000003FFC000000FFF8000001FFE0000007FF8000001FFE000000
-7FF8000000FFE0000000FFC0000000FF00000000FC000000007000000000262A7AAD2C>
-I<0007FE00003FFF8000FFFFE003FFFFF007FFFFF80FFE07F81FF001FC3FC000FC7F8000
-FC7F0000FCFF0000FCFF0000FCFF0001FCFF0001FC7E0003F83C000FF800003FF000007F
-E00001FFC00007FF80001FFE00007FF80000FFF00001FFC00003FF000003FC780007F0FC
-0007E0FC0007E1FC0007E3FC0007FFF80007FFF00003FFE00001FFC00000FF0000000000
-000000000000000000000000000000000000000000000000000000000003C0000007E000
-000FF000001FF000001FF000001FF000001FE000000FE00000078000001E3471B32C>I<
-0000000FC00000001FE00000003FE00000003FE00000007FE00000007FE0000000FFE000
-0000FBE0000001F7E0000001F7E0000003F7E0000003E7C0000007E7C0000007C7C00000
-0FC7C000000FC7C000001F87C000001F87C000003F0FC000003F0FC000003E0FC000007E
-0FC000007E0FC00000FC0FC00000FC0FC00001F80FC00001F80FC00003F00FC00003F00F
-C00007E00FC00007E00FC0000FC00FC0000FC00FC0001FFFFFC0001FFFFFC0001FFFFFC0
-003FFFFFC0003FFFFFC0007E000FC0007E001FC000FC001FC000FC001FC001F8001F8001
-F8001F8003F0001F8003F0001F8007F0001F807FFC01FFF0FFFE03FFF8FFFE03FFF8FFFE
-03FFF87FFC01FFF025347DB32C>65 D<0007FFFFFC00000FFFFFFF00000FFFFFFFC0000F
-FFFFFFE00007FFFFFFE00000FE001FF00000FC0007F00000FC0003F80001FC0003F80001
-FC0001F80001F80001F80001F80001F80003F80001F80003F80003F00003F00003F00003
-F00003F00007F00007E00007F0000FC00007E0001FC00007E0003F80000FE0007F00000F
-E003FE00000FFFFFF800000FFFFFF000001FFFFFE000001FFFFFF800001FFFFFFC00001F
-8001FE00003F80007F00003F80007F00003F00003F00003F00003F80007F00001F80007F
-00001F80007E00001F80007E00001F8000FE00001F8000FE00003F0000FC00003F0000FC
-00007F0001FC00007E0001FC0000FE0001F80001FC0001F80003F80003F8000FF00003F8
-003FE0007FFFFFFFC000FFFFFFFF8000FFFFFFFF0000FFFFFFFC00007FFFFFE000002D33
-7EB22C>I<000001FE01C000000FFF83E000003FFFE7E00000FFFFF7E00001FFFFFFE000
-03FF03FFE00007F801FFE0000FF000FFC0001FE0007FC0003F80003FC0007F00003FC000
-FE00003F8001FE00003F8001FC00003F8003F800003F8003F000003F0007F000003F0007
-E000001E000FE0000000000FC0000000001FC0000000001F80000000003F80000000003F
-00000000003F00000000003F00000000007F00000000007E00000000007E00000000007E
-00000000007E0000000000FE0000000000FC0000000000FC0000000000FC0000000000FC
-0000000000FC0000078000FC000007C0007E00000FC0007E00000FC0007E00001FC0007E
-00001F80003F00003F80003F00007F00003F8000FF00001F8001FE00001FC007FC00000F
-F03FF8000007FFFFF0000003FFFFC0000001FFFF800000007FFE000000001FF00000002B
-3578B32C>I<000FFFFFF000001FFFFFFC00001FFFFFFE00001FFFFFFF00000FFFFFFF80
-0001FC00FFC00001F8003FC00001F8001FE00003F8000FE00003F80007E00003F00007F0
-0003F00007F00007F00003F00007F00003F00007E00003F00007E00003F0000FE00003F0
-000FE00003F0000FC00003F0000FC00003F0001FC00003F0001FC00003F0001F800003F0
-001F800003F0003F800003F0003F800007E0003F000007E0003F000007E0007F000007E0
-007F00000FC0007E00000FC0007E00001F8000FE00001F8000FE00003F8000FC00003F00
-00FC00007F0001FC00007E0001FC0000FC0001F80001FC0001F80001F80003F80003F000
-03F80007F00003F0000FE00003F0003FC00007F0007F800007F003FF00007FFFFFFE0000
-FFFFFFF80000FFFFFFF00000FFFFFFC000007FFFFE0000002C337EB22C>I<000FFFFFFF
-FF00000FFFFFFFFF80001FFFFFFFFF80000FFFFFFFFF80000FFFFFFFFF800000FE00003F
-000000FC00003F000000FC00003F000001FC00007F000001FC00007E000001F800007E00
-0001F800007E000003F800003C000003F8000000000003F0000000000003F00000000000
-07F0000000000007F001E000000007E003F000000007E003F00000000FE007F00000000F
-E007F00000000FFFFFE00000000FFFFFE00000001FFFFFE00000001FFFFFE00000001FFF
-FFC00000001F800FC00000003F801FC00000003F801FC00000003F000F800000003F000F
-000000007F0000000000007F0000000000007E0000000000007E000000000000FE000000
-000000FE00000F000000FC00001F800000FC00001F800001FC00003F800001FC00003F00
-0001F800003F000001F800003F000003F800007F000003F800007E00007FFFFFFFFE0000
-FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFC00007FFFFFFFFC000031337EB22C>I<00
-0FFFFFFFFE001FFFFFFFFF001FFFFFFFFF001FFFFFFFFF000FFFFFFFFF0000FE00007E00
-00FC00007E0000FC00007E0001FC0000FE0001FC0000FC0001F80000FC0001F80000FC00
-03F80000780003F80000000003F00000000003F00000000007F00000000007F000000000
-07E003C0000007E007C000000FE00FE000000FE00FE000000FC00FC000000FFFFFC00000
-1FFFFFC000001FFFFFC000001FFFFF8000001FFFFF8000003F803F8000003F803F800000
-3F003F0000003F003F0000007F001E0000007F00000000007E00000000007E0000000000
-FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000000001
-F80000000001F80000000003F80000000003F8000000007FFFC0000000FFFFE0000000FF
-FFE0000000FFFFE00000007FFFC000000030337DB22C>I<0007FFE01FFF80000FFFF03F
-FFC0000FFFF03FFFC0000FFFF03FFFC00007FFE01FFF800000FE0003F0000000FC0003F0
-000000FC0003F0000001FC0007F0000001FC0007E0000001F80007E0000001F80007E000
-0003F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000007F0001FC00000
-07F0001F80000007E0001F80000007E0001F8000000FE0003F8000000FE0003F0000000F
-FFFFFF0000000FFFFFFF0000001FFFFFFF0000001FFFFFFE0000001FFFFFFE0000001F80
-007E0000003F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000007F0001
-FC0000007F0001F80000007E0001F80000007E0001F8000000FE0003F8000000FE0003F0
-000000FC0003F0000000FC0003F0000001FC0007F0000001FC0007E0000001F80007E000
-0001F80007E0000003F8000FE0000003F8000FC000007FFF01FFFC00007FFF81FFFE0000
-FFFF83FFFE00007FFF81FFFE00007FFF01FFFC000032337EB22C>72
-D<000FFFFFFF00001FFFFFFF80001FFFFFFF80001FFFFFFF80000FFFFFFF00000003F800
-00000003F00000000003F00000000007F00000000007F00000000007E00000000007E000
-0000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC000
-0000001F80000000001F80000000003F80000000003F80000000003F00000000003F0000
-0000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE0000
-000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F80000
-000003F80000000003F80000000003F00000000003F00000000007F00000000007F00000
-000007E00000000007E0000000000FE0000000000FE00000007FFFFFF80000FFFFFFF800
-00FFFFFFFC0000FFFFFFF800007FFFFFF80000293379B22C>I<0007FFFE00000FFFFF00
-000FFFFF00000FFFFF000007FFFE0000007F000000007E000000007E00000000FE000000
-00FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F800000003
-F800000003F800000003F000000003F000000007F000000007F000000007E000000007E0
-0000000FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F8000
-00001F800000003F800000003F800000003F000000003F000000007F000000007F00001E
-007E00003F007E00003F00FE00007F00FE00007E00FC00007E00FC00007E01FC0000FE01
-FC0000FC7FFFFFFFFC7FFFFFFFFCFFFFFFFFFC7FFFFFFFF87FFFFFFFF828337EB22C>76
-D<0007FF000FFF80000FFF801FFFC0000FFFC01FFFC0000FFFC01FFFC00007FFC00FFF80
-0000FFC001F0000000FBC001F0000000FBC001F0000001FBC003F0000001FBC003E00000
-01F3C003E0000001F3C003E0000003F3E007E0000003F3E007C0000003E3E007C0000003
-E3E007C0000007E3E00FC0000007E3E00F80000007C3E00F80000007C1E00F8000000FC1
-E01F8000000FC1E01F0000000F81E01F0000000F81F01F0000001F81F03F0000001F81F0
-3E0000001F01F03E0000001F01F03E0000003F01F07E0000003F01F07C0000003E01F07C
-0000003E00F07C0000007E00F0FC0000007E00F0F80000007C00F0F80000007C00F0F800
-0000FC00F9F8000000FC00F9F0000000F800F9F0000000F800F9F0000001F800FBF00000
-01F8007BE0000001F0007BE0000001F0007BE0000003F0007FE0000003F0007FC000007F
-FE007FC000007FFF007FC00000FFFF007FC000007FFF003F8000007FFE003F8000003233
-7EB22C>78 D<00001FFFE0000001FFFFFC000003FFFFFE00000FFFFFFF00001FFFFFFF00
-001FF001FF80003FC0007F80007F00003F80007F00003F80007E00003F8000FC00003F80
-00FC00003F8001F800003F0001F800003F0001F800003F0003F000003F0003F000003F00
-03F000007E0007E000007E0007E000007E0007E000007E0007E000007E000FC00000FC00
-0FC00000FC000FC00000FC000FC00000FC001F800001F8001F800001F8001F800001F800
-1F800001F8003F000003F0003F000003F0003F000003F0003F000003F0007F000007E000
-7E000007E0007E000007E0007E00000FC0007E00000FC0007E00000FC000FE00001F8000
-FC00001F8000FC00003F8000FE00003F0000FE00007F0000FE0000FE0000FF0001FE0000
-FFC00FFC0000FFFFFFF800007FFFFFF000003FFFFFE000001FFFFF80000003FFFC000000
-293579B32C>I<000FFFFFFC00000FFFFFFF80001FFFFFFFC0000FFFFFFFE0000FFFFFFF
-F00000FE001FF80000FC0007F80000FC0003FC0001FC0001FC0001FC0000FC0001F80000
-FC0001F80000FC0003F80000FC0003F80000FC0003F00000FC0003F00000FC0007F00000
-FC0007F00001F80007E00003F80007E00003F0000FE00007F0000FE0000FE0000FC0003F
-C0000FC0007F80001FC003FF00001FFFFFFE00001FFFFFFC00001FFFFFF000001FFFFFC0
-00003FFFFE0000003F00000000003F00000000003F00000000007F00000000007E000000
-00007E00000000007E0000000000FE0000000000FC0000000000FC0000000000FC000000
-0001FC0000000001F80000000001F80000000001F80000000003F8000000007FFF000000
-00FFFF80000000FFFF80000000FFFF800000007FFF000000002E337EB22C>I<0007FFFF
-C000000FFFFFF800000FFFFFFC00000FFFFFFF000007FFFFFF000000FE01FF800000FC00
-7FC00000FC001FC00001FC001FC00001FC000FE00001F8000FE00001F8000FE00003F800
-0FE00003F8000FC00003F0000FC00003F0000FC00007F0001F800007F0001F800007E000
-3F000007E0007F00000FE001FE00000FE003FC00000FC01FF800000FFFFFF000001FFFFF
-C000001FFFFF8000001FFFFF8000001FFFFFC000003F803FC000003F800FE000003F0007
-E000003F0007E000007F0007E000007F0007E000007E0007E000007E0007E00000FE000F
-E00000FE000FE00000FC000FC00000FC000FC00001FC000FC38001FC001FCFC001F8001F
-8FC001F8001F8FC003F8001F9FC003F8001F9F807FFF001FBF807FFF801FFF00FFFF800F
-FF007FFF800FFE007FFF0007FC0000000001F0002B347EB22C>82
-D<000001FF00E000000FFFE1F000003FFFF9F000007FFFFFF00001FFFFFFF00003FF01FF
-F00007FC007FE0000FF0003FE0000FE0001FE0001FC0001FE0001F80001FC0003F80001F
-C0003F00000FC0003F00001FC0007F00001F80007E00000F80007E00000F00007F000000
-00007F00000000003F80000000003FC0000000001FF8000000001FFF000000000FFFF000
-000007FFFE00000003FFFF80000000FFFFC00000001FFFE000000001FFF0000000001FF0
-0000000007F80000000003F80000000001FC0000000001FC0000000000FC0000000000FC
-000F000000FC000F800001FC001F800001F8001F800001F8001F800001F8003F800003F0
-003F800007F0003F80000FE0003FC0000FE0007FC0003FC0007FF0007F80007FFE03FF00
-007FFFFFFE0000FFFFFFFC0000FCFFFFF00000783FFFC000007807FF0000002C357CB32C
->I<0FFFFFFFFF001FFFFFFFFF801FFFFFFFFF801FFFFFFFFF803FFFFFFFFF803F803F80
-3F003F003F003F003F003F003F007F007F007F007F007F007E007E007E007E007E007E00
-7E003C00FE003C000000FE0000000000FC0000000000FC0000000001FC0000000001FC00
-00000001F80000000001F80000000003F80000000003F80000000003F00000000003F000
-00000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE000
-0000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F8000
-0000003F80000000003F80000000003F00000000003F00000000007F00000000007F0000
-0000007E00000000007E0000000000FE0000000000FE000000007FFFF0000000FFFFF800
-0000FFFFF8000000FFFFF80000007FFFF0000000293375B22C>I<1FFFE01FFFE01FFFF0
-1FFFF03FFFF03FFFF01FFFF01FFFF01FFFE01FFFE001FC0001FC0001F80001F80001F800
-01F80001F80003F80003F80003F80003F00003F00003F00003F00003F00007F00007F000
-07F00007E00007E00007E00007E00007E0000FE0000FE0000FE0000FC0000FC0000FC000
-0FC0000FC0001FC0001FC0001FC0001F80001F80001F80001F80001F80003F80003F8000
-3F80003F00003F00003F00003F00003F00007F00007F00007F00007E00007E00007E0000
-7E00007E0000FE0000FE0000FE0000FC0000FC0000FC0000FC0000FC0001FC0000FC0001
-F80000FC0003F80000FC0003F00000FC0007F00000FC000FE00000FC000FE00000FC001F
-C000007E007F8000007F00FF0000003F83FE0000003FFFFC0000001FFFF80000000FFFF0
-00000003FFC000000000FE000000002C3476B22C>I<7FFC00FFFCFFFE00FFFCFFFE01FF
-FEFFFE00FFFC7FFC00FFFC1FC0001F801FC0001F801FC0003F001FC0003F001FC0007E00
-1FC0007E001FC000FC001F8000FC001F8001F8001F8001F8001F8003F0001F8003F0001F
-8007E0001F8007E0001F800FC0001F800FC0001F801FC0001F801F80001F803F80001F80
-3F00001F803F00001F807E00001F807E00001F80FC00001F80FC00001F81F800001F81F8
-00001F83F000001F83F000001F87E000001F87E000001F8FC000001F8FC000001F8F8000
-001F9F8000001F9F0000001F3F0000001F3E0000001F7E0000001F7C0000001FFC000000
-1FF80000001FF80000001FF00000001FF00000001FE00000000FC0000000273472B22C>
-I<0FFE0001FFC01FFF0003FFE01FFF0003FFE01FFF0003FFE00FFE0001FFC007C000003E
-0007C000003E0007C000003E0007C000007C0007C000007C0007C000007C0007C00000F8
-000F800000F8000F800001F0000F800001F0000F800001F0000F800003E0000F800003E0
-000F800003E0000F800007C0001F00FC07C0001F03FC0780001F03FC0F80001F07FC0F80
-001F07FC1F00001F0FFC1F00001F0FBC1F00001E0F7C3E00003E1F7C3E00003E1E7C3C00
-003E3E7C7C00003E3E7C7C00003E7C7C7800003C7C7CF800003C787CF800003CF878F000
-007CF879F000007CF079E000007DF079E0000079E07BE0000079E07BC000007BC0FBC000
-007BC0F7C00000FB80F7800000F780F7800000FF80FF800000FF00FF000000FF00FF0000
-00FE00FE000000FE00FE000000FC00FC000000F800780000002B3476B22C>I<0000FFFF
-F00001FFFFF80001FFFFF80003FFFFF80003FFFFF00003F000000003F000000007F00000
-0007F000000007E000000007E00000000FE00000000FE00000000FC00000000FC0000000
-1FC00000001FC00000001F800000001F800000003F800000003F800000003F000000003F
-000000007F000000007F000000007E000000007E00000000FE00000000FE00000000FC00
-000000FC00000001FC00000001FC00000001F800000001F800000003F800000003F80000
-0003F000000003F000000007F000000007F000000007E000000007E00000000FE0000000
-0FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F800000003F
-800000003F800000003F000000003F000000007F000000007F000000007E000000007E00
-000000FE00000000FFFFF80000FFFFFC0000FFFFFC0000FFFFFC00007FFFF80000254170
-B92C>91 D<0000FFFFF00001FFFFF80001FFFFF80001FFFFF80000FFFFF800000003F000
-000003F000000003F000000007F000000007E000000007E000000007E00000000FE00000
-000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F80000000
-3F800000003F000000003F000000003F000000007F000000007E000000007E000000007E
-00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800
-000001F800000003F800000003F000000003F000000003F000000007F000000007E00000
-0007E000000007E00000000FE00000000FC00000000FC00000000FC00000001FC0000000
-1F800000001F800000001F800000003F800000003F000000003F000000003F000000007F
-000000007E000000007E000000007E00007FFFFE0000FFFFFC0000FFFFFC0000FFFFFC00
-007FFFF8000025417EB92C>93 D<00038000000FC000007FF00001FFF80007FFFE001FFF
-FF007FFCFFC07FF07FE0FFC03FE07F000FE07C0007C0300001801B0C6EB22C>I<7FFFFF
-FF00FFFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFF807FFFFFFF0022067D7D2C>I<0003
-F00000000FFC7800003FFFFC00007FFFFC0000FFFFFC0001FE1FFC0003FC0FF80007F80F
-F8000FF007F8000FE007F8001FC007F0001F8007F0003F8007F0003F0007F0007F0007E0
-007E0007E0007E0007E0007E000FE000FE000FE000FC000FC000FC000FC000FC001FC180
-FC001F87E0FC003F87E0FC003F87E0FC007F8FE0FC00FF0FC0FC01FF0FC0FE03FF0FC07E
-07FF1F807F0FFF3F803FFFFFFF001FFFDFFF001FFF8FFE0007FE07FC0001F801F0002324
-76A32C>97 D<7FF80000FFFC0000FFFC0000FFFC00007FFC000001FC000001F8000001F8
-000003F8000003F8000003F0000003F0000007F0000007F0000007E0000007E1FC000FE7
-FF000FFFFF800FFFFFC00FFFFFE01FFF0FE01FFC07F01FF803F01FF001F83FE001F83FC0
-01F83F8001F83F8001F87F0001F87F0001F87E0001F87E0001F87E0003F8FE0003F8FC00
-03F0FC0003F0FC0007F0FC0007E0FC000FE0FC000FC0FC001FC0FC003F80FC007F007E00
-FF007F01FE003F87FC003FFFF8001FFFF0000FFFC00007FF000001FC00001D3375B22C>
-I<00007F800003FFE0000FFFF8003FFFFC007FFFFC00FFC1FE01FE00FE03FC01FE07F801
-FE0FF001FE0FE001FC1FC001FC3F8000703F0000003F0000007E0000007E0000007E0000
-00FE000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FE0000
-007E00001C7F00003E3F8000FE3FC00FFE1FFFFFFE0FFFFFFC07FFFFF001FFFFC0007FFE
-001F2475A32C>I<000003FF80000007FFC0000007FFC0000007FFC0000003FFC0000000
-1FC00000001F800000001F800000003F800000003F800000003F000000003F000000007F
-000000007F000000007E000003F07E00000FFCFE00003FFFFE00007FFFFC0000FFFFFC00
-01FE1FFC0003FC0FFC0007F80FF8000FF007F8000FE007F8001FC007F8001F8007F0003F
-8007F0003F0007F0007F0007F0007E0007E0007E0007E0007E000FE000FE000FE000FC00
-0FC000FC000FC000FC001FC180FC001FC7E0FC003F87E0FC003F87E0FC007F8FE0FC00FF
-8FC0FC01FF0FC0FE03FF0FC07E07FF1F807F0FFF3F803FFFFFFF001FFFDFFF001FFF8FFE
-0007FE07FC0001F801F000233376B22C>I<00007F000003FFC0000FFFF0003FFFF8007F
-FFFC00FFC1FC01FE00FC03FC007E07F8007E0FE000FE0FE000FC1FC000FC3F8001FC3F00
-07F87F003FF87FFFFFF07FFFFFE07FFFFF80FFFFFE00FFFFF000FC000000FC000000FC00
-0000FC000000FC000000FC0000007E0000007E00001C7F00003E3F8000FE3FC00FFE1FFF
-FFFE0FFFFFFC07FFFFF001FFFFC0007FFE001F2475A32C>I<00000003FC000000001FFF
-000000003FFFC00000007FFFC00000007FFFE0000000FE1FE0000000FC1FE0000000FC1F
-E0000000FC1FE0000001FC0FC0000001F80780000001F80000000001F80000000001F800
-00000001F800000003FFFFF8000003FFFFFC000007FFFFFC000003FFFFFC000003FFFFF8
-00000007F00000000007E00000000007E00000000007E00000000007E00000000007E000
-0000000FE0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000
-0000001FC0000000001F80000000001F80000000001F80000000001F80000000001F8000
-0000003F80000000003F00000000003F00000000003F00000000003F00000000007F0000
-0000007E00000000007E00000000007E00000000007E00000000007E0000000000FE0000
-000000FC0000000000FC0000000000FC0000000001FC0000000001F80000000001F80000
-000001F80000000003F80000001C03F00000007F03F00000007F07F0000000FF07E00000
-00FF0FE0000000FF1FC0000000FFFF800000007FFF800000003FFF000000001FFC000000
-0007F0000000002B457DB22C>I<000007F00000001FFC7800007FFEFC0001FFFFFC0003
-FFFFFC0007FC3FFC000FF01FFC001FE00FF8001FC007F8003F8007F8007F0007F8007E00
-07F000FE0007F000FC0007F001FC0007F001F80007E001F80007E001F8000FE003F8000F
-E003F0000FC003F0000FC003F0001FC003F0001FC003F0003F8003F0003F8003F0007F80
-03F000FF8003F001FF0001F803FF0001FC07FF0000FE1FFF0000FFFFFE00007FFFFE0000
-3FFFFE00001FFCFE000007F0FC00000000FC00000001FC00000001FC00000001F8000000
-01F800000003F800000003F800000003F0003C0007F0007E000FE000FF001FE000FF003F
-C000FF01FF8000FFFFFF0000FFFFFE00007FFFF800003FFFE000000FFF00000026367BA3
-2C>I<07FF0000000FFF8000000FFF8000000FFF80000007FF800000003F800000003F00
-0000003F000000007F000000007F000000007E000000007E00000000FE00000000FE0000
-0000FC00000000FC3FC00001FCFFF00001FFFFF80001FFFFFC0001FFFFFC0003FFF0FE00
-03FFC07E0003FF007E0003FE007E0007FE007E0007FC007E0007F8007E0007F8007E000F
-F000FE000FF000FC000FE000FC000FE000FC001FC001FC001FC001F8001FC001F8001F80
-03F8003F8003F0303F8003F0FC3F0007F0FC3F0007E0FC7F0007E1FC7F000FE1F87E000F
-C1F87E000FC3F0FE000FC7F0FE000FCFE0FC000FFFE0FC0007FFC0FC0007FF80F80003FE
-00700000FC00263379B22C>I<00000F0000001F8000003FC000003FC000003FC000003F
-C000001F8000000F00000000000000000000000000000000000000000000000000000000
-0000000000003F000000FFC00003FFF00007FFF0000FFFF8001FE1F8003FC1F8003F81F8
-007F01F8007E01F800FE03F800FC03F000FC07F000FC07E0000007E000000FE000000FC0
-00001FC000001FC000001F8000003F8000003F0060003F01F8007F01F8007E01F800FE03
-F800FC03F000FC07F000FC0FE000FC1FE000FC3FC000FFFF80007FFF00007FFE00001FF8
-000007E0001D3475B32C>I<0FFF0000001FFF8000001FFF8000001FFF8000000FFF8000
-00003F800000003F000000003F000000007F000000007F000000007E000000007E000000
-00FE00000000FE00000000FC00000000FC001F8001FC007FC001FC01FFE001F803FFE001
-F807FFF003F80FF3F003F81FC3F003F03F87F003F07F0FF007F0FE1FF007F1FC1FF007E3
-F80FE007E7F00FC00FFFE007800FFFC000000FFF8000000FFF8000001FFFE000001FFFF8
-00001FFFFC00001FBFFE00003F81FF00603F807F01F83F003F01F83F003F81F87F003F83
-F87F003F03F07E003F03F07E003F07F0FE003F07E0FE003F8FC0FC001FFFC0FC001FFF80
-FC000FFF00F80007FE00700001F800253378B22C>107 D<7FFF00FFFF80FFFF80FFFF80
-7FFF80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC00
-01FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E000
-0FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80183F807E3F007E3F007E
-7F00FE7F00FC7E00FC7E01F87E03F87F87F03FFFF01FFFE00FFFC007FF0001FE00173370
-B22C>I<00707E007E000079FF81FF8000FFFFC7FFC000FFFFCFFFC000FFFFFFFFE000FF
-C3FFC3E001FF83FF83E001FF03FF03F001FE03FE03F001FC03FC03E003FC03FC03E003F8
-03F803E003F803F803E003F007F007E007F007F007C007F007F007C007E007E007C00FE0
-0FE00FC00FC00FC00F800FC00FC00F801FC01FC01F801F801F801F001F801F801F001F80
-1F803F003F803F803E003F003F003E003F003F007E003F003F007C007F007F007C007E00
-7E007C007E007E007C007E007E007F00FE00FE007F00FC00FC003F80FC00FC003F007800
-78000F002C247DA32C>I<01F007F00007F81FFC000FFC7FFE001FFEFFFF003FFFFFFF80
-3F3FFE1F803F3FF81F807E3FF01F807E3FE01F807E7FC01F80FE7FC01F80FC7F801F80FC
-7F001F80FCFF003F8000FE003F0000FE003F0000FE003F0001FC007F0001FC007E0001FC
-007E0001F800FE0003F800FC1803F800FC7E03F001FC7E03F001F87E07F001F8FE07F003
-F8FC07E003F0FC07E003F1FC0FE003F1F80FE003F3F00FC003FFF00FC001FFE00FC001FF
-C00F8000FF800700003E0027247AA32C>I<0000FE000007FF80001FFFE0003FFFF000FF
-FFF001FF83F803FE01FC03F800FC07F000FC0FE0007E1FC0007E1FC0007E3F80007E3F00
-007E7F00007E7E00007E7E00007E7E0000FEFE0000FEFC0000FCFC0000FCFC0001FCFC00
-01F8FC0003F8FC0007F0FC0007F0FC000FE07E001FC07E003F807F00FF803F83FF001FFF
-FE001FFFF8000FFFF00003FFC00000FE00001F2476A32C>I<0007C00FC000001FF03FF0
-00003FF8FFFC00007FFDFFFC00007FFFFFFE0000FE7FF87F0000FC7FF03F0001F87FE03F
-8001F87FC01F8001F8FF801F8003F8FF001F8003F0FE001F8003F0FE001F8003F1FC001F
-800001FC001F800001F8001F800001F8001F800003F8003F800003F8003F800003F0003F
-000003F0003F000007F0007F000007F0007E000007F000FE000007F000FC00000FF001FC
-00000FF003F800000FF007F800000FF80FF000001FF81FE000001FFC3FC000001FFFFF80
-00001FFFFF0000003FFFFE0000003F9FF80000003F07E00000003F00000000007F000000
-00007F00000000007E00000000007E0000000000FE0000000000FE0000000000FC000000
-0000FC0000000001FC0000000001FC0000000001F80000000001F8000000007FFFE00000
-007FFFE0000000FFFFF00000007FFFE00000007FFFE0000000293680A32C>I<0001FC0E
-0007FF0F001FFF9F007FFFDF00FFFFFF01FF0FFF03FC07FF07F803FE07F001FE0FE001FE
-1FC001FE1F8001FC3F8001FC3F0001FC7F0001FC7E0001F87E0001F87E0001F8FE0003F8
-FC0003F0FC0003F0FC0007F0FC0007F0FC000FE0FC000FE0FC001FE0FC003FE0FC007FC0
-7E00FFC07F01FFC03F87FFC03FFFFF801FFFFF800FFFDF8007FF3F8001FC3F0000003F00
-00003F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000FC00
-0001FC000001F8000001F80001FFFFF003FFFFF003FFFFF803FFFFF001FFFFF0203675A3
-2C>I<01F800FF8007FE03FFE00FFF0FFFF81FFF9FFFFC1FFFFFFFFE3F9FFF81FE3F0FFE
-007E7E0FFC007F7E0FF800FF7E1FF001FFFC1FF001FFFC1FE000FEFC1FE000FCFC3FC000
-78003FC00000003F800000003F800000007F000000007F000000007F000000007E000000
-00FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001
-F800000003F800000003F800000003F000000003F000000003F000000003E000000001C0
-000000282479A32C>I<0000FFE0000007FFFC00001FFFFE00003FFFFF00007FFFFF8000
-FF807F8000FC007F8001F8007F8001F0007F8001F0007F8003F0003F0003F0001C0001F8
-00000001FE00000001FFF8000000FFFF0000007FFFC000001FFFF0000007FFF80000003F
-FC00000001FC000000007E000000007E001C00003E007F00003E007F00007E00FF00007C
-00FF0000FC00FF0001FC00FE0003F800FF803FF0007FFFFFE0003FFFFFC0001FFFFF8000
-07FFFE000000FFE00000212478A32C>I<0001E0000003F0000003F0000003F0000007F0
-000007F0000007E0000007E000000FE000000FE000000FC000000FC000001FC000001FC0
-00001F80007FFFFF807FFFFFC0FFFFFFC07FFFFFC07FFFFF80007F0000007F0000007E00
-00007E000000FE000000FE000000FC000000FC000001FC000001FC000001F8000001F800
-0003F8000003F8000003F0000003F0000007F000C007F003F007E003F007E003F00FE007
-F00FE00FE00FC01FE00FC03FC00FC07F800FE1FF0007FFFE0007FFFC0003FFF80001FFE0
-00007F00001C3374B22C>I<00F80001C003FE0003E007FF0007E00FFF0007E01FFF8007
-E03F9F800FE03F1F800FE07F1F800FC07E1F800FC07E3F801FC0FE3F001FC0FC3F001F80
-FC7F001F80FC7E003F80007E003F8000FE003F0000FC003F0000FC007F0001FC007F0001
-F8007E0001F8007E0001F800FE1803F800FE7E03F001FC7E03F001FC7E03F003FC7E03F0
-03FCFE03F007F8FC03F00FF8FC03F81FF9FC01FC3FF9F801FFFFFFF800FFFFFFF0007FFE
-7FE0003FF83FC0000FE00F8027247AA32C>I<007E0000F001FF8001F007FFC001F80FFF
-C001F81FFFE001F81FC7E001FC3F87E000FC3F07E000FC7F07E001FC7E07E001F8FE0FE0
-01F8FC0FC001F8FC1FC001F8FC1F8003F8001F8003F0003F8003F0003F0003F0003F0007
-F0007F0007E0007E0007E0007E0007E0007E000FC000FE000FC000FC001FC000FC001F80
-00FC001F8000FC003F0000FC007F00007E007E00007E00FC00007F83FC00003FFFF80000
-1FFFF000000FFFE0000007FF80000000FE000026247AA32C>I<3C0003800E003F0003C0
-1F007F8007C03F803F8007C03F803FC007C01F8007C00FC01F8007C00F801F8007C00F80
-1F8007C00F801F8007C01F801F800FC01F001F000F801F001F000F801F001F001F803F00
-3F001F003E003E003F003E003E003E003E003E003E007E007E007E007E007C007C007C00
-7C007C007C007C007C00FC00FC00FC00FC00F800F800F800F800F801F801F800F801F801
-F000F801F801F000F803F803F000FC03FC03E0007C07FC07E0007E0FFE0FC0007FFFFFFF
-C0003FFFBFFF80001FFF1FFF00000FFE0FFE000003F803F80000292479A32C>I<001FC0
-1F8000FFF07FE001FFF9FFF807FFFFFFF80FFFFFFFFC1FF0FFF0FC3FC07FE07E3F803FC0
-FE7F003F81FE7E003F83FEFE003F03FEFC003F01FCFC003F01F8FC007F00F000007F0000
-00007E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00181E
-01FC007E3F01F8007E7F01F8007E7F83F800FEFF83F800FCFF03F801FCFE07F803F8FC0F
-FC07F87E1FFE1FF07FFFFFFFE03FFFFFFFC03FFF3FFF000FFC1FFE0003F007F00027247A
-A32C>I<007E00003801FF80007C03FFC000FC07FFC000FC0FFFE000FC1FC7E001FC3F87
-E001F83F07E001F87F07E001F87E0FE003F8FE0FC003F0FC0FC003F0FC1FC003F0FC1F80
-07F0001F8007E0003F8007E0003F0007E0003F000FE0007F000FC0007E000FC0007E001F
-C0007E001FC000FE001F8000FC003F8000FC003F8000FC007F8000FC007F0000FC00FF00
-00FC01FF00007E03FF00007F0FFE00007FFFFE00003FFFFE00001FFFFE00000FFFFC0000
-01FCFC00000000FC00000001FC00000001F800000001F800000003F800078003F0000FC0
-07F0001FE00FE0001FE01FC0001FE01FC0001FC07F80001FC0FF00001F83FE00001FFFFC
-00000FFFF8000007FFE0000003FFC0000000FE00000026367AA32C>I<0003F003C0000F
-FC03E0003FFF07E0007FFFCFE000FFFFFFE001FFFFFFC001FE1FFF8003F803FF0003F800
-FF0003F001FE0007F003FC0003E007F80001C00FF00000003FE00000007FC0000000FF80
-000001FF00000003FC00000007F80000001FF00000003FE003E0007FC003E000FF8007E0
-01FE0007E003FC000FE007F8000FC00FF0001FC01FF8003F801FFF007F803FFFC1FF007F
-FFFFFE00FFFFFFFC00FF1FFFF800FC03FFF000F801FFC00078007F0000232478A32C>I
-E /Fm 60 123 df<00000000FFFC0000000000001FFFFF800000000001FFFFFFE0000000
-0007FFFFFFF0000000001FFFC00FF8000000007FFE0003FC00000000FFF00000FE000000
-01FFE00003FF00000003FF800007FF00000007FF00000FFF8000000FFE00001FFF800000
-0FFE00001FFF8000001FFC00001FFF8000001FFC00003FFFC000003FFC00001FFF800000
-3FF800001FFF8000003FF800001FFF8000003FF800001FFF8000003FF800000FFF000000
-3FF8000007FE0000003FF8000001F80000003FF8000000000000003FF800000000000000
-3FF8000000000000003FF8000000000000003FF8000000000000003FF800000000000000
-3FF8000000000000003FF8000000000000003FF8000000000000003FF80003FFFFC000FF
-FFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FF
-FFFFFFFFFFFFC000003FFC000007FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC0003F
-FFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03F
-FFFFFC03FFFFFFC042547DD34B>12 D<00000000FFFE0000000000001FFFFFCFC0000000
-01FFFFFFFFC000000007FFFFFFFFC00000001FFFC007FFC00000007FFC0007FFC0000000
-FFF0000FFFC0000001FFC0001FFFC0000003FF80001FFFC0000007FF00001FFFC000000F
-FE00001FFFC000000FFE00001FFFC000001FFC00001FFFC000001FFC00000FFFC000003F
-FC00000FFFC000003FF8000007FFC000003FF8000003FFC000003FF8000003FFC000003F
-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F
-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F
-F8000003FFC000003FF8000003FFC000003FF8000003FFC000003FF8000003FFC000003F
-F8000003FFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFF
-FFFFFFFFFFC000FFFFFFFFFFFFFFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003F
-FC000003FFC0003FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFF
-FFFC03FFFFFFC03FFFFFFC03FFFFFFC042547DD34B>I<07F0001FF8003FFE007FFF007F
-FF00FFFF80FFFFC0FFFFC0FFFFC0FFFFE0FFFFE0FFFFE07FFFE07FFFE03FFFE01FFDE007
-F1E00001E00001E00003E00003C00003C00003C00007C0000780000F80000F80000F0000
-1F00003E00003E00007C0000F80001F00003F00007E0000FC0001F80001F00000C000013
-2876D225>39 D<07F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF
-80FFFF80FFFF807FFF003FFE001FFC000FF80007F0001111769025>46
-D<000003FFC0000000003FFFFC00000000FFFFFF00000003FFFFFFC000000FFF81FFF000
-001FFC003FF800003FF8001FFC00007FF0000FFE0000FFE00007FF0001FFC00003FF8003
-FF800001FFC003FF800001FFC007FF800001FFE00FFF000000FFF00FFF000000FFF00FFF
-000000FFF01FFF000000FFF81FFF000000FFF83FFF000000FFFC3FFE0000007FFC3FFE00
-00007FFC3FFE0000007FFC7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000
-007FFE7FFE0000007FFE7FFE0000007FFEFFFE0000007FFFFFFE0000007FFFFFFE000000
-7FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007F
-FFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF
-FFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFF
-FE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF7FFE
-0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE00
-00007FFE3FFE0000007FFC3FFE0000007FFC3FFF000000FFFC3FFF000000FFFC1FFF0000
-00FFF81FFF000000FFF81FFF000000FFF80FFF000000FFF00FFF000000FFF007FF800001
-FFE007FF800001FFE003FFC00003FFC001FFC00003FF8001FFE00007FF8000FFF0000FFF
-00007FF8001FFE00001FFC003FF800000FFF81FFF0000007FFFFFFE0000001FFFFFF8000
-00003FFFFC0000000003FFC00000384F7BCD43>48 D<000000780000000000FC00000000
-03FC0000000007FC000000001FFC00000000FFFC0000000FFFFC000007FFFFFC0000FFFF
-FFFC0000FFFFFFFC0000FFFF7FFC0000FFF07FFC0000F8007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000
-7FFC000000007FFC000000007FFC000000007FFC000000007FFC00007FFFFFFFFFFE7FFF
-FFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE2F4E76CD43>I<00003FFE000000
-0003FFFFE00000000FFFFFFC0000003FFFFFFF000000FFFFFFFFC00001FFC07FFFE00003
-FE000FFFF80007F80003FFFC000FE00001FFFE001FC00000FFFF003F8000007FFF003FF0
-00007FFF807FF800003FFFC07FFC00003FFFC0FFFE00001FFFE0FFFF00001FFFE0FFFF00
-001FFFE0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF0000
-0FFFF07FFE00000FFFF07FFE00000FFFF03FFC00000FFFF00FF000000FFFF003C000000F
-FFF0000000000FFFE0000000001FFFE0000000001FFFE0000000001FFFC0000000003FFF
-C0000000003FFF80000000003FFF80000000007FFF00000000007FFE0000000000FFFC00
-00000001FFF80000000001FFF00000000003FFE00000000003FFC00000000007FF800000
-00000FFF00000000001FFE00000000001FFC00000000003FF800000000007FE000000000
-00FFC00000000001FF800000000003FE000000000007FC000000000007F800000000000F
-F00001F000001FE00001F000003F800001F000007F000001F00000FE000003E00001FC00
-0003E00003F8000003E00007F0000003E0000FE0000003E0001F80000007E0003F000000
-07E0003E0000000FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFFFFFFFFC003FFFFFFFFFF
-C007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFFC0
-FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF8034
-4E79CD43>I<00000FFFC000000000FFFFFC00000007FFFFFF8000001FFFFFFFE000003F
-F807FFF00000FF8001FFFC0001FE00007FFE0003F800003FFF0003F000003FFF8007FC00
-001FFF800FFF00001FFFC00FFF80001FFFC01FFFC0001FFFE01FFFC0001FFFE01FFFC000
-1FFFE01FFFC0001FFFE01FFFE0001FFFE01FFFC0001FFFE01FFFC0001FFFE01FFFC0001F
-FFE00FFFC0001FFFC007FF80001FFFC003FF00003FFFC001FC00003FFF80000000003FFF
-80000000007FFF00000000007FFE00000000007FFE0000000000FFFC0000000001FFF800
-00000003FFF00000000007FFC0000000000FFF8000000000FFFE00000000FFFFF8000000
-00FFFFE000000000FFFFFC00000000FFFFFF800000000007FFE00000000001FFF8000000
-00007FFE00000000003FFF00000000001FFF80000000000FFFC0000000000FFFE0000000
-0007FFF00000000007FFF00000000007FFF80000000007FFF80000000003FFFC00000000
-03FFFC0000000003FFFE0000000003FFFE03E0000003FFFE0FF8000003FFFE1FFC000003
-FFFE3FFE000003FFFE7FFF000003FFFEFFFF800003FFFEFFFF800003FFFEFFFF800003FF
-FEFFFF800003FFFCFFFF800003FFFCFFFF800007FFFCFFFF800007FFF8FFFF000007FFF8
-7FFF000007FFF07FFE00000FFFF03FFC00000FFFE03FF000001FFFC01FE000003FFF800F
-F800007FFF0007FF0000FFFE0003FFF007FFFC0000FFFFFFFFF000007FFFFFFFE000001F
-FFFFFF80000003FFFFFC000000001FFF800000374F7ACD43>I<00000000007C00000000
-000000FE00000000000000FE00000000000001FE00000000000003FE00000000000007FE
-0000000000000FFE0000000000000FFE0000000000001FFE0000000000003FFE00000000
-00007FFE0000000000007FFE000000000000FFFE000000000001FFFE000000000003FFFE
-000000000003FFFE000000000007FFFE00000000000FFFFE00000000001FBFFE00000000
-003F3FFE00000000003E3FFE00000000007C3FFE0000000000FC3FFE0000000001F83FFE
-0000000001F03FFE0000000003E03FFE0000000007E03FFE000000000FC03FFE00000000
-0F803FFE000000001F003FFE000000003F003FFE000000007E003FFE000000007C003FFE
-00000000F8003FFE00000001F8003FFE00000003F0003FFE00000007E0003FFE00000007
-C0003FFE0000000F80003FFE0000001F80003FFE0000003F00003FFE0000003E00003FFE
-0000007C00003FFE000000FC00003FFE000001F800003FFE000001F000003FFE000003E0
-00003FFE000007E000003FFE00000FC000003FFE00001F8000003FFE00001F0000003FFE
-00003E0000003FFE00007E0000003FFE0000FC0000003FFE0000FFFFFFFFFFFFFFC0FFFF
-FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0000000007FFE
-0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000
-00007FFE0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE
-0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000
-00007FFE000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF
-FFC000000FFFFFFFFFC03A4F7CCE43>I<03800000000E0007E00000007E0007FE000003
-FE0007FFF0007FFE0007FFFFFFFFFC0007FFFFFFFFF80007FFFFFFFFF00007FFFFFFFFE0
-0007FFFFFFFFC00007FFFFFFFF800007FFFFFFFF000007FFFFFFFE000007FFFFFFFC0000
-07FFFFFFF0000007FFFFFFC0000007FFFFFF00000007FFFFF800000007E1FF0000000007
-E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E0
-000000000007E0000000000007E0000000000007E0000000000007E0000000000007E000
-0000000007E00FFF00000007E07FFFF0000007E3FFFFFE000007E7FFFFFF800007FFF807
-FFC00007FFC001FFE00007FE0000FFF80007FC00007FFC0007F800003FFC0007F000003F
-FE0007E000001FFF0003C000001FFF80000000001FFF80000000001FFFC0000000000FFF
-C0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFF0
-000000000FFFF0000000000FFFF00FE000000FFFF01FF000000FFFF03FF800000FFFF07F
-FC00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE
-00000FFFE0FFFE00000FFFE0FFFE00000FFFE0FFFC00000FFFE07FF800001FFFC07FF000
-001FFFC07FE000001FFF803E0000003FFF803F0000003FFF001F8000007FFE001FC00000
-7FFC000FE00000FFF80007F80001FFF00003FE0007FFE00001FFC03FFFC00000FFFFFFFF
-8000003FFFFFFE0000001FFFFFF800000003FFFFC0000000007FF8000000344F79CD43>
-I<0000000FFF0000000000FFFFE000000007FFFFF00000001FFFFFFC0000007FFE03FE00
-0001FFF0007F000003FFC0003F800007FF00001F80000FFE00007FC0001FFC0000FFC000
-3FF80001FFE0007FF00003FFE000FFF00007FFE001FFE00007FFE001FFE00007FFE003FF
-C00007FFE007FFC00007FFE007FFC00007FFE00FFFC00003FFC00FFF800001FF801FFF80
-0000FF001FFF8000007E001FFF80000000003FFF80000000003FFF80000000003FFF0000
-0000007FFF00000000007FFF00000000007FFF00080000007FFF01FFF800007FFF07FFFF
-0000FFFF0FFFFFC000FFFF1FFFFFF000FFFF3F007FF800FFFF3C003FFC00FFFF78001FFE
-00FFFFF0000FFF00FFFFF00007FF80FFFFE00007FFC0FFFFE00007FFC0FFFFC00007FFE0
-FFFFC00003FFF0FFFF800003FFF0FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FF
-FF800003FFF8FFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000003FFFC7FFF
-000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC3FFF00
-0003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC1FFF000003FFF81FFF8000
-03FFF81FFF800003FFF80FFF800003FFF80FFF800003FFF007FF800007FFF007FF800007
-FFE003FFC00007FFC001FFC00007FFC001FFE0000FFF8000FFF0000FFF00007FF8001FFE
-00003FFC007FFC00001FFF01FFF800000FFFFFFFF0000003FFFFFFC0000000FFFFFF0000
-00003FFFFC0000000007FFC00000364F7ACD43>I<1F000000000000001F800000000000
-001FC00000000000001FFF8000000000001FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFF
-FFFFFFFF801FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF003FFFFFFFFFFFFE
-003FFFFFFFFFFFFC003FFFFFFFFFFFF8003FFFFFFFFFFFF8003FFFFFFFFFFFF0003FFFFF
-FFFFFFE0003FFFFFFFFFFFC0007FFFFFFFFFFF80007F800000007F00007E00000000FF00
-007E00000001FE00007C00000003FC00007C00000003F800007C00000007F000007C0000
-000FF000007C0000001FE00000F80000003FC00000F80000007F800000F80000007F0000
-00F8000000FE00000000000001FE00000000000003FC00000000000003F8000000000000
-07F00000000000000FF00000000000001FE00000000000001FE00000000000003FC00000
-000000003FC00000000000007F80000000000000FF80000000000000FF80000000000001
-FF00000000000001FF00000000000003FF00000000000003FE00000000000007FE000000
-00000007FE0000000000000FFE0000000000000FFE0000000000000FFC0000000000001F
-FC0000000000001FFC0000000000003FFC0000000000003FFC0000000000003FFC000000
-0000003FFC0000000000007FFC0000000000007FF80000000000007FF80000000000007F
-F8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000
-000000FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FF
-F8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000
-000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000000FF
-F0000000000000FFF00000000000003FC00000000000001F8000000000395279D043>I<
-000007FFC0000000007FFFFC00000003FFFFFF8000000FFFFFFFE000001FFC01FFF80000
-3FE0003FFC00007F80000FFE0000FF000007FF0001FE000003FF0003FC000001FF8007FC
-000001FFC007F8000000FFC00FF8000000FFC00FF8000000FFE00FF80000007FE00FF800
-00007FE01FF80000007FE01FFC0000007FE01FFC0000007FE01FFE0000007FE01FFF0000
-007FE01FFF800000FFE01FFFE00000FFC01FFFF80000FFC01FFFFE0001FF800FFFFF0001
-FF800FFFFFC003FF000FFFFFF007FE0007FFFFF807FC0007FFFFFE1FF80003FFFFFFBFF0
-0001FFFFFFFFE00001FFFFFFFF800000FFFFFFFE0000007FFFFFFF0000003FFFFFFF8000
-000FFFFFFFE0000007FFFFFFF0000001FFFFFFFC000007FFFFFFFE00001FFFFFFFFF0000
-3FFFFFFFFF8000FFE7FFFFFF8001FF81FFFFFFC003FF007FFFFFE007FE001FFFFFF00FFC
-000FFFFFF01FF80003FFFFF01FF80000FFFFF83FF000007FFFF83FF000001FFFF87FE000
-0007FFFC7FE0000001FFFC7FE0000000FFFCFFC00000007FFCFFC00000003FFCFFC00000
-003FFCFFC00000001FFCFFC00000001FFCFFC00000000FFCFFC00000000FFCFFC0000000
-0FF8FFC00000000FF8FFE00000000FF87FE00000000FF07FF00000001FF07FF00000001F
-F03FF80000003FE01FF80000003FC01FFC0000007FC00FFE000000FF8007FF800003FF00
-03FFE0000FFE0001FFFC00FFFC00007FFFFFFFF000003FFFFFFFE000000FFFFFFF800000
-01FFFFFC000000000FFFC00000364F7ACD43>I<00000FFF8000000000FFFFF800000003
-FFFFFE0000000FFFFFFF8000001FFF03FFC000007FF800FFE00000FFF0003FF00001FFE0
-001FF80003FFC0001FFC0007FFC0000FFE000FFF80000FFF000FFF800007FF001FFF8000
-07FF803FFF800007FF803FFF000007FFC07FFF000007FFC07FFF000003FFE07FFF000003
-FFE07FFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FF
-F8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8
-FFFF000003FFFCFFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000007FFFC7F
-FF000007FFFC7FFF000007FFFC3FFF000007FFFC3FFF000007FFFC3FFF00000FFFFC1FFF
-80000FFFFC0FFF80001FFFFC0FFF80001FFFFC07FF80003FFFFC03FFC0003FFFFC01FFE0
-007BFFFC00FFF000F3FFFC007FF803F3FFFC001FFFFFE3FFFC000FFFFFC3FFFC0003FFFF
-83FFF800007FFE03FFF80000004003FFF80000000003FFF80000000003FFF80000000003
-FFF00000000007FFF00000000007FFF00000000007FFF001F8000007FFE003FC000007FF
-E007FE000007FFC00FFF000007FFC01FFF80000FFF801FFF80000FFF801FFF80000FFF00
-1FFF80001FFF001FFF80001FFE001FFF80003FFC001FFF00003FFC000FFE00007FF8000F
-FC0000FFF0000FF80001FFE00007F00003FFC00003FC000FFF800003FF807FFE000001FF
-FFFFFC0000007FFFFFF00000003FFFFFC00000000FFFFE0000000000FFF0000000364F7A
-CD43>I<07F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF
-80FFFF807FFF003FFE001FFC000FF80007F0000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000007F0000FF8001FFC003FFE007FFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF
-80FFFF807FFF003FFE001FFC000FF80007F000113576B425>I<00000000001F00000000
-000000000000003F80000000000000000000007FC0000000000000000000007FC0000000
-00000000000000FFE000000000000000000000FFE000000000000000000000FFE0000000
-00000000000001FFF000000000000000000001FFF000000000000000000003FFF8000000
-00000000000003FFF800000000000000000003FFF800000000000000000007FFFC000000
-00000000000007FFFC00000000000000000007FFFC0000000000000000000FFFFE000000
-0000000000000FFFFE0000000000000000001FFFFF0000000000000000001FFFFF000000
-0000000000001FFFFF0000000000000000003FFFFF8000000000000000003F7FFF800000
-0000000000007F7FFFC000000000000000007E7FFFC000000000000000007E3FFFC00000
-000000000000FE3FFFE00000000000000000FC1FFFE00000000000000001FC1FFFF00000
-000000000001F81FFFF00000000000000001F80FFFF00000000000000003F80FFFF80000
-000000000003F007FFF80000000000000007F007FFFC0000000000000007E007FFFC0000
-000000000007E003FFFC000000000000000FE003FFFE000000000000000FC001FFFE0000
-00000000001FC001FFFF000000000000001F8001FFFF000000000000001F8000FFFF0000
-00000000003F8000FFFF800000000000003F00007FFF800000000000007F00007FFFC000
-00000000007E00007FFFC00000000000007E00003FFFC0000000000000FE00003FFFE000
-0000000000FC00001FFFE0000000000001FC00001FFFF0000000000001F800001FFFF000
-0000000001F800000FFFF0000000000003F800000FFFF8000000000003F0000007FFF800
-0000000007F0000007FFFC000000000007E0000007FFFC000000000007E0000003FFFC00
-000000000FFFFFFFFFFFFE00000000000FFFFFFFFFFFFE00000000001FFFFFFFFFFFFF00
-000000001FFFFFFFFFFFFF00000000001FFFFFFFFFFFFF00000000003F80000000FFFF80
-000000003F000000007FFF80000000007F000000007FFFC0000000007F000000007FFFC0
-000000007E000000003FFFC000000000FE000000003FFFE000000000FC000000001FFFE0
-00000001FC000000001FFFF000000001FC000000001FFFF000000001F8000000000FFFF0
-00000003F8000000000FFFF800000003F00000000007FFF800000007F00000000007FFFC
-00000007F00000000007FFFC00000007E00000000003FFFC0000000FE00000000003FFFE
-0000000FC00000000003FFFE0000001FC00000000001FFFF000000FFFC0000000001FFFF
-0000FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFF
-FFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE05B547BD366>65
-D<FFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFC00000FFFF
-FFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFC00000007FFF0000003FFFF00000007FFF000
-00007FFF80000007FFF00000003FFFC0000007FFF00000000FFFE0000007FFF000000007
-FFF0000007FFF000000007FFF8000007FFF000000003FFF8000007FFF000000003FFFC00
-0007FFF000000001FFFC000007FFF000000001FFFE000007FFF000000000FFFE000007FF
-F000000000FFFE000007FFF000000000FFFF000007FFF000000000FFFF000007FFF00000
-0000FFFF000007FFF000000000FFFF000007FFF000000000FFFF000007FFF000000000FF
-FF000007FFF000000000FFFF000007FFF000000000FFFF000007FFF000000001FFFE0000
-07FFF000000001FFFE000007FFF000000001FFFC000007FFF000000003FFFC000007FFF0
-00000003FFF8000007FFF000000007FFF8000007FFF000000007FFF0000007FFF0000000
-0FFFE0000007FFF00000001FFFC0000007FFF00000007FFF00000007FFF0000001FFFE00
-000007FFF0000007FFF800000007FFFFFFFFFFFFE000000007FFFFFFFFFFFF0000000007
-FFFFFFFFFFFF8000000007FFFFFFFFFFFFF000000007FFF0000003FFFE00000007FFF000
-00003FFF80000007FFF00000000FFFE0000007FFF000000007FFF0000007FFF000000001
-FFF8000007FFF000000001FFFC000007FFF000000000FFFE000007FFF0000000007FFF00
-0007FFF0000000007FFF800007FFF0000000003FFFC00007FFF0000000003FFFC00007FF
-F0000000001FFFE00007FFF0000000001FFFE00007FFF0000000001FFFE00007FFF00000
-00001FFFF00007FFF0000000001FFFF00007FFF0000000001FFFF00007FFF0000000000F
-FFF00007FFF0000000000FFFF00007FFF0000000000FFFF00007FFF0000000001FFFF000
-07FFF0000000001FFFF00007FFF0000000001FFFF00007FFF0000000001FFFE00007FFF0
-000000001FFFE00007FFF0000000003FFFE00007FFF0000000003FFFC00007FFF0000000
-003FFFC00007FFF0000000007FFF800007FFF000000000FFFF800007FFF000000000FFFF
-000007FFF000000001FFFE000007FFF000000007FFFE000007FFF00000000FFFFC000007
-FFF00000003FFFF0000007FFF0000001FFFFE000FFFFFFFFFFFFFFFFFF8000FFFFFFFFFF
-FFFFFFFF0000FFFFFFFFFFFFFFFFF80000FFFFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFF8
-00000054527CD160>I<0000000001FFFC000001C0000000007FFFFFC00003C000000007
-FFFFFFF80007C00000003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFFE003
-FFC07FC000000FFFFC00003FF0FFC000003FFFE000000FF9FFC000007FFF80000003FFFF
-C00001FFFE00000000FFFFC00003FFF8000000007FFFC00007FFF0000000003FFFC0000F
-FFE0000000001FFFC0001FFFC0000000000FFFC0003FFF800000000007FFC0007FFF0000
-00000003FFC000FFFE000000000001FFC000FFFE000000000001FFC001FFFC0000000000
-00FFC003FFF8000000000000FFC003FFF80000000000007FC007FFF00000000000007FC0
-0FFFF00000000000003FC00FFFF00000000000003FC01FFFE00000000000001FC01FFFE0
-0000000000001FC01FFFE00000000000001FC03FFFC00000000000001FC03FFFC0000000
-0000000FC03FFFC00000000000000FC07FFFC00000000000000FC07FFFC0000000000000
-0FC07FFFC000000000000000007FFF8000000000000000007FFF800000000000000000FF
-FF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF8000
-00000000000000FFFF800000000000000000FFFF800000000000000000FFFF8000000000
-00000000FFFF800000000000000000FFFF800000000000000000FFFF8000000000000000
-00FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF
-8000000000000000007FFF8000000000000000007FFF8000000000000000007FFFC00000
-0000000000007FFFC000000000000000007FFFC000000000000007C03FFFC00000000000
-0007C03FFFC000000000000007C03FFFC000000000000007C01FFFE000000000000007C0
-1FFFE000000000000007C01FFFE00000000000000FC00FFFF00000000000000F800FFFF0
-0000000000000F8007FFF00000000000001F8003FFF80000000000001F8003FFF8000000
-0000001F0001FFFC0000000000003F0000FFFE0000000000007E0000FFFE000000000000
-7E00007FFF000000000000FC00003FFF800000000001F800001FFFC00000000003F80000
-0FFFE00000000007F0000007FFF0000000000FE0000003FFFC000000001FC0000001FFFE
-000000007F800000007FFF80000000FF000000003FFFE0000007FE000000000FFFFE0000
-1FF80000000003FFFFE001FFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF0000
-0000000007FFFFFFFC000000000000007FFFFFE00000000000000001FFFC000000005254
-79D261>I<FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFF
-FF80000000FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFC0000000007FFF000000F
-FFFF0000000007FFF0000000FFFFC000000007FFF00000001FFFE000000007FFF0000000
-07FFF800000007FFF000000001FFFC00000007FFF000000000FFFE00000007FFF0000000
-007FFF00000007FFF0000000003FFF80000007FFF0000000001FFFC0000007FFF0000000
-000FFFC0000007FFF00000000007FFE0000007FFF00000000003FFF0000007FFF0000000
-0003FFF8000007FFF00000000001FFF8000007FFF00000000001FFFC000007FFF0000000
-0000FFFC000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF0000000
-00007FFF000007FFF000000000007FFF000007FFF000000000007FFF000007FFF0000000
-00007FFF800007FFF000000000003FFF800007FFF000000000003FFF800007FFF0000000
-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF0000000
-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFE00007FFF0000000
-00003FFFE00007FFF000000000003FFFE00007FFF000000000001FFFE00007FFF0000000
-00001FFFE00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF0000000
-00001FFFE00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF0000000
-00001FFFE00007FFF000000000001FFFE00007FFF000000000003FFFE00007FFF0000000
-00003FFFE00007FFF000000000003FFFE00007FFF000000000003FFFC00007FFF0000000
-00003FFFC00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF0000000
-00003FFFC00007FFF000000000003FFF800007FFF000000000003FFF800007FFF0000000
-00007FFF800007FFF000000000007FFF000007FFF000000000007FFF000007FFF0000000
-00007FFF000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF0000000
-0000FFFC000007FFF00000000001FFFC000007FFF00000000001FFF8000007FFF0000000
-0003FFF0000007FFF00000000007FFF0000007FFF00000000007FFE0000007FFF0000000
-000FFFC0000007FFF0000000001FFF80000007FFF0000000003FFF00000007FFF0000000
-00FFFE00000007FFF000000001FFFC00000007FFF000000007FFF800000007FFF0000000
-1FFFF000000007FFF0000000FFFFC000000007FFF000000FFFFF000000FFFFFFFFFFFFFF
-FFFE000000FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFF
-FC00000000FFFFFFFFFFFFFF80000000005B527CD167>I<FFFFFFFFFFFFFFFFFF80FFFF
-FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF
-FF800007FFF8000001FFFFC00007FFF80000001FFFC00007FFF800000007FFC00007FFF8
-00000001FFC00007FFF800000000FFC00007FFF8000000007FC00007FFF8000000003FC0
-0007FFF8000000001FC00007FFF8000000001FC00007FFF8000000000FE00007FFF80000
-00000FE00007FFF80000000007E00007FFF80000000007E00007FFF80000000007E00007
-FFF80000000003E00007FFF80000000003E00007FFF80000000003E00007FFF80000F800
-03E00007FFF80000F80003F00007FFF80000F80001F00007FFF80000F80001F00007FFF8
-0000F80001F00007FFF80000F80001F00007FFF80000F80000000007FFF80001F8000000
-0007FFF80001F80000000007FFF80001F80000000007FFF80003F80000000007FFF80007
-F80000000007FFF8000FF80000000007FFF8007FF80000000007FFFFFFFFF80000000007
-FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF800
-00000007FFF8007FF80000000007FFF8000FF80000000007FFF80007F80000000007FFF8
-0003F80000000007FFF80001F80000000007FFF80001F80000000007FFF80001F8000000
-0007FFF80000F80000000007FFF80000F800003E0007FFF80000F800003E0007FFF80000
-F800003E0007FFF80000F800007C0007FFF80000F800007C0007FFF80000F800007C0007
-FFF800000000007C0007FFF800000000007C0007FFF80000000000FC0007FFF800000000
-00FC0007FFF80000000000F80007FFF80000000000F80007FFF80000000001F80007FFF8
-0000000001F80007FFF80000000001F80007FFF80000000003F80007FFF80000000003F0
-0007FFF80000000007F00007FFF8000000000FF00007FFF8000000000FF00007FFF80000
-00001FF00007FFF8000000003FF00007FFF8000000007FE00007FFF800000001FFE00007
-FFF800000007FFE00007FFF80000001FFFE00007FFF8000003FFFFE0FFFFFFFFFFFFFFFF
-FFE0FFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFF
-FFFFFFFFFFC04F517CD058>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFF
-FFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE000007FFF8000007FFFF
-000007FFF80000007FFF000007FFF80000001FFF000007FFF800000007FF000007FFF800
-000003FF000007FFF800000001FF000007FFF800000000FF000007FFF8000000007F0000
-07FFF8000000003F000007FFF8000000003F800007FFF8000000003F800007FFF8000000
-001F800007FFF8000000001F800007FFF8000000001F800007FFF8000000000F800007FF
-F8000000000F800007FFF8000000000F800007FFF8000000000F800007FFF8000000000F
-C00007FFF80000F80007C00007FFF80000F80007C00007FFF80000F80007C00007FFF800
-00F80007C00007FFF80000F80000000007FFF80000F80000000007FFF80000F800000000
-07FFF80001F80000000007FFF80001F80000000007FFF80001F80000000007FFF80003F8
-0000000007FFF80007F80000000007FFF8000FF80000000007FFF8007FF80000000007FF
-FFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000
-000007FFFFFFFFF80000000007FFF8007FF80000000007FFF8000FF80000000007FFF800
-07F80000000007FFF80003F80000000007FFF80001F80000000007FFF80001F800000000
-07FFF80001F80000000007FFF80000F80000000007FFF80000F80000000007FFF80000F8
-0000000007FFF80000F80000000007FFF80000F80000000007FFF80000F80000000007FF
-F80000F80000000007FFF80000000000000007FFF80000000000000007FFF80000000000
-000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800
-00000000000007FFF80000000000000007FFF80000000000000007FFF800000000000000
-07FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8000000
-0000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FF
-F80000000000000007FFF8000000000000FFFFFFFFFFF800000000FFFFFFFFFFF8000000
-00FFFFFFFFFFF800000000FFFFFFFFFFF800000000FFFFFFFFFFF8000000004A517CD055
->I<0000000001FFFC000001C000000000007FFFFFC00003C00000000007FFFFFFF80007
-C0000000003FFFFFFFFE001FC000000000FFFFFFFFFF803FC000000003FFFFE003FFC07F
-C00000000FFFFC00003FF0FFC00000003FFFE000000FF9FFC00000007FFF80000003FFFF
-C0000001FFFE00000000FFFFC0000003FFF8000000007FFFC0000007FFF0000000003FFF
-C000000FFFE0000000001FFFC000001FFFC0000000000FFFC000003FFF800000000007FF
-C000007FFF000000000003FFC00000FFFE000000000001FFC00000FFFE000000000001FF
-C00001FFFC000000000000FFC00003FFF8000000000000FFC00003FFF80000000000007F
-C00007FFF00000000000007FC0000FFFF00000000000003FC0000FFFF00000000000003F
-C0001FFFE00000000000001FC0001FFFE00000000000001FC0001FFFE00000000000001F
-C0003FFFC00000000000001FC0003FFFC00000000000000FC0003FFFC00000000000000F
-C0007FFFC00000000000000FC0007FFFC00000000000000FC0007FFFC000000000000000
-00007FFF800000000000000000007FFF80000000000000000000FFFF8000000000000000
-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000
-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000
-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000
-0000FFFF80000000000000000000FFFF80000000000000000000FFFF8000000000000000
-0000FFFF800000000000000000007FFF800000007FFFFFFFFFE07FFF800000007FFFFFFF
-FFE07FFFC00000007FFFFFFFFFE07FFFC00000007FFFFFFFFFE07FFFC00000007FFFFFFF
-FFE03FFFC000000000003FFFC0003FFFC000000000003FFFC0003FFFC000000000003FFF
-C0001FFFE000000000003FFFC0001FFFE000000000003FFFC0001FFFE000000000003FFF
-C0000FFFF000000000003FFFC0000FFFF000000000003FFFC00007FFF000000000003FFF
-C00003FFF800000000003FFFC00003FFF800000000003FFFC00001FFFC00000000003FFF
-C00000FFFE00000000003FFFC00000FFFE00000000003FFFC000007FFF00000000003FFF
-C000003FFF80000000003FFFC000001FFFC0000000003FFFC000000FFFE0000000007FFF
-C0000007FFF0000000007FFFC0000003FFFC00000000FFFFC0000001FFFF00000000FFFF
-C00000007FFF80000001FFFFC00000003FFFF0000007FBFFC00000000FFFFE00001FF1FF
-C000000003FFFFF001FFE0FFC000000000FFFFFFFFFFC07FC0000000003FFFFFFFFF001F
-C00000000007FFFFFFFC0007C000000000007FFFFFE00001C0000000000001FFFE000000
-00005B5479D26A>I<FFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFF
-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFF0007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFFFFFFFFFFFFFFFE0000007FF
-FFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFFE0000007FF
-FFFFFFFFFFFFFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE0000007FF
-F8000000001FFFE0000007FFF8000000001FFFE0000007FFF8000000001FFFE000FFFFFF
-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFFFFFFFF
-FFFFC003FFFFFFFFFFFFFFFFFFFFC003FFFFFFFFFF60527CD169>I<FFFFFFFFFFC0FFFF
-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC00007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF80000FFFFFFFFFFC0FFFFFFFFFFC0FFFF
-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A527CD132>I<FFFFFFFFFFF8000000FFFFFFFF
-FFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF80000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF800000000000007FFF800000000000007FFF800000000000007FFF8
-00000000000007FFF8000000007C0007FFF8000000007C0007FFF8000000007C0007FFF8
-000000007C0007FFF800000000FC0007FFF800000000F80007FFF800000000F80007FFF8
-00000000F80007FFF800000000F80007FFF800000000F80007FFF800000001F80007FFF8
-00000001F80007FFF800000001F80007FFF800000003F80007FFF800000003F80007FFF8
-00000007F80007FFF800000007F00007FFF80000000FF00007FFF80000000FF00007FFF8
-0000001FF00007FFF80000003FF00007FFF80000007FF00007FFF8000000FFF00007FFF8
-000003FFF00007FFF8000007FFF00007FFF800003FFFF00007FFF80001FFFFF0FFFFFFFF
-FFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFF
-FFFFFFFFE046527CD151>76 D<FFFFFFFC000000000000003FFFFFFEFFFFFFFE00000000
-0000007FFFFFFEFFFFFFFE000000000000007FFFFFFEFFFFFFFF00000000000000FFFFFF
-FEFFFFFFFF00000000000000FFFFFFFE0007FFFF00000000000000FFFFC0000007FFFF80
-000000000001EFFFC0000007FFFF80000000000001EFFFC0000007EFFFC0000000000003
-CFFFC0000007EFFFC0000000000003CFFFC0000007E7FFE00000000000078FFFC0000007
-E7FFE00000000000078FFFC0000007E3FFF000000000000F0FFFC0000007E3FFF0000000
-00000F0FFFC0000007E1FFF800000000001E0FFFC0000007E1FFF800000000001E0FFFC0
-000007E1FFF800000000001E0FFFC0000007E0FFFC00000000003C0FFFC0000007E0FFFC
-00000000003C0FFFC0000007E07FFE0000000000780FFFC0000007E07FFE000000000078
-0FFFC0000007E03FFF0000000000F00FFFC0000007E03FFF0000000000F00FFFC0000007
-E01FFF8000000001E00FFFC0000007E01FFF8000000001E00FFFC0000007E00FFFC00000
-0003C00FFFC0000007E00FFFC000000003C00FFFC0000007E00FFFC000000003C00FFFC0
-000007E007FFE000000007800FFFC0000007E007FFE000000007800FFFC0000007E003FF
-F00000000F000FFFC0000007E003FFF00000000F000FFFC0000007E001FFF80000001E00
-0FFFC0000007E001FFF80000001E000FFFC0000007E000FFFC0000003C000FFFC0000007
-E000FFFC0000003C000FFFC0000007E000FFFC0000003C000FFFC0000007E0007FFE0000
-0078000FFFC0000007E0007FFE00000078000FFFC0000007E0003FFF000000F0000FFFC0
-000007E0003FFF000000F0000FFFC0000007E0001FFF800001E0000FFFC0000007E0001F
-FF800001E0000FFFC0000007E0000FFFC00003C0000FFFC0000007E0000FFFC00003C000
-0FFFC0000007E00007FFE0000780000FFFC0000007E00007FFE0000780000FFFC0000007
-E00007FFE0000780000FFFC0000007E00003FFF0000F00000FFFC0000007E00003FFF000
-0F00000FFFC0000007E00001FFF8001E00000FFFC0000007E00001FFF8001E00000FFFC0
-000007E00000FFFC003C00000FFFC0000007E00000FFFC003C00000FFFC0000007E00000
-7FFE007800000FFFC0000007E000007FFE007800000FFFC0000007E000007FFE00780000
-0FFFC0000007E000003FFF00F000000FFFC0000007E000003FFF00F000000FFFC0000007
-E000001FFF81E000000FFFC0000007E000001FFF81E000000FFFC0000007E000000FFFC3
-C000000FFFC0000007E000000FFFC3C000000FFFC0000007E0000007FFE78000000FFFC0
-000007E0000007FFE78000000FFFC0000007E0000003FFFF0000000FFFC0000007E00000
-03FFFF0000000FFFC0000007E0000003FFFF0000000FFFC0000007E0000001FFFE000000
-0FFFC0000007E0000001FFFE0000000FFFC0000007E0000000FFFC0000000FFFC0000007
-E0000000FFFC0000000FFFC0000007E00000007FF80000000FFFC0000007E00000007FF8
-0000000FFFC0000007E00000003FF00000000FFFC0000007E00000003FF00000000FFFC0
-00003FFC0000001FE00000000FFFC000FFFFFFFF00001FE00001FFFFFFFFFEFFFFFFFF00
-001FE00001FFFFFFFFFEFFFFFFFF00000FC00001FFFFFFFFFEFFFFFFFF00000FC00001FF
-FFFFFFFEFFFFFFFF000007800001FFFFFFFFFE77527CD180>I<000000000FFFC0000000
-0000000003FFFFFF000000000000001FFFFFFFE0000000000000FFFFFFFFFC0000000000
-03FFFC00FFFF00000000000FFFC0000FFFC0000000003FFF000003FFF0000000007FFC00
-0000FFF800000001FFF80000007FFE00000003FFE00000001FFF00000007FFC00000000F
-FF8000000FFF8000000007FFC000001FFF0000000003FFE000003FFF0000000003FFF000
-007FFE0000000001FFF80000FFFC0000000000FFFC0000FFFC0000000000FFFC0001FFF8
-00000000007FFE0003FFF800000000007FFF0003FFF000000000003FFF0007FFF0000000
-00003FFF8007FFE000000000001FFF800FFFE000000000001FFFC00FFFE000000000001F
-FFC01FFFE000000000001FFFE01FFFC000000000000FFFE01FFFC000000000000FFFE03F
-FFC000000000000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF07FFF8000
-0000000007FFF87FFF80000000000007FFF87FFF80000000000007FFF87FFF8000000000
-0007FFF87FFF80000000000007FFF8FFFF80000000000007FFFCFFFF80000000000007FF
-FCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF
-80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000
-00000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF800000000000
-07FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC
-7FFF80000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF87FFFC0
-00000000000FFFF87FFFC000000000000FFFF83FFFC000000000000FFFF03FFFC0000000
-00000FFFF03FFFE000000000001FFFF01FFFE000000000001FFFE01FFFE000000000001F
-FFE01FFFE000000000001FFFE00FFFF000000000003FFFC00FFFF000000000003FFFC007
-FFF800000000007FFF8007FFF800000000007FFF8003FFF800000000007FFF0001FFFC00
-00000000FFFE0001FFFE0000000001FFFE0000FFFE0000000001FFFC00007FFF00000000
-03FFF800003FFF8000000007FFF000001FFFC00000000FFFE000000FFFE00000001FFFC0
-000007FFF00000003FFF80000003FFF80000007FFF00000001FFFC000000FFFE00000000
-FFFF000003FFFC000000003FFFE0001FFFF0000000000FFFFC00FFFFC00000000003FFFF
-FFFFFF000000000000FFFFFFFFFC0000000000001FFFFFFFE000000000000003FFFFFF00
-000000000000001FFFE000000000565479D265>79 D<FFFFFFFFFFFFFF000000FFFFFFFF
-FFFFFFF80000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFF000
-0007FFF000001FFFFC000007FFF0000001FFFF000007FFF00000007FFF800007FFF00000
-003FFFC00007FFF00000000FFFE00007FFF00000000FFFF00007FFF000000007FFF00007
-FFF000000003FFF80007FFF000000003FFFC0007FFF000000003FFFC0007FFF000000001
-FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007FFF0
-00000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF
-0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF00000
-0001FFFF0007FFF000000001FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007
-FFF000000001FFFC0007FFF000000003FFFC0007FFF000000003FFFC0007FFF000000003
-FFF80007FFF000000007FFF00007FFF00000000FFFE00007FFF00000001FFFE00007FFF0
-0000003FFFC00007FFF00000007FFF000007FFF0000001FFFE000007FFF000001FFFFC00
-0007FFFFFFFFFFFFF0000007FFFFFFFFFFFFC0000007FFFFFFFFFFFE00000007FFFFFFFF
-FFE000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007
-FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800000000
-00000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8
-0000000000000007FFF80000000000000007FFF80000000000000007FFF8000000000000
-0007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF80000
-000000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007
-FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800000000
-00000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8
-0000000000000007FFF80000000000000007FFF80000000000000007FFF8000000000000
-FFFFFFFFFFC000000000FFFFFFFFFFC000000000FFFFFFFFFFC000000000FFFFFFFFFFC0
-00000000FFFFFFFFFFC00000000050527CD15C>I<000000000FFFC00000000000000003
-FFFFFF000000000000001FFFFFFFE0000000000000FFFFFFFFFC000000000003FFFC00FF
-FF00000000000FFFC0000FFFC0000000003FFF000003FFF0000000007FFC000000FFF800
-000001FFF00000003FFE00000003FFE00000001FFF00000007FFC00000000FFF8000000F
-FF8000000007FFC000001FFF0000000003FFE000003FFE0000000001FFF000007FFC0000
-000000FFF80000FFFC0000000000FFFC0000FFF800000000007FFC0001FFF80000000000
-7FFE0003FFF000000000003FFF0003FFF000000000003FFF0007FFE000000000001FFF80
-07FFE000000000001FFF800FFFE000000000001FFFC00FFFC000000000000FFFC01FFFC0
-00000000000FFFE01FFFC000000000000FFFE01FFF80000000000007FFE03FFF80000000
-000007FFF03FFF80000000000007FFF03FFF80000000000007FFF07FFF80000000000007
-FFF87FFF80000000000007FFF87FFF00000000000003FFF87FFF00000000000003FFF87F
-FF00000000000003FFF8FFFF00000000000003FFFCFFFF00000000000003FFFCFFFF0000
-0000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF0000000000
-0003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FF
-FCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFCFFFF
-00000000000003FFFCFFFF00000000000003FFFCFFFF00000000000003FFFC7FFF000000
-00000003FFF87FFF00000000000003FFF87FFF80000000000007FFF87FFF800000000000
-07FFF87FFF80000000000007FFF83FFF80000000000007FFF03FFF80000000000007FFF0
-3FFF80000000000007FFF01FFFC000000000000FFFE01FFFC000000000000FFFE01FFFC0
-00000000000FFFE00FFFC000000000000FFFC00FFFE000000000001FFFC007FFE0000000
-00001FFF8007FFF000000000003FFF8003FFF00001FE00003FFF0001FFF80007FF80007F
-FE0001FFF8000FFFE0007FFE0000FFFC003FFFF000FFFC00007FFC007F03F800FFF80000
-3FFE007C00FC01FFF000001FFF00F8007E03FFE000000FFF80F8003F07FFC0000007FFC0
-F0001F8FFF80000003FFE0F0001F9FFF00000001FFF0F0000FFFFE00000000FFFCF8000F
-FFFC000000003FFFF80007FFF0000000000FFFFC000FFFC00000000003FFFF00FFFF0000
-00000000FFFFFFFFFC0000000000001FFFFFFFFC00000C00000003FFFFFFFC00001E0000
-00001FFFE3FE00001E00000000000001FF00001E00000000000001FF80003E0000000000
-0001FFC0007E00000000000001FFE000FE00000000000001FFF807FE00000000000000FF
-FFFFFE00000000000000FFFFFFFC00000000000000FFFFFFFC000000000000007FFFFFFC
-000000000000007FFFFFFC000000000000007FFFFFF8000000000000007FFFFFF8000000
-000000003FFFFFF8000000000000003FFFFFF0000000000000001FFFFFE0000000000000
-001FFFFFE0000000000000000FFFFFC00000000000000007FFFF800000000000000003FF
-FF000000000000000001FFFE0000000000000000007FF80000000000000000001FE00057
-6A79D265>I<FFFFFFFFFFFFF00000000000FFFFFFFFFFFFFF8000000000FFFFFFFFFFFF
-FFF800000000FFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFC00000000007FFF00000
-FFFFF00000000007FFF000000FFFF80000000007FFF0000001FFFE0000000007FFF00000
-00FFFF0000000007FFF00000007FFF8000000007FFF00000003FFFC000000007FFF00000
-001FFFC000000007FFF00000000FFFE000000007FFF00000000FFFF000000007FFF00000
-000FFFF000000007FFF000000007FFF800000007FFF000000007FFF800000007FFF00000
-0007FFF800000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000
-0007FFFC00000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000
-0007FFFC00000007FFF000000007FFFC00000007FFF000000007FFFC00000007FFF00000
-0007FFF800000007FFF000000007FFF800000007FFF00000000FFFF800000007FFF00000
-000FFFF000000007FFF00000000FFFE000000007FFF00000000FFFE000000007FFF00000
-001FFFC000000007FFF00000003FFF8000000007FFF00000007FFF0000000007FFF00000
-00FFFE0000000007FFF0000003FFFC0000000007FFF000000FFFF00000000007FFF00000
-FFFFC00000000007FFFFFFFFFFFF000000000007FFFFFFFFFFF8000000000007FFFFFFFF
-FFE0000000000007FFFFFFFFFFF8000000000007FFF00003FFFE000000000007FFF00000
-7FFF800000000007FFF000003FFFC00000000007FFF000001FFFE00000000007FFF00000
-0FFFF00000000007FFF0000007FFF80000000007FFF0000003FFFC0000000007FFF00000
-03FFFE0000000007FFF0000001FFFE0000000007FFF0000001FFFE0000000007FFF00000
-01FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF00000
-00FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF0000000007FFF00000
-00FFFF0000000007FFF0000000FFFF0000000007FFF0000000FFFF8000000007FFF00000
-00FFFF8000000007FFF0000000FFFF8000000007FFF0000000FFFF8000000007FFF00000
-00FFFF8000000007FFF0000000FFFF8000000007FFF0000000FFFF8000000007FFF00000
-00FFFF80001C0007FFF0000000FFFFC0003E0007FFF0000000FFFFC0003E0007FFF00000
-00FFFFC0003E0007FFF00000007FFFC0003E0007FFF00000007FFFE0007E0007FFF00000
-003FFFE0007C0007FFF00000003FFFF000FC0007FFF00000001FFFF001FCFFFFFFFFFF80
-000FFFF803F8FFFFFFFFFF800003FFFE07F0FFFFFFFFFF800001FFFFFFE0FFFFFFFFFF80
-00007FFFFFC0FFFFFFFFFF8000000FFFFF000000000000000000007FFC005F537CD164>
-I<00000FFF800007000000FFFFF8000F000007FFFFFF001F00001FFFFFFFC03F00003FFF
-FFFFF07F0000FFFC00FFF8FF0001FFE0000FFDFF0003FF800001FFFF0007FE0000007FFF
-000FFC0000003FFF000FF80000000FFF001FF800000007FF001FF000000003FF003FF000
-000003FF003FE000000001FF007FE000000000FF007FE000000000FF007FE0000000007F
-00FFE0000000007F00FFE0000000003F00FFE0000000003F00FFF0000000003F00FFF000
-0000003F00FFF8000000001F00FFF8000000001F00FFFC000000001F00FFFE000000001F
-00FFFF000000000000FFFFC000000000007FFFF000000000007FFFFF00000000007FFFFF
-F8000000003FFFFFFF800000003FFFFFFFFC0000001FFFFFFFFFC000001FFFFFFFFFF000
-000FFFFFFFFFFC000007FFFFFFFFFF000003FFFFFFFFFFC00001FFFFFFFFFFE00000FFFF
-FFFFFFF000007FFFFFFFFFF800003FFFFFFFFFFC00000FFFFFFFFFFE000003FFFFFFFFFE
-000000FFFFFFFFFF0000001FFFFFFFFF80000000FFFFFFFF800000000FFFFFFFC0000000
-007FFFFFC00000000007FFFFE00000000000FFFFE000000000003FFFE000000000000FFF
-F0000000000007FFF0000000000003FFF0000000000003FFF0780000000001FFF0F80000
-000000FFF0F80000000000FFF0F80000000000FFF0F800000000007FF0F800000000007F
-F0FC00000000007FF0FC00000000007FF0FC00000000007FE0FE00000000007FE0FE0000
-0000007FE0FF0000000000FFC0FF0000000000FFC0FF8000000000FFC0FFC000000001FF
-80FFE000000001FF00FFF000000003FF00FFFC00000007FE00FFFF0000000FFC00FFFFC0
-00001FF800FFFFF800007FF000FF1FFFC003FFE000FE0FFFFFFFFFC000FC03FFFFFFFF00
-00F8007FFFFFFC0000F0000FFFFFF00000E000007FFF0000003C5479D24B>I<3FFFFFFF
-FFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFF
-FFFFFF803FFFFFFFFFFFFFFFFFFF803FFFC0003FFFC0007FFF803FFE00003FFFC00007FF
-807FF800003FFFC00001FFC07FE000003FFFC00000FFC07FC000003FFFC000007FC07F80
-00003FFFC000003FC07F0000003FFFC000001FC07F0000003FFFC000001FC07E0000003F
-FFC000000FC07E0000003FFFC000000FC07E0000003FFFC000000FC07C0000003FFFC000
-0007C07C0000003FFFC0000007C07C0000003FFFC0000007C07C0000003FFFC0000007C0
-7C0000003FFFC0000007C0FC0000003FFFC0000007E0F80000003FFFC0000003E0F80000
-003FFFC0000003E0F80000003FFFC0000003E0F80000003FFFC0000003E0F80000003FFF
-C0000003E0F80000003FFFC0000003E0000000003FFFC000000000000000003FFFC00000
-0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000
-0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000
-3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0
-00000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000
-00000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000
-00003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003F
-FFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000
-000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000
-000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000
-003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFF
-C000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000
-0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000
-0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000
-3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0
-000000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000
-000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF0000053517BD05E>I<FFFFFFFFFFC0
-0003FFFFFFFCFFFFFFFFFFC00003FFFFFFFCFFFFFFFFFFC00003FFFFFFFCFFFFFFFFFFC0
-0003FFFFFFFCFFFFFFFFFFC00003FFFFFFFC0007FFF80000000000FFF0000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000001F80000007FFF80000
-0000001F80000007FFF800000000001F80000007FFF800000000003F80000007FFF80000
-0000003F80000003FFF800000000003F00000003FFFC00000000003F00000003FFFC0000
-0000007F00000001FFFC00000000007F00000001FFFC00000000007E00000000FFFE0000
-000000FE00000000FFFE0000000001FC000000007FFF0000000001FC000000007FFF0000
-000003F8000000003FFF8000000007F8000000001FFF800000000FF0000000000FFFC000
-00001FE00000000007FFE00000003FC00000000003FFF80000007F800000000001FFFC00
-0003FF0000000000007FFF80000FFE0000000000003FFFF001FFF80000000000000FFFFF
-FFFFF000000000000003FFFFFFFFC0000000000000007FFFFFFF00000000000000000FFF
-FFF80000000000000000007FFF80000000005E537CD167>I<FFFFFFFFFE0000001FFFFF
-FEFFFFFFFFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFF
-FEFFFFFFFFFE0000001FFFFFFE001FFFF000000000003FFE00001FFFF0000000000007F0
-00000FFFF0000000000007E000000FFFF800000000000FE0000007FFF800000000000FC0
-000007FFFC00000000000FC0000007FFFC00000000001FC0000003FFFE00000000001F80
-000003FFFE00000000003F80000001FFFE00000000003F00000001FFFF00000000007F00
-000000FFFF00000000007E00000000FFFF80000000007E00000000FFFF8000000000FE00
-0000007FFFC000000000FC000000007FFFC000000001FC000000003FFFE000000001F800
-0000003FFFE000000003F8000000001FFFE000000003F0000000001FFFF000000007F000
-0000001FFFF000000007F0000000000FFFF800000007E0000000000FFFF80000000FE000
-00000007FFFC0000000FC00000000007FFFC0000001FC00000000003FFFC0000001F8000
-00000003FFFE0000003F800000000003FFFE0000003F800000000001FFFF0000003F0000
-00000001FFFF0000007F000000000000FFFF8000007E000000000000FFFF800000FE0000
-000000007FFF800000FC0000000000007FFFC00001FC0000000000007FFFC00001FC0000
-000000003FFFE00001F80000000000003FFFE00003F80000000000001FFFF00003F00000
-000000001FFFF00007F00000000000000FFFF00007E00000000000000FFFF8000FE00000
-000000000FFFF8000FE000000000000007FFFC000FC000000000000007FFFC001FC00000
-0000000003FFFE001F8000000000000003FFFE003F8000000000000001FFFE003F000000
-0000000001FFFF007F0000000000000001FFFF007F0000000000000000FFFF807E000000
-0000000000FFFF80FE00000000000000007FFFC0FC00000000000000007FFFC1FC000000
-00000000003FFFC1F800000000000000003FFFE3F800000000000000001FFFE3F0000000
-00000000001FFFF3F000000000000000001FFFF7F000000000000000000FFFFFE0000000
-00000000000FFFFFE0000000000000000007FFFFC0000000000000000007FFFFC0000000
-000000000003FFFF80000000000000000003FFFF80000000000000000003FFFF80000000
-000000000001FFFF00000000000000000001FFFF00000000000000000000FFFE00000000
-000000000000FFFE000000000000000000007FFC000000000000000000007FFC00000000
-0000000000007FFC000000000000000000003FF8000000000000000000003FF800000000
-0000000000001FF0000000000000000000001FF0000000000000000000000FE000000000
-00000000000007C000000000005F537DD166>I<FFFFFFFFFC007FFFFFFFFE0000FFFFFF
-F0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0FF
-FFFFFFFC007FFFFFFFFE0000FFFFFFF0FFFFFFFFFC007FFFFFFFFE0000FFFFFFF0003FFF
-C00000001FFFE000000000FFF800003FFFE00000001FFFF0000000000FC000001FFFE000
-00000FFFF0000000000F8000001FFFE00000000FFFF8000000000F8000001FFFF0000000
-0FFFF8000000001F8000000FFFF000000007FFF8000000001F0000000FFFF800000007FF
-FC000000001F0000000FFFF800000003FFFC000000003F00000007FFF800000003FFFC00
-0000003E00000007FFFC00000003FFFE000000003E00000003FFFC00000001FFFE000000
-007C00000003FFFC00000001FFFF000000007C00000003FFFE00000001FFFF00000000FC
-00000001FFFE00000001FFFF00000000F800000001FFFF00000003FFFF80000000F80000
-0001FFFF00000003FFFF80000001F800000000FFFF00000003FFFF80000001F000000000
-FFFF80000007FFFFC0000001F0000000007FFF80000007FFFFC0000003E0000000007FFF
-80000007FFFFE0000003E0000000007FFFC000000FFFFFE0000007E0000000003FFFC000
-000F9FFFE0000007C0000000003FFFE000001F9FFFF0000007C0000000003FFFE000001F
-0FFFF000000FC0000000001FFFE000001F0FFFF000000F80000000001FFFF000003F0FFF
-F800000F80000000000FFFF000003E07FFF800001F00000000000FFFF000003E07FFFC00
-001F00000000000FFFF800007E07FFFC00003F000000000007FFF800007C03FFFC00003E
-000000000007FFFC0000FC03FFFE00003E000000000007FFFC0000F801FFFE00007E0000
-00000003FFFC0000F801FFFE00007C000000000003FFFE0001F801FFFF00007C00000000
-0003FFFE0001F000FFFF0000FC000000000001FFFE0001F000FFFF8000F8000000000001
-FFFF0003F000FFFF8001F8000000000000FFFF0003E0007FFF8001F0000000000000FFFF
-0007E0007FFFC001F0000000000000FFFF8007C0003FFFC003F00000000000007FFF8007
-C0003FFFC003E00000000000007FFFC00FC0003FFFE003E00000000000007FFFC00F8000
-1FFFE007E00000000000003FFFC00F80001FFFF007C00000000000003FFFE01F80001FFF
-F00FC00000000000001FFFE01F00000FFFF00F800000000000001FFFE01F00000FFFF80F
-800000000000001FFFF03E000007FFF81F800000000000000FFFF03E000007FFF81F0000
-00000000000FFFF87E000007FFFC1F000000000000000FFFF87C000003FFFC3F00000000
-00000007FFF87C000003FFFE3E0000000000000007FFFCFC000003FFFE7E000000000000
-0003FFFCF8000001FFFE7C0000000000000003FFFCF8000001FFFF7C0000000000000003
-FFFFF0000000FFFFFC0000000000000001FFFFF0000000FFFFF80000000000000001FFFF
-F0000000FFFFF80000000000000001FFFFE00000007FFFF80000000000000000FFFFE000
-00007FFFF00000000000000000FFFFE00000007FFFF000000000000000007FFFC0000000
-3FFFE000000000000000007FFFC00000003FFFE000000000000000007FFF800000001FFF
-E000000000000000003FFF800000001FFFC000000000000000003FFF800000001FFFC000
-000000000000003FFF000000000FFFC000000000000000001FFF000000000FFF80000000
-00000000001FFF000000000FFF8000000000000000000FFE0000000007FF000000000000
-0000000FFE0000000007FF0000000000000000000FFE0000000007FF0000000000000000
-0007FC0000000003FE00000000000000000007FC0000000003FE00000000000000000007
-F80000000001FE00000000000000000003F80000000001FC00000000000000000003F800
-00000001FC00000000000000000001F00000000000F8000000000084537DD18B>I<FFFF
-FFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF
-80FFFFFFFFFF0000000FFFFFFF80FFFFFFFFFF0000000FFFFFFF80000FFFFC0000000000
-3FFF0000000FFFFE000000000007F800000007FFFF000000000007F000000003FFFF0000
-0000000FE000000003FFFF80000000000FE000000001FFFFC0000000001FC000000000FF
-FFC0000000003F8000000000FFFFE0000000003F80000000007FFFF0000000007F000000
-00003FFFF000000000FE00000000003FFFF800000000FE00000000001FFFFC00000001FC
-00000000000FFFFC00000003F800000000000FFFFE00000003F8000000000007FFFF0000
-0007F0000000000003FFFF0000000FE0000000000003FFFF8000000FE0000000000001FF
-FFC000001FC0000000000000FFFFC000003F80000000000000FFFFE000003F8000000000
-00007FFFF000007F000000000000003FFFF00000FF000000000000003FFFF80000FE0000
-00000000001FFFFC0001FC000000000000000FFFFC0003FC000000000000000FFFFE0003
-F80000000000000007FFFF0007F00000000000000003FFFF000FF00000000000000003FF
-FF800FE00000000000000001FFFFC01FC00000000000000000FFFFC03FC0000000000000
-0000FFFFE03F8000000000000000007FFFF07F0000000000000000003FFFF0FF00000000
-00000000003FFFF8FE0000000000000000001FFFFDFC0000000000000000000FFFFFFC00
-00000000000000000FFFFFF800000000000000000007FFFFF000000000000000000003FF
-FFF000000000000000000001FFFFE000000000000000000001FFFFC00000000000000000
-0000FFFFC0000000000000000000007FFF80000000000000000000007FFF000000000000
-00000000007FFF00000000000000000000007FFF00000000000000000000007FFF000000
-00000000000000007FFF00000000000000000000007FFF00000000000000000000007FFF
-00000000000000000000007FFF00000000000000000000007FFF00000000000000000000
-007FFF00000000000000000000007FFF00000000000000000000007FFF00000000000000
-000000007FFF00000000000000000000007FFF00000000000000000000007FFF00000000
-000000000000007FFF00000000000000000000007FFF00000000000000000000007FFF00
-000000000000000000007FFF00000000000000000000007FFF0000000000000000000000
-7FFF00000000000000000000007FFF00000000000000000000007FFF0000000000000000
-0000007FFF00000000000000000000007FFF00000000000000000000007FFF0000000000
-0000000000007FFF00000000000000000000007FFF0000000000000000000FFFFFFFFFF8
-000000000000000FFFFFFFFFF8000000000000000FFFFFFFFFF8000000000000000FFFFF
-FFFFF8000000000000000FFFFFFFFFF80000000061527ED166>89
-D<00007FFF000000000007FFFFF0000000003FFFFFFE00000000FFFFFFFF80000001FFE0
-0FFFC0000003FE0001FFF0000007FF0000FFF8000007FF80003FFC00000FFF80003FFE00
-000FFFC0001FFE00000FFFC0001FFF00000FFFC0000FFF80000FFFC0000FFF80000FFFC0
-000FFF800007FF800007FFC00007FF800007FFC00003FF000007FFC00001FE000007FFC0
-000000000007FFC0000000000007FFC0000000000007FFC0000000000007FFC000000000
-0007FFC0000000000007FFC0000000007FFFFFC00000000FFFFFFFC0000000FFFFFFFFC0
-000007FFFF87FFC000003FFFF007FFC000007FFF8007FFC00001FFFC0007FFC00003FFF0
-0007FFC00007FFE00007FFC0000FFFC00007FFC0001FFF800007FFC0003FFF000007FFC0
-007FFF000007FFC0007FFE000007FFC0007FFE000007FFC000FFFC000007FFC000FFFC00
-0007FFC000FFFC000007FFC000FFFC000007FFC000FFFC00000FFFC000FFFC00000FFFC0
-00FFFE00001FFFC0007FFE00001DFFC0007FFE00003DFFC0003FFF000079FFE0001FFF80
-00F1FFF8000FFFC003E1FFFFE007FFF81FC0FFFFF003FFFFFF807FFFF000FFFFFF001FFF
-F0001FFFFC0007FFE00001FFE0000000003C387CB641>97 D<003FF0000000000000FFFF
-F0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF
-F000000000000003FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F001FFE000000000FFF00FFFFE00000000FFF03FFFFFC0000000FFF0FFFFFFF0000000FF
-F3FF01FFF8000000FFF7F8003FFE000000FFFFE0000FFF000000FFFF800007FF800000FF
-FF000003FFC00000FFFE000001FFE00000FFFC000001FFF00000FFF8000000FFF80000FF
-F8000000FFF80000FFF80000007FFC0000FFF80000007FFC0000FFF80000007FFE0000FF
-F80000007FFE0000FFF80000007FFF0000FFF80000003FFF0000FFF80000003FFF0000FF
-F80000003FFF0000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF
-F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF
-F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF
-F80000003FFF8000FFF80000003FFF0000FFF80000003FFF0000FFF80000003FFF0000FF
-F80000003FFF0000FFF80000007FFE0000FFF80000007FFE0000FFF80000007FFE0000FF
-F80000007FFC0000FFF8000000FFFC0000FFF8000000FFF80000FFFC000001FFF00000FF
-FC000001FFF00000FFFE000003FFE00000FFFF000007FFC00000FFFF80000FFF800000FF
-CFC0001FFF000000FF87F0007FFC000000FF03FE03FFF8000000FE00FFFFFFE0000000FC
-007FFFFF80000000F8001FFFFC00000000000003FFC000000041547BD24B>I<000001FF
-F8000000001FFFFF80000000FFFFFFF0000003FFFFFFFC00000FFFC00FFE00001FFE0001
-FF00007FFC0003FF8000FFF00007FF8001FFF00007FFC003FFE0000FFFC003FFC0000FFF
-C007FFC0000FFFC00FFF80000FFFC00FFF80000FFFC01FFF800007FF801FFF000007FF80
-3FFF000003FF003FFF000001FE007FFF00000000007FFE00000000007FFE00000000007F
-FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE
-0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00
-00000000FFFE0000000000FFFE0000000000FFFE00000000007FFE00000000007FFF0000
-0000007FFF00000000003FFF00000000003FFF00000000003FFF00000003E01FFF800000
-03E01FFF80000007E00FFFC0000007C007FFC0000007C007FFE000000FC003FFE000001F
-8001FFF000003F0000FFF800007E00007FFE0000FC00003FFF0003F800000FFFE01FF000
-0003FFFFFFE0000000FFFFFF800000003FFFFE0000000001FFE0000033387CB63C>I<00
-0000000001FF80000000000007FFFF80000000000007FFFF80000000000007FFFF800000
-00000007FFFF80000000000007FFFF800000000000001FFF8000000000000007FF800000
-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000
-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000
-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000
-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000
-0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000
-0000000007FF8000000001FFE007FF800000001FFFFC07FF80000000FFFFFF07FF800000
-03FFFFFFC7FF8000000FFFE03FE7FF8000001FFF0007F7FF8000007FFC0001FFFF800000
-FFF80000FFFF800001FFF000003FFF800003FFE000001FFF800007FFC000001FFF800007
-FFC000000FFF80000FFF8000000FFF80001FFF8000000FFF80001FFF0000000FFF80003F
-FF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80007FFE0000000FFF80007F
-FE0000000FFF80007FFE0000000FFF80007FFE0000000FFF8000FFFE0000000FFF8000FF
-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF
-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF
-FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF80007FFE0000000FFF80007F
-FE0000000FFF80007FFE0000000FFF80003FFF0000000FFF80003FFF0000000FFF80003F
-FF0000000FFF80001FFF0000000FFF80001FFF0000000FFF80000FFF8000000FFF80000F
-FF8000001FFF800007FFC000003FFF800003FFC000003FFF800001FFE000007FFF800000
-FFF00001FFFF8000007FF80003FFFFE000003FFE000FEFFFFF80000FFFC07FCFFFFF8000
-07FFFFFF8FFFFF800001FFFFFE0FFFFF8000003FFFF80FFFFF80000003FFC00FFE000041
-547CD24B>I<000003FFC0000000003FFFFC00000001FFFFFF00000007FFFFFFC000000F
-FF81FFE000003FFC007FF800007FF8003FFC0000FFF0001FFE0001FFE0000FFE0003FFC0
-0007FF0007FFC00007FF800FFF800003FF800FFF800003FFC01FFF800001FFC01FFF0000
-01FFC03FFF000001FFE03FFF000001FFE07FFF000000FFE07FFE000000FFE07FFE000000
-FFF07FFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FFF0FFFE000000FF
-F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFE0FFFE0000000000
-FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000007F
-FE00000000007FFE00000000007FFF00000000003FFF00000000003FFF00000000003FFF
-00000000E01FFF00000001F01FFF80000003F00FFF80000003F007FFC0000007E007FFC0
-000007E003FFE000000FC001FFF000001FC000FFF800003F80007FFC0000FF00001FFE00
-03FE00000FFFC03FF8000003FFFFFFF0000000FFFFFFC00000001FFFFE0000000001FFF0
-000034387CB63D>I<0000003FFC00000003FFFF0000000FFFFFC000003FFFFFE00000FF
-F81FF00001FFC03FF80003FF807FF80007FF00FFFC000FFE00FFFC001FFC00FFFC001FFC
-00FFFC003FF800FFFC003FF800FFFC003FF8007FF8007FF0007FF8007FF0003FF0007FF0
-000FC0007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0
-000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0
-000000007FF0000000007FF0000000FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000FFFFFF
-FFE000FFFFFFFFE000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8
-000000007FF8000000007FF80000007FFFFFFE00007FFFFFFE00007FFFFFFE00007FFFFF
-FE00007FFFFFFE00002E547CD329>I<00003FFF0000FF000003FFFFF007FFC0000FFFFF
-FC1FFFE0003FFFFFFF7FFFE0007FFC0FFFFF9FF000FFE001FFF83FF001FFC000FFE03FF0
-03FF80007FF01FF007FF00003FF81FE00FFF00003FFC0FC00FFF00003FFC07801FFE0000
-1FFE00001FFE00001FFE00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF0000
-3FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE0000
-1FFF00003FFE00001FFF00001FFE00001FFE00001FFE00001FFE00000FFF00003FFC0000
-0FFF00003FFC000007FF00003FF8000003FF80007FF0000001FFC000FFE0000000FFE001
-FFC0000000FFFC0FFF80000001FFFFFFFF00000003EFFFFFFC00000003C3FFFFF0000000
-07C03FFF0000000007C000000000000007C00000000000000FC00000000000000FC00000
-000000000FC00000000000000FE00000000000000FE00000000000000FF8000000000000
-0FFE0000000000000FFFFFFFFF00000007FFFFFFFFF8000007FFFFFFFFFF000007FFFFFF
-FFFFC00003FFFFFFFFFFE00001FFFFFFFFFFF00000FFFFFFFFFFF800007FFFFFFFFFFC00
-007FFFFFFFFFFE0001FFFFFFFFFFFF0007FFFFFFFFFFFF000FFE000003FFFF801FF80000
-003FFF803FF000000007FF807FE000000003FFC07FE000000001FFC0FFC000000001FFC0
-FFC000000000FFC0FFC000000000FFC0FFC000000000FFC0FFC000000000FFC0FFC00000
-0000FFC0FFE000000001FFC07FE000000001FF807FF000000003FF803FF000000003FF00
-1FF800000007FE000FFE0000001FFC0007FF8000007FF80003FFE00001FFF00001FFFE00
-1FFFE000007FFFFFFFFF8000000FFFFFFFFC00000001FFFFFFE0000000000FFFFC000000
-3C4F7CB543>I<003FF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF
-F0000000000000FFFFF0000000000000FFFFF000000000000003FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF
-F000000000000000FFF000000000000000FFF0001FFC00000000FFF000FFFFC0000000FF
-F003FFFFF0000000FFF00FFFFFF8000000FFF01FE07FFC000000FFF03F001FFE000000FF
-F07C001FFF000000FFF0F0000FFF000000FFF1E0000FFF800000FFF3C0000FFF800000FF
-F7800007FF800000FFF7800007FFC00000FFFF000007FFC00000FFFE000007FFC00000FF
-FE000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FF
-FC000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF
-F8000007FFC00000FFF8000007FFC00000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFF
-FFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC04253
-7BD24B>I<007F000000FF800003FFE00007FFF00007FFF0000FFFF8000FFFF8000FFFF8
-000FFFF8000FFFF8000FFFF8000FFFF80007FFF00007FFF00003FFE00000FF8000007F00
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000003FF000FFFFF000FFFFF000FFFFF000FFFFF0
-00FFFFF00001FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000FFFFFF
-E0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B547BD325>I<003FF000FFFFF000FFFFF000
-FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000
-00FFF00000FFF00000FFF000FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C537BD2
-25>108 D<003FF0001FFC000000FFE00000FFFFF000FFFFC00007FFFE0000FFFFF003FF
-FFF0001FFFFF8000FFFFF00FFFFFF8007FFFFFC000FFFFF01FE07FFC00FF03FFE000FFFF
-F03F001FFE01F800FFF00003FFF07C001FFF03E000FFF80000FFF0F0000FFF0780007FF8
-0000FFF1E0000FFF8F00007FFC0000FFF3C0000FFF9E00007FFC0000FFF7800007FFBC00
-003FFC0000FFF7800007FFFC00003FFE0000FFFF000007FFF800003FFE0000FFFE000007
-FFF000003FFE0000FFFE000007FFF000003FFE0000FFFC000007FFE000003FFE0000FFFC
-000007FFE000003FFE0000FFFC000007FFE000003FFE0000FFFC000007FFE000003FFE00
-00FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC00000
-3FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FF
-C000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF800
-0007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000
-FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003F
-FE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC0
-00003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF80000
-07FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FF
-F8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE
-0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000
-003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE00FFFFFFF807FF
-FFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFF
-F807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFE67367BB570>I<003FF0001FFC
-000000FFFFF000FFFFC00000FFFFF003FFFFF00000FFFFF00FFFFFF80000FFFFF01FE07F
-FC0000FFFFF03F001FFE000003FFF07C001FFF000000FFF0F0000FFF000000FFF1E0000F
-FF800000FFF3C0000FFF800000FFF7800007FF800000FFF7800007FFC00000FFFF000007
-FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FFFC000007
-FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007
-FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FF
-FFFFC0FFFFFFF807FFFFFFC042367BB54B>I<000001FFE000000000001FFFFE00000000
-00FFFFFFC000000003FFFFFFF00000000FFF807FFC0000001FFC000FFE0000007FF80007
-FF800000FFF00003FFC00001FFE00001FFE00003FFC00000FFF00003FF8000007FF00007
-FF8000007FF8000FFF0000003FFC000FFF0000003FFC001FFF0000003FFE001FFF000000
-3FFE003FFE0000001FFF003FFE0000001FFF003FFE0000001FFF007FFE0000001FFF807F
-FE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE0000001FFFC0FFFE000000
-1FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FF
-FE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE000000
-1FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001FFF807FFE0000001FFF803F
-FE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF0000003FFE001FFF000000
-3FFE000FFF0000003FFC000FFF8000007FFC0007FF8000007FF80003FFC00000FFF00001
-FFE00001FFE00000FFF00003FFC000007FF80007FF8000003FFE001FFF0000000FFF807F
-FC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF000000000001FFE00000003A
-387CB643>I<003FF001FFE0000000FFFFF00FFFFE000000FFFFF03FFFFFC00000FFFFF0
-FFFFFFF00000FFFFF3FF01FFF80000FFFFF7F8007FFE000003FFFFE0001FFF000000FFFF
-80000FFF800000FFFF000007FFC00000FFFE000007FFE00000FFFC000003FFF00000FFF8
-000001FFF80000FFF8000001FFF80000FFF8000000FFFC0000FFF8000000FFFC0000FFF8
-000000FFFE0000FFF80000007FFE0000FFF80000007FFF0000FFF80000007FFF0000FFF8
-0000007FFF0000FFF80000007FFF0000FFF80000003FFF8000FFF80000003FFF8000FFF8
-0000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF8
-0000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF8
-0000003FFF8000FFF80000003FFF8000FFF80000003FFF0000FFF80000007FFF0000FFF8
-0000007FFF0000FFF80000007FFF0000FFF80000007FFE0000FFF8000000FFFE0000FFF8
-000000FFFE0000FFF8000000FFFC0000FFF8000001FFFC0000FFF8000001FFF80000FFFC
-000003FFF00000FFFC000003FFF00000FFFE000007FFE00000FFFF00000FFFC00000FFFF
-80001FFF800000FFFFC0003FFF000000FFFFF000FFFC000000FFFBFE07FFF8000000FFF8
-FFFFFFE0000000FFF87FFFFF80000000FFF81FFFFC00000000FFF803FFC000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-000000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFF
-F80000000000FFFFFFF80000000000414D7BB54B>I<000001FFE00007800000001FFFF8
-000F80000000FFFFFE001F80000003FFFFFF801F8000000FFFF03FC03F8000001FFF800F
-E07F8000007FFE0003F07F800000FFFC0001F8FF800001FFF80000FDFF800003FFF00000
-7FFF800003FFE000003FFF800007FFE000003FFF80000FFFC000001FFF80001FFFC00000
-1FFF80001FFF8000000FFF80003FFF8000000FFF80003FFF8000000FFF80003FFF000000
-07FF80007FFF00000007FF80007FFF00000007FF80007FFF00000007FF80007FFE000000
-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000
-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000
-07FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE00000007FF8000FFFE000000
-07FF80007FFF00000007FF80007FFF00000007FF80007FFF00000007FF80003FFF000000
-07FF80003FFF00000007FF80003FFF80000007FF80001FFF8000000FFF80001FFF800000
-0FFF80000FFFC000001FFF80000FFFC000001FFF800007FFE000003FFF800003FFF00000
-7FFF800001FFF00000FFFF800000FFF80001FFFF8000007FFC0003FFFF8000003FFF000F
-EFFF8000000FFFC07FCFFF80000007FFFFFF0FFF80000001FFFFFE0FFF800000003FFFF8
-0FFF8000000003FF800FFF800000000000000FFF800000000000000FFF80000000000000
-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000
-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000
-0FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000000000
-0FFF800000000000000FFF800000000000000FFF8000000000000FFFFFFF80000000000F
-FFFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000FFFFFFF80414D7CB547
->I<007FE003FE00FFFFE00FFF80FFFFE03FFFE0FFFFE07FFFF0FFFFE0FE1FF8FFFFE1F8
-3FFC03FFE3E03FFE00FFE3C07FFE00FFE7807FFE00FFEF807FFE00FFEF007FFE00FFEE00
-7FFE00FFFE003FFC00FFFC003FFC00FFFC001FF800FFFC000FF000FFF800000000FFF800
-000000FFF800000000FFF800000000FFF800000000FFF000000000FFF000000000FFF000
-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000
-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000
-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000
-000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000
-000000FFF0000000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC
-00002F367CB537>I<0003FFF00F00003FFFFE1F0000FFFFFFFF0003FFFFFFFF0007FF00
-3FFF000FF80007FF001FE00001FF003FC00000FF003F8000007F007F8000007F007F0000
-003F007F0000003F00FF0000001F00FF0000001F00FF8000001F00FF8000001F00FFC000
-001F00FFF000000000FFFC00000000FFFFC00000007FFFFF0000007FFFFFF800003FFFFF
-FF00003FFFFFFFC0001FFFFFFFF0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0000FFFF
-FFFF00003FFFFFFF80000FFFFFFFC00000FFFFFFC0000007FFFFE00000003FFFE0000000
-07FFF000000001FFF0780000007FF0F80000003FF0F80000001FF0FC0000001FF0FC0000
-000FF0FC0000000FF0FE0000000FF0FE0000000FE0FF0000000FE0FF8000001FE0FF8000
-001FC0FFC000001FC0FFE000003F80FFF800007F00FFFE0001FE00FFFFC00FFC00FF7FFF
-FFF800FC1FFFFFE000F807FFFF8000F000FFF800002C387CB635>I<00003E0000000000
-3E00000000003E00000000003E00000000003E00000000003E00000000007E0000000000
-7E00000000007E00000000007E0000000000FE0000000000FE0000000001FE0000000001
-FE0000000001FE0000000003FE0000000007FE0000000007FE000000000FFE000000001F
-FE000000003FFE00000000FFFE00000001FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFF
-FFFFFF00FFFFFFFFFF00FFFFFFFFFF00003FFE000000003FFE000000003FFE000000003F
-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F
-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F
-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F
-FE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003F
-FE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003F
-FE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0001FFE000F80001F
-FF000F80001FFF000F80000FFF001F00000FFF801F000007FFC03E000003FFF0FC000001
-FFFFF80000007FFFF00000001FFFE000000003FF80002A4D7ECB34>I<003FF8000001FF
-C000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFF
-C000FFFFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FF
-C00000FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF800000FFF
-C00000FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC000007FF800003FFF
-C000007FF800003BFFC000007FF800007BFFC000003FFC0000F3FFC000003FFC0001E3FF
-F000001FFE0007C3FFFFC0000FFFC03F83FFFFC00007FFFFFF03FFFFC00001FFFFFE03FF
-FFC000007FFFF803FFFFC0000007FFE003FF000042377BB54B>I<FFFFFFF00007FFFFFF
-FFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF01FFF80000
-007FE000FFFC0000003F0000FFFC0000003F00007FFC0000003E00007FFE0000007E0000
-3FFE0000007C00003FFF000000FC00001FFF000000F800001FFF800001F800000FFF8000
-01F000000FFFC00001F000000FFFC00003F0000007FFC00003E0000007FFE00007E00000
-03FFE00007C0000003FFF0000FC0000001FFF0000F80000001FFF8001F80000000FFF800
-1F00000000FFFC001F00000000FFFC003F000000007FFE003E000000007FFE007E000000
-003FFE007C000000003FFF00FC000000001FFF00F8000000001FFF81F8000000000FFF81
-F0000000000FFFC3F0000000000FFFC3F00000000007FFE3E00000000007FFE7E0000000
-0003FFE7C00000000003FFFFC00000000001FFFF800000000001FFFF800000000000FFFF
-000000000000FFFF0000000000007FFE0000000000007FFE0000000000007FFE00000000
-00003FFC0000000000003FFC0000000000001FF80000000000001FF80000000000000FF0
-0000000000000FF000000000000007E000000000000003C000000040367DB447>I<FFFF
-FFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFF
-FFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC001FFF00000FFF000001FF80001FF
-F800007FF0000007E00000FFF800007FF8000007C00000FFF800007FF8000007C00000FF
-FC00003FF800000FC000007FFC00003FFC00000F8000007FFC00003FFC00000F8000007F
-FE00003FFC00001F8000003FFE00007FFE00001F0000003FFF00007FFE00003F0000001F
-FF00007FFF00003E0000001FFF0000FFFF00003E0000001FFF8000FFFF00007E0000000F
-FF8001FFFF80007C0000000FFFC001F3FF8000FC00000007FFC001F3FFC000F800000007
-FFC003F3FFC000F800000007FFE003E1FFC001F800000003FFE007E1FFE001F000000003
-FFF007C0FFE001F000000001FFF007C0FFF003E000000001FFF00FC0FFF003E000000001
-FFF80F807FF007E000000000FFF80F807FF807C000000000FFF81F003FF807C000000000
-FFFC1F003FF80FC0000000007FFC3F003FFC0F80000000007FFE3E001FFC1F8000000000
-3FFE3E001FFE1F00000000003FFE7E001FFE1F00000000003FFF7C000FFE3F0000000000
-1FFFFC000FFF3E00000000001FFFF80007FF7E00000000000FFFF80007FFFC0000000000
-0FFFF80007FFFC00000000000FFFF00003FFFC000000000007FFF00003FFF80000000000
-07FFE00001FFF8000000000003FFE00001FFF0000000000003FFE00001FFF00000000000
-03FFC00000FFF0000000000001FFC00000FFE0000000000001FF8000007FE00000000000
-01FF8000007FE0000000000000FF8000007FC0000000000000FF0000003FC00000000000
-007F0000003F800000000000007F0000003F800000000000003E0000001F000000005A36
-7DB461>I<7FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0
-007FFFFE007FFFFFF0007FFFFE00007FFE00000FFF0000003FFF000007F80000001FFF80
-0007F00000000FFFC0000FE000000007FFC0001FC000000007FFE0003F8000000003FFF0
-003F0000000001FFF8007E0000000000FFFC00FC00000000007FFE01FC00000000007FFE
-03F800000000003FFF07F000000000001FFF8FE000000000000FFFCFC0000000000007FF
-FF80000000000003FFFF00000000000003FFFF00000000000001FFFE00000000000000FF
-FC000000000000007FFE000000000000003FFF000000000000003FFF000000000000001F
-FF800000000000001FFFC00000000000003FFFE00000000000007FFFF0000000000000FF
-FFF0000000000001FDFFF8000000000001F8FFFC000000000003F07FFE000000000007E0
-3FFF00000000000FE01FFF00000000001FC01FFF80000000003F800FFFC0000000007F00
-07FFE000000000FE0003FFF000000000FC0001FFF800000001F80001FFF800000003F000
-00FFFC00000007F000007FFE0000000FE000003FFF0000001FC000001FFF800000FFF000
-001FFF8000FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE00
-01FFFFFFC0FFFFFE0001FFFFFFC042357EB447>I<FFFFFFF00007FFFFFFFFFFF00007FF
-FFFFFFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF00FFF80000007FE000FFFC
-0000003F0000FFFC0000003F00007FFE0000003E00007FFE0000007E00003FFE0000007C
-00003FFF000000FC00001FFF000000F800001FFF800001F800000FFF800001F000000FFF
-C00003F0000007FFC00003E0000007FFE00003E0000007FFE00007E0000003FFF00007C0
-000003FFF0000FC0000001FFF8000F80000001FFF8001F80000000FFF8001F00000000FF
-FC003F000000007FFC003E000000007FFE007E000000003FFE007C000000003FFF00FC00
-0000003FFF00FC000000001FFF80F8000000001FFF81F8000000000FFFC1F0000000000F
-FFC3F00000000007FFC3E00000000007FFE7E00000000003FFE7C00000000003FFFFC000
-00000001FFFF800000000001FFFF800000000000FFFF000000000000FFFF000000000000
-FFFF0000000000007FFE0000000000007FFE0000000000003FFC0000000000003FFC0000
-000000001FF80000000000001FF80000000000000FF00000000000000FF0000000000000
-07E000000000000007E000000000000007E000000000000007C00000000000000FC00000
-000000000F800000000000001F800000000000001F000000000000003F000000001FC000
-3E000000003FE0007E000000007FF0007C00000000FFF800FC00000000FFF800F8000000
-00FFF801F800000000FFF801F000000000FFF803F000000000FFF807E0000000007FF00F
-C0000000007FE01F80000000003FC07F00000000003F81FE00000000001FFFFC00000000
-000FFFF0000000000003FFE0000000000000FF000000000000404D7DB447>I<1FFFFFFF
-FFFF001FFFFFFFFFFF801FFFFFFFFFFF801FFFFFFFFFFF801FFF80007FFF001FFC0000FF
-FF001FF00001FFFE001FE00001FFFC001FC00003FFF8001F800007FFF8001F80000FFFF0
-003F00000FFFE0003F00001FFFE0003F00003FFFC0003F00003FFF80003E00007FFF0000
-3E0000FFFF00003E0001FFFE00003E0001FFFC00003E0003FFF800003E0007FFF8000000
-000FFFF0000000000FFFE0000000001FFFC0000000003FFFC0000000007FFF8000000000
-7FFF0000000000FFFF0000000001FFFE0000000001FFFC0000000003FFF8000F800007FF
-F8000F80000FFFF0000F80000FFFE0000F80001FFFC0000F80003FFFC0001F80007FFF80
-001F00007FFF00001F0000FFFE00001F0001FFFE00003F0003FFFC00003F0003FFF80000
-3F0007FFF800007F000FFFF000007F000FFFE00000FF001FFFC00001FF003FFFC00007FF
-007FFF80000FFE007FFF0000FFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00
-7FFFFFFFFFFE0031357CB43C>I E /Fn 54 123 df<000000003FFC0000000001FFFF80
-00000007E007C00000001F8001E00000003F0001F00000007E0003F0000000FC0007F000
-0000FC0007F0000001F80007F0000001F80007E0000003F0000380000003F00000000000
-03F0000000000003F0000000000007F0000000000007E0000000000007E0000000000007
-E0000000000007E000000000000FE000000000000FC000000000000FC000000000000FC0
-000000000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFE0000001F80007E0000001F8000
-7E0000001F8000FE0000003F8000FC0000003F0000FC0000003F0000FC0000003F0001FC
-0000003F0001F80000007F0001F80000007E0001F80000007E0003F80000007E0003F000
-00007E0003F0000000FE0003F0000000FC0007F0000000FC0007E0000000FC0007E00000
-00FC0007E0000001FC000FE0000001FC000FC0000001F8000FC1C00001F8000FC1C00001
-F8001FC1C00001F8001F83C00003F8001F83800003F0001F83800003F0001F83800003F0
-001F87000007F0001F87000007E0001F0F000007E0000F8E000007E000079E000007E000
-03FC00000FE00000F000000FC000000000000FC000000000000FC000000000000F800000
-0000001F8000000000001F80000000001C1F00000000007E1F00000000007E3F00000000
-00FE3E0000000000FE3C0000000000FE7C0000000000F878000000000078F00000000000
-3FE000000000000F800000000000344C82BA2F>12 D<000000007FE00000000003FFFC7E
-0000000FC03E7E0000001F000F7E0000003E003FFE0000007C007FFE000000FC007FFC00
-0000F8007FFC000001F8007FFC000001F8003DFC000003F00001F8000003F00001F80000
-03F00003F8000003F00003F8000007E00003F0000007E00003F0000007E00007F0000007
-E00007F000000FE00007E000000FC00007E000000FC0000FE000000FC0000FE000000FC0
-000FC0000FFFFFFFFFC0000FFFFFFFFFC0000FFFFFFFFFC000001F80001F8000001F8000
-1F8000001F80003F8000003F80003F8000003F00003F0000003F00003F0000003F00007F
-0000003F00007F0000007F00007E0000007E00007E0000007E0000FE0000007E0000FE00
-00007E0000FC000000FE0000FC000000FC0001FC000000FC0001FC000000FC0001F80000
-00FC0001F8000001FC0003F8000001F80003F8000001F80003F0700001F80003F0700001
-F80007F0700003F80007F0F00003F00007E0E00003F00007E0E00003F00007E0E00003F0
-0007E1C00007F00007E1C00007E00007C3C00007E00003E3800007E00001E7800007E000
-00FF00000FC000003C00000FC000000000000FC000000000000FC000000000001F800000
-0000001F8000000000001F80000000001C1F00000000007E1F00000000007E3E00000000
-00FE3E0000000000FE3C0000000000FE7C0000000000F878000000000078F00000000000
-3FE000000000000F800000000000374C82BA31>I<00000000FF00003FF00000000003FF
-E001FFFE3F0000000FC0F007E01F3F0000003F00780F8007BF0000007E01F81F001FFF00
-00007C03F83E003FFF000000FC03F87E003FFE000001F803F8FC003FFE000001F803F0FC
-003FFE000001F801E0FC001EFE000003F00001F80000FC000003F00001F80000FC000003
-F00001F80001FC000003F00003F80001FC000007F00003F00001F8000007E00003F00001
-F8000007E00003F00003F8000007E00003F00003F8000007E00007F00003F000000FE000
-07E00003F000000FC00007E00007F000000FC00007E00007F000000FC00007E00007E000
-0FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFE000001F80000FC0
-000FC000001F80000FC0000FC000001F80000FC0001FC000003F80001FC0001FC000003F
-00001F80001F8000003F00001F80001F8000003F00001F80003F8000003F00001F80003F
-8000007F00003F80003F0000007E00003F00003F0000007E00003F00007F0000007E0000
-3F00007F0000007E00003F00007E000000FE00007F00007E000000FE00007E0000FE0000
-00FC00007E0000FE000000FC00007E0000FC000000FC00007E0000FC000000FC0000FE00
-01FC000001FC0000FC0001FC000001F80000FC0001F8380001F80000FC0001F8380001F8
-0000FC0003F8380003F80001FC0003F8780003F80001F80003F0700003F00001F80003F0
-700003F00001F80003F0700003F00001F80003F0E00007F00003F80003F0E00007F00003
-F00003E1E00007E00003F00001F1C00007E00003F00000F3C00007E00003F000007F8000
-0FE00007E000001E00000FC00007E000000000000FC00007E000000000000FC00007E000
-000000000F80000FC000000000001F80000FC000000000001F80000F80000000001C1F03
-801F80000000007E1F0FC01F00000000007E3F0FC01F0000000000FE3E1FC03E00000000
-00FE3C1FC07C0000000000FE7C1FC0F80000000000F8780F01F0000000000078F00F83E0
-00000000003FE003FF8000000000000F8000FE000000000000504C82BA4A>15
-D<01E007F00FF00FF81FF81FF81FF80FF807B0003000300070006000E000C001C0018003
-8007000E001C0038007000E000C0000D196EB919>39 D<03C007F00FF01FF01FF81FF81F
-F81FF007B0003000700060006000E000C001C00380030007000E001C0038007000E000C0
-000D197A8819>44 D<7FFFF87FFFF8FFFFF8FFFFF8FFFFF0150579941E>I<0E003F807F
-80FF80FF80FF80FF007E003C000909778819>I<000003F80000001FFE0000007C1F0000
-00F807800001E007C00003C003E000078003E0000F8001E0001F0001F0001F0001F0003E
-0001F0007E0001F0007C0003F000FC0003F000FC0003F001F80003F001F80003F003F800
-07F003F00007F003F00007F007F00007F007F00007E007E0000FE00FE0000FE00FE0000F
-E00FE0000FE01FC0001FC01FC0001FC01FC0001FC01FC0001FC03F80003F803F80003F80
-3F80003F803F80003F807F00007F007F00007F007F00007F007F00007E007E0000FE007E
-0000FE007E0000FC00FE0001FC00FE0001F800FE0001F800FC0003F000FC0003F000FC00
-03E0007C0007E0007C0007C0007C000F80007C000F80007C001F00003E003E00003E007C
-00001F00F800000F83E0000007FF80000000FE000000243A77B72A>48
-D<000000180000003800000078000000F0000001F0000003F0000007F000000FE000001F
-E000007FE00003FFE0003FEFC0003F8FC0001C1FC000001FC000001F8000001F8000003F
-8000003F8000003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE
-000000FC000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0
-000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC000000FC0
-00001FC000001FC000001F8000001F8000003F8000003F8000003F0000007F8000FFFFFF
-80FFFFFF80FFFFFF801D3877B72A>I<000003F80000000FFE0000003C0F800000F007C0
-0001E003E00003C003F000078001F000070001F8000E0001F8001E0001F8001C6000FC00
-387000FC00383001FC00703001FC00703001FC00F03001FC00E03001FC00E07003FC01E0
-6003F801C06003F801C0E003F801C0C007F801C1C007F00181800FF00183800FE001C700
-1FC001FE003F800078003F000000007E00000000FC00000001F800000003F000000007C0
-0000001F800000003E00000000FC00000001F000000007C00000000F800000001E000000
-007C00000000F80000C001F00001C001E00001C003C00001C007800003C00F000003800E
-000007801E00000F803C00001F003FF8003F007FFFC07E00783FFFFC00700FFFFC00F007
-FFF800E001FFF000E000FFC000E0001F0000263A79B72A>I<000001FC0000000FFF0000
-003FFF8000007E07C00001F803E00003F003E00007E001F0000FC001F0001F8001F0003F
-8001F8003F0001F8007F0001F8007E0001F800FE0001F800FE0001F801FC0001F801FC00
-01F801FC0003F803FC0003F803F80003F803F80003F803F80007F007F80007F007F00007
-F007F0000FF007F0000FF007F0000FE003F0001FE003F0001FE003F0003FE003F0007FC0
-01F0007FC001F000FFC000F801FFC0007803BF80003C0F3F80001FFC3F000007F07F0000
-00007F000000007E00000000FE00000000FC00000001FC00000001F800000003F0000000
-03F0003E0007E0007F000FC0007F000F80007F001F0000FE003F0000FC007E00007000F8
-00007803F000007C0FE000003FFF8000001FFE00000003F8000000253A78B72A>57
-D<0000000001C0000000000003C0000000000003C0000000000007C000000000000FC000
-000000000FC000000000001FC000000000001FE000000000003FE000000000003FE00000
-0000007FE00000000000FFE00000000000EFE00000000001EFE00000000001CFE0000000
-00038FE000000000038FE000000000070FE000000000070FE0000000000E0FE000000000
-1E0FE0000000001C0FE000000000380FE000000000380FE000000000700FF00000000070
-0FF000000000E007F000000000E007F000000001C007F000000003C007F0000000038007
-F0000000070007F0000000070007F00000000E0007F00000000E0007F00000001C0007F0
-0000001C0007F0000000380007F00000007FFFFFF00000007FFFFFF0000000FFFFFFF000
-0000E00007F8000001C00003F8000001C00003F8000003800003F8000007800003F80000
-07000003F800000F000003F800000E000003F800001C000003F800001C000003F8000038
-000003F8000078000003F8000070000003F80000F0000003F80003F8000003F80007FC00
-0007FC00FFFF8001FFFFF0FFFF8001FFFFF0FFFF8001FFFFF0343C7BBB3E>65
-D<0007FFFFFFFC000007FFFFFFFF800007FFFFFFFFC000000FF0001FF000000FE00007F8
-00000FE00003F800001FE00003FC00001FE00001FC00001FC00001FE00001FC00001FE00
-003FC00000FE00003FC00000FE00003F800001FE00003F800001FE00007F800001FE0000
-7F800001FC00007F000003FC00007F000003F80000FF000007F80000FF000007F00000FE
-00000FE00000FE00001FC00001FE00003F800001FE00007F000001FC0001FE000001FC00
-07F8000003FFFFFFE0000003FFFFFFC0000003F80007F0000003F80001FC000007F80000
-FE000007F800007F000007F000003F800007F000003F80000FF000003FC0000FF000001F
-C0000FE000001FC0000FE000001FC0001FE000001FC0001FE000003FC0001FC000003FC0
-001FC000003FC0003FC000003FC0003FC000007F80003F8000007F80003F8000007F0000
-7F800000FF00007F800001FE00007F000003FC00007F000003F80000FF00000FF80000FF
-00001FE00000FE00003FC00001FE0001FF8000FFFFFFFFFE0000FFFFFFFFF80000FFFFFF
-FFC0000037397BB83A>I<00000003FE000E0000003FFF801E000000FFFFE03C000003FE
-01F03C00000FF000787C00003FC0003CFC00007F00001FF80000FE00000FF80003FC0000
-0FF80007F8000007F8000FF0000007F0001FE0000003F0003FC0000003F0003F80000003
-F0007F00000003E000FF00000003E001FE00000003E001FC00000003E003FC00000003C0
-07F800000003C007F800000003C00FF000000003C00FF000000003801FE000000003801F
-E000000000001FE000000000003FC000000000003FC000000000003FC000000000007FC0
-00000000007F8000000000007F8000000000007F800000000000FF800000000000FF0000
-00000000FF000000000000FF000000000000FF000000000000FF000000003800FF000000
-003800FF000000007800FE000000007000FF000000007000FF00000000F0007F00000000
-E0007F00000001E0007F00000001C0007F00000003C0003F8000000780003F8000000700
-001F8000000E00001FC000001E00000FC000003C00000FE0000078000007F00001F00000
-03F80003C0000001FE000F800000007F807E000000003FFFFC000000000FFFE000000000
-00FF00000000373D74BA3B>I<0003FFFFFFFE00000003FFFFFFFFC0000003FFFFFFFFF0
-00000007F8000FF800000007F00003FC00000007F00000FE0000000FF000007F0000000F
-F000003F8000000FE000001F8000000FE000001FC000001FE000000FC000001FE000000F
-E000001FC000000FE000001FC0000007E000003FC0000007E000003FC0000007F000003F
-80000007F000003F80000007F000007F80000007F000007F80000007F000007F00000007
-F000007F00000007F00000FF00000007F00000FF0000000FF00000FE0000000FF00000FE
-0000000FF00001FE0000000FF00001FE0000000FE00001FC0000001FE00001FC0000001F
-E00003FC0000001FE00003FC0000001FC00003F80000003FC00003F80000003FC00007F8
-0000003F800007F80000007F800007F00000007F000007F00000007F00000FF0000000FE
-00000FF0000000FE00000FE0000001FC00000FE0000001F800001FE0000003F800001FE0
-000007F000001FC0000007E000001FC000000FC000003FC000001F8000003FC000003F80
-00003F8000007F0000003F800000FC0000007F800003F80000007F800007F00000007F00
-001FC0000000FF0001FF8000007FFFFFFFFE000000FFFFFFFFF0000000FFFFFFFF800000
-003C397CB83F>I<0007FFFFFFFFFF0007FFFFFFFFFF0007FFFFFFFFFF00000FF00003FF
-00000FE000007F00000FE000003E00001FE000003E00001FE000001E00001FC000001E00
-001FC000001E00003FC000001E00003FC000001E00003F8000001E00003F8000001C0000
-7F8000001C00007F8000001C00007F0003801C00007F0003801C0000FF0007801C0000FF
-000780000000FE000700000000FE000F00000001FE000F00000001FE001F00000001FC00
-3E00000001FC007E00000003FFFFFE00000003FFFFFE00000003FFFFFC00000003F800FC
-00000007F8007C00000007F8003C00000007F0003800000007F000380000000FF0007800
-00000FF0007800E0000FE0007000E0000FE0007001E0001FE0007001C0001FE0000001C0
-001FC0000003C0001FC000000380003FC000000780003FC000000700003F8000000F0000
-3F8000000F00007F8000001E00007F8000003E00007F0000003C00007F0000007C0000FF
-000000FC0000FF000001F80000FE000007F80001FE00007FF000FFFFFFFFFFF000FFFFFF
-FFFFF000FFFFFFFFFFE00038397BB838>I<0007FFFFFFFFFE0007FFFFFFFFFE0007FFFF
-FFFFFE00000FF00007FE00000FE00000FE00000FE000007C00001FE000003C00001FE000
-003C00001FC000003C00001FC000003C00003FC000003C00003FC000003C00003F800000
-3C00003F8000003800007F8000003800007F8000003800007F0000003800007F00038038
-0000FF000780380000FF000780000000FE000700000000FE000700000001FE000F000000
-01FE000F00000001FC001E00000001FC003E00000003FC00FE00000003FFFFFE00000003
-FFFFFC00000003FFFFFC00000007F800FC00000007F8007C00000007F0007800000007F0
-00780000000FF000780000000FF000780000000FE000700000000FE000700000001FE000
-F00000001FE000F00000001FC000000000001FC000000000003FC000000000003FC00000
-0000003F8000000000003F8000000000007F8000000000007F8000000000007F00000000
-00007F000000000000FF000000000000FF000000000000FE000000000001FF0000000000
-FFFFFF00000000FFFFFF00000000FFFFFF0000000037397BB836>I<00000003FE000E00
-00003FFF801E000000FFFFE03C000003FE01F03C00000FF000787C00003FC0003CFC0000
-7F00001FF80000FE00000FF80003FC00000FF80007F8000007F8000FF0000007F0001FE0
-000003F0003FC0000003F0003F80000003F0007F00000003E000FF00000003E001FE0000
-0003E001FC00000003E003FC00000003C007F800000003C007F800000003C00FF0000000
-03C00FF000000003801FE000000003801FE000000000001FE000000000003FC000000000
-003FC000000000003FC000000000007FC000000000007F8000000000007F800000000000
-7F800000000000FF800000000000FF000000000000FF000007FFFFE0FF000007FFFFE0FF
-000007FFFFE0FF00000007FC00FF00000003F800FF00000007F800FF00000007F000FF00
-000007F000FF00000007F0007F0000000FF0007F0000000FE0007F0000000FE0007F0000
-000FE0003F8000001FE0003F8000001FE0001F8000001FC0001FC000003FC0000FE00000
-3FC0000FE000007FC00007F00000FF800003F80003EF800001FE0007C78000007FC03F07
-8000003FFFFC030000000FFFF00000000000FF80000000373D74BA40>I<0003FFFFF80F
-FFFFE00003FFFFF80FFFFFE00003FFFFF80FFFFFE0000007F800001FE000000007F00000
-1FC000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE00000
-3F800000000FE000003F800000001FE000007F800000001FE000007F000000001FC00000
-7F000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000
-FE000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001
-FC000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003
-F800000000FE000003F800000001FFFFFFFFF800000001FFFFFFFFF000000001FFFFFFFF
-F000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000F
-E000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001F
-C000000007F000001FC00000000FF000003FC00000000FF000003F800000000FE000003F
-800000000FE000003F800000001FE000007F800000001FE000007F000000001FC000007F
-000000001FC000007F000000003FC00000FF000000003FC00000FE000000003F800000FE
-000000003F800000FE000000007F800001FE000000007F800001FC000000007F000001FC
-00000000FF000003FC0000007FFFFE01FFFFF80000FFFFFE03FFFFF80000FFFFFE03FFFF
-F8000043397CB83E>I<0003FFFFF80003FFFFF80003FFFFF8000007F800000007F00000
-0007F00000000FF00000000FF00000000FE00000000FE00000001FE00000001FE0000000
-1FC00000001FC00000003FC00000003FC00000003F800000003F800000007F800000007F
-800000007F000000007F00000000FF00000000FF00000000FE00000000FE00000001FE00
-000001FE00000001FC00000001FC00000003FC00000003FC00000003F800000003F80000
-0007F800000007F800000007F000000007F00000000FF00000000FF00000000FE0000000
-0FE00000001FE00000001FE00000001FC00000001FC00000003FC00000003FC00000003F
-800000003F800000007F800000007F800000007F00000000FF800000FFFFFF0000FFFFFF
-0000FFFFFE000025397CB820>I<000007FFFFF0000007FFFFF0000007FFFFF000000007
-FC0000000003F80000000003F80000000007F80000000007F00000000007F00000000007
-F0000000000FF0000000000FE0000000000FE0000000000FE0000000001FE0000000001F
-C0000000001FC0000000001FC0000000003FC0000000003F80000000003F80000000003F
-80000000007F80000000007F00000000007F00000000007F0000000000FF0000000000FE
-0000000000FE0000000000FE0000000001FE0000000001FC0000000001FC0000000001FC
-0000000003FC0000000003F80000000003F80000000003F80000000007F80000000007F8
-0000000007F00000000007F0000000000FF0000000000FF000003F000FE000007F000FE0
-00007F001FE00000FF001FC00000FF001FC00000FF003F800000FC003F800000E0007F00
-0000E000FE0000007000FC0000007001F80000003803F00000001E0FC00000000FFF0000
-000001F8000000002C3B78B82C>I<0007FFFFFC000007FFFFFC000007FFFFF80000000F
-F8000000000FF0000000000FE0000000001FE0000000001FE0000000001FC0000000001F
-C0000000003FC0000000003FC0000000003F80000000003F80000000007F80000000007F
-80000000007F00000000007F0000000000FF0000000000FF0000000000FE0000000000FE
-0000000001FE0000000001FE0000000001FC0000000001FC0000000003FC0000000003FC
-0000000003F80000000003F80000000007F80000000007F80000000007F00000000007F0
-000000000FF0000000000FF000000C000FE000001C000FE000001C001FE000003C001FE0
-000038001FC0000078001FC0000078003FC0000070003FC00000F0003F800000E0003F80
-0001E0007F800003E0007F800003C0007F000007C0007F00000FC000FF00001F8000FF00
-003F8000FE0000FF8001FE0007FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFE002E397B
-B834>76 D<0007FFF800000007FFF00007FFF80000000FFFF00007FFF80000001FFFE000
-000FF80000001FF00000000FF80000003FE00000000FF80000003FE00000001FF8000000
-7FE00000001FF8000000EFC00000001DF8000000EFC00000001CFC000001CFC00000003C
-FC000001DFC00000003CFC0000039F8000000038FC0000071F8000000038FC0000071F80
-00000078FC00000E3F8000000078FC00000E3F0000000070FC00001C3F0000000070FC00
-001C3F00000000F0FC0000387F00000000F0FC0000707E00000000E0FC0000707E000000
-00E07E0000E07E00000001E07E0000E0FE00000001E07E0001C0FC00000001C07E000380
-FC00000001C07E000380FC00000003C07E000701FC00000003C07E000701F80000000380
-7E000E01F800000003807E000E01F800000007807E001C03F800000007807E003803F000
-000007007E003803F000000007003F007003F00000000F003F007007F00000000F003F00
-E007E00000000E003F01C007E00000000E003F01C007E00000001E003F03800FE0000000
-1E003F03800FC00000001C003F07000FC00000001C003F07000FC00000003C003F0E001F
-C00000003C003F1C001F8000000038003F1C001F8000000038001FB8001F800000007800
-1FB8003F8000000078001FF0003F0000000070001FE0003F0000000070001FE0003F0000
-0000F0001FC0007F00000000F0001FC0007E00000001F0001F80007E00000007F8001F80
-00FE000000FFFFC01F007FFFFC0000FFFFC01E007FFFFC0000FFFFC00E007FFFFC00004C
-397AB84A>I<0003FFF80000FFFFE00003FFF80000FFFFE00003FFFC0000FFFFE0000007
-FC000007F800000007FE000003F000000007FE000003E00000000FFE000003C00000000F
-FF000003C00000000E7F000003800000000E7F000003800000001E7F800007800000001E
-3F800007000000001C3F800007000000001C3FC00007000000003C1FC0000F000000003C
-1FE0000E00000000380FE0000E00000000380FE0000E00000000780FF0001E0000000078
-07F0001C000000007007F0001C000000007007F8001C00000000F003F8003C00000000F0
-03FC003800000000E003FC003800000000E001FC003800000001E001FE007800000001E0
-00FE007000000001C000FE007000000001C000FF007000000003C0007F00F000000003C0
-007F00E00000000380007F80E00000000380003F80E00000000780003FC1E00000000780
-001FC1C00000000700001FC1C00000000700001FE1C00000000F00000FE3C00000000F00
-000FE3800000000E00000FF3800000000E000007F3800000001E000007FF800000001E00
-0007FF000000001C000003FF000000001C000003FF000000003C000001FF000000003C00
-0001FE0000000038000001FE0000000038000000FE0000000078000000FE000000007800
-0000FC00000000F80000007C00000003FC0000007C0000007FFFE000003C000000FFFFE0
-000038000000FFFFE000003800000043397CB83E>I<0007FFFFFFF8000007FFFFFFFF00
-0007FFFFFFFF8000000FF0003FE000000FE0000FF000000FE00003F800001FE00003F800
-001FE00001FC00001FC00001FC00001FC00001FC00003FC00001FE00003FC00001FE0000
-3F800001FE00003F800001FE00007F800001FE00007F800003FC00007F000003FC00007F
-000003FC0000FF000003F80000FF000007F80000FE000007F00000FE00000FE00001FE00
-000FE00001FE00001FC00001FC00003F800001FC0000FE000003FC0001FC000003FC000F
-F0000003FFFFFFC0000003FFFFFE00000007F8000000000007F8000000000007F0000000
-000007F000000000000FF000000000000FF000000000000FE000000000000FE000000000
-001FE000000000001FE000000000001FC000000000001FC000000000003FC00000000000
-3FC000000000003F8000000000003F8000000000007F8000000000007F8000000000007F
-0000000000007F000000000000FF000000000000FF000000000000FE000000000001FE00
-00000000FFFFFC00000000FFFFFC00000000FFFFFC0000000037397BB838>80
-D<0003FFFFFFF0000003FFFFFFFE000003FFFFFFFF80000007F8003FC0000007F0000FF0
-000007F00007F000000FF00003F800000FF00001FC00000FE00001FC00000FE00001FC00
-001FE00001FE00001FE00001FE00001FC00001FE00001FC00001FE00003FC00001FE0000
-3FC00003FC00003F800003FC00003F800003FC00007F800007F800007F800007F000007F
-00000FF000007F00000FE00000FF00001FC00000FF00003F000000FE0000FE000000FE00
-01F8000001FE000FE0000001FFFFFF80000001FFFFFC00000001FC003F00000003FC000F
-80000003FC000FC0000003F80007E0000003F80007F0000007F80003F0000007F80003F0
-000007F00003F0000007F00003F800000FF00007F800000FF00007F000000FE00007F000
-000FE00007F000001FE0000FF000001FE0000FF000001FC0000FF000001FC0000FF00000
-3FC0000FF000003FC0001FF000003F80001FE007003F80001FE007007F80001FE00F007F
-80001FE00E007F00001FE00E00FF00000FE01C7FFFFE000FE03CFFFFFE0007F078FFFFFE
-0003F0F00000000000FFE000000000003F80383B7CB83D>82 D<0000003FC00E000001FF
-F01C000007FFFC1C00001FC07E3C00003F001F7C00007C000FF80000F80007F80001F000
-03F80003E00003F80007C00001F00007C00001F0000F800001F0000F800001F0001F8000
-01E0001F000001E0001F000001E0001F000001E0003F000001C0003F000001C0003F0000
-01C0003F80000000003F80000000003FC0000000001FE0000000001FFC000000001FFF80
-0000000FFFF00000000FFFFE00000007FFFF80000003FFFFE0000000FFFFF00000003FFF
-F800000007FFF8000000007FFC000000000FFC0000000003FC0000000001FC0000000001
-FC0000000000FC0000000000FC00000000007C000E0000007C000E0000007C000E000000
-7C001E000000FC001E000000F8001E000000F8001E000000F8003E000001F0003E000001
-F0003E000003E0003E000003E0007F000007C0007F00000F80007F80001F00007FC0003E
-0000F9F000FC0000F8FC03F80000F07FFFE00000E01FFF800000C003FC0000002F3D7ABA
-2F>I<FFFFF80003FFFEFFFFF80003FFFEFFFFF80003FFFC03FE0000007FC003FC000000
-3F0001FC0000003E0001FC0000003C0001FC000000380001FC000000700001FC00000070
-0001FC000000E00001FC000001E00001FC000001C00001FE000003800001FE0000038000
-00FE000007000000FE00000F000000FE00000E000000FE00001C000000FE00001C000000
-FE000038000000FE000038000000FE000070000000FE0000E0000000FE0000E0000000FF
-0001C00000007F0001C00000007F0003800000007F0007800000007F0007000000007F00
-0E000000007F000E000000007F001C000000007F003C000000007F0038000000007F0070
-000000007F8070000000003F80E0000000003F81E0000000003F81C0000000003F838000
-0000003F8380000000003F8700000000003F8700000000003F8E00000000003F9E000000
-00003F9C00000000003FF800000000003FF800000000001FF000000000001FF000000000
-001FE000000000001FC000000000001FC000000000001F8000000000001F800000000000
-1F0000000000001E0000000000001E0000000000373B6FB83E>86
-D<FFFFF80FFFFF001FFFF0FFFFF80FFFFF003FFFF0FFFFF00FFFFF003FFFE007FE00007F
-E00003FE0003F800003F800001FC0003F800003F800000F00003F800003F800000F00003
-F800003F800001E00003F800003F800001C00003F800003F800003C00003F800003F8000
-03800003F800003F800007800003F800007F800007000003F800007F80000E000003F800
-00FF80000E000003F80001FF80001C000003F80001FF80001C000003F80003BF80003800
-0003FC0003BF800038000001FC00073F800070000001FC00073F800070000001FC000E3F
-8000E0000001FC000E3FC000E0000001FC001C1FC001C0000001FC001C1FC003C0000001
-FC00381FC00380000001FC00381FC00700000001FC00701FC00700000001FC00F01FC00E
-00000001FC00E01FC00E00000001FC01C01FC01C00000001FC01C01FC01C00000001FC03
-801FC03800000001FC03801FC03800000001FC07001FC07000000001FC07001FC0700000
-0001FC0E001FC0E000000001FC0E001FC1E000000001FC1C001FC1C000000001FC1C001F
-C38000000001FC38001FC38000000001FC78001FC70000000001FC70001FC70000000001
-FCE0001FCE0000000001FEE0001FCE0000000000FFC0001FDC0000000000FFC0001FDC00
-00000000FF80001FF80000000000FF80001FF80000000000FF00001FF00000000000FF00
-000FF00000000000FE00000FE00000000000FE00000FC00000000000FC00000FC0000000
-0000FC00000F800000000000F800000F800000000000F000000F000000000000F000000F
-000000000000E000000E00000000004C3B6FB853>I<0000F800000007FE0000001F871C
-00003E03FE00007C03FE0000F801FE0001F801FE0003F000FC0007E000FC000FE000FC00
-0FC001FC001FC001F8001FC001F8003F8001F8003F8003F8007F8003F0007F0003F0007F
-0003F0007F0007F000FF0007E000FE0007E000FE0007E000FE000FE000FE000FC000FC00
-0FC1C0FC000FC1C0FC001FC1C0FC001F83C0FC001F8380FC003F8380FC003F87807C007F
-87007C00FF07003E01FF0F003E038F8E001F0F079E0007FE03FC0001F000F000222677A4
-2A>97 D<003F00001FFF00001FFF00001FFF0000007F0000007E0000007E0000007E0000
-00FE000000FC000000FC000000FC000001FC000001F8000001F8000001F8000003F80000
-03F0000003F0000003F0000007F0000007E0F80007E7FE0007EF0F800FFC07C00FF807C0
-0FF003E00FE003E01FC003F01FC003F01F8003F01F8003F03F8003F03F0003F03F0003F0
-3F0007F07F0007F07E0007F07E0007F07E000FF0FE000FF0FC000FE0FC000FE0FC001FE0
-FC001FC0F8001FC0F8003F80F8003F80F8003F00F8007F00F8007E00F800FC007801F800
-7C01F0003C03E0003E07C0001E1F80000FFE000001F000001C3B77B926>I<00007F0000
-03FFC0000FC1E0001F0070007E007800FC003801F801F803F003F807F003F807E003F80F
-E003F81FC003F01FC000003F8000003F8000007F8000007F0000007F0000007F000000FF
-000000FE000000FE000000FE000000FE000000FC000000FC000000FC000000FC000030FC
-000038FC0000787C0000F07E0001E03E0003C03E000F801F003E000F81F80003FFE00000
-FF00001D2677A426>I<00000001F8000000FFF8000000FFF8000000FFF800000003F800
-000003F000000003F000000007F000000007F000000007E000000007E00000000FE00000
-000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F80000000
-3F800000003F800000F83F000007FE3F00001F877F00003E03FF00007C03FE0000F801FE
-0001F801FE0003F000FE0007E000FC000FE000FC000FC001FC001FC001FC001FC001F800
-3F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F000FF0007F000FE
-0007E000FE0007E000FE000FE000FE000FE000FC000FC1C0FC000FC1C0FC001FC1C0FC00
-1FC3C0FC001F8380FC003F8380FC003F87807C007F87007C00FF07003E01FF0F003E038F
-8E001F0F079E0007FE03FC0001F000F000253B77B92A>I<00007F000003FFC0000FC1E0
-003F00F0007E007800FC007801F8007803F0007807E000780FE000780FC000F81FC000F0
-3F8001F03F8007E03F801F807F81FF007FFFF8007FFF00007F000000FF000000FE000000
-FE000000FE000000FE000000FE000000FC000000FC000000FC0000307C0000387C000078
-7E0000F03E0001E03E0003C01F000F800F003E000781F80003FFE00000FF00001D2677A4
-26>I<00000007C00000001FF00000003E380000007C3C000000F8FC000000F9FC000001
-F9FC000001F1FC000003F1F8000003F0F0000003F000000007F000000007E000000007E0
-00000007E000000007E00000000FE00000000FC00000000FC00000000FC00000000FC000
-00001FC00000001F8000000FFFFFC0001FFFFFC0001FFFFF8000003F800000003F000000
-003F000000003F000000003F000000007F000000007E000000007E000000007E00000000
-7E00000000FE00000000FC00000000FC00000000FC00000000FC00000001FC00000001F8
-00000001F800000001F800000001F800000003F800000003F000000003F000000003F000
-000003F000000007F000000007E000000007E000000007E000000007E00000000FE00000
-000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F80000000
-1F000000003F0000001C3F0000007E3E0000007E3E000000FE3C000000FE7C000000FE78
-000000F8F000000078F00000003FC00000000F80000000264C82BA19>I<000007C00000
-003FF0000000FC38E00001F01FF00003E01FF00007C00FF0000F800FF0001F8007F0003F
-0007E0007F0007E0007E000FE000FE000FE000FC000FC001FC000FC001FC001FC003FC00
-1FC003F8001F8003F8001F8003F8003F8007F8003F8007F0003F0007F0003F0007F0007F
-0007F0007F0007E0007E0007E0007E0007E000FE0007E000FE0007E000FC0003E001FC00
-03E003FC0003E007FC0001F00FF80000F01FF80000787BF800003FF3F800000FC3F00000
-0003F000000007F000000007F000000007E000000007E00000000FE00000000FC0001C00
-0FC0007E001FC0007E001F8000FE003F0000FE007E0000FE00FC00007801F800007C07E0
-00001FFF80000003FE00000024367CA426>I<0003F0000001FFF0000001FFF0000001FF
-F000000007F000000007E000000007E000000007E00000000FE00000000FC00000000FC0
-0000000FC00000001FC00000001F800000001F800000001F800000003F800000003F0000
-00003F000000003F000000007F000000007E07F000007E1FFC00007E783E0000FFE01F00
-00FFC01F8000FF800F8000FF000F8001FE000F8001FE000FC001FC000FC001F8001F8003
-F8001F8003F0001F8003F0001F8003F0003F8007F0003F0007E0003F0007E0003F0007E0
-007F000FE0007E000FC0007E000FC000FE000FC000FC001FC000FC001F8001FC1C1F8001
-F81C1F8001F83C3F8003F8383F0003F0383F0003F0383F0003F0707F0003E0707E0003E0
-F07E0003E0E07E0003E1C0FE0001E380FC0000FF003800003C00263B7BB92A>I<0001C0
-0007E00007F0000FF0000FE00007E0000380000000000000000000000000000000000000
-00000000000000000000000000000000F00003FC00071E000E1F001C1F001C1F00381F00
-383F00703F00703F00707F00F07E00E07E00E0FE0000FC0000FC0001FC0001F80003F800
-03F80003F00007F00007E00007E0000FE0E00FC0E00FC1E01FC1C01F81C01F81C01F8380
-1F03801F07001F07001F0E000F1C0007F80001E000143879B619>I<0003F0000001FFF0
-000001FFF0000001FFF000000007F000000007E000000007E000000007E00000000FE000
-00000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800000
-003F800000003F000000003F000000003F000000007F000000007E000F80007E003FE000
-7E00F0E000FE01C1F000FC0387F000FC0707F000FC0E07F001FC1C07E001F83807E001F8
-30038001F870000003F8E0000003F1C0000003F380000003FF00000007FC00000007FE00
-000007FFC0000007E7F800000FE1FC00000FC07E00000FC07F00000FC03F00001FC03F80
-001F801F81C01F801F81C01F801F83C03F803F83803F003F03803F003F03803F003F0780
-7F003F07007E003E07007E001E0E007E001E1E00FE000F3C00FC0007F800380001E00024
-3B7BB926>107 D<000FC007FFC007FFC007FFC0001FC0001F80001F80003F80003F8000
-3F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001
-F80001F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000F
-C0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E
-0E007E0E00FE0E00FE1E00FC1C00FC1C00FC3C00FC3800F83800F878007870007CE0001F
-E0000F8000123B79B915>I<01E000FE0007F00007F803FF801FFC000E3C0F07C0783E00
-1E3E3C03E1E01F001C1F7803F3C01F80383FF001F7800F80383FE001F7000F80783FC001
-FE000F80703FC001FE000FC0703F8001FC000FC0703F0003F8001F80F07F0003F8001F80
-E07E0003F0001F80E07E0003F0001F80007E0007F0003F8000FE0007F0003F0000FC0007
-E0003F0000FC0007E0003F0000FC000FE0007F0001FC000FE0007E0001F8000FC0007E00
-01F8000FC000FE0001F8001FC000FC0003F8001FC000FC0003F0001F8001FC1C03F0001F
-8001F81C03F0003F8001F83C07F0003F8003F83807E0003F0003F03807E0003F0003F038
-07E0007F0003F0700FE0007F0003E0700FC0007E0003E0F00FC0007E0003E0E00FC000FE
-0003E1C01FC000FE0001E3C01F8000FC0000FF000700003800003C003E2679A444>I<01
-E000FE000007F803FF80000E3C0F07C0001E3E3C03E0001C1F7803F000383FF001F00038
-3FE001F000783FC001F000703FC001F800703F8001F800703F0003F000F07F0003F000E0
-7E0003F000E07E0003F000007E0007F00000FE0007E00000FC0007E00000FC0007E00000
-FC000FE00001FC000FC00001F8000FC00001F8001FC00001F8001F800003F8001F800003
-F0003F838003F0003F038003F0003F078007F0007F070007E0007E070007E0007E070007
-E0007E0E000FE0007C0E000FC0007C1E000FC0007C1C000FC0007C38001FC0003C78001F
-80001FE000070000078000292679A42F>I<00007F000003FFC0000FC1F0001F00F8007E
-007C00FC007C01F8007E03F0003E07F0003F07E0003F0FE0003F1FC0003F1FC0003F3F80
-003F3F80007F7F80007F7F00007F7F00007F7F0000FFFF0000FFFE0000FEFE0000FEFE00
-01FEFE0001FCFC0001FCFC0003F8FC0003F8FC0007F0FC0007E0FC000FE07C000FC07E00
-1F803E003F003E007E001F00F8000F83F00003FFC00000FE0000202677A42A>I<000780
-07C000001FE03FF000003CF0787C000038F8E03E0000787FC03E0000707F801F000070FF
-001F0000F0FE001F8000E0FE001F8000E0FC001F8001E1FC001F8001C1FC001F8001C1F8
-001F8001C1F8001F800003F8003F800003F8003F800003F0003F800003F0003F800007F0
-007F800007F0007F800007E0007F000007E0007F00000FE000FF00000FE000FE00000FC0
-00FE00000FC001FC00001FC001FC00001FC001F800001F8003F800001F8003F000003F80
-07E000003FC00FC000003FC00F8000003FE01F0000007FE03E0000007F70FC0000007E3F
-F00000007E0F80000000FE0000000000FE0000000000FC0000000000FC0000000001FC00
-00000001FC0000000001F80000000001F80000000003F80000000003F80000000003F000
-00000007F000000000FFFFC0000000FFFFC0000000FFFFC0000000293580A42A>I<0000
-F8030007FE07001F871F003E03BF007C03FE00F801FE01F801FE03F000FE07E000FC0FE0
-00FC0FC000FC1FC001FC1FC001F83F8001F83F8001F87F8003F87F0003F07F0003F07F00
-03F0FF0007F0FE0007E0FE0007E0FE0007E0FE000FE0FC000FC0FC000FC0FC000FC0FC00
-1FC0FC001F80FC003F80FC003F807C007F807C00FF003E01FF003E03BF001F0F7F0007FE
-7E0001F07E0000007E000000FE000000FC000000FC000000FC000001FC000001F8000001
-F8000001F8000003F8000003F0000007F00001FFFFC001FFFFC001FFFFC0203577A426>
-I<03C003F0000FF01FFC001E783C0F001C7C700F003C3EE03F80383FC03F80387F803F80
-787F803F00707F003F00707F001C00F07E000000E0FE000000E0FC000000E0FC00000000
-FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003F0
-00000003F000000007F000000007E000000007E000000007E00000000FE00000000FC000
-00000FC00000000FC00000001FC00000001F800000001F800000001F800000003F800000
-003F000000000E00000000212679A423>I<0000FE000007FF80000F83C0003E00E0007C
-00F00078007000F800F001F803F001F003F001F003F001F003E003F001C003F8000003FC
-000003FFC00001FFF80001FFFE0000FFFF00007FFF80003FFF80000FFFC00000FFC00000
-3FC000001FC000000FC03E000FC07E000FC0FE000F80FE000F80FE000F80FC001F00E000
-1F00F0003E0070007C003800F8001E03E0000FFFC00001FE00001C267AA422>I<000380
-0007C0000FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00003F00
-003F00007F00007E007FFFFF7FFFFFFFFFFF00FC0000FC0000FC0001FC0001F80001F800
-01F80003F80003F00003F00003F00007F00007E00007E00007E0000FE0000FC0000FC000
-0FC0001FC0001F801C1F801C1F803C3F80383F00783F00703F00F03F00E03F01C03E03C0
-1F07800F0F0007FC0001F000183579B31C>I<00F800000003FE0001C0078F0003E00E0F
-8007E01E0F8007E01C0F8007E0380F800FE0381F800FE0781F800FC0701F800FC0703F80
-1FC0F03F001FC0E03F001F80E07F001F80007E003F80007E003F8000FE003F0000FC003F
-0000FC007F0001FC007F0001F8007E0001F8007E0001F800FE0003F800FE0003F000FC0E
-03F000FC0E03F001FC1E03F001FC1C03F001F81C03E001F81C03E001F83C03F003F83803
-F007F83801F007F07001F01EF8F000F83C78E0003FF03FC0000FC00F00272679A42D>I<
-00F0000E0003FC003F00071E007F800E1F007F801C1F007F803C1F007F80381F003F8038
-3F001F80703F000F80703F000F80707F000F80F07E000F00E07E000700E0FE00070000FC
-000F0000FC000E0001FC000E0001F8000E0001F8001E0003F8001C0003F0001C0003F000
-1C0003F0003C0007F000380007E000380007E000700007E000700007E000700007E000E0
-0007E000E00007E001C00007E003C00003E003800003F007000001F00E000000F83C0000
-007FF80000000FC00000212679A426>I<00F0000000070003FC0003801F80071E0007C0
-3FC00E1F000FC03FC01C1F000FC03FC03C1F000FC03FC0381F001FC01FC0383F001F800F
-C0703F001F8007C0703F001F8007C0707F003F8007C0F07E003F800780E07E003F000380
-E0FE003F00038000FC007F00078000FC007F00070001FC007E00070001F8007E00070001
-F800FE000F0003F800FE000E0003F000FC000E0003F000FC000E0003F000FC001E0007F0
-01FC001C0007E001F8001C0007E001F8003C0007E001F800380007E001F800380007E001
-F800780007E001F800700007E003F800F00007E003F800E00003E007F801E00003F00FFC
-03C00001F01E7C07800000FC3C3E0F0000003FF81FFE0000000FE003F00000322679A437
->I<0007E007C0001FF81FF800787C383C00F03E703C01E01EE0FE03C01FE0FE03801FC0
-FE07001FC0FC0F001F80FC0E001F80700E003F80001E003F00001C003F00001C003F0000
-00007F000000007F000000007E000000007E00000000FE00000000FE00000000FC000000
-00FC00000001FC00000001FC00000001F800700001F800700003F800F00003F800E01C03
-F000E07E03F001E07E07F001C0FE07F00380FE0FF00780FE0EF00F00781CF81E0078387C
-3C003FF03FF00007C00FC00027267CA427>I<00F000000003FC0001C0071E0003E00E1F
-0007E01C1F0007E03C1F0007E0381F000FE0383F000FC0703F000FC0703F000FC0707F00
-1FC0F07E001F80E07E001F80E0FE001F8000FC003F8000FC003F0001FC003F0001F8003F
-0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0007F000FC0007E000FC00
-07E000FC0007E001FC0007E001F80007E001F80007E001F80007E003F80007E003F00007
-E007F00003E00FF00003F01FF00001F87FE000007FF7E000001FC7E00000000FE0000000
-0FC00000000FC00000001FC0003F001F80007F003F80007F003F00007F007E00007F007C
-00007E00FC00007001F800007003E000003807C000003C1F8000000FFE00000003F00000
-00233679A428>I<0003C00380000FF00780001FF80700003FFC0F00007FFC0E0000FFFE
-1E0000F83FFC0001F007F80001E000F00001C000E00001C001E000000003C00000000780
-0000000F000000001E000000003C000000007800000000F000000001E000000003C00000
-0007800000000F000000001E000000003C0000000078001C0000F0001C0001E0003C0003
-C00038000380007800078000F8000FF801F0001FFF07E0003E1FFFE0003C0FFFC000780F
-FF80007007FF0000F003FC0000E000F0000021267BA422>I E /Fo
-23 121 df<000000003FFF000000000000000007FFFFF8000000000000003FFFFFFF0000
-0000000001FFFFFFFFE0000000000007FFFFFFFFF800000000001FFFFFFFFFFE00000000
-003FFFF807FFFF0000000000FFFFC000FFFFC000000001FFFF00003FFFE000000003FFFC
-00000FFFF000000007FFF8000007FFF80000000FFFF0000003FFFC0000001FFFE0000001
-FFFE0000003FFFC0000000FFFF0000003FFF800000007FFF0000007FFF800000007FFF80
-0000FFFF000000003FFFC00000FFFF000000003FFFC00001FFFE000000001FFFE00001FF
-FE000000001FFFE00003FFFE000000001FFFF00003FFFE000000001FFFF00007FFFE0000
-00001FFFF80007FFFC000000000FFFF8000FFFFC000000000FFFFC000FFFFC000000000F
-FFFC000FFFFC000000000FFFFC001FFFFC000000000FFFFE001FFFFC000000000FFFFE00
-1FFFFC000000000FFFFE001FFFFC000000000FFFFE003FFFFC000000000FFFFF003FFFF8
-0000000007FFFF003FFFF80000000007FFFF003FFFF80000000007FFFF003FFFF8000000
-0007FFFF007FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FF
-FF807FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FFFF807F
-FFF80000000007FFFF807FFFF80000000007FFFF80FFFFF80000000007FFFFC0FFFFF800
-00000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF800000000
-07FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFF
-C0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFF
-F80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000
-000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007
-FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0
-FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF8
-0000000007FFFFC0FFFFF80000000007FFFFC0FFFFF80000000007FFFFC0FFFFF8000000
-0007FFFFC07FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FF
-FF807FFFF80000000007FFFF807FFFF80000000007FFFF807FFFF80000000007FFFF807F
-FFF80000000007FFFF807FFFF80000000007FFFF803FFFF80000000007FFFF003FFFFC00
-0000000FFFFF003FFFFC000000000FFFFF003FFFFC000000000FFFFF003FFFFC00000000
-0FFFFF001FFFFC000000000FFFFE001FFFFC000000000FFFFE001FFFFC000000000FFFFE
-000FFFFC000000000FFFFC000FFFFC000000000FFFFC000FFFFC000000000FFFFC0007FF
-FE000000001FFFF80007FFFE000000001FFFF80007FFFE000000001FFFF80003FFFE0000
-00001FFFF00003FFFE000000001FFFF00001FFFF000000003FFFE00001FFFF000000003F
-FFE00000FFFF800000007FFFC000007FFF800000007FFF8000007FFFC0000000FFFF8000
-003FFFC0000000FFFF0000001FFFE0000001FFFE0000000FFFF0000003FFFC00000007FF
-F8000007FFF800000003FFFC00000FFFF000000001FFFF00003FFFE000000000FFFFC000
-FFFFC0000000007FFFF807FFFF80000000001FFFFFFFFFFE000000000007FFFFFFFFF800
-0000000001FFFFFFFFE00000000000007FFFFFFF8000000000000007FFFFF80000000000
-0000003FFF0000000000527379F061>48 D<0000000001F00000000000000007F8000000
-000000000FF8000000000000003FF8000000000000007FF800000000000001FFF8000000
-0000000FFFF80000000000003FFFF8000000000001FFFFF800000000003FFFFFF8000000
-000FFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000
-FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFE7FFFF8000000FFFFC07FFFF8000000
-FFF0007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000
-0000007FFFF80000000000007FFFF80000000000007FFFF80000007FFFFFFFFFFFFFFFF0
-7FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF0
-7FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFF0447171F061>I<0000
-000FFFE000000000000001FFFFFF8000000000000FFFFFFFF000000000007FFFFFFFFE00
-00000001FFFFFFFFFF8000000003FFFFFFFFFFE00000000FFFFFFFFFFFF80000003FFFFF
-FFFFFFFC0000007FFFC01FFFFFFF000000FFFC0001FFFFFF800001FFE000007FFFFFC000
-03FF8000001FFFFFE00007FF0000000FFFFFF0000FFE00000007FFFFF8001FFC00000003
-FFFFFC001FFF00000001FFFFFE003FFFC0000000FFFFFF003FFFF00000007FFFFF007FFF
-F80000007FFFFF807FFFFC0000003FFFFF807FFFFE0000003FFFFFC0FFFFFE0000001FFF
-FFC0FFFFFE0000001FFFFFE0FFFFFF0000000FFFFFE0FFFFFF0000000FFFFFE0FFFFFF00
-00000FFFFFE0FFFFFF00000007FFFFF0FFFFFF00000007FFFFF0FFFFFF00000007FFFFF0
-FFFFFF00000007FFFFF0FFFFFF00000007FFFFF07FFFFE00000007FFFFF07FFFFE000000
-07FFFFF07FFFFE00000007FFFFF03FFFFC00000007FFFFF01FFFF800000007FFFFF00FFF
-F000000007FFFFF003FFC000000007FFFFF000FF0000000007FFFFF000000000000007FF
-FFE00000000000000FFFFFE00000000000000FFFFFE00000000000000FFFFFE000000000
-00001FFFFFC00000000000001FFFFFC00000000000001FFFFF800000000000003FFFFF80
-0000000000003FFFFF000000000000007FFFFF000000000000007FFFFE00000000000000
-7FFFFC00000000000000FFFFF800000000000001FFFFF800000000000001FFFFF0000000
-00000003FFFFE000000000000003FFFFC000000000000007FFFF800000000000000FFFFF
-000000000000000FFFFE000000000000001FFFFC000000000000003FFFF0000000000000
-007FFFE0000000000000007FFFC000000000000000FFFF8000000000000001FFFE000000
-0000000003FFFC0000000000000007FFF8000000000000000FFFE0000000000000001FFF
-C0000000000000001FFF80000000000000003FFF00000000000000007FFC000000000000
-0000FFF80000000000000001FFF00000000000000003FFE00000000000000007FF800000
-0FF00000000FFF0000000FF00000001FFE0000000FF00000003FFC0000000FF00000007F
-F80000001FE0000000FFE00000001FE0000001FFC00000001FE0000003FF800000001FE0
-000007FF000000001FE000000FFE000000003FE000001FFC000000003FE000003FF00000
-00003FC000003FE0000000003FC000007FC0000000007FC00000FF80000000007FC00001
-FF0000000000FFC00003FC0000000007FFC00007FFFFFFFFFFFFFFC0000FFFFFFFFFFFFF
-FFC0001FFFFFFFFFFFFFFF80003FFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFF8000FFFFFF
-FFFFFFFFFF8001FFFFFFFFFFFFFFFF8003FFFFFFFFFFFFFFFF8007FFFFFFFFFFFFFFFF80
-0FFFFFFFFFFFFFFFFF801FFFFFFFFFFFFFFFFF003FFFFFFFFFFFFFFFFF007FFFFFFFFFFF
-FFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFF
-FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFF
-FE00FFFFFFFFFFFFFFFFFE004C7176F061>I<00000001FFFE000000000000003FFFFFF8
-000000000001FFFFFFFF00000000000FFFFFFFFFE0000000003FFFFFFFFFF8000000007F
-FFFFFFFFFE00000001FFFFFFFFFFFF80000003FFFF003FFFFFC000000FFFF00007FFFFF0
-00001FFF800001FFFFF800003FFE000000FFFFFC00007FF80000007FFFFE00007FE00000
-003FFFFE0000FFF00000003FFFFF0001FFFC0000001FFFFF8001FFFF0000001FFFFF8003
-FFFF8000000FFFFFC003FFFFC000000FFFFFC003FFFFE000000FFFFFC007FFFFE000000F
-FFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFF
-F000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFFE007FFFFF000000FFFFF
-E007FFFFF000000FFFFFE007FFFFF000000FFFFFE003FFFFE000000FFFFFE003FFFFE000
-000FFFFFC001FFFFC000001FFFFFC000FFFF8000001FFFFFC0007FFF0000001FFFFF8000
-3FFE0000001FFFFF80000FF80000003FFFFF800000000000003FFFFF000000000000003F
-FFFE000000000000007FFFFE000000000000007FFFFC00000000000000FFFFF800000000
-000001FFFFF000000000000001FFFFE000000000000003FFFFC000000000000007FFFF80
-0000000000000FFFFF000000000000001FFFFC000000000000003FFFF800000000000001
-FFFFE00000000000007FFFFF8000000000007FFFFFFE000000000000FFFFFFF800000000
-0000FFFFFFC0000000000000FFFFFFF8000000000000FFFFFFFF8000000000007FFFFFFF
-F0000000000000003FFFFC0000000000000007FFFF0000000000000001FFFFC000000000
-000000FFFFE0000000000000007FFFF8000000000000003FFFFC000000000000001FFFFE
-000000000000001FFFFF000000000000000FFFFF800000000000000FFFFFC00000000000
-0007FFFFE000000000000007FFFFF000000000000007FFFFF000000000000003FFFFF800
-000000000003FFFFFC00000000000003FFFFFC00000000000003FFFFFC00000000000001
-FFFFFE00000000000001FFFFFE00000000000001FFFFFE00000000000001FFFFFF00FF80
-00000001FFFFFF03FFE000000001FFFFFF07FFF000000001FFFFFF1FFFFC00000001FFFF
-FF3FFFFE00000001FFFFFF3FFFFE00000001FFFFFF7FFFFF00000001FFFFFF7FFFFF0000
-0001FFFFFFFFFFFF80000001FFFFFFFFFFFF80000001FFFFFFFFFFFF80000001FFFFFFFF
-FFFF80000001FFFFFEFFFFFF80000001FFFFFEFFFFFF80000001FFFFFEFFFFFF80000003
-FFFFFEFFFFFF80000003FFFFFCFFFFFF80000003FFFFFCFFFFFF00000003FFFFFC7FFFFF
-00000003FFFFF87FFFFE00000007FFFFF87FFFFC00000007FFFFF03FFFF80000000FFFFF
-E03FFFF00000000FFFFFE01FFFC00000001FFFFFC00FFF000000001FFFFF800FFF000000
-003FFFFF0007FF800000007FFFFE0003FFF0000000FFFFFC0001FFFC000001FFFFF80000
-7FFFC00007FFFFF000003FFFFE003FFFFFC000000FFFFFFFFFFFFF80000007FFFFFFFFFF
-FE00000001FFFFFFFFFFF8000000003FFFFFFFFFE0000000000FFFFFFFFF000000000000
-FFFFFFF000000000000007FFFE00000000507378F061>I<000000000000000FF0000000
-0000000000001FF80000000000000000003FF80000000000000000003FF8000000000000
-0000007FF8000000000000000000FFF8000000000000000001FFF8000000000000000001
-FFF8000000000000000003FFF8000000000000000007FFF800000000000000000FFFF800
-000000000000001FFFF800000000000000001FFFF800000000000000003FFFF800000000
-000000007FFFF80000000000000000FFFFF80000000000000000FFFFF800000000000000
-01FFFFF80000000000000003FFFFF80000000000000007FFFFF80000000000000007FFFF
-F8000000000000000FFFFFF8000000000000001FFFFFF8000000000000003FFFFFF80000
-00000000007FFFFFF8000000000000007FBFFFF800000000000000FF3FFFF80000000000
-0001FF3FFFF800000000000003FE3FFFF800000000000003FC3FFFF800000000000007F8
-3FFFF80000000000000FF83FFFF80000000000001FF03FFFF80000000000003FE03FFFF8
-0000000000003FC03FFFF80000000000007FC03FFFF8000000000000FF803FFFF8000000
-000001FF003FFFF8000000000001FE003FFFF8000000000003FC003FFFF8000000000007
-FC003FFFF800000000000FF8003FFFF800000000001FF0003FFFF800000000001FE0003F
-FFF800000000003FE0003FFFF800000000007FC0003FFFF80000000000FF80003FFFF800
-00000000FF00003FFFF80000000001FE00003FFFF80000000003FE00003FFFF800000000
-07FC00003FFFF80000000007F800003FFFF8000000000FF000003FFFF8000000001FF000
-003FFFF8000000003FE000003FFFF8000000007FC000003FFFF8000000007F8000003FFF
-F800000000FF0000003FFFF800000001FF0000003FFFF800000003FE0000003FFFF80000
-0003FC0000003FFFF800000007F80000003FFFF80000000FF80000003FFFF80000001FF0
-0000003FFFF80000003FE00000003FFFF80000003FC00000003FFFF80000007FC0000000
-3FFFF8000000FF800000003FFFF8000001FF000000003FFFF8000001FE000000003FFFF8
-000003FC000000003FFFF8000007FC000000003FFFF800000FF8000000003FFFF800001F
-F0000000003FFFF800001FE0000000003FFFF800003FE0000000003FFFF800007FC00000
-00003FFFF80000FF80000000003FFFF80000FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFF
-FFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF
-FCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFC0000
-00000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800000000000000
-00FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFF
-F80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000
-000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000
-000000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000
-FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8
-000000000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00
-000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC00000007
-FFFFFFFFFFFFFC00000007FFFFFFFFFFFFFC56727BF161>I<0070000000000000700000
-FE000000000001F80000FF80000000000FF80000FFF8000000007FF80000FFFF80000007
-FFF80000FFFFFE0001FFFFF80000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFE00000FFFF
-FFFFFFFFFFC00000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFF800000FFFFFFFFFFFFFF00
-0000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFC000000FFFFFFFFFFFFF8000000FFFFFFFF
-FFFFE0000000FFFFFFFFFFFFC0000000FFFFFFFFFFFF80000000FFFFFFFFFFFE00000000
-FFFFFFFFFFF800000000FFFFFFFFFFF000000000FFFFFFFFFFC000000000FFFFFFFFFF00
-00000000FFFFFFFFF80000000000FFFFFFFFC00000000000FF07FFF8000000000000FF00
-0000000000000000FF000000000000000000FF000000000000000000FF00000000000000
-0000FF000000000000000000FF000000000000000000FF000000000000000000FF000000
-000000000000FF000000000000000000FF000000000000000000FF000000000000000000
-FF000000000000000000FF000000000000000000FF000000000000000000FF0000000000
-00000000FF000000000000000000FF0001FFFC0000000000FF001FFFFFE000000000FF00
-FFFFFFFC00000000FF03FFFFFFFF00000000FF0FFFFFFFFFC0000000FF1FFFFFFFFFF000
-0000FF7FFF003FFFF8000000FFFFF0000FFFFE000000FFFF800003FFFF000000FFFE0000
-01FFFF800000FFF8000000FFFFC00000FFF00000007FFFE00000FFE00000003FFFF00000
-FFC00000003FFFF80000FF800000001FFFFC0000FF000000001FFFFE00007E000000001F
-FFFE00007C000000000FFFFF000000000000000FFFFF000000000000000FFFFF80000000
-0000000FFFFF800000000000000FFFFFC00000000000000FFFFFC000000000000007FFFF
-C000000000000007FFFFE000000000000007FFFFE000000000000007FFFFE00000000000
-0007FFFFE000000000000007FFFFE000000000000007FFFFF000000000000007FFFFF000
-000000000007FFFFF000FE0000000007FFFFF003FF8000000007FFFFF00FFFC000000007
-FFFFF01FFFF000000007FFFFF03FFFF800000007FFFFF07FFFF800000007FFFFF07FFFFC
-00000007FFFFF0FFFFFC00000007FFFFF0FFFFFC00000007FFFFF0FFFFFC00000007FFFF
-F0FFFFFC00000007FFFFF0FFFFFC00000007FFFFE0FFFFFC00000007FFFFE0FFFFFC0000
-0007FFFFE0FFFFFC00000007FFFFE0FFFFFC0000000FFFFFC0FFFFF80000000FFFFFC07F
-FFF80000000FFFFFC07FFFF00000000FFFFF807FFFE00000000FFFFF807FFFC00000001F
-FFFF803FFF000000001FFFFF003FE0000000001FFFFE001FF0000000003FFFFE001FF800
-0000003FFFFC000FFC000000007FFFF8000FFE000000007FFFF80007FE00000000FFFFF0
-0003FF80000001FFFFE00001FFC0000003FFFFC00001FFE0000007FFFF8000007FF80000
-1FFFFE0000003FFF00007FFFFC0000001FFFF007FFFFF80000000FFFFFFFFFFFE0000000
-03FFFFFFFFFF8000000001FFFFFFFFFE00000000007FFFFFFFF800000000001FFFFFFFC0
-000000000003FFFFFE000000000000003FFF80000000004C7376F061>I<00000000001F
-FF8000000000000003FFFFF80000000000003FFFFFFE000000000001FFFFFFFF80000000
-0007FFFFFFFFC0000000001FFFFFFFFFF0000000007FFFFFFFFFF800000000FFFFFC01FF
-FC00000003FFFFC0001FFE00000007FFFE000007FF0000001FFFF8000003FF0000003FFF
-F0000001FF8000007FFFC000000FFF800000FFFF8000003FFFC00001FFFF0000007FFFC0
-0003FFFE000000FFFFC00007FFFC000001FFFFE0000FFFF8000001FFFFE0001FFFF80000
-03FFFFE0001FFFF0000003FFFFE0003FFFF0000003FFFFE0007FFFE0000003FFFFE0007F
-FFE0000003FFFFE000FFFFC0000003FFFFE001FFFFC0000003FFFFE001FFFF80000003FF
-FFE003FFFF80000001FFFFC003FFFF80000001FFFFC007FFFF00000000FFFF8007FFFF00
-0000007FFF0007FFFF000000003FFE000FFFFF000000000FF8000FFFFF00000000000000
-1FFFFE000000000000001FFFFE000000000000001FFFFE000000000000001FFFFE000000
-000000003FFFFE000000000000003FFFFE000000000000003FFFFE000000000000003FFF
-FE000000000000007FFFFC0007FFE00000007FFFFC001FFFFE0000007FFFFC007FFFFFC0
-00007FFFFC01FFFFFFF800007FFFFC03FFFFFFFC00007FFFFC0FFFFFFFFF0000FFFFFC1F
-F803FFFF8000FFFFFC3FC0007FFFE000FFFFFC3F80001FFFF000FFFFFC7E00000FFFF800
-FFFFFCFC000007FFFC00FFFFFDFC000003FFFE00FFFFFDF8000001FFFF00FFFFFFF00000
-01FFFF80FFFFFFE0000000FFFFC0FFFFFFE0000000FFFFE0FFFFFFC0000000FFFFE0FFFF
-FFC00000007FFFF0FFFFFF800000007FFFF0FFFFFF800000007FFFF8FFFFFF800000007F
-FFF8FFFFFF000000007FFFFCFFFFFF000000003FFFFCFFFFFF000000003FFFFCFFFFFE00
-0000003FFFFEFFFFFE000000003FFFFEFFFFFE000000003FFFFEFFFFFE000000003FFFFE
-FFFFFE000000003FFFFFFFFFFE000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000
-003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF7FFF
-FC000000003FFFFF7FFFFC000000003FFFFF7FFFFC000000003FFFFF3FFFFC000000003F
-FFFF3FFFFC000000003FFFFF3FFFFC000000003FFFFF3FFFFC000000003FFFFF3FFFFE00
-0000003FFFFF1FFFFE000000003FFFFF1FFFFE000000003FFFFF1FFFFE000000003FFFFE
-0FFFFE000000003FFFFE0FFFFE000000003FFFFE0FFFFE000000003FFFFE07FFFE000000
-003FFFFE07FFFE000000003FFFFC07FFFF000000007FFFFC03FFFF000000007FFFF803FF
-FF000000007FFFF801FFFF000000007FFFF801FFFF800000007FFFF000FFFF80000000FF
-FFE0007FFFC0000000FFFFE0007FFFC0000000FFFFC0003FFFE0000001FFFF80001FFFE0
-000003FFFF00001FFFF0000003FFFF00000FFFF8000007FFFE000007FFFC00000FFFFC00
-0003FFFF00001FFFF0000000FFFF80007FFFE00000007FFFF007FFFFC00000003FFFFFFF
-FFFF000000000FFFFFFFFFFE0000000003FFFFFFFFF80000000001FFFFFFFFE000000000
-003FFFFFFF80000000000007FFFFFC000000000000007FFF80000000507378F061>I<03
-FC00000000000000000003FC00000000000000000007FE00000000000000000007FF0000
-0000000000000007FFC0000000000000000007FFFFF00000000000000007FFFFFFFFFFFF
-FFFFFFC007FFFFFFFFFFFFFFFFFFC007FFFFFFFFFFFFFFFFFFC007FFFFFFFFFFFFFFFFFF
-C00FFFFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFC00FFF
-FFFFFFFFFFFFFFFF800FFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFE000FFFFFFFFF
-FFFFFFFFFE001FFFFFFFFFFFFFFFFFFC001FFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFF
-FFF0001FFFFFFFFFFFFFFFFFE0001FFFFFFFFFFFFFFFFFC0001FFFFFFFFFFFFFFFFFC000
-1FFFFFFFFFFFFFFFFF80001FFFFFFFFFFFFFFFFF00003FFFFFFFFFFFFFFFFE00003FFFFF
-FFFFFFFFFFFC00003FFE00000000000FF800003FF000000000001FF800003FE000000000
-003FF000003FE000000000007FE000003FC000000000007FC000003FC00000000000FF80
-00007FC00000000001FF0000007FC00000000003FF0000007F800000000007FE0000007F
-80000000000FFC0000007F80000000000FF80000007F80000000001FF00000007F800000
-00003FE0000000FF00000000007FE0000000FF0000000000FFC0000000FF0000000001FF
-80000000FF0000000001FF00000000000000000003FE00000000000000000007FC000000
-0000000000000FFC0000000000000000001FF80000000000000000001FF0000000000000
-0000003FF00000000000000000007FE00000000000000000007FC0000000000000000000
-FFC0000000000000000001FF80000000000000000001FF80000000000000000003FF8000
-0000000000000007FF00000000000000000007FF0000000000000000000FFE0000000000
-000000001FFE0000000000000000001FFE0000000000000000003FFC0000000000000000
-003FFC0000000000000000007FFC0000000000000000007FFC000000000000000000FFF8
-000000000000000000FFF8000000000000000001FFF8000000000000000001FFF8000000
-000000000003FFF0000000000000000003FFF0000000000000000007FFF0000000000000
-000007FFF000000000000000000FFFF000000000000000000FFFF000000000000000000F
-FFE000000000000000001FFFE000000000000000001FFFE000000000000000003FFFE000
-000000000000003FFFE000000000000000003FFFE000000000000000007FFFE000000000
-000000007FFFE000000000000000007FFFE00000000000000000FFFFE000000000000000
-00FFFFE00000000000000000FFFFC00000000000000000FFFFC00000000000000001FFFF
-C00000000000000001FFFFC00000000000000001FFFFC00000000000000001FFFFC00000
-000000000003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000
-000003FFFFC00000000000000003FFFFC00000000000000003FFFFC00000000000000003
-FFFFC00000000000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0
-0000000000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0000000
-0000000007FFFFC00000000000000007FFFFC00000000000000007FFFFC0000000000000
-0007FFFFC00000000000000007FFFFC00000000000000007FFFFC00000000000000007FF
-FFC00000000000000003FFFF800000000000000003FFFF800000000000000001FFFF0000
-00000000000001FFFF000000000000000000FFFE0000000000000000003FF80000000000
-000000000FE0000000000000527775F461>I<00000000FFFF800000000000001FFFFFFC
-000000000000FFFFFFFF800000000003FFFFFFFFF0000000000FFFFFFFFFFC000000003F
-FFFFFFFFFF000000007FFFFFFFFFFF80000001FFFF8003FFFFE0000003FFF800003FFFF0
-000007FFC000000FFFF800000FFF00000003FFFC00001FFC00000001FFFE00003FF80000
-00007FFF00007FF8000000007FFF00007FF0000000003FFF8000FFE0000000001FFF8000
-FFE0000000000FFFC001FFE0000000000FFFC001FFC00000000007FFC001FFC000000000
-07FFE003FFC00000000007FFE003FFC00000000007FFE003FFC00000000003FFE007FFE0
-0000000003FFE007FFE00000000003FFE007FFE00000000003FFE007FFF00000000003FF
-E007FFF80000000003FFE007FFFC0000000003FFE007FFFE0000000007FFE007FFFF0000
-000007FFE007FFFFC000000007FFC007FFFFE000000007FFC007FFFFF80000000FFFC007
-FFFFFE0000000FFF8007FFFFFF8000001FFF8003FFFFFFC000001FFF0003FFFFFFF00000
-3FFF0003FFFFFFFC00007FFE0001FFFFFFFE00007FFC0001FFFFFFFF8000FFFC0001FFFF
-FFFFE001FFF80000FFFFFFFFF803FFF00000FFFFFFFFFC0FFFC000007FFFFFFFFF1FFF80
-00003FFFFFFFFFFFFF0000003FFFFFFFFFFFFC0000001FFFFFFFFFFFF00000000FFFFFFF
-FFFFE000000007FFFFFFFFFF8000000003FFFFFFFFFFE000000001FFFFFFFFFFF0000000
-007FFFFFFFFFFC000000003FFFFFFFFFFF000000000FFFFFFFFFFF8000000007FFFFFFFF
-FFE000000003FFFFFFFFFFF00000000FFFFFFFFFFFF80000003FFFFFFFFFFFFC000000FF
-FFFFFFFFFFFE000001FFFFFFFFFFFFFF000007FFF0FFFFFFFFFF80000FFFC07FFFFFFFFF
-C0003FFF801FFFFFFFFFE0007FFF0007FFFFFFFFE000FFFE0001FFFFFFFFF001FFFC0000
-FFFFFFFFF003FFF800003FFFFFFFF807FFF000000FFFFFFFF807FFE0000007FFFFFFFC0F
-FFE0000001FFFFFFFC1FFFC00000007FFFFFFE1FFF800000001FFFFFFE3FFF800000000F
-FFFFFE3FFF0000000003FFFFFE7FFF0000000000FFFFFF7FFF00000000003FFFFF7FFE00
-000000001FFFFF7FFE00000000000FFFFFFFFE000000000007FFFFFFFE000000000003FF
-FFFFFC000000000001FFFFFFFC000000000001FFFFFFFC000000000000FFFFFFFC000000
-0000007FFFFFFC0000000000007FFFFFFC0000000000007FFFFFFC0000000000003FFFFF
-FC0000000000003FFEFFFC0000000000003FFEFFFE0000000000003FFEFFFE0000000000
-003FFE7FFE0000000000003FFC7FFF0000000000003FFC7FFF0000000000007FFC7FFF00
-00000000007FF83FFF8000000000007FF83FFF800000000000FFF01FFFC00000000000FF
-F01FFFE00000000001FFE00FFFF00000000003FFC007FFF80000000007FFC007FFFC0000
-00000FFF8003FFFE000000001FFF0001FFFF800000007FFE0000FFFFE0000001FFFC0000
-3FFFFC00000FFFF000001FFFFFC001FFFFE0000007FFFFFFFFFFFF80000003FFFFFFFFFF
-FF00000000FFFFFFFFFFFC000000001FFFFFFFFFF00000000007FFFFFFFF800000000000
-7FFFFFFC00000000000001FFFF00000000507378F061>I<00000000FFFF000000000000
-001FFFFFF0000000000000FFFFFFFE000000000007FFFFFFFF80000000001FFFFFFFFFE0
-000000003FFFFFFFFFF800000000FFFFFFFFFFFC00000001FFFFF007FFFF00000007FFFF
-0001FFFF8000000FFFFC00007FFFC000001FFFF800003FFFE000003FFFF000001FFFF000
-007FFFE000000FFFF80000FFFFC0000007FFFC0001FFFF80000003FFFC0003FFFF800000
-03FFFE0007FFFF00000001FFFF0007FFFF00000001FFFF000FFFFF00000000FFFF800FFF
-FE00000000FFFF801FFFFE00000000FFFFC01FFFFE00000000FFFFC03FFFFE000000007F
-FFE03FFFFE000000007FFFE07FFFFC000000007FFFF07FFFFC000000007FFFF07FFFFC00
-0000007FFFF07FFFFC000000007FFFF87FFFFC000000007FFFF8FFFFFC000000007FFFF8
-FFFFFC000000007FFFF8FFFFFC000000003FFFFCFFFFFC000000003FFFFCFFFFFC000000
-003FFFFCFFFFFC000000003FFFFCFFFFFC000000003FFFFCFFFFFC000000003FFFFEFFFF
-FC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003F
-FFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFEFFFFFC000000003FFFFFFFFFFC00
-0000007FFFFFFFFFFC000000007FFFFF7FFFFC000000007FFFFF7FFFFC000000007FFFFF
-7FFFFC000000007FFFFF7FFFFC000000007FFFFF3FFFFC00000000FFFFFF3FFFFC000000
-00FFFFFF3FFFFE00000000FFFFFF1FFFFE00000001FFFFFF1FFFFE00000001FFFFFF0FFF
-FE00000001FFFFFF0FFFFE00000003FFFFFF07FFFF00000003FFFFFF07FFFF00000007FF
-FFFF03FFFF00000007FFFFFF01FFFF8000000FFFFFFF00FFFF8000001FBFFFFF007FFFC0
-00003F3FFFFF003FFFE000003F3FFFFF001FFFF00000FE3FFFFF000FFFF80001FC3FFFFF
-0007FFFE0007FC3FFFFF0001FFFFC01FF83FFFFF0000FFFFFFFFF03FFFFE00003FFFFFFF
-C03FFFFE00001FFFFFFF803FFFFE000003FFFFFE003FFFFE0000007FFFF8003FFFFE0000
-0007FFC0003FFFFE000000000000003FFFFE000000000000007FFFFC000000000000007F
-FFFC000000000000007FFFFC000000000000007FFFFC000000000000007FFFF800000000
-0000007FFFF8000000000000007FFFF8000000000000007FFFF0001FF000000000FFFFF0
-007FFC00000000FFFFF000FFFE00000000FFFFE001FFFF00000000FFFFE003FFFF800000
-00FFFFC003FFFF80000001FFFFC007FFFFC0000001FFFFC007FFFFC0000001FFFF8007FF
-FFC0000003FFFF0007FFFFC0000003FFFF0007FFFFC0000003FFFE0007FFFFC0000007FF
-FE0007FFFFC0000007FFFC0007FFFFC000000FFFF80007FFFF8000001FFFF80007FFFF80
-00001FFFF00003FFFF0000003FFFE00003FFFE0000007FFFC00003FFFC000000FFFF8000
-01FFF0000001FFFF000001FF80000003FFFE000000FFE000000FFFFC0000007FF000003F
-FFF00000007FFE0000FFFFE00000003FFFE00FFFFFC00000001FFFFFFFFFFF0000000007
-FFFFFFFFFC0000000003FFFFFFFFF00000000000FFFFFFFFC000000000003FFFFFFF0000
-0000000007FFFFF0000000000000007FFE0000000000507378F061>I<00000000000000
-03F800000000000000000000000000000007FC0000000000000000000000000000000FFE
-0000000000000000000000000000000FFE0000000000000000000000000000001FFF0000
-000000000000000000000000001FFF0000000000000000000000000000001FFF00000000
-00000000000000000000003FFF8000000000000000000000000000003FFF800000000000
-0000000000000000007FFFC000000000000000000000000000007FFFC000000000000000
-000000000000007FFFC00000000000000000000000000000FFFFE0000000000000000000
-0000000000FFFFE00000000000000000000000000001FFFFF00000000000000000000000
-000001FFFFF00000000000000000000000000001FFFFF000000000000000000000000000
-03FFFFF80000000000000000000000000003FFFFF80000000000000000000000000007FF
-FFFC0000000000000000000000000007FFFFFC0000000000000000000000000007FFFFFC
-000000000000000000000000000FFFFFFE000000000000000000000000000FFFFFFE0000
-00000000000000000000001FFFFFFF000000000000000000000000001FFFFFFF00000000
-0000000000000000001FFFFFFF000000000000000000000000003FFFFFFF800000000000
-000000000000003FFFFFFF800000000000000000000000007FFFFFFFC000000000000000
-00000000007FFFFFFFC00000000000000000000000007FBFFFFFC0000000000000000000
-000000FF9FFFFFE0000000000000000000000000FF1FFFFFE00000000000000000000000
-01FF0FFFFFF0000000000000000000000001FF0FFFFFF0000000000000000000000001FE
-0FFFFFF0000000000000000000000003FE07FFFFF8000000000000000000000003FC07FF
-FFF8000000000000000000000007FC03FFFFFC000000000000000000000007FC03FFFFFC
-000000000000000000000007F803FFFFFC00000000000000000000000FF801FFFFFE0000
-0000000000000000000FF001FFFFFE00000000000000000000001FF000FFFFFF00000000
-000000000000001FF000FFFFFF00000000000000000000001FE000FFFFFF000000000000
-00000000003FE0007FFFFF80000000000000000000003FC0007FFFFF8000000000000000
-0000007FC0003FFFFFC0000000000000000000007FC0003FFFFFC0000000000000000000
-007F80003FFFFFC000000000000000000000FF80001FFFFFE000000000000000000000FF
-00001FFFFFE000000000000000000001FF00000FFFFFF000000000000000000001FF0000
-0FFFFFF000000000000000000001FE00000FFFFFF000000000000000000003FE000007FF
-FFF800000000000000000003FC000007FFFFF800000000000000000007FC000003FFFFFC
-00000000000000000007FC000003FFFFFC00000000000000000007F8000003FFFFFC0000
-000000000000000FF8000001FFFFFE0000000000000000000FF0000001FFFFFE00000000
-00000000001FF0000000FFFFFF0000000000000000001FF0000000FFFFFF000000000000
-0000001FE0000000FFFFFF0000000000000000003FE00000007FFFFF8000000000000000
-003FC00000007FFFFF8000000000000000007FC00000003FFFFFC000000000000000007F
-C00000003FFFFFC000000000000000007F800000003FFFFFC00000000000000000FF8000
-00001FFFFFE00000000000000000FF000000001FFFFFE00000000000000001FF00000000
-0FFFFFF00000000000000001FF000000000FFFFFF00000000000000001FE000000000FFF
-FFF00000000000000003FE0000000007FFFFF80000000000000003FC0000000007FFFFF8
-0000000000000007FFFFFFFFFFFFFFFFFC0000000000000007FFFFFFFFFFFFFFFFFC0000
-000000000007FFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFE00000000
-0000000FFFFFFFFFFFFFFFFFFE000000000000001FFFFFFFFFFFFFFFFFFF000000000000
-001FFFFFFFFFFFFFFFFFFF000000000000001FFFFFFFFFFFFFFFFFFF000000000000003F
-E000000000007FFFFF800000000000003FC000000000007FFFFF800000000000007FC000
-000000003FFFFFC00000000000007FC000000000003FFFFFC00000000000007F80000000
-00003FFFFFC0000000000000FF8000000000001FFFFFE0000000000000FF800000000000
-1FFFFFE0000000000001FF0000000000000FFFFFF0000000000001FF0000000000000FFF
-FFF0000000000001FE0000000000000FFFFFF0000000000003FE00000000000007FFFFF8
-000000000003FE00000000000007FFFFF8000000000007FC00000000000003FFFFFC0000
-00000007FC00000000000003FFFFFC000000000007F800000000000003FFFFFC00000000
-000FF800000000000001FFFFFE00000000000FF800000000000001FFFFFE00000000000F
-F000000000000000FFFFFE00000000001FF000000000000000FFFFFF00000000001FE000
-000000000000FFFFFF00000000003FE0000000000000007FFFFF80000000003FE0000000
-000000007FFFFF80000000003FC0000000000000003FFFFF80000000007FC00000000000
-00003FFFFFC0000000007F80000000000000003FFFFFC000000007FFFC00000000000000
-1FFFFFE00000FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFF
-FFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFF
-FFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE0
-FFFFFFFFFF800000001FFFFFFFFFFFFFE0FFFFFFFFFF800000001FFFFFFFFFFFFFE08379
-79F892>65 D<FFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFE00000000
-FFFFFFFFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFFFFFF8000000FFFFFFFFFFFF
-FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFFFFFFFFFFF
-F00000FFFFFFFFFFFFFFFFFFFFFFFFF8000000003FFFFE000000000FFFFFFE000000003F
-FFFE0000000001FFFFFF000000003FFFFE00000000007FFFFF800000003FFFFE00000000
-001FFFFFC00000003FFFFE00000000000FFFFFE00000003FFFFE000000000007FFFFF000
-00003FFFFE000000000003FFFFF80000003FFFFE000000000001FFFFFC0000003FFFFE00
-0000000001FFFFFC0000003FFFFE000000000000FFFFFE0000003FFFFE000000000000FF
-FFFE0000003FFFFE0000000000007FFFFF0000003FFFFE0000000000007FFFFF0000003F
-FFFE0000000000007FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE00000000
-00003FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE0000000000003FFFFFC0
-00003FFFFE0000000000003FFFFFC000003FFFFE0000000000001FFFFFC000003FFFFE00
-00000000001FFFFFC000003FFFFE0000000000001FFFFFC000003FFFFE0000000000001F
-FFFFC000003FFFFE0000000000001FFFFFC000003FFFFE0000000000003FFFFFC000003F
-FFFE0000000000003FFFFFC000003FFFFE0000000000003FFFFF8000003FFFFE00000000
-00003FFFFF8000003FFFFE0000000000003FFFFF8000003FFFFE0000000000003FFFFF80
-00003FFFFE0000000000007FFFFF0000003FFFFE0000000000007FFFFF0000003FFFFE00
-0000000000FFFFFE0000003FFFFE000000000000FFFFFE0000003FFFFE000000000001FF
-FFFC0000003FFFFE000000000001FFFFF80000003FFFFE000000000003FFFFF80000003F
-FFFE000000000007FFFFF00000003FFFFE00000000000FFFFFE00000003FFFFE00000000
-001FFFFFC00000003FFFFE00000000003FFFFF800000003FFFFE00000000007FFFFE0000
-00003FFFFE0000000001FFFFFC000000003FFFFE0000000007FFFFF0000000003FFFFE00
-0000003FFFFFC0000000003FFFFE00000007FFFFFF00000000003FFFFFFFFFFFFFFFFFF8
-00000000003FFFFFFFFFFFFFFFFFC000000000003FFFFFFFFFFFFFFFFF8000000000003F
-FFFFFFFFFFFFFFFFFC00000000003FFFFFFFFFFFFFFFFFFF80000000003FFFFFFFFFFFFF
-FFFFFFF0000000003FFFFE0000000000FFFFFC000000003FFFFE00000000003FFFFF0000
-00003FFFFE00000000000FFFFF800000003FFFFE000000000003FFFFE00000003FFFFE00
-0000000001FFFFF00000003FFFFE000000000000FFFFFC0000003FFFFE0000000000007F
-FFFE0000003FFFFE0000000000003FFFFF0000003FFFFE0000000000003FFFFF8000003F
-FFFE0000000000001FFFFF8000003FFFFE0000000000000FFFFFC000003FFFFE00000000
-00000FFFFFE000003FFFFE0000000000000FFFFFE000003FFFFE00000000000007FFFFF0
-00003FFFFE00000000000007FFFFF000003FFFFE00000000000007FFFFF800003FFFFE00
-000000000003FFFFF800003FFFFE00000000000003FFFFFC00003FFFFE00000000000003
-FFFFFC00003FFFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003F
-FFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000
-000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE
-00003FFFFE00000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00
-000000000001FFFFFE00003FFFFE00000000000001FFFFFE00003FFFFE00000000000003
-FFFFFE00003FFFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003F
-FFFE00000000000003FFFFFC00003FFFFE00000000000003FFFFFC00003FFFFE00000000
-000007FFFFF800003FFFFE00000000000007FFFFF800003FFFFE0000000000000FFFFFF8
-00003FFFFE0000000000000FFFFFF000003FFFFE0000000000001FFFFFF000003FFFFE00
-00000000001FFFFFE000003FFFFE0000000000003FFFFFC000003FFFFE0000000000007F
-FFFFC000003FFFFE000000000000FFFFFF8000003FFFFE000000000001FFFFFF0000003F
-FFFE000000000003FFFFFE0000003FFFFE00000000000FFFFFFE0000003FFFFE00000000
-001FFFFFF80000003FFFFE0000000000FFFFFFF00000003FFFFE0000000007FFFFFFE000
-FFFFFFFFFFFFFFFFFFFFFFFFFFC000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF
-FFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFFFFFFFF
-C00000FFFFFFFFFFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFFFFFFFE0000000FFFFFF
-FFFFFFFFFFFFFFF800000000777679F58A>I<000000000000007FFFE000000000700000
-000000003FFFFFFF00000001F8000000000003FFFFFFFFF0000003F800000000003FFFFF
-FFFFFC000007F80000000001FFFFFFFFFFFF80000FF80000000007FFFFFFFFFFFFE0001F
-F8000000003FFFFFFFFFFFFFF0003FF800000000FFFFFFFFFFFFFFFC007FF800000003FF
-FFFFFF0007FFFE00FFF80000000FFFFFFFC000003FFF81FFF80000001FFFFFFC00000007
-FFC3FFF80000007FFFFFE000000001FFF7FFF8000000FFFFFF80000000007FFFFFF80000
-03FFFFFE00000000001FFFFFF8000007FFFFF800000000000FFFFFF800000FFFFFE00000
-00000007FFFFF800001FFFFFC0000000000001FFFFF800007FFFFF80000000000000FFFF
-F80000FFFFFE000000000000007FFFF80001FFFFFC000000000000003FFFF80003FFFFF8
-000000000000003FFFF80003FFFFF0000000000000001FFFF80007FFFFF0000000000000
-000FFFF8000FFFFFE00000000000000007FFF8001FFFFFC00000000000000003FFF8003F
-FFFF800000000000000003FFF8003FFFFF800000000000000001FFF8007FFFFF00000000
-0000000001FFF800FFFFFE000000000000000000FFF800FFFFFE000000000000000000FF
-F801FFFFFC0000000000000000007FF801FFFFFC0000000000000000007FF803FFFFFC00
-00000000000000003FF803FFFFF80000000000000000003FF807FFFFF800000000000000
-00001FF807FFFFF00000000000000000001FF80FFFFFF00000000000000000001FF80FFF
-FFF00000000000000000000FF80FFFFFF00000000000000000000FF81FFFFFE000000000
-00000000000FF81FFFFFE00000000000000000000FF81FFFFFE00000000000000000000F
-F83FFFFFE000000000000000000007F83FFFFFC000000000000000000007F83FFFFFC000
-000000000000000007F83FFFFFC000000000000000000003F07FFFFFC000000000000000
-000000007FFFFFC000000000000000000000007FFFFFC000000000000000000000007FFF
-FFC000000000000000000000007FFFFF8000000000000000000000007FFFFF8000000000
-00000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000000000
-00FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000
-00000000000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000
-00000000FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFF
-FF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000000000
-00000000000000FFFFFF800000000000000000000000FFFFFF8000000000000000000000
-00FFFFFF800000000000000000000000FFFFFF800000000000000000000000FFFFFF8000
-00000000000000000000FFFFFF8000000000000000000000007FFFFF8000000000000000
-000000007FFFFF8000000000000000000000007FFFFFC000000000000000000000007FFF
-FFC000000000000000000000007FFFFFC000000000000000000000007FFFFFC000000000
-000000000000003FFFFFC000000000000000000000003FFFFFC000000000000000000000
-003FFFFFC000000000000000000003F03FFFFFE000000000000000000007F81FFFFFE000
-000000000000000007F81FFFFFE000000000000000000007F81FFFFFE000000000000000
-000007F80FFFFFF000000000000000000007F80FFFFFF000000000000000000007F80FFF
-FFF00000000000000000000FF807FFFFF00000000000000000000FF807FFFFF800000000
-00000000000FF003FFFFF80000000000000000000FF003FFFFFC0000000000000000001F
-F001FFFFFC0000000000000000001FF001FFFFFC0000000000000000001FE000FFFFFE00
-00000000000000003FE000FFFFFF0000000000000000003FE0007FFFFF00000000000000
-00007FC0003FFFFF8000000000000000007FC0003FFFFF800000000000000000FF80001F
-FFFFC00000000000000000FF80000FFFFFE00000000000000001FF000007FFFFF0000000
-0000000003FF000003FFFFF00000000000000007FE000003FFFFF80000000000000007FE
-000001FFFFFC000000000000000FFC000000FFFFFE000000000000001FF80000007FFFFF
-800000000000003FF00000001FFFFFC0000000000000FFE00000000FFFFFE00000000000
-01FFC000000007FFFFF8000000000003FF8000000003FFFFFE00000000000FFF00000000
-00FFFFFF80000000003FFE00000000007FFFFFF000000000FFFC00000000001FFFFFFE00
-000003FFF800000000000FFFFFFFC000001FFFE0000000000003FFFFFFFF0003FFFFC000
-0000000000FFFFFFFFFFFFFFFF000000000000003FFFFFFFFFFFFFFC0000000000000007
-FFFFFFFFFFFFF00000000000000001FFFFFFFFFFFFC000000000000000003FFFFFFFFFFF
-00000000000000000003FFFFFFFFF8000000000000000000003FFFFFFF80000000000000
-00000000007FFFF00000000000757A75F78C>I<0000003FFFF80000000000000007FFFF
-FFE00000000000007FFFFFFFFC000000000001FFFFFFFFFF800000000007FFFFFFFFFFE0
-000000001FFFFFFFFFFFF0000000003FFFF0007FFFFC000000007FFE00000FFFFE000000
-00FFFF000003FFFF80000001FFFF800001FFFFC0000001FFFFC00000FFFFE0000001FFFF
-C000007FFFF0000003FFFFE000003FFFF8000003FFFFE000001FFFF8000003FFFFE00000
-1FFFFC000003FFFFE000000FFFFE000003FFFFE000000FFFFE000003FFFFE000000FFFFF
-000003FFFFE0000007FFFF000003FFFFE0000007FFFF000001FFFFC0000007FFFF000001
-FFFFC0000003FFFF800000FFFF80000003FFFF8000007FFF00000003FFFF8000003FFE00
-000003FFFF8000000FF800000003FFFF80000003E000000003FFFF800000000000000003
-FFFF800000000000000003FFFF800000000000000003FFFF800000000000000003FFFF80
-0000000000000003FFFF800000000000000003FFFF800000000000000003FFFF80000000
-00000007FFFFFF8000000000001FFFFFFFFF800000000003FFFFFFFFFF80000000007FFF
-FFFFFFFF8000000003FFFFFFFFFFFF800000001FFFFFFE03FFFF80000000FFFFFF8003FF
-FF80000003FFFFF80003FFFF8000000FFFFFC00003FFFF8000001FFFFF000003FFFF8000
-007FFFFC000003FFFF800000FFFFF0000003FFFF800001FFFFC0000003FFFF800003FFFF
-80000003FFFF800007FFFF00000003FFFF80000FFFFE00000003FFFF80001FFFFE000000
-03FFFF80003FFFFC00000003FFFF80003FFFF800000003FFFF80007FFFF800000003FFFF
-80007FFFF000000003FFFF80007FFFF000000003FFFF8000FFFFF000000003FFFF8000FF
-FFE000000003FFFF8000FFFFE000000003FFFF8000FFFFE000000003FFFF8000FFFFE000
-000007FFFF8000FFFFE000000007FFFF8000FFFFE000000007FFFF8000FFFFF00000000F
-FFFF8000FFFFF00000000FFFFF80007FFFF00000001FFFFF80007FFFF80000003FFFFF80
-007FFFF80000007EFFFF80003FFFFC0000007EFFFFC0003FFFFE000001FCFFFFE0001FFF
-FF000003F8FFFFFC000FFFFF80000FF0FFFFFFFC07FFFFE0003FE07FFFFFFE01FFFFFC03
-FFC07FFFFFFE00FFFFFFFFFF803FFFFFFE003FFFFFFFFE001FFFFFFE000FFFFFFFFC0007
-FFFFFE0003FFFFFFF00001FFFFFE00003FFFFF8000003FFFFC000001FFF8000000000000
-57507ACE5E>97 D<00000000000000000FFFE00000000000000007FFFFFFE00000000000
-000007FFFFFFE00000000000000007FFFFFFE00000000000000007FFFFFFE00000000000
-000007FFFFFFE00000000000000007FFFFFFE00000000000000007FFFFFFE00000000000
-000007FFFFFFE0000000000000000003FFFFE0000000000000000000FFFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE00000000000000000007FFFE00000000000000000007FFFE00000000000
-000000007FFFE000000000003FFF80007FFFE00000000007FFFFF8007FFFE0000000003F
-FFFFFF007FFFE000000001FFFFFFFFC07FFFE000000007FFFFFFFFF07FFFE00000001FFF
-FFFFFFFC7FFFE00000007FFFFE007FFE7FFFE0000000FFFFF0000FFF7FFFE0000003FFFF
-800001FFFFFFE0000007FFFE0000007FFFFFE000000FFFFC0000003FFFFFE000001FFFF8
-0000001FFFFFE000003FFFF00000000FFFFFE000007FFFE000000007FFFFE00000FFFFC0
-00000003FFFFE00001FFFFC000000001FFFFE00003FFFF8000000000FFFFE00003FFFF00
-00000000FFFFE00007FFFF0000000000FFFFE00007FFFF0000000000FFFFE0000FFFFE00
-00000000FFFFE0000FFFFE0000000000FFFFE0001FFFFE0000000000FFFFE0001FFFFC00
-00000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC00
-00000000FFFFE0007FFFFC0000000000FFFFE0007FFFF80000000000FFFFE0007FFFF800
-00000000FFFFE0007FFFF80000000000FFFFE0007FFFF80000000000FFFFE000FFFFF800
-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800
-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800
-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800
-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE000FFFFF800
-00000000FFFFE000FFFFF80000000000FFFFE000FFFFF80000000000FFFFE0007FFFF800
-00000000FFFFE0007FFFF80000000000FFFFE0007FFFF80000000000FFFFE0007FFFF800
-00000000FFFFE0007FFFFC0000000000FFFFE0003FFFFC0000000000FFFFE0003FFFFC00
-00000000FFFFE0003FFFFC0000000000FFFFE0001FFFFC0000000000FFFFE0001FFFFC00
-00000000FFFFE0001FFFFE0000000000FFFFE0000FFFFE0000000000FFFFE0000FFFFE00
-00000000FFFFE00007FFFF0000000000FFFFE00007FFFF0000000001FFFFE00003FFFF80
-00000003FFFFE00001FFFF8000000007FFFFE00000FFFFC000000007FFFFE00000FFFFC0
-0000000FFFFFE000007FFFE00000001FFFFFE000003FFFF00000003FFFFFE000001FFFF8
-000000FFFFFFF000000FFFFC000001FFFFFFFC000003FFFF000007FFFFFFFFFE0001FFFF
-C0003FFEFFFFFFFE00007FFFFC01FFF8FFFFFFFE00003FFFFFFFFFF0FFFFFFFE00000FFF
-FFFFFFC0FFFFFFFE000003FFFFFFFF00FFFFFFFE0000007FFFFFFC00FFFFFFFE0000000F
-FFFFE000FFFFFFFE000000007FFE0000FFFE00005F797AF76C>100
-D<000000007FFF800000000000000FFFFFFC0000000000007FFFFFFF800000000001FFFF
-FFFFE00000000007FFFFFFFFF8000000001FFFFFFFFFFE000000007FFFF807FFFF000000
-01FFFFC000FFFF80000003FFFF00003FFFE0000007FFFC00000FFFF000000FFFF8000007
-FFF800001FFFF0000003FFF800003FFFE0000001FFFC00007FFFC0000000FFFE0000FFFF
-80000000FFFE0001FFFF800000007FFF0001FFFF000000007FFF8003FFFF000000003FFF
-8007FFFE000000003FFF8007FFFE000000003FFFC00FFFFE000000001FFFC00FFFFE0000
-00001FFFE01FFFFC000000001FFFE01FFFFC000000001FFFE01FFFFC000000000FFFF03F
-FFFC000000000FFFF03FFFFC000000000FFFF03FFFF8000000000FFFF07FFFF800000000
-0FFFF07FFFF8000000000FFFF07FFFF8000000000FFFF87FFFF80000000007FFF87FFFF8
-0000000007FFF8FFFFF80000000007FFF8FFFFF80000000007FFF8FFFFF80000000007FF
-F8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFF8FFFFFFFFFF
-FFFFFFFFF8FFFFFFFFFFFFFFFFFFF0FFFFF800000000000000FFFFF800000000000000FF
-FFF800000000000000FFFFF800000000000000FFFFF800000000000000FFFFF800000000
-0000007FFFF8000000000000007FFFF8000000000000007FFFF8000000000000007FFFFC
-000000000000003FFFFC000000000000003FFFFC000000000000003FFFFC000000000000
-003FFFFC000000000000001FFFFC000000000000001FFFFE000000000000000FFFFE0000
-00000003F00FFFFE000000000007F807FFFF000000000007F807FFFF00000000000FF803
-FFFF80000000000FF001FFFF80000000001FF001FFFFC0000000001FE000FFFFE0000000
-003FE0007FFFF0000000007FC0003FFFF800000000FFC0001FFFFC00000001FF80000FFF
-FE00000003FF000007FFFF8000000FFE000003FFFFE000003FFC000001FFFFF80000FFF8
-000000FFFFFFC00FFFF00000003FFFFFFFFFFFE00000000FFFFFFFFFFF8000000003FFFF
-FFFFFE0000000000FFFFFFFFF800000000001FFFFFFFE0000000000003FFFFFF00000000
-0000000FFFE00000004D507BCE58>I<0001FFFC000000000000000000FFFFFFFC000000
-000000000000FFFFFFFC000000000000000000FFFFFFFC000000000000000000FFFFFFFC
-000000000000000000FFFFFFFC000000000000000000FFFFFFFC000000000000000000FF
-FFFFFC000000000000000000FFFFFFFC000000000000000000007FFFFC00000000000000
-0000001FFFFC000000000000000000000FFFFC000000000000000000000FFFFC00000000
-0000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC00
-0000000000000000000FFFFC000000000000000000000FFFFC000000000000000000000F
-FFFC000000000000000000000FFFFC000000000000000000000FFFFC0000000000000000
-00000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC0000000000
-00000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC0000
-00000000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFF
-FC000000000000000000000FFFFC000000000000000000000FFFFC000000000000000000
-000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC000000000000
-000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC000000
-000000000000000FFFFC000000000000000000000FFFFC000000000000000000000FFFFC
-000000000000000000000FFFFC000000000000000000000FFFFC00000FFFE00000000000
-0FFFFC0000FFFFFE00000000000FFFFC0003FFFFFF80000000000FFFFC000FFFFFFFE000
-0000000FFFFC003FFFFFFFF8000000000FFFFC007FFFFFFFFC000000000FFFFC01FFF01F
-FFFE000000000FFFFC03FF0007FFFF000000000FFFFC07FC0003FFFF800000000FFFFC0F
-F00001FFFFC00000000FFFFC1FC00000FFFFC00000000FFFFC3F800000FFFFE00000000F
-FFFC7F000000FFFFE00000000FFFFC7E0000007FFFF00000000FFFFCFC0000007FFFF000
-00000FFFFDF80000007FFFF00000000FFFFDF00000007FFFF00000000FFFFFF00000003F
-FFF80000000FFFFFE00000003FFFF80000000FFFFFE00000003FFFF80000000FFFFFC000
-00003FFFF80000000FFFFFC00000003FFFF80000000FFFFF800000003FFFF80000000FFF
-FF800000003FFFF80000000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000
-000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000000FFFFE000000003FFF
-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000
-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE
-000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8000000
-0FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8
-0000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00000000
-3FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00
-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F
-FFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF800
-00000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003F
-FFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE0000
-00003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFF
-FE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000
-000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFF
-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000
-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000FFFFFFFF
-FFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FF
-FFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFF
-FF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80617879F76C>104
-D<0001FC0000000007FF000000001FFFC00000003FFFE00000007FFFF0000000FFFFF800
-0000FFFFF8000001FFFFFC000001FFFFFC000003FFFFFE000003FFFFFE000003FFFFFE00
-0003FFFFFE000003FFFFFE000003FFFFFE000003FFFFFE000001FFFFFC000001FFFFFC00
-0000FFFFF8000000FFFFF80000007FFFF00000003FFFE00000001FFFC000000007FF0000
-000001FC0000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000001FFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC00
-007FFFFFFC00007FFFFFFC00007FFFFFFC00007FFFFFFC0000007FFFFC0000001FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC00
-00000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000000FFFFC0000FFFFFFFFFF
-80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF
-80FFFFFFFFFF80297979F835>I<0001FFF800000FFFE000000000FFFFFFF80000FFFFFE
-00000000FFFFFFF80003FFFFFF80000000FFFFFFF8000FFFFFFFE0000000FFFFFFF8003F
-FFFFFFF8000000FFFFFFF8007FFFFFFFFC000000FFFFFFF801FFF01FFFFE000000FFFFFF
-F803FF0007FFFF000000FFFFFFF807FC0003FFFF800000007FFFF80FF00001FFFFC00000
-001FFFF81FC00000FFFFC00000000FFFF83F800000FFFFE00000000FFFF87F000000FFFF
-E00000000FFFF87E0000007FFFF00000000FFFF8FC0000007FFFF00000000FFFF9F80000
-007FFFF00000000FFFF9F00000007FFFF00000000FFFFBF00000003FFFF80000000FFFFB
-E00000003FFFF80000000FFFFFE00000003FFFF80000000FFFFFC00000003FFFF8000000
-0FFFFFC00000003FFFF80000000FFFFF800000003FFFF80000000FFFFF800000003FFFF8
-0000000FFFFF000000003FFFF80000000FFFFF000000003FFFF80000000FFFFF00000000
-3FFFF80000000FFFFF000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00
-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F
-FFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF800
-00000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003F
-FFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE0000
-00003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFF
-FE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000
-000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFF
-F80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000
-003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE
-000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8000000
-0FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF8
-0000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00000000
-3FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000FFFFE00
-0000003FFFF80000000FFFFE000000003FFFF80000000FFFFE000000003FFFF80000000F
-FFFE000000003FFFF80000000FFFFE000000003FFFF80000FFFFFFFFFFE003FFFFFFFFFF
-80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFF
-FFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80FFFFFFFFFFE0
-03FFFFFFFFFF80FFFFFFFFFFE003FFFFFFFFFF80614E79CD6C>110
-D<0001FFFC00007FFE00000000FFFFFFFC000FFFFFF0000000FFFFFFFC007FFFFFFE0000
-00FFFFFFFC01FFFFFFFFC00000FFFFFFFC07FFFFFFFFF00000FFFFFFFC1FFFFFFFFFF800
-00FFFFFFFC7FFFFFFFFFFE0000FFFFFFFCFFFF007FFFFF0000FFFFFFFFFFF0000FFFFFC0
-00007FFFFFFF800003FFFFE000001FFFFFFE000001FFFFF000000FFFFFFC000000FFFFF8
-00000FFFFFF00000007FFFFC00000FFFFFE00000003FFFFE00000FFFFFC00000001FFFFF
-00000FFFFF800000000FFFFF00000FFFFF000000000FFFFF80000FFFFE0000000007FFFF
-C0000FFFFE0000000003FFFFC0000FFFFE0000000003FFFFE0000FFFFE0000000003FFFF
-E0000FFFFE0000000001FFFFF0000FFFFE0000000001FFFFF0000FFFFE0000000000FFFF
-F8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFF
-F8000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000007FFF
-FC000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000003FFF
-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF
-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF
-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF
-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000003FFF
-FE000FFFFE00000000003FFFFE000FFFFE00000000003FFFFE000FFFFE00000000007FFF
-FC000FFFFE00000000007FFFFC000FFFFE00000000007FFFFC000FFFFE00000000007FFF
-FC000FFFFE00000000007FFFFC000FFFFE0000000000FFFFF8000FFFFE0000000000FFFF
-F8000FFFFE0000000000FFFFF8000FFFFE0000000000FFFFF0000FFFFE0000000001FFFF
-F0000FFFFE0000000001FFFFE0000FFFFE0000000003FFFFE0000FFFFE0000000003FFFF
-C0000FFFFE0000000007FFFFC0000FFFFE0000000007FFFF80000FFFFF000000000FFFFF
-80000FFFFF800000000FFFFF00000FFFFFC00000001FFFFE00000FFFFFC00000003FFFFC
-00000FFFFFE00000007FFFF800000FFFFFF0000000FFFFF000000FFFFFFC000001FFFFE0
-00000FFFFFFE000003FFFFC000000FFFFFFF80000FFFFF8000000FFFFFFFE0003FFFFE00
-00000FFFFE7FFC01FFFFFC0000000FFFFE3FFFFFFFFFF00000000FFFFE0FFFFFFFFFC000
-00000FFFFE03FFFFFFFF000000000FFFFE00FFFFFFF8000000000FFFFE003FFFFFC00000
-00000FFFFE0003FFF000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000000FFFFE0000000000000000000FFFFE00000000000000
-00000FFFFE0000000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000
-00FFFFFFFFFFE0000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000
-00FFFFFFFFFFE0000000000000FFFFFFFFFFE0000000000000FFFFFFFFFFE00000000000
-005F6F7ACD6C>112 D<0001FFF80007FE0000FFFFFFF8003FFFC000FFFFFFF800FFFFF0
-00FFFFFFF803FFFFF800FFFFFFF807FFFFFE00FFFFFFF80FFFFFFF00FFFFFFF81FFC3FFF
-80FFFFFFF83FE07FFFC0FFFFFFF87F80FFFFC0007FFFF87F00FFFFC0001FFFF8FE01FFFF
-E0000FFFF9FC01FFFFE0000FFFF9F801FFFFE0000FFFFBF801FFFFE0000FFFFBF001FFFF
-E0000FFFFBE001FFFFE0000FFFFFE001FFFFE0000FFFFFC001FFFFE0000FFFFFC000FFFF
-C0000FFFFF8000FFFFC0000FFFFF80007FFF80000FFFFF80001FFE00000FFFFF00000FFC
-00000FFFFF000001E000000FFFFF0000000000000FFFFF0000000000000FFFFE00000000
-00000FFFFE0000000000000FFFFE0000000000000FFFFE0000000000000FFFFE00000000
-00000FFFFE0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000000FFFFC00000000
-00000FFFFC0000000000000FFFFC0000000000000FFFFC0000000000FFFFFFFFFFF80000
-00FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF80000
-00FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000434E7ACD4F>114
-D<000000FF00000000000000FF00000000000000FF00000000000000FF00000000000000
-FF00000000000000FF00000000000000FF00000000000001FF00000000000001FF000000
-00000001FF00000000000001FF00000000000001FF00000000000003FF00000000000003
-FF00000000000003FF00000000000003FF00000000000007FF00000000000007FF000000
-0000000FFF0000000000000FFF0000000000001FFF0000000000001FFF0000000000003F
-FF0000000000003FFF0000000000007FFF000000000000FFFF000000000000FFFF000000
-000001FFFF000000000003FFFF000000000007FFFF00000000001FFFFF00000000003FFF
-FF0000000000FFFFFFFFFFFF000FFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF
-00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF000007FF
-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000
-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF
-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000
-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF
-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000
-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF
-FF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000
-000007FFFF000000000007FFFF000000000007FFFF000000000007FFFF000000000007FF
-FF000000000007FFFF000000000007FFFF000000000007FFFF00001FE00007FFFF00001F
-E00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FF
-FF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00001F
-E00007FFFF00001FE00007FFFF00001FE00007FFFF00001FE00007FFFF00003FE00007FF
-FF80003FC00003FFFF80003FC00003FFFF80007FC00003FFFFC0007F800001FFFFC000FF
-800001FFFFE000FF800000FFFFE001FF0000007FFFF003FE0000007FFFFE0FFE0000003F
-FFFFFFFC0000000FFFFFFFF800000007FFFFFFF000000001FFFFFFC0000000007FFFFF80
-000000001FFFFE000000000001FFF000003B6E7CEC4B>116 D<7FFFFFFFFF00003FFFFF
-FFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFF
-FFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFFFFF07FFFFFFFFF00003FFFFF
-FFF07FFFFFFFFF00003FFFFFFFF00003FFFFC0000001FFFF00000001FFFFE00000007FF0
-00000001FFFFF00000007FE000000000FFFFF0000000FFC0000000007FFFF8000001FF80
-000000003FFFFC000003FF00000000001FFFFE000007FF00000000001FFFFF00000FFE00
-000000000FFFFF00001FFC000000000007FFFF80001FF8000000000003FFFFC0003FF000
-0000000001FFFFE0007FE0000000000001FFFFF000FFE0000000000000FFFFF801FFC000
-00000000007FFFF803FF800000000000003FFFFC07FF000000000000001FFFFE07FE0000
-00000000001FFFFF0FFC000000000000000FFFFF9FF80000000000000007FFFFBFF80000
-000000000003FFFFFFF00000000000000001FFFFFFE00000000000000001FFFFFFC00000
-000000000000FFFFFF8000000000000000007FFFFF0000000000000000003FFFFE000000
-0000000000001FFFFE0000000000000000001FFFFF0000000000000000000FFFFF800000
-00000000000007FFFF80000000000000000003FFFFC0000000000000000001FFFFE00000
-00000000000001FFFFF0000000000000000003FFFFF8000000000000000007FFFFF80000
-0000000000000FFFFFFC00000000000000000FFFFFFE00000000000000001FFFFFFF0000
-0000000000003FFFFFFF80000000000000007FE7FFFF8000000000000000FFE3FFFFC000
-000000000001FFC1FFFFE000000000000003FF80FFFFF000000000000003FF00FFFFF800
-000000000007FE007FFFF80000000000000FFC003FFFFC0000000000001FFC001FFFFE00
-00000000003FF8000FFFFF0000000000007FF0000FFFFF800000000000FFE00007FFFF80
-0000000000FFC00003FFFFC00000000001FF800001FFFFE00000000003FF000000FFFFF0
-0000000007FF000000FFFFF8000000000FFE0000007FFFF8000000001FFC0000003FFFFC
-000000003FF80000001FFFFE000000003FF00000000FFFFF000000007FE00000000FFFFF
-80000000FFC000000007FFFFC000000FFFF800000003FFFFC000FFFFFFFF800000FFFFFF
-FFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFF
-FFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFFFFFEFFFFFFFF800000FFFFFF
-FFFEFFFFFFFF800000FFFFFFFFFE5F4D7DCC66>120 D E /Fp 83
-126 df<3C001E007F007F00FF007F80FF007F80FF007F80FF007F80FF007F80FF007F80
-7F007F007F007F007F007F007F007F007F007F007F007F007E003F007E003F007E003F00
-7E003F007E003F007E003F003E003E003E003E003E003E003C001E001C001C00191977B3
-2C>34 D<000F003C00001F807E00001F807E00001F807E00001F807E00001F807E00001F
-807E00001F807E00001F807E00003F80FE00003F00FC00003F00FC00003F00FC00003F00
-FC007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF83FFFFFFFF0007E01F8
-00007E01F800007E01F800007E01F800007E01F80000FE03F80000FC03F00000FC03F000
-00FC03F00000FC03F00000FC03F00000FC03F0003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FF
-FFFFFFF8FFFFFFFFF87FFFFFFFF001F807E00001F807E00001F807E00003F80FE00003F0
-0FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00F
-C00001E007800025337DB22C>I<0001C000000003E000000003E000000003E000000003
-E000000003E000000003E00000000FFC0000007FFF800001FFFFE00007FFFFF0000FFFFF
-F8001FFBEFFC003FC3E1FE003F03E07F007E03E03F007C03E03F00FC03E03F80F803E03F
-80F803E07F80F803E07F80F803E07F80FC03E03F00FC03E03F007E03E000007F03E00000
-3FC3E000003FFBE000001FFFE000000FFFFC000007FFFF000001FFFFC000007FFFE00000
-1FFFF8000003FFFC000003E7FC000003E1FE000003E07F000003E03F001803E01F007E03
-E01F807E03E00F80FF03E00F80FF03E00F80FF03E00F80FE03E00F80FE03E01F80FE03E0
-1F007E03E03F007F03E03E003F83E0FE003FC3E1FC001FFBEFF8000FFFFFF00007FFFFE0
-0003FFFFC00000FFFF0000001FF800000003E000000003E000000003E000000003E00000
-0003E000000003E000000001C0000021417BB92C>I<07800007001FE0000F801FE0001F
-803FF0001F807FF8003F807FF8003F007CF8007F00FCFC007E00F87C007E00F87C00FE00
-F87C00FC00F87C01FC00F87C01F800F87C01F800F87C03F800FCFC03F0007CF803F0007F
-F807F0007FF807E0003FF00FE0001FE00FC0001FE00FC00007801FC00000001F80000000
-3F800000003F000000003F000000007F000000007E00000000FE00000000FC00000000FC
-00000001FC00000001F800000001F800000003F800000003F000000007F000000007E000
-000007E00000000FE00000000FC00000001FC00000001F800F00001F803FC0003F807FE0
-003F007FE0007F00FFF0007E00F9F0007E00F9F000FE01F9F800FC01F0F800FC01F0F801
-FC01F0F801F801F0F803F801F0F803F001F0F803F001F9F807F000F9F007E000F9F00FE0
-00FFF00FC0007FE00FC0007FE007C0003FC00380000F0025417DB92C>I<000FC0000000
-3FE00000007FF0000000FFF8000000FFFC000001F8FC000001F07C000001F07E000003F0
-3E000003E03E000003E03E000003E03E000003E03E000003E03E000003E07E000003E07C
-000003E0FC3FF803F0F87FFC01F1F87FFC01F3F07FFC01F7F03FF801F7E01F0001FFC03F
-0000FF803E0000FF803E0000FF007E0000FE007C0001FC007C0003FE00FC0007FE00F800
-07FF01F8000FDF01F0001F9F81F0003F8F83F0003F0FC3E0007E07E7E0007E07E7C000FC
-03F7C000FC01FFC000FC01FF8000FC00FF8010FC00FF007CFC007F007CFC007F007CFE00
-FF807C7E01FFC07C7F03FFE0FC3F87F7F1F83FFFE3FFF81FFFC1FFF00FFF80FFF007FF00
-7FC001FC001F8026357EB32C>I<0F801FC03FE03FF03FF03FF83FF81FF80FF800F800F8
-00F800F801F801F001F003F003E007E00FC01FC03F807F00FE00FC00F80070000D1B71B2
-2C>I<0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE0001FC00
-03F80003F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00007F0000
-7E00007E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00003F8000
-1F80001F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F00003F80
-001FC0000FF00007F80003FC0001FC0000FC000038164272B92C>I<700000FC0000FE00
-00FF00007F80003FC0000FE00007F00003F80001FC0000FE00007F00003F00003F80001F
-80001FC0000FC00007E00007E00007F00003F00003F00003F80001F80001F80001F80001
-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0001FC0001F80001F80001F80003F80003F00003F00007F00007E00007E0000FC0001F
-C0001F80003F80003F00007F0000FE0001FC0003F80007F0000FE0003FC0007F8000FF00
-00FE0000FC0000700000164279B92C>I<000380000007C0000007C0000007C0000007C0
-000007C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7C7FEFFE7CFFE3FFFFF
-F80FFFFFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FFFF800FFFFFE03FFFFF
-F8FFE7CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007C0000007C0000007C0
-000007C0000007C0000007C000000380001F247AAA2C>I<00007800000000FC00000000
-FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC
-00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00007FFFFFFF
-F0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF00000FC00000000FC0000
-0000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000000
-00FC00000000FC00000000FC00000000FC00000000FC00000000FC000000007800002526
-7DAB2C>I<0F801FE03FF07FF87FF87FFC7FFC7FFC3FFC1FFC0FFC00FC00F800F801F803
-F007F01FE07FC0FF80FF00FC0070000E17718A2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF
-80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B9B2C>I<1F003F807FC0FFE0FFE0FFE0FF
-E0FFE07FC03F801F000B0B708A2C>I<00000007000000000F800000001F800000001F80
-0000003F800000003F000000007F000000007E00000000FE00000000FC00000001FC0000
-0001F800000003F800000003F000000003F000000007F000000007E00000000FE0000000
-0FC00000001FC00000001F800000003F800000003F000000007F000000007E00000000FE
-00000000FC00000000FC00000001FC00000001F800000003F800000003F000000007F000
-000007E00000000FE00000000FC00000001FC00000001F800000001F800000003F800000
-003F000000007F000000007E00000000FE00000000FC00000001FC00000001F800000003
-F800000003F000000007F000000007E000000007E00000000FE00000000FC00000001FC0
-0000001F800000003F800000003F000000007F000000007E00000000FE00000000FC0000
-0000FC00000000F800000000780000000021417BB92C>I<0003F80000000FFE0000003F
-FF8000007FFFC00000FFFFE00001FE0FF00003F803F80007F001FC0007E000FC000FC000
-7E000FC0007E001F80003F001F80003F003F00001F803F00001F803E00000F807E00000F
-C07E00000FC07E00000FC07C000007C0FC000007E0FC000007E0FC000007E0FC000007E0
-FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC
-000007E0FE00000FE07E00000FC07E00000FC07E00000FC07E00000FC03F00001F803F00
-001F803F00001F801F80003F001F80003F000FC0007E000FE000FE0007E000FC0007F001
-FC0003F803F80001FE0FF00000FFFFE000007FFFC000003FFF8000000FFE00000003F800
-0023357CB32C>I<00070000000F8000000F8000001F8000001F8000003F8000007F8000
-00FF800001FF800007FF80007FFF8000FFFF8000FFDF8000FF9F80007C1F8000001F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE0
-1C3477B32C>I<000FF80000007FFF800001FFFFE00007FFFFF0000FFFFFFC001FF80FFE
-003FE001FF003F80007F007F00003F807E00001F80FE00001FC0FE00000FC0FF00000FE0
-FF000007E0FF000007E0FF000007E07E000007E03C000007E000000007E000000007E000
-00000FE00000000FC00000001FC00000001F800000003F800000003F000000007F000000
-00FE00000001FC00000003FC00000007F80000000FF00000001FE00000003FC0000000FF
-80000001FE00000003FC00000007F80000000FF00000003FE00000007F80000000FF0000
-0001FE00000003FC0003C007F80007E01FE00007E03FC00007E07FFFFFFFE0FFFFFFFFE0
-FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000FFC0000007FFF800001FFFFE0
-0007FFFFF8000FFFFFFC001FF807FE001FC000FE003F80007F003FC0003F003FC0003F80
-3FC0001F803FC0001F801F80001F800F00001F800000001F800000003F800000003F0000
-00007F00000000FE00000001FE00000003FC0000001FF800001FFFF000003FFFE000003F
-FFE000003FFFF800001FFFFC00000007FE00000000FF000000007F000000003F80000000
-1FC00000000FC00000000FC00000000FE000000007E000000007E03C000007E07E000007
-E0FF000007E0FF00000FE0FF00000FC0FF00000FC0FE00001FC07F00003F807F80007F00
-3FC000FF001FF807FE000FFFFFFC0007FFFFF80003FFFFE000007FFF8000000FFC000023
-357CB32C>I<000007F00000000FF80000001FF80000003FF80000003FF80000007EF800
-00007EF8000000FCF8000001F8F8000001F8F8000003F0F8000007E0F8000007E0F80000
-0FC0F800001F80F800001F80F800003F00F800007E00F800007E00F80000FC00F80001F8
-00F80001F800F80003F000F80003E000F80007E000F8000FC000F8000FC000F8001F8000
-F8003F0000F8003F0000F8007E0000F800FC0000F800FFFFFFFFFCFFFFFFFFFEFFFFFFFF
-FEFFFFFFFFFE7FFFFFFFFC000000F800000000F800000000F800000000F800000000F800
-000000F800000000F800000000F800000000F800000000F80000007FFFF00000FFFFF800
-00FFFFF80000FFFFF800007FFFF027347EB32C>I<0FFFFFFE001FFFFFFF001FFFFFFF00
-1FFFFFFF001FFFFFFE001F800000001F800000001F800000001F800000001F800000001F
-800000001F800000001F800000001F800000001F800000001F800000001F800000001F80
-0000001F83FE00001F9FFF80001FFFFFE0001FFFFFF8001FFFFFFC001FFE03FE001FF000
-FF001FC0007F001F80003F801F00001F800F00001FC00000000FC00000000FC000000007
-E000000007E000000007E000000007E03C000007E07E000007E0FF000007E0FF00000FE0
-FF00000FC0FF00000FC0FE00001FC07E00003F807F00007F003F8000FF003FC001FE001F
-F80FFC000FFFFFF80007FFFFF00001FFFFC000007FFF0000000FF8000023347CB22C>I<
-00003FC0000001FFF8000007FFFC00001FFFFE00003FFFFF00007FE07F0000FF003F8001
-FE007F8003F8007F8007F0007F8007E0007F800FE0003F001FC0001E001F800000003F80
-0000003F000000003F000000007F000000007E000000007E03FE00007E1FFF8000FC7FFF
-E000FDFFFFF000FFFFFFF800FFFE07FC00FFF001FE00FFC0007F00FF80003F80FF00001F
-80FF00001FC0FE00000FC0FE00000FE0FE000007E0FE000007E0FE000007E07E000007E0
-7E000007E07E000007E07E000007E03F000007E03F00000FE03F80000FC01F80001FC01F
-C0001F800FC0003F800FE0007F0007F801FE0003FE07FC0001FFFFF80000FFFFF000007F
-FFE000001FFF80000007FC000023357CB32C>I<7800000000FFFFFFFFC0FFFFFFFFE0FF
-FFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00003F80FC00007F00FC0000FE00780000FC000000
-01FC00000003F800000007F000000007E00000000FE00000000FC00000001F800000003F
-800000003F000000007F000000007E00000000FE00000000FC00000001FC00000001F800
-000001F800000003F000000003F000000007F000000007E000000007E000000007E00000
-000FC00000000FC00000000FC00000000FC00000001F800000001F800000001F80000000
-1F800000001F800000003F800000003F000000003F000000003F000000003F000000003F
-000000003F000000003F000000003F000000003F000000003F000000001E00000023357C
-B32C>I<0007FC0000003FFF800000FFFFE00003FFFFF80007FFFFFC000FFC07FE001FF0
-01FF001FC0007F003F80003F803F00001F807F00001FC07E00000FC07E00000FC07E0000
-0FC07E00000FC07E00000FC03F00001F803F00001F801F80003F001FC0007F000FF001FE
-0003FC07F80001FFFFF000007FFFC0000007FC0000007FFFC00001FFFFF00003FC07F800
-0FF001FE001FC0007F001F80003F003F00001F807E00000FC07E00000FC0FC000007E0FC
-000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E07E00000FC07E00
-000FC07F00001FC03F80003F801FC0007F001FF001FF000FFC07FE0007FFFFFC0003FFFF
-F80000FFFFE000003FFF80000007FC000023357CB32C>I<0007FC0000003FFF000000FF
-FFC00001FFFFE00003FFFFF00007FC07F8000FF001FC001FE000FE003F80007E003F8000
-7F007F00003F007E00001F80FE00001F80FC00001F80FC00000FC0FC00000FC0FC00000F
-C0FC00000FC0FC00000FE0FC00000FE0FC00000FE0FE00000FE07E00000FE07F00001FE0
-3F00001FE03F80003FE01FC0007FE00FF001FFE007FC0FFFE003FFFFFFE001FFFFF7E000
-FFFFC7E0003FFF0FE0000FF80FC00000000FC00000000FC00000001FC00000001F800000
-003F800000003F000F00007F001F80007E003FC000FE003FC001FC003FC003F8003FC007
-F8003F801FF0001FE07FE0001FFFFFC0000FFFFF000007FFFE000001FFF80000007FC000
-0023357CB32C>I<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F00000000000000
-000000000000000000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0
-FFE07FC03F801F000B2470A32C>I<00000007000000001F800000003F80000000FF8000
-0003FF80000007FF0000001FFC0000003FF8000000FFE0000001FF80000007FF0000000F
-FC0000003FF80000007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF000
-0000FFC0000000FF80000000FF80000000FFC00000007FF00000001FF80000000FFE0000
-0003FF00000001FFC00000007FE00000003FF80000000FFC00000007FF00000001FF8000
-0000FFE00000003FF80000001FFC00000007FF00000003FF80000000FF800000003F8000
-00001F800000000700212A7BAD2C>60 D<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFF
-F8FFFFFFFFF83FFFFFFFF000000000000000000000000000000000000000000000000000
-0000000000000000000000000000003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FF
-FFFFFFF87FFFFFFFF025147DA22C>I<7000000000FC00000000FE00000000FF80000000
-FFE00000007FF00000001FFC0000000FFE00000003FF80000000FFC00000007FF0000000
-1FF80000000FFE00000003FF00000001FFC00000007FE00000003FF80000000FFC000000
-07FF00000001FF80000000FF80000000FF80000001FF80000007FF0000000FFC0000003F
-F80000007FE0000001FFC0000003FF0000000FFE0000001FF80000007FF0000000FFC000
-0003FF8000000FFE0000001FFC0000007FF0000000FFE0000000FF80000000FE00000000
-FC000000007000000000212A7BAD2C>I<0000FE00000001FF00000001FF00000001FF00
-000001FF00000003FF80000003FF80000003EF80000003EF80000007EF80000007EFC000
-0007EFC0000007C7C0000007C7C000000FC7E000000FC7E000000FC7E000000FC3E00000
-1F83F000001F83F000001F83F000001F83F000001F83F000003F01F800003F01F800003F
-01F800003F01F800007E00FC00007E00FC00007E00FC00007E00FC00007E00FC0000FC00
-7E0000FFFFFE0000FFFFFE0000FFFFFE0001FFFFFF0001FFFFFF0001F8003F0001F8003F
-0001F8003F0003F0001F8003F0001F8003F0001F8003F0001F8007F0001FC007E0000FC0
-7FFE00FFFC7FFF01FFFCFFFF01FFFE7FFF01FFFC7FFE00FFFC27347EB32C>65
-D<7FFFFFE0007FFFFFF800FFFFFFFE007FFFFFFF007FFFFFFFC003F0003FC003F0000FE0
-03F00007F003F00003F003F00003F003F00001F803F00001F803F00001F803F00001F803
-F00001F803F00001F803F00003F003F00003F003F00007F003F0000FE003F0001FC003F0
-00FF8003FFFFFF0003FFFFFE0003FFFFFC0003FFFFFF0003FFFFFFC003F0001FE003F000
-07F003F00003F803F00001F803F00000FC03F00000FC03F00000FE03F000007E03F00000
-7E03F000007E03F000007E03F000007E03F000007E03F00000FE03F00000FC03F00001FC
-03F00003F803F0000FF803F0003FF07FFFFFFFE07FFFFFFFC0FFFFFFFF807FFFFFFE007F
-FFFFF00027337FB22C>I<0000FF00700007FFE0F8000FFFF9F8003FFFFDF8007FFFFFF8
-00FF81FFF801FE007FF803FC001FF807F0000FF807F00007F80FE00007F80FC00003F81F
-800003F81F800001F83F000001F83F000001F87F000001F87E000000F07E000000007E00
-000000FE00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000
-0000FC00000000FC00000000FC00000000FC00000000FC00000000FE000000007E000000
-007E000000007E000000007F000000F03F000001F83F000001F81F800001F81F800001F8
-0FC00003F80FE00003F007F00007F007F00007E003FC001FE001FE003FC000FF81FF8000
-7FFFFF00003FFFFE00000FFFFC000007FFF0000000FF800025357DB32C>I<7FFFFF0000
-FFFFFFC000FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE0007E000FF0007E0007F8007
-E0003F8007E0001FC007E0000FE007E0000FE007E00007E007E00007F007E00003F007E0
-0003F807E00001F807E00001F807E00001F807E00001F807E00000FC07E00000FC07E000
-00FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000
-FC07E00000FC07E00000FC07E00001F807E00001F807E00001F807E00003F807E00003F0
-07E00003F007E00007F007E00007E007E0000FE007E0001FC007E0003FC007E0007F8007
-E000FF0007E003FE007FFFFFFC00FFFFFFF800FFFFFFF000FFFFFFC0007FFFFF00002633
-7EB22C>I<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF803F00001F803
-F00001F803F00001F803F00001F803F00001F803F00001F803F00001F803F00000F003F0
-00000003F000000003F000000003F000000003F001E00003F003F00003F003F00003F003
-F00003F003F00003FFFFF00003FFFFF00003FFFFF00003FFFFF00003FFFFF00003F003F0
-0003F003F00003F003F00003F003F00003F001E00003F000000003F000000003F0000000
-03F000000003F000000003F000003C03F000007E03F000007E03F000007E03F000007E03
-F000007E03F000007E03F000007E03F000007E7FFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFF
-FFFFFE7FFFFFFFFC27337EB22C>I<7FFFFFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFFC7F
-FFFFFFFC03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F00000FC03F0
-0000FC03F000007803F000000003F000000003F000000003F000000003F000000003F000
-F00003F001F80003F001F80003F001F80003F001F80003FFFFF80003FFFFF80003FFFFF8
-0003FFFFF80003FFFFF80003F001F80003F001F80003F001F80003F001F80003F000F000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F00000007FFFE00000FFFF
-E00000FFFFF00000FFFFE000007FFFE0000026337EB22C>I<0001FC0380000FFF87C000
-1FFFEFC0007FFFFFC000FFFFFFC001FF07FFC003FC01FFC003F800FFC007F0007FC00FE0
-003FC00FC0001FC01FC0001FC01F80001FC03F80000FC03F00000FC03F00000FC07E0000
-0FC07E000007807E000000007E00000000FE00000000FC00000000FC00000000FC000000
-00FC00000000FC00000000FC00000000FC00000000FC00000000FC0003FFF8FC0007FFFC
-FC0007FFFCFE0007FFFC7E0003FFF87E00000FC07E00000FC07E00000FC03F00001FC03F
-00001FC03F80001FC01F80001FC01FC0003FC00FC0003FC00FE0007FC007F0007FC003F8
-00FFC003FC01FFC001FF07FFC000FFFFFFC0007FFFEFC0001FFFCFC0000FFF07800001FC
-000026357DB32C>I<7FFE00FFFCFFFF01FFFEFFFF01FFFEFFFF01FFFE7FFE00FFFC07E0
-000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E000
-0FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000F
-C007E0000FC007E0000FC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC007FFFFFFC0
-07E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007
-E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007E0
-000FC007E0000FC007E0000FC007E0000FC007E0000FC07FFE00FFFCFFFF01FFFEFFFF01
-FFFEFFFF01FFFE7FFE00FFFC27337EB22C>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFC7F
-FFFFF8000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
-0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
-0FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFFFFFCFFFFFFFCFF
-FFFFFC7FFFFFF81E3379B22C>I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFF
-E0000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F00000F003F00001F803F00001F803F0
-0001F803F00001F803F00001F803F00001F803F00001F803F00001F87FFFFFFFF8FFFFFF
-FFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF025337DB22C>76 D<7FE0000FFCFFF0001FFEFF
-F0001FFEFFF8003FFE7FF8003FFC0FF8003FE00FBC007BE00FBC007BE00FBC007BE00FBC
-007BE00F9E00F3E00F9E00F3E00F9E00F3E00F9F01F3E00F9F01F3E00F8F01E3E00F8F01
-E3E00F8F83E3E00F8F83E3E00F8783C3E00F87C7C3E00F87C7C3E00F83C783E00F83C783
-E00F83EF83E00F83EF83E00F81EF03E00F81EF03E00F81FF03E00F80FE03E00F80FE03E0
-0F80FE03E00F807C03E00F803803E00F800003E00F800003E00F800003E00F800003E00F
-800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F800003E00F80
-0003E07FF0001FFCFFF8003FFEFFF8003FFEFFF8003FFE7FF0001FFC27337EB22C>I<7F
-F0007FFCFFF800FFFEFFF800FFFEFFFC00FFFE7FFC007FFC07FE0007C007DE0007C007DE
-0007C007DF0007C007CF0007C007CF0007C007CF8007C007C78007C007C7C007C007C7C0
-07C007C3C007C007C3E007C007C3E007C007C1E007C007C1F007C007C1F007C007C0F007
-C007C0F807C007C0F807C007C07C07C007C07C07C007C07C07C007C03E07C007C03E07C0
-07C01E07C007C01F07C007C01F07C007C00F07C007C00F87C007C00F87C007C00787C007
-C007C7C007C007C7C007C003C7C007C003E7C007C001E7C007C001E7C007C001F7C007C0
-00F7C007C000F7C007C000FFC07FFC007FC0FFFE007FC0FFFE003FC0FFFE003FC07FFC00
-1F8027337EB22C>I<007FFF000003FFFFE0000FFFFFF8001FFFFFFC003FFFFFFE003FE0
-03FE003F8000FE007F00007F007F00007F007E00003F007E00003F007E00003F00FE0000
-3F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F
-80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80
-FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC00001F80FC
-00001F80FC00001F80FC00001F80FC00001F80FC00001F80FE00003F80FE00003F807E00
-003F007E00003F007E00003F007F00007F007F00007F003F8000FE003FF007FE003FFFFF
-FE001FFFFFFC000FFFFFF80003FFFFE000007FFF000021357BB32C>I<7FFFFFC000FFFF
-FFF800FFFFFFFC00FFFFFFFF007FFFFFFF8003F000FFC003F0003FC003F0000FE003F000
-07F003F00007F003F00003F003F00003F803F00001F803F00001F803F00001F803F00001
-F803F00001F803F00001F803F00003F803F00003F003F00007F003F00007F003F0000FE0
-03F0003FC003F000FFC003FFFFFF8003FFFFFF0003FFFFFC0003FFFFF80003FFFFC00003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F00000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF80000025337EB2
-2C>I<7FFFFC000000FFFFFF800000FFFFFFE00000FFFFFFF800007FFFFFFC000007E007
-FE000007E001FE000007E0007F000007E0003F800007E0001F800007E0001F800007E000
-0FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E0000FC00007E000
-1F800007E0001F800007E0003F800007E0007F000007E001FE000007E007FE000007FFFF
-FC000007FFFFF8000007FFFFE0000007FFFFF0000007FFFFF8000007E007FC000007E001
-FE000007E000FE000007E0007F000007E0003F000007E0003F000007E0003F000007E000
-3F000007E0003F000007E0003F000007E0003F000007E0003F000007E0003F0F0007E000
-3F1F8007E0003F1F8007E0003F1F8007E0003F1F8007E0003F1F807FFE001FBF80FFFF00
-1FFF00FFFF000FFF00FFFF000FFE007FFE0007FC0000000001F00029347EB22C>82
-D<001FF8070000FFFF0F8001FFFFCF8007FFFFFF800FFFFFFF801FF01FFF803FC003FF80
-3F8001FF807F0000FF807E00007F80FE00003F80FC00003F80FC00001F80FC00001F80FC
-00001F80FC00001F80FE00000F007E000000007F000000007F800000003FE00000001FFC
-0000001FFFC000000FFFFC000003FFFFC00001FFFFF000007FFFF8000007FFFC0000007F
-FE00000007FF00000000FF800000003F800000001FC00000001FC00000000FE00000000F
-E078000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FC0
-FE00000FC0FF00001F80FF80003F80FFE0007F00FFFE01FF00FFFFFFFE00FFFFFFFC00F9
-FFFFF000F83FFFC0007007FF000023357CB32C>I<7FFFFFFFFCFFFFFFFFFEFFFFFFFFFE
-FFFFFFFFFEFFFFFFFFFEFC007E007EFC007E007EFC007E007EFC007E007EFC007E007EFC
-007E007EFC007E007E78007E003C00007E000000007E000000007E000000007E00000000
-7E000000007E000000007E000000007E000000007E000000007E000000007E000000007E
-000000007E000000007E000000007E000000007E000000007E000000007E000000007E00
-0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000
-00007E000000007E000000007E000000007E000000007E000000007E000000007E000000
-3FFFFC00003FFFFC00007FFFFE00003FFFFC00003FFFFC0027337EB22C>I<7FFF803FFF
-C0FFFFC07FFFE0FFFFC07FFFE0FFFFC07FFFE07FFF803FFFC003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F8
-0003F00001F80003F80003F80001F80003F00001F80003F00001FC0007F00000FC0007E0
-0000FE000FE000007F001FC000003F803F8000003FE0FF8000001FFFFF0000000FFFFE00
-000003FFF800000001FFF0000000003F8000002B3480B22C>I<7FFC007FFCFFFE00FFFE
-FFFE00FFFEFFFE00FFFE7FFC007FFC0FC00007E00FE0000FE007E0000FC007E0000FC007
-E0000FC007F0001FC003F0001F8003F0001F8003F0001F8003F8003F8001F8003F0001F8
-003F0001F8003F0001FC007F0000FC007E0000FC007E0000FC007E0000FC007E00007E00
-FC00007E00FC00007E00FC00007E00FC00003F01F800003F01F800003F01F800003F01F8
-00001F83F000001F83F000001F83F000001F83F000000F83E000000FC7E000000FC7E000
-000FC7E0000007C7C0000007C7C0000007EFC0000007EFC0000003EF80000003EF800000
-03FF80000003FF80000001FF00000001FF00000001FF00000001FF00000000FE00002734
-7EB22C>I<7FF00007FF00FFF8000FFF80FFF8000FFF80FFF8000FFF807FF00007FF001F
-0000007C001F0000007C001F0000007C001F0000007C000F800000F8000F800000F8000F
-800000F8000F800000F8000F800000F8000F800000F8000F800000F80007C00001F00007
-C00001F00007C00001F00007C00001F00007C03E01F00007C07F01F00007C07F01F00007
-C07F01F00003E0FF83E00003E0FF83E00003E0F783E00003E0F783E00003E1F7C3E00003
-E1F7C3E00003E1F7C3E00001E1E3C3C00001E1E3C3C00001F1E3C7C00001F3E3E7C00001
-F3E3E7C00001F3E3E7C00001F3C1E7C00001F3C1E7C00000F3C1E7800000F3C1E7800000
-F7C1F7800000F780F7800000F780F7800000F780F7800000FF80FF8000007F80FF000000
-7F007F0000007F007F0000007F007F0000007F007F0000003E003E000029347FB22C>I<
-7FFFFCFFFFFEFFFFFEFFFFFEFFFFFCFC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
-FFFFFCFFFFFEFFFFFEFFFFFE7FFFFC17416FB92C>91 D<7800000000F800000000FC0000
-0000FC00000000FE000000007E000000007F000000003F000000003F800000001F800000
-001FC00000000FC00000000FE000000007E000000007E000000007F000000003F0000000
-03F800000001F800000001FC00000000FC00000000FE000000007E000000007F00000000
-3F000000003F800000001F800000001F800000001FC00000000FC00000000FE000000007
-E000000007F000000003F000000003F800000001F800000001FC00000000FC00000000FC
-00000000FE000000007E000000007F000000003F000000003F800000001F800000001FC0
-0000000FC00000000FE000000007E000000007F000000003F000000003F000000003F800
-000001F800000001FC00000000FC00000000FE000000007E000000007F000000003F0000
-00003F800000001F800000001F800000000F80000000070021417BB92C>I<7FFFFCFFFF
-FEFFFFFEFFFFFE7FFFFE00007E00007E00007E00007E00007E00007E00007E00007E0000
-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000
-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000
-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E0000
-7E00007E00007E00007E00007E00007E00007E00007E00007E00007E00007E7FFFFEFFFF
-FEFFFFFEFFFFFE7FFFFC17417DB92C>I<000E0000003F800000FFE00003FFF8000FFFFE
-001FFFFF007FF1FFC0FFE0FFE0FF803FE0FE000FE07C0007C0300001801B0C78B22C>I<
-7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFFFFFF0021067B7D2C>
-I<007000F801F803F807F00FE01FC01F803F003E007E007C007C00FC00F800F800F800F8
-00FF80FFC0FFE0FFE07FE07FE03FE01FC00F800D1B71B82C>I<01FFF0000007FFFE0000
-1FFFFF80001FFFFFE0003FFFFFF0003FC01FF8003FC007F8003FC001FC001F8000FC0006
-0000FE000000007E000000007E000000007E000000FFFE00001FFFFE0000FFFFFE0003FF
-FFFE000FFFFFFE001FFF807E003FF8007E007FC0007E007F00007E00FE00007E00FC0000
-7E00FC00007E00FC00007E00FC00007E00FE00007E007F0000FE007F8003FE003FE01FFE
-001FFFFFFFFC0FFFFFFFFE07FFFFBFFE01FFFE1FFE003FF007FC27247CA32C>I<7FF000
-0000FFF8000000FFF8000000FFF80000007FF800000001F800000001F800000001F80000
-0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000
-01F81FE00001F8FFF80001FBFFFE0001FFFFFF0001FFFFFF8001FFF07FC001FF801FE001
-FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F8
-00007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800
-007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000F
-F001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80000F03FC000
-27337FB22C>I<0003FFE000001FFFF800007FFFFE0001FFFFFE0003FFFFFF0007FE00FF
-000FF000FF001FE000FF001FC0007E003F800018003F000000007F000000007E00000000
-7E00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC
-00000000FC000000007E000000007E000000007F000000003F00000F003F80001F801FC0
-001F801FE0003F800FF0007F0007FE03FF0003FFFFFE0001FFFFFC00007FFFF800001FFF
-E0000003FF000021247AA32C>I<00000FFE0000001FFF0000001FFF0000001FFF000000
-0FFF000000003F000000003F000000003F000000003F000000003F000000003F00000000
-3F000000003F000000003F000000003F000007F83F00003FFE3F0000FFFFBF0001FFFFFF
-0003FFFFFF0007FC0FFF000FF003FF001FE001FF001FC000FF003F80007F003F00007F00
-7E00003F007E00003F00FE00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC
-00003F00FC00003F00FC00003F00FC00003F00FE00003F007E00007F007E00007F007F00
-00FF003F8000FF003F8001FF001FC003FF000FF007FF0007FC1FFF0003FFFFFFFC01FFFF
-BFFE00FFFF3FFE003FFC3FFE000FF01FFC27337DB22C>I<0003FE0000001FFFC000007F
-FFF00001FFFFF80003FFFFFC0007FE03FE000FF800FF001FE0003F801FC0003F803F8000
-1FC03F00000FC07F00000FC07E00000FE07E000007E0FC000007E0FFFFFFFFE0FFFFFFFF
-E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00000000FE000000007E000000007E00000000
-7F000000003F000003C03F800007E01FC00007E00FF0000FE007F8003FC007FF00FFC001
-FFFFFF8000FFFFFF00003FFFFC00000FFFF0000001FF800023247CA32C>I<00000FF800
-00003FFE000000FFFF000001FFFF800003FFFF800007FC7F800007F07F80000FE03F0000
-0FC03F00000FC00000000FC00000000FC00000000FC00000000FC00000000FC000007FFF
-FFFE00FFFFFFFF00FFFFFFFF00FFFFFFFF007FFFFFFE00000FC00000000FC00000000FC0
-0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000
-00000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000
-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000
-0FC00000000FC000003FFFFFF0007FFFFFF8007FFFFFF8007FFFFFF8003FFFFFF0002133
-7DB22C>I<00000003F80007F80FFC001FFE3FFE007FFFFFFF01FFFFFFFF03FFFFFE7F03
-FC0FF87F07F003F83E0FE001FC1C0FC000FC001FC000FE001F80007E001F80007E001F80
-007E001F80007E001F80007E001F80007E001FC000FE000FC000FC000FE001FC0007F003
-F80003FC0FF00007FFFFF00007FFFFE0000FFFFF80000F9FFE00000F87F800000F800000
-000F800000000F800000000FC000000007E000000007FFFFF00003FFFFFE0007FFFFFF80
-0FFFFFFFE01FFFFFFFF03FC0001FF87F000003FC7E000000FC7C0000007CFC0000007EF8
-0000003EF80000003EF80000003EF80000003EFC0000007E7E000000FC7F800003FC3FE0
-000FF81FFC007FF00FFFFFFFE003FFFFFF8001FFFFFF00003FFFF8000007FFC00028387E
-A42C>I<7FF000000000FFF800000000FFF800000000FFF8000000007FF80000000001F8
-0000000001F80000000001F80000000001F80000000001F80000000001F80000000001F8
-0000000001F80000000001F80000000001F80000000001F81FE0000001F87FFC000001F9
-FFFE000001FBFFFF000001FFFFFF000001FFF03F800001FFC01F800001FF801FC00001FF
-000FC00001FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8
-000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFF
-F1FFFF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029337FB22C>I<00070000001FC0
-00001FC000003FE000003FE000003FE000001FC000001FC0000007000000000000000000
-0000000000000000000000000000000000000000007FFFC0007FFFE000FFFFE0007FFFE0
-007FFFE0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
-000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0
-007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479B32C>I<00000E0000003F80
-00003F8000007FC000007FC000007FC000003F8000003F8000000E000000000000000000
-000000000000000000000000000000000000000001FFFF8003FFFFC003FFFFC003FFFFC0
-01FFFFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0
-00000FC000000FC000000FC000001FC03C001F807E003F80FF003F00FF007F00FF01FE00
-FFFFFC007FFFF8007FFFF0001FFFE00007FF00001A467CB32C>I<7FE0000000FFF00000
-00FFF0000000FFF00000007FF000000001F000000001F000000001F000000001F0000000
-01F000000001F000000001F000000001F000000001F000000001F000000001F01FFFF001
-F03FFFF801F03FFFF801F03FFFF801F01FFFF001F000FE0001F001FC0001F003F80001F0
-07F00001F00FE00001F01FC00001F03F800001F07F000001F0FE000001F1FC000001F3FC
-000001F7FE000001FFFF000001FFFF000001FF9F800001FF0FC00001FE0FE00001FC07E0
-0001F803F00001F001F80001F001FC0001F000FC0001F0007E0001F0003F0001F0003F80
-01F0001F807FFFC0FFFCFFFFE1FFFEFFFFE1FFFEFFFFE1FFFE7FFFC0FFFC27337EB22C>
-I<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFF000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07F
-FFFFFF8022337BB22C>I<7F83F007E0007FCFFC1FF800FFDFFE3FFC007FFFFEFFFC007F
-FFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80FF01F0007F00FE01F0007E00FC01F0007
-E00FC01F0007E00FC01F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007
-C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007
-C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007
-C00F801F0007C00F801F0007C00F801F007FFC3FF87FF07FFC7FF8FFF0FFFE7FFCFFF87F
-FC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF01FE00000FFF87FFC0000FFF9FFFE0000
-FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F800001FF801FC00001FF000FC000
-01FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001F8000FC000
-01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000
-01F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC000
-01F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFFF1FFFF80
-FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029247FA32C>I<0007FC0000001FFF000000
-7FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE001FE000FF001F80003F003F80
-003F803F00001F807E00000FC07E00000FC07E00000FC0FC000007E0FC000007E0FC0000
-07E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00000F
-C07F00001FC03F00001F803F80003F801FC0007F001FE000FF000FF001FE0007FC07FC00
-03FFFFF80001FFFFF000007FFFC000001FFF00000007FC000023247CA32C>I<7FF01FE0
-00FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001FFF07FC001FF801FE001FF0007F0
-01FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F800007E01
-F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F8
-0000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000FF001FF80
-1FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80001F83FC00001F80000
-0001F800000001F800000001F800000001F800000001F800000001F800000001F8000000
-01F800000001F800000001F800000001F800000001F80000007FFFE00000FFFFF00000FF
-FFF00000FFFFF000007FFFE0000027367FA32C>I<0003FC078000001FFF0FC000007FFF
-CFC00001FFFFEFC00003FFFFFFC00007FE07FFC0000FF001FFC0001FE000FFC0001FC000
-7FC0003F80003FC0003F00003FC0007F00001FC0007E00001FC0007E00000FC000FC0000
-0FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC00000FC000FC0000
-0FC000FC00000FC000FE00000FC0007E00001FC0007E00001FC0003F00003FC0003F8000
-3FC0001FC0007FC0001FE000FFC0000FF003FFC00007FC0FFFC00003FFFFFFC00001FFFF
-EFC000007FFF8FC000003FFF0FC0000007F80FC0000000000FC0000000000FC000000000
-0FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000000
-0FC0000000000FC0000000000FC0000000000FC0000000000FC000000003FFFF00000007
-FFFF80000007FFFF80000007FFFF80000003FFFF0029367DA32C>I<7FFE003FC0FFFF01
-FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003FFF01FC003FFC00F8003FF800
-70003FF00000003FE00000003FE00000003FC00000003F800000003F800000003F800000
-003F000000003F000000003F000000003F000000003F000000003F000000003F00000000
-3F000000003F000000003F000000003F000000003F000000003F000000003F000000003F
-0000007FFFFFE000FFFFFFF000FFFFFFF000FFFFFFF0007FFFFFE00026247EA32C>I<00
-7FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87FC00FF87E0003F8FC0001F8F80001F8F8
-0001F8F80001F8FC0000F07F0000007FF000003FFFC0001FFFFE000FFFFF8003FFFFE000
-7FFFF80001FFFC000007FC000000FE7800007FFC00003FFC00001FFE00001FFE00001FFF
-00003FFF80003EFFC000FEFFF007FCFFFFFFFCFFFFFFF8FFFFFFE0F8FFFF80701FFC0020
-247AA32C>I<001E000000003F000000003F000000003F000000003F000000003F000000
-003F000000003F000000003F000000003F0000007FFFFFFF00FFFFFFFF80FFFFFFFF80FF
-FFFFFF807FFFFFFF00003F000000003F000000003F000000003F000000003F000000003F
-000000003F000000003F000000003F000000003F000000003F000000003F000000003F00
-0000003F000000003F000000003F000000003F000000003F0003C0003F0007E0003F0007
-E0003F0007E0003F0007E0003F0007E0003F800FE0001F801FC0001FE07FC0000FFFFF80
-000FFFFF000003FFFE000001FFF80000003FE000232E7EAD2C>I<7FF003FF8000FFF807
-FFC000FFF807FFC000FFF807FFC0007FF803FFC00001F8000FC00001F8000FC00001F800
-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
-0FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F800
-0FC00001F8001FC00001F8001FC00001F8003FC00001FC007FC00000FE03FFC00000FFFF
-FFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE07FF0029247FA32C>I<7FFF
-01FFFCFFFF01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03E0000F8003E0000F8003F000
-1F8001F0001F0001F0001F0001F8003F0000F8003E0000F8003E0000FC007E00007C007C
-00007C007C00007E00FC00003E00F800003E00F800003F01F800001F01F000001F01F000
-001F83F000000F83E000000F83E000000FC7E0000007C7C0000007C7C0000007EFC00000
-03EF80000003EF80000003FF80000001FF00000001FF00000000FE000000007C00002724
-7EA32C>I<7FFF007FFF007FFF80FFFF00FFFF80FFFF807FFF80FFFF007FFF007FFF0007
-C00001F00007C00001F00007C00001F00007C00001F00007C00001F00007C00001F00003
-E00003E00003E00003E00003E00003E00003E03E03E00003E07F03E00003E07F03E00001
-F07F07C00001F0FF87C00001F0FF87C00001F0F787C00001F0F787C00001F1F7C7C00000
-F1F7C7800000F9E3CF800000F9E3CF800000FBE3EF800000FBE3EF800000FBE3EF800000
-7BC1EF0000007FC1FF0000007FC1FF0000007F80FF0000007F80FF0000003F80FE000000
-1F007C000029247FA32C>I<3FFF03FFF07FFF87FFF87FFF87FFF87FFF87FFF83FFF03FF
-F000FC007E0000FC00FC00007E01F800003F01F000001F83F000001F87E000000FCFC000
-0007EF80000003FF80000001FF00000001FE00000000FC000000007C00000000FE000000
-01FE00000001FF00000003EF80000007CFC000000FC7C000000F83E000001F01F000003F
-01F800007E00F800007C007C0000F8007E0001F8003F007FFF01FFFC7FFF83FFFCFFFF83
-FFFE7FFF83FFFC7FFF01FFFC27247EA32C>I<7FFF01FFFCFFFF81FFFEFFFF83FFFEFFFF
-81FFFE7FFF01FFFC03E0000F8001F0000F8001F0001F8001F8001F0000F8001F0000F800
-3F0000FC003E00007C003E00007E007E00003E007C00003E007C00003F00FC00001F00F8
-00001F00F800000F81F800000F81F000000F81F0000007C1F0000007C3E0000007C3E000
-0003E3E0000003E7C0000001E7C0000001F7C0000001F780000000FF80000000FF800000
-00FF000000007F000000007F000000003E000000003E000000007E000000007C00000000
-7C00000000FC00000000F800000000F800000C01F800003F01F000007F83F000007F87E0
-00007E0FE000007E1FC000007FFF8000003FFF0000001FFE0000000FFC00000007E00000
-0027367EA32C>I<3FFFFFFFE07FFFFFFFF07FFFFFFFF07FFFFFFFF07FFFFFFFF07E0000
-1FE07E00003FC07E00007F807E0000FF007E0001FE003C0003FC00000007F80000000FF0
-0000001FE00000003FC00000007F80000000FF00000001FC00000003F80000000FF00000
-001FE00000003FC00000007F80000000FF00000001FE0001E003FC0003F007F80003F00F
-F00003F01FE00003F03FC00003F07F800003F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFF
-FFFFF07FFFFFFFE024247DA32C>I<000000FF00000007FF8000001FFF8000007FFF8000
-00FFFF000001FFC0000001FE00000003F800000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000007F00000001FE0000000FFE000007FFFC00000FFFF800000FFFE000000
-FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F800000001FE00000001FFC0000000FFFF0000007FFF
-8000001FFF80000007FF80000000FF0021417BB92C>I<78FCFCFCFCFCFCFCFCFCFCFCFC
-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFC
-FCFCFCFCFCFCFCFCFCFCFCFCFCFCFC7806416DB92C>I<7FC0000000FFF8000000FFFE00
-0000FFFF8000007FFFC0000000FFE00000001FE000000007F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F800000001FE00000001FFC0000000FFFF000000
-7FFF8000001FFF8000007FFF800000FFFF000001FFC0000001FE00000003F800000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000007F00000001FE0000000FFE000007F
-FFC00000FFFF800000FFFE000000FFF80000007FC000000021417BB92C>I
-E /Fq 87 124 df<00000FF800FC0000007FFF07FF000001F807DF83C00007E001FF0FC0
-001F8007FE1FE0003F000FFC1FE0007E000FFC1FE0007E000FF81FE000FC000FF81FE000
-FC000FF0078001F80007F0000001F80003F0000001F80003F0000001F80003F0000001F8
-0003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F800
-03F0000001F80003F0000001F80003F0000001F80003F00000FFFFFFFFFFF800FFFFFFFF
-FFF800FFFFFFFFFFF80001F80003F0000001F80003F0000001F80003F0000001F80003F0
-000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F000
-0001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F00000
-01F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001
-F80003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000001F8
-0003F0000001F80003F0000001F80003F0000001F80003F0000001F80003F0000003FC00
-07F800007FFFE0FFFFF0007FFFE0FFFFF0007FFFE0FFFFF000333B7FBA30>11
-D<00000FF8000000007FFE00000001F80780000007E001C000001F8000E000003F0007E0
-00007E000FF000007E000FF00000FC000FF00000FC000FF00001F8000FF00001F80007E0
-0001F80001800001F80000000001F80000000001F80000000001F80000000001F8000000
-0001F80000000001F80000000001F80000000001F80000000001F80003F000FFFFFFFFF0
-00FFFFFFFFF000FFFFFFFFF00001F8000FF00001F80003F00001F80003F00001F80003F0
-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0
-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0
-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0
-0001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F0
-0001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA2E
->I<00000FFC000000007FFF70000001F803F0000007E007F000001F800FF000003F000F
-F000007E000FF000007E000FF00000FC000FF00000FC0007F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F000FFFFFFFF
-F000FFFFFFFFF000FFFFFFFFF00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FFFFC02A3B7FBA
-2E>I<00000FF0001FF0000000007FFE00FFFC00000001F80F83F00F00000007E001CFC0
-038000001F8000FF0001C000003F0007FE000FC000007E000FFC001FE000007E000FFC00
-1FE00000FC000FF8001FE00000FC000FF8001FE00001F8000FF0001FE00001F80007F000
-0FC00001F80003F00003000001F80003F00000000001F80003F00000000001F80003F000
-00000001F80003F00000000001F80003F00000000001F80003F00000000001F80003F000
-00000001F80003F00000000001F80003F00000000001F80003F00007E000FFFFFFFFFFFF
-FFE000FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001F80003F0001FE00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F000
-07E00001F80003F00007E00001F80003F00007E00001F80003F00007E00003FC0007F800
-0FF0007FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF80413B7FBA45>
-I<00000FF8001FF8000000007FFF00FFFEE0000001F80783F007E0000007E001CFC00FE0
-00001F8007FF001FE000003F000FFE001FE000007E000FFC001FE000007E000FFC001FE0
-0000FC000FF8001FE00000FC000FF8000FE00001F80007F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E000FFFFFFFFFFFFFFE0
-00FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFE00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00001F80003F00007E0
-0001F80003F00007E00001F80003F00007E00001F80003F00007E00003FC0007F8000FF0
-007FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF807FFFE0FFFFC1FFFF80413B7FBA45>I<00
-3C007E007E00FE01FE03FC03F007E00FC01F801E003C007800F000C0000F0F6FB92A>19
-D<03F00003F00003F00003FE00003F80001FC0000FE00007E00007E00007E0000FE0001F
-C000FF80FFFE00FFE000130F757D25>24 D<1C007F00FF80FF80FF80FF80FF80FF80FF80
-FF807F007F007F007F007F007F007F007F007F007F007F003E003E003E003E003E003E00
-3E003E003E003E003E001C001C001C001C001C001C001C001C001C001C001C0000000000
-0000000000000000000000001C007F00FF80FF80FF80FF80FF807F001C00093C79BB17>
-33 D<1C001C007F007F00FF80FF80FF80FF80FFC0FFC0FFC0FFC0FFC0FFC07FC07FC01C
-C01CC000C000C000C000C000C000C000C000C001C001C001800180018001800380038003
-00030007000700060006000E000E001C001C003800380070007000600060001A197DB92A
->I<1C007F00FF80FF80FFC0FFC0FFC07FC01CC000C000C000C000C001C0018001800380
-0300070006000E001C003800700060000A1979B917>39 D<0000600000E00001C0000380
-000700000E00001E00003C0000780000780000F00001E00001E00003C00003C00007C000
-0780000F80000F00000F00001F00001E00001E00003E00003E00003E00007C00007C0000
-7C00007C00007C00007C0000F80000F80000F80000F80000F80000F80000F80000F80000
-F80000F80000F80000F80000F80000F80000F80000F80000F80000F800007C00007C0000
-7C00007C00007C00007C00003E00003E00003E00001E00001E00001F00000F00000F0000
-0F800007800007C00003C00003C00001E00001E00000F000007800007800003C00001E00
-000E000007000003800001C00000E0000060135278BD20>I<C00000E000007000003800
-001C00000E00000F000007800003C00003C00001E00000F00000F000007800007800007C
-00003C00003E00001E00001E00001F00000F00000F00000F80000F80000F800007C00007
-C00007C00007C00007C00007C00003E00003E00003E00003E00003E00003E00003E00003
-E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007C00007
-C00007C00007C00007C00007C0000F80000F80000F80000F00000F00001F00001E00001E
-00003E00003C00007C0000780000780000F00000F00001E00003C00003C0000780000F00
-000E00001C0000380000700000E00000C0000013527CBD20>I<000380000007C0000007
-C0000007C0000007C0000007C0000007C0000007C0007803803CFC03807EFE0380FE7F83
-83FC3FC387F80FE38FE003FBBF8000FFFE00003FF800000FE000000FE000003FF80000FF
-FE0003FBBF800FE38FE03FC387F87F8383FCFE0380FEFC03807E7803803C0007C0000007
-C0000007C0000007C0000007C0000007C0000007C000000380001F247BBD2A>I<000000
-300000000000007800000000000078000000000000780000000000007800000000000078
-000000000000780000000000007800000000000078000000000000780000000000007800
-000000000078000000000000780000000000007800000000000078000000000000780000
-000000007800000000000078000000000000780000000000007800000000000078000000
-000000780000000000007800000000000078000000000000780000007FFFFFFFFFFFF8FF
-FFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF800000078000000000000780000000000
-007800000000000078000000000000780000000000007800000000000078000000000000
-780000000000007800000000000078000000000000780000000000007800000000000078
-000000000000780000000000007800000000000078000000000000780000000000007800
-000000000078000000000000780000000000007800000000000078000000000000780000
-00000000780000000000003000000036367BAF41>I<1C007F00FF80FF80FFC0FFC0FFC0
-7FC01CC000C000C000C000C001C00180018003800300070006000E001C00380070006000
-0A19798817>I<FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC16057F941C>I<1C007F00FF80FF80
-FF80FF80FF807F001C000909798817>I<0003F80000001FFF0000007E0FC00000F803E0
-0001E000F00003C000780007C0007C000F80003E000F80003E001F00001F001F00001F00
-3F00001F803F00001F803F00001F807E00000FC07E00000FC07E00000FC07E00000FC07E
-00000FC07E00000FC0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00
-000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000
-0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE07E00000F
-C07E00000FC07E00000FC07E00000FC07F00001FC03F00001F803F00001F803F00001F80
-1F00001F001F80003F000F80003E000F80003E0007C0007C0003E000F80001F001F00000
-F803E000007E0FC000001FFF00000003F80000233A7DB72A>48 D<0001C0000003C00000
-07C000001FC00000FFC000FFFFC000FFFFC000FF1FC000001FC000001FC000001FC00000
-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
-1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000
-1FC000001FC000001FC000001FC000001FC000003FE0007FFFFFF07FFFFFF07FFFFFF01C
-3879B72A>I<000FF00000007FFE000001FFFF800003E03FE0000F000FF0000E0007F800
-1C0003FC00380001FE00300001FE00700000FF00600000FF00FC0000FF00FF00007F80FF
-80007F80FF80007F80FF80007F80FF80007F80FF80007F807F00007F801C00007F800000
-007F80000000FF00000000FF00000000FF00000001FE00000001FC00000003FC00000003
-F800000007F000000007E00000000FE00000001FC00000003F800000003F000000007C00
-000000F800000001F000000003E000000007C00000000F800000000F000000001E000180
-003C000180007800018000F000038001E000030003C000030007800003000E000007000F
-FFFFFF001FFFFFFF003FFFFFFF007FFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE002138
-7CB72A>I<0007F80000003FFF0000007FFFC00001F80FF00003C007F800078003FC000E
-0001FC000F0001FE001FE000FE001FF000FF001FF000FF001FF000FF001FF000FF001FF0
-00FF000FE000FF0007C000FF00000000FE00000001FE00000001FE00000001FC00000003
-F800000003F800000007F000000007E00000000F800000007E0000001FFC0000001FFF80
-0000000FE000000007F000000001FC00000001FE00000000FF000000007F800000007F80
-0000007FC00000007FC00000003FC00000003FE00000003FE01E00003FE07F80003FE0FF
-C0003FE0FFC0003FE0FFC0003FE0FFC0003FE0FFC0003FC0FF80007FC07F80007F807E00
-007F80700000FF00380001FE001E0001FE000F8003F80007F00FF00001FFFFC000007FFF
-0000000FF80000233A7DB72A>I<000000380000000038000000007800000000F8000000
-00F800000001F800000003F800000007F800000007F80000000FF80000001FF80000001B
-F800000033F800000073F800000063F8000000C3F8000001C3F800000183F800000303F8
-00000703F800000603F800000C03F800001C03F800001803F800003003F800007003F800
-006003F80000C003F80001C003F800038003F800030003F800070003F8000E0003F8000C
-0003F800180003F800380003F800300003F800600003F800E00003F800FFFFFFFFF8FFFF
-FFFFF8FFFFFFFFF8000003F800000003F800000003F800000003F800000003F800000003
-F800000003F800000003F800000003F800000003F800000003F800000007FC000003FFFF
-F80003FFFFF80003FFFFF825397EB82A>I<0600000C000780003C0007F003F80007FFFF
-F80007FFFFF00007FFFFE00007FFFF800007FFFF000007FFFC0000067FE0000006000000
-000600000000060000000006000000000600000000060000000006000000000600000000
-0600000000060000000006000000000607F80000063FFE000006780F800007E007E00007
-8003F000070001F800060001F800060000FC00000000FE00000000FE00000000FF000000
-007F000000007F000000007F800000007F800000007F800000007F803E00007F807F0000
-7F80FF80007F80FF80007F80FF80007F80FF80007F80FF00007F00FE0000FF00E00000FF
-00600000FE00700000FE00300001FC00380001F8001C0003F8001E0007F0000F800FE000
-07E03F800001FFFF0000007FFC0000001FE00000213A7CB72A>I<00003FC0000001FFF0
-000007FFFC00000FE03E00003F800700007E001F0000FC003F8001F8007F8003F0007F80
-03F0007F8007E0007F800FE0003F000FC0001E001FC00000001FC00000003F800000003F
-800000003F800000007F800000007F000000007F01FC00007F07FF8000FF1E07E000FF38
-01F000FF7000F800FF6000FC00FFE0007E00FFC0003F00FFC0003F00FF80003F80FF8000
-3FC0FF80001FC0FF80001FC0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF00001F
-E07F00001FE07F00001FE07F00001FE07F00001FE07F00001FE03F80001FE03F80001FC0
-3F80001FC01F80001FC01F80003F801FC0003F800FC0003F0007E0007F0007E000FE0003
-F000FC0001F801F80000FE07F000003FFFC000001FFF00000003FC0000233A7DB72A>I<
-300000000038000000003E000000003FFFFFFFE03FFFFFFFE03FFFFFFFE03FFFFFFFC07F
-FFFFFFC07FFFFFFF807FFFFFFF0070000006006000000E006000001C006000001800E000
-003800C000007000C00000E000C00000C000000001C00000000380000000030000000007
-000000000E000000000C000000001C000000003800000000380000000070000000007000
-000000F000000001E000000001E000000003E000000003E000000003C000000007C00000
-0007C00000000FC00000000FC00000000FC00000001F800000001F800000001F80000000
-3F800000003F800000003F800000003F800000003F800000007F800000007F800000007F
-800000007F800000007F800000007F800000007F800000007F800000007F800000003F00
-0000001E000000233B7BB82A>I<0003F80000001FFF0000007FFFC00000FC07F00001E0
-01F80003C000FC000780007C000700003E000F00001E000E00001F001E00000F001E0000
-0F001E00000F001F00000F001F00000F001F80000F001F80001F001FE0001E000FF0003E
-000FFC003C000FFE00780007FF80F00007FFC1E00003FFF3C00001FFFF000000FFFE0000
-003FFF0000001FFFC000001FFFE000007FFFF80000F0FFFC0003E07FFE0007801FFF000F
-000FFF801F0003FF803E0001FFC03C00007FC07C00003FC07800000FE0F8000007E0F000
-0007E0F0000003E0F0000003E0F0000001E0F0000001E0F0000001E0F8000001C0780000
-01C078000003C07C000003803E000007001F00000F000F80001E0007E0007C0003F803F0
-0000FFFFE000003FFF80000007FC0000233A7DB72A>I<0003F80000001FFF0000007FFF
-C00000FC07E00003F803F00007F001F8000FE000FC000FC0007E001FC0007E003F80003F
-003F80003F007F80003F807F00003F807F00003F80FF00001FC0FF00001FC0FF00001FC0
-FF00001FC0FF00001FC0FF00001FC0FF00001FE0FF00001FE0FF00001FE0FF00001FE0FF
-00001FE07F00003FE07F00003FE07F80003FE03F80003FE01F80007FE01F80007FE00FC0
-00FFE007E000DFE003E001DFE001F0039FE000FC0F1FE0003FFC1FC00007F01FC0000000
-1FC00000003FC00000003F800000003F800000003F800000003F000000007F000F00007E
-001F80007E003FC000FC003FC000FC003FC001F8003FC003F0003F8007E0001F000FC000
-1C001F80000F807F000007FFFC000001FFF00000003FC00000233A7DB72A>I<1C007F00
-FF80FF80FF80FF80FF807F001C0000000000000000000000000000000000000000000000
-00000000000000000000000000001C007F00FF80FF80FF80FF80FF807F001C00092479A3
-17>I<1C007F00FF80FF80FF80FF80FF807F001C00000000000000000000000000000000
-0000000000000000000000000000000000000000001C007F00FF00FF80FF80FF80FF807F
-801D8001800180018001800380030003000700060006000E001C00180038007000600009
-3479A317>I<7FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF80000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000007FFFFFFFFFFFF8FFFFFFFFFF
-FFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF836167B9F41>61 D<003FE00001FFFE0007C03F80
-0E000FC03C0007F0300003F0700003F87C0001F8FE0001FCFF0001FCFF0001FCFF0001FC
-FF0001FC7E0001FC3C0003F8000003F8000007F0000007F000000FE000001F8000003F00
-00007E0000007C000000F8000001F0000001E0000003C000000380000003800000070000
-000700000007000000060000000600000006000000060000000600000006000000060000
-000600000006000000060000000000000000000000000000000000000000000000000000
-0000000000000000000E0000003F8000007FC000007FC000007FC000007FC000007FC000
-003F8000000E00001E3B7CBA27>63 D<0000003800000000000038000000000000380000
-000000007C0000000000007C0000000000007C000000000000FE000000000000FE000000
-000000FE000000000001FF000000000001FF000000000001FF0000000000037F80000000
-00037F8000000000077FC000000000063FC000000000063FC0000000000E3FE000000000
-0C1FE0000000000C1FE0000000001C1FF000000000180FF000000000180FF00000000038
-0FF8000000003007F8000000003007F8000000007007FC000000006003FC000000006003
-FC00000000C003FE00000000C001FE00000000C001FE000000018001FF000000018000FF
-000000018000FF000000030000FF8000000300007F8000000300007F8000000600007FC0
-000007FFFFFFC0000007FFFFFFC000000FFFFFFFE000000C00001FE000000C00001FE000
-001800000FF000001800000FF000001800000FF0000030000007F8000030000007F80000
-30000007F8000060000003FC000060000003FC0000E0000003FC0000E0000001FE0001E0
-000001FE0003F0000001FF000FFC000007FF80FFFF8000FFFFFEFFFF8000FFFFFEFFFF80
-00FFFFFE373C7DBB3E>65 D<FFFFFFFFE00000FFFFFFFFFC0000FFFFFFFFFF000001FF80
-007FC00000FF00001FE00000FF00000FF00000FF000007F80000FF000003FC0000FF0000
-03FC0000FF000001FE0000FF000001FE0000FF000001FF0000FF000001FF0000FF000001
-FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001FF0000FF000001FE
-0000FF000003FE0000FF000003FC0000FF000007F80000FF00000FF00000FF00001FE000
-00FF00003FC00000FF0000FF800000FFFFFFFC000000FFFFFFFC000000FF00007F800000
-FF00001FE00000FF000007F00000FF000003F80000FF000001FC0000FF000001FE0000FF
-000000FF0000FF000000FF0000FF000000FF8000FF0000007F8000FF0000007FC000FF00
-00007FC000FF0000007FC000FF0000007FC000FF0000007FC000FF0000007FC000FF0000
-007FC000FF0000007F8000FF000000FF8000FF000000FF8000FF000001FF0000FF000001
-FE0000FF000003FE0000FF000007FC0000FF00001FF80001FF80007FF000FFFFFFFFFFC0
-00FFFFFFFFFF0000FFFFFFFFF8000032397DB83B>I<000001FF80018000000FFFE00380
-00007FFFF803800001FF807E07800003FC000F0F80000FF000039F80001FE00001DF8000
-3F800000FF80007F0000007F8000FE0000003F8001FE0000003F8003FC0000001F8007F8
-0000000F8007F80000000F800FF000000007800FF000000007801FE000000007801FE000
-000003803FE000000003803FC000000003807FC000000001807FC000000001807FC00000
-0001807F800000000180FF800000000000FF800000000000FF800000000000FF80000000
-0000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000
-00FF800000000000FF800000000000FF800000000000FF8000000000007F800000000000
-7FC000000001807FC000000001807FC000000001803FC000000001803FE000000001801F
-E000000003801FE000000003000FF000000003000FF0000000070007F8000000070007F8
-000000060003FC0000000E0001FE0000001C0000FE0000001800007F0000003800003F80
-00007000001FE00000E000000FF00003C0000003FC000F80000001FF803F000000007FFF
-FC000000000FFFF00000000001FF800000313D7BBA3C>I<FFFFFFFFC00000FFFFFFFFF8
-0000FFFFFFFFFE000001FF8001FF800000FF00003FE00000FF00000FF00000FF000003F8
-0000FF000001FC0000FF000000FE0000FF0000007F0000FF0000007F0000FF0000003F80
-00FF0000003FC000FF0000001FC000FF0000001FE000FF0000000FE000FF0000000FF000
-FF0000000FF000FF0000000FF000FF00000007F800FF00000007F800FF00000007F800FF
-00000007F800FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00
-000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF00000007FC00FF0000
-0007FC00FF00000007FC00FF00000007FC00FF00000007F800FF00000007F800FF000000
-07F800FF00000007F800FF0000000FF000FF0000000FF000FF0000000FE000FF0000000F
-E000FF0000001FE000FF0000001FC000FF0000003F8000FF0000003F8000FF0000007F00
-00FF000000FE0000FF000001FC0000FF000003F80000FF00000FF00000FF00003FE00001
-FF8000FF8000FFFFFFFFFF0000FFFFFFFFF80000FFFFFFFFC0000036397DB83F>I<FFFF
-FFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF80000FFC0000FF000001FC0000FF00
-00007E0000FF0000003E0000FF0000001E0000FF0000000E0000FF0000000E0000FF0000
-000E0000FF000000060000FF000000060000FF000000060000FF000000070000FF000000
-030000FF0000C0030000FF0000C0030000FF0000C0030000FF0000C0000000FF0000C000
-0000FF0000C0000000FF0001C0000000FF0001C0000000FF0003C0000000FF000FC00000
-00FFFFFFC0000000FFFFFFC0000000FFFFFFC0000000FF000FC0000000FF0003C0000000
-FF0001C0000000FF0001C0000000FF0000C0000000FF0000C0000000FF0000C0006000FF
-0000C0006000FF0000C0006000FF0000C000E000FF00000000C000FF00000000C000FF00
-000000C000FF00000000C000FF00000001C000FF00000001C000FF00000001C000FF0000
-00038000FF000000038000FF000000078000FF000000078000FF0000000F8000FF000000
-3F8000FF0000007F8001FF800007FF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFF
-0033397DB839>I<FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF801FF80001FF800FF0000
-01F800FF000000FC00FF0000007C00FF0000003C00FF0000001C00FF0000001C00FF0000
-000C00FF0000000C00FF0000000C00FF0000000C00FF0000000E00FF0000000600FF0000
-000600FF0001800600FF0001800600FF0001800000FF0001800000FF0001800000FF0001
-800000FF0003800000FF0003800000FF0007800000FF001F800000FFFFFF800000FFFFFF
-800000FFFFFF800000FF001F800000FF0007800000FF0003800000FF0003800000FF0001
-800000FF0001800000FF0001800000FF0001800000FF0001800000FF0001800000FF0000
-000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000
-000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000
-000001FFC0000000FFFFFFC00000FFFFFFC00000FFFFFFC000002F397DB836>I<000000
-FF8000C000000FFFF001C000003FFFFC01C00000FF803F03C00003FC000787C0000FF000
-03CFC0001FE00000EFC0003FC000007FC0007F8000003FC000FF0000001FC001FE000000
-1FC003FC0000000FC007F800000007C007F800000007C00FF000000003C00FF000000003
-C01FE000000003C01FE000000001C03FE000000001C03FC000000001C07FC000000000C0
-7FC000000000C07FC000000000C07FC000000000C0FF800000000000FF800000000000FF
-800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80
-0000000000FF800000000000FF800000000000FF800000000000FF800000FFFFFFFF8000
-00FFFFFF7FC00000FFFFFF7FC00000007FE07FC00000003FC07FC00000003FC03FC00000
-003FC03FE00000003FC01FE00000003FC01FE00000003FC00FF00000003FC00FF0000000
-3FC007F80000003FC007F80000003FC003FC0000003FC001FE0000003FC000FF0000007F
-C0007F8000007FC0003FC00000FFC0001FE00000EFC0000FF80003C7C00003FE000783C0
-0000FFC03F01C000003FFFFC00C000000FFFF00000000000FF800000383D7CBA41>I<FF
-FFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FFFFFE01FF800003FF0000FF000001FE0000FF
-000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00
-0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000
-01FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001
-FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE
-0000FFFFFFFFFE0000FFFFFFFFFE0000FFFFFFFFFE0000FF000001FE0000FF000001FE00
-00FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000
-FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF
-000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF00
-0001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF000001FE0000FF0000
-01FE0000FF000001FE0001FF800003FF00FFFFFF01FFFFFEFFFFFF01FFFFFEFFFFFF01FF
-FFFE37397DB83E>I<FFFFFFC0FFFFFFC0FFFFFFC000FFC000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F800000FFC000FFFFFFC0FFFFFFC0FFFFFFC01A397EB81E>I<003FFFFFE0003FFF
-FFE0003FFFFFE000001FFC00000007F800000007F800000007F800000007F800000007F8
-00000007F800000007F800000007F800000007F800000007F800000007F800000007F800
-000007F800000007F800000007F800000007F800000007F800000007F800000007F80000
-0007F800000007F800000007F800000007F800000007F800000007F800000007F8000000
-07F800000007F800000007F800000007F800000007F800000007F800000007F800000007
-F800000007F800000007F800000007F800000007F800000007F8003F0007F8007F8007F8
-00FFC007F800FFC007F800FFC007F800FFC007F800FFC00FF000FF800FF0007F000FE000
-70001FE00038001FC0001C003F80000E007F00000781FC000001FFF00000007F80000023
-3B7DB82B>I<FFFFFF0001FFFF00FFFFFF0001FFFF00FFFFFF0001FFFF0001FF8000007F
-F00000FF0000003F800000FF0000003E000000FF0000003C000000FF00000038000000FF
-00000070000000FF000000E0000000FF000001C0000000FF00000380000000FF00000700
-000000FF00000E00000000FF00001C00000000FF00003800000000FF00007000000000FF
-0000E000000000FF0001C000000000FF00078000000000FF000E0000000000FF001C0000
-000000FF003E0000000000FF007E0000000000FF00FF0000000000FF01FF0000000000FF
-03FF8000000000FF077FC000000000FF0E7FC000000000FF1C3FE000000000FF381FF000
-000000FF701FF000000000FFE00FF800000000FFC007FC00000000FF8007FC00000000FF
-0003FE00000000FF0001FF00000000FF0001FF00000000FF0000FF80000000FF00007FC0
-000000FF00007FC0000000FF00003FE0000000FF00001FF0000000FF00001FF0000000FF
-00000FF8000000FF00000FF8000000FF000007FC000000FF000003FE000000FF000003FE
-000000FF000001FF000000FF000000FF800000FF000000FFC00000FF000000FFE00001FF
-800001FFF000FFFFFF001FFFFF80FFFFFF001FFFFF80FFFFFF001FFFFF8039397DB841>
-I<FFFFFFE00000FFFFFFE00000FFFFFFE0000001FFC000000000FF0000000000FF000000
-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000
-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000
-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000
-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000
-0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000
-1800FF0000001800FF0000001800FF0000001800FF0000001800FF0000003800FF000000
-3000FF0000003000FF0000003000FF0000007000FF0000007000FF0000007000FF000000
-F000FF000000F000FF000001F000FF000003F000FF00000FF000FF00001FE001FF8000FF
-E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>I<FFFF0000000007FFF8FF
-FF800000000FFFF8FFFF800000000FFFF801FF800000000FFC0000DFC00000001BF80000
-DFC00000001BF80000CFE000000033F80000CFE000000033F80000CFE000000033F80000
-C7F000000063F80000C7F000000063F80000C7F000000063F80000C3F8000000C3F80000
-C3F8000000C3F80000C1FC00000183F80000C1FC00000183F80000C1FC00000183F80000
-C0FE00000303F80000C0FE00000303F80000C07F00000603F80000C07F00000603F80000
-C07F00000603F80000C03F80000C03F80000C03F80000C03F80000C03F80000C03F80000
-C01FC0001803F80000C01FC0001803F80000C00FE0003003F80000C00FE0003003F80000
-C00FE0003003F80000C007F0006003F80000C007F0006003F80000C003F800C003F80000
-C003F800C003F80000C003F800C003F80000C001FC018003F80000C001FC018003F80000
-C001FC018003F80000C000FE030003F80000C000FE030003F80000C0007F060003F80000
-C0007F060003F80000C0007F060003F80000C0003F8C0003F80000C0003F8C0003F80000
-C0001FD80003F80000C0001FD80003F80000C0001FD80003F80000C0000FF00003F80000
-C0000FF00003F80000C0000FF00003F80001E00007E00003F80003F00007E00003F8000F
-FC0003C00007FC00FFFFC003C003FFFFF8FFFFC003C003FFFFF8FFFFC0018003FFFFF845
-397DB84C>I<FFFF000007FFFEFFFF800007FFFEFFFFC00007FFFE00FFC000007FE000FF
-E000001F8000DFF000000F0000DFF00000060000CFF80000060000C7FC0000060000C7FC
-0000060000C3FE0000060000C1FF0000060000C1FF0000060000C0FF8000060000C07FC0
-00060000C07FC000060000C03FE000060000C01FF000060000C01FF800060000C00FF800
-060000C007FC00060000C007FE00060000C003FE00060000C001FF00060000C001FF8006
-0000C000FF80060000C0007FC0060000C0007FE0060000C0003FE0060000C0001FF00600
-00C0000FF8060000C0000FF8060000C00007FC060000C00003FE060000C00003FE060000
-C00001FF060000C00000FF860000C00000FF860000C000007FC60000C000003FE60000C0
-00003FE60000C000001FF60000C000000FFE0000C000000FFE0000C0000007FE0000C000
-0003FE0000C0000003FE0000C0000001FE0000C0000000FE0000C0000000FE0000C00000
-007E0001E00000003E0003F00000003E000FFC0000001E00FFFFC000000E00FFFFC00000
-0E00FFFFC00000060037397DB83E>I<000003FF00000000001FFFE000000000FE01FC00
-000001F8007E00000007E0001F8000000FC0000FC000003F800007F000007F000003F800
-00FE000001FC0001FC000000FE0001F80000007E0003F80000007F0007F00000003F8007
-F00000003F800FE00000001FC00FE00000001FC01FE00000001FE01FC00000000FE03FC0
-0000000FF03FC00000000FF03FC00000000FF07FC00000000FF87F8000000007F87F8000
-000007F87F8000000007F8FF8000000007FCFF8000000007FCFF8000000007FCFF800000
-0007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF80000000
-07FCFF8000000007FCFF8000000007FCFF8000000007FC7F8000000007F87FC00000000F
-F87FC00000000FF87FC00000000FF83FC00000000FF03FC00000000FF01FE00000001FE0
-1FE00000001FE01FE00000001FE00FF00000003FC007F00000003F8007F80000007F8003
-F80000007F0001FC000000FE0001FC000000FE0000FE000001FC00007F000003F800003F
-800007F000001FC0000FE0000007E0001F80000003F8007F00000000FE01FC000000001F
-FFE00000000003FF000000363D7BBA41>I<FFFFFFFFC000FFFFFFFFF800FFFFFFFFFE00
-01FF8001FF8000FF00003FC000FF00000FE000FF000007F000FF000003F800FF000003FC
-00FF000003FE00FF000001FE00FF000001FE00FF000001FF00FF000001FF00FF000001FF
-00FF000001FF00FF000001FF00FF000001FF00FF000001FF00FF000001FE00FF000001FE
-00FF000003FC00FF000003FC00FF000007F800FF000007F000FF00000FE000FF00003FC0
-00FF0001FF0000FFFFFFFC0000FFFFFFF00000FF0000000000FF0000000000FF00000000
-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000
-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000
-00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000
-00FF0000000000FF0000000001FF80000000FFFFFF000000FFFFFF000000FFFFFF000000
-30397DB839>I<000003FF00000000001FFFE000000000FE01FC00000001F8007E000000
-07E0001F8000000FC0000FC000003F800007F000007F000003F80000FE000001FC0001FC
-000000FE0001FC000000FE0003F80000007F0007F80000007F8007F00000003F800FF000
-00003FC00FE00000001FC01FE00000001FE01FE00000001FE03FC00000000FF03FC00000
-000FF03FC00000000FF07FC00000000FF87FC00000000FF87F8000000007F87F80000000
-07F8FF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007
-FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FC
-FF8000000007FCFF8000000007FC7F8000000007F87F8000000007F87FC00000000FF87F
-C00000000FF83FC00000000FF03FC00000000FF01FE00000001FE01FE00000001FE01FE0
-0000001FE00FF00000003FC007F0007C003F8007F001FF003F8003F80383807F0001FC07
-01C0FE0001FC0E00C0FE0000FE0C00E1FC00007F0C0063F800003F8C0077F000001FCC00
-3FE0000007EE003F80000003FF007F00000000FF81FC000C00001FFFFC000C000003FF1C
-000C000000001E001C000000001F001C000000001F003C000000001F807C000000001FC0
-F8000000000FFFF8000000000FFFF8000000000FFFF8000000000FFFF00000000007FFF0
-0000000007FFE00000000003FFC00000000001FF8000000000007E00364B7BBA41>I<FF
-FFFFFE00000000FFFFFFFFE0000000FFFFFFFFF800000001FF8007FE00000000FF0000FF
-80000000FF00003FC0000000FF00001FE0000000FF00000FF0000000FF000007F8000000
-FF000007F8000000FF000003FC000000FF000003FC000000FF000003FE000000FF000003
-FE000000FF000003FE000000FF000003FE000000FF000003FE000000FF000003FE000000
-FF000003FC000000FF000003FC000000FF000007F8000000FF000007F8000000FF00000F
-F0000000FF00001FE0000000FF00003F80000000FF0000FF00000000FF0007FC00000000
-FFFFFFE000000000FFFFFFC000000000FF000FF000000000FF0003F800000000FF0000FE
-00000000FF0000FF00000000FF00007F80000000FF00003FC0000000FF00003FC0000000
-FF00001FC0000000FF00001FE0000000FF00001FE0000000FF00001FE0000000FF00001F
-E0000000FF00001FE0000000FF00001FF0000000FF00001FF0000000FF00001FF0000000
-FF00001FF0000000FF00001FF0000000FF00001FF0000000FF00001FF0018000FF00001F
-F0018000FF00001FF8018000FF00000FF8018000FF00000FF8038001FF800007F80300FF
-FFFF0003FC0700FFFFFF0001FC0600FFFFFF0000FE0E0000000000003FFC000000000000
-07F000393B7DB83D>I<000FF800C0003FFE01C000FFFF81C003F807E3C007E000F7C00F
-C0007FC01F80003FC03F00001FC03E00000FC07E000007C07E000007C07C000003C0FC00
-0003C0FC000001C0FC000001C0FC000001C0FE000000C0FE000000C0FE000000C0FF0000
-00C0FF800000007FC00000007FE00000007FF80000003FFF8000001FFFF800001FFFFF80
-000FFFFFE00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF800007FFFFC000007FFFC0
-000007FFE00000007FE00000003FF00000001FF00000000FF000000007F800000007F8C0
-000003F8C0000003F8C0000001F8C0000001F8C0000001F8E0000001F8E0000001F8E000
-0001F0F0000001F0F0000003F0F8000003E0FC000007E0FE000007C0FF00000FC0FF8000
-1F80FBF0003F00F0FE00FE00E03FFFF800E00FFFE000C001FF0000253D7CBA2E>I<3FFF
-FFFFFFFFE03FFFFFFFFFFFE03FFFFFFFFFFFE03FC003FF001FE03E0001FE0003E07C0001
-FE0001F0780001FE0000F0700001FE000070700001FE000070700001FE000070600001FE
-000030600001FE000030600001FE000030600001FE000030E00001FE000038C00001FE00
-0018C00001FE000018C00001FE000018C00001FE000018000001FE000000000001FE0000
-00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000
-000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000
-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000
-01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001
-FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE
-000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00
-0000000001FE000000000007FF800000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE0
-0035397DB83C>I<FFFFFF0007FFFEFFFFFF0007FFFEFFFFFF0007FFFE01FF8000007FE0
-00FF0000001F8000FF0000000F0000FF000000060000FF000000060000FF000000060000
-FF000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF
-000000060000FF000000060000FF000000060000FF000000060000FF000000060000FF00
-0000060000FF000000060000FF000000060000FF000000060000FF000000060000FF0000
-00060000FF000000060000FF000000060000FF000000060000FF000000060000FF000000
-060000FF000000060000FF000000060000FF000000060000FF000000060000FF00000006
-0000FF000000060000FF000000060000FF000000060000FF000000060000FF0000000600
-00FF000000060000FF000000060000FF0000000E00007F0000000C00007F8000000C0000
-7F8000001C00003F8000001C00003F8000001800001FC000003800001FC000007000000F
-E00000F0000007F00000E0000003F80001C0000001FC000780000000FE000F000000007F
-807E000000001FFFF80000000007FFE000000000007F800000373B7DB83E>I<FFFFFC00
-007FFF80FFFFFC00007FFF80FFFFFC00007FFF8003FF8000000FFC0001FF00000007E000
-01FF00000003C00000FF00000001800000FF800000038000007F800000030000007F8000
-00030000007FC00000030000003FC00000060000003FC00000060000003FE000000E0000
-001FE000000C0000001FF000000C0000000FF00000180000000FF00000180000000FF800
-001800000007F800003000000007F800003000000007FC00007000000003FC0000600000
-0003FC00006000000001FE0000C000000001FE0000C000000001FF0000C000000000FF00
-018000000000FF00018000000000FF800380000000007F800300000000007F8003000000
-00003FC00600000000003FC00600000000003FE00600000000001FE00C00000000001FE0
-0C00000000001FF01C00000000000FF01800000000000FF018000000000007F830000000
-000007F830000000000007FC30000000000003FC60000000000003FC60000000000003FE
-E0000000000001FEC0000000000001FEC0000000000000FF80000000000000FF80000000
-000000FF800000000000007F000000000000007F000000000000007F000000000000003E
-000000000000003E000000000000001C000000000000001C000000000000001C00000000
-393B7EB83E>I<FFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FFFFFFFFFC07FFFFF001FF
-FF07FF80001FFE00001FF803FE00000FF8000007E001FE000007F8000003C001FE000007
-F80000038001FF000007F80000038000FF000003FC0000030000FF000003FC0000030000
-FF800003FC00000700007F800001FE00000600007F800001FE00000600007FC00001FE00
-000600003FC00003FF00000C00003FC00003FF00000C00003FE00003FF00000C00001FE0
-0007FF80001800001FE000067F80001800001FE000067F80001800000FF0000E7FC00030
-00000FF0000C3FC0003000000FF0000C3FC00030000007F8001C3FE00060000007F80018
-1FE00060000007F800181FE00060000003FC00181FF000C0000003FC00300FF000C00000
-03FC00300FF000C0000001FE00300FF80180000001FE006007F80180000001FE006007F8
-0180000000FF006007F80300000000FF00C003FC0300000000FF00C003FC0300000000FF
-80C003FC07000000007F818001FE06000000007F818001FE06000000007FC18001FE0E00
-0000003FC30000FF0C000000003FC30000FF0C000000003FE30000FF1C000000001FE600
-007F98000000001FE600007F98000000001FF600007F98000000000FFC00003FF0000000
-000FFC00003FF0000000000FFC00003FF00000000007FC00003FE00000000007F800001F
-E00000000007F800001FE00000000003F800001FC00000000003F000000FC00000000003
-F000000FC00000000001F000000F800000000001E0000007800000000001E00000078000
-00000000E0000007000000000000C0000003000000503B7EB855>I<7FFFFF003FFFFC00
-7FFFFF003FFFFC007FFFFF003FFFFC0000FFF80007FF8000007FE00003FC0000003FE000
-01F00000001FF00001E00000001FF00001C00000000FF800018000000007FC0003800000
-0007FC00070000000003FE00060000000003FE000E0000000001FF001C0000000000FF80
-180000000000FF803800000000007FC03000000000003FE06000000000003FE0E0000000
-00001FF0C000000000000FF18000000000000FFB80000000000007FF00000000000007FE
-00000000000003FE00000000000001FF00000000000001FF00000000000000FF80000000
-0000007FC00000000000007FC0000000000000FFE0000000000000DFE00000000000019F
-F00000000000038FF80000000000030FF800000000000607FC00000000000E03FE000000
-00000C03FE00000000001801FF00000000003800FF00000000003000FF80000000006000
-7FC000000000E0007FC000000000C0003FE00000000180001FF00000000380001FF00000
-000300000FF800000006000007FC0000000E000007FC0000000C000003FE0000001C0000
-01FE0000003C000001FF000000FE000001FF800007FF800007FFE000FFFFE0003FFFFF80
-FFFFE0003FFFFF80FFFFE0003FFFFF8039397EB83E>I<FFFFFE00003FFFE0FFFFFE0000
-3FFFE0FFFFFE00003FFFE003FFE0000007FE0000FFC0000003F000007FC0000001E00000
-7FC0000001C000003FE00000018000001FF00000038000001FF00000030000000FF80000
-060000000FF800000600000007FC00000C00000003FE00001C00000003FE000018000000
-01FF00003800000001FF00003000000000FF800060000000007FC000E0000000007FC000
-C0000000003FE001C0000000003FE00180000000001FF00380000000000FF80300000000
-000FF806000000000007FC0E000000000007FC0C000000000003FE1C000000000001FF18
-000000000001FF30000000000000FFB0000000000000FFE00000000000007FE000000000
-00003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC0
-0000000000003FC00000000000003FC00000000000003FC00000000000003FC000000000
-00003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC0
-0000000000003FC00000000000003FC00000000000003FC00000000000003FC000000000
-00003FC00000000000003FC00000000000007FE000000000003FFFFFC0000000003FFFFF
-C0000000003FFFFFC000003B397FB83E>I<FFF8FFF8FFF8FFF8F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FFF8FFF8
-FFF8FFF80D5378BD17>91 D<0180018003800380070007000E000E001C001C0018001800
-3800380030003000700070006000600060006000E000E000C000C000C000C000C000C000
-C000C000CE00CE00FF80FF80FFC0FFC0FFC0FFC0FFC0FFC07FC07FC07FC07FC03F803F80
-0E000E001A1974B92A>I<FFF8FFF8FFF8FFF80078007800780078007800780078007800
-780078007800780078007800780078007800780078007800780078007800780078007800
-780078007800780078007800780078007800780078007800780078007800780078007800
-780078007800780078007800780078007800780078007800780078007800780078007800
-78007800780078007800780078007800780078007800780078FFF8FFF8FFF8FFF80D537F
-BD17>I<0180038007000E001C00180038003000700060006000E000C000C000C000C000
-CE00FF80FFC0FFC0FFC07FC07FC03F800E000A197AB917>96 D<001FE0000000FFFC0000
-03E03F000007000F80000F8007E0001FC003F0001FE003F0001FE001F8001FE001F8001F
-E000FC000FC000FC00078000FC00000000FC00000000FC00000000FC00000000FC000000
-7FFC000007FFFC00003FE0FC0000FE00FC0003F800FC000FF000FC001FC000FC003FC000
-FC007F8000FC007F0000FC007F0000FC0CFE0000FC0CFE0000FC0CFE0000FC0CFE0001FC
-0CFE0001FC0CFF0003FC0C7F00077C0C7F80063E183FC01E3E180FE0781FF003FFF00FE0
-007F8007C026277DA52A>I<03F0000000FFF0000000FFF0000000FFF00000000FF00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F01FE00003F07FF80003F1E03E0003F3801F8003F7000FC003FE
-0007E003FC0003F003F80001F803F00001F803F00000FC03F00000FC03F00000FE03F000
-00FE03F000007E03F000007F03F000007F03F000007F03F000007F03F000007F03F00000
-7F03F000007F03F000007F03F000007F03F000007F03F000007E03F00000FE03F00000FE
-03F00000FC03F00001FC03F80001F803F80003F003FC0003F003EE0007E003C6000FC003
-C7801F000381E07E000300FFF80000001FC000283B7EB92E>I<0003FC00001FFF80007E
-03E001F8007003F000F807E001FC0FC003FC0FC003FC1F8003FC3F8003FC3F0001F87F00
-00F07F0000007F0000007E000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE0000007E0000007F0000007F0000003F0000063F80
-00061F80000E1FC0000C0FC0001C07E0003803F0007001F800E0007C07C0001FFF000007
-F8001F277DA525>I<0000000FC0000003FFC0000003FFC0000003FFC00000003FC00000
-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000
-0FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000F
-C00000000FC00003F80FC0001FFF0FC0007E078FC000F801EFC003F0007FC007E0003FC0
-0FC0001FC00FC0001FC01F80000FC03F80000FC03F00000FC07F00000FC07F00000FC07E
-00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00
-000FC0FE00000FC0FE00000FC0FE00000FC07E00000FC07F00000FC07F00000FC03F0000
-0FC03F00000FC01F80001FC01F80001FC00FC0003FC007E0007FC003F000EFF001F801CF
-FF007C078FFF001FFE0FFF0007F80FC0283B7DB92E>I<0007F800001FFF00007C0FC001
-F803E003F001F007E001F80FC000F81F80007C1F80007C3F00007E3F00003E7F00003E7F
-00003F7E00003FFE00003FFE00003FFE00003FFFFFFFFFFFFFFFFFFE000000FE000000FE
-000000FE000000FE0000007E0000007E0000007F0000007F0000003F0000033F8000031F
-8000070FC0000607C0000E07E0001C01F0003800F80070007E03E0001FFF800003FC0020
-277EA525>I<00007E000003FF80000FC1E0001F87E0003F0FF0007E0FF0007E0FF000FC
-0FF000FC0FF001F803C001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F80000FFFFFC00FFFFFC00FFFF
-FC0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000003FC00007FFFF8007FFFF8007FFFF8001C3B7FBA19>I<000000
-03F0000FF00FF8003FFC3C3C00F81F707C01F00FE07C03E007C07C07C003E0100FC003F0
-000FC003F0001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F8001F800
-1F8001F8001F8001F8000FC003F0000FC003F00007C003E00003E007C00003F00F800003
-F81F0000073FFC0000060FF000000E000000000E000000000E000000000E000000000F00
-0000000F000000000FC000000007FFFFC00007FFFFF80003FFFFFE0001FFFFFF8003FFFF
-FFC00F80007FE01F00000FF03E000003F07C000001F07C000001F8F8000000F8F8000000
-F8F8000000F8F8000000F8F8000000F8FC000001F87C000001F03E000003E03F000007E0
-0F80000F8007E0003F0001FC01FC00007FFFF0000007FF000026387EA52A>I<03F00000
-0000FFF000000000FFF000000000FFF0000000000FF00000000003F00000000003F00000
-000003F00000000003F00000000003F00000000003F00000000003F00000000003F00000
-000003F00000000003F00000000003F00000000003F00000000003F00000000003F00000
-000003F00000000003F00000000003F00FF0000003F03FFC000003F0F03F000003F1C01F
-800003F3800FC00003F7000FC00003FE000FC00003FC0007E00003FC0007E00003F80007
-E00003F80007E00003F80007E00003F00007E00003F00007E00003F00007E00003F00007
-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007
-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007
-E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00007F8000F
-F000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF80293A7EB92E>I<0380000FE0001FF000
-1FF0001FF0001FF0001FF0000FE000038000000000000000000000000000000000000000
-00000000000000000000000003F000FFF000FFF000FFF00007F00003F00003F00003F000
-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
-03F00007F800FFFFC0FFFFC0FFFFC012387EB717>I<0001C00007F0000FF8000FF8000F
-F8000FF8000FF80007F00001C00000000000000000000000000000000000000000000000
-000000000000000001F800FFF800FFF800FFF80007F80001F80001F80001F80001F80001
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F83C01F87E01F8FF01
-F0FF03F0FF03F0FF03E0FE07C07C07C03C0F000FFE0003F800154984B719>I<03F00000
-00FFF0000000FFF0000000FFF00000000FF000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-01FFFC03F001FFFC03F001FFFC03F0007FC003F0007F0003F0007C0003F000700003F000
-E00003F001C00003F003800003F007000003F01E000003F038000003F078000003F0FC00
-0003F1FC000003F3FE000003F73F000003FE3F800003F81F800003F00FC00003F00FE000
-03F007E00003F003F00003F001F80003F001FC0003F000FC0003F0007E0003F0007F0003
-F0003F0003F0003F8003F0001FC007F8003FF0FFFFC0FFFFFFFFC0FFFFFFFFC0FFFF283A
-7EB92C>I<03F000FFF000FFF000FFF0000FF00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00007F800FFFFC0FFFFC0FFFFC012
-3A7EB917>I<03F00FF0001FE000FFF03FFC007FF800FFF0F03F01E07E00FFF1C01F8380
-3F000FF3800FC7001F8003F7000FCE001F8003FE000FDC001F8003FC0007F8000FC003FC
-0007F8000FC003F80007F0000FC003F80007F0000FC003F80007F0000FC003F00007E000
-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0
-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000
-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0
-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000
-0FC003F00007E0000FC003F00007E0000FC007F8000FF0001FE0FFFFC1FFFF83FFFFFFFF
-C1FFFF83FFFFFFFFC1FFFF83FFFF40257EA445>I<03F00FF00000FFF03FFC0000FFF0F0
-3F0000FFF1C01F80000FF3800FC00003F7000FC00003FE000FC00003FC0007E00003FC00
-07E00003F80007E00003F80007E00003F80007E00003F00007E00003F00007E00003F000
-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
-07E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F000
-07E00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029257EA42E>I<0003
-FE0000000FFF8000003E03E00000F800F80001F0007C0003E0003E0007C0001F000F8000
-0F801F80000FC01F000007C03F000007E03F000007E07E000003F07E000003F07E000003
-F07E000003F0FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8
-FE000003F8FE000003F8FE000003F87E000003F07E000003F07F000007F03F000007E03F
-000007E01F80000FC00F80000F800FC0001F8007E0003F0003F0007E0000F800F800007E
-03F000001FFFC0000003FE000025277EA52A>I<03F01FE000FFF07FF800FFF1E07E00FF
-F3801F8007F7000FC003FE0007E003FC0003F003F80003F803F00001F803F00001FC03F0
-0000FC03F00000FE03F00000FE03F00000FE03F000007F03F000007F03F000007F03F000
-007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F00000
-FE03F00000FE03F00000FE03F00001FC03F00001FC03F80003F803F80003F003FC0007F0
-03FE000FE003F6000FC003F7803F0003F1E07E0003F0FFF80003F01FC00003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000007F8000000FFFFC00000FFFFC00000FFFFC0000028357E
-A42E>I<0003F800C0001FFE01C0007E0781C000FC01C3C003F000E3C007F00077C00FE0
-0037C00FC0003FC01FC0001FC03F80001FC03F80000FC07F00000FC07F00000FC07F0000
-0FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000F
-C0FE00000FC0FE00000FC0FE00000FC07F00000FC07F00000FC07F00000FC03F00000FC0
-3F80001FC01F80001FC01FC0003FC00FC0003FC007E0007FC003F000EFC001F801CFC000
-7E078FC0001FFE0FC00007F80FC00000000FC00000000FC00000000FC00000000FC00000
-000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000000
-1FE0000003FFFF000003FFFF000003FFFF28357DA42C>I<07E01F00FFE07FC0FFE1E3E0
-FFE387F00FE707F003E607F003EE07F003EC03E003FC008003F8000003F8000003F80000
-03F8000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000
-03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000
-03F0000003F0000003F0000007F80000FFFFF000FFFFF000FFFFF0001C257EA421>I<00
-FF030003FFE7000F80FF001E003F003C001F0078000F0070000700F0000700F0000700F0
-000300F8000300F8000300FC000300FF0000007FE000007FFF00003FFFE0001FFFF8000F
-FFFC0003FFFE0000FFFF000007FF8000007F8000001F80C0000FC0C00007C0C00007C0E0
-0003C0E00003C0E00003C0F00003C0F0000380F8000780FC000780FC000F00FF001E00F3
-C07C00E1FFF000C03F80001A277DA521>I<001800000018000000180000001800000018
-000000380000003800000038000000780000007800000078000000F8000001F8000003F8
-000007F800001FFFFF00FFFFFF00FFFFFF0001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F800C001F800C001F800C001F800C001F8
-00C001F800C001F800C001F800C001F800C000FC01C000FC0180007C0380007E0300003F
-0700000FFE000001F8001A347FB220>I<03F00007E000FFF001FFE000FFF001FFE000FF
-F001FFE0000FF0001FE00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F0000FE00003F0000FE00003F0000FE00003F0001FE00001F0001FE00001F8003FE00000
-F80077F80000FC00E7FF80003F03C7FF80001FFF87FF800003FC07E00029267EA42E>I<
-FFFF803FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007E003F00003C003F800038001
-F800030001F800030000FC00060000FC00060000FE000E00007E000C00007E000C00003F
-001800003F001800003F803800001F803000001F803000000FC06000000FC06000000FE0
-60000007E0C0000007E0C0000003F180000003F180000003F180000001FB00000001FB00
-000001FF00000000FE00000000FE000000007C000000007C000000007C00000000380000
-000038000027257EA32C>I<FFFF1FFFE03FFEFFFF1FFFE03FFEFFFF1FFFE03FFE0FF800
-FF000FF807F0007E0003E007F0007E0003C003F0003E00018003F0003E00018001F8003F
-00030001F8003F00030001F8003F00030000FC003F80060000FC006F80060000FC006F80
-0600007E00EFC00C00007E00C7C00C00007E00C7C00C00003F01C7E01800003F0183E018
-00003F8183F03800001F8383F03000001F8301F03000001FC301F87000000FC600F86000
-000FC600F860000007E600FCC0000007EC007CC0000007EC007CC0000003FC007F800000
-03F8003F80000003F8003F80000001F8003F00000001F0001F00000001F0001F00000000
-F0001E00000000E0000E0000000060000C000037257EA33C>I<FFFF807FFF00FFFF807F
-FF00FFFF807FFF0003FE003FF00001FE001F800000FE001F0000007E001C0000003F0018
-0000001F80300000001FC0700000000FC0E000000007E0C000000007F18000000003FB80
-00000001FF0000000000FE0000000000FE00000000007F00000000003F00000000007F80
-000000007FC000000000CFC000000001C7E00000000383F00000000703F80000000601F8
-0000000C00FC0000001C007E00000038007F00000078003F000000F0001F800001F8001F
-C0000FF8003FF000FFFE00FFFF80FFFE00FFFF80FFFE00FFFF8029247FA32C>I<FFFF80
-3FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007C003F000038001F800038001F80003
-0001FC00030000FC00060000FC000600007E000C00007E000C00007F000C00003F001800
-003F001800001F803000001F803000001FC07000000FC06000000FC060000007E0C00000
-07E0C0000007F1C0000003F180000003F180000001FB00000001FB00000001FF00000000
-FE00000000FE000000007C000000007C000000007C000000003800000000380000000030
-000000003000000000700000000060000000006000000000C000000000C000007C01C000
-00FE01800000FE03800000FE03000000FE06000000FC0E000000701C0000003838000000
-1FF00000000FC000000027357EA32C>I<3FFFFFFC3FFFFFFC3F8003FC3E0003F83C0007
-F038000FE030000FE070001FC070003F8060007F8060007F006000FE006001FC006001FC
-000003F8000007F0000007F000000FE000001FC000003F8000003F8000007F000600FE00
-0600FE000601FC000603F8000607F8000E07F0000E0FE0000C1FC0001C1FC0001C3F8000
-3C7F00007CFF0003FCFFFFFFFCFFFFFFFC1F247EA325>I<FFFFFFFFFF80FFFFFFFFFF80
-290280962A>I E /Fr 49 124 df<000003FFC00000007FFFF0000003FFFFFC00000FFF
-00FE00003FF8003F00007FE000FF8000FFC001FF8001FFC001FF8001FF8001FF8003FF80
-03FFC003FF0001FF8003FF0001FF8003FF0001FF8003FF0000FF0003FF00007E0003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF003FFFC0FFFFFF
-FFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF00
-00FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC
-3FFFFF303A7EB935>12 D<0001FF0000000FFFE000007FFFFC0000FF83FE0001FE00FF00
-03FC007F8007F8003FC00FF0001FE00FF0001FE01FF0001FF01FF0001FF03FE0000FF83F
-E0000FF83FE0000FF87FE0000FFC7FE0000FFC7FE0000FFC7FE0000FFC7FE0000FFCFFE0
-000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE000
-0FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000F
-FEFFE0000FFEFFE0000FFEFFE0000FFEFFE0000FFE7FE0000FFC7FE0000FFC7FE0000FFC
-7FE0000FFC3FE0000FF83FE0000FF83FF0001FF81FF0001FF01FF0001FF00FF0001FE00F
-F8003FE007F8003FC003FC007F8001FE00FF0000FF83FE00007FFFFC00001FFFF0000001
-FF000027387CB630>48 D<00001E000000003E00000000FE00000007FE0000003FFE0000
-FFFFFE0000FFFFFE0000FFFFFE0000FFCFFE0000000FFE0000000FFE0000000FFE000000
-0FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000F
-FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE
-0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00
-00000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000
-000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000000
-0FFE0000000FFE0000000FFE00007FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF802137
-79B630>I<000FFC0000007FFFC00001FFFFF00007FFFFFC000FF03FFF001F800FFF803F
-0003FFC07F0003FFC07FC001FFE0FFE000FFF0FFF000FFF0FFF000FFF0FFF0007FF8FFF0
-007FF8FFF0007FF8FFF0007FF87FE0007FF83FC0007FF80F00007FF80000007FF8000000
-FFF0000000FFF0000000FFE0000001FFE0000001FFC0000003FF80000003FF00000007FE
-00000007FC0000000FF80000001FF00000003FE00000007F800000007F00000000FE0000
-0001F800000003F000780007E00078000FC00078001F800078003E0000F8007C0000F000
-F80000F001F00001F003FFFFFFF003FFFFFFF007FFFFFFF00FFFFFFFF01FFFFFFFF03FFF
-FFFFF07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE025377BB630>I<00
-03FF0000001FFFF000007FFFFC0001FC07FF0003F003FF8007E001FFC007C000FFE00FF0
-00FFE00FFC00FFF01FFC00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE00FFF01FFE00
-FFF00FFC00FFE00FFC00FFE003F001FFE0000001FFC0000003FF80000003FF00000007FE
-0000000FFC0000003FF000000FFFC000000FFF0000000FFFF000000007FE00000001FF80
-000000FFC0000000FFE00000007FF00000007FF80000007FFC0000003FFC0000003FFC00
-00003FFE1FC0003FFE3FE0003FFE7FF0003FFEFFF8003FFEFFF8003FFEFFF8003FFEFFF8
-003FFEFFF8003FFCFFF8003FFCFFF0007FF87FF0007FF87FC000FFF03F8000FFE01FC001
-FFC00FFC07FF8007FFFFFF0001FFFFFC00007FFFF0000007FF000027387CB630>I<0000
-0007C0000000000FC0000000000FC0000000001FC0000000003FC0000000007FC0000000
-00FFC000000000FFC000000001FFC000000003FFC000000007FFC00000000FFFC0000000
-0FFFC00000001EFFC00000003CFFC00000007CFFC0000000F8FFC0000000F0FFC0000001
-E0FFC0000003C0FFC0000007C0FFC000000F80FFC000000F00FFC000001E00FFC000003C
-00FFC000007C00FFC00000F800FFC00000F000FFC00001E000FFC00003C000FFC00007C0
-00FFC0000F8000FFC0000F0000FFC0001E0000FFC0003C0000FFC0007C0000FFC000F800
-00FFC000FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80000001FFC0000000
-01FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000000
-01FFC000000001FFC000000001FFC0000003FFFFFF800003FFFFFF800003FFFFFF800003
-FFFFFF8029377DB630>I<1C000000C01F800007C01FF8007FC01FFFFFFF801FFFFFFF80
-1FFFFFFF001FFFFFFE001FFFFFFC001FFFFFF0001FFFFFE0001FFFFF80001FFFFE00001F
-FFF000001F000000001F000000001F000000001F000000001F000000001F000000001F00
-0000001F000000001F07FE00001F3FFFE0001FFFFFF8001FFC07FC001FE003FF001F8001
-FF801F0000FFC00E0000FFC0000000FFE00000007FE00000007FF00000007FF00000007F
-F80000007FF80600007FF83F80007FF87FE0007FF8FFE0007FF8FFF0007FF8FFF0007FF8
-FFF0007FF8FFF0007FF8FFE0007FF0FFE0007FF07FC000FFF07F0000FFE07C0000FFC03E
-0001FFC01F0003FF801FC007FF000FF01FFE0007FFFFF80001FFFFE000007FFF8000000F
-F8000025387BB630>I<00000FF8000000FFFE000003FFFF80000FF80FC0003FE003E000
-7FC001F000FF000FF001FF001FF803FE003FF807FC003FF80FFC003FF80FF8003FF81FF8
-003FF81FF8003FF83FF8001FF03FF8000FE03FF00000007FF00000007FF00000007FF008
-00007FF07FF000FFF1FFFC00FFF3FFFF00FFF780FF80FFFF007FC0FFFE003FE0FFFC003F
-F0FFFC001FF8FFF8001FF8FFF8001FFCFFF8001FFCFFF8001FFCFFF0001FFEFFF0001FFE
-FFF0001FFEFFF0001FFEFFF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE7FF0001FFE7F
-F0001FFE3FF0001FFE3FF0001FFC3FF0001FFC1FF8001FFC1FF8001FF80FF8003FF807FC
-003FF007FC007FE003FE007FC001FF81FF8000FFFFFF00003FFFFC00000FFFF0000001FF
-800027387CB630>I<3C00000000003E00000000003FE0000000003FFFFFFFFF803FFFFF
-FFFF803FFFFFFFFF803FFFFFFFFF803FFFFFFFFF007FFFFFFFFE007FFFFFFFFC007FFFFF
-FFF8007FFFFFFFF0007FFFFFFFF0007FFFFFFFE0007C00000FC0007800001F8000780000
-3F0000F800007E0000F000007C0000F00000FC0000F00001F80000F00003F00000000007
-E00000000007C0000000000FC0000000001F80000000003F80000000003F00000000007F
-00000000007E0000000000FE0000000001FE0000000001FE0000000003FC0000000003FC
-0000000003FC0000000007FC0000000007FC000000000FFC000000000FF8000000000FF8
-000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000003FF8
-000000003FF8000000003FF8000000003FF8000000003FF8000000003FF8000000003FF8
-000000003FF8000000003FF8000000001FF0000000000FE00000000007C0000000293A7B
-B830>I<0001FF8000000FFFF000003FFFFC0000FE01FF0001F8007F8003F0003FC007E0
-001FE007E0000FE00FC0000FE00FC00007F01FC00007F01FC00007F01FE00007F01FE000
-07F01FF00007F01FF80007F01FFE000FE01FFF800FE01FFFE01FC00FFFF03FC00FFFFC3F
-800FFFFF7F0007FFFFFC0003FFFFF80001FFFFF80000FFFFFE00007FFFFF00003FFFFFC0
-007FFFFFE001FFFFFFF007F8FFFFF00FF07FFFF81FE01FFFFC3FC007FFFC3F8001FFFC7F
-8000FFFE7F00003FFEFF00000FFEFE000007FEFE000003FEFE000001FEFE000001FEFE00
-0000FEFE000000FEFE000000FCFF000000FC7F000001FC7F800001F83FC00003F03FE000
-07F01FF0000FE00FFE007FC003FFFFFF0000FFFFFC00003FFFF0000003FF800027387CB6
-30>I<0003FF0000001FFFE000007FFFF80001FF03FE0003FE00FF0007FC007F800FF800
-7FC01FF8003FE03FF8003FE03FF0001FF07FF0001FF07FF0001FF87FF0001FF8FFF0001F
-F8FFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFCFFF0001FFEFFF0001FFE
-FFF0001FFEFFF0001FFEFFF0001FFE7FF0003FFE7FF0003FFE7FF0003FFE3FF0003FFE3F
-F0007FFE1FF8007FFE0FF800FFFE07FC01FFFE03FE03DFFE01FFFF9FFE007FFF1FFE001F
-FC1FFC0000201FFC0000001FFC0000001FFC0000001FF80FE0003FF81FF0003FF83FF800
-3FF03FF8003FF03FF8003FE03FF8007FE03FF8007FC03FF800FF803FF001FF801FE003FF
-001F8007FE000FE01FF80007FFFFF00003FFFFC00000FFFF0000001FF0000027387CB630
->I<00000003E00000000000000007F00000000000000007F0000000000000000FF80000
-00000000000FF8000000000000000FF8000000000000001FFC000000000000001FFC0000
-00000000003FFE000000000000003FFE000000000000003FFE000000000000007FFF0000
-00000000007FFF00000000000000FFFF80000000000000FFFF80000000000000FFFF8000
-0000000001FFFFC0000000000001F3FFC0000000000003F3FFE0000000000003E1FFE000
-0000000003E1FFE0000000000007E1FFF0000000000007C0FFF000000000000FC0FFF800
-000000000F807FF800000000000F807FF800000000001F807FFC00000000001F003FFC00
-000000003F003FFE00000000003E001FFE00000000003E001FFE00000000007E001FFF00
-000000007C000FFF0000000000FC000FFF8000000000F80007FF8000000000F80007FF80
-00000001F80007FFC000000001F00003FFC000000003FFFFFFFFE000000003FFFFFFFFE0
-00000003FFFFFFFFE000000007FFFFFFFFF000000007C00000FFF00000000FC00000FFF8
-0000000F8000007FF80000000F8000007FF80000001F8000007FFC0000001F0000003FFC
-0000003F0000003FFE0000003E0000001FFE0000003E0000001FFE0000007E0000001FFF
-0000007C0000000FFF000000FE0000000FFF8000FFFFF80007FFFFFF80FFFFF80007FFFF
-FF80FFFFF80007FFFFFF80FFFFF80007FFFFFF80413A7DB948>65
-D<FFFFFFFFFFC00000FFFFFFFFFFFC0000FFFFFFFFFFFF0000FFFFFFFFFFFFC000007FF0
-0003FFE000007FF00000FFF000007FF000007FF800007FF000003FFC00007FF000001FFC
-00007FF000001FFE00007FF000001FFE00007FF000000FFF00007FF000000FFF00007FF0
-00000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF00007FF000000FFF
-00007FF000001FFE00007FF000001FFE00007FF000001FFC00007FF000003FFC00007FF0
-00007FF800007FF00000FFF000007FF00001FFC000007FF0000FFF8000007FFFFFFFFC00
-00007FFFFFFFFC0000007FFFFFFFFF8000007FF00000FFF000007FF000003FF800007FF0
-00001FFC00007FF000000FFE00007FF0000007FF00007FF0000007FF80007FF0000003FF
-C0007FF0000003FFC0007FF0000003FFC0007FF0000003FFE0007FF0000003FFE0007FF0
-000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FFE0007FF0000003FF
-E0007FF0000003FFC0007FF0000003FFC0007FF0000007FFC0007FF000000FFF80007FF0
-00000FFF00007FF000001FFF00007FF000007FFE00007FF00001FFFC00FFFFFFFFFFFFF0
-00FFFFFFFFFFFFC000FFFFFFFFFFFF0000FFFFFFFFFFF000003B397DB844>I<0000003F
-FC0001C0000003FFFFC003C000001FFFFFF007C00000FFFFFFFC0FC00003FFFC00FF3FC0
-0007FFC0001FFFC0001FFE00000FFFC0003FFC000003FFC0007FF0000001FFC000FFE000
-0000FFC001FFC0000000FFC003FFC00000007FC007FF800000003FC00FFF000000003FC0
-0FFF000000001FC01FFE000000001FC01FFE000000000FC03FFE000000000FC03FFC0000
-00000FC03FFC0000000007C07FFC0000000007C07FFC0000000007C07FF8000000000000
-FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF80000
-00000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000000000
-FFF8000000000000FFF8000000000000FFF8000000000000FFF80000000000007FF80000
-000000007FFC0000000000007FFC0000000003C03FFC0000000003C03FFC0000000003C0
-3FFE0000000003C01FFE0000000007C01FFE0000000007C00FFF0000000007800FFF0000
-00000F8007FF800000000F0003FFC00000001F0001FFC00000003E0000FFE00000007E00
-007FF8000000FC00003FFC000001F800001FFF000003F0000007FFC0000FE0000003FFFC
-00FF80000000FFFFFFFE000000001FFFFFF80000000003FFFFE000000000003FFE000000
-3A3B7BB945>I<0000003FFC0001C000000003FFFFC003C00000001FFFFFF007C0000000
-FFFFFFFC0FC0000003FFFC00FF3FC0000007FFC0001FFFC000001FFE00000FFFC000003F
-FC000003FFC000007FF0000001FFC00000FFE0000000FFC00001FFC0000000FFC00003FF
-C00000007FC00007FF800000003FC0000FFF000000003FC0000FFF000000001FC0001FFE
-000000001FC0001FFE000000000FC0003FFE000000000FC0003FFC000000000FC0003FFC
-0000000007C0007FFC0000000007C0007FFC0000000007C0007FF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8
-00000000000000FFF800000000000000FFF800000000000000FFF800003FFFFFFF80FFF8
-00003FFFFFFF807FF800003FFFFFFF807FFC00003FFFFFFF807FFC00000003FFC0003FFC
-00000003FFC0003FFC00000003FFC0003FFE00000003FFC0001FFE00000003FFC0001FFE
-00000003FFC0000FFF00000003FFC0000FFF00000003FFC00007FF80000003FFC00003FF
-C0000003FFC00001FFE0000003FFC00000FFE0000003FFC000007FF8000007FFC000003F
-FC000007FFC000001FFF00000FFFC0000007FFC0001FFFC0000003FFFC00FF3FC0000000
-FFFFFFFE0FC00000001FFFFFF803C000000003FFFFE000C0000000003FFE00000000413B
-7BB94B>71 D<FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007FF800007F
-F800FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC1E397DB824>73 D<FFFFFFFF000000FFFFFF
-FF000000FFFFFFFF000000FFFFFFFF000000007FF800000000007FF800000000007FF800
-000000007FF800000000007FF800000000007FF800000000007FF800000000007FF80000
-0000007FF800000000007FF800000000007FF800000000007FF800000000007FF8000000
-00007FF800000000007FF800000000007FF800000000007FF800000000007FF800000000
-007FF800000000007FF800000000007FF800000000007FF800000000007FF80000000000
-7FF800000000007FF800000000007FF800000000007FF800000000007FF800000000007F
-F800000000007FF800000000007FF800000780007FF800000780007FF800000780007FF8
-00000780007FF800000780007FF800000F80007FF800000F00007FF800000F00007FF800
-000F00007FF800001F00007FF800001F00007FF800003F00007FF800003F00007FF80000
-7F00007FF80000FF00007FF80001FF00007FF80003FF00007FF8000FFE00007FF8007FFE
-00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE0031397DB839>76
-D<FFFFF80000000003FFFFF0FFFFFC0000000007FFFFF0FFFFFC0000000007FFFFF0FFFF
-FE000000000FFFFFF0007FFE000000000FFFE000007FFE000000000FFFE000007BFF0000
-00001EFFE000007BFF000000001EFFE0000079FF800000003CFFE0000079FF800000003C
-FFE0000078FFC000000078FFE0000078FFC000000078FFE00000787FE0000000F0FFE000
-00787FE0000000F0FFE00000787FE0000000F0FFE00000783FF0000001E0FFE00000783F
-F0000001E0FFE00000781FF8000003C0FFE00000781FF8000003C0FFE00000780FFC0000
-0780FFE00000780FFC00000780FFE000007807FE00000F00FFE000007807FE00000F00FF
-E000007803FF00001E00FFE000007803FF00001E00FFE000007803FF00001E00FFE00000
-7801FF80003C00FFE000007801FF80003C00FFE000007800FFC0007800FFE000007800FF
-C0007800FFE0000078007FE000F000FFE0000078007FE000F000FFE0000078003FF001E0
-00FFE0000078003FF001E000FFE0000078003FF001E000FFE0000078001FF803C000FFE0
-000078001FF803C000FFE0000078000FFC078000FFE0000078000FFC078000FFE0000078
-0007FE0F0000FFE00000780007FE0F0000FFE00000780003FF1E0000FFE00000780003FF
-1E0000FFE00000780003FF1E0000FFE00000780001FFBC0000FFE00000780001FFBC0000
-FFE00000780000FFF80000FFE00000780000FFF80000FFE000007800007FF00000FFE000
-007800007FF00000FFE000007800003FE00000FFE000007800003FE00000FFE00000FC00
-003FE00000FFE000FFFFFC001FC001FFFFFFF0FFFFFC001FC001FFFFFFF0FFFFFC000F80
-01FFFFFFF0FFFFFC00070001FFFFFFF054397DB85B>I<000000FFF800000000000FFFFF
-80000000007FFFFFF000000001FFE03FFC00000007FF0007FF0000001FFC0001FFC00000
-3FF80000FFE000007FE000003FF00000FFC000001FF80001FFC000001FFC0003FF800000
-0FFE0007FF00000007FF0007FF00000007FF000FFE00000003FF800FFE00000003FF801F
-FE00000003FFC01FFC00000001FFC03FFC00000001FFE03FFC00000001FFE03FFC000000
-01FFE07FFC00000001FFF07FF800000000FFF07FF800000000FFF07FF800000000FFF0FF
-F800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF8000000
-00FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FFF800000000FFF8FF
-F800000000FFF8FFF800000000FFF8FFF800000000FFF87FF800000000FFF07FF8000000
-00FFF07FF800000000FFF07FFC00000001FFF03FFC00000001FFE03FFC00000001FFE03F
-FC00000001FFE01FFE00000003FFC01FFE00000003FFC00FFE001FC003FF8007FF007FF0
-07FF0007FF00FFF807FF0003FF81F07C0FFE0001FFC3C01E1FFC0000FFC3800F1FF80000
-7FE3800FBFF000003FF38007FFE000001FFF8007FFC0000007FFC007FF00000001FFF01F
-FC000000007FFFFFF0000800000FFFFFF8001C000000FFF9FC001C0000000001FE003C00
-00000001FF80FC0000000001FFFFFC0000000000FFFFFC0000000000FFFFF80000000000
-FFFFF800000000007FFFF800000000007FFFF000000000007FFFF000000000003FFFE000
-000000003FFFE000000000001FFFC000000000000FFF80000000000007FF000000000000
-01FC003E4A7BB948>81 D<FFFFFFFFFC00000000FFFFFFFFFFE0000000FFFFFFFFFFFC00
-0000FFFFFFFFFFFF000000007FF8000FFFC00000007FF80001FFE00000007FF80000FFF0
-0000007FF800007FF80000007FF800003FFC0000007FF800003FFC0000007FF800001FFE
-0000007FF800001FFE0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF
-0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF0000007FF800001FFF
-0000007FF800001FFE0000007FF800001FFE0000007FF800003FFC0000007FF800003FF8
-0000007FF800007FF00000007FF80000FFE00000007FF80003FFC00000007FF8001FFF00
-0000007FFFFFFFFC000000007FFFFFFFE0000000007FFFFFFFF0000000007FF8003FFC00
-0000007FF8000FFF000000007FF80007FF800000007FF80003FFC00000007FF80001FFC0
-0000007FF80001FFE00000007FF80001FFE00000007FF80000FFF00000007FF80000FFF0
-0000007FF80000FFF00000007FF80000FFF00000007FF80000FFF00000007FF80000FFF8
-0000007FF80000FFF80000007FF80000FFF80000007FF80000FFF80000007FF80000FFF8
-0000007FF80000FFF80060007FF80000FFF800F0007FF80000FFFC00F0007FF800007FFC
-00F0007FF800007FFC01F0007FF800003FFE01E0FFFFFFFC001FFE03E0FFFFFFFC000FFF
-87C0FFFFFFFC0007FFFF80FFFFFFFC0001FFFF000000000000001FFC00443A7DB848>I<
-0007FF000E00003FFFE01E0000FFFFF83E0003FFFFFE7E0007FC01FFFE000FF0001FFE00
-1FE0000FFE003FC00003FE003F800001FE007F800000FE007F000000FE007F0000007E00
-FF0000007E00FF0000003E00FF0000003E00FF8000003E00FF8000001E00FFC000001E00
-FFE000001E00FFF000000000FFFC000000007FFFE00000007FFFFE0000007FFFFFF00000
-3FFFFFFE00003FFFFFFF80001FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC00
-00FFFFFFFE00003FFFFFFE00000FFFFFFF000001FFFFFF0000000FFFFF800000007FFF80
-0000000FFFC000000003FFC000000001FFC000000000FFC0F00000007FC0F00000007FC0
-F00000007FC0F00000003FC0F00000003FC0F80000003FC0F80000003F80FC0000003F80
-FC0000007F80FE0000007F00FF0000007F00FF800000FE00FFE00001FC00FFF80003FC00
-FFFF801FF800FCFFFFFFE000F83FFFFFC000F007FFFE0000E0007FF000002A3B7BB935>
-I<3FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF803FF800
-FFF003FF807FC000FFF0007FC07F8000FFF0001FC07E0000FFF0000FC07E0000FFF0000F
-C07C0000FFF00007C07C0000FFF00007C0780000FFF00003C0780000FFF00003C0780000
-FFF00003C0780000FFF00003C0F80000FFF00003E0F00000FFF00001E0F00000FFF00001
-E0F00000FFF00001E0F00000FFF00001E0000000FFF0000000000000FFF0000000000000
-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000
-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000
-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000
-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000
-FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000
-00000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000
-FFF0000000000000FFF0000000000000FFF0000000000FFFFFFFFF0000000FFFFFFFFF00
-00000FFFFFFFFF0000000FFFFFFFFF00003B387DB742>I<FFFFFFF00003FFFFE0FFFFFF
-F00003FFFFE0FFFFFFF00003FFFFE0FFFFFFF00003FFFFE000FFF000000007F00000FFF8
-00000007E000007FF800000007C000007FFC0000000FC000007FFC0000000FC000003FFC
-0000000F8000003FFE0000001F8000001FFE0000001F0000001FFF0000003F0000000FFF
-0000003E0000000FFF8000007E00000007FF8000007C00000007FF8000007C00000007FF
-C00000FC00000003FFC00000F800000003FFE00001F800000001FFE00001F000000001FF
-F00003F000000000FFF00003E000000000FFF80003E000000000FFF80007E0000000007F
-F80007C0000000007FFC000FC0000000003FFC000F80000000003FFE001F80000000001F
-FE001F00000000001FFF001F00000000001FFF003F00000000000FFF003E00000000000F
-FF807E000000000007FF807C000000000007FFC0FC000000000003FFC0F8000000000003
-FFE0F8000000000003FFE1F8000000000001FFE1F0000000000001FFF3F0000000000000
-FFF3E0000000000000FFFFE00000000000007FFFC00000000000007FFFC0000000000000
-7FFFC00000000000003FFF800000000000003FFF800000000000001FFF00000000000000
-1FFF000000000000000FFE000000000000000FFE000000000000000FFE00000000000000
-07FC0000000000000007FC0000000000000003F80000000000000003F800000000000000
-01F000000000433A7EB848>86 D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE
-00003FF003FF00003FF801FF80003FF800FFC0003FF800FFC0003FF8007FE0003FF8007F
-E0001FF0007FE0000FE0007FE0000380007FE0000000007FE0000000007FE00000003FFF
-E000000FFFFFE000007FFFFFE00001FFF87FE00007FF807FE0000FFE007FE0003FF8007F
-E0003FF0007FE0007FE0007FE000FFE0007FE000FFC0007FE000FFC0007FE000FFC0007F
-E000FFC0007FE000FFC000FFE000FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBF
-FFC00FFFFE1FFFC003FFF80FFFC0003FE003FFC02A257DA42E>97
-D<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000
-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
-0003FF0000000003FF0000000003FF0000000003FF01FF800003FF0FFFF00003FF3FFFFC
-0003FFFE03FF0003FFF000FF8003FFE0007FC003FF80003FE003FF00003FF003FF00001F
-F803FF00001FF803FF00001FFC03FF00000FFC03FF00000FFC03FF00000FFE03FF00000F
-FE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000F
-FE03FF00000FFE03FF00000FFE03FF00000FFC03FF00000FFC03FF00000FFC03FF00001F
-F803FF00001FF803FF00001FF003FF80003FF003FFC0007FE003FFE0007FC003FDF001FF
-8003F8FC07FE0003F03FFFF80003E00FFFE00003C003FF00002F3A7EB935>I<0001FFC0
-00000FFFFC00007FFFFF0000FF80FF8003FE00FFC007FC01FFC00FF801FFC01FF801FFC0
-1FF001FFC03FF001FFC03FF000FF807FE0007F007FE0001C007FE0000000FFE0000000FF
-E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
-0000007FE00000007FE00000007FF00000003FF00000003FF00001E01FF80001E01FF800
-03E00FFC0007C007FE00078003FF001F8000FFC07E00007FFFFC00000FFFF0000001FF80
-0023257DA42A>I<000000007F800000007FFF800000007FFF800000007FFF800000007F
-FF8000000003FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001
-FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001
-FF8000000001FF8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1
-FF80003FFFFDFF8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001
-FF801FF00001FF803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001
-FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001
-FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001
-FF807FF00001FF803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000F
-FF8003FE001FFFC001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0003FF01FFFE2F3A7DB9
-35>I<0003FF8000001FFFF000007FFFFC0001FF83FE0003FE007F8007FC003F800FF800
-3FC01FF8001FE01FF0001FE03FF0000FF03FF0000FF07FE0000FF07FE0000FF87FE00007
-F8FFE00007F8FFE00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFE0000000FFE0000000
-FFE0000000FFE00000007FE00000007FE00000007FE00000003FF00000003FF00000781F
-F00000780FF80000F80FFC0000F007FC0003F001FF000FE000FFC07FC0007FFFFF00000F
-FFFC000001FFE00025257DA42C>I<00001FF0000001FFFC000007FFFF00001FF87F8000
-3FE0FF8000FFC1FFC000FFC1FFC001FF81FFC001FF81FFC003FF01FFC003FF00FF8003FF
-00FF8003FF003E0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
-000003FF00000003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000003FF0000
-0003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000
-03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003
-FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE
-0000FFFFFE0000FFFFFE0000FFFFFE0000223A7DB91D>I<000000001F000007FE00FFC0
-007FFFE3FFC001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF8FE03FF000FFCFE0
-3FE0007FC7C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007FE0007FE0007FE000
-7FE0007FE0007FE0007FE0003FE0007FC0003FE0007FC0003FF000FFC0001FF000FF8000
-0FF801FF000007FE07FE00000FFFFFF800000F7FFFE000001E07FE0000001E0000000000
-1E00000000003E00000000003F00000000003F80000000001FC0000000001FFFFFF80000
-1FFFFFFF80001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0007FFFFFFFE00
-1FFFFFFFFF003FC0000FFF007F000000FF80FF0000007F80FE0000007F80FE0000003F80
-FE0000003F80FE0000003F80FF0000007F807F0000007F007F800000FF003FC00001FE00
-1FF00007FC0007FE003FF00001FFFFFFC000007FFFFF00000007FFF000002B377DA530>
-I<00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF000000
-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
-0003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF000000
-0003FF0000000003FF0000000003FF0000000003FF007FC00003FF03FFF80003FF0FFFFE
-0003FF1F03FF0003FF3C01FF8003FF7801FF8003FFF000FF8003FFE000FFC003FFC000FF
-C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF303A7DB935>I<01F00007
-FC000FFE000FFE001FFF001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F00000
-000000000000000000000000000000000000000000000000000000FF007FFF007FFF007F
-FF007FFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
-FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
-FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>I<
-00FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF0000000007FF00000000
-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
-03FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000
-03FF0000000003FF0000000003FF0000000003FF000FFFE003FF000FFFE003FF000FFFE0
-03FF000FFFE003FF0003FC0003FF0003F00003FF000FE00003FF001F800003FF003F0000
-03FF007E000003FF00FC000003FF03F8000003FF07E0000003FF0FC0000003FF1FC00000
-03FF7FE0000003FFFFF0000003FFFFF8000003FFFFFC000003FFFFFC000003FFCFFE0000
-03FF0FFF000003FE07FF800003FE03FF800003FE01FFC00003FE00FFE00003FE00FFF000
-03FE007FF00003FE003FF80003FE001FFC0003FE001FFE0003FE000FFE0003FE000FFF00
-FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF8FFFFF83FFFF82D3A7EB932>107
-D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFC163A7DB91B
->I<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FFFE1F81
-FF83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001FF80003FEF000FFDE001FF800
-03FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80007FF0
-000FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF
-00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F
-FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000
-7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00
-03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0
-000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF
-00007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FF
-FFF0FFFFFC1FFFFF83FFFFF04C257DA451>I<00FE007FC000FFFE03FFF800FFFE0FFFFE
-00FFFE1F03FF00FFFE3C01FF8007FE7801FF8003FEF000FF8003FFE000FFC003FFC000FF
-C003FFC000FFC003FF8000FFC003FF8000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFFFF30257DA435>I<0001FFC0
-0000000FFFF80000007FFFFF000000FF80FF800003FE003FE00007FC001FF0000FF8000F
-F8001FF00007FC001FF00007FC003FF00007FE003FE00003FE007FE00003FF007FE00003
-FF007FE00003FF00FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003
-FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF807FE00003FF007FE00003
-FF007FE00003FF003FE00003FE003FF00007FE001FF00007FC001FF00007FC000FF8000F
-F80007FC001FF00003FE003FE00001FF80FFC000007FFFFF0000001FFFFC00000001FFC0
-000029257DA430>I<00FF01FF8000FFFF0FFFF000FFFF3FFFFC00FFFFFE07FF00FFFFF0
-01FF8003FFE000FFC003FF80007FE003FF00007FF003FF00003FF803FF00003FF803FF00
-001FFC03FF00001FFC03FF00001FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00
-000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00
-000FFE03FF00000FFC03FF00001FFC03FF00001FFC03FF00001FF803FF00003FF803FF00
-003FF003FF80007FF003FFC0007FE003FFE000FFC003FFF003FF8003FFFC07FE0003FF3F
-FFF80003FF0FFFE00003FF03FF000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF00000000FFFFFC000000FFFFFC000000FFFFFC000000FFFFFC
-0000002F357EA435>I<0001FF000780000FFFE00F80003FFFF81F8000FFC07C3F8003FF
-803E3F8007FE000F7F800FFC0007FF801FFC0007FF801FF80003FF803FF80003FF803FF0
-0001FF807FF00001FF807FF00001FF807FE00001FF80FFE00001FF80FFE00001FF80FFE0
-0001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0
-0001FF80FFE00001FF807FF00001FF807FF00001FF807FF00001FF803FF80001FF803FF8
-0003FF801FFC0003FF800FFC0007FF8007FE000FFF8003FF003FFF8001FFC0FDFF80007F
-FFF1FF80001FFFC1FF800001FF01FF8000000001FF8000000001FF8000000001FF800000
-0001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF800000
-0001FF8000000001FF8000000001FF800000007FFFFE0000007FFFFE0000007FFFFE0000
-007FFFFE2F357DA432>I<00FE03F000FFFE0FFE00FFFE3FFF00FFFE7C7F80FFFEF8FFC0
-07FEF0FFC003FFE0FFC003FFC0FFC003FFC0FFC003FF807F8003FF803F0003FF800C0003
-FF80000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
-000003FF00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFE00
-00FFFFFE0000FFFFFE0000FFFFFE000022257EA427>I<003FF03803FFFEF80FFFFFF81F
-C00FF83F0003F87E0001F87C0000F8FC0000F8FC000078FE000078FF000078FF800000FF
-FC0000FFFFE0007FFFFC007FFFFF803FFFFFC01FFFFFF00FFFFFF803FFFFF800FFFFFC00
-1FFFFC00007FFE000007FEF00001FEF00000FEF80000FEF800007EFC00007EFC00007CFE
-0000FCFF0000F8FF8001F8FFF007F0FFFFFFC0F8FFFF00E01FF8001F257DA426>I<000F
-0000000F0000000F0000000F0000000F0000001F0000001F0000001F0000001F0000003F
-0000003F0000007F000000FF000000FF000001FF000007FF00001FFFFFE0FFFFFFE0FFFF
-FFE0FFFFFFE003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF
-000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF
-000003FF000003FF007803FF007803FF007803FF007803FF007803FF007803FF007803FF
-007803FF00F801FF80F001FF81F000FFC3E0003FFFC0001FFF800003FE001D357EB425>
-I<00FF00003FC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007FF0001FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF
-C003FF0000FFC003FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003FF0003FF
-C003FF0003FFC001FF0007FFC001FF800FFFE000FFC03EFFFF007FFFFCFFFF001FFFF0FF
-FF0003FF80FFFF30257DA435>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FFF8FFFFF001
-FFF803FF00003F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C0000FFC000
-780000FFE000F800007FE000F000007FF001F000003FF001E000003FF801E000001FF803
-C000001FF803C000001FFC07C000000FFC078000000FFE0F80000007FE0F00000007FF1F
-00000003FF1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800000000FFF8
-00000000FFF8000000007FF0000000007FF0000000003FE0000000003FE0000000001FC0
-000000001FC0000000000F80000000000F8000002D257EA432>I<FFFFF1FFFF803FFFFF
-FFF1FFFF803FFFFFFFF1FFFF803FFFFFFFF1FFFF803FFF07FE000FF80003E003FF0007F8
-0003C003FF0007FC0003C003FF8007FC0007C001FF8003FE00078001FF8007FE00078000
-FFC007FE000F0000FFC007FF000F0000FFE00FFF001F00007FE00FFF801E00007FE01FFF
-801E00003FF01E7F803C00003FF01E7FC03C00003FF83E7FC07C00001FF83C3FE0780000
-1FF87C3FE0F800000FFC781FF0F000000FFC781FF0F000000FFEF00FF1F0000007FEF00F
-F9E0000007FFF00FFBE0000003FFE007FFC0000003FFE007FFC0000003FFC003FFC00000
-01FFC003FF80000001FFC003FF80000000FF8001FF00000000FF8001FF00000000FF0000
-FF000000007F0000FE000000007F0000FE000000003E00007C000000003C00003C000040
-257EA445>I<FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF0FFFFF01FFFF003FF8003F800
-01FFC003E00000FFC007E000007FE007C000003FF00F8000003FF81F0000001FFC3E0000
-000FFC7C00000007FEFC00000003FFF800000003FFF000000001FFE000000000FFC00000
-00007FE0000000003FF0000000003FF8000000007FFC000000007FFC00000000FFFE0000
-0001F3FF00000003E3FF80000007C1FFC000000FC0FFC000001F807FE000001F003FF000
-003E003FF800007C001FFC0000F8000FFC0001F80007FE00FFFF003FFFF8FFFF003FFFF8
-FFFF003FFFF8FFFF003FFFF82D257EA432>I<FFFFF001FFF8FFFFF001FFF8FFFFF001FF
-F8FFFFF001FFF803FF00003F0003FF00001E0003FF80003E0001FF80003C0001FFC0007C
-0000FFC000780000FFE000F800007FE000F000007FF001F000003FF001E000003FF801E0
-00001FF803C000001FF803C000001FFC07C000000FFC078000000FFE0F80000007FE0F00
-000007FF1F00000003FF1E00000003FFBE00000001FFBC00000001FFFC00000000FFF800
-000000FFF800000000FFF8000000007FF0000000007FF0000000003FE0000000003FE000
-0000001FC0000000001FC0000000000F80000000000F80000000000F00000000000F0000
-0000001F00000000001E0000003F003E0000007F803C000000FFC07C000000FFC0780000
-00FFC0F8000000FFC1F0000000FFC3E00000007F87C00000007D1F800000003FFF000000
-001FFC0000000007F0000000002D357EA432>I<3FFFFFFFC03FFFFFFFC03FFFFFFFC03F
-F003FF803F8007FF803F000FFF003E000FFE003C001FFC007C003FFC007C003FF8007800
-7FF0007800FFF0007800FFE0007801FFC0007803FFC0000007FF80000007FF0000000FFE
-0000001FFE0000001FFC0000003FF80000007FF803C000FFF003C000FFE003C001FFC003
-C003FFC003C003FF8007C007FF0007C00FFF0007C00FFE000F801FFC000F803FFC001F80
-7FF8003F807FF001FF80FFFFFFFF80FFFFFFFF80FFFFFFFF8022257DA42A>I<FFFFFFFF
-FFFEFFFFFFFFFFFEFFFFFFFFFFFE2F03809730>I E /Fs 38 123
-df[<000000000000000FFFFE00000000000000000000000FFFFFFFE00000000000000000
-0001FFFFFFFFFC0000000000000000001FFFFFFFFFFF000000000000000000FFFFFFFFFF
-FFC00000000000000007FFFFFFFFFFFFE0000000000000001FFFFFFFFFFFFFF800000000
-0000007FFFFFFC001FFFFC00000000000001FFFFFF800001FFFE00000000000007FFFFF8
-0000003FFF0000000000000FFFFFE00000000FFF8000000000003FFFFF800000001FFFC0
-00000000007FFFFE000000007FFFC00000000000FFFFFC00000000FFFFE00000000001FF
-FFF000000001FFFFE00000000003FFFFE000000003FFFFF00000000007FFFFC000000007
-FFFFF0000000000FFFFF8000000007FFFFF8000000000FFFFF800000000FFFFFF8000000
-001FFFFF000000000FFFFFF8000000003FFFFE000000000FFFFFF8000000003FFFFE0000
-00000FFFFFF8000000007FFFFC000000000FFFFFF8000000007FFFFC000000001FFFFFFC
-000000007FFFFC000000000FFFFFF800000000FFFFFC000000000FFFFFF800000000FFFF
-F8000000000FFFFFF800000000FFFFF8000000000FFFFFF800000000FFFFF8000000000F
-FFFFF800000000FFFFF80000000007FFFFF000000000FFFFF80000000007FFFFF0000000
-00FFFFF80000000003FFFFE000000000FFFFF80000000001FFFFC000000000FFFFF80000
-000000FFFF8000000000FFFFF800000000003FFE0000000000FFFFF800000000000FF800
-00000000FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFF
-F8000000000000000000000000FFFFF8000000000000000000000000FFFFF80000000000
-00000000000000FFFFF8000000000000000000000000FFFFF80000000000000000000000
-00FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFFF80000
-00000000000000000000FFFFF8000000000000000000000000FFFFF80000000000000000
-00000000FFFFF8000000000000000000000000FFFFF8000000000000000000000000FFFF
-F8000000000000000000000000FFFFF80000003FFFFFFFFC0000FFFFFFFFFFFFFFFFFFFF
-FFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FF
-FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFF
-FFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFC
-0000FFFFFFFFFFFFFFFFFFFFFFFFFC00000000FFFFFC0000000003FFFFFC00000000FFFF
-FC0000000001FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000
-FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC000000
-00FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000
-000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC
-00000000FFFFFC0000000000FFFFFC00000000FFFFFC0000000000FFFFFC00000000FFFF
-FC0000000000FFFFFC00003FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFF
-FFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03F
-FFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0
-003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFFFFF03FFFFFFFFFFFF0003FFFFFFFFF
-FFF0>116 144 123 271 129 12 D[<0000000000000000001FF0000000000000000000
-0000000000000000003FF80000000000000000000000000000000000007FFC0000000000
-000000000000000000000000007FFC000000000000000000000000000000000000FFFE00
-0000000000000000000000000000000000FFFE0000000000000000000000000000000000
-00FFFE000000000000000000000000000000000001FFFF00000000000000000000000000
-0000000001FFFF000000000000000000000000000000000003FFFF800000000000000000
-000000000000000003FFFF800000000000000000000000000000000007FFFFC000000000
-00000000000000000000000007FFFFC00000000000000000000000000000000007FFFFC0
-000000000000000000000000000000000FFFFFE000000000000000000000000000000000
-0FFFFFE0000000000000000000000000000000001FFFFFF0000000000000000000000000
-000000001FFFFFF0000000000000000000000000000000001FFFFFF00000000000000000
-00000000000000003FFFFFF8000000000000000000000000000000003FFFFFF800000000
-0000000000000000000000007FFFFFFC000000000000000000000000000000007FFFFFFC
-000000000000000000000000000000007FFFFFFC00000000000000000000000000000000
-FFFFFFFE00000000000000000000000000000000FFFFFFFE000000000000000000000000
-00000001FFFFFFFF00000000000000000000000000000001FFFFFFFF0000000000000000
-0000000000000001FFFFFFFF00000000000000000000000000000003FFFFFFFF80000000
-000000000000000000000003FFFFFFFF80000000000000000000000000000007FFFFFFFF
-C0000000000000000000000000000007FFFFFFFFC0000000000000000000000000000007
-FFFFFFFFC000000000000000000000000000000FFFFFFFFFE00000000000000000000000
-0000000FFFFFFFFFE000000000000000000000000000001FFFFFFFFFF000000000000000
-000000000000001FFDFFFFFFF000000000000000000000000000001FF9FFFFFFF0000000
-00000000000000000000003FF8FFFFFFF800000000000000000000000000003FF8FFFFFF
-F800000000000000000000000000007FF0FFFFFFFC00000000000000000000000000007F
-F07FFFFFFC00000000000000000000000000007FE07FFFFFFC0000000000000000000000
-000000FFE03FFFFFFE0000000000000000000000000000FFE03FFFFFFE00000000000000
-00000000000001FFC03FFFFFFF0000000000000000000000000001FFC01FFFFFFF000000
-0000000000000000000001FF801FFFFFFF0000000000000000000000000003FF800FFFFF
-FF8000000000000000000000000003FF800FFFFFFF8000000000000000000000000007FF
-000FFFFFFFC000000000000000000000000007FF0007FFFFFFC000000000000000000000
-000007FE0007FFFFFFC00000000000000000000000000FFE0003FFFFFFE0000000000000
-0000000000000FFE0003FFFFFFE00000000000000000000000001FFC0003FFFFFFF00000
-000000000000000000001FFC0001FFFFFFF00000000000000000000000001FF80001FFFF
-FFF00000000000000000000000003FF80000FFFFFFF80000000000000000000000003FF8
-0000FFFFFFF80000000000000000000000007FF00000FFFFFFFC00000000000000000000
-00007FF000007FFFFFFC0000000000000000000000007FE000007FFFFFFC000000000000
-000000000000FFE000003FFFFFFE000000000000000000000000FFE000003FFFFFFE0000
-00000000000000000001FFC000003FFFFFFF000000000000000000000001FFC000001FFF
-FFFF000000000000000000000001FF8000001FFFFFFF000000000000000000000003FF80
-00000FFFFFFF800000000000000000000003FF8000000FFFFFFF80000000000000000000
-0007FF0000000FFFFFFFC00000000000000000000007FF00000007FFFFFFC00000000000
-000000000007FE00000007FFFFFFC0000000000000000000000FFE00000003FFFFFFE000
-0000000000000000000FFE00000003FFFFFFE0000000000000000000001FFC00000003FF
-FFFFF0000000000000000000001FFC00000001FFFFFFF0000000000000000000001FF800
-000001FFFFFFF0000000000000000000003FF800000000FFFFFFF8000000000000000000
-003FF800000000FFFFFFF8000000000000000000007FF000000000FFFFFFFC0000000000
-00000000007FF0000000007FFFFFFC000000000000000000007FE0000000007FFFFFFC00
-000000000000000000FFE0000000003FFFFFFE00000000000000000000FFE0000000003F
-FFFFFE00000000000000000001FFC0000000003FFFFFFF00000000000000000001FFC000
-0000001FFFFFFF00000000000000000001FF80000000001FFFFFFF000000000000000000
-03FF80000000000FFFFFFF80000000000000000003FF80000000000FFFFFFF8000000000
-0000000007FF00000000000FFFFFFFC0000000000000000007FF000000000007FFFFFFC0
-000000000000000007FE000000000007FFFFFFC000000000000000000FFE000000000003
-FFFFFFE000000000000000000FFFFFFFFFFFFFFFFFFFFFE000000000000000001FFFFFFF
-FFFFFFFFFFFFFFF000000000000000001FFFFFFFFFFFFFFFFFFFFFF00000000000000000
-1FFFFFFFFFFFFFFFFFFFFFF000000000000000003FFFFFFFFFFFFFFFFFFFFFF800000000
-000000003FFFFFFFFFFFFFFFFFFFFFF800000000000000007FFFFFFFFFFFFFFFFFFFFFFC
-00000000000000007FFFFFFFFFFFFFFFFFFFFFFC00000000000000007FFFFFFFFFFFFFFF
-FFFFFFFC0000000000000000FFE00000000000003FFFFFFE0000000000000000FFE00000
-000000003FFFFFFE0000000000000001FFC00000000000003FFFFFFF0000000000000001
-FFC00000000000001FFFFFFF0000000000000001FF800000000000001FFFFFFF00000000
-00000003FF800000000000000FFFFFFF8000000000000003FF800000000000000FFFFFFF
-8000000000000007FF000000000000000FFFFFFFC000000000000007FF00000000000000
-07FFFFFFC000000000000007FE0000000000000007FFFFFFC00000000000000FFE000000
-0000000003FFFFFFE00000000000000FFE0000000000000003FFFFFFE00000000000001F
-FC0000000000000003FFFFFFF00000000000001FFC0000000000000001FFFFFFF0000000
-0000001FF80000000000000001FFFFFFF00000000000003FF80000000000000000FFFFFF
-F80000000000003FF80000000000000000FFFFFFF80000000000007FF000000000000000
-00FFFFFFFC0000000000007FF000000000000000007FFFFFFC0000000000007FE0000000
-00000000007FFFFFFC000000000000FFE000000000000000003FFFFFFE000000000000FF
-E000000000000000003FFFFFFE000000000001FFC000000000000000001FFFFFFF000000
-000001FFC000000000000000001FFFFFFF000000000001FF8000000000000000001FFFFF
-FF000000000003FF8000000000000000000FFFFFFF800000000003FF8000000000000000
-000FFFFFFF800000000007FF00000000000000000007FFFFFFC00000000007FF00000000
-000000000007FFFFFFC00000000007FE00000000000000000007FFFFFFC0000000001FFF
-80000000000000000003FFFFFFE000000003FFFFFE000000000000000003FFFFFFE00000
-FFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFF
-FFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001F
-FFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC000
-0000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFF
-FFFFC0000000001FFFFFFFFFFFFFFFFEFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFE
->159 145 120 272 176 65 D[<FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFF
-FFFFFFFFFFFFFFFFFE0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE000000000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000000003FF
-FFFF00000000001FFFFFFFE00000000003FFFFFF000000000001FFFFFFF00000000003FF
-FFFF0000000000007FFFFFF80000000003FFFFFF0000000000001FFFFFFC0000000003FF
-FFFF0000000000000FFFFFFF0000000003FFFFFF00000000000003FFFFFF8000000003FF
-FFFF00000000000001FFFFFF8000000003FFFFFF00000000000000FFFFFFC000000003FF
-FFFF00000000000000FFFFFFE000000003FFFFFF000000000000007FFFFFF000000003FF
-FFFF000000000000003FFFFFF000000003FFFFFF000000000000003FFFFFF800000003FF
-FFFF000000000000001FFFFFF800000003FFFFFF000000000000001FFFFFFC00000003FF
-FFFF000000000000000FFFFFFC00000003FFFFFF000000000000000FFFFFFE00000003FF
-FFFF000000000000000FFFFFFE00000003FFFFFF0000000000000007FFFFFF00000003FF
-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF
-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000003FFFFFF80000003FFFFFF0000000000000003FFFFFF80000003FF
-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF
-FFFF0000000000000007FFFFFF00000003FFFFFF0000000000000007FFFFFF00000003FF
-FFFF000000000000000FFFFFFE00000003FFFFFF000000000000000FFFFFFE00000003FF
-FFFF000000000000000FFFFFFC00000003FFFFFF000000000000001FFFFFFC00000003FF
-FFFF000000000000001FFFFFF800000003FFFFFF000000000000003FFFFFF800000003FF
-FFFF000000000000003FFFFFF000000003FFFFFF000000000000007FFFFFE000000003FF
-FFFF00000000000000FFFFFFC000000003FFFFFF00000000000000FFFFFFC000000003FF
-FFFF00000000000001FFFFFF8000000003FFFFFF00000000000003FFFFFF0000000003FF
-FFFF00000000000007FFFFFE0000000003FFFFFF0000000000000FFFFFF80000000003FF
-FFFF0000000000003FFFFFF00000000003FFFFFF0000000000007FFFFFE00000000003FF
-FFFF000000000001FFFFFF800000000003FFFFFF00000000000FFFFFFE000000000003FF
-FFFF00000000007FFFFFF8000000000003FFFFFF000000001FFFFFFFE0000000000003FF
-FFFFFFFFFFFFFFFFFFFF00000000000003FFFFFFFFFFFFFFFFFFFFF800000000000003FF
-FFFFFFFFFFFFFFFFFF8000000000000003FFFFFFFFFFFFFFFFFFFFF800000000000003FF
-FFFFFFFFFFFFFFFFFFFF80000000000003FFFFFFFFFFFFFFFFFFFFFFF8000000000003FF
-FFFFFFFFFFFFFFFFFFFFFE000000000003FFFFFF000000000000FFFFFFC00000000003FF
-FFFF0000000000001FFFFFF00000000003FFFFFF00000000000007FFFFF80000000003FF
-FFFF00000000000003FFFFFE0000000003FFFFFF00000000000000FFFFFF8000000003FF
-FFFF000000000000007FFFFFC000000003FFFFFF000000000000003FFFFFE000000003FF
-FFFF000000000000001FFFFFF000000003FFFFFF000000000000000FFFFFF800000003FF
-FFFF0000000000000007FFFFFC00000003FFFFFF0000000000000003FFFFFE00000003FF
-FFFF0000000000000003FFFFFF00000003FFFFFF0000000000000001FFFFFF80000003FF
-FFFF0000000000000001FFFFFFC0000003FFFFFF0000000000000000FFFFFFC0000003FF
-FFFF0000000000000000FFFFFFE0000003FFFFFF00000000000000007FFFFFE0000003FF
-FFFF00000000000000007FFFFFF0000003FFFFFF00000000000000007FFFFFF0000003FF
-FFFF00000000000000007FFFFFF8000003FFFFFF00000000000000003FFFFFF8000003FF
-FFFF00000000000000003FFFFFF8000003FFFFFF00000000000000003FFFFFFC000003FF
-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF
-FFFF00000000000000001FFFFFFC000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000001FFFFFFE000003FFFFFF00000000000000001FFFFFFE000003FF
-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF
-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000003FFFFFFC000003FF
-FFFF00000000000000003FFFFFFC000003FFFFFF00000000000000007FFFFFF8000003FF
-FFFF00000000000000007FFFFFF8000003FFFFFF00000000000000007FFFFFF8000003FF
-FFFF0000000000000000FFFFFFF0000003FFFFFF0000000000000000FFFFFFF0000003FF
-FFFF0000000000000001FFFFFFE0000003FFFFFF0000000000000003FFFFFFE0000003FF
-FFFF0000000000000003FFFFFFC0000003FFFFFF0000000000000007FFFFFF80000003FF
-FFFF000000000000000FFFFFFF80000003FFFFFF000000000000001FFFFFFF00000003FF
-FFFF000000000000003FFFFFFE00000003FFFFFF000000000000007FFFFFFC00000003FF
-FFFF00000000000000FFFFFFFC00000003FFFFFF00000000000001FFFFFFF800000003FF
-FFFF00000000000007FFFFFFF000000003FFFFFF0000000000001FFFFFFFC000000003FF
-FFFF000000000000FFFFFFFF8000000003FFFFFF00000000000FFFFFFFFF0000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFE00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFC000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000FFFFFFFF
-FFFFFFFFFFFFFFFFFFFF80000000FFFFFFFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFF
-FFFFFFFFFFFFFFFFFC0000000000>143 142 120 269 165 I[<000000000000000003FF
-FFC00000000001F00000000000000003FFFFFFFE0000000003F8000000000000007FFFFF
-FFFFE000000007F800000000000007FFFFFFFFFFFC0000000FF80000000000003FFFFFFF
-FFFFFF0000001FF8000000000001FFFFFFFFFFFFFFE000003FF800000000000FFFFFFFFF
-FFFFFFF800007FF800000000003FFFFFFFFFFFFFFFFE0000FFF80000000000FFFFFFFFFF
-FFFFFFFF0001FFF80000000003FFFFFFFFF8000FFFFFC003FFF8000000000FFFFFFFFE00
-00007FFFF007FFF8000000003FFFFFFFC00000000FFFF80FFFF800000000FFFFFFFE0000
-000003FFFC1FFFF800000001FFFFFFF000000000007FFF3FFFF800000007FFFFFFC00000
-0000001FFFFFFFF80000000FFFFFFF0000000000000FFFFFFFF80000003FFFFFFC000000
-00000003FFFFFFF80000007FFFFFF000000000000001FFFFFFF8000000FFFFFFE0000000
-00000000FFFFFFF8000001FFFFFF80000000000000003FFFFFF8000003FFFFFF00000000
-000000001FFFFFF8000007FFFFFE00000000000000000FFFFFF800000FFFFFFC00000000
-0000000007FFFFF800001FFFFFF0000000000000000003FFFFF800003FFFFFE000000000
-0000000001FFFFF800007FFFFFE0000000000000000000FFFFF80000FFFFFFC000000000
-0000000000FFFFF80001FFFFFF800000000000000000007FFFF80003FFFFFF0000000000
-00000000003FFFF80003FFFFFE000000000000000000001FFFF80007FFFFFE0000000000
-00000000001FFFF8000FFFFFFC000000000000000000000FFFF8000FFFFFF80000000000
-00000000000FFFF8001FFFFFF80000000000000000000007FFF8003FFFFFF00000000000
-000000000003FFF8003FFFFFF00000000000000000000003FFF8007FFFFFE00000000000
-000000000003FFF8007FFFFFE00000000000000000000001FFF800FFFFFFC00000000000
-000000000001FFF800FFFFFFC00000000000000000000000FFF801FFFFFFC00000000000
-000000000000FFF801FFFFFF800000000000000000000000FFF803FFFFFF800000000000
-0000000000007FF803FFFFFF8000000000000000000000007FF807FFFFFF000000000000
-0000000000007FF807FFFFFF0000000000000000000000003FF807FFFFFF000000000000
-0000000000003FF80FFFFFFF0000000000000000000000003FF80FFFFFFE000000000000
-0000000000003FF80FFFFFFE0000000000000000000000003FF81FFFFFFE000000000000
-0000000000001FF81FFFFFFE0000000000000000000000001FF81FFFFFFE000000000000
-0000000000001FF83FFFFFFC0000000000000000000000001FF83FFFFFFC000000000000
-0000000000000FF03FFFFFFC00000000000000000000000000003FFFFFFC000000000000
-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000
-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000
-00000000000000007FFFFFF800000000000000000000000000007FFFFFF8000000000000
-00000000000000007FFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF80000000000000000000000000000FFFFFFF8000000000000
-0000000000000000FFFFFFF800000000000000000000000000007FFFFFF8000000000000
-00000000000000007FFFFFF800000000000000000000000000007FFFFFF8000000000000
-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000
-00000000000000007FFFFFFC00000000000000000000000000007FFFFFFC000000000000
-00000000000000003FFFFFFC00000000000000000000000000003FFFFFFC000000000000
-00000000000000003FFFFFFC00000000000000000000000000003FFFFFFC000000000000
-00000000000000001FFFFFFE00000000000000000000000000001FFFFFFE000000000000
-00000000000007F01FFFFFFE0000000000000000000000000FF80FFFFFFE000000000000
-0000000000000FF80FFFFFFE0000000000000000000000000FF80FFFFFFF000000000000
-0000000000000FF807FFFFFF0000000000000000000000000FF807FFFFFF000000000000
-0000000000000FF807FFFFFF0000000000000000000000000FF803FFFFFF800000000000
-0000000000001FF803FFFFFF8000000000000000000000001FF001FFFFFF800000000000
-0000000000001FF001FFFFFFC000000000000000000000001FF000FFFFFFC00000000000
-0000000000001FF000FFFFFFC000000000000000000000003FF0007FFFFFE00000000000
-0000000000003FE0007FFFFFE000000000000000000000003FE0003FFFFFF00000000000
-0000000000007FE0003FFFFFF000000000000000000000007FC0001FFFFFF80000000000
-000000000000FFC0000FFFFFF80000000000000000000000FFC0000FFFFFFC0000000000
-000000000001FF800007FFFFFE0000000000000000000001FF800003FFFFFE0000000000
-000000000003FF000003FFFFFF0000000000000000000007FF000001FFFFFF8000000000
-000000000007FE000000FFFFFFC00000000000000000000FFC0000007FFFFFE000000000
-00000000001FFC0000003FFFFFF00000000000000000003FF80000001FFFFFF800000000
-00000000007FF00000000FFFFFFC000000000000000000FFF000000007FFFFFE00000000
-0000000001FFE000000003FFFFFF000000000000000003FFC000000001FFFFFF80000000
-0000000007FF8000000000FFFFFFE0000000000000000FFF00000000007FFFFFF0000000
-000000003FFE00000000003FFFFFFC000000000000007FFC00000000000FFFFFFF000000
-00000001FFF8000000000007FFFFFFC0000000000007FFF0000000000001FFFFFFF00000
-0000001FFFE0000000000000FFFFFFFE00000000007FFF800000000000003FFFFFFFE000
-000003FFFF000000000000000FFFFFFFFE0000003FFFFC0000000000000003FFFFFFFFF8
-0007FFFFF80000000000000000FFFFFFFFFFFFFFFFFFE000000000000000003FFFFFFFFF
-FFFFFFFF8000000000000000000FFFFFFFFFFFFFFFFE00000000000000000001FFFFFFFF
-FFFFFFF8000000000000000000003FFFFFFFFFFFFFC00000000000000000000007FFFFFF
-FFFFFF0000000000000000000000007FFFFFFFFFF000000000000000000000000003FFFF
-FFFF000000000000000000000000000003FFFFC0000000000000>141
-146 115 271 168 I[<000000000000000003FFFFC00000000001F00000000000000000
-0003FFFFFFFE0000000003F80000000000000000007FFFFFFFFFE000000007F800000000
-0000000007FFFFFFFFFFFC0000000FF800000000000000003FFFFFFFFFFFFF0000001FF8
-0000000000000001FFFFFFFFFFFFFFE000003FF8000000000000000FFFFFFFFFFFFFFFF8
-00007FF8000000000000003FFFFFFFFFFFFFFFFE0000FFF800000000000000FFFFFFFFFF
-FFFFFFFF0001FFF800000000000003FFFFFFFFF8000FFFFFC003FFF80000000000000FFF
-FFFFFE0000007FFFF007FFF80000000000003FFFFFFFC00000000FFFF80FFFF800000000
-0000FFFFFFFE0000000003FFFC1FFFF8000000000001FFFFFFF000000000007FFF3FFFF8
-000000000007FFFFFFC000000000001FFFFFFFF800000000000FFFFFFF0000000000000F
-FFFFFFF800000000003FFFFFFC00000000000003FFFFFFF800000000007FFFFFF0000000
-00000001FFFFFFF80000000000FFFFFFE000000000000000FFFFFFF80000000001FFFFFF
-80000000000000003FFFFFF80000000003FFFFFF00000000000000001FFFFFF800000000
-07FFFFFE00000000000000000FFFFFF8000000000FFFFFFC000000000000000007FFFFF8
-000000001FFFFFF0000000000000000003FFFFF8000000003FFFFFE00000000000000000
-01FFFFF8000000007FFFFFE0000000000000000000FFFFF800000000FFFFFFC000000000
-0000000000FFFFF800000001FFFFFF800000000000000000007FFFF800000003FFFFFF00
-0000000000000000003FFFF800000003FFFFFE000000000000000000001FFFF800000007
-FFFFFE000000000000000000001FFFF80000000FFFFFFC000000000000000000000FFFF8
-0000000FFFFFF8000000000000000000000FFFF80000001FFFFFF8000000000000000000
-0007FFF80000003FFFFFF00000000000000000000003FFF80000003FFFFFF00000000000
-000000000003FFF80000007FFFFFE00000000000000000000003FFF80000007FFFFFE000
-00000000000000000001FFF8000000FFFFFFC00000000000000000000001FFF8000000FF
-FFFFC00000000000000000000000FFF8000001FFFFFFC00000000000000000000000FFF8
-000001FFFFFF800000000000000000000000FFF8000003FFFFFF80000000000000000000
-00007FF8000003FFFFFF8000000000000000000000007FF8000007FFFFFF000000000000
-0000000000007FF8000007FFFFFF0000000000000000000000003FF8000007FFFFFF0000
-000000000000000000003FF800000FFFFFFF0000000000000000000000003FF800000FFF
-FFFE0000000000000000000000003FF800000FFFFFFE0000000000000000000000003FF8
-00001FFFFFFE0000000000000000000000001FF800001FFFFFFE00000000000000000000
-00001FF800001FFFFFFE0000000000000000000000001FF800003FFFFFFC000000000000
-0000000000001FF800003FFFFFFC0000000000000000000000000FF000003FFFFFFC0000
-00000000000000000000000000003FFFFFFC000000000000000000000000000000007FFF
-FFFC000000000000000000000000000000007FFFFFFC0000000000000000000000000000
-00007FFFFFFC000000000000000000000000000000007FFFFFFC00000000000000000000
-0000000000007FFFFFF8000000000000000000000000000000007FFFFFF8000000000000
-000000000000000000007FFFFFF800000000000000000000000000000000FFFFFFF80000
-0000000000000000000000000000FFFFFFF800000000000000000000000000000000FFFF
-FFF800000000000000000000000000000000FFFFFFF80000000000000000000000000000
-0000FFFFFFF800000000000000000000000000000000FFFFFFF800000000000000000000
-000000000000FFFFFFF800000000000000000000000000000000FFFFFFF8000000000000
-00000000000000000000FFFFFFF800000000000000000000000000000000FFFFFFF80000
-0000000000000000000000000000FFFFFFF800000000000000000000000000000000FFFF
-FFF800000000000000000000000000000000FFFFFFF80000000000000000000000000000
-0000FFFFFFF800000000000000000000000000000000FFFFFFF800000000000000000000
-000000000000FFFFFFF800000000000000000000000000000000FFFFFFF8000000000000
-00000000000000000000FFFFFFF8000000000000000000000000000000007FFFFFF80000
-00000000000000000000000000007FFFFFF8000000000000000000000000000000007FFF
-FFF8000000000000000000000000000000007FFFFFFC0000000000000000000000000000
-00007FFFFFFC000000000000000000000000000000007FFFFFFC0000000000000FFFFFFF
-FFFFFFFFFFF87FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF83FFFFFFC000000000000
-0FFFFFFFFFFFFFFFFFF83FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF83FFFFFFC0000
-000000000FFFFFFFFFFFFFFFFFF83FFFFFFC0000000000000FFFFFFFFFFFFFFFFFF81FFF
-FFFE0000000000000FFFFFFFFFFFFFFFFFF81FFFFFFE0000000000000FFFFFFFFFFFFFFF
-FFF81FFFFFFE0000000000000FFFFFFFFFFFFFFFFFF80FFFFFFE00000000000000000000
-7FFFFFF800000FFFFFFE000000000000000000007FFFFFF800000FFFFFFF000000000000
-000000007FFFFFF8000007FFFFFF000000000000000000007FFFFFF8000007FFFFFF0000
-00000000000000007FFFFFF8000007FFFFFF000000000000000000007FFFFFF8000003FF
-FFFF800000000000000000007FFFFFF8000003FFFFFF800000000000000000007FFFFFF8
-000001FFFFFF800000000000000000007FFFFFF8000001FFFFFFC0000000000000000000
-7FFFFFF8000000FFFFFFC00000000000000000007FFFFFF8000000FFFFFFE00000000000
-000000007FFFFFF80000007FFFFFE00000000000000000007FFFFFF80000007FFFFFE000
-00000000000000007FFFFFF80000003FFFFFF00000000000000000007FFFFFF80000003F
-FFFFF00000000000000000007FFFFFF80000001FFFFFF80000000000000000007FFFFFF8
-0000000FFFFFFC0000000000000000007FFFFFF80000000FFFFFFC000000000000000000
-7FFFFFF800000007FFFFFE0000000000000000007FFFFFF800000003FFFFFF0000000000
-000000007FFFFFF800000003FFFFFF0000000000000000007FFFFFF800000001FFFFFF80
-00000000000000007FFFFFF800000000FFFFFFC000000000000000007FFFFFF800000000
-7FFFFFE000000000000000007FFFFFF8000000003FFFFFF000000000000000007FFFFFF8
-000000001FFFFFF800000000000000007FFFFFF8000000000FFFFFFC0000000000000000
-FFFFFFF80000000007FFFFFE0000000000000000FFFFFFF80000000003FFFFFF00000000
-00000000FFFFFFF80000000001FFFFFFC000000000000001FFFFFFF80000000000FFFFFF
-E000000000000001FFFFFFF800000000007FFFFFF800000000000003FFFFFFF800000000
-003FFFFFFE00000000000007FFFFFFF800000000000FFFFFFF0000000000000FFFFFFFF8
-000000000007FFFFFFE000000000003FFFFFFFF8000000000001FFFFFFF800000000007F
-FFFFFFF8000000000000FFFFFFFF0000000001FFFCFFFFF80000000000003FFFFFFFE000
-000007FFF87FFFF80000000000000FFFFFFFFF0000003FFFF03FFFF800000000000003FF
-FFFFFFFC0007FFFFE00FFFF800000000000000FFFFFFFFFFFFFFFFFFC007FFF800000000
-0000003FFFFFFFFFFFFFFFFF0001FFF8000000000000000FFFFFFFFFFFFFFFFC00007FF8
-0000000000000001FFFFFFFFFFFFFFF000001FF800000000000000003FFFFFFFFFFFFFC0
-000007F8000000000000000007FFFFFFFFFFFF00000001F80000000000000000007FFFFF
-FFFFF8000000007000000000000000000003FFFFFFFF8000000000000000000000000000
-000003FFFFE00000000000000000>157 146 115 271 183 71 D[<FFFFFFFFFFFFFFFF
-FFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFF
-FFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0
-FFFFFFFFFFFFFFFFFFC0000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000
-000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFF
-E0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE00000000000
-01FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE000
-0000000001FFFFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000000001FF
-FFFFE0000000000001FFFFFFE0000000000001FFFFFFE0000000FFFFFFFFFFFFFFFFFFC0
-FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFF
-FFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFF
-FFFFFFFFFFFFFFC0>74 142 122 269 87 73 D[<FFFFFFFFFFFFFFFFFFF80000000000
-00FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFF
-FFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFF
-FFFFF8000000000000FFFFFFFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFF800
-0000000000FFFFFFFFFFFFFFFFFFF8000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC000000000
-0000000000000003FFFFFFC0000000000000000000000003FFFFFFC00000000000000000
-00000003FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003
-FFFFFFC0000000000000000000000003FFFFFFC0000000000000000000000003FFFFFFC0
-00000000000000FF80000003FFFFFFC000000000000000FF80000003FFFFFFC000000000
-000000FF80000003FFFFFFC000000000000000FF80000003FFFFFFC000000000000001FF
-80000003FFFFFFC000000000000001FF00000003FFFFFFC000000000000001FF00000003
-FFFFFFC000000000000001FF00000003FFFFFFC000000000000001FF00000003FFFFFFC0
-00000000000001FF00000003FFFFFFC000000000000001FF00000003FFFFFFC000000000
-000003FF00000003FFFFFFC000000000000003FF00000003FFFFFFC000000000000003FF
-00000003FFFFFFC000000000000003FE00000003FFFFFFC000000000000003FE00000003
-FFFFFFC000000000000007FE00000003FFFFFFC000000000000007FE00000003FFFFFFC0
-00000000000007FE00000003FFFFFFC000000000000007FE00000003FFFFFFC000000000
-00000FFE00000003FFFFFFC00000000000000FFE00000003FFFFFFC00000000000000FFE
-00000003FFFFFFC00000000000001FFC00000003FFFFFFC00000000000001FFC00000003
-FFFFFFC00000000000003FFC00000003FFFFFFC00000000000003FFC00000003FFFFFFC0
-0000000000007FFC00000003FFFFFFC00000000000007FFC00000003FFFFFFC000000000
-0000FFFC00000003FFFFFFC0000000000000FFFC00000003FFFFFFC0000000000001FFFC
-00000003FFFFFFC0000000000003FFFC00000003FFFFFFC0000000000003FFF800000003
-FFFFFFC0000000000007FFF800000003FFFFFFC000000000000FFFF800000003FFFFFFC0
-00000000001FFFF800000003FFFFFFC000000000003FFFF800000003FFFFFFC000000000
-007FFFF800000003FFFFFFC00000000001FFFFF800000003FFFFFFC00000000003FFFFF8
-00000003FFFFFFC00000000007FFFFF800000003FFFFFFC0000000001FFFFFF000000003
-FFFFFFC0000000007FFFFFF000000003FFFFFFC000000003FFFFFFF000000003FFFFFFC0
-0000001FFFFFFFF000000003FFFFFFC0000003FFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFF
-FFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
-00FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFF
-FFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFF
-FFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE000>121
-142 120 269 140 76 D[<FFFFFFFFFFFFC00000000000000000000000007FFFFFFFFFFF
-E0FFFFFFFFFFFFE0000000000000000000000000FFFFFFFFFFFFE0FFFFFFFFFFFFF00000
-00000000000000000001FFFFFFFFFFFFE0FFFFFFFFFFFFF8000000000000000000000003
-FFFFFFFFFFFFE0FFFFFFFFFFFFF8000000000000000000000003FFFFFFFFFFFFE0FFFFFF
-FFFFFFF8000000000000000000000003FFFFFFFFFFFFE0FFFFFFFFFFFFFC000000000000
-000000000007FFFFFFFFFFFFE0FFFFFFFFFFFFFC000000000000000000000007FFFFFFFF
-FFFFE0FFFFFFFFFFFFFE00000000000000000000000FFFFFFFFFFFFFE0000003FFFFFFFE
-00000000000000000000000FFFFFFFF8000000000003FFFFFFFF00000000000000000000
-001FEFFFFFF8000000000003FFFFFFFF00000000000000000000001FEFFFFFF800000000
-0003FF7FFFFF80000000000000000000003FCFFFFFF8000000000003FF7FFFFF80000000
-000000000000003FCFFFFFF8000000000003FF7FFFFF80000000000000000000003FCFFF
-FFF8000000000003FF3FFFFFC0000000000000000000007F8FFFFFF8000000000003FF3F
-FFFFC0000000000000000000007F8FFFFFF8000000000003FF1FFFFFE000000000000000
-000000FF0FFFFFF8000000000003FF1FFFFFE000000000000000000000FF0FFFFFF80000
-00000003FF0FFFFFF000000000000000000001FE0FFFFFF8000000000003FF0FFFFFF000
-000000000000000001FE0FFFFFF8000000000003FF0FFFFFF000000000000000000001FE
-0FFFFFF8000000000003FF07FFFFF800000000000000000003FC0FFFFFF8000000000003
-FF07FFFFF800000000000000000003FC0FFFFFF8000000000003FF03FFFFFC0000000000
-0000000007F80FFFFFF8000000000003FF03FFFFFC00000000000000000007F80FFFFFF8
-000000000003FF01FFFFFE0000000000000000000FF00FFFFFF8000000000003FF01FFFF
-FE0000000000000000000FF00FFFFFF8000000000003FF00FFFFFF000000000000000000
-1FE00FFFFFF8000000000003FF00FFFFFF0000000000000000001FE00FFFFFF800000000
-0003FF00FFFFFF0000000000000000001FE00FFFFFF8000000000003FF007FFFFF800000
-0000000000003FC00FFFFFF8000000000003FF007FFFFF8000000000000000003FC00FFF
-FFF8000000000003FF003FFFFFC000000000000000007F800FFFFFF8000000000003FF00
-3FFFFFC000000000000000007F800FFFFFF8000000000003FF001FFFFFE0000000000000
-0000FF000FFFFFF8000000000003FF001FFFFFE00000000000000000FF000FFFFFF80000
-00000003FF000FFFFFF00000000000000001FE000FFFFFF8000000000003FF000FFFFFF0
-0000000000000001FE000FFFFFF8000000000003FF000FFFFFF00000000000000001FE00
-0FFFFFF8000000000003FF0007FFFFF80000000000000003FC000FFFFFF8000000000003
-FF0007FFFFF80000000000000003FC000FFFFFF8000000000003FF0003FFFFFC00000000
-00000007F8000FFFFFF8000000000003FF0003FFFFFC0000000000000007F8000FFFFFF8
-000000000003FF0001FFFFFE000000000000000FF0000FFFFFF8000000000003FF0001FF
-FFFE000000000000000FF0000FFFFFF8000000000003FF0001FFFFFE000000000000000F
-F0000FFFFFF8000000000003FF0000FFFFFF000000000000001FE0000FFFFFF800000000
-0003FF0000FFFFFF000000000000001FE0000FFFFFF8000000000003FF00007FFFFF8000
-00000000003FC0000FFFFFF8000000000003FF00007FFFFF800000000000003FC0000FFF
-FFF8000000000003FF00003FFFFFC00000000000007F80000FFFFFF8000000000003FF00
-003FFFFFC00000000000007F80000FFFFFF8000000000003FF00001FFFFFE00000000000
-00FF00000FFFFFF8000000000003FF00001FFFFFE0000000000000FF00000FFFFFF80000
-00000003FF00001FFFFFE0000000000000FF00000FFFFFF8000000000003FF00000FFFFF
-F0000000000001FE00000FFFFFF8000000000003FF00000FFFFFF0000000000001FE0000
-0FFFFFF8000000000003FF000007FFFFF8000000000003FC00000FFFFFF8000000000003
-FF000007FFFFF8000000000003FC00000FFFFFF8000000000003FF000003FFFFFC000000
-000007F800000FFFFFF8000000000003FF000003FFFFFC000000000007F800000FFFFFF8
-000000000003FF000001FFFFFE00000000000FF000000FFFFFF8000000000003FF000001
-FFFFFE00000000000FF000000FFFFFF8000000000003FF000001FFFFFE00000000000FF0
-00000FFFFFF8000000000003FF000000FFFFFF00000000001FE000000FFFFFF800000000
-0003FF000000FFFFFF00000000001FE000000FFFFFF8000000000003FF0000007FFFFF80
-000000003FC000000FFFFFF8000000000003FF0000007FFFFF80000000003FC000000FFF
-FFF8000000000003FF0000003FFFFFC0000000007F8000000FFFFFF8000000000003FF00
-00003FFFFFC0000000007F8000000FFFFFF8000000000003FF0000003FFFFFC000000000
-7F8000000FFFFFF8000000000003FF0000001FFFFFE000000000FF0000000FFFFFF80000
-00000003FF0000001FFFFFE000000000FF0000000FFFFFF8000000000003FF0000000FFF
-FFF000000001FE0000000FFFFFF8000000000003FF0000000FFFFFF000000001FE000000
-0FFFFFF8000000000003FF00000007FFFFF800000003FC0000000FFFFFF8000000000003
-FF00000007FFFFF800000003FC0000000FFFFFF8000000000003FF00000003FFFFFC0000
-0007F80000000FFFFFF8000000000003FF00000003FFFFFC00000007F80000000FFFFFF8
-000000000003FF00000003FFFFFC00000007F80000000FFFFFF8000000000003FF000000
-01FFFFFE0000000FF00000000FFFFFF8000000000003FF00000001FFFFFE0000000FF000
-00000FFFFFF8000000000003FF00000000FFFFFF0000001FE00000000FFFFFF800000000
-0003FF00000000FFFFFF0000001FE00000000FFFFFF8000000000003FF000000007FFFFF
-8000003FC00000000FFFFFF8000000000003FF000000007FFFFF8000003FC00000000FFF
-FFF8000000000003FF000000003FFFFFC000007F800000000FFFFFF8000000000003FF00
-0000003FFFFFC000007F800000000FFFFFF8000000000003FF000000003FFFFFC000007F
-800000000FFFFFF8000000000003FF000000001FFFFFE00000FF000000000FFFFFF80000
-00000003FF000000001FFFFFE00000FF000000000FFFFFF8000000000003FF000000000F
-FFFFF00001FE000000000FFFFFF8000000000003FF000000000FFFFFF00001FE00000000
-0FFFFFF8000000000003FF0000000007FFFFF80003FC000000000FFFFFF8000000000003
-FF0000000007FFFFF80003FC000000000FFFFFF8000000000003FF0000000007FFFFF800
-03FC000000000FFFFFF8000000000003FF0000000003FFFFFC0007F8000000000FFFFFF8
-000000000003FF0000000003FFFFFC0007F8000000000FFFFFF8000000000003FF000000
-0001FFFFFE000FF0000000000FFFFFF8000000000003FF0000000001FFFFFE000FF00000
-00000FFFFFF8000000000003FF0000000000FFFFFF001FE0000000000FFFFFF800000000
-0003FF0000000000FFFFFF001FE0000000000FFFFFF8000000000003FF00000000007FFF
-FF803FC0000000000FFFFFF8000000000003FF00000000007FFFFF803FC0000000000FFF
-FFF8000000000003FF00000000007FFFFF803FC0000000000FFFFFF8000000000003FF00
-000000003FFFFFC07F80000000000FFFFFF8000000000003FF00000000003FFFFFC07F80
-000000000FFFFFF8000000000003FF00000000001FFFFFE0FF00000000000FFFFFF80000
-00000003FF00000000001FFFFFE0FF00000000000FFFFFF8000000000003FF0000000000
-0FFFFFF1FE00000000000FFFFFF8000000000003FF00000000000FFFFFF1FE0000000000
-0FFFFFF8000000000003FF000000000007FFFFFBFC00000000000FFFFFF8000000000003
-FF000000000007FFFFFBFC00000000000FFFFFF8000000000003FF000000000007FFFFFB
-FC00000000000FFFFFF8000000000003FF000000000003FFFFFFF800000000000FFFFFF8
-000000000003FF000000000003FFFFFFF800000000000FFFFFF8000000000003FF000000
-000001FFFFFFF000000000000FFFFFF8000000000003FF000000000001FFFFFFF0000000
-00000FFFFFF8000000000003FF000000000000FFFFFFE000000000000FFFFFF800000000
-0003FF000000000000FFFFFFE000000000000FFFFFF8000000000003FF000000000000FF
-FFFFE000000000000FFFFFF8000000000003FF0000000000007FFFFFC000000000000FFF
-FFF8000000000003FF0000000000007FFFFFC000000000000FFFFFF8000000000003FF00
-00000000003FFFFF8000000000000FFFFFF8000000000003FF0000000000003FFFFF8000
-000000000FFFFFF8000000000003FF0000000000001FFFFF0000000000000FFFFFF80000
-00000003FF0000000000001FFFFF0000000000000FFFFFF8000000000003FF0000000000
-000FFFFE0000000000000FFFFFF8000000000003FF0000000000000FFFFE000000000000
-0FFFFFF8000000000003FF0000000000000FFFFE0000000000000FFFFFF8000000000007
-FF80000000000007FFFC0000000000000FFFFFF80000000001FFFFFE000000000007FFFC
-0000000000000FFFFFF8000000FFFFFFFFFFFFFC00000003FFF800000003FFFFFFFFFFFF
-FFFFE0FFFFFFFFFFFFFC00000003FFF800000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC
-00000001FFF000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000001FFF000000003
-FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000000FFE000000003FFFFFFFFFFFFFFFFE0FF
-FFFFFFFFFFFC00000000FFE000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC00000000
-FFE000000003FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFC000000007FC000000003FFFFFFFF
-FFFFFFFFE0FFFFFFFFFFFFFC000000001F0000000003FFFFFFFFFFFFFFFFE0>203
-142 120 269 220 I[<0000000000000000FFFFF0000000000000000000000000000000
-7FFFFFFFE00000000000000000000000000007FFFFFFFFFE000000000000000000000000
-007FFFFFFFFFFFE0000000000000000000000003FFFFFFFFFFFFFC000000000000000000
-00001FFFFFFFFFFFFFFF80000000000000000000007FFFFFFFFFFFFFFFE0000000000000
-00000003FFFFFFFFFFFFFFFFFC0000000000000000000FFFFFFFE0007FFFFFFF00000000
-00000000003FFFFFFE000007FFFFFFC000000000000000007FFFFFE00000007FFFFFE000
-00000000000001FFFFFF800000001FFFFFF80000000000000007FFFFFE0000000007FFFF
-FE000000000000000FFFFFF80000000001FFFFFF000000000000001FFFFFE00000000000
-7FFFFF800000000000007FFFFF8000000000001FFFFFE0000000000000FFFFFF00000000
-00000FFFFFF0000000000001FFFFFE00000000000007FFFFF8000000000003FFFFFC0000
-0000000003FFFFFC000000000007FFFFF000000000000000FFFFFE00000000000FFFFFE0
-000000000000007FFFFF00000000001FFFFFE0000000000000007FFFFF80000000003FFF
-FFC0000000000000003FFFFFC0000000007FFFFF80000000000000001FFFFFE000000000
-FFFFFF00000000000000000FFFFFF000000001FFFFFE000000000000000007FFFFF80000
-0001FFFFFE000000000000000007FFFFF800000003FFFFFC000000000000000003FFFFFC
-00000007FFFFF8000000000000000001FFFFFE0000000FFFFFF8000000000000000001FF
-FFFF0000000FFFFFF0000000000000000000FFFFFF0000001FFFFFF00000000000000000
-00FFFFFF8000001FFFFFE00000000000000000007FFFFF8000003FFFFFE0000000000000
-0000007FFFFFC000007FFFFFC00000000000000000003FFFFFE000007FFFFFC000000000
-00000000003FFFFFE00000FFFFFF800000000000000000001FFFFFF00000FFFFFF800000
-000000000000001FFFFFF00001FFFFFF800000000000000000001FFFFFF80001FFFFFF00
-0000000000000000000FFFFFF80003FFFFFF000000000000000000000FFFFFFC0003FFFF
-FF000000000000000000000FFFFFFC0003FFFFFE0000000000000000000007FFFFFC0007
-FFFFFE0000000000000000000007FFFFFE0007FFFFFE0000000000000000000007FFFFFE
-0007FFFFFE0000000000000000000007FFFFFE000FFFFFFC0000000000000000000003FF
-FFFF000FFFFFFC0000000000000000000003FFFFFF000FFFFFFC00000000000000000000
-03FFFFFF001FFFFFFC0000000000000000000003FFFFFF801FFFFFFC0000000000000000
-000003FFFFFF801FFFFFF80000000000000000000001FFFFFF803FFFFFF8000000000000
-0000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF800000000
-00000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF80000
-000000000000000001FFFFFFC07FFFFFF80000000000000000000001FFFFFFE07FFFFFF8
-0000000000000000000001FFFFFFE07FFFFFF80000000000000000000001FFFFFFE07FFF
-FFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000000000FFFFFFE0
-7FFFFFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000000000FFFF
-FFE0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000
-FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF0000000000000000000
-0000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF000000000000000
-00000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000
-000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF0000000
-0000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF000
-00000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FFFFFF
-F00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFFF0FF
-FFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FFFFFF
-F0FFFFFFF00000000000000000000000FFFFFFF0FFFFFFF00000000000000000000000FF
-FFFFF07FFFFFF00000000000000000000000FFFFFFE07FFFFFF000000000000000000000
-00FFFFFFE07FFFFFF00000000000000000000000FFFFFFE07FFFFFF00000000000000000
-000000FFFFFFE07FFFFFF80000000000000000000001FFFFFFE07FFFFFF8000000000000
-0000000001FFFFFFE07FFFFFF80000000000000000000001FFFFFFE03FFFFFF800000000
-00000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF80000
-000000000000000001FFFFFFC03FFFFFF80000000000000000000001FFFFFFC03FFFFFF8
-0000000000000000000001FFFFFFC01FFFFFF80000000000000000000001FFFFFF801FFF
-FFFC0000000000000000000003FFFFFF801FFFFFFC0000000000000000000003FFFFFF80
-0FFFFFFC0000000000000000000003FFFFFF000FFFFFFC0000000000000000000003FFFF
-FF000FFFFFFC0000000000000000000003FFFFFF0007FFFFFE0000000000000000000007
-FFFFFE0007FFFFFE0000000000000000000007FFFFFE0007FFFFFE000000000000000000
-0007FFFFFE0003FFFFFF000000000000000000000FFFFFFC0003FFFFFF00000000000000
-0000000FFFFFFC0001FFFFFF000000000000000000000FFFFFF80001FFFFFF0000000000
-00000000000FFFFFF80000FFFFFF800000000000000000001FFFFFF00000FFFFFF800000
-000000000000001FFFFFF000007FFFFFC00000000000000000003FFFFFE000007FFFFFC0
-0000000000000000003FFFFFE000003FFFFFC000000007FE000000003FFFFFC000003FFF
-FFE00000003FFFC00000007FFFFFC000001FFFFFE0000000FFFFF00000007FFFFF800000
-1FFFFFF0000003FFFFFC000000FFFFFF8000000FFFFFF800000FFFFFFE000001FFFFFF00
-000007FFFFF800001FFFFFFF800001FFFFFE00000007FFFFFC00003FFFFFFFC00003FFFF
-FE00000003FFFFFC00007FFC03FFE00003FFFFFC00000001FFFFFE00007FE0007FF00007
-FFFFF800000000FFFFFF0000FF80001FF8000FFFFFF0000000007FFFFF8001FF000007F8
-001FFFFFE0000000003FFFFF8001FE000003FC001FFFFFC0000000003FFFFFC001FC0000
-03FE003FFFFFC0000000001FFFFFE003FC000001FF007FFFFF80000000000FFFFFF003F8
-000000FF00FFFFFF000000000007FFFFF803F8000000FF81FFFFFE000000000001FFFFFC
-03F80000007FC3FFFFF8000000000000FFFFFF03F80000007FCFFFFFF00000000000007F
-FFFF83F80000003FFFFFFFE00000000000003FFFFFE3F80000003FFFFFFFC00000000000
-000FFFFFF3FC0000001FFFFFFF0000000000000007FFFFFDFC0000001FFFFFFE00000000
-00000001FFFFFFFE0000001FFFFFF80000000000000000FFFFFFFF0000007FFFFFF00000
-0000000000003FFFFFFFC00003FFFFFFC000000000000000000FFFFFFFF0007FFFFFFF00
-000000000000000003FFFFFFFFFFFFFFFFFC00000000000000000000FFFFFFFFFFFFFFFF
-F0000000000000000000001FFFFFFFFFFFFFFF800000000000000000000007FFFFFFFFFF
-FFFF8000000000F00000000000007FFFFFFFFFFFFFC000000001F80000000000000FFFFF
-FFFFFFFFE000000001F8000000000000007FFFFFFFE3FFE000000001F800000000000000
-00FFFFF003FFF000000001F8000000000000000000000003FFF800000001F80000000000
-00000000000001FFFC00000003F8000000000000000000000001FFFC00000003F8000000
-000000000000000001FFFE00000007F8000000000000000000000001FFFF0000000FF800
-0000000000000000000000FFFFC000001FF8000000000000000000000000FFFFE000007F
-F8000000000000000000000000FFFFF80003FFF0000000000000000000000000FFFFFF00
-3FFFF0000000000000000000000000FFFFFFFFFFFFF00000000000000000000000007FFF
-FFFFFFFFF00000000000000000000000007FFFFFFFFFFFF0000000000000000000000000
-7FFFFFFFFFFFE00000000000000000000000007FFFFFFFFFFFE000000000000000000000
-00003FFFFFFFFFFFE00000000000000000000000003FFFFFFFFFFFE00000000000000000
-000000003FFFFFFFFFFFC00000000000000000000000001FFFFFFFFFFFC0000000000000
-0000000000001FFFFFFFFFFFC00000000000000000000000001FFFFFFFFFFF8000000000
-00000000000000000FFFFFFFFFFF800000000000000000000000000FFFFFFFFFFF000000
-0000000000000000000007FFFFFFFFFF0000000000000000000000000007FFFFFFFFFE00
-00000000000000000000000003FFFFFFFFFE0000000000000000000000000003FFFFFFFF
-FC0000000000000000000000000001FFFFFFFFFC0000000000000000000000000001FFFF
-FFFFF80000000000000000000000000000FFFFFFFFF00000000000000000000000000000
-7FFFFFFFE000000000000000000000000000007FFFFFFFC0000000000000000000000000
-00003FFFFFFF8000000000000000000000000000001FFFFFFF0000000000000000000000
-000000000FFFFFFE00000000000000000000000000000003FFFFFC000000000000000000
-00000000000001FFFFF0000000000000000000000000000000003FFFC000000000000000
-00000000000000000007FE000000>149 184 115 271 175 81 D[<FFFFFFFFFFFFFFFF
-FFFFFC00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC000000000000000000FFFF
-FFFFFFFFFFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFC00000000
-00000000FFFFFFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFF
-FFFFF000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFE00000000000000FFFFFFFFFF
-FFFFFFFFFFFFFFFFFF80000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000000000
-00000003FFFFFF800000007FFFFFFFF8000000000000000003FFFFFF8000000001FFFFFF
-FC000000000000000003FFFFFF80000000003FFFFFFF000000000000000003FFFFFF8000
-00000007FFFFFF800000000000000003FFFFFF800000000001FFFFFFE000000000000000
-03FFFFFF8000000000007FFFFFF00000000000000003FFFFFF8000000000003FFFFFF800
-00000000000003FFFFFF8000000000001FFFFFFC0000000000000003FFFFFF8000000000
-000FFFFFFE0000000000000003FFFFFF80000000000007FFFFFF0000000000000003FFFF
-FF80000000000003FFFFFF0000000000000003FFFFFF80000000000001FFFFFF80000000
-00000003FFFFFF80000000000001FFFFFFC000000000000003FFFFFF80000000000000FF
-FFFFE000000000000003FFFFFF80000000000000FFFFFFE000000000000003FFFFFF8000
-0000000000FFFFFFF000000000000003FFFFFF800000000000007FFFFFF0000000000000
-03FFFFFF800000000000007FFFFFF800000000000003FFFFFF800000000000007FFFFFF8
-00000000000003FFFFFF800000000000007FFFFFF800000000000003FFFFFF8000000000
-00003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC00000000000003FFFF
-FF800000000000003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC000000
-00000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF800000000000003F
-FFFFFE00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF8000
-00000000003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE000000000000
-03FFFFFF800000000000003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE
-00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFFFF8000000000
-00003FFFFFFE00000000000003FFFFFF800000000000003FFFFFFE00000000000003FFFF
-FF800000000000003FFFFFFC00000000000003FFFFFF800000000000003FFFFFFC000000
-00000003FFFFFF800000000000003FFFFFFC00000000000003FFFFFF800000000000007F
-FFFFFC00000000000003FFFFFF800000000000007FFFFFF800000000000003FFFFFF8000
-00000000007FFFFFF800000000000003FFFFFF800000000000007FFFFFF0000000000000
-03FFFFFF800000000000007FFFFFF000000000000003FFFFFF80000000000000FFFFFFE0
-00000000000003FFFFFF80000000000000FFFFFFE000000000000003FFFFFF8000000000
-0000FFFFFFC000000000000003FFFFFF80000000000001FFFFFF8000000000000003FFFF
-FF80000000000001FFFFFF0000000000000003FFFFFF80000000000003FFFFFF00000000
-00000003FFFFFF80000000000007FFFFFE0000000000000003FFFFFF8000000000000FFF
-FFFC0000000000000003FFFFFF8000000000001FFFFFF80000000000000003FFFFFF8000
-000000003FFFFFF00000000000000003FFFFFF800000000000FFFFFFC000000000000000
-03FFFFFF800000000001FFFFFF800000000000000003FFFFFF800000000007FFFFFE0000
-00000000000003FFFFFF80000000003FFFFFFC000000000000000003FFFFFF8000000001
-FFFFFFF0000000000000000003FFFFFF800000007FFFFFFFC0000000000000000003FFFF
-FFFFFFFFFFFFFFFFFF00000000000000000003FFFFFFFFFFFFFFFFFFFFF8000000000000
-00000003FFFFFFFFFFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFFFFFFFE00
-00000000000000000003FFFFFFFFFFFFFFFFFFFC0000000000000000000003FFFFFFFFFF
-FFFFFFFFFF8000000000000000000003FFFFFFFFFFFFFFFFFFFFE0000000000000000000
-03FFFFFF80000003FFFFFFF800000000000000000003FFFFFF800000003FFFFFFE000000
-00000000000003FFFFFF800000000FFFFFFF00000000000000000003FFFFFF8000000003
-FFFFFFC0000000000000000003FFFFFF8000000001FFFFFFE0000000000000000003FFFF
-FF80000000007FFFFFF0000000000000000003FFFFFF80000000003FFFFFF80000000000
-00000003FFFFFF80000000001FFFFFFC000000000000000003FFFFFF80000000000FFFFF
-FE000000000000000003FFFFFF80000000000FFFFFFF000000000000000003FFFFFF8000
-00000007FFFFFF800000000000000003FFFFFF800000000003FFFFFF8000000000000000
-03FFFFFF800000000003FFFFFFC00000000000000003FFFFFF800000000001FFFFFFC000
-00000000000003FFFFFF800000000001FFFFFFE00000000000000003FFFFFF8000000000
-00FFFFFFE00000000000000003FFFFFF800000000000FFFFFFF00000000000000003FFFF
-FF800000000000FFFFFFF00000000000000003FFFFFF800000000000FFFFFFF000000000
-00000003FFFFFF8000000000007FFFFFF00000000000000003FFFFFF8000000000007FFF
-FFF80000000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000
-000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800000000000000
-03FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800
-00000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000
-007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF80000000000000003FFFF
-FF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFFFFF800000000
-00000003FFFFFF8000000000007FFFFFF80000000000000003FFFFFF8000000000007FFF
-FFF80000000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000
-000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00000000000000
-03FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00
-00000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000
-007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC0000000000000003FFFF
-FF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFFFFFC00000000
-00000003FFFFFF8000000000007FFFFFFC0000000000000003FFFFFF8000000000007FFF
-FFFC0000000000000003FFFFFF8000000000007FFFFFFC0000001FC0000003FFFFFF8000
-000000007FFFFFFC0000003FE0000003FFFFFF8000000000007FFFFFFE0000003FE00000
-03FFFFFF8000000000003FFFFFFE0000003FE0000003FFFFFF8000000000003FFFFFFE00
-00003FE0000003FFFFFF8000000000003FFFFFFE0000003FE0000003FFFFFF8000000000
-001FFFFFFF0000003FE0000003FFFFFF8000000000001FFFFFFF0000007FE0000003FFFF
-FF8000000000001FFFFFFF0000007FC0000003FFFFFF8000000000000FFFFFFF8000007F
-C0000003FFFFFF80000000000007FFFFFF800000FFC0000003FFFFFF80000000000007FF
-FFFFC00000FF80000003FFFFFF80000000000003FFFFFFC00001FF80000003FFFFFF8000
-0000000001FFFFFFE00001FF00FFFFFFFFFFFFFFFFFE00000000FFFFFFF00003FF00FFFF
-FFFFFFFFFFFFFE000000007FFFFFF80007FE00FFFFFFFFFFFFFFFFFE000000003FFFFFFE
-001FFC00FFFFFFFFFFFFFFFFFE000000001FFFFFFFC07FF800FFFFFFFFFFFFFFFFFE0000
-000007FFFFFFFFFFF000FFFFFFFFFFFFFFFFFE0000000001FFFFFFFFFFE000FFFFFFFFFF
-FFFFFFFE00000000007FFFFFFFFFC000FFFFFFFFFFFFFFFFFE00000000001FFFFFFFFF80
-00FFFFFFFFFFFFFFFFFE000000000003FFFFFFFE00000000000000000000000000000000
-001FFFFFF80000000000000000000000000000000000003FFFC00000>163
-144 120 269 173 I[<000000000FFFF8000000003E0000000001FFFFFFE00000003F00
-0000001FFFFFFFFE0000007F000000007FFFFFFFFFC00000FF00000003FFFFFFFFFFF000
-01FF0000000FFFFFFFFFFFFC0003FF0000001FFFFFFFFFFFFF0007FF0000007FFFFFFFFF
-FFFFC00FFF000000FFFFFE000FFFFFF01FFF000003FFFFC000007FFFF83FFF000007FFFF
-00000007FFFC7FFF00000FFFFC00000000FFFFFFFF00001FFFF0000000003FFFFFFF0000
-3FFFE0000000000FFFFFFF00007FFF800000000007FFFFFF0000FFFF800000000001FFFF
-FF0000FFFF000000000000FFFFFF0001FFFE0000000000007FFFFF0003FFFC0000000000
-001FFFFF0003FFFC0000000000000FFFFF0007FFF800000000000007FFFF0007FFF80000
-0000000007FFFF000FFFF000000000000003FFFF000FFFF000000000000001FFFF001FFF
-F000000000000000FFFF001FFFF000000000000000FFFF003FFFE0000000000000007FFF
-003FFFE0000000000000003FFF003FFFE0000000000000003FFF007FFFE0000000000000
-001FFF007FFFE0000000000000001FFF007FFFE0000000000000001FFF007FFFE0000000
-000000000FFF007FFFE0000000000000000FFF00FFFFE00000000000000007FF00FFFFF0
-0000000000000007FF00FFFFF00000000000000007FF00FFFFF00000000000000007FF00
-FFFFF80000000000000003FF00FFFFF80000000000000003FF00FFFFFC00000000000000
-03FF00FFFFFC0000000000000003FF00FFFFFE0000000000000001FF00FFFFFF00000000
-00000001FF00FFFFFF0000000000000001FF00FFFFFF8000000000000001FF00FFFFFFC0
-00000000000001FF00FFFFFFF000000000000000FE007FFFFFF80000000000000000007F
-FFFFFE0000000000000000007FFFFFFF0000000000000000007FFFFFFFE0000000000000
-00003FFFFFFFFE00000000000000003FFFFFFFFFE0000000000000003FFFFFFFFFFF0000
-00000000001FFFFFFFFFFFF00000000000001FFFFFFFFFFFFF8000000000000FFFFFFFFF
-FFFFF800000000000FFFFFFFFFFFFFFFC00000000007FFFFFFFFFFFFFFFC0000000007FF
-FFFFFFFFFFFFFF8000000003FFFFFFFFFFFFFFFFE000000003FFFFFFFFFFFFFFFFF80000
-0001FFFFFFFFFFFFFFFFFE00000000FFFFFFFFFFFFFFFFFF800000007FFFFFFFFFFFFFFF
-FFE00000007FFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFF80000001FFFFFFFFF
-FFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFF80000003FF
-FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFFFFE00000007FFFFFFFFFFFFFFFFFE000
-00003FFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFF800000003FFFFFFFFFFFFFF
-FFFC00000000FFFFFFFFFFFFFFFFFE000000003FFFFFFFFFFFFFFFFE000000000FFFFFFF
-FFFFFFFFFF0000000001FFFFFFFFFFFFFFFF00000000001FFFFFFFFFFFFFFF8000000000
-01FFFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFC00000000000007FFFFFFFFFFFC000
-000000000007FFFFFFFFFFE0000000000000003FFFFFFFFFE00000000000000003FFFFFF
-FFF000000000000000003FFFFFFFF000000000000000000FFFFFFFF00000000000000000
-03FFFFFFF8000000000000000000FFFFFFF80000000000000000007FFFFFF80000000000
-000000001FFFFFF80000000000000000000FFFFFF800000000000000000007FFFFFC0000
-0000000000000007FFFFFC00000000000000000003FFFFFC7F000000000000000001FFFF
-FCFF800000000000000000FFFFFCFF800000000000000000FFFFFCFF8000000000000000
-007FFFFCFF8000000000000000007FFFFCFF8000000000000000007FFFFCFF8000000000
-000000003FFFFCFF8000000000000000003FFFFCFF8000000000000000003FFFFCFFC000
-000000000000001FFFFCFFC000000000000000001FFFFCFFC000000000000000001FFFFC
-FFC000000000000000001FFFF8FFE000000000000000001FFFF8FFE00000000000000000
-1FFFF8FFE000000000000000001FFFF8FFF000000000000000001FFFF8FFF00000000000
-0000001FFFF0FFF000000000000000001FFFF0FFF800000000000000003FFFF0FFFC0000
-0000000000003FFFE0FFFC00000000000000003FFFE0FFFE00000000000000003FFFE0FF
-FF00000000000000007FFFC0FFFF00000000000000007FFFC0FFFF80000000000000007F
-FF80FFFFC000000000000000FFFF80FFFFE000000000000000FFFF00FFFFF80000000000
-0001FFFF00FFFFFC00000000000003FFFE00FFFFFE00000000000003FFFC00FFFFFF8000
-0000000007FFFC00FFFFFFE000000000000FFFF800FFFFFFF800000000001FFFF000FFFF
-FFFE00000000007FFFE000FFFFFFFFC000000000FFFFC000FFFFFFFFF800000003FFFF80
-00FFFE7FFFFF8000001FFFFF0000FFFC1FFFFFFF0001FFFFFE0000FFF807FFFFFFFFFFFF
-FFFC0000FFF003FFFFFFFFFFFFFFF00000FFE000FFFFFFFFFFFFFFE00000FFC0001FFFFF
-FFFFFFFF800000FF800007FFFFFFFFFFFE000000FF000000FFFFFFFFFFF8000000FE0000
-001FFFFFFFFFC0000000FC00000000FFFFFFFC000000007C0000000001FFFF8000000000
->102 146 115 271 129 I[<0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFF
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000F
-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
-001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFC001FFFFFFFC000001FFFFFFE000001FFFFFFFC001FFFFFF80000001FFFFFFE000000
-0FFFFFFC001FFFFFC00000001FFFFFFE00000001FFFFFC001FFFFF000000001FFFFFFE00
-0000007FFFFC001FFFFC000000001FFFFFFE000000001FFFFC001FFFF8000000001FFFFF
-FE0000000007FFFC001FFFE0000000001FFFFFFE0000000003FFFC001FFFC0000000001F
-FFFFFE0000000001FFFC001FFF80000000001FFFFFFE0000000000FFFC003FFF00000000
-001FFFFFFE00000000007FFE003FFF00000000001FFFFFFE00000000007FFE003FFE0000
-0000001FFFFFFE00000000003FFE003FFC00000000001FFFFFFE00000000001FFE003FFC
-00000000001FFFFFFE00000000001FFE003FFC00000000001FFFFFFE00000000001FFE00
-3FF800000000001FFFFFFE00000000000FFE003FF800000000001FFFFFFE00000000000F
-FE003FF000000000001FFFFFFE000000000007FE003FF000000000001FFFFFFE00000000
-0007FE003FF000000000001FFFFFFE000000000007FE003FF000000000001FFFFFFE0000
-00000007FE003FE000000000001FFFFFFE000000000003FE007FE000000000001FFFFFFE
-000000000003FF007FE000000000001FFFFFFE000000000003FF007FE000000000001FFF
-FFFE000000000003FF007FE000000000001FFFFFFE000000000003FF007FC00000000000
-1FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007FC0000000
-00001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007FC000
-000000001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF007F
-C000000000001FFFFFFE000000000001FF007FC000000000001FFFFFFE000000000001FF
-00FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE0000000000
-00FF80FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE000000
-000000FF80FF8000000000001FFFFFFE000000000000FF80FF8000000000001FFFFFFE00
-0000000000FF80000000000000001FFFFFFE0000000000000000000000000000001FFFFF
-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F
-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000
-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000
-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000
-00000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000
-000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000
-0000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000
-00000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000
-000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE
-0000000000000000000000000000001FFFFFFE0000000000000000000000000000001FFF
-FFFE0000000000000000000000000000001FFFFFFE000000000000000000000000000000
-1FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000000000
-00001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000
-000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000
-0000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000
-00000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000
-000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000
-0000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00
-00000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFF
-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F
-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000
-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000
-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000
-00000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000
-000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000
-0000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000
-00000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000
-000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE
-0000000000000000000000000000001FFFFFFE0000000000000000000000000000001FFF
-FFFE0000000000000000000000000000001FFFFFFE000000000000000000000000000000
-1FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000000000
-00001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000
-000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000
-0000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000
-00000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE0000000000
-000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE000000
-0000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFFFE00
-00000000000000000000000000001FFFFFFE0000000000000000000000000000001FFFFF
-FE0000000000000000000000000000001FFFFFFE0000000000000000000000000000001F
-FFFFFE0000000000000000000000000000001FFFFFFE0000000000000000000000000000
-001FFFFFFE0000000000000000000000000000001FFFFFFE000000000000000000000000
-0000001FFFFFFE0000000000000000000000000000001FFFFFFE00000000000000000000
-00000000001FFFFFFE00000000000000000000000FFFFFFFFFFFFFFFFFFFFFFC00000000
-0000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC0000
-00000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC
-000000000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFFFFFF
-FFFC000000000000000FFFFFFFFFFFFFFFFFFFFFFC000000000000000FFFFFFFFFFFFFFF
-FFFFFFFC00000000>145 140 120 267 162 I[<FFFFFFFFFFFFFFFFE0000000000007FF
-FFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE000
-0000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFF
-FFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFF
-FFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE000000000
-0007FFFFFFFFFFF8FFFFFFFFFFFFFFFFE0000000000007FFFFFFFFFFF800001FFFFFFF00
-000000000000000001FFFFFF000000001FFFFFFF8000000000000000000007FFE0000000
-000FFFFFFF8000000000000000000003FF80000000000FFFFFFFC0000000000000000000
-03FF80000000000FFFFFFFC000000000000000000003FF800000000007FFFFFFC0000000
-00000000000007FF000000000007FFFFFFE000000000000000000007FF000000000003FF
-FFFFE00000000000000000000FFE000000000003FFFFFFF00000000000000000000FFE00
-0000000001FFFFFFF00000000000000000001FFC000000000001FFFFFFF8000000000000
-0000001FFC000000000000FFFFFFF80000000000000000001FF8000000000000FFFFFFF8
-0000000000000000003FF8000000000000FFFFFFFC0000000000000000003FF800000000
-00007FFFFFFC0000000000000000007FF00000000000007FFFFFFE000000000000000000
-7FF00000000000003FFFFFFE000000000000000000FFE00000000000003FFFFFFF000000
-000000000000FFE00000000000001FFFFFFF000000000000000000FFC00000000000001F
-FFFFFF000000000000000001FFC00000000000001FFFFFFF800000000000000001FFC000
-00000000000FFFFFFF800000000000000003FF800000000000000FFFFFFFC00000000000
-000003FF8000000000000007FFFFFFC00000000000000007FF0000000000000007FFFFFF
-E00000000000000007FF0000000000000003FFFFFFE00000000000000007FE0000000000
-000003FFFFFFE0000000000000000FFE0000000000000003FFFFFFF0000000000000000F
-FE0000000000000001FFFFFFF0000000000000001FFC0000000000000001FFFFFFF80000
-00000000001FFC0000000000000000FFFFFFF8000000000000003FF80000000000000000
-FFFFFFFC000000000000003FF800000000000000007FFFFFFC000000000000007FF00000
-0000000000007FFFFFFE000000000000007FF000000000000000007FFFFFFE0000000000
-00007FF000000000000000003FFFFFFE00000000000000FFE000000000000000003FFFFF
-FF00000000000000FFE000000000000000001FFFFFFF00000000000001FFC00000000000
-0000001FFFFFFF80000000000001FFC000000000000000000FFFFFFF80000000000003FF
-8000000000000000000FFFFFFFC0000000000003FF80000000000000000007FFFFFFC000
-0000000003FF00000000000000000007FFFFFFC0000000000007FF000000000000000000
-07FFFFFFE0000000000007FF00000000000000000003FFFFFFE000000000000FFE000000
-00000000000003FFFFFFF000000000000FFE00000000000000000001FFFFFFF000000000
-001FFC00000000000000000001FFFFFFF800000000001FFC00000000000000000000FFFF
-FFF800000000001FF800000000000000000000FFFFFFF800000000003FF8000000000000
-00000000FFFFFFFC00000000003FF8000000000000000000007FFFFFFC00000000007FF0
-000000000000000000007FFFFFFE00000000007FF0000000000000000000003FFFFFFE00
-00000000FFE0000000000000000000003FFFFFFF0000000000FFE0000000000000000000
-001FFFFFFF0000000000FFC0000000000000000000001FFFFFFF0000000001FFC0000000
-000000000000001FFFFFFF8000000001FFC0000000000000000000000FFFFFFF80000000
-03FF80000000000000000000000FFFFFFFC000000003FF800000000000000000000007FF
-FFFFC000000007FF000000000000000000000007FFFFFFE000000007FF00000000000000
-0000000003FFFFFFE00000000FFE000000000000000000000003FFFFFFF00000000FFE00
-0000000000000000000003FFFFFFF00000000FFE000000000000000000000001FFFFFFF0
-0000001FFC000000000000000000000001FFFFFFF80000001FFC00000000000000000000
-0000FFFFFFF80000003FF8000000000000000000000000FFFFFFFC0000003FF800000000
-00000000000000007FFFFFFC0000007FF00000000000000000000000007FFFFFFE000000
-7FF00000000000000000000000003FFFFFFE0000007FE00000000000000000000000003F
-FFFFFE000000FFE00000000000000000000000003FFFFFFF000000FFE000000000000000
-00000000001FFFFFFF000001FFC00000000000000000000000001FFFFFFF800001FFC000
-00000000000000000000000FFFFFFF800003FF800000000000000000000000000FFFFFFF
-C00003FF8000000000000000000000000007FFFFFFC00003FF0000000000000000000000
-000007FFFFFFC00007FF0000000000000000000000000007FFFFFFE00007FF0000000000
-000000000000000003FFFFFFE0000FFE0000000000000000000000000003FFFFFFF0000F
-FE0000000000000000000000000001FFFFFFF0001FFC0000000000000000000000000001
-FFFFFFF8001FFC0000000000000000000000000000FFFFFFF8001FF80000000000000000
-000000000000FFFFFFFC003FF80000000000000000000000000000FFFFFFFC003FF80000
-0000000000000000000000007FFFFFFC007FF000000000000000000000000000007FFFFF
-FE007FF000000000000000000000000000003FFFFFFE00FFE00000000000000000000000
-0000003FFFFFFF00FFE000000000000000000000000000001FFFFFFF01FFC00000000000
-0000000000000000001FFFFFFF81FFC000000000000000000000000000001FFFFFFF81FF
-C000000000000000000000000000000FFFFFFF83FF800000000000000000000000000000
-0FFFFFFFC3FF80000000000000000000000000000007FFFFFFC7FF000000000000000000
-00000000000007FFFFFFE7FF00000000000000000000000000000003FFFFFFEFFE000000
-00000000000000000000000003FFFFFFFFFE00000000000000000000000000000001FFFF
-FFFFFC00000000000000000000000000000001FFFFFFFFFC000000000000000000000000
-00000001FFFFFFFFFC00000000000000000000000000000000FFFFFFFFF8000000000000
-00000000000000000000FFFFFFFFF8000000000000000000000000000000007FFFFFFFF0
-000000000000000000000000000000007FFFFFFFF0000000000000000000000000000000
-003FFFFFFFE0000000000000000000000000000000003FFFFFFFE0000000000000000000
-000000000000003FFFFFFFE0000000000000000000000000000000001FFFFFFFC0000000
-000000000000000000000000001FFFFFFFC0000000000000000000000000000000000FFF
-FFFF80000000000000000000000000000000000FFFFFFF80000000000000000000000000
-0000000007FFFFFF000000000000000000000000000000000007FFFFFF00000000000000
-0000000000000000000007FFFFFF000000000000000000000000000000000003FFFFFE00
-0000000000000000000000000000000003FFFFFE00000000000000000000000000000000
-0001FFFFFC000000000000000000000000000000000001FFFFFC00000000000000000000
-0000000000000000FFFFF8000000000000000000000000000000000000FFFFF800000000
-0000000000000000000000000000FFFFF80000000000000000000000000000000000007F
-FFF00000000000000000000000000000000000007FFFF000000000000000000000000000
-00000000003FFFE00000000000000000000000000000000000003FFFE000000000000000
-00000000000000000000001FFFC00000000000000000000000000000000000001FFFC000
-00000000000000000000000000000000000FFF8000000000000000000000000000000000
-00000FFF8000000000000000000000000000000000000007FF0000000000000000000000
-000000000000000003FE00000000000000000000>165 144 123
-269 176 86 D<00000000FFFFFC000000000000000000007FFFFFFFF000000000000000
-0007FFFFFFFFFF00000000000000003FFFFFFFFFFFE000000000000000FFFFFFFFFFFFF8
-00000000000001FFFFFFFFFFFFFE00000000000007FFFFFFFFFFFFFF8000000000000FFF
-FFC0007FFFFFE000000000001FFFE000000FFFFFF000000000003FFFF0000003FFFFF800
-000000007FFFF8000000FFFFFE00000000007FFFFC0000007FFFFF0000000000FFFFFC00
-00003FFFFF8000000000FFFFFE0000001FFFFFC000000000FFFFFE0000000FFFFFC00000
-0001FFFFFF00000007FFFFE000000001FFFFFF00000003FFFFF000000001FFFFFF000000
-03FFFFF000000001FFFFFF00000001FFFFF800000001FFFFFF00000001FFFFF800000001
-FFFFFF00000001FFFFFC00000001FFFFFF00000000FFFFFC00000001FFFFFF00000000FF
-FFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE000000007FFF
-FC000000007FFFFE000000007FFFFC000000007FFFFF000000003FFFF8000000007FFFFF
-000000001FFFF0000000007FFFFF0000000007FFC0000000007FFFFF0000000001FF0000
-0000007FFFFF00000000000000000000007FFFFF00000000000000000000007FFFFF0000
-0000000000000000007FFFFF00000000000000000000007FFFFF00000000000000000000
-007FFFFF00000000000000000000007FFFFF00000000000000000000007FFFFF00000000
-000000000000007FFFFF00000000000000000000007FFFFF00000000000000000003FFFF
-FFFF00000000000000000FFFFFFFFFFF0000000000000003FFFFFFFFFFFF000000000000
-007FFFFFFFFFFFFF00000000000007FFFFFFFFFFFFFF0000000000003FFFFFFFFFFFFFFF
-000000000001FFFFFFFF807FFFFF00000000000FFFFFFFE0007FFFFF00000000003FFFFF
-FC00007FFFFF0000000000FFFFFFE000007FFFFF0000000003FFFFFF0000007FFFFF0000
-000007FFFFFC0000007FFFFF000000001FFFFFF00000007FFFFF000000003FFFFFC00000
-007FFFFF000000007FFFFF800000007FFFFF00000000FFFFFE000000007FFFFF00000001
-FFFFFC000000007FFFFF00000003FFFFF8000000007FFFFF00000007FFFFF0000000007F
-FFFF0000000FFFFFE0000000007FFFFF0000001FFFFFE0000000007FFFFF0000001FFFFF
-C0000000007FFFFF0000003FFFFF80000000007FFFFF0000003FFFFF80000000007FFFFF
-0000007FFFFF00000000007FFFFF0000007FFFFF00000000007FFFFF0000007FFFFF0000
-0000007FFFFF000000FFFFFF00000000007FFFFF000000FFFFFE00000000007FFFFF0000
-00FFFFFE00000000007FFFFF000000FFFFFE00000000007FFFFF000000FFFFFE00000000
-00FFFFFF000000FFFFFE0000000000FFFFFF000000FFFFFE0000000000FFFFFF000000FF
-FFFE0000000000FFFFFF000000FFFFFE0000000001FFFFFF000000FFFFFF0000000001FF
-FFFF0000007FFFFF0000000003FFFFFF0000007FFFFF0000000007EFFFFF0000003FFFFF
-800000000FEFFFFF0000003FFFFFC00000000FCFFFFF0000001FFFFFC00000003FCFFFFF
-0000001FFFFFE00000007F8FFFFF8000000FFFFFF0000000FF0FFFFFE0000007FFFFFC00
-0003FE0FFFFFFE000003FFFFFE00000FFC07FFFFFFFF0001FFFFFF80003FF807FFFFFFFF
-8000FFFFFFF803FFF003FFFFFFFF80003FFFFFFFFFFFE001FFFFFFFF80000FFFFFFFFFFF
-8000FFFFFFFF800003FFFFFFFFFF00007FFFFFFF800000FFFFFFFFFC00001FFFFFFF8000
-001FFFFFFFF0000007FFFFFF80000001FFFFFF800000007FFFFF0000000007FFF8000000
-0000000000695F79DD71>97 D[<0000001FF000000000000000000000007FFFFFF00000
-0000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000
-0000FFFFFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFF
-F000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000
-0000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000000000
-3FFFFFF0000000000000000000000007FFFFF0000000000000000000000007FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF000003FFFC000000000000003FFFFF00007FFFFFE000000
-00000003FFFFF0003FFFFFFFE0000000000003FFFFF001FFFFFFFFF8000000000003FFFF
-F007FFFFFFFFFF000000000003FFFFF01FFFFFFFFFFFC00000000003FFFFF07FFFFFFFFF
-FFF00000000003FFFFF0FFFFC00FFFFFF80000000003FFFFF3FFFC0000FFFFFE00000000
-03FFFFF7FFE000003FFFFF0000000003FFFFFFFF8000000FFFFF8000000003FFFFFFFE00
-000007FFFFE000000003FFFFFFF800000001FFFFF000000003FFFFFFF000000000FFFFF8
-00000003FFFFFFE0000000007FFFFC00000003FFFFFF80000000003FFFFC00000003FFFF
-FF00000000003FFFFE00000003FFFFFE00000000001FFFFF00000003FFFFFC0000000000
-0FFFFF80000003FFFFFC00000000000FFFFF80000003FFFFF8000000000007FFFFC00000
-03FFFFF8000000000007FFFFE0000003FFFFF8000000000007FFFFE0000003FFFFF80000
-00000003FFFFF0000003FFFFF8000000000003FFFFF0000003FFFFF8000000000003FFFF
-F8000003FFFFF8000000000001FFFFF8000003FFFFF8000000000001FFFFF8000003FFFF
-F8000000000001FFFFFC000003FFFFF8000000000001FFFFFC000003FFFFF80000000000
-01FFFFFE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FFFFFE0000
-03FFFFF8000000000000FFFFFE000003FFFFF8000000000000FFFFFF000003FFFFF80000
-00000000FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFF
-FF000003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF800003FFFF
-F8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000000000
-00FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF8000
-03FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000
-00000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFF
-FF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFF
-F8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF80000000000
-00FFFFFF800003FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF0000
-03FFFFF8000000000000FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF80000
-00000000FFFFFF000003FFFFF8000000000000FFFFFE000003FFFFF8000000000001FFFF
-FE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FFFFFC000003FFFF
-F8000000000001FFFFFC000003FFFFF8000000000001FFFFFC000003FFFFF80000000000
-01FFFFF8000003FFFFF8000000000003FFFFF8000003FFFFF8000000000003FFFFF00000
-03FFFFF8000000000003FFFFF0000003FFFFF8000000000007FFFFE0000003FFFFF80000
-00000007FFFFE0000003FFFFF8000000000007FFFFC0000003FFFFF800000000000FFFFF
-C0000003FFFFFC00000000000FFFFF80000003FFFFFE00000000001FFFFF00000003FFFF
-FF00000000003FFFFE00000003FFFFFF00000000003FFFFE00000003FFFFFF8000000000
-7FFFFC00000003FFFFFFC000000000FFFFF800000003FFFFFFF000000001FFFFF0000000
-03FFFFBFF800000003FFFFE000000003FFFF1FFC0000000FFFFFC000000003FFFE0FFF00
-00001FFFFF0000000003FFFE07FFC000007FFFFE0000000003FFFC03FFF00003FFFFFC00
-00000003FFF800FFFF003FFFFFF00000000003FFF0007FFFFFFFFFFFC00000000003FFE0
-001FFFFFFFFFFF000000000003FFC0000FFFFFFFFFFC000000000003FF800003FFFFFFFF
-F0000000000003FF0000007FFFFFFF80000000000003FE0000000FFFFFF8000000000000
-000000000000FFFE000000000000>113 144 121 270 129 I<00000000007FFFF00000
-00000000001FFFFFFFE0000000000000FFFFFFFFFE000000000007FFFFFFFFFF80000000
-001FFFFFFFFFFFF000000000FFFFFFFFFFFFF800000001FFFFFFFFFFFFFE00000007FFFF
-FFFFFFFFFF0000001FFFFFF8000FFFFF8000003FFFFF800000FFFFC000007FFFFE000001
-FFFFE00001FFFFF8000003FFFFE00003FFFFF0000003FFFFF00007FFFFE0000007FFFFF0
-000FFFFFC0000007FFFFF0001FFFFF8000000FFFFFF8003FFFFF0000000FFFFFF8003FFF
-FE0000000FFFFFF8007FFFFC0000000FFFFFF800FFFFFC0000000FFFFFF800FFFFF80000
-000FFFFFF801FFFFF80000000FFFFFF803FFFFF00000000FFFFFF803FFFFF000000007FF
-FFF007FFFFF000000007FFFFF007FFFFE000000003FFFFE00FFFFFE000000003FFFFE00F
-FFFFE000000001FFFFC01FFFFFE000000000FFFF801FFFFFC0000000003FFE001FFFFFC0
-000000000FF8003FFFFFC0000000000000003FFFFFC0000000000000003FFFFFC0000000
-000000003FFFFFC0000000000000007FFFFF80000000000000007FFFFF80000000000000
-007FFFFF80000000000000007FFFFF80000000000000007FFFFF8000000000000000FFFF
-FF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000
-000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000
-000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000
-FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF8000000000000000FFFFFF
-8000000000000000FFFFFF8000000000000000FFFFFF80000000000000007FFFFF800000
-00000000007FFFFF80000000000000007FFFFFC0000000000000007FFFFFC00000000000
-00007FFFFFC0000000000000003FFFFFC0000000000000003FFFFFC0000000000000003F
-FFFFC0000000000000001FFFFFE0000000000000001FFFFFE0000000000000001FFFFFE0
-000000000000000FFFFFE0000000000000000FFFFFF0000000000000FE07FFFFF0000000
-000001FF07FFFFF0000000000001FF03FFFFF8000000000003FF03FFFFF8000000000003
-FE01FFFFFC000000000003FE01FFFFFC000000000007FE00FFFFFE00000000000FFC007F
-FFFF00000000000FFC007FFFFF80000000001FF8003FFFFF80000000003FF0001FFFFFC0
-000000007FF0000FFFFFE000000000FFE00007FFFFF800000001FFC00003FFFFFC000000
-03FFC00001FFFFFF0000000FFF800000FFFFFFC000003FFF0000003FFFFFF00001FFFC00
-00001FFFFFFF801FFFF800000007FFFFFFFFFFFFF000000003FFFFFFFFFFFFC000000000
-FFFFFFFFFFFF80000000003FFFFFFFFFFE000000000007FFFFFFFFF8000000000000FFFF
-FFFFC00000000000001FFFFFFE00000000000000007FFFC0000000585F78DD67>I[<0000
-0000000000000000003FE00000000000000000000000FFFFFFE000000000000000000001
-FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000000001FFFFFFFFE000
-000000000000000001FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000
-000001FFFFFFFFE000000000000000000001FFFFFFFFE000000000000000000001FFFFFF
-FFE000000000000000000001FFFFFFFFE000000000000000000000007FFFFFE000000000
-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000
-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000
-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000
-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF
-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000
-0000000000000007FFFFE0000000000000000000000007FFFFE000000000000000000000
-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000
-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000
-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF
-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000
-0000000000000007FFFFE0000000000000000000000007FFFFE000000000000000000000
-0007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000
-0000000000000000000007FFFFE0000000000000000000000007FFFFE000000000000000
-0000000007FFFFE0000000000000000000000007FFFFE0000000000000000000000007FF
-FFE0000000000000000000000007FFFFE0000000000000000000000007FFFFE000000000
-0000000000000007FFFFE0000000000000000000000007FFFFE0000000000000003FFF80
-0007FFFFE00000000000000FFFFFFC0007FFFFE0000000000000FFFFFFFF8007FFFFE000
-0000000007FFFFFFFFE007FFFFE000000000001FFFFFFFFFF807FFFFE000000000007FFF
-FFFFFFFE07FFFFE00000000001FFFFFFFFFFFF87FFFFE00000000007FFFFFE007FFFC7FF
-FFE0000000001FFFFFE00007FFF7FFFFE0000000003FFFFF000000FFFFFFFFE000000000
-7FFFFC0000003FFFFFFFE000000001FFFFF80000000FFFFFFFE000000003FFFFE0000000
-07FFFFFFE000000007FFFFC000000003FFFFFFE00000000FFFFF8000000001FFFFFFE000
-00001FFFFF00000000007FFFFFE00000003FFFFE00000000007FFFFFE00000003FFFFE00
-000000003FFFFFE00000007FFFFC00000000001FFFFFE0000000FFFFF800000000000FFF
-FFE0000001FFFFF800000000000FFFFFE0000001FFFFF000000000000FFFFFE0000003FF
-FFF000000000000FFFFFE0000003FFFFF000000000000FFFFFE0000007FFFFE000000000
-000FFFFFE0000007FFFFE000000000000FFFFFE000000FFFFFE000000000000FFFFFE000
-000FFFFFC000000000000FFFFFE000001FFFFFC000000000000FFFFFE000001FFFFFC000
-000000000FFFFFE000001FFFFFC000000000000FFFFFE000003FFFFFC000000000000FFF
-FFE000003FFFFFC000000000000FFFFFE000003FFFFF8000000000000FFFFFE000007FFF
-FF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000
-000FFFFFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000
-00FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000
-000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFF
-FFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFF
-FF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000
-000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE000
-00FFFFFF8000000000000FFFFFE00000FFFFFF8000000000000FFFFFE00000FFFFFF8000
-000000000FFFFFE00000FFFFFF8000000000000FFFFFE000007FFFFF8000000000000FFF
-FFE000007FFFFF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000007FFF
-FF8000000000000FFFFFE000007FFFFF8000000000000FFFFFE000003FFFFF8000000000
-000FFFFFE000003FFFFFC000000000000FFFFFE000003FFFFFC000000000000FFFFFE000
-003FFFFFC000000000000FFFFFE000001FFFFFC000000000000FFFFFE000001FFFFFC000
-000000000FFFFFE000000FFFFFC000000000000FFFFFE000000FFFFFC000000000000FFF
-FFE000000FFFFFE000000000000FFFFFE0000007FFFFE000000000000FFFFFE0000007FF
-FFE000000000000FFFFFE0000003FFFFF000000000000FFFFFE0000003FFFFF000000000
-000FFFFFE0000001FFFFF000000000001FFFFFE0000000FFFFF800000000003FFFFFE000
-0000FFFFF800000000007FFFFFE00000007FFFFC00000000007FFFFFE00000003FFFFE00
-00000000FFFFFFE00000001FFFFE0000000001FFFFFFE00000000FFFFF0000000007FFFF
-FFE00000000FFFFF800000000FFFFFFFE000000007FFFFC00000001FFFFFFFF000000001
-FFFFF00000007FFFFFFFF000000000FFFFF8000000FFFFFFFFFE000000007FFFFE000003
-FFEFFFFFFFFF8000003FFFFF80001FFFCFFFFFFFFF8000000FFFFFF801FFFF0FFFFFFFFF
-80000003FFFFFFFFFFFE0FFFFFFFFF80000001FFFFFFFFFFF80FFFFFFFFF800000007FFF
-FFFFFFE00FFFFFFFFF800000000FFFFFFFFF800FFFFFFFFF8000000001FFFFFFFC000FFF
-FFFFFF80000000003FFFFFE0000FFFFFFFFF800000000000FFFE00000FFFFE000000>
-113 144 120 270 129 I<00000000007FFFC000000000000000000FFFFFFF0000000000
-000000FFFFFFFFE000000000000007FFFFFFFFFC0000000000001FFFFFFFFFFF00000000
-00007FFFFFFFFFFFC00000000001FFFFFFFFFFFFF00000000007FFFFF803FFFFF8000000
-001FFFFF80003FFFFE000000003FFFFE00000FFFFF000000007FFFF8000003FFFF800000
-01FFFFF0000001FFFFC0000003FFFFC00000007FFFE0000007FFFF800000003FFFF00000
-0FFFFF000000003FFFF000001FFFFF000000001FFFF800003FFFFE000000000FFFFC0000
-3FFFFC000000000FFFFE00007FFFFC0000000007FFFE0000FFFFF80000000003FFFF0001
-FFFFF80000000003FFFF0001FFFFF00000000003FFFF8003FFFFF00000000001FFFF8003
-FFFFE00000000001FFFF8007FFFFE00000000001FFFFC007FFFFE00000000000FFFFC00F
-FFFFE00000000000FFFFE00FFFFFC00000000000FFFFE01FFFFFC00000000000FFFFE01F
-FFFFC000000000007FFFE01FFFFFC000000000007FFFF03FFFFFC000000000007FFFF03F
-FFFFC000000000007FFFF03FFFFF8000000000007FFFF07FFFFF8000000000007FFFF07F
-FFFF8000000000007FFFF07FFFFF8000000000007FFFF87FFFFF8000000000003FFFF87F
-FFFF8000000000003FFFF8FFFFFF8000000000003FFFF8FFFFFF8000000000003FFFF8FF
-FFFF8000000000003FFFF8FFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FF
-FFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFFF8FF
-FFFFFFFFFFFFFFFFFFFFF0FFFFFF800000000000000000FFFFFF800000000000000000FF
-FFFF800000000000000000FFFFFF800000000000000000FFFFFF800000000000000000FF
-FFFF800000000000000000FFFFFF8000000000000000007FFFFF8000000000000000007F
-FFFF8000000000000000007FFFFF8000000000000000007FFFFF8000000000000000007F
-FFFFC000000000000000003FFFFFC000000000000000003FFFFFC000000000000000003F
-FFFFC000000000000000001FFFFFC000000000000000001FFFFFC000000000000000001F
-FFFFE000000000000000000FFFFFE000000000000000000FFFFFE0000000000000000007
-FFFFE000000000000007F007FFFFF00000000000000FF803FFFFF00000000000000FF803
-FFFFF80000000000000FF801FFFFF80000000000001FF801FFFFFC0000000000001FF000
-FFFFFC0000000000003FF0007FFFFE0000000000007FE0003FFFFF0000000000007FE000
-3FFFFF000000000000FFC0001FFFFF800000000001FF80000FFFFFC00000000003FF8000
-07FFFFF00000000007FF000003FFFFF8000000001FFE000001FFFFFC000000003FFC0000
-007FFFFF00000000FFF80000003FFFFFE0000003FFF00000001FFFFFFC00001FFFE00000
-0007FFFFFFC003FFFFC000000003FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFE000000
-00003FFFFFFFFFFFF800000000000FFFFFFFFFFFE0000000000001FFFFFFFFFF80000000
-0000003FFFFFFFFC0000000000000003FFFFFFC000000000000000000FFFF8000000005D
-5F7ADD6A>I[<0000000000003FFF80000000000000000FFFFFF000000000000000FFFFFF
-FE00000000000007FFFFFFFF0000000000001FFFFFFFFFC000000000007FFFFFFFFFE000
-00000001FFFFFFFFFFF00000000007FFFFF807FFF8000000001FFFFFC00FFFFC00000000
-3FFFFE001FFFFE000000007FFFFC003FFFFE00000000FFFFF0003FFFFF00000001FFFFE0
-007FFFFF00000003FFFFC0007FFFFF00000007FFFFC000FFFFFF80000007FFFF8000FFFF
-FF8000000FFFFF0000FFFFFF8000001FFFFF0000FFFFFF8000001FFFFE0000FFFFFF8000
-003FFFFE0000FFFFFF8000003FFFFC0000FFFFFF8000007FFFFC0000FFFFFF8000007FFF
-FC00007FFFFF0000007FFFFC00007FFFFF0000007FFFF800003FFFFE000000FFFFF80000
-1FFFFC000000FFFFF800001FFFFC000000FFFFF800000FFFF8000000FFFFF8000003FFE0
-000000FFFFF8000000FF80000000FFFFF80000000000000000FFFFF80000000000000000
-FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8
-0000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000
-0000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF8000000000000
-0000FFFFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FF
-FFF80000000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800
-00000000000000FFFFF80000000000000000FFFFF80000000000000000FFFFF800000000
-0000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FF
-FFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFF
-FFFFFFF8000000FFFFFFFFFFFFFFF8000000FFFFFFFFFFFFFFF80000000000FFFFFC0000
-000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000
-000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000
-FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC
-0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000
-0000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000000000
-0000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FF
-FFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00
-00000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000
-00000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000000000
-00FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFF
-FC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000
-000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000
-000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000
-FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC
-0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000
-0000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC000000000000
-0000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FF
-FFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00
-00000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000
-00000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC00000000000000
-00FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFF
-FC0000000000000000FFFFFC0000000000000000FFFFFC0000000000000000FFFFFC0000
-000000000000FFFFFC0000000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000
-003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFF
-FFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFFFFFF000000003FFFFFFFFF
-FFFF00000000>81 144 121 271 71 I<0000000000000000000000FFC000000000000F
-FFFC0000000FFFF00000000001FFFFFFE000007FFFF8000000001FFFFFFFFE0001FFFFFE
-000000007FFFFFFFFF8007FFFFFF00000003FFFFFFFFFFF01FFFFFFF0000000FFFFFFFFF
-FFFC3FFFFFFF8000001FFFFFFFFFFFFE7FFF3FFF8000007FFFFF003FFFFFFFF03FFFC000
-00FFFFF80007FFFFFF807FFFC00001FFFFE00001FFFFFC007FFFC00007FFFF8000007FFF
-F8007FFFC00007FFFF0000003FFFF8007FFFC0000FFFFE0000001FFFFC007FFFC0001FFF
-FC0000000FFFFE007FFFC0003FFFF800000007FFFF003FFF80007FFFF800000007FFFF80
-3FFF80007FFFF800000007FFFF801FFF0000FFFFF000000003FFFFC00FFE0000FFFFF000
-000003FFFFC003F80001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE00000
-0003FFFFE000000001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE0000000
-01FFFFF000000003FFFFE000000001FFFFF000000007FFFFE000000001FFFFF800000007
-FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FF
-FFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFF
-E000000001FFFFF800000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF8
-00000007FFFFE000000001FFFFF800000007FFFFE000000001FFFFF800000003FFFFE000
-000001FFFFF000000003FFFFE000000001FFFFF000000003FFFFE000000001FFFFF00000
-0003FFFFE000000001FFFFF000000001FFFFF000000003FFFFE000000001FFFFF0000000
-03FFFFE000000000FFFFF000000003FFFFC000000000FFFFF000000003FFFFC000000000
-7FFFF800000007FFFF80000000007FFFF800000007FFFF80000000003FFFF800000007FF
-FF00000000001FFFFC0000000FFFFE00000000000FFFFE0000001FFFFC000000000007FF
-FF0000003FFFF8000000000007FFFF8000007FFFF8000000000001FFFFE00001FFFFE000
-0000000000FFFFF80007FFFFC0000000000001FFFFFF003FFFFF80000000000003FFFFFF
-FFFFFFFE00000000000007FFFFFFFFFFFFFC00000000000007F3FFFFFFFFFFF000000000
-00000FE07FFFFFFFFF800000000000000FE01FFFFFFFFE000000000000001FC001FFFFFF
-E0000000000000001FC0000FFFFC00000000000000003FC0000000000000000000000000
-3FC00000000000000000000000003FC00000000000000000000000007FC0000000000000
-0000000000007FC00000000000000000000000007FE00000000000000000000000007FE0
-0000000000000000000000007FE00000000000000000000000007FF00000000000000000
-000000007FF00000000000000000000000007FF80000000000000000000000007FFC0000
-000000000000000000007FFE0000000000000000000000007FFF80000000000000000000
-00007FFFF000000000000000000000007FFFFFFFFFFFFFF00000000000003FFFFFFFFFFF
-FFFFE000000000003FFFFFFFFFFFFFFFFE00000000003FFFFFFFFFFFFFFFFFC000000000
-1FFFFFFFFFFFFFFFFFF8000000001FFFFFFFFFFFFFFFFFFE000000001FFFFFFFFFFFFFFF
-FFFF800000000FFFFFFFFFFFFFFFFFFFE000000007FFFFFFFFFFFFFFFFFFF000000007FF
-FFFFFFFFFFFFFFFFF800000003FFFFFFFFFFFFFFFFFFFE00000001FFFFFFFFFFFFFFFFFF
-FF00000000FFFFFFFFFFFFFFFFFFFF000000007FFFFFFFFFFFFFFFFFFF800000007FFFFF
-FFFFFFFFFFFFFFC0000003FFFFFFFFFFFFFFFFFFFFE000000FFFFFFFFFFFFFFFFFFFFFE0
-00003FFFFFFFFFFFFFFFFFFFFFF00000FFFFFFFFFFFFFFFFFFFFFFF00001FFFFE0000000
-003FFFFFFFF80003FFFF000000000000FFFFFFF80007FFFC0000000000000FFFFFF8000F
-FFF800000000000001FFFFFC001FFFF0000000000000007FFFFC003FFFE0000000000000
-003FFFFC003FFFE0000000000000001FFFFC007FFFC0000000000000000FFFFE007FFFC0
-0000000000000007FFFE007FFFC00000000000000007FFFE00FFFF800000000000000007
-FFFE00FFFF800000000000000003FFFE00FFFF800000000000000003FFFE00FFFF800000
-000000000003FFFE00FFFF800000000000000003FFFE00FFFF800000000000000003FFFE
-00FFFF800000000000000003FFFE00FFFFC00000000000000007FFFE007FFFC000000000
-00000007FFFC007FFFC00000000000000007FFFC007FFFE0000000000000000FFFFC003F
-FFF0000000000000001FFFF8001FFFF0000000000000001FFFF0001FFFF8000000000000
-003FFFF0000FFFFC000000000000007FFFE00007FFFE00000000000000FFFFC00003FFFF
-80000000000003FFFF800003FFFFC0000000000007FFFF800000FFFFF000000000001FFF
-FE0000007FFFFC00000000007FFFFC0000003FFFFF8000000003FFFFF80000000FFFFFF8
-0000003FFFFFE000000007FFFFFFE0000FFFFFFFC000000001FFFFFFFFFFFFFFFFFF0000
-0000003FFFFFFFFFFFFFFFF800000000000FFFFFFFFFFFFFFFE0000000000001FFFFFFFF
-FFFFFF000000000000001FFFFFFFFFFFF00000000000000001FFFFFFFFFF000000000000
-00000001FFFFFF0000000000006A887ADD74>I[<0000001FF00000000000000000000000
-7FFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000
-0000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000000000
-0000FFFFFFFFF000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFF
-F000000000000000000000FFFFFFFFF000000000000000000000FFFFFFFFF00000000000
-0000000000003FFFFFF0000000000000000000000007FFFFF00000000000000000000000
-07FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000
-00000000000000000003FFFFF0000000000000000000000003FFFFF00000000000000000
-00000003FFFFF0000000000000000000000003FFFFF0000000000000000000000003FFFF
-F0000000000000000000000003FFFFF0000000000000000000000003FFFFF00000000000
-00000000000003FFFFF0000000000000000000000003FFFFF00000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000003FFFC00000000000003FFFFF00000
-3FFFFFE0000000000003FFFFF00000FFFFFFF8000000000003FFFFF00007FFFFFFFE0000
-00000003FFFFF0001FFFFFFFFF800000000003FFFFF0003FFFFFFFFFE00000000003FFFF
-F000FFFFFFFFFFF00000000003FFFFF001FFFC03FFFFF80000000003FFFFF003FFC000FF
-FFFC0000000003FFFFF007FE00007FFFFE0000000003FFFFF00FF800003FFFFE00000000
-03FFFFF01FE000003FFFFF0000000003FFFFF03FC000001FFFFF8000000003FFFFF07F80
-00001FFFFF8000000003FFFFF0FE0000001FFFFFC000000003FFFFF1FC0000000FFFFFC0
-00000003FFFFF1F80000000FFFFFC000000003FFFFF3F80000000FFFFFE000000003FFFF
-F7F00000000FFFFFE000000003FFFFF7E000000007FFFFE000000003FFFFFFC000000007
-FFFFE000000003FFFFFFC000000007FFFFE000000003FFFFFF8000000007FFFFF0000000
-03FFFFFF8000000007FFFFF000000003FFFFFF0000000007FFFFF000000003FFFFFF0000
-000007FFFFF000000003FFFFFE0000000007FFFFF000000003FFFFFE0000000007FFFFF0
-00000003FFFFFE0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFF
-FC0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFFC0000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF00000FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE0
-01FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFF
-FFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFF
-FFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFF
-FFFFFFFFC0>114 143 119 270 129 I[<00003FC00000000000FFF00000000003FFFC00
-00000007FFFE000000000FFFFF000000001FFFFF800000003FFFFFC00000007FFFFFE000
-00007FFFFFE0000000FFFFFFF0000000FFFFFFF0000001FFFFFFF8000001FFFFFFF80000
-01FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001FFFFFFF8000001
-FFFFFFF8000000FFFFFFF0000000FFFFFFF00000007FFFFFE00000007FFFFFE00000003F
-FFFFC00000001FFFFF800000000FFFFF0000000007FFFE0000000003FFFC0000000000FF
-F000000000003FC000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000001FF00000007FFFFFF00000FFFFFFFFF00000FF
-FFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFF
-FFFFF00000FFFFFFFFF00000FFFFFFFFF00000003FFFFFF000000007FFFFF000000007FF
-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF
-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000
-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003
-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF
-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF
-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000
-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003
-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000FFFFFFFFFFFF80FFFFFF
-FFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFF
-FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80>49 144 119 271 65
-I[<0000001FF0000000000000000000007FFFFFF0000000000000000000FFFFFFFFF000
-0000000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000
-FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000
-000000000000FFFFFFFFF0000000000000000000FFFFFFFFF0000000000000000000FFFF
-FFFFF0000000000000000000003FFFFFF00000000000000000000007FFFFF00000000000
-000000000007FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF
-F00000000000000000000003FFFFF00000000000000000000003FFFFF000000000000000
-00000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF000
-00000000000000000003FFFFF00000000000000000000003FFFFF0000000000000000000
-0003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF0000000
-0000000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003
-FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF00000000000
-000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF
-F00000000000000000000003FFFFF00000000000000000000003FFFFF000000000000000
-00000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF000
-00000000000000000003FFFFF00000000000000000000003FFFFF0000000000000000000
-0003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF0000000
-0000000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003
-FFFFF00000000000000000000003FFFFF00000000000000000000003FFFFF00000000000
-000000000003FFFFF00000000000000000000003FFFFF00000000000000000000003FFFF
-F00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFF
-FFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF000
-00003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC00003FFFFF00000003FFFFFFFFFC0
-0003FFFFF00000003FFFFFFFFFC00003FFFFF000000001FFFFFE00000003FFFFF0000000
-003FFFC000000003FFFFF0000000003FFF0000000003FFFFF0000000007FFE0000000003
-FFFFF000000000FFFC0000000003FFFFF000000001FFF80000000003FFFFF000000003FF
-E00000000003FFFFF00000000FFFC00000000003FFFFF00000001FFF800000000003FFFF
-F00000003FFF000000000003FFFFF00000007FFC000000000003FFFFF0000001FFF80000
-00000003FFFFF0000003FFF0000000000003FFFFF0000007FFE0000000000003FFFFF000
-000FFFC0000000000003FFFFF000001FFF00000000000003FFFFF000007FFE0000000000
-0003FFFFF00000FFFC00000000000003FFFFF00001FFF800000000000003FFFFF00003FF
-F000000000000003FFFFF00007FFC000000000000003FFFFF0001FFF8000000000000003
-FFFFF0003FFF0000000000000003FFFFF0007FFE0000000000000003FFFFF000FFF80000
-000000000003FFFFF003FFFC0000000000000003FFFFF007FFFC0000000000000003FFFF
-F00FFFFE0000000000000003FFFFF01FFFFF0000000000000003FFFFF03FFFFF80000000
-00000003FFFFF0FFFFFFC000000000000003FFFFF1FFFFFFC000000000000003FFFFF3FF
-FFFFE000000000000003FFFFF7FFFFFFF000000000000003FFFFFFFFFFFFF80000000000
-0003FFFFFFFFFFFFF800000000000003FFFFFFFFFFFFFC00000000000003FFFFFFFFFFFF
-FE00000000000003FFFFFFF1FFFFFF00000000000003FFFFFFE0FFFFFF00000000000003
-FFFFFFC0FFFFFF80000000000003FFFFFF807FFFFFC0000000000003FFFFFF003FFFFFE0
-000000000003FFFFFC001FFFFFF0000000000003FFFFF8001FFFFFF0000000000003FFFF
-F0000FFFFFF8000000000003FFFFE00007FFFFFC000000000003FFFFE00003FFFFFE0000
-00000003FFFFE00003FFFFFE000000000003FFFFE00001FFFFFF000000000003FFFFE000
-00FFFFFF800000000003FFFFE000007FFFFFC00000000003FFFFE000003FFFFFC0000000
-0003FFFFE000003FFFFFE00000000003FFFFE000001FFFFFF00000000003FFFFE000000F
-FFFFF80000000003FFFFE0000007FFFFFC0000000003FFFFE0000007FFFFFC0000000003
-FFFFE0000003FFFFFE0000000003FFFFE0000001FFFFFF0000000003FFFFE0000000FFFF
-FF8000000003FFFFE0000000FFFFFF8000000003FFFFE00000007FFFFFC000000003FFFF
-E00000003FFFFFE000000003FFFFE00000001FFFFFF000000003FFFFE00000000FFFFFF0
-00000003FFFFE00000000FFFFFF800000003FFFFE000000007FFFFFC00000003FFFFE000
-000003FFFFFE00000003FFFFE000000001FFFFFF00000003FFFFE000000001FFFFFF0000
-0003FFFFE000000000FFFFFF80000003FFFFE000000000FFFFFFC0000003FFFFE0000000
-01FFFFFFF000FFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFF
-FFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFF
-FFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFFFFFFFFFF
-FFFF80007FFFFFFFFFFFFFFFFFFFFFFF80007FFFFFFFFFFF>112
-143 121 270 123 107 D[<0000001FF00000007FFFFFF00000FFFFFFFFF00000FFFFFF
-FFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFFF00000FFFFFFFF
-F00000FFFFFFFFF00000FFFFFFFFF00000003FFFFFF000000007FFFFF000000007FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000
-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003
-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF
-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF
-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000
-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003
-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF
-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF
-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0000000
-03FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003
-FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FF
-FFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFF
-F000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF0
-00000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000
-000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF000000003FFFFF00000
-0003FFFFF000000003FFFFF00000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FF
-FFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFF
-FFFFFFFFC0>50 143 119 270 65 I<0000003FE0000001FFFC000000000001FFFC0000
-000000007FFFFFE000001FFFFFE0000000001FFFFFE000000000FFFFFFFFE00000FFFFFF
-FC00000000FFFFFFFC00000000FFFFFFFFE00003FFFFFFFF00000003FFFFFFFF00000000
-FFFFFFFFE0000FFFFFFFFFC000000FFFFFFFFFC0000000FFFFFFFFE0003FFFFFFFFFF000
-003FFFFFFFFFF0000000FFFFFFFFE000FFFFFFFFFFF80000FFFFFFFFFFF8000000FFFFFF
-FFE001FFFC03FFFFFC0001FFFC03FFFFFC000000FFFFFFFFE003FFC000FFFFFE0003FFC0
-00FFFFFE000000FFFFFFFFE007FE00003FFFFF0007FE00003FFFFF000000FFFFFFFFE00F
-F800001FFFFF000FF800001FFFFF000000003FFFFFE01FF000001FFFFF801FF000001FFF
-FF8000000007FFFFE03FC000000FFFFFC03FC000000FFFFFC000000007FFFFE07F800000
-0FFFFFC07F8000000FFFFFC000000003FFFFE0FF0000000FFFFFE0FF0000000FFFFFE000
-000003FFFFE1FE00000007FFFFE1FE00000007FFFFE000000003FFFFE1FC00000007FFFF
-E1FC00000007FFFFE000000003FFFFE3F800000007FFFFF3F800000007FFFFF000000003
-FFFFE7F000000007FFFFF7F000000007FFFFF000000003FFFFE7E000000003FFFFF7E000
-000003FFFFF000000003FFFFEFC000000003FFFFFFC000000003FFFFF000000003FFFFEF
-C000000003FFFFFFC000000003FFFFF000000003FFFFFF8000000003FFFFFF8000000003
-FFFFF800000003FFFFFF8000000003FFFFFF8000000003FFFFF800000003FFFFFF000000
-0003FFFFFF0000000003FFFFF800000003FFFFFF0000000003FFFFFF0000000003FFFFF8
-00000003FFFFFE0000000003FFFFFE0000000003FFFFF800000003FFFFFE0000000003FF
-FFFE0000000003FFFFF800000003FFFFFE0000000003FFFFFE0000000003FFFFF8000000
-03FFFFFC0000000003FFFFFC0000000003FFFFF800000003FFFFFC0000000003FFFFFC00
-00000003FFFFF800000003FFFFFC0000000003FFFFFC0000000003FFFFF800000003FFFF
-FC0000000003FFFFFC0000000003FFFFF800000003FFFFF80000000003FFFFF800000000
-03FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000
-000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFF
-F800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003
-FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF80000
-0003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8
-0000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FF
-FFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8000000
-0003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800
-00000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FF
-FFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800000000
-03FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800
-000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFF
-F80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003
-FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000
-000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF8
-0000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003
-FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF8000000
-0003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF8
-00000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FF
-FFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF8000000
-03FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF800
-00000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFF
-F80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF800000000
-03FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000
-000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFF
-F800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003
-FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF80000
-0003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8
-0000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FF
-FFF80000000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF8000000
-0003FFFFF800000003FFFFF80000000003FFFFF80000000003FFFFF800000003FFFFF800
-00000003FFFFF80000000003FFFFF800000003FFFFF80000000003FFFFF80000000003FF
-FFF80000FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FF
-FFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFF
-E0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFF
-FFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFF
-FFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE0
-00FFFFFFFFFFFFE0FFFFFFFFFFFFE000FFFFFFFFFFFFE000FFFFFFFFFFFFE0B35D77DCC2
->I<0000003FE0000003FFFC0000000000007FFFFFE000003FFFFFE000000000FFFFFFFF
-E00000FFFFFFF800000000FFFFFFFFE00007FFFFFFFE00000000FFFFFFFFE0001FFFFFFF
-FF80000000FFFFFFFFE0003FFFFFFFFFE0000000FFFFFFFFE000FFFFFFFFFFF0000000FF
-FFFFFFE001FFFC03FFFFF8000000FFFFFFFFE003FFC000FFFFFC000000FFFFFFFFE007FE
-00007FFFFE000000FFFFFFFFE00FF800003FFFFE000000003FFFFFE01FE000003FFFFF00
-00000007FFFFE03FC000001FFFFF8000000007FFFFE07F8000001FFFFF8000000003FFFF
-E0FE0000001FFFFFC000000003FFFFE1FC0000000FFFFFC000000003FFFFE1F80000000F
-FFFFC000000003FFFFE3F80000000FFFFFE000000003FFFFE7F00000000FFFFFE0000000
-03FFFFE7E000000007FFFFE000000003FFFFEFC000000007FFFFE000000003FFFFEFC000
-000007FFFFE000000003FFFFFF8000000007FFFFF000000003FFFFFF8000000007FFFFF0
-00000003FFFFFF0000000007FFFFF000000003FFFFFF0000000007FFFFF000000003FFFF
-FE0000000007FFFFF000000003FFFFFE0000000007FFFFF000000003FFFFFE0000000007
-FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFFC0000000007FFFFF0000000
-03FFFFFC0000000007FFFFF000000003FFFFFC0000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-00000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFF
-F80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007
-FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0000000
-03FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000
-000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF0
-0000FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFF
-FFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFF
-FFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0FF
-FFFFFFFFFFE001FFFFFFFFFFFFC0FFFFFFFFFFFFE001FFFFFFFFFFFFC0725D77DC81>I<
-00000000001FFFF000000000000000000007FFFFFFC000000000000000007FFFFFFFFC00
-00000000000003FFFFFFFFFF800000000000000FFFFFFFFFFFE00000000000007FFFFFFF
-FFFFFC000000000001FFFFFFFFFFFFFF000000000003FFFFFC007FFFFF80000000000FFF
-FFC00007FFFFE0000000001FFFFE000000FFFFF0000000007FFFF80000003FFFFC000000
-00FFFFF00000001FFFFE00000001FFFFC000000007FFFF00000003FFFF8000000003FFFF
-80000007FFFF0000000001FFFFC000000FFFFE0000000000FFFFE000001FFFFC00000000
-007FFFF000003FFFFC00000000007FFFF800007FFFF800000000003FFFFC00007FFFF800
-000000003FFFFC0000FFFFF000000000001FFFFE0001FFFFF000000000001FFFFF0001FF
-FFE000000000000FFFFF0003FFFFE000000000000FFFFF8003FFFFE000000000000FFFFF
-8007FFFFE000000000000FFFFFC007FFFFC0000000000007FFFFC00FFFFFC00000000000
-07FFFFE00FFFFFC0000000000007FFFFE01FFFFFC0000000000007FFFFF01FFFFFC00000
-00000007FFFFF01FFFFFC0000000000007FFFFF03FFFFF80000000000003FFFFF83FFFFF
-80000000000003FFFFF83FFFFF80000000000003FFFFF83FFFFF80000000000003FFFFF8
-7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003
-FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFCFFFFFF80000000
-000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80
-000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFF
-FFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FF
-FFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF8000000000
-0003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF80000000000003FFFFFEFFFFFF8000
-0000000003FFFFFE7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFF
-FF80000000000003FFFFFC7FFFFF80000000000003FFFFFC7FFFFF80000000000003FFFF
-FC3FFFFFC0000000000007FFFFF83FFFFFC0000000000007FFFFF83FFFFFC00000000000
-07FFFFF81FFFFFC0000000000007FFFFF01FFFFFC0000000000007FFFFF01FFFFFC00000
-00000007FFFFF00FFFFFC0000000000007FFFFE00FFFFFE000000000000FFFFFE007FFFF
-E000000000000FFFFFC007FFFFE000000000000FFFFFC003FFFFF000000000001FFFFF80
-03FFFFF000000000001FFFFF8001FFFFF000000000001FFFFF0001FFFFF800000000003F
-FFFF0000FFFFF800000000003FFFFE00007FFFFC00000000007FFFFC00007FFFFE000000
-0000FFFFFC00003FFFFE0000000000FFFFF800001FFFFF0000000001FFFFF000000FFFFF
-8000000003FFFFE0000007FFFFC000000007FFFFC0000003FFFFF00000001FFFFF800000
-01FFFFF80000003FFFFF000000007FFFFE000000FFFFFC000000003FFFFFC00007FFFFF8
-000000001FFFFFFC007FFFFFF00000000007FFFFFFFFFFFFFFC00000000001FFFFFFFFFF
-FFFF0000000000007FFFFFFFFFFFFC0000000000001FFFFFFFFFFFF000000000000003FF
-FFFFFFFF80000000000000007FFFFFFFFC000000000000000007FFFFFFC0000000000000
-0000001FFFF00000000000675F7ADD74>I<0000001FF000001FFFC00000000000007FFF
-FFF00003FFFFFF0000000000FFFFFFFFF0001FFFFFFFE000000000FFFFFFFFF000FFFFFF
-FFFC00000000FFFFFFFFF003FFFFFFFFFF00000000FFFFFFFFF00FFFFFFFFFFFC0000000
-FFFFFFFFF03FFFFFFFFFFFF0000000FFFFFFFFF0FFFFFFFFFFFFFC000000FFFFFFFFF1FF
-FFC01FFFFFFE000000FFFFFFFFF7FFFC0001FFFFFF000000FFFFFFFFFFFFE000007FFFFF
-C00000003FFFFFFFFF0000003FFFFFE000000007FFFFFFFE0000000FFFFFF000000007FF
-FFFFF800000007FFFFF800000003FFFFFFE000000003FFFFFC00000003FFFFFFC0000000
-01FFFFFE00000003FFFFFF8000000000FFFFFE00000003FFFFFF00000000007FFFFF0000
-0003FFFFFE00000000007FFFFF80000003FFFFFC00000000003FFFFFC0000003FFFFF800
-000000003FFFFFC0000003FFFFF800000000001FFFFFE0000003FFFFF800000000001FFF
-FFE0000003FFFFF800000000000FFFFFF0000003FFFFF800000000000FFFFFF0000003FF
-FFF8000000000007FFFFF8000003FFFFF8000000000007FFFFF8000003FFFFF800000000
-0007FFFFFC000003FFFFF8000000000003FFFFFC000003FFFFF8000000000003FFFFFC00
-0003FFFFF8000000000003FFFFFE000003FFFFF8000000000003FFFFFE000003FFFFF800
-0000000001FFFFFE000003FFFFF8000000000001FFFFFE000003FFFFF8000000000001FF
-FFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FFFFFF000003FF
-FFF8000000000001FFFFFF000003FFFFF8000000000000FFFFFF000003FFFFF800000000
-0000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF80
-0003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF800
-0000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FF
-FFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FF
-FFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF800000000
-0000FFFFFF800003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF80
-0003FFFFF8000000000000FFFFFF800003FFFFF8000000000000FFFFFF000003FFFFF800
-0000000001FFFFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FF
-FFFF000003FFFFF8000000000001FFFFFF000003FFFFF8000000000001FFFFFE000003FF
-FFF8000000000001FFFFFE000003FFFFF8000000000003FFFFFE000003FFFFF800000000
-0003FFFFFC000003FFFFF8000000000003FFFFFC000003FFFFF8000000000003FFFFFC00
-0003FFFFF8000000000007FFFFF8000003FFFFF8000000000007FFFFF8000003FFFFF800
-0000000007FFFFF0000003FFFFF800000000000FFFFFF0000003FFFFF800000000000FFF
-FFE0000003FFFFF800000000001FFFFFE0000003FFFFF800000000001FFFFFC0000003FF
-FFF800000000003FFFFFC0000003FFFFFC00000000003FFFFF80000003FFFFFE00000000
-007FFFFF00000003FFFFFF0000000000FFFFFE00000003FFFFFF0000000000FFFFFE0000
-0003FFFFFF8000000001FFFFFC00000003FFFFFFC000000003FFFFF800000003FFFFFFE0
-00000007FFFFF000000003FFFFFFF80000000FFFFFE000000003FFFFFFFC0000003FFFFF
-C000000003FFFFFFFF0000007FFFFF0000000003FFFFFFFFC00001FFFFFE0000000003FF
-FFFBFFF00007FFFFFC0000000003FFFFF8FFFF007FFFFFF00000000003FFFFF87FFFFFFF
-FFFFC00000000003FFFFF81FFFFFFFFFFF000000000003FFFFF80FFFFFFFFFFC00000000
-0003FFFFF803FFFFFFFFF0000000000003FFFFF8007FFFFFFF80000000000003FFFFF800
-0FFFFFF800000000000003FFFFF80000FFFE0000000000000003FFFFF800000000000000
-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF
-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000
-0000000000000003FFFFF8000000000000000000000003FFFFF800000000000000000000
-0003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800
-0000000000000000000003FFFFF8000000000000000000000003FFFFF800000000000000
-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF
-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000
-0000000000000003FFFFF8000000000000000000000003FFFFF800000000000000000000
-0003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800
-0000000000000000000003FFFFF8000000000000000000000003FFFFF800000000000000
-0000000003FFFFF8000000000000000000000003FFFFF8000000000000000000000003FF
-FFF8000000000000000000000003FFFFF8000000000000000000000003FFFFF800000000
-000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000
-FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFF
-E00000000000000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000
-000000FFFFFFFFFFFFE00000000000000000FFFFFFFFFFFFE00000000000000000718579
-DC81>I<00000000007FFF000000001FE00000000000000FFFFFF00000003FE000000000
-0000FFFFFFFE0000007FE0000000000007FFFFFFFF8000007FE000000000001FFFFFFFFF
-E00000FFE00000000000FFFFFFFFFFF80001FFE00000000003FFFFFFFFFFFC0001FFE000
-00000007FFFFFFFFFFFE0003FFE0000000001FFFFFFF007FFF8007FFE0000000003FFFFF
-F0000FFFC007FFE000000000FFFFFFC00003FFE00FFFE000000001FFFFFF000000FFF01F
-FFE000000003FFFFFC0000003FF81FFFE000000007FFFFF80000001FF83FFFE00000000F
-FFFFF00000000FFC7FFFE00000001FFFFFE000000007FE7FFFE00000003FFFFFC0000000
-03FFFFFFE00000007FFFFF8000000001FFFFFFE00000007FFFFF0000000001FFFFFFE000
-0000FFFFFF0000000000FFFFFFE0000001FFFFFE00000000007FFFFFE0000001FFFFFE00
-000000007FFFFFE0000003FFFFFC00000000003FFFFFE0000003FFFFFC00000000003FFF
-FFE0000007FFFFF800000000001FFFFFE0000007FFFFF800000000001FFFFFE000000FFF
-FFF000000000000FFFFFE000000FFFFFF000000000000FFFFFE000001FFFFFF000000000
-000FFFFFE000001FFFFFE0000000000007FFFFE000001FFFFFE0000000000007FFFFE000
-003FFFFFE0000000000007FFFFE000003FFFFFE0000000000007FFFFE000003FFFFFC000
-0000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FF
-FFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFF
-FFC0000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000000000
-0007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE000
-00FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000
-0000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FF
-FFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFF
-FF80000000000007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF8000000000
-0007FFFFE00000FFFFFF80000000000007FFFFE00000FFFFFF80000000000007FFFFE000
-007FFFFF80000000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC000
-0000000007FFFFE000007FFFFFC0000000000007FFFFE000007FFFFFC0000000000007FF
-FFE000003FFFFFC0000000000007FFFFE000003FFFFFC0000000000007FFFFE000003FFF
-FFC0000000000007FFFFE000003FFFFFE0000000000007FFFFE000001FFFFFE000000000
-0007FFFFE000001FFFFFE0000000000007FFFFE000000FFFFFF0000000000007FFFFE000
-000FFFFFF0000000000007FFFFE000000FFFFFF0000000000007FFFFE0000007FFFFF000
-000000000FFFFFE0000007FFFFF800000000000FFFFFE0000003FFFFF800000000001FFF
-FFE0000003FFFFFC00000000001FFFFFE0000001FFFFFC00000000003FFFFFE0000000FF
-FFFE00000000007FFFFFE0000000FFFFFE0000000000FFFFFFE00000007FFFFF00000000
-00FFFFFFE00000003FFFFF8000000001FFFFFFE00000001FFFFF8000000003FFFFFFE000
-00000FFFFFC000000007FFFFFFE000000007FFFFE00000001FFFFFFFE000000003FFFFF0
-0000003FFFFFFFE000000001FFFFF80000007FFFFFFFE000000000FFFFFE000001FFEFFF
-FFE0000000007FFFFF000007FFCFFFFFE0000000003FFFFFC0001FFF8FFFFFE000000000
-0FFFFFFC01FFFE0FFFFFE00000000003FFFFFFFFFFFC0FFFFFE00000000000FFFFFFFFFF
-F00FFFFFE000000000003FFFFFFFFFC00FFFFFE000000000000FFFFFFFFF000FFFFFE000
-0000000001FFFFFFFC000FFFFFE00000000000003FFFFFE0000FFFFFE000000000000000
-FFFE00000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF
-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000
-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000
-000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000
-000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000
-000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF
-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000
-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000
-000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000
-000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000
-000000000FFFFFE000000000000000000000000FFFFFE000000000000000000000000FFF
-FFE000000000000000000000000FFFFFE000000000000000000000000FFFFFE000000000
-000000000000000FFFFFE000000000000000000000000FFFFFE000000000000000000003
-FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF
-800000000000000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000
-000003FFFFFFFFFFFF800000000000000003FFFFFFFFFFFF800000000000000003FFFFFF
-FFFFFF800000000000000003FFFFFFFFFFFF80718578DC7B>I<0000007FC00001FF8000
-0000FFFFFFC0001FFFF80000FFFFFFFFC0007FFFFE0000FFFFFFFFC001FFFFFF8000FFFF
-FFFFC003FFFFFFE000FFFFFFFFC007FFFFFFF000FFFFFFFFC00FFFFFFFF800FFFFFFFFC0
-1FFF07FFFC00FFFFFFFFC03FF00FFFFE00FFFFFFFFC07FC01FFFFE00FFFFFFFFC0FF803F
-FFFF00003FFFFFC0FF003FFFFF000007FFFFC1FE007FFFFF800007FFFFC3FC007FFFFF80
-0003FFFFC3F8007FFFFF800003FFFFC7F0007FFFFF800003FFFFC7E0007FFFFF800003FF
-FFCFE0007FFFFF800003FFFFCFC0007FFFFF800003FFFFDFC0007FFFFF800003FFFFDF80
-003FFFFF000003FFFFDF80003FFFFF000003FFFFFF00001FFFFE000003FFFFFF00001FFF
-FE000003FFFFFF00000FFFFC000003FFFFFE000007FFF8000003FFFFFE000003FFF00000
-03FFFFFE000000FFC0000003FFFFFC0000000000000003FFFFFC0000000000000003FFFF
-FC0000000000000003FFFFFC0000000000000003FFFFF80000000000000003FFFFF80000
-000000000003FFFFF80000000000000003FFFFF80000000000000003FFFFF80000000000
-000003FFFFF80000000000000003FFFFF00000000000000003FFFFF00000000000000003
-FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0
-0000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000
-0000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000000000
-0003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FF
-FFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000
-00000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000000000
-00000003FFFFF00000000000000003FFFFF00000000000000003FFFFF000000000000000
-03FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFF
-F00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000
-000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000
-000003FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003
-FFFFF00000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0
-0000000000000003FFFFF00000000000000003FFFFF00000000000000003FFFFF0000000
-0000000003FFFFF0000000000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000
-FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFF
-FFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFFFC00000000FFFFFFFFFFFF
-FC00000000515D79DC5F>I<0000001FFFF80000F800000003FFFFFFC001FC0000003FFF
-FFFFFC07FC000000FFFFFFFFFF1FFC000003FFFFFFFFFFFFFC00000FFFFFFFFFFFFFFC00
-003FFFF8001FFFFFFC00007FFF000000FFFFFC0000FFF80000003FFFFC0001FFE0000000
-0FFFFC0003FFC000000003FFFC0007FF8000000001FFFC000FFF0000000000FFFC000FFF
-00000000007FFC001FFE00000000003FFC001FFE00000000001FFC003FFC00000000001F
-FC003FFC00000000001FFC007FFC00000000000FFC007FFC00000000000FFC007FFC0000
-0000000FFC007FFC000000000007FC00FFFE000000000007FC00FFFE000000000007FC00
-FFFF000000000007FC00FFFF000000000007FC00FFFF800000000007FC00FFFFE0000000
-0003F800FFFFF000000000000000FFFFFC00000000000000FFFFFF00000000000000FFFF
-FFF00000000000007FFFFFFF8000000000007FFFFFFFFC00000000007FFFFFFFFFF00000
-00003FFFFFFFFFFF800000003FFFFFFFFFFFF00000001FFFFFFFFFFFFE0000001FFFFFFF
-FFFFFF8000000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFF0000007FFFFFFFFFFFFFC0000
-03FFFFFFFFFFFFFE000001FFFFFFFFFFFFFF800000FFFFFFFFFFFFFFC000007FFFFFFFFF
-FFFFE000001FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF8000003FFFFFFFFFFFFF8000000
-FFFFFFFFFFFFFC0000003FFFFFFFFFFFFE0000000FFFFFFFFFFFFE00000001FFFFFFFFFF
-FF000000001FFFFFFFFFFF00000000007FFFFFFFFF800000000003FFFFFFFF8000000000
-000FFFFFFFC0000000000000FFFFFFC00000000000003FFFFFC00000000000000FFFFFE0
-7F000000000003FFFFE0FF800000000001FFFFE0FF8000000000007FFFE0FF8000000000
-003FFFE0FFC000000000003FFFE0FFC000000000001FFFE0FFC000000000000FFFE0FFE0
-00000000000FFFE0FFE000000000000FFFE0FFE0000000000007FFE0FFF0000000000007
-FFE0FFF0000000000007FFC0FFF8000000000007FFC0FFF8000000000007FFC0FFFC0000
-00000007FFC0FFFC000000000007FF80FFFE00000000000FFF80FFFF00000000000FFF80
-FFFF00000000000FFF00FFFF80000000001FFF00FFFFC0000000001FFE00FFFFE0000000
-003FFE00FFFFF0000000007FFC00FFFFFC00000000FFF800FFFFFE00000003FFF000FFFF
-FF80000007FFE000FFFFFFF000003FFFC000FFFFFFFF0007FFFF8000FFF9FFFFFFFFFFFF
-0000FFF07FFFFFFFFFFC0000FFE01FFFFFFFFFF00000FF8007FFFFFFFFC00000FF0001FF
-FFFFFF000000FE00003FFFFFF80000007C000003FFFE000000004B5F78DD5C>I[<000000
-03FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000000
-03FE0000000000000003FE0000000000000003FE0000000000000003FE00000000000000
-07FE0000000000000007FE0000000000000007FE0000000000000007FE00000000000000
-07FE000000000000000FFE000000000000000FFE000000000000000FFE00000000000000
-0FFE000000000000001FFE000000000000001FFE000000000000001FFE00000000000000
-3FFE000000000000003FFE000000000000007FFE000000000000007FFE00000000000000
-FFFE00000000000000FFFE00000000000001FFFE00000000000001FFFE00000000000003
-FFFE00000000000007FFFE00000000000007FFFE0000000000000FFFFE0000000000001F
-FFFE0000000000003FFFFE0000000000007FFFFE000000000000FFFFFE000000000003FF
-FFFE000000000007FFFFFE00000000001FFFFFFE00000000007FFFFFFFFFFFFFF007FFFF
-FFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFF
-FFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF00000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000000000000FFFFFE000000000000FF
-FFFE000000000000FFFFFE000000000000FFFFFE000001FF0000FFFFFE000001FF0000FF
-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF
-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF
-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FF
-FFFE000001FF0000FFFFFE000001FF0000FFFFFE000001FF0000FFFFFE000003FF00007F
-FFFE000003FE00007FFFFF000003FE00007FFFFF000003FE00007FFFFF000007FE00003F
-FFFF000007FC00003FFFFF800007FC00001FFFFF80000FF800001FFFFFC0001FF800000F
-FFFFE0003FF000000FFFFFF0007FF0000007FFFFF800FFE0000003FFFFFF03FFC0000001
-FFFFFFFFFF80000000FFFFFFFFFF000000003FFFFFFFFE000000001FFFFFFFFC00000000
-07FFFFFFF80000000000FFFFFFE000000000001FFFFF80000000000000FFFC0000>72
-132 124 258 90 I<0000000FF80000000000001FF00000007FFFFFF800000000FFFFFF
-F00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFF
-FFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FF
-FFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000
-FFFFFFFFF8000001FFFFFFFFF00000FFFFFFFFF8000001FFFFFFFFF00000003FFFFFF800
-0000007FFFFFF000000007FFFFF8000000000FFFFFF000000007FFFFF8000000000FFFFF
-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF
-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000
-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000
-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800
-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF
-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF
-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000
-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000
-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800
-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF
-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF
-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000
-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000
-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800
-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF
-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF
-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000
-07FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF00000
-0003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800
-00000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFF
-F000000003FFFFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FF
-FFF80000000007FFFFF000000003FFFFF80000000007FFFFF000000003FFFFF800000000
-0FFFFFF000000003FFFFF8000000000FFFFFF000000003FFFFF8000000000FFFFFF00000
-0003FFFFF8000000000FFFFFF000000003FFFFF8000000001FFFFFF000000003FFFFF800
-0000001FFFFFF000000003FFFFF8000000003FFFFFF000000003FFFFF8000000003FFFFF
-F000000001FFFFF8000000003FFFFFF000000001FFFFF8000000007FFFFFF000000001FF
-FFF800000000FFFFFFF000000001FFFFF800000000FFFFFFF000000000FFFFF800000001
-FBFFFFF000000000FFFFFC00000003FBFFFFF0000000007FFFFC00000007F3FFFFF00000
-00007FFFFC0000000FE3FFFFF8000000003FFFFE0000001FE3FFFFF8000000003FFFFE00
-00007FC3FFFFFF000000001FFFFF800000FF83FFFFFFFFC000000FFFFFC00003FF03FFFF
-FFFFC0000007FFFFFC003FFE03FFFFFFFFC0000003FFFFFFFFFFFC03FFFFFFFFC0000000
-FFFFFFFFFFF803FFFFFFFFC00000007FFFFFFFFFE003FFFFFFFFC00000001FFFFFFFFF80
-03FFFFFFFFC000000003FFFFFFFE0003FFFFFFFFC0000000007FFFFFF80003FFFFFFFFC0
-0000000001FFFFC00003FFFF000000725E77DC81>I<FFFFFFFFFFFF00000003FFFFFFFF
-FFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF0000
-0003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFF
-FFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003FFFFFFFFFFFFFFFFFFFF00000003
-FFFFFFFF0007FFFFF800000000000FFFFE000003FFFFFC000000000000FFE0000003FFFF
-FC000000000000FFC0000001FFFFFE000000000000FF80000001FFFFFE000000000001FF
-80000001FFFFFF000000000001FF80000000FFFFFF000000000003FF00000000FFFFFF80
-0000000003FF000000007FFFFF800000000007FE000000007FFFFF800000000007FE0000
-00003FFFFFC0000000000FFC000000003FFFFFC0000000000FFC000000001FFFFFE00000
-00001FF8000000001FFFFFE0000000001FF8000000000FFFFFF0000000001FF000000000
-0FFFFFF0000000003FF0000000000FFFFFF8000000003FF00000000007FFFFF800000000
-7FE00000000007FFFFFC000000007FE00000000003FFFFFC00000000FFC00000000003FF
-FFFC00000000FFC00000000001FFFFFE00000001FF800000000001FFFFFE00000001FF80
-0000000000FFFFFF00000003FF000000000000FFFFFF00000003FF0000000000007FFFFF
-80000003FE0000000000007FFFFF80000007FE0000000000007FFFFFC0000007FE000000
-0000003FFFFFC000000FFC0000000000003FFFFFE000000FFC0000000000001FFFFFE000
-001FF80000000000001FFFFFE000001FF80000000000000FFFFFF000003FF00000000000
-000FFFFFF000003FF000000000000007FFFFF800007FE000000000000007FFFFF800007F
-E000000000000003FFFFFC00007FC000000000000003FFFFFC0000FFC000000000000003
-FFFFFE0000FFC000000000000001FFFFFE0001FF8000000000000001FFFFFF0001FF8000
-000000000000FFFFFF0003FF0000000000000000FFFFFF0003FF00000000000000007FFF
-FF8007FE00000000000000007FFFFF8007FE00000000000000003FFFFFC007FC00000000
-000000003FFFFFC00FFC00000000000000001FFFFFE00FF800000000000000001FFFFFE0
-1FF800000000000000001FFFFFF01FF800000000000000000FFFFFF03FF0000000000000
-00000FFFFFF83FF0000000000000000007FFFFF87FE0000000000000000007FFFFF87FE0
-000000000000000003FFFFFCFFC0000000000000000003FFFFFCFFC00000000000000000
-01FFFFFEFF80000000000000000001FFFFFFFF80000000000000000000FFFFFFFF000000
-00000000000000FFFFFFFF00000000000000000000FFFFFFFF000000000000000000007F
-FFFFFE000000000000000000007FFFFFFE000000000000000000003FFFFFFC0000000000
-00000000003FFFFFFC000000000000000000001FFFFFF8000000000000000000001FFFFF
-F8000000000000000000000FFFFFF0000000000000000000000FFFFFF000000000000000
-0000000FFFFFF00000000000000000000007FFFFE00000000000000000000007FFFFE000
-00000000000000000003FFFFC00000000000000000000003FFFFC0000000000000000000
-0001FFFF800000000000000000000001FFFF800000000000000000000000FFFF00000000
-0000000000000000FFFF0000000000000000000000007FFE000000000000000000000000
-7FFE0000000000000000000000007FFE0000000000000000000000003FFC000000000000
-0000000000001FF80000000000000000000000000FF0000000000000705D7BDB7B>I<FF
-FFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFF
-FFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF8
-00003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFF
-FFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFF
-FE007FFFFFFFFFF800003FFFFFFFF8FFFFFFFFFFFE007FFFFFFFFFF800003FFFFFFFF800
-0FFFFFF000000007FFFFC0000000003FFFF800000FFFFFF000000007FFFFC00000000003
-FF80000007FFFFF800000003FFFFC00000000001FF00000007FFFFF800000003FFFFE000
-00000003FF00000003FFFFF800000003FFFFE00000000003FE00000003FFFFFC00000001
-FFFFF00000000007FE00000003FFFFFC00000001FFFFF00000000007FE00000001FFFFFE
-00000000FFFFF00000000007FC00000001FFFFFE00000000FFFFF8000000000FFC000000
-00FFFFFE00000000FFFFF8000000000FF800000000FFFFFF000000007FFFFC000000001F
-F800000000FFFFFF000000007FFFFC000000001FF8000000007FFFFF800000003FFFFC00
-0000001FF0000000007FFFFF800000007FFFFE000000003FF0000000003FFFFF80000000
-7FFFFE000000003FE0000000003FFFFFC0000000FFFFFF000000007FE0000000003FFFFF
-C0000000FFFFFF000000007FE0000000001FFFFFC0000000FFFFFF000000007FC0000000
-001FFFFFE0000001FFFFFF80000000FFC0000000000FFFFFE0000001FFFFFF80000000FF
-80000000000FFFFFF0000003FFFFFF80000001FF80000000000FFFFFF0000003FFFFFFC0
-000001FF800000000007FFFFF0000003FFFFFFC0000001FF000000000007FFFFF8000007
-FFFFFFE0000003FF000000000003FFFFF8000007FFFFFFE0000003FE000000000003FFFF
-FC00000FFDFFFFE0000007FE000000000003FFFFFC00000FFDFFFFF0000007FE00000000
-0001FFFFFC00000FF8FFFFF0000007FC000000000001FFFFFE00001FF8FFFFF800000FFC
-000000000000FFFFFE00001FF8FFFFF800000FF8000000000000FFFFFF00003FF07FFFF8
-00001FF8000000000000FFFFFF00003FF07FFFFC00001FF80000000000007FFFFF00003F
-E03FFFFC00001FF00000000000007FFFFF80007FE03FFFFE00003FF00000000000003FFF
-FF80007FE03FFFFE00003FE00000000000003FFFFFC000FFC01FFFFE00007FE000000000
-00003FFFFFC000FFC01FFFFF00007FE00000000000001FFFFFC000FF800FFFFF00007FC0
-0000000000001FFFFFE001FF800FFFFF8000FFC00000000000001FFFFFE001FF800FFFFF
-8000FFC00000000000000FFFFFF001FF0007FFFF8001FF800000000000000FFFFFF003FF
-0007FFFFC001FF8000000000000007FFFFF003FE0003FFFFC001FF0000000000000007FF
-FFF807FE0003FFFFE003FF0000000000000007FFFFF807FE0003FFFFE003FF0000000000
-000003FFFFFC07FC0001FFFFE007FE0000000000000003FFFFFC0FFC0001FFFFF007FE00
-00000000000001FFFFFC0FF80000FFFFF007FC0000000000000001FFFFFE1FF80000FFFF
-F80FFC0000000000000001FFFFFE1FF80000FFFFF80FFC0000000000000000FFFFFF1FF0
-00007FFFF81FF80000000000000000FFFFFF3FF000007FFFFC1FF800000000000000007F
-FFFF3FE000003FFFFC1FF000000000000000007FFFFFFFE000003FFFFE3FF00000000000
-0000007FFFFFFFE000003FFFFE3FF000000000000000003FFFFFFFC000001FFFFE7FE000
-000000000000003FFFFFFFC000001FFFFF7FE000000000000000001FFFFFFF8000000FFF
-FF7FC000000000000000001FFFFFFF8000000FFFFFFFC000000000000000001FFFFFFF80
-00000FFFFFFFC000000000000000000FFFFFFF00000007FFFFFF8000000000000000000F
-FFFFFF00000007FFFFFF80000000000000000007FFFFFE00000003FFFFFF000000000000
-00000007FFFFFE00000003FFFFFF00000000000000000007FFFFFE00000003FFFFFF0000
-0000000000000003FFFFFC00000001FFFFFE00000000000000000003FFFFFC00000001FF
-FFFE00000000000000000001FFFFF800000000FFFFFC00000000000000000001FFFFF800
-000000FFFFFC00000000000000000001FFFFF800000000FFFFFC00000000000000000000
-FFFFF0000000007FFFF800000000000000000000FFFFF0000000007FFFF8000000000000
-000000007FFFE0000000003FFFF0000000000000000000007FFFE0000000003FFFF00000
-00000000000000007FFFE0000000003FFFF0000000000000000000003FFFC0000000001F
-FFE0000000000000000000003FFFC0000000001FFFE0000000000000000000001FFF8000
-0000000FFFC0000000000000000000001FFF80000000000FFFC000000000000000000000
-1FFF80000000000FFFC0000000000000000000000FFF000000000007FF80000000000000
-000000000FFF000000000007FF800000000000000000000007FE000000000003FF000000
-000000000000000003FC000000000001FE0000000000009D5D7BDBA8>I<7FFFFFFFFFFF
-800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFF
-FFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFF
-FFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE007FFFFFFFFFFF800001
-FFFFFFFFFE007FFFFFFFFFFF800001FFFFFFFFFE000000FFFFFF000000000FFFFFC00000
-00007FFFFF8000000001FFF000000000007FFFFFC000000001FFE000000000003FFFFFE0
-00000003FFC000000000001FFFFFF000000007FF8000000000000FFFFFF00000000FFF00
-000000000007FFFFF80000000FFE00000000000007FFFFFC0000001FFE00000000000003
-FFFFFE0000003FFC00000000000001FFFFFF0000007FF800000000000000FFFFFF000000
-FFF0000000000000007FFFFF800001FFE0000000000000007FFFFFC00003FFC000000000
-0000003FFFFFE00007FF80000000000000001FFFFFF00007FF80000000000000000FFFFF
-F8000FFF000000000000000007FFFFF8001FFE000000000000000007FFFFFC003FFC0000
-00000000000003FFFFFE007FF8000000000000000001FFFFFF00FFF00000000000000000
-00FFFFFF81FFE00000000000000000007FFFFF81FFC00000000000000000003FFFFFC3FF
-C00000000000000000003FFFFFE7FF800000000000000000001FFFFFFFFF000000000000
-000000000FFFFFFFFE0000000000000000000007FFFFFFFC0000000000000000000003FF
-FFFFF80000000000000000000003FFFFFFF00000000000000000000001FFFFFFF0000000
-0000000000000000FFFFFFE000000000000000000000007FFFFFC0000000000000000000
-00003FFFFFC000000000000000000000003FFFFFE000000000000000000000001FFFFFF0
-00000000000000000000000FFFFFF8000000000000000000000007FFFFFC000000000000
-000000000003FFFFFC000000000000000000000001FFFFFE000000000000000000000001
-FFFFFF000000000000000000000003FFFFFF800000000000000000000007FFFFFFC00000
-00000000000000000FFFFFFFC0000000000000000000001FFFFFFFE00000000000000000
-00001FFFFFFFF0000000000000000000003FFFFFFFF8000000000000000000007FFFFFFF
-FC00000000000000000000FFF3FFFFFE00000000000000000001FFE1FFFFFE0000000000
-0000000003FFC1FFFFFF00000000000000000007FF80FFFFFF80000000000000000007FF
-007FFFFFC000000000000000000FFF003FFFFFE000000000000000001FFE001FFFFFE000
-000000000000003FFC001FFFFFF000000000000000007FF8000FFFFFF800000000000000
-00FFF00007FFFFFC0000000000000001FFE00003FFFFFE0000000000000003FFC00001FF
-FFFE0000000000000003FFC00000FFFFFF0000000000000007FF800000FFFFFF80000000
-0000000FFF0000007FFFFFC00000000000001FFE0000003FFFFFE00000000000003FFC00
-00001FFFFFE00000000000007FF80000000FFFFFF0000000000000FFF00000000FFFFFF8
-000000000000FFE000000007FFFFFC000000000001FFE000000003FFFFFE000000000003
-FFC000000001FFFFFF000000000007FF8000000000FFFFFF00000000000FFF0000000000
-FFFFFF80000000001FFE00000000007FFFFFC0000000003FFE00000000003FFFFFE00000
-000FFFFFE0000000001FFFFFF00000FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF00
-00001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFF
-FFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFF
-FFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001FFFFFFFFFFFE0FFFFFFFFFF0000001F
-FFFFFFFFFFE0735C7CDB7B>I<7FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC000
-0001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF
-807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFF
-FFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FFFFFFFF807FFFFFFFFFFFC0000001FF
-FFFFFF800003FFFFFE000000000007FFFF00000001FFFFFE000000000000FFF000000001
-FFFFFE0000000000007FE000000000FFFFFF000000000000FFC000000000FFFFFF000000
-000000FFC0000000007FFFFF800000000000FF80000000007FFFFF800000000001FF8000
-0000007FFFFFC00000000001FF80000000003FFFFFC00000000003FF00000000003FFFFF
-E00000000003FF00000000001FFFFFE00000000007FE00000000001FFFFFF00000000007
-FE00000000000FFFFFF0000000000FFC00000000000FFFFFF0000000000FFC0000000000
-07FFFFF8000000001FF8000000000007FFFFF8000000001FF8000000000003FFFFFC0000
-00001FF0000000000003FFFFFC000000003FF0000000000001FFFFFE000000003FE00000
-00000001FFFFFE000000007FE0000000000001FFFFFF000000007FE0000000000000FFFF
-FF00000000FFC0000000000000FFFFFF80000000FFC00000000000007FFFFF80000001FF
-800000000000007FFFFFC0000001FF800000000000003FFFFFC0000003FF000000000000
-003FFFFFC0000003FF000000000000001FFFFFE0000007FE000000000000001FFFFFE000
-0007FE000000000000000FFFFFF0000007FC000000000000000FFFFFF000000FFC000000
-000000000FFFFFF800000FFC0000000000000007FFFFF800001FF80000000000000007FF
-FFFC00001FF80000000000000003FFFFFC00003FF00000000000000003FFFFFE00003FF0
-0000000000000001FFFFFE00007FE00000000000000001FFFFFE00007FE0000000000000
-0000FFFFFF0000FFC00000000000000000FFFFFF0000FFC000000000000000007FFFFF80
-00FF8000000000000000007FFFFF8001FF8000000000000000003FFFFFC001FF00000000
-00000000003FFFFFC003FF0000000000000000003FFFFFE003FF0000000000000000001F
-FFFFE007FE0000000000000000001FFFFFF007FE0000000000000000000FFFFFF00FFC00
-00000000000000000FFFFFF00FFC00000000000000000007FFFFF81FF800000000000000
-000007FFFFF81FF800000000000000000003FFFFFC3FF000000000000000000003FFFFFC
-3FF000000000000000000001FFFFFE3FE000000000000000000001FFFFFE7FE000000000
-000000000001FFFFFF7FE000000000000000000000FFFFFFFFC000000000000000000000
-FFFFFFFFC0000000000000000000007FFFFFFF80000000000000000000007FFFFFFF8000
-0000000000000000003FFFFFFF00000000000000000000003FFFFFFF0000000000000000
-0000001FFFFFFE00000000000000000000001FFFFFFE00000000000000000000000FFFFF
-FC00000000000000000000000FFFFFFC00000000000000000000000FFFFFFC0000000000
-00000000000007FFFFF8000000000000000000000007FFFFF80000000000000000000000
-03FFFFF0000000000000000000000003FFFFF0000000000000000000000001FFFFE00000
-00000000000000000001FFFFE0000000000000000000000000FFFFC00000000000000000
-00000000FFFFC00000000000000000000000007FFF800000000000000000000000007FFF
-800000000000000000000000003FFF000000000000000000000000003FFF000000000000
-000000000000003FFF000000000000000000000000001FFE000000000000000000000000
-001FFE000000000000000000000000000FFC000000000000000000000000000FFC000000
-000000000000000000001FF8000000000000000000000000001FF8000000000000000000
-000000003FF0000000000000000000000000003FF0000000000000000000000000003FE0
-000000000000000000000000007FE0000000000000000000000000007FE0000000000000
-00000000000000FFC000000000000000000000000000FFC0000000000000000000000000
-01FF800000000000000000FE00000001FF800000000000000003FF80000003FF00000000
-000000000FFFE0000003FF00000000000000001FFFF0000007FE00000000000000003FFF
-F8000007FE00000000000000007FFFFC00000FFC00000000000000007FFFFC00000FFC00
-000000000000007FFFFC00000FF80000000000000000FFFFFE00001FF800000000000000
-00FFFFFE00003FF00000000000000000FFFFFE00003FF00000000000000000FFFFFE0000
-7FE00000000000000000FFFFFE0000FFE00000000000000000FFFFFE0000FFC000000000
-00000000FFFFFE0001FF800000000000000000FFFFFC0003FF0000000000000000007FFF
-FC0007FF0000000000000000007FFFFC000FFE0000000000000000003FFFF8003FFC0000
-000000000000003FFFF0007FF80000000000000000001FFFE001FFF00000000000000000
-001FFE8007FFE00000000000000000000FFFC03FFFC000000000000000000007FFFFFFFF
-0000000000000000000003FFFFFFFE0000000000000000000001FFFFFFF8000000000000
-00000000007FFFFFF000000000000000000000001FFFFFC0000000000000000000000007
-FFFE000000000000000000000000007FE0000000000000000000000071857CDB7B>I<03
-FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFF
-FFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFFFFFFFFFC03FFFFFFFFFFFF
-FFFFFFF803FFFFFF8000003FFFFFF803FFFFF00000007FFFFFF007FFFF800000007FFFFF
-E007FFFE00000000FFFFFFC007FFFC00000001FFFFFFC007FFF000000003FFFFFF8007FF
-E000000003FFFFFF0007FFE000000007FFFFFE0007FFC00000000FFFFFFE0007FF800000
-001FFFFFFC0007FF800000001FFFFFF80007FF000000003FFFFFF00007FF000000007FFF
-FFF00007FE00000000FFFFFFE00007FE00000000FFFFFFC00007FE00000001FFFFFF8000
-07FC00000003FFFFFF800007FC00000003FFFFFF000007FC00000007FFFFFE000007FC00
-00000FFFFFFC00000FFC0000001FFFFFFC00000FFC0000001FFFFFF800000FF80000003F
-FFFFF000000FF80000007FFFFFE000000FF8000000FFFFFFE000000FF8000000FFFFFFC0
-00000FF8000001FFFFFF8000000FF8000003FFFFFF0000000FF8000007FFFFFF00000000
-00000007FFFFFE000000000000000FFFFFFC000000000000001FFFFFFC00000000000000
-3FFFFFF8000000000000003FFFFFF0000000000000007FFFFFE000000000000000FFFFFF
-E000000000000001FFFFFFC000000000000001FFFFFF8000000000000003FFFFFF000000
-0000000007FFFFFF000000000000000FFFFFFE000000000000000FFFFFFC000000000000
-001FFFFFF8000000000000003FFFFFF8000000000000007FFFFFF0000007FC0000007FFF
-FFE0000007FC000000FFFFFFC0000007FC000001FFFFFFC0000007FC000001FFFFFF8000
-0007FC000003FFFFFF0000000FF8000007FFFFFE0000000FF800000FFFFFFE0000000FF8
-00000FFFFFFC0000000FF800001FFFFFF80000000FF800003FFFFFF00000000FF800007F
-FFFFF00000001FF800007FFFFFE00000001FF80000FFFFFFC00000001FF80001FFFFFF80
-0000001FF80003FFFFFF800000001FF00003FFFFFF000000003FF00007FFFFFE00000000
-3FF0000FFFFFFE000000003FF0001FFFFFFC000000007FF0001FFFFFF8000000007FF000
-3FFFFFF000000000FFF0007FFFFFF000000001FFF000FFFFFFE000000001FFF000FFFFFF
-C000000003FFF001FFFFFF8000000007FFF003FFFFFF800000000FFFE007FFFFFF000000
-001FFFE007FFFFFE000000003FFFE00FFFFFFC00000000FFFFE01FFFFFFC00000003FFFF
-E03FFFFFF80000001FFFFFE03FFFFFF0000003FFFFFFE07FFFFFFFFFFFFFFFFFFFE0FFFF
-FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFF
-FFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFC07FFFFFFFFFFFFFFF
-FFFFC0565C7ADB67>I E /Ft 13 116 df<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC0
-3F801F000B0B6C8A33>46 D<000007F8000000003FFF00000000FFFF80000003FFFFE000
-000FFFFFF000001FFFFFF800003FFC0FF800007FE003FC0000FF8001FC0001FF0000FE00
-03FC00007E0003F8007E7F0007F801FFBF0007F007FFFF000FE00FFFFF800FC01FFFFF80
-1FC03FFFFF801F803FC3FF803F807F81FF803F007F00FFC03F00FE007FC07F00FC003FC0
-7E01FC003FC07E01F8001FC07E01F8001FC0FE01F8001FC0FC03F8001FC0FC03F0000FC0
-FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0FC03F0000FC0
-FC03F0000FC0FC03F0000FC0FC03F8001FC0FE01F8001F807E01F8001F807E01F8001F80
-7E01FC003F807F00FC003F003F00FE007F003F007F00FE003F807F81FE001F803FC3FC00
-1FC03FFFFC000FC01FFFF8000FE00FFFF00007F007FFE00007F801FF800003F8007E0000
-03FC00000F8001FF00001FC000FF80003FC0007FE000FFC0003FFC07FF80001FFFFFFF00
-000FFFFFFE000003FFFFF8000000FFFFF00000003FFF8000000007FC00002A3F7CBD33>
-64 D<001FFC00000000FFFF80000003FFFFE0000007FFFFF000000FFFFFFC00001FFFFF
-FE00001FF007FF00001FE001FF00001FE000FF80001FE0003F80000FC0003FC000078000
-1FC0000000001FE0000000000FE0000000000FE0000000000FE0000000000FE000000000
-0FE00000000FFFE0000001FFFFE000001FFFFFE000007FFFFFE00001FFFFFFE00007FFFF
-0FE0000FFFC00FE0001FFC000FE0003FF0000FE0007FC0000FE0007F80000FE000FF0000
-0FE000FE00000FE000FE00000FE000FE00000FE000FE00000FE000FE00000FE000FF0000
-1FE0007F00001FE0007F80007FE0003FE000FFF0003FF807FFFFF01FFFFFFFFFF80FFFFF
-FFFFF807FFFFF3FFF803FFFFC1FFF800FFFF003FF0001FF00000002D2E7BAC33>97
-D<0000FFF0000007FFFE00001FFFFF80003FFFFFC0007FFFFFE001FFFFFFF003FFC01FF0
-03FE000FF007FC000FF00FF8000FF01FF00007E01FE00003C03FC00000003F800000003F
-800000007F800000007F000000007F00000000FF00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FF0000
-00007F000000007F000000007F800000003F800001F03FC00003F81FE00003F81FF00007
-F80FF80007F007FC000FF007FF001FE003FFE07FE001FFFFFFC000FFFFFF80003FFFFF00
-001FFFFC000007FFF8000000FFC000252E79AC33>99 D<0000FF80000007FFF000001FFF
-FC00003FFFFE0000FFFFFF0001FFFFFF8003FF80FFC007FE003FE007F8000FF00FF00007
-F01FE00007F81FC00003F83FC00003FC3F800001FC7F800001FC7F000001FC7F000001FE
-7F000000FEFF000000FEFE000000FEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFF
-FFFFFFFEFFFFFFFFFCFE00000000FF000000007F000000007F000000007F000000003F80
-0000003F8000007C1FC00000FE1FE00000FE0FF00000FE0FF80001FE07FC0003FC03FF00
-0FFC01FFC03FF800FFFFFFF0007FFFFFE0003FFFFFC0000FFFFF000003FFFC0000007FE0
-00272E7BAC33>101 D<3FFC000000007FFE00000000FFFE00000000FFFE000000007FFE
-000000003FFE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE
-0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE
-0000000000FE01FF000000FE07FFC00000FE1FFFF00000FE7FFFF80000FEFFFFF80000FF
-FFFFFC0000FFFF07FE0000FFF801FE0000FFF000FE0000FFE000FF0000FFC0007F0000FF
-80007F0000FF80007F0000FF00007F0000FF00007F0000FF00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F003FFFF80FFFFC7FFFFC1FFFFEFFFFFE3FFFFFFFFF
-FE3FFFFF7FFFFC1FFFFE3FFFF80FFFFC303D7FBC33>104 D<7FF800000000FFFC000000
-00FFFC00000000FFFC00000000FFFC000000007FFC0000000000FC0000000000FC000000
-0000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC000000
-0000FC0000000000FC0000000000FC0000000000FC0000000000FC01FFFFC000FC03FFFF
-E000FC07FFFFF000FC07FFFFF000FC03FFFFE000FC01FFFFC000FC000FF00000FC001FE0
-0000FC003FC00000FC007F800000FC00FF000000FC01FE000000FC03FC000000FC07F800
-0000FC0FF0000000FC1FE0000000FC3FC0000000FC7F80000000FCFFC0000000FDFFE000
-0000FFFFE0000000FFFFF0000000FFF3F8000000FFE3FC000000FFC1FC000000FF80FE00
-0000FF007F000000FE007F000000FC003F800000FC001FC00000FC001FE00000FC000FE0
-0000FC0007F00000FC0003F80000FC0003FC0000FC0001FC0000FC0000FE007FFFF80FFF
-F0FFFFFC1FFFF8FFFFFC1FFFFCFFFFFC1FFFFCFFFFFC1FFFF87FFFF80FFFF02E3D7EBC33
->107 D<3FFFFC00007FFFFE0000FFFFFE0000FFFFFE00007FFFFE00003FFFFE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00003FFFFFFFF87FFFFFFF
-FCFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC3FFFFFFFF8273D7ABC33>I<0000FC007E00007F
-C3FF01FF8000FFEFFF87FFC000FFFFFFCFFFE000FFFFFFDFFFE000FFFFFFFFFFF0007FFF
-0FFF87F00007FE07FF03F00007FC07FE03F80007F803FC01F80007F803FC01F80007F003
-F801F80007F003F801F80007F003F801F80007F003F801F80007E003F001F80007E003F0
-01F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001
-F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F8
-0007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F800
-07E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007
-E003F001F8007FFE0FFF07FF80FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF
-1FFF8FFFC07FFE0FFF07FF80322C80AB33>I<000001FF00003FFC07FFC0007FFE1FFFF0
-00FFFE7FFFF800FFFEFFFFF8007FFFFFFFFC003FFFFF07FE0000FFF801FE0000FFF000FE
-0000FFE000FF0000FFC0007F0000FF80007F0000FF80007F0000FF00007F0000FF00007F
-0000FF00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F003FFFF80FFF
-FC7FFFFC1FFFFEFFFFFE3FFFFFFFFFFE3FFFFF7FFFFC1FFFFE3FFFF80FFFFC302C7FAB33
->I<0001FE0000000FFFC000003FFFF000007FFFF80000FFFFFC0001FFFFFE0003FF03FF
-0007FC00FF800FF8007FC00FF0003FC01FE0001FE01FC0000FE03F800007F03F800007F0
-7F800007F87F000003F87F000003F87F000003F8FE000001FCFE000001FCFE000001FCFE
-000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFE000001FCFF00
-0003FC7F000003F87F000003F87F800007F83F800007F03FC0000FF03FC0000FF01FE000
-1FE01FF0003FE00FF8007FC007FC00FF8003FF03FF0001FFFFFE0000FFFFFC00007FFFF8
-00003FFFF000000FFFC0000001FE0000262E7AAC33>I<00000003FE007FFF801FFF80FF
-FFC07FFFE0FFFFC1FFFFE0FFFFC3FFFFF0FFFFC7FFFFF07FFFCFFE0FF0001FDFF00FF000
-1FFFC007E0001FFF8003C0001FFF000000001FFE000000001FFC000000001FF800000000
-1FF8000000001FF0000000001FF0000000001FE0000000001FE0000000001FE000000000
-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000000
-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000000
-1FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000007F
-FFFFFE0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF00007FFFFFFE00002C
-2C7DAB33>114 D<001FFE0F0000FFFF8F8003FFFFFF800FFFFFFF801FFFFFFF803FFFFF
-FF803FF007FF807F8001FF807F0000FF80FE00007F80FC00007F80FC00003F80FC00003F
-80FC00003F80FE00003F807F00001F007FC00000003FF80000003FFFC000001FFFFF0000
-0FFFFFE00003FFFFF80000FFFFFC00001FFFFF000000FFFF80000007FFC00000007FC000
-00001FE07C00000FE0FE000007F0FE000003F0FE000003F0FF000003F0FF000003F0FF80
-0003F0FF800007F0FFC00007E0FFE0000FE0FFF0003FC0FFFE01FFC0FFFFFFFF80FFFFFF
-FF00FDFFFFFE00FCFFFFF800F83FFFE0007807FF0000242E79AC33>I
-E /Fu 22 122 df<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E600060006000600060
-00E000C000C000C001C0018003800300070006000E001C003800700060000B1D78891B>
-44 D<0000FF00000007FFE000001F81F800003E007C0000FC003F0001F8001F8001F000
-0F8003E00007C007C00003E007C00003E00FC00003F00F800001F01F800001F81F800001
-F83F800001FC3F800001FC3F800001FC3F000000FC7F000000FE7F000000FE7F000000FE
-7F000000FE7F000000FEFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF
-000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF00
-0000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF0000
-00FFFF000000FFFF000000FF7F000000FE7F000000FE7F000000FE7F000000FE7F000000
-FE7F800001FE3F800001FC3F800001FC3F800001FC1F800001F81F800001F80FC00003F0
-0FC00003F00FC00003F007E00007E003E00007C003F0000FC001F8001F8000FC003F0000
-3E007C00001F81F8000007FFE0000000FF000028447CC131>48 D<000030000000F00000
-01F0000003F000001FF00000FFF000FFFFF000FFE7F000FF07F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000
-07F0000007F0000007F0000007F0000007F000000FF800001FFC007FFFFFFF7FFFFFFF7F
-FFFFFF204278C131>I<0003FE0000001FFFC000007FFFF00001F80FFC0003C001FE0007
-8000FF000E00007F801C00003FC01C00001FE03800001FF03000000FF07000000FF86000
-0007F86C000007F8FF000007FCFF800007FCFFC00007FCFFC00003FCFFC00003FCFFC000
-03FCFFC00003FC7F800007FC3F000007FC00000007FC00000007F800000007F80000000F
-F80000000FF00000001FF00000001FE00000001FE00000003FC00000007F800000007F00
-000000FF00000000FE00000001FC00000003F800000007F000000007E00000000FC00000
-001F800000003F000000007C00000000F800000000F000000001E000000003C000000007
-800000000F00000C001E00000C003C00000C0038000018007000001800E000001801C000
-0018038000003807000000300E000000701FFFFFFFF01FFFFFFFF03FFFFFFFF07FFFFFFF
-F0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE026427BC131>I<06000000C007C00007C007FC00
-7F8007FFFFFF0007FFFFFE0007FFFFFC0007FFFFF80007FFFFE00007FFFF8000063FFC00
-000600000000060000000006000000000600000000060000000006000000000600000000
-060000000006000000000600000000060000000006000000000600000000060000000006
-00FF00000607FFC000061F01F000063800FC0006F0007E0007C0003F000780001F800780
-001FC00700000FC00600000FE000000007F000000007F000000007F000000007F8000000
-03F800000003F800000003FC00000003FC00000003FC00000003FC00000003FC3E000003
-FC7F000003FCFF800003FCFF800003FCFF800003FCFF800003FCFF800003F8FF000007F8
-FE000007F860000007F060000007F07000000FF03000000FE03800001FC01C00001FC01E
-00003F800F00007F00078000FE0003C001FC0001F807F000007FFFE000001FFF00000007
-F8000026447BC131>53 D<00000000C00000000000000001E00000000000000001E00000
-000000000001E00000000000000003F00000000000000003F00000000000000003F00000
-000000000007F80000000000000007F80000000000000007F8000000000000000FFC0000
-00000000000FFC000000000000000FFC0000000000000019FE0000000000000019FE0000
-000000000019FE0000000000000030FF0000000000000030FF0000000000000070FF8000
-0000000000607F80000000000000607F80000000000000E07FC0000000000000C03FC000
-0000000000C03FC0000000000001C03FE0000000000001801FE0000000000001801FE000
-0000000003001FF0000000000003000FF0000000000003000FF0000000000006000FF800
-00000000060007F80000000000060007F800000000000C0003FC00000000000C0003FC00
-000000000C0003FC0000000000180001FE0000000000180001FE0000000000180001FE00
-00000000300000FF0000000000300000FF0000000000700000FF80000000006000007F80
-000000006000007F8000000000E000007FC000000000FFFFFFFFC000000000FFFFFFFFC0
-00000001FFFFFFFFE0000000018000001FE0000000018000001FE0000000030000001FF0
-000000030000000FF0000000030000000FF0000000060000000FF80000000600000007F8
-0000000600000007F80000000C00000003FC0000000C00000003FC0000000C00000003FC
-0000001800000001FE0000001800000001FE0000001800000001FE0000003000000000FF
-0000003000000000FF0000007800000000FF800000F800000000FF800001FC00000000FF
-C0000FFF00000003FFE000FFFFE000007FFFFFC0FFFFE000007FFFFFC0FFFFE000007FFF
-FFC042477DC649>65 D<0000000FFE000060000000FFFFC000E0000003FFFFF000E00000
-0FFC01FC01E000003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8000001
-E7E0000FF0000000FFE0001FE00000007FE0003FC00000003FE0007F800000001FE000FF
-000000000FE001FE000000000FE001FC0000000007E003FC0000000007E007F800000000
-03E007F80000000003E00FF00000000001E00FF00000000001E01FE00000000000E01FE0
-0000000000E03FE00000000000E03FE00000000000E03FC00000000000607FC000000000
-00607FC00000000000607FC00000000000607FC0000000000000FF80000000000000FF80
-000000000000FF80000000000000FF80000000000000FF80000000000000FF8000000000
-0000FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF80
-000000000000FF80000000000000FF80000000000000FF800000000000007FC000000000
-00007FC00000000000007FC00000000000607FC00000000000603FC00000000000603FE0
-0000000000603FE00000000000601FE00000000000E01FF00000000000E00FF000000000
-00C00FF00000000000C007F80000000001C007F800000000018003FC00000000038001FC
-00000000038001FE00000000070000FF000000000600007F800000000E00003FC0000000
-1C00001FE00000003800000FF000000078000007F8000000F0000003FC000001E0000000
-FF000007800000003FC0001F000000000FFC00FC0000000003FFFFF00000000000FFFFC0
-00000000000FFE0000003B487BC546>67 D<FFFFFFC00001FFFFC0FFFFFFC00001FFFFC0
-FFFFFFC00001FFFFC001FFE00000007FFC0000FFC00000003FE000007F800000003F8000
-007F800000003E0000007F800000003C0000007F80000000380000007F80000000700000
-007F80000000E00000007F80000001C00000007F80000003800000007F80000007000000
-007F8000001E000000007F80000038000000007F80000070000000007F800000E0000000
-007F800001C0000000007F80000380000000007F80000700000000007F80000E00000000
-007F80001C00000000007F80003800000000007F80007000000000007F8000E000000000
-007F8001C000000000007F8003E000000000007F8007F000000000007F800FF000000000
-007F801FF800000000007F803FFC00000000007F8077FC00000000007F80E3FE00000000
-007F81C1FF00000000007F8381FF00000000007F8700FF80000000007F8E007FC0000000
-007F9C007FC0000000007FB8003FE0000000007FF0001FF0000000007FC0001FF0000000
-007F80000FF8000000007F800007FC000000007F800007FC000000007F800003FE000000
-007F800001FF000000007F800001FF000000007F800000FF800000007F8000007FC00000
-007F8000007FC00000007F8000003FE00000007F8000001FF00000007F8000001FF00000
-007F8000000FF80000007F80000007FC0000007F80000007FC0000007F80000003FE0000
-007F80000001FF0000007F80000001FF0000007F80000000FF8000007F80000000FFC000
-007F80000000FFE00000FFC0000000FFF00001FFE0000001FFFC00FFFFFFC0001FFFFFE0
-FFFFFFC0001FFFFFE0FFFFFFC0001FFFFFE043447CC34C>75 D<FFFF800000000007FFFC
-FFFFC0000000000FFFFCFFFFC0000000000FFFFC01FFC0000000000FFE00006FE0000000
-001BF800006FE0000000001BF800006FE0000000001BF8000067F00000000033F8000067
-F00000000033F8000063F80000000063F8000063F80000000063F8000063F80000000063
-F8000061FC00000000C3F8000061FC00000000C3F8000061FC00000000C3F8000060FE00
-00000183F8000060FE0000000183F80000607F0000000303F80000607F0000000303F800
-00607F0000000303F80000603F8000000603F80000603F8000000603F80000603F800000
-0603F80000601FC000000C03F80000601FC000000C03F80000600FE000001803F8000060
-0FE000001803F80000600FE000001803F800006007F000003003F800006007F000003003
-F800006007F000003003F800006003F800006003F800006003F800006003F800006001FC
-0000C003F800006001FC0000C003F800006001FC0000C003F800006000FE00018003F800
-006000FE00018003F800006000FE00018003F8000060007F00030003F8000060007F0003
-0003F8000060003F80060003F8000060003F80060003F8000060003F80060003F8000060
-001FC00C0003F8000060001FC00C0003F8000060001FC00C0003F8000060000FE0180003
-F8000060000FE0180003F80000600007F0300003F80000600007F0300003F80000600007
-F0300003F80000600003F8600003F80000600003F8600003F80000600003F8600003F800
-00600001FCC00003F80000600001FCC00003F80000600000FF800003F80000600000FF80
-0003F80000600000FF800003F800006000007F000003F80000F000007F000003F80000F0
-00007F000003F80001F800003E000003F8000FFF00003E00000FFE00FFFFF0001C0007FF
-FFFCFFFFF0001C0007FFFFFCFFFFF0001C0007FFFFFC4E447BC359>77
-D<0001FF000300000FFFE00700003FFFF8070000FE00FE0F0001F8001F0F0007E000079F
-0007C00003DF000F800001FF001F000000FF003F0000007F003E0000003F007E0000003F
-007E0000001F007C0000001F00FC0000000F00FC0000000F00FC0000000700FC00000007
-00FC0000000700FE0000000700FE0000000300FE0000000300FF0000000300FF00000003
-007F80000000007FC0000000007FE0000000003FF8000000003FFE000000001FFFE00000
-000FFFFE00000007FFFFE0000003FFFFFC000001FFFFFF000000FFFFFFC000003FFFFFF0
-00000FFFFFF8000001FFFFFC0000001FFFFE00000001FFFE000000001FFF0000000003FF
-8000000001FF8000000000FFC0000000007FC0000000003FC0000000001FC0000000001F
-E0C00000000FE0C00000000FE0C00000000FE0C000000007E0C000000007E0C000000007
-E0E000000007E0E000000007E0E000000007E0F000000007C0F00000000FC0F80000000F
-C0F80000000F80FC0000001F80FE0000001F00FF0000003F00FF8000007E00FBC00000FC
-00F9F00001F800F07C0003F000F03FC00FE000E00FFFFF8000E001FFFE0000C0003FF000
-002B487BC536>83 D<0007FC000000003FFF80000000F80FE0000003C003F00000070001
-F800000E0000FC00000FC0007E00001FE0007F00001FF0003F80001FF0003F80001FF000
-3F80001FF0001FC0001FF0001FC0000FE0001FC0000380001FC0000000001FC000000000
-1FC0000000001FC0000000001FC00000000FFFC0000001FFFFC000000FFE1FC000003FC0
-1FC00000FF001FC00003FC001FC00007F8001FC0000FF0001FC0001FE0001FC0003FC000
-1FC0007FC0001FC0007F80001FC0007F80001FC060FF00001FC060FF00001FC060FF0000
-1FC060FF00003FC060FF00003FC060FF00003FC060FF80007FC0607F8000EFC0607FC000
-C7E0C03FC001C7E0C01FE00783F1C007F81E03FF8001FFFC01FF00001FE0007C002B2E7C
-AC31>97 D<0001FE00000007FFC000001F03F000007E00FC0000FC007E0001F8003F0003
-F0003F0007E0001F800FE0001FC00FC0000FC01FC0000FC03F80000FE03F800007E03F80
-0007E07F800007F07F000007F07F000007F0FF000007F0FF000007F0FF000007F0FFFFFF
-FFF0FFFFFFFFF0FF00000000FF00000000FF00000000FF00000000FF00000000FF000000
-007F000000007F000000007F800000007F800000003F800000003F800000301FC0000030
-1FC00000700FC00000600FE00000E007F00000C003F00001C001F800038000FC00070000
-3E001E00001F80F8000003FFE0000000FF0000242E7DAC2B>101
-D<000000000F800001FC007FE0000FFF81F0F0003F07E381F000FC01FF03F001F800FE01
-F003F0007E01E007F0007F000007E0003F00000FE0003F80000FC0001F80001FC0001FC0
-001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0
-001FC0001FC0001FC0001FC0000FC0001F80000FE0003F800007E0003F000007F0007F00
-0003F0007E000001F800FC000001FC01F8000003BF07E00000030FFF8000000701FC0000
-000700000000000700000000000F00000000000F00000000000F00000000000F80000000
-0007C00000000007E00000000007FFFFF8000003FFFFFF000003FFFFFFE00001FFFFFFF8
-00007FFFFFFC0001FFFFFFFE0007C0000FFF000F800000FF003F0000003F803E0000001F
-807C0000000FC07C0000000FC0F800000007C0F800000007C0F800000007C0F800000007
-C0F800000007C0FC0000000FC07C0000000F807E0000001F803E0000001F001F0000003E
-000F8000007C0007E00001F80001F80007E000007F003F8000001FFFFE00000001FFE000
-002C427DAC31>103 D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC
-0000000003FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
-0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
-0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC
-0000000001FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07F00001FC
-3801F80001FC7001FC0001FCE000FC0001FDC000FE0001FD8000FE0001FF80007F0001FF
-00007F0001FF00007F0001FE00007F0001FE00007F0001FE00007F0001FC00007F0001FC
-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
-00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC
-00007F0003FE0000FF80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F457DC436>I<01
-FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFFF8FFFFF815457DC41C>108
-D<01FC01FE0000FFFC07FFC000FFFC1E07F000FFFC3801F80007FC7001FC0003FCE000FC
-0001FDC000FE0001FD8000FE0001FF80007F0001FF00007F0001FF00007F0001FE00007F
-0001FE00007F0001FE00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0003FE0000FF80FFFFF83FFF
-FEFFFFF83FFFFEFFFFF83FFFFE2F2C7DAB36>110 D<00007F8000000003FFF00000000F
-C0FC0000003E001F0000007C000F800000F80007C00001F00003E00003E00001F00007C0
-0000F8000FC00000FC000FC00000FC001F8000007E003F8000007F003F8000007F003F00
-00003F007F0000003F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF00
-00003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF00
-00003FC0FF0000003FC0FF0000003FC07F0000003F807F0000003F807F8000007F803F80
-00007F003F8000007F001F8000007E001FC00000FE000FC00000FC000FE00001FC0007E0
-0001F80003F00003F00001F80007E00000FC000FC000003E001F0000001FC0FE00000007
-FFF8000000007F8000002A2E7DAC31>I<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0
-FF03F9C0FF01F980FF01FB80FF01FB007E01FB003C01FF000001FE000001FE000001FE00
-0001FE000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000003FF00
-00FFFFFE00FFFFFE00FFFFFE00202C7DAB26>114 D<003FE01801FFFC3807E01F780F00
-03F81E0001F83C0000F87C00007878000078F8000038F8000038F8000018F8000018FC00
-0018FC000018FE000018FF8000007FC000007FFC00003FFFE0001FFFFC000FFFFF0007FF
-FFC003FFFFE000FFFFF0001FFFF80000FFF800000FFC000003FCC00001FEC00000FEC000
-007EE000007EE000003EE000003EF000003EF000003EF000003EF800003CFC00007CFC00
-0078FE0000F8FF0001F0F38003E0F1F00F80E07FFE00C00FF0001F2E7DAC26>I<000600
-0000060000000600000006000000060000000E0000000E0000000E0000000E0000001E00
-00001E0000001E0000003E0000007E0000007E000000FE000001FE000007FE00001FFFFF
-F0FFFFFFF0FFFFFFF000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000C00FE000C00FE00
-0C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C007E001C007F00
-18007F0018003F0038001F8030001FC0700007E0E00001FFC000007F001E3E7EBC26>I<
-01FC00007F00FFFC003FFF00FFFC003FFF00FFFC003FFF0007FC0001FF0003FC0000FF00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC0000FF0001FC0000FF0001FC0000FF0001FC0001FF00
-01FC0001FF0000FC0001FF0000FE0003FF00007E00077F80007F000E7FC0003F001C7FFE
-000FC0787FFE0003FFF07FFE00007F807F002F2D7DAB36>I<FFFFF001FFFCFFFFF001FF
-FCFFFFF001FFFC07FF00007FE003FE00001F8001FE00001F0001FE00000E0000FE00000C
-0000FF00001C00007F00001800007F00001800007F80003800003F80003000003F800030
-00001FC0006000001FC0006000001FE000E000000FE000C000000FE000C0000007F00180
-000007F00180000007F80380000003F80300000003F80300000001FC0600000001FC0600
-000001FE0E00000000FE0C00000000FE0C000000007F18000000007F18000000007FB800
-0000003FB0000000003FB0000000001FE0000000001FE0000000001FE0000000000FC000
-0000000FC000000000078000000000078000000000078000000000030000000000030000
-0000000600000000000600000000000600000000000C00000000000C0000000000180000
-000000180000003C00180000007E0030000000FF0030000000FF0060000000FF00600000
-00FF00C0000000FE01C00000007C03800000007007000000003C1E000000000FFC000000
-0003F0000000002E3F7EAA33>121 D E /Fv 26 122 df<000000003FF0000000000000
-03FFFE0000000000001FFFFF8000000000007FC01FC00000000001FE0003E00000000007
-F80000F0000000000FF0000078000000001FE000003C000000003FC00001FC000000007F
-800007FE00000000FF000007FE00000001FE00000FFE00000003FE00000FFE00000003FC
-00000FFE00000007FC00000FFE00000007F800000FFE00000007F8000007FC0000000FF8
-000003F80000000FF0000000E00000000FF0000000000000000FF0000000000000000FF0
-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0
-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0
-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0
-000000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF0
-000000000000000FF0000003FE0000FFFFFFFFFFFFFE0000FFFFFFFFFFFFFE0000FFFFFF
-FFFFFFFE0000FFFFFFFFFFFFFE0000000FF000000FFE0000000FF0000003FE0000000FF0
-000003FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0000001FE0000000FF0
-000001FE0000000FF0000001FE0000001FF8000003FF0000003FFC000007FF80003FFFFF
-FC07FFFFFF803FFFFFFC07FFFFFF803FFFFFFC07FFFFFF803FFFFFFC07FFFFFF8041657E
-E448>12 D<0F003FC07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F0000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000000F003F
-C07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F000C3E74BD24>58
-D<00000000000F00000000000000000000000F00000000000000000000000F0000000000
-0000000000001F80000000000000000000001F80000000000000000000003FC000000000
-0000000000003FC0000000000000000000003FC0000000000000000000007FE000000000
-0000000000007FE0000000000000000000007FE000000000000000000000FFF000000000
-000000000000FFF000000000000000000000FFF000000000000000000001FFF800000000
-000000000001DFF800000000000000000001DFF8000000000000000000039FFC00000000
-0000000000038FFC000000000000000000038FFC000000000000000000070FFE00000000
-00000000000707FE0000000000000000000F07FF0000000000000000000E03FF00000000
-00000000000E03FF0000000000000000001E03FF8000000000000000001C01FF80000000
-00000000001C01FF8000000000000000003C01FFC000000000000000003800FFC0000000
-00000000003800FFC000000000000000007000FFE0000000000000000070007FE0000000
-000000000070007FE00000000000000000E0007FF00000000000000000E0003FF0000000
-0000000000E0003FF00000000000000001C0003FF80000000000000001C0001FF8000000
-0000000003C0001FFC000000000000000380000FFC000000000000000380000FFC000000
-000000000780000FFE0000000000000007000007FE0000000000000007000007FE000000
-000000000F000007FF000000000000000E000003FF000000000000000E000003FF000000
-000000001C000003FF800000000000001C000001FF800000000000001C000001FF800000
-0000000038000001FFC000000000000038000000FFC000000000000038000000FFC00000
-0000000070000000FFE0000000000000700000007FE0000000000000F00000007FF00000
-00000000E00000003FF0000000000000E00000003FF0000000000001E00000003FF80000
-00000001C00000001FF8000000000001C00000001FF8000000000003C00000001FFC0000
-00000003FFFFFFFFFFFC000000000003FFFFFFFFFFFC000000000007FFFFFFFFFFFE0000
-00000007FFFFFFFFFFFE0000000000070000000007FE00000000000E0000000007FF0000
-0000000E0000000003FF00000000000E0000000003FF00000000001C0000000003FF8000
-0000001C0000000001FF80000000003C0000000001FFC000000000380000000000FFC000
-000000380000000000FFC000000000780000000000FFE0000000007000000000007FE000
-0000007000000000007FE000000000F000000000007FF000000000E000000000003FF000
-000000E000000000003FF000000001C000000000003FF800000001C000000000001FF800
-000001C000000000001FF8000000038000000000001FFC000000038000000000000FFC00
-0000038000000000000FFC000000070000000000000FFE0000000700000000000007FE00
-00000F00000000000007FF0000000F00000000000003FF0000001F00000000000003FF00
-00003F80000000000003FF8000007FC0000000000003FF800001FFE0000000000007FFC0
-000FFFF800000000001FFFF000FFFFFF0000000007FFFFFFF0FFFFFF0000000007FFFFFF
-F0FFFFFF0000000007FFFFFFF0FFFFFF0000000007FFFFFFF05C657DE463>65
-D<FFFFFFFFFFFFF000000000FFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFE0000000FFFF
-FFFFFFFFFFF800000000FFFC0000007FFE000000003FF80000000FFF800000001FF80000
-0001FFC00000001FF8000000007FF00000001FF8000000001FF80000001FF8000000000F
-FC0000001FF80000000003FE0000001FF80000000001FF0000001FF80000000000FF8000
-001FF800000000007FC000001FF800000000003FE000001FF800000000001FF000001FF8
-00000000000FF000001FF800000000000FF800001FF8000000000007FC00001FF8000000
-000003FC00001FF8000000000003FE00001FF8000000000001FF00001FF8000000000001
-FF00001FF8000000000000FF80001FF8000000000000FF80001FF80000000000007FC000
-1FF80000000000007FC0001FF80000000000007FE0001FF80000000000003FE0001FF800
-00000000003FE0001FF80000000000003FF0001FF80000000000003FF0001FF800000000
-00001FF0001FF80000000000001FF8001FF80000000000001FF8001FF80000000000001F
-F8001FF80000000000001FFC001FF80000000000001FFC001FF80000000000000FFC001F
-F80000000000000FFC001FF80000000000000FFC001FF80000000000000FFC001FF80000
-000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF80000000000
-000FFE001FF80000000000000FFE001FF80000000000000FFE001FF80000000000000FFE
-001FF80000000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF8
-0000000000000FFE001FF80000000000000FFE001FF80000000000000FFE001FF8000000
-0000000FFE001FF80000000000000FFE001FF80000000000000FFC001FF8000000000000
-0FFC001FF80000000000000FFC001FF80000000000000FFC001FF80000000000000FFC00
-1FF80000000000001FFC001FF80000000000001FF8001FF80000000000001FF8001FF800
-00000000001FF8001FF80000000000001FF8001FF80000000000003FF0001FF800000000
-00003FF0001FF80000000000003FE0001FF80000000000003FE0001FF80000000000007F
-E0001FF80000000000007FC0001FF8000000000000FFC0001FF8000000000000FF80001F
-F8000000000000FF80001FF8000000000001FF00001FF8000000000001FF00001FF80000
-00000003FE00001FF8000000000007FC00001FF8000000000007FC00001FF80000000000
-0FF800001FF800000000001FF000001FF800000000003FE000001FF800000000007FC000
-001FF80000000000FFC000001FF80000000001FF8000001FF80000000003FF0000001FF8
-0000000007FC0000001FF8000000001FF80000001FF8000000007FF00000001FF8000000
-01FFC00000003FF800000007FF80000000FFFC0000007FFE000000FFFFFFFFFFFFFFF800
-0000FFFFFFFFFFFFFFE0000000FFFFFFFFFFFFFF00000000FFFFFFFFFFFFF00000000057
-6279E165>68 D<FFFFFFFF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF00000F
-FFFFFFF0FFFFFFFF00000FFFFFFFF000FFFF000000000FFFF000003FFC0000000003FFC0
-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F
-F80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000
-000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001
-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000
-001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8
-0000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8000000
-0001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF
-8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF800000
-1FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800
-00000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800000000
-01FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF80
-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F
-FFFFFFFFFFFFFF8000001FFFFFFFFFFFFFFF8000001FFFFFFFFFFFFFFF8000001FFFFFFF
-FFFFFFFF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001
-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000
-001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8
-0000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF8000000
-0001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF
-8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF800000
-1FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800
-00000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF800000000
-01FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF80
-00001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001F
-F80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000
-000001FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001
-FF8000001FF80000000001FF8000001FF80000000001FF8000001FF80000000001FF8000
-001FF80000000001FF8000003FFC0000000003FFC00000FFFF000000000FFFF000FFFFFF
-FF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF00000FFFFFFFF0FFFFFFFF0000
-0FFFFFFFF0546279E163>72 D<FFFFFFFFE000000000FFFFFFFFE000000000FFFFFFFFE0
-00000000FFFFFFFFE00000000000FFFF800000000000003FFC000000000000001FFC0000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF8000000000000001FF80000
-00000000001FF8000000000000001FF8000000000000001FF800000000001C001FF80000
-0000001C001FF800000000001C001FF800000000001C001FF800000000001C001FF80000
-0000001C001FF800000000003C001FF8000000000038001FF8000000000038001FF80000
-00000038001FF8000000000038001FF8000000000038001FF8000000000038001FF80000
-00000078001FF8000000000078001FF8000000000078001FF8000000000078001FF80000
-000000F8001FF80000000000F8001FF80000000000F0001FF80000000001F0001FF80000
-000001F0001FF80000000003F0001FF80000000007F0001FF80000000007F0001FF80000
-00000FF0001FF8000000001FF0001FF8000000003FF0001FF8000000007FF0001FF80000
-0001FFF0001FF800000007FFF0003FF80000003FFFE000FFFC000003FFFFE0FFFFFFFFFF
-FFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0466279E153
->76 D<000007FF0000030000003FFFF00007000001FFFFFC0007000007FFFFFF000F0000
-0FFC00FFC00F00003FE0000FF01F00007F800003F81F0000FE000000FC3F0001FC000000
-7E3F0003F80000001F7F0007F00000000FFF000FE000000007FF000FC000000007FF001F
-C000000003FF001F8000000001FF003F8000000000FF003F0000000000FF007F00000000
-007F007F00000000007F007E00000000003F007E00000000003F00FE00000000003F00FE
-00000000001F00FE00000000001F00FE00000000001F00FE00000000000F00FE00000000
-000F00FF00000000000F00FF00000000000F00FF00000000000F00FF80000000000700FF
-800000000007007FC00000000007007FC00000000007007FE00000000000003FF0000000
-0000003FF80000000000003FFC0000000000001FFE0000000000001FFF8000000000000F
-FFE0000000000007FFFC000000000007FFFFC00000000003FFFFF80000000001FFFFFF80
-00000000FFFFFFF8000000007FFFFFFF800000001FFFFFFFE00000000FFFFFFFF8000000
-03FFFFFFFE00000000FFFFFFFF800000001FFFFFFFC000000001FFFFFFE0000000003FFF
-FFF00000000003FFFFF800000000003FFFFC000000000003FFFE0000000000007FFE0000
-000000001FFF0000000000000FFF80000000000003FF80000000000001FFC00000000000
-00FFC0000000000000FFC00000000000007FE00000000000003FE00000000000003FE000
-00000000001FE0E000000000001FF0E000000000000FF0E000000000000FF0E000000000
-000FF0E000000000000FF0E0000000000007F0E0000000000007F0F0000000000007F0F0
-000000000007F0F0000000000007F0F0000000000007F0F8000000000007F0F800000000
-0007E0F800000000000FE0FC00000000000FE0FC00000000000FC0FE00000000000FC0FF
-00000000001FC0FF00000000001F80FF80000000003F80FFC0000000003F00FFE0000000
-007F00FFF000000000FE00FEF800000000FC00FEFC00000001F800FC7F00000003F800FC
-1F8000000FF000F80FE000001FE000F807FC00007F8000F001FFE003FF0000F0007FFFFF
-FC0000E0001FFFFFF00000E00003FFFFC00000C000001FFE0000003C667AE349>83
-D<3FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFFFFFFFFFFFFFFFFFFF83FFF
-FFFFFFFFFFFFFFFFF83FFFC00003FFC00003FFF83FFC000001FF8000007FF83FF0000001
-FF8000000FF83FC0000001FF80000007F87F80000001FF80000003FC7F00000001FF8000
-0001FC7E00000001FF80000000FC7C00000001FF800000007C7C00000001FF800000007C
-7C00000001FF800000007C7800000001FF800000003C7800000001FF800000003C780000
-0001FF800000003C7800000001FF800000003C7000000001FF800000001C7000000001FF
-800000001C7000000001FF800000001C7000000001FF800000001C7000000001FF800000
-001C7000000001FF800000001CF000000001FF800000001EE000000001FF800000000EE0
-00000001FF800000000EE000000001FF800000000EE000000001FF800000000EE0000000
-01FF800000000EE000000001FF800000000EE000000001FF800000000E0000000001FF80
-000000000000000001FF80000000000000000001FF80000000000000000001FF80000000
-000000000001FF80000000000000000001FF80000000000000000001FF80000000000000
-000001FF80000000000000000001FF80000000000000000001FF80000000000000000001
-FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000
-0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000
-0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000
-0001FF80000000000000000001FF80000000000000000001FF80000000000000000001FF
-80000000000000000001FF80000000000000000001FF80000000000000000001FF800000
-00000000000001FF80000000000000000001FF80000000000000000001FF800000000000
-00000001FF80000000000000000001FF80000000000000000001FF800000000000000000
-01FF80000000000000000001FF80000000000000000001FF80000000000000000001FF80
-000000000000000001FF80000000000000000001FF80000000000000000001FF80000000
-000000000001FF80000000000000000001FF80000000000000000001FF80000000000000
-000001FF80000000000000000001FF80000000000000000001FF80000000000000000001
-FF80000000000000000001FF80000000000000000001FF80000000000000000001FF8000
-0000000000000001FF80000000000000000001FF80000000000000000001FF8000000000
-0000000001FF80000000000000000001FF80000000000000000001FF8000000000000000
-0001FF80000000000000000001FF80000000000000000001FF80000000000000000003FF
-C0000000000000000003FFC000000000000000001FFFF800000000000001FFFFFFFFFF80
-0000000001FFFFFFFFFF800000000001FFFFFFFFFF800000000001FFFFFFFFFF80000057
-627CE160>I<FFFFFFFC00000000007FFFFFFFFFFFFC00000000007FFFFFFFFFFFFC0000
-0000007FFFFFFFFFFFFC00000000007FFFFF00FFFF8000000000000FFFF0003FFE000000
-00000003FF80003FFC00000000000001FE00001FFC00000000000001FC00001FFC000000
-00000000F800000FFC00000000000000F800000FFE00000000000000F0000007FE000000
-00000000E0000007FF00000000000000E0000003FF00000000000001C0000003FF000000
-00000001C0000003FF80000000000001C0000001FF8000000000000380000001FF800000
-0000000380000001FFC000000000000780000000FFC000000000000700000000FFE00000
-00000007000000007FE000000000000E000000007FE000000000000E000000007FF00000
-0000001E000000003FF000000000001C000000003FF800000000001C000000003FF80000
-0000003C000000001FF8000000000038000000001FFC000000000038000000000FFC0000
-00000070000000000FFC000000000070000000000FFE0000000000F00000000007FE0000
-000000E00000000007FF0000000000E00000000007FF0000000001E00000000003FF0000
-000001C00000000003FF8000000001C00000000001FF8000000003800000000001FF8000
-000003800000000001FFC000000007800000000000FFC000000007000000000000FFE000
-0000070000000000007FE00000000E0000000000007FE00000000E0000000000007FF000
-00000E0000000000003FF00000001C0000000000003FF80000001C0000000000003FF800
-00003C0000000000001FF8000000380000000000001FFC000000380000000000000FFC00
-0000700000000000000FFC000000700000000000000FFE000000F000000000000007FE00
-0000E000000000000007FF000000E000000000000007FF000001E000000000000003FF00
-0001C000000000000003FF800001C000000000000001FF8000038000000000000001FF80
-00038000000000000001FFC000078000000000000000FFC000070000000000000000FFE0
-000700000000000000007FE0000E00000000000000007FE0000E00000000000000007FF0
-000E00000000000000003FF0001C00000000000000003FF0001C00000000000000003FF8
-003C00000000000000001FF8003800000000000000001FFC003800000000000000000FFC
-007000000000000000000FFC007000000000000000000FFE00F0000000000000000007FE
-00E0000000000000000007FF00E0000000000000000007FF01E0000000000000000003FF
-01C0000000000000000003FF81C0000000000000000001FF8380000000000000000001FF
-8380000000000000000001FFC780000000000000000000FFC700000000000000000000FF
-E7000000000000000000007FEE000000000000000000007FEE000000000000000000007F
-FE000000000000000000003FFC000000000000000000003FFC000000000000000000003F
-FC000000000000000000001FF8000000000000000000001FF8000000000000000000000F
-F0000000000000000000000FF0000000000000000000000FF00000000000000000000007
-E00000000000000000000007E00000000000000000000007E00000000000000000000003
-C00000000000000000000003C0000000000060647FE163>86 D<00003FF0000000000003
-FFFE00000000000FFFFF80000000003FC03FE0000000007E0007F800000000F80003FC00
-000001E00001FE00000003C00000FF000000078000007F8000000F0000003FC000000F80
-00003FC000000FF000001FE000001FF800001FE000001FFC00000FF000001FFC00000FF0
-00001FFC00000FF000001FFC000007F800001FFC000007F800001FFC000007F800000FF8
-000007F8000003E0000007F800000000000007F800000000000007F800000000000007F8
-00000000000007F800000000000007F800000000000007F80000000000007FF800000000
-007FFFF8000000000FFFFFF8000000007FF807F800000001FF8007F800000007FC0007F8
-0000001FF00007F80000007FC00007F8000000FF800007F8000003FE000007F8000007FC
-000007F800000FFC000007F800000FF8000007F800001FF0000007F800003FE0000007F8
-00003FE0000007F800007FC0000007F800E07FC0000007F800E07FC0000007F800E0FFC0
-000007F800E0FF80000007F800E0FF80000007F800E0FF8000000FF800E0FF8000000FF8
-00E0FF8000000FF800E0FF8000001FF800E0FFC000001BF800E07FC000003BF800E07FC0
-000073F800E07FE0000071FC01C03FF00000E1FC01C01FF00001C1FC01C00FFC000780FE
-038007FE000F00FF070001FF807E007FFF00007FFFF8003FFE00001FFFE0001FF8000001
-FF000007E0003B417ABF42>97 D<000001FF80000000000FFFF8000000003FFFFE000000
-00FF007F80000003FC0007E0000007F00001F000001FE000007800003FC000003C00007F
-8000001E0000FF0000000F0001FE0000001F0001FC000000FF0003FC000001FF8007F800
-0003FF8007F8000003FF800FF0000003FF800FF0000003FF801FE0000003FF801FE00000
-03FF803FE0000001FF003FC00000007C003FC000000000007FC000000000007FC0000000
-00007FC000000000007F800000000000FF800000000000FF800000000000FF8000000000
-00FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000
-FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000007F
-8000000000007FC000000000007FC000000000007FC000000000007FC000000000003FC0
-00000000003FE000000000003FE000000000001FE000000001C01FF000000001C00FF000
-000003C00FF8000000038007F8000000038003FC000000078003FE000000070001FE0000
-000F0000FF0000001E00007F8000003C00003FC000007800001FE00000F000000FF80001
-E0000003FC0007C0000000FF803F800000003FFFFE000000000FFFF80000000001FF8000
-0032417CBF3A>99 D<0000000000001E000000000000003FFE00000000000007FFFE0000
-0000000007FFFE00000000000007FFFE00000000000007FFFE000000000000000FFE0000
-000000000003FE0000000000000003FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000000001FE0000000000000001FE0000
-000000000001FE0000000000000001FE0000000000FF8001FE000000000FFFF801FE0000
-00003FFFFE01FE00000000FF803F81FE00000003FC0007C1FE00000007F80001E1FE0000
-001FE00000F9FE0000003FC000007DFE0000007F8000003DFE000000FF0000001FFE0000
-01FE0000000FFE000001FC00000007FE000003FC00000007FE000007F800000003FE0000
-07F000000001FE00000FF000000001FE00001FF000000001FE00001FE000000001FE0000
-1FE000000001FE00003FE000000001FE00003FC000000001FE00007FC000000001FE0000
-7FC000000001FE00007FC000000001FE00007FC000000001FE00007F8000000001FE0000
-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000
-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000
-FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000FF8000000001FE0000
-FF8000000001FE00007F8000000001FE00007FC000000001FE00007FC000000001FE0000
-7FC000000001FE00003FC000000001FE00003FC000000001FE00003FE000000001FE0000
-1FE000000001FE00001FE000000001FE00000FF000000003FE00000FF000000003FE0000
-07F800000007FE000003F800000007FE000003FC0000000FFE000001FE0000001FFE0000
-00FE0000003DFE0000007F0000003DFE0000003F800000F9FF0000001FC00001F1FF0000
-000FF00003C1FFC0000007F8000F81FFFF800001FF007F01FFFF8000007FFFFC01FFFF80
-00001FFFE001FFFF80000001FF0001FF000041657CE349>I<000003FE00000000001FFF
-E000000000FFFFF800000001FE03FE00000007F0007F8000000FE0003FC000003FC0001F
-E000007F00000FF00000FF000007F80000FE000003F80001FC000003FC0003F8000001FC
-0007F8000001FE0007F0000000FE000FF0000000FF000FF00000007F001FE00000007F00
-1FE00000007F803FE00000007F803FC00000003F803FC00000003F807FC00000003FC07F
-C00000003FC07FC00000003FC07F800000003FC07F800000003FC0FF800000003FC0FFFF
-FFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FF800000000000FF800000000000FF8000
-00000000FF800000000000FF800000000000FF800000000000FF800000000000FF800000
-000000FF8000000000007F8000000000007FC000000000007FC000000000007FC0000000
-00003FC000000000003FC000000000003FE000000000001FE000000000001FE000000001
-C00FF000000001C00FF000000003C007F8000000038007F8000000038003FC0000000780
-01FC0000000F0001FE0000000E0000FF0000001E00007F8000003C00003FC00000780000
-1FE00000F0000007F00003E0000003FC0007C0000000FF803F000000003FFFFC00000000
-0FFFF00000000001FF80000032417CBF3A>I<003C000000FF000001FF800003FFC00003
-FFC00003FFC00003FFC00003FFC00003FFC00001FF800000FF0000003C00000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-0000000003C00007FFC0007FFFC0007FFFC0007FFFC0007FFFC00001FFC000007FC00000
-7FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000007FE00000FFF000FFFFFFE0FFFFFFE0FFFFFFE0FF
-FFFFE01B5F7DDE23>105 D<0003C00007FFC000FFFFC000FFFFC000FFFFC000FFFFC000
-01FFC000007FC000007FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000007FE00000FFF000
-FFFFFFF0FFFFFFF0FFFFFFF0FFFFFFF01C647DE323>108 D<0003C000FFC0000007FE00
-000007FFC003FFF800001FFFC00000FFFFC00FFFFE00007FFFF00000FFFFC03F00FF8001
-F807FC0000FFFFC078003FC003C001FE0000FFFFC1E0001FE00F0000FF000001FFC3C000
-0FF01E00007F8000007FC3800007F81C00003FC000007FC7000007F83800003FC000003F
-CE000003FC7000001FE000003FCC000003FC6000001FE000003FDC000003FCE000001FE0
-00003FD8000003FCC000001FE000003FF8000001FFC000000FF000003FF0000001FF8000
-000FF000003FF0000001FF8000000FF000003FE0000001FF0000000FF000003FE0000001
-FF0000000FF000003FE0000001FF0000000FF000003FE0000001FF0000000FF000003FC0
-000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000
-003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE000000
-0FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE
-0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC000
-0001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF00000
-3FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000F
-F000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE00
-00000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC00000
-01FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003F
-C0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF0
-00003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000
-000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001
-FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0
-000001FE0000000FF000007FE0000003FF0000001FF80000FFF0000007FF8000003FFC00
-FFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FFFFFF803F
-FFFFFCFFFFFFF007FFFFFF803FFFFFFC663F7CBE6F>I<0003C0007FE000000007FFC003
-FFFC000000FFFFC00FFFFF000000FFFFC03F00FFC00000FFFFC078001FE00000FFFFC0F0
-000FF0000001FFC1C00007F80000007FC3800007FC0000007FC7000003FC0000003FCE00
-0003FE0000003FCE000001FE0000003FDC000001FE0000003FD8000001FE0000003FF800
-0000FF0000003FF0000000FF0000003FF0000000FF0000003FF0000000FF0000003FE000
-0000FF0000003FE0000000FF0000003FE0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000007FE000
-0001FF800000FFF0000003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF0
-03FFFFFFC0FFFFFFF003FFFFFFC0423F7DBE49>I<000000FF8000000000000FFFF80000
-0000003FFFFE0000000000FF007F8000000003FC001FE000000007F00007F00000000FC0
-0001F80000003F800000FE0000007F0000007F0000007E0000003F000000FC0000001F80
-0001F80000000FC00003F80000000FE00003F000000007E00007F000000007F0000FE000
-000003F8000FE000000003F8001FE000000003FC001FC000000001FC001FC000000001FC
-003FC000000001FE003FC000000001FE003FC000000001FE007F8000000000FF007F8000
-000000FF007F8000000000FF007F8000000000FF00FF8000000000FF80FF8000000000FF
-80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000
-000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF
-80FF8000000000FF807F8000000000FF007F8000000000FF007FC000000001FF007FC000
-000001FF003FC000000001FE003FC000000001FE003FC000000001FE001FE000000003FC
-001FE000000003FC001FE000000003FC000FF000000007F80007F000000007F00007F000
-000007F00003F80000000FE00001FC0000001FC00001FC0000001FC00000FE0000003F80
-00007F0000007F0000003F800000FE0000001FC00001FC0000000FF00007F800000003FC
-001FE000000000FF007F80000000007FFFFF00000000000FFFF8000000000001FFC00000
-0039417CBF42>I<0003C0007FC000000007FFC007FFFC000000FFFFC01FFFFF000000FF
-FFC07F00FFC00000FFFFC0F8001FF00000FFFFC3E00007F8000001FFC7800003FC000000
-7FCF000001FE0000007FDE000000FF0000003FFC0000007F8000003FF80000003FC00000
-3FF00000003FE000003FF00000001FE000003FE00000001FF000003FE00000000FF80000
-3FC00000000FF800003FC000000007FC00003FC000000007FC00003FC000000003FE0000
-3FC000000003FE00003FC000000003FE00003FC000000001FF00003FC000000001FF0000
-3FC000000001FF00003FC000000001FF00003FC000000001FF80003FC000000000FF8000
-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000000FF8000
-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000000FF8000
-3FC000000000FF80003FC000000000FF80003FC000000000FF80003FC000000001FF0000
-3FC000000001FF00003FC000000001FF00003FC000000001FF00003FC000000001FF0000
-3FC000000003FE00003FC000000003FE00003FC000000003FC00003FC000000007FC0000
-3FC000000007FC00003FC00000000FF800003FE00000000FF000003FE00000001FF00000
-3FF00000003FE000003FF80000003FC000003FF80000007FC000003FFC000000FF800000
-3FDE000001FF0000003FCF000003FE0000003FC7800007FC0000003FC3C0000FF0000000
-3FC1F0003FE00000003FC07E01FF800000003FC03FFFFE000000003FC00FFFF800000000
-3FC000FF80000000003FC0000000000000003FC0000000000000003FC000000000000000
-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000
-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000
-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000
-3FC0000000000000003FC0000000000000003FC0000000000000003FC000000000000000
-3FC0000000000000003FC0000000000000007FE000000000000000FFF0000000000000FF
-FFFFF00000000000FFFFFFF00000000000FFFFFFF00000000000FFFFFFF0000000000041
-5B7DBE49>I<00078003F80007FF800FFF00FFFF803FFFC0FFFF807C0FE0FFFF81F01FE0
-FFFF81E03FF001FF83803FF0007F87003FF0007F8F003FF0003F8E003FF0003F9C001FE0
-003F9C000FC0003F98000300003FB8000000003FB8000000003FB0000000003FF0000000
-003FF0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000
-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
-003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000
-003FC0000000003FC0000000003FC0000000003FC0000000007FE000000000FFF8000000
-FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC00002C3F7CBE33>114
-D<0000FFE00180000FFFFC0380007FFFFF078001FF001FCF8003F80003EF8007E00001FF
-800FC00000FF801F8000007F803F0000003F803E0000001F807E0000000F807C0000000F
-807C0000000F80FC0000000780FC0000000780FC0000000780FC0000000380FE00000003
-80FE0000000380FF0000000380FF80000003807FC0000003807FE0000000007FF8000000
-003FFE000000001FFFF00000000FFFFF80000007FFFFF8000003FFFFFF000001FFFFFFC0
-00007FFFFFF000001FFFFFF8000007FFFFFE0000007FFFFF00000003FFFF800000003FFF
-C000000003FFC000000000FFE0000000007FE0E00000001FF0E00000000FF0E00000000F
-F8F000000007F8F000000003F8F000000003F8F000000003F8F800000001F8F800000001
-F8F800000001F8FC00000001F8FC00000001F8FE00000001F0FE00000003F0FF00000003
-F0FF00000003E0FF80000007E0FFC000000FC0FFE000000F80FDF000001F80F8F800007F
-00F83E0000FC00F01FC00FF800F007FFFFE000E001FFFF8000C0003FF800002D417DBF34
->I<00003800000000003800000000003800000000003800000000003800000000003800
-00000000380000000000780000000000780000000000780000000000780000000000F800
-00000000F80000000000F80000000001F80000000001F80000000001F80000000003F800
-00000003F80000000007F8000000000FF8000000001FF8000000001FF8000000007FF800
-000000FFF800000003FFF80000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFF
-FF000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000E00007F80000E00007F80000E00007F800
-00E00007F80000E00007F80000E00007F80000E00007F80000E00007F80000E00007F800
-00E00007F80000E00007F80000E00007F80000E00007F80000E00003FC0001C00003FC00
-01C00003FC0001C00003FC0003C00001FE0003800001FE0007800000FF00070000007F80
-0F0000003FC01E0000001FF07C0000000FFFF800000003FFE0000000007F80002B597FD7
-33>I<0003C00000000F000007FFC000001FFF0000FFFFC00003FFFF0000FFFFC00003FF
-FF0000FFFFC00003FFFF0000FFFFC00003FFFF000001FFC0000007FF0000007FC0000001
-FF0000007FC0000001FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000
-FF0000003FC0000000FF0000003FC0000001FF0000003FC0000001FF0000003FC0000001
-FF0000003FC0000003FF0000003FC0000003FF0000003FC0000003FF0000003FC0000007
-FF0000001FC0000006FF0000001FE000000EFF0000001FE000001CFF0000000FE000001C
-FF0000000FF0000038FF80000007F0000070FF80000003F80001E0FFE0000001FE0003C0
-FFFFC00000FFC01F80FFFFC000003FFFFE00FFFFC000000FFFF800FFFFC0000000FFC000
-FF800042407DBE49>I<FFFFFF800001FFFFE0FFFFFF800001FFFFE0FFFFFF800001FFFF
-E0FFFFFF800001FFFFE001FFF80000007FFE00007FE00000001FF800007FE00000001FE0
-00003FE00000000FC000003FE00000000F8000001FE00000000F8000001FF00000000F00
-00000FF00000000F0000000FF00000000E0000000FF80000001E00000007F80000001C00
-000007FC0000001C00000003FC0000003800000003FC0000003800000003FE0000007800
-000001FE0000007000000001FF0000007000000000FF000000E000000000FF000000E000
-000000FF800001E0000000007F800001C0000000007F800001C0000000003FC000038000
-0000003FC0000380000000003FE0000780000000001FE0000700000000001FE000070000
-0000000FF0000E00000000000FF0000E00000000000FF8001E000000000007F8001C0000
-00000007F8001C000000000007FC003C000000000003FC0038000000000003FE00380000
-00000001FE0070000000000001FE0070000000000001FF00F0000000000000FF00E00000
-00000000FF80E00000000000007F81C00000000000007F81C00000000000007FC3C00000
-000000003FC3800000000000003FE3800000000000001FE7000000000000001FE7000000
-000000001FFF000000000000000FFE000000000000000FFE0000000000000007FC000000
-0000000007FC0000000000000007FC0000000000000003F80000000000000003F8000000
-0000000001F00000000000000001F00000000000000001F00000000000000000E0000000
-00433F7FBD46>I<FFFFFF801FFFFFE000FFFFF8FFFFFF801FFFFFE000FFFFF8FFFFFF80
-1FFFFFE000FFFFF8FFFFFF801FFFFFE000FFFFF803FFF000007FFC00001FFF8000FFC000
-003FF0000007FE0000FFC000001FF0000003FC00007FC000000FF0000001F800007FC000
-000FF0000001F000003FC000000FF0000001F000003FC0000007F0000001E000003FE000
-0007F8000001E000001FE000000FF8000001C000001FE000000FF8000001C000001FF000
-000FFC000003C000000FF000001FFC0000038000000FF000001DFC0000038000000FF800
-001DFE00000780000007F800003DFE00000700000007F8000038FE00000700000007FC00
-0038FF00000F00000003FC000078FF00000E00000003FC0000707F00000E00000003FE00
-00707F80001E00000001FE0000F07F80001C00000001FE0000E03F80001C00000001FF00
-00E03FC0003C00000000FF0001E03FC0003800000000FF0001C01FC0003800000000FF80
-01C01FE00078000000007F8003C01FE00070000000007F8003800FE00070000000007FC0
-03800FF000F0000000003FC007800FF000E0000000003FC0070007F000E0000000003FE0
-070007F801E0000000001FE00F0007F801C0000000001FE00E0003F801C0000000001FF0
-0E0003FC03C0000000000FF01E0003FC0380000000000FF01C0001FC0380000000000FF8
-1C0001FE07800000000007F83C0001FE07000000000007F8380000FE07000000000007FC
-380000FF0F000000000003FC780000FF0E000000000003FC7000007F0E000000000003FE
-7000007F9E000000000001FEF000007F9C000000000001FEE000003F9C000000000001FF
-E000003FFC000000000000FFE000003FF8000000000000FFC000001FF8000000000000FF
-C000001FF80000000000007FC000001FF00000000000007F8000000FF00000000000007F
-8000000FF00000000000003F8000000FE00000000000003F00000007E00000000000003F
-00000007E00000000000001F00000007C00000000000001E00000003C00000000000000E
-00000003800000005D3F7FBD60>I<FFFFFF800001FFFFE0FFFFFF800001FFFFE0FFFFFF
-800001FFFFE0FFFFFF800001FFFFE001FFF80000007FFE00007FE00000001FF800007FE0
-0000001FE000003FE00000000FC000003FE00000000F8000001FE00000000F8000001FF0
-0000000F0000000FF00000000E0000000FF00000000E00000007F80000001C00000007F8
-0000001C00000007FC0000003C00000003FC0000003800000003FC0000003800000001FE
-0000007000000001FE0000007000000001FF000000F000000000FF000000E000000000FF
-000000E0000000007F800001C0000000007F800001C0000000007FC00003C0000000003F
-C0000380000000003FC0000380000000003FE0000780000000001FE0000700000000001F
-F0000F00000000000FF0000E00000000000FF0000E00000000000FF8001E000000000007
-F8001C000000000007FC003C000000000003FC0038000000000003FC0038000000000003
-FE0078000000000001FE0070000000000001FF00F0000000000000FF00E0000000000000
-FF00E0000000000000FF81E00000000000007F81C00000000000007FC3C0000000000000
-3FC3800000000000003FC3800000000000003FE7800000000000001FE700000000000000
-1FFF000000000000000FFE000000000000000FFE000000000000000FFE00000000000000
-07FC0000000000000007FC0000000000000003F80000000000000003F800000000000000
-03F80000000000000001F00000000000000001F00000000000000000E000000000000000
-00E00000000000000001E00000000000000001C00000000000000003C000000000000000
-038000000000000000038000000000000000078000000000000000070000000000000000
-0F00000000000000000E00000000000000000E00000000000000001E0000000000000000
-1C00000000000000003C00000000001F80003800000000003FC0003800000000007FE000
-7000000000007FE0007000000000007FE000E000000000007FE001E000000000007FE001
-C000000000007FC0038000000000003F80078000000000003F000F0000000000001E003E
-0000000000000FC0FC00000000000007FFF800000000000001FFE0000000000000007F00
-000000000000435B7FBD46>121 D E end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%PaperSize: A4
-
-%%EndSetup
-%%Page: 1 1
-1 0 bop 1377 2090 a Fv(A)44 b(T)-11 b(utorial)44 b(on)f(La)l(v)-7
-b(a:)543 2273 y(A)43 b(Hardw)l(are)h(Description)h(and)f(V)-11
-b(eri\014cation)45 b(System)1073 2678 y Fu(Ko)s(en)33
-b(Claessen)897 2794 y Ft(koen@cs.chalmers.se)2263 2678
-y Fu(Mary)g(Sheeran)2125 2794 y Ft(ms@cs.chalmers.se)1601
-3070 y Fu(August)g(15,)g(2000)p eop
-%%Page: 1 2
-1 1 bop 515 1227 a Fs(Con)-6 b(ten)g(ts)515 1782 y Fr(1)76
-b(In)m(tro)s(duction)2166 b(4)515 2004 y(2)76 b(Getting)31
-b(Started)2031 b(6)639 2144 y Fq(2.1)84 b(Y)-7 b(our)27
-b(First)h(Circuit)79 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131
-b(6)639 2283 y(2.2)84 b(The)28 b(La)n(v)-5 b(a)26 b(In)n(terpreter)39
-b(.)j(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(7)639 2423 y(2.3)84
-b(Y)-7 b(our)27 b(Second)h(Circuit)64 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
-131 b(8)639 2562 y(2.4)84 b(Generating)27 b(VHDL)70 b(.)41
-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)131 b(9)639 2702 y(2.5)84
-b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(10)515 2924 y Fr(3)76 b(Bigger)31 b(Circuits)2008 b(12)639
-3064 y Fq(3.1)84 b(Recursion)27 b(o)n(v)n(er)f(Lists)67
-b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(12)639 3203 y(3.2)84
-b(Connection)27 b(P)n(atterns)55 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(13)639 3342 y(3.3)84 b(Arithmetic)22 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)90 b(14)639 3482 y(3.4)84 b(Compilation)32
-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
-h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(16)639 3621 y(3.5)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)90 b(16)515 3844 y Fr(4)76 b(V)-8
-b(eri\014cation)2165 b(18)639 3983 y Fq(4.1)84 b(Simple)28
-b(Prop)r(erties)f(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
-f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(18)639 4123 y(4.2)84 b(Quan)n(ti\014cation)25 b(.)41
-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(19)639
-4262 y(4.3)84 b(General)27 b(Prop)r(erties)54 b(.)41
-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(20)639 4402 y(4.4)84
-b(Helping)28 b(V)-7 b(eri\014cation)80 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
-90 b(20)639 4541 y(4.5)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)90 b(22)515 4764 y Fr(5)76 b(Sequen)m(tial)32
-b(Circuits)1850 b(23)639 4903 y Fq(5.1)84 b(The)28 b(Dela)n(y)f(Comp)r
-(onen)n(t)43 b(.)e(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(23)1926 5255
-y(1)p eop
-%%Page: 2 3
-2 2 bop 639 523 a Fq(5.2)84 b(Multiple)29 b(Dela)n(ys)34
-b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(24)639
-663 y(5.3)84 b(Coun)n(ters)24 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)90 b(25)639 802 y(5.4)84 b(Sequen)n(tialization)55
-b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(25)639 941
-y(5.5)84 b(V)-7 b(ariations)27 b(on)g Fp(rowSeq)f Fq(.)42
-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(26)639 1081 y(5.6)84
-b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(27)515 1303 y Fr(6)76 b(Sequen)m(tial)32 b(V)-8 b(eri\014cation)1702
-b(29)639 1443 y Fq(6.1)84 b(Sequen)n(tial)27 b(Safet)n(y)h(Prop)r
-(erties)33 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(29)639 1582 y(6.2)84
-b(Sequen)n(tial)27 b(Logic)77 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
-90 b(30)639 1722 y(6.3)84 b(V)-7 b(eri\014cation)64 b(.)42
-b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(30)639
-1861 y(6.4)84 b(Induction)68 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)90 b(31)639 2001 y(6.5)84 b(Induction)28
-b(With)h(Depth)53 b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(32)639
-2140 y(6.6)84 b(Induction)28 b(With)h(Restricted)e(States)44
-b(.)e(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
-(.)90 b(35)639 2280 y(6.7)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
-g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(36)515 2502 y Fr(7)76
-b(Time)30 b(T)-8 b(ransformations)1717 b(38)639 2642
-y Fq(7.1)84 b(Timing)28 b(Issues)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)f(.)h(.)90 b(38)639 2781 y(7.2)84 b(Slo)n(wing)27
-b(Do)n(wn)i(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(39)639 2921 y(7.3)84 b(Sp)r(eeding)28 b(Up)84 b(.)41
-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(42)639
-3060 y(7.4)84 b(Exercises)e(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
-(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
-h(.)f(.)h(.)90 b(43)515 3283 y Fr(8)76 b(More)32 b(connection)f
-(patterns)1566 b(45)639 3422 y Fq(8.1)84 b(Connection)27
-b(patterns)h(revisited)51 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(45)639 3562
-y(8.2)84 b(T)-7 b(ree)27 b(shap)r(ed)h(circuits)72 b(.)42
-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(48)639 3701 y(8.3)84
-b(Describing)27 b(Butter\015y)h(Circuits)72 b(.)42 b(.)f(.)h(.)f(.)h(.)
-f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(50)639 3841 y(8.4)84 b(Batc)n(her's)26 b(Bitonic)i(Merger)83
-b(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)90 b(54)639 3980 y(8.5)84 b(Exercises)e(.)41
-b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(56)515 4203 y Fr(9)76 b(Syn)m(thesizing)32 b(La)m(v)-5
-b(a)33 b(Circuits)1535 b(59)639 4342 y Fq(9.1)84 b(State)28
-b(Mac)n(hines)54 b(.)42 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(59)639 4482 y(9.2)84 b(Beha)n(vioral)25 b(Descriptions)70
-b(.)42 b(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)
-f(.)h(.)f(.)h(.)f(.)h(.)90 b(63)639 4621 y(9.3)84 b(Exercises)e(.)41
-b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(67)1926 5255 y(2)p eop
-%%Page: 3 4
-3 3 bop 515 523 a Fr(10)28 b(T)m(yp)s(es)2394 b(68)639
-663 y Fq(10.1)42 b(Signals)27 b(and)g(Circuits)73 b(.)42
-b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g
-(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(68)639 802 y(10.2)42
-b(Connection)27 b(P)n(atterns)55 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(69)639 941 y(10.3)42 b(Ov)n(erloading)d(.)j(.)f(.)h(.)g(.)f(.)h(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)
-h(.)f(.)h(.)f(.)h(.)90 b(69)515 1164 y Fr(A)52 b(Quic)m(k)33
-b(Reference)e(Guide)1677 b(72)639 1303 y Fq(A.1)64 b(The)28
-b Fp(lava)e Fq(command)79 b(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90
-b(72)639 1443 y(A.2)64 b(Logical)26 b(Gates)49 b(.)41
-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(72)639
-1582 y(A.3)64 b(Arithmetical)28 b(Gates)43 b(.)e(.)h(.)f(.)h(.)f(.)h(.)
-g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f
-(.)h(.)90 b(73)639 1722 y(A.4)64 b(Generic)27 b(Gates)k(.)41
-b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(74)639
-1861 y(A.5)64 b(Mo)r(dule:)37 b Fp(Patterns)55 b Fq(.)41
-b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(74)639 2001 y(A.6)64
-b(Mo)r(dule:)37 b Fp(Arithmetic)31 b Fq(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f
-(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
-90 b(75)639 2140 y(A.7)64 b(Mo)r(dule:)37 b Fp(SequentialCircuit)o(s)68
-b Fq(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)90 b(76)639 2280 y(A.8)64 b(In)n(terpretations)j(.)42
-b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)90 b(76)639 2419
-y(A.9)64 b(Errors)56 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
-(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
-f(.)h(.)f(.)h(.)90 b(77)515 2642 y Fr(B)56 b(Answ)m(ers)2295
-b(79)639 2864 y(Bibliograph)m(y)2109 b(88)639 3087 y(Index)2409
-b(90)1926 5255 y Fq(3)p eop
-%%Page: 4 5
-4 4 bop 515 1186 a Fo(Chapter)64 b(1)515 1641 y Fs(In)-6
-b(tro)6 b(duction)515 2112 y Fq(La)n(v)-5 b(a)27 b(is)h(an)g(exp)r
-(erimen)n(tal)f(to)r(ol)h(for)g(hardw)n(are)e(design)h(and)h(v)n
-(eri\014cation.)37 b(Using)28 b(La)n(v)-5 b(a,)515 2212
-y(one)36 b(can)f(describ)r(e)h(circuits)g(using)g(a)g(simple)g
-(functional)h(hardw)n(are)d(description)i(lan-)515 2311
-y(guage.)51 b(The)33 b(descriptions)f(are)g(short)h(and)f(sw)n(eet,)i
-(and)f(do)g(not)g(su\013er)f(from)h(the)g(v)n(er-)515
-2411 y(b)r(osit)n(y)22 b(of)g(more)f(standard)g(hardw)n(are)f
-(description)i(languages)e(\(HDLs\))j(lik)n(e)f(VHDL)h(and)515
-2511 y(V)-7 b(erilog.)34 b(On)22 b(the)g(other)f(hand,)j(w)n(e)d
-(cannot)h(express)f(the)h(same)g(things)g(as)f(in)h(these)g(large,)515
-2610 y(expressiv)n(e)32 b(\(and)i(complicated\))g(languages.)54
-b(F)-7 b(or)34 b(example,)h(w)n(e)e(cannot)h(express)f(lo)n(w)515
-2710 y(lev)n(el)22 b(details)g(ab)r(out)h(timing.)36
-b(What)23 b(w)n(e)f(can)g(express)g(v)n(ery)g(nicely)-7
-b(,)23 b(though,)h(is)e(the)i(w)n(a)n(ys)515 2809 y(in)29
-b(whic)n(h)g(circuits)g(are)f(built)h(from)g(sub-circuits.)41
-b(La)n(v)-5 b(a)27 b(facilitates)i(the)h(description)e(of)515
-2909 y Fn(c)l(onne)l(ction)g(p)l(atterns)e Fq(so)f(that)i(they)f(are)f
-(easily)h(reusable.)35 b(F)-7 b(or)26 b(some)f(kinds)h(of)g(circuits,)
-515 3009 y(for)h(example)h(in)g(signal)f(pro)r(cessing,)f(this)i(is)g
-(exactly)g(what)f(w)n(e)h(w)n(an)n(t)f(to)h(do.)37 b(La)n(v)-5
-b(a)27 b(also)515 3108 y(pro)n(vides)d(man)n(y)g(di\013eren)n(t)h(w)n
-(a)n(ys)f(of)h(analysing)f(our)h(circuit)g(descriptions.)35
-b(W)-7 b(e)26 b(can)e(sim-)515 3208 y(ulate)29 b(circuits,)g(just)g(as)
-g(with)g(more)f(standard)g(HDLs,)i(but)g(w)n(e)e(can)h(also)f(use)h
-(sym)n(b)r(olic)515 3308 y(metho)r(ds)e(to)g(generate)f(input)h(to)g
-(analysis)f(to)r(ols)g(suc)n(h)h(as)g(automatic)f(theorem)g(pro)n(v)n
-(ers)515 3407 y(and)h(mo)r(del)h(c)n(hec)n(k)n(ers.)36
-b(Indeed,)28 b(the)h(same)e(metho)r(ds)h(are)f(used)h(to)f(generate)g
-(structural)515 3507 y(VHDL)39 b(from)g(La)n(v)-5 b(a)37
-b(circuit)i(descriptions.)69 b(Our)38 b(aim)h(in)f(this)h(tutorial)g
-(is)f(to)h(gen)n(tly)515 3606 y(in)n(tro)r(duce)27 b(this)h(new)g(st)n
-(yle)f(of)g(circuit)h(design)f(and)g(analysis,)g(b)n(y)g(means)g(of)h
-(examples.)515 3746 y(La)n(v)-5 b(a)20 b(is)h(used)g(at)g(Chalmers)f
-(as)h(a)g(platform)g(for)f(exp)r(erimen)n(ts)h(in)g(the)h(formal)e(v)n
-(eri\014cation)515 3846 y(of)30 b(hardw)n(are)e([3,)i(2].)45
-b(\(Note,)31 b(ho)n(w)n(ev)n(er,)e(that)i(b)r(oth)f(of)g(these)h
-(references)e(are)g(ab)r(out)h(an)515 3945 y(older)24
-b(v)n(ersion)g(of)h(La)n(v)-5 b(a,)25 b(in)h(whic)n(h)f(circuit)g
-(descriptions)g(are)f(a)h(bit)h(more)e(complicated.\))515
-4045 y(Satnam)31 b(Singh,)i(on)e(the)h(other)f(hand,)h(uses)f(La)n(v)-5
-b(a)31 b(in)g(real)g(industrial)g(design)g(pro)5 b(jects)515
-4144 y(at)33 b(Xilinx)h(Inc.,)h(one)e(of)g(the)h(main)f(suppliers)g(of)
-g(Field)h(Programmable)d(Gate)i(Arra)n(ys)515 4244 y(\(FPGAs\).)k(In)28
-b(particular,)f(La)n(v)-5 b(a)26 b(has)i(b)r(een)g(used)g(with)g(great)
-e(success)h(in)h(the)g(dev)n(elop-)515 4344 y(men)n(t)33
-b(of)g(FPGA)g(cores)f(suc)n(h)g(as)g(\014lters)h(and)g(Bezier)f(curv)n
-(e)g(dra)n(wing)f(circuits,)j(and)f(of)515 4443 y(customer)27
-b(applications)g(suc)n(h)g(as)g(digital)h(signal)f(pro)r(cessing)f(for)
-h(high)h(sp)r(eed)g(net)n(w)n(orks)515 4543 y(and)f(for)g(high)h(p)r
-(erformance)e(graphics)g(applications.)515 4682 y(La)n(v)-5
-b(a)38 b(really)f(consists)i(of)f(a)h(simple)g(hardw)n(are)e
-(description)h(language)f(em)n(b)r(edded)j(in)515 4782
-y(the)30 b(p)r(o)n(w)n(erful)f(functional)g(programming)f(language)g
-(Hask)n(ell.)42 b(So)29 b(it)h(can)f(b)r(e)h(seen)g(as)e(a)515
-4882 y(domain)19 b(sp)r(eci\014c)g(language)e(em)n(b)r(edded)j(in)f(a)g
-(general)f(purp)r(ose)h(programming)e(language.)515 4981
-y(W)-7 b(e)30 b(describ)r(e)g(circuits)g(b)n(y)g(writing)g(Hask)n(ell)f
-(programs)f({)i(and)g(the)h(La)n(v)-5 b(a)29 b(system)h(itself)1926
-5255 y(4)p eop
-%%Page: 5 6
-5 5 bop 515 523 a Fq(consists)33 b(of)i(a)f(set)g(of)g(Hask)n(ell)g(mo)
-r(dules)g(that)h(giv)n(e)e(the)i(user)f(v)-5 b(arious)33
-b(facilities.)57 b(The)515 623 y(em)n(b)r(edded)21 b(language)e(is)i
-(quite)g(similar)f(to)g(the)h(Lustre)f(sync)n(hronous)f(data\015o)n(w)h
-(language)515 722 y([6)o(].)37 b(The)26 b(idea)g(of)g(using)f(a)h
-(functional)g(programming)e(language)g(to)i(describ)r(e)g(hardw)n(are)
-515 822 y(w)n(as)c(\014rst)i(prop)r(osed)e(in)i(the)g(early)f(eigh)n
-(ties)f([13,)h(14)o(,)h(7],)g(and)g(there)f(has)g(b)r(een)h(quite)g(a)f
-(lot)515 922 y(of)29 b(w)n(ork)e(in)i(the)h(area)d(since)i(then)g([15)o
-(,)h(16)o(,)f(10)o(,)g(12)o(,)g(11)o(,)g(5)o(].)41 b(Our)29
-b(in)n(ten)n(tion)g(in)g(building)515 1021 y(the)j(La)n(v)-5
-b(a)32 b(system)g(\(together)f(with)i(Singh\))f(is)h(to)f(pro)n(vide)f
-(a)h(to)r(ol)g(that)g(demonstrates)515 1121 y(the)c(feasibilit)n(y)f
-(of)h(doing)f(circuit)g(design)g(and)h(analysis)e(using)h(a)g
-(functional)h(language.)515 1260 y(The)h(main)g(idea)g(in)h(La)n(v)-5
-b(a)28 b(is)h(that)g(a)g(single)g(circuit)g(description)f(can)h(b)r(e)h
-(analysed)e(in)h(a)515 1360 y(v)-5 b(ariet)n(y)31 b(of)h(di\013eren)n
-(t)h(w)n(a)n(ys,)f(b)n(y)g(giving)g(di\013eren)n(t)g
-Fn(interpr)l(etations)h Fq(to)f(its)h(comp)r(onen)n(ts)515
-1460 y(\(and)f(sometimes)f(ev)n(en)h(to)g(its)g(connection)f
-(patterns\).)50 b(The)32 b(simplest)g(of)g(these)g(in)n(ter-)515
-1559 y(pretations)h(giv)n(es)g(us)h(ordinary)f(sim)n(ulation.)56
-b(But)35 b(w)n(e)f(can)g(do)g(m)n(uc)n(h)g(more.)56 b(W)-7
-b(e)34 b(can)515 1659 y(allo)n(w)26 b Fn(symb)l(olic)k
-Fq(rather)c(than)i(concrete)f(data)g(to)h(\015o)n(w)f(in)h(the)g
-(circuit,)g(and)f(in)h(this)g(w)n(a)n(y)515 1758 y(collect)d
-(information)h(ab)r(out)f(the)i(circuit)f(in)g(v)-5 b(arious)24
-b(di\013eren)n(t)i(w)n(a)n(ys.)35 b(F)-7 b(or)26 b(example,)f(w)n(e)515
-1858 y(can)32 b(run)h(the)g(circuit)g(on)g(sym)n(b)r(olic)f(data)h(and)
-f(pro)r(duce)h(expressions)e(on)i(the)g(outputs)515 1958
-y(that)25 b(indicate)g(ho)n(w)f(eac)n(h)h(output)g(is)g(related)g(to)f
-(the)i(inputs.)36 b(This)25 b(can)g(b)r(e)g(useful)h(when)515
-2057 y(dev)n(eloping)k(a)g(\014rst)h(implemen)n(tation.)48
-b(Ho)n(w)n(ev)n(er,)30 b(the)i(expressions)d(can)i(get)g(to)r(o)f
-(large)515 2157 y(for)d(h)n(umans)h(to)g(in)n(terpret.)37
-b(Then,)28 b(w)n(e)g(ho)r(ok)f(up)h(external)g(analysis)e(to)r(ols,)i
-(suc)n(h)f(as)h(au-)515 2257 y(tomatic)g(theorem)g(pro)n(v)n(ers,)e(to)
-i(help)h(us)f(to)g(analyse)f(our)h(circuits.)38 b(When)29
-b(w)n(e)f(ho)r(ok)g(up)515 2356 y(to)h(external)f(theorem)h(pro)n(v)n
-(ers,)f(w)n(e)h(are)f(actually)h(using)g(Hask)n(ell)f(as)h(a)g(pro)r
-(of)g(scripting)515 2456 y(language.)51 b(This)33 b(turns)g(out)g(to)g
-(b)r(e)h(v)n(ery)d(con)n(v)n(enien)n(t.)52 b(Similarly)-7
-b(,)34 b(when)g(w)n(e)e(ho)r(ok)h(up)515 2555 y(to)g(other)g(external)f
-(to)r(ols,)j(suc)n(h)e(as)f(VHDL-based)i(CAD)g(to)r(ols,)g(w)n(e)f(use)
-g(Hask)n(ell)g(as)f(a)515 2655 y(scripting)h(language.)52
-b(One)33 b(w)n(a)n(y)f(to)i(view)f(the)h(La)n(v)-5 b(a)32
-b(system)h(is)g(as)g(a)g(to)r(ol)g(for)g(linking)515
-2755 y(together)27 b(and)i(con)n(trolling)e(other)g(to)r(ols)h(in)h(a)f
-(uni\014ed)h(w)n(a)n(y!)38 b(Th)n(us)29 b(Hask)n(ell)e(is)i(used)f(not)
-515 2854 y(only)g(to)h(construct)f(circuit)h(descriptions)f(but)h(also)
-f(to)g(con)n(trol)g(the)h(to)r(ols)f(that)h(pro)r(cess)515
-2954 y(those)23 b(descriptions.)34 b(The)24 b(user)e(sees)h(only)g(one)
-g(language,)f(rather)h(than)g(ha)n(ving)f(to)h(w)n(ork)515
-3054 y(with)28 b(man)n(y)-7 b(,)27 b(as)g(is)g(more)g(usual)g(in)h(the)
-g(CAD)h(w)n(orld.)515 3193 y(This)f(tutorial)f(in)n(tro)r(duces)h(the)g
-(st)n(yle)g(of)g(circuit)g(description)g(used)g(in)g(La)n(v)-5
-b(a,)28 b(b)n(y)g(means)515 3293 y(of)e(v)n(ery)g(simple)h(examples.)36
-b(It)26 b(emphasises)g(the)h(w)n(a)n(y)f(in)h(whic)n(h)f(La)n(v)-5
-b(a)26 b Fn(c)l(ombinators)h Fq(can)515 3392 y(b)r(e)j(used)f(to)g
-(capture)g(common)g(in)n(terconnection)g(patterns.)42
-b(It)30 b(sho)n(ws)e(the)i(three)f(most)515 3492 y(imp)r(ortan)n(t)i
-Fn(interpr)l(etations)h Fq(or)e(circuit)i(analysis)e(metho)r(ds)i({)f
-(sim)n(ulation,)h(generation)515 3592 y(of)25 b(VHDL)h(co)r(de,)g(and)f
-(generation)f(of)h(logical)f(form)n(ulas)g(for)g(input)j(to)e(theorem)f
-(pro)n(v)n(ers.)515 3691 y(After)h(w)n(orking)e(through)h(the)h
-(tutorial,)g(y)n(ou)f(should)h(understand)f(ho)n(w)g(to)h(describ)r(e)f
-(and)515 3791 y(analyse)h(simple)i(com)n(binational)e(and)h(sequen)n
-(tial)g(circuits)g(using)g(La)n(v)-5 b(a.)35 b(W)-7 b(e)27
-b(hop)r(e)g(that)515 3890 y(the)g(quic)n(k)g(reference)g(sections)f(at)
-h(the)h(bac)n(k)f(of)g(the)h(tutorial)e(will)i(also)e(help)i(y)n(ou)e
-(to)h(get)515 3990 y(started.)1926 5255 y(5)p eop
-%%Page: 6 7
-6 6 bop 515 1186 a Fo(Chapter)64 b(2)515 1641 y Fs(Getting)77
-b(Started)515 2112 y Fq(In)19 b(this)h(c)n(hapter,)g(w)n(e)f(sho)n(w)g
-(ho)n(w)f(to)h(describ)r(e)g(some)g(simple)h(circuits)f(in)g(the)h(La)n
-(v)-5 b(a)18 b(system,)515 2212 y(and)27 b(run)h(the)g(in)n(terpreter)e
-(on)h(them.)515 2526 y Fm(2.1)135 b(Y)-11 b(our)44 b(First)h(Circuit)
-515 2748 y Fq(T)-7 b(o)40 b(mak)n(e)g(a)h(\014rst)g(circuit)g
-(description,)i(start)e(up)g(the)g(text)h(editor)e(of)h(y)n(our)f(c)n
-(hoice,)515 2847 y(and)32 b(create)f(a)h(text)g(\014le)g(called)g
-Fp(First.hs)p Fq(,)e(for)i(example.)50 b(La)n(v)-5 b(a)31
-b(\014le)h(names)g(ha)n(v)n(e)f(the)515 2947 y(extension)c
-Fp(.hs)p Fq(.)515 3087 y(W)-7 b(e)29 b(are)e(going)h(to)g(de\014ne)h(a)
-g(so-called)e Fn(half)32 b(adder)e Fq(\(see)f(\014gure)f(2.1\).)39
-b(A)29 b(half)g(adder)f(is)g(a)515 3186 y(comp)r(onen)n(t)23
-b(that)h(is)g(for)f(example)g(used)h(in)g(the)g(implemen)n(tation)g(of)
-g(a)f(binary)g(adder.)35 b(It)515 3286 y(tak)n(es)27
-b(as)g(an)g(input)i(t)n(w)n(o)e(bits,)h(and)g(adds)g(them)g(up.)38
-b(The)28 b(result)g(is)f(a)h Fn(sum)f Fq(and)h(a)f Fn(c)l(arry)515
-3385 y Fq(bit.)37 b(A)28 b(half)g(adder)f(is)g(usually)g(realized)g
-(using)g(one)g Fp(and)g Fq(and)g(one)g Fp(xor)g Fq(gate.)515
-3525 y(Here)g(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(a)f(half)g(adder)g
-Fp(halfAdd)e Fq(in)j(La)n(v)-5 b(a.)602 3711 y Fp(import)41
-b(Lava)602 3910 y(halfAdd)g(\(a,)h(b\))h(=)g(\(sum,)e(carry\))689
-4010 y(where)776 4109 y(sum)130 b(=)43 b(xor2)f(\(a,)g(b\))776
-4209 y(carry)g(=)h(and2)f(\(a,)g(b\))515 4395 y Fq(W)-7
-b(e)25 b(imp)r(ort)h(a)e(mo)r(dule)i(called)f Fp(Lava)p
-Fq(,)f(whic)n(h)h(de\014nes)g(a)g(n)n(um)n(b)r(er)g(of)g(op)r(erations)
-f(that)h(w)n(e)515 4495 y(can)j(use)h(to)g(build)g(circuits.)40
-b(Notably)-7 b(,)29 b(it)h(con)n(tains)d(the)j(de\014nitions)f(of)g
-(the)g(gates)f Fp(xor2)515 4594 y Fq(and)f Fp(and2)p
-Fq(.)35 b(App)r(endix)29 b(A)f(con)n(tains)f(a)g(list)h(of)f(suc)n(h)g
-(prede\014ned)h(op)r(erations.)515 4734 y(Note)k(that)h(the)g(order)e
-(of)i(de\014nitions)g(after)f(a)g Fp(where)f Fq(do)r(es)h(not)h
-(matter!)51 b(Since)33 b(these)515 4833 y(circuit)22
-b(comp)r(onen)n(ts)g(act)g(in)h(parallel,)f(w)n(e)g(could)h(just)g(as)e
-(w)n(ell)i(ha)n(v)n(e)e(put)i(them)g(the)g(other)515
-4933 y(w)n(a)n(y)j(around.)1926 5255 y(6)p eop
-%%Page: 7 8
-7 7 bop 1514 973 a @beginspecial 0 @llx 0 @lly 208 @urx
-128 @ury 1040 @rwi @setspecial
-%%BeginDocument: Pictures/halfAdd.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--54.0 199.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4312 m -1000 -1000 l 5365 -1000 l 5365 4312 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 2100 1200 m 3000 1200 l 3000 2100 l 2100 2100 l cp gs col0 s gr 
-% Polyline
-n 2100 2400 m 3000 2400 l 3000 3300 l 2100 3300 l cp gs col0 s gr 
-% Polyline
-n 1200 3000 m 2100 3000 l gs col0 s gr 
-% Polyline
-gs  clippath
-1977 1470 m 2073 1500 l 1977 1530 l 2115 1530 l 2115 1470 l cp
-clip
-n 1200 1500 m 2100 1500 l gs col0 s gr gr
-
-% arrowhead
-n 1977 1470 m 2073 1500 l 1977 1530 l 1953 1500 l 1977 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3477 1620 m 3573 1650 l 3477 1680 l 3615 1680 l 3615 1620 l cp
-clip
-n 3000 1650 m 3600 1650 l gs col0 s gr gr
-
-% arrowhead
-n 3477 1620 m 3573 1650 l 3477 1680 l 3453 1650 l 3477 1620 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3477 2820 m 3573 2850 l 3477 2880 l 3615 2880 l 3615 2820 l cp
-clip
-n 3000 2850 m 3600 2850 l gs col0 s gr gr
-
-% arrowhead
-n 3477 2820 m 3573 2850 l 3477 2880 l 3453 2850 l 3477 2820 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2072 2577 m 2087 2675 l 2018 2603 l 2080 2727 l 2134 2700 l cp
-clip
-n 1500 1500 m 2100 2700 l gs col0 s gr gr
-
-% arrowhead
-n 2072 2577 m 2087 2675 l 2018 2603 l 2034 2569 l 2072 2577 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2018 1897 m 2087 1824 l 2072 1923 l 2134 1800 l 2080 1773 l cp
-clip
-n 1500 3000 m 2100 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2018 1897 m 2087 1824 l 2072 1923 l 2034 1931 l 2018 1897 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-900 3075 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-900 1575 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3750 1725 m
-gs 1 -1 sc (sum) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3750 2925 m
-gs 1 -1 sc (carry) col0 sh gr
-/Courier ff 270.00 scf sf
-2325 1725 m
-gs 1 -1 sc (XOR) col0 sh gr
-/Courier ff 270.00 scf sf
-2325 2925 m
-gs 1 -1 sc (AND) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1493 1156 a Fq(Figure)27 b(2.1:)36 b(A)28
-b(half)g(adder.)515 1412 y Fm(2.2)135 b(The)45 b(La)l(v)-7
-b(a)45 b(In)l(terpreter)515 1634 y Fq(During)40 b(the)i(dev)n(elopmen)n
-(t)e(of)h(a)f(collection)g(of)h(circuits,)j(w)n(e)d(mainly)f(use)h(the)
-g(La)n(v)-5 b(a)515 1734 y Fn(interpr)l(eter)p Fq(.)42
-b(This)29 b(is)h(actually)e(the)i(Hask)n(ell)f(in)n(terpreter)f
-Fn(Hugs)h Fq([8)o(].)43 b(The)29 b(command)g(is)515 1833
-y Fp(lava)p Fq(.)602 2011 y Fp(\045)87 b Fl(lava)602
-2110 y Fp(--)43 b(Lava2000)d(----------------)o(--)o(---)o(--)o(---)o
-(--)o(---)o(--)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(-)602
-2210 y(...)602 2309 y(Prelude>)515 2487 y Fq(W)-7 b(e)36
-b(can)f(use)h(the)g(in)n(terpreter)f(to)g(load)g(di\013eren)n(t)h(mo)r
-(dules)g(with)g(circuit)g(de\014nitions,)515 2586 y(and)27
-b(to)h(t)n(yp)r(e)f(in)h(commands)f(that)h(w)n(e)f(w)n(an)n(t)g(to)h
-(execute.)515 2726 y(If)d(w)n(e)f(t)n(yp)r(e)g(in)h(the)g(half)f(adder)
-g(de\014nition)h(in)f(the)h(\014le)g Fp(First.hs)p Fq(,)c(w)n(e)k(can)f
-(load)f(it)i(in)g(the)515 2825 y(in)n(terpreter,using)h(the)i(command)f
-Fp(:l)p Fq(:)602 3002 y Fp(Prelude>)40 b Fl(:l)j(First.hs)602
-3102 y Fp(Reading)e(file)h("First.hs":)602 3202 y(...)602
-3301 y(First.hs)602 3401 y(Main>)515 3578 y Fq(One)28
-b(of)h(the)g(things)g(w)n(e)f(can)h(do)f(with)i(a)e(circuit)h(is)g(sim)
-n(ulating)f(it.)41 b(Sim)n(ulation)29 b(is)f(done)515
-3678 y(in)c(La)n(v)-5 b(a)23 b(with)i(the)g(op)r(eration)e
-Fp(simulate)p Fq(.)32 b(It)25 b(tak)n(es)e(t)n(w)n(o)h(argumen)n(ts;)g
-(one)f(is)i(the)f(circuit)515 3777 y(to)j(sim)n(ulate)h(\(in)g(this)h
-(case)e Fp(halfAdd)p Fq(\),)e(and)j(the)g(other)f(is)h(the)g(input)h
-(to)f(the)g(circuit)g(\(in)515 3877 y(this)g(case)e(a)i(pair)e(of)i
-(bits\).)602 4054 y Fp(Main>)41 b Fl(simulate)g(halfAdd)f(\(low,low\))
-602 4154 y Fp(\(low,)h(low\))602 4253 y(Main>)g Fl(simulate)g(halfAdd)f
-(\(high,high\))602 4353 y Fp(\(low,)h(high\))515 4530
-y Fq(If)28 b(w)n(e)f(mak)n(e)g(an)n(y)g(c)n(hanges)g(to)h(the)g(\014le)
-g(with)g(our)f(circuit)h(de\014nitions,)g(w)n(e)f(can)h(t)n(yp)r(e)g
-(the)515 4630 y(reload)e(command)h Fp(:r)g Fq(in)h(the)g(in)n
-(terpreter:)602 4807 y Fp(Main>)41 b Fl(:r)602 4907 y
-Fp(...)602 5006 y(Main>)1926 5255 y Fq(7)p eop
-%%Page: 8 9
-8 8 bop 1005 861 a @beginspecial 0 @llx 0 @lly 452 @urx
-101 @ury 2260 @rwi @setspecial
-%%BeginDocument: Pictures/fullAdd.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--13.0 172.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 3851 m -1000 -1000 l 8736 -1000 l 8736 3851 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 5100 1800 m 6000 1800 l 6000 2700 l 5100 2700 l cp gs col0 s gr 
-/Courier ff 270.00 scf sf
-5325 2325 m
-gs 1 -1 sc (XOR) col0 sh gr
-% Polyline
-n 1200 2700 m 2700 2700 l gs col0 s gr 
-% Polyline
-gs  clippath
-1977 1470 m 2073 1500 l 1977 1530 l 2115 1530 l 2115 1470 l cp
-clip
-n 1200 1500 m 2100 1500 l gs col0 s gr gr
-
-% arrowhead
-n 1977 1470 m 2073 1500 l 1977 1530 l 1953 1500 l 1977 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 2100 1200 m 3000 1200 l 3000 2100 l 2100 2100 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1977 1828 m 2075 1812 l 2003 1882 l 2127 1820 l 2100 1766 l cp
-clip
-n 1200 2100 m 1500 2100 l 2100 1800 l gs col0 s gr gr
-
-% arrowhead
-n 1977 1828 m 2075 1812 l 2003 1882 l 1969 1866 l 1977 1828 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 3600 1200 m 4500 1200 l 4500 2100 l 3600 2100 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-3492 1866 m 3580 1819 l 3534 1908 l 3632 1811 l 3589 1768 l cp
-clip
-n 2700 2700 m 3600 1800 l gs col0 s gr gr
-
-% arrowhead
-n 3492 1866 m 3580 1819 l 3534 1908 l 3496 1904 l 3492 1866 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4977 2370 m 5073 2400 l 4977 2430 l 5115 2430 l 5115 2370 l cp
-clip
-n 3000 1800 m 3600 2400 l 5100 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4977 2370 m 5073 2400 l 4977 2430 l 4953 2400 l 4977 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3477 1470 m 3573 1500 l 3477 1530 l 3615 1530 l 3615 1470 l cp
-clip
-n 3000 1500 m 3600 1500 l gs col0 s gr gr
-
-% arrowhead
-n 3477 1470 m 3573 1500 l 3477 1530 l 3453 1500 l 3477 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6477 1470 m 6573 1500 l 6477 1530 l 6615 1530 l 6615 1470 l cp
-clip
-n 4500 1500 m 6600 1500 l gs col0 s gr gr
-
-% arrowhead
-n 6477 1470 m 6573 1500 l 6477 1530 l 6453 1500 l 6477 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6477 2220 m 6573 2250 l 6477 2280 l 6615 2280 l 6615 2220 l cp
-clip
-n 6000 2250 m 6600 2250 l gs col0 s gr gr
-
-% arrowhead
-n 6477 2220 m 6573 2250 l 6477 2280 l 6453 2250 l 6477 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-5003 2018 m 5075 2087 l 4977 2072 l 5100 2134 l 5127 2080 l cp
-clip
-n 4500 1800 m 5100 2100 l gs col0 s gr gr
-
-% arrowhead
-n 5003 2018 m 5075 2087 l 4977 2072 l 4969 2034 l 5003 2018 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-900 1575 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-900 2175 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6750 1575 m
-gs 1 -1 sc (sum) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6675 2325 m
-gs 1 -1 sc (carryOut) col0 sh gr
-/Courier ff 270.00 scf sf
-2400 1725 m
-gs 1 -1 sc (HA) col0 sh gr
-/Courier ff 270.00 scf sf
-3900 1725 m
-gs 1 -1 sc (HA) col0 sh gr
-/Helvetica ff 270.00 scf sf
-225 2775 m
-gs 1 -1 sc (carryIn) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1502 1043 a Fq(Figure)27 b(2.2:)36 b(A)28
-b(full)g(adder.)515 1297 y(The)33 b(c)n(hanges)f(are)g(no)n(w)h(up)r
-(dated.)55 b(If)33 b(y)n(ou)g(ev)n(er)f(w)n(an)n(t)h(to)g(exit)g(from)g
-(the)h(in)n(terpreter,)515 1396 y(y)n(ou)27 b(can)g(use)g(the)h
-Fp(:q)f Fq(command.)602 1570 y Fp(Main>)41 b Fl(:q)602
-1670 y Fp([Leaving)f(Hugs])602 1770 y(\045)515 2081 y
-Fm(2.3)135 b(Y)-11 b(our)44 b(Second)h(Circuit)515 2303
-y Fq(Y)-7 b(ou)29 b(guessed)f(it!)42 b(Y)-7 b(our)29
-b(second)f(circuit)h(is)g(going)f(to)h(b)r(e)h(a)f Fn(ful)t(l)i(adder)g
-Fq(\(see)e(\014gure)g(2.2\),)515 2403 y(a)k(comp)r(onen)n(t)h
-Fp(fullAdd)d Fq(that)j(consists)f(of)h(t)n(w)n(o)f(half)h(adders.)55
-b(T)-7 b(o)34 b(de\014ne)g(it,)i(add)e(the)515 2502 y(follo)n(wing)26
-b(de\014nition)i(to)g(the)g(\014le)f Fp(First.hs)p Fq(.)602
-2676 y Fp(fullAdd)41 b(\(carryIn,)e(\(a,)k(b\)\))f(=)h(\(sum,)f
-(carryOut\))689 2776 y(where)776 2876 y(\(sum1,)f(carry1\))g(=)i
-(halfAdd)e(\(a,)h(b\))776 2975 y(\(sum,)g(carry2\))84
-b(=)43 b(halfAdd)e(\(carryIn,)f(sum1\))776 3075 y(carryOut)302
-b(=)43 b(xor2)f(\(carry1,)e(carry2\))515 3249 y Fq(Note)32
-b(that,)h(just)g(lik)n(e)e(the)h(half)g(adder,)h(this)f(circuit)g(has)f
-Fn(one)h Fq(input.)51 b(This)32 b(one)f(input)515 3348
-y(consists)h(of)i(a)f(pair)f(of)i(a)f(bit)h(and)f(a)g(pair)g(of)g
-(bits.)55 b(W)-7 b(e)34 b(could)f(also)f(ha)n(v)n(e)g(represen)n(ted)
-515 3448 y(the)27 b(input)h(as)f(a)g(triple)g(of)g(bits,)h(but)g(w)n(e)
-f(shall)g(later)f(see)h(wh)n(y)g(w)n(e)g(made)g(this)g(particular)515
-3548 y(c)n(hoice.)515 3687 y(W)-7 b(e)30 b(can)g(sim)n(ulate)g(this)h
-(circuit)f(b)n(y)g(using)g(the)g Fp(simulate)d Fq(op)r(eration)i(that)i
-(w)n(e)f(used)g(in)515 3787 y(the)22 b(previous)e(section.)35
-b(Though)21 b(as)g(inputs)h(get)g(bigger,)f(t)n(yping)h(in)g
-(di\013eren)n(t)g(test)g(inputs)515 3886 y(in)30 b(the)g(in)n
-(terpreter)f(is)h(a)g(lot)g(of)f(w)n(ork.)43 b(T)-7 b(o)30
-b(a)n(v)n(oid)e(this,)j(w)n(e)f(can)f(describ)r(e)h(a)f(n)n(um)n(b)r
-(er)h(of)515 3986 y(test)e(cases)e(in)i(the)g(\014le)g
-Fp(First.hs)p Fq(:)602 4160 y Fp(test1)41 b(=)j(simulate)c(halfAdd)h
-(\(low,low\))602 4260 y(test2)g(=)j(simulate)c(fullAdd)h
-(\(low,\(high,low\))o(\))602 4359 y(test3)g(=)j(simulate)c(fullAdd)h
-(\(high,\(low,high)o(\)\))515 4533 y Fq(And)28 b(w)n(e)f(can)g(p)r
-(erform)g(tests)h(in)g(the)g(in)n(terpreter.)602 4707
-y Fp(Main>)41 b Fl(test3)602 4807 y Fp(\(low,)g(high\))602
-4907 y(Main>)g Fl(test2)602 5006 y Fp(\(high,)g(low\))1926
-5255 y Fq(8)p eop
-%%Page: 9 10
-9 9 bop 515 523 a Fq(If)26 b(w)n(e)f(w)n(an)n(t)g(to)h(sim)n(ulate)f(y)
-n(our)g(circuit)h(for)f(more)g(than)h(one)f(input)i(at)e(the)h(time,)h
-(w)n(e)e(can)515 623 y(use)g(the)g(op)r(eration)f Fp(simulateSeq)p
-Fq(.)32 b(It)25 b(tak)n(es)f(a)h(circuit)g(and)g(a)g(list)g(of)g
-(sample)g(inputs)h(as)515 722 y(a)h(parameter.)35 b(Lists)28
-b(are)e(denoted)i(b)r(et)n(w)n(een)g(square)e(brac)n(k)n(ets.)602
-904 y Fp(Main>)41 b Fl(simulateSeq)e(halfAdd)i([\(low,low\),)e
-(\(low,high\),)g(\(high,low\)])602 1004 y Fp([\(low,low\),)g
-(\(high,low\),)g(\(high,low\)])515 1185 y Fq(There)28
-b(is)g(a)g(sp)r(ecial)g(list,)g(called)g Fp(domain)p
-Fq(,)e(whic)n(h)j(con)n(tains)e(all)h(the)h(v)-5 b(alues)28
-b(of)g(a)g(certain)515 1285 y(input)g(shap)r(e.)602 1466
-y Fp(Main>)41 b Fl(simulateSeq)e(halfAdd)i(domain)602
-1566 y Fp([\(low,low\),)e(\(high,low\),)g(\(high,low\),)g
-(\(low,high\)])515 1748 y Fq(Not)d(all)g(input)h(shap)r(es)e(\(for)h
-(example)g(inputs)h(con)n(taining)e(n)n(um)n(b)r(ers!\))62
-b(ha)n(v)n(e)35 b(a)h(\014nite)515 1847 y(domain)27 b(list)h(asso)r
-(ciated)e(with)i(them.)515 2161 y Fm(2.4)135 b(Generating)46
-b(VHDL)515 2382 y Fq(Giv)n(en)29 b(a)g(La)n(v)-5 b(a)28
-b(circuit)h(description,)h(w)n(e)f(can)g(generate)f(VHDL)i(from)f(it,)i
-(b)n(y)e(using)g(the)515 2482 y(op)r(eration)21 b Fp(writeVhdl)p
-Fq(.)31 b(It)22 b(tak)n(es)f(t)n(w)n(o)h(argumen)n(ts,)f(the)i(name)e
-(of)h(the)h(VHDL)g(de\014nition)515 2582 y(as)k(a)g(string,)g(and)g
-(the)h(circuit.)602 2763 y Fp(Main>)41 b Fl(writeVhdl)f("fullAdd")g
-(fullAdd)602 2863 y Fp(Writing)h(to)h(file)g("fullAdd.vhd")c(...)43
-b(Done.)515 3044 y Fq(The)32 b(VHDL)i(\014le)f(that)f(is)h(generated)e
-(will)i(assume)f(that)h(there)f(are)g(de\014nitions)g(of)h(the)515
-3144 y(gates.)58 b(The)35 b(La)n(v)-5 b(a)33 b(distribution)j(pro)n
-(vides)d(these)i(de\014nitions)g(in)g(the)h(\014le)f
-Fp(Lava2000/)515 3244 y(Auxiliary/lava.v)o(hd)o Fq(.)46
-b(W)-7 b(e)33 b(m)n(ust)g(load)f(this)h(\014le)g(in)n(to)f(the)h(VHDL)g
-(w)n(orking)e(library)515 3343 y(and)c(compile)h(it.)515
-3483 y(Normally)-7 b(,)23 b(the)g(VHDL)h(generator)c(giv)n(es)i(names)h
-(to)f(the)i(inputs)f(and)g(outputs)g(automat-)515 3582
-y(ically)-7 b(.)36 b(If)27 b(w)n(e)g(w)n(an)n(t)f(to)g(giv)n(e)g(names)
-h(to)f(the)i(input)f(ourselv)n(es,)e(w)n(e)i(can)f(do)h(this)g(b)n(y)f
-(using)515 3682 y(the)i(op)r(eration)e Fp(writeVhdlInput)p
-Fq(.)31 b(Here)d(is)f(ho)n(w)g(w)n(e)g(use)h(it:)602
-3864 y Fp(Main>)41 b Fl(writeVhdlInput)d("fullAdd")i(fullAdd)1604
-3963 y(\(var)i("carryIn",)e(\(var)i("a",)g(var)g("b"\)\))602
-4063 y Fp(Writing)f(to)h(file)g("fullAdd.vhd")c(...)43
-b(Done.)515 4245 y Fq(And)28 b(lastly)-7 b(,)27 b(if)i(w)n(e)e(also)g
-(w)n(an)n(t)g(to)g(giv)n(e)g(names)g(for)g(the)i(outputs,)f(w)n(e)f
-(can)g(use)h(the)g(op)r(er-)515 4344 y(ations)f Fp(writeVhdlInputO)o
-(utp)o(ut)o Fq(.)k(Here)d(is)f(ho)n(w)g(w)n(e)g(use)h(it:)602
-4526 y Fp(Main>)41 b Fl(writeVhdlInputOut)o(put)c("fullAdd")j(fullAdd)
-1604 4625 y(\(var)i("carryIn",)e(\(var)i("a",)g(var)g("b"\)\))2258
-4725 y(\(var)g("sum",)f(var)i("carryOut"\))602 4825 y
-Fp(Writing)e(to)h(file)g("fullAdd.vhd")c(...)43 b(Done.)515
-5006 y Fq(See)27 b(\014gure)g(2.3)g(for)g(the)h(result)f(of)h(this)g
-(last)f(op)r(eration.)1926 5255 y(9)p eop
-%%Page: 10 11
-10 10 bop 515 481 a Fk(use)36 b(work.all;)515 638 y(entity)707
-b(architecture)585 717 y(fullAdd)673 b(structural)515
-796 y(is)847 b(of)515 875 y(port)h(fullAdd)585 954 y(--)36
-b(clock)566 b(is)585 1033 y(\()36 b(clk)g(:)g(in)f(bit)425
-b(signal)37 b(w1)f(:)f(bit;)585 1112 y(--)h(inputs)602
-b(signal)37 b(w2)f(:)f(bit;)585 1190 y(;)h(carryIn)h(:)f(in)g(bit)283
-b(signal)37 b(w3)f(:)f(bit;)585 1269 y(;)h(a)f(:)h(in)g(bit)424
-b(begin)585 1348 y(;)36 b(b)f(:)h(in)g(bit)495 b(c_w1)248
-b(:)35 b(entity)i(and2)g(port)f(map)g(\(clk,)h(a,)f(b,)g(w1\);)585
-1427 y(--)g(outputs)567 b(c_sum)213 b(:)35 b(entity)i(and2)g(port)f
-(map)g(\(clk,)h(w1,)f(carryIn,)i(sum\);)585 1506 y(;)e(sum)g(:)g(out)g
-(bit)389 b(c_w2)248 b(:)35 b(entity)i(xor2)g(port)f(map)g(\(clk,)h(a,)f
-(b,)g(w2\);)585 1585 y(;)g(carryOut)h(:)f(out)g(bit)213
-b(c_w3)248 b(:)35 b(entity)i(xor2)g(port)f(map)g(\(clk,)h(w1,)f
-(carryIn,)i(w3\);)585 1664 y(\);)848 b(c_carryOut)38
-b(:)d(entity)i(xor2)g(port)f(map)g(\(clk,)h(w2,)f(w3,)g(carryOut\);)515
-1743 y(end)g(entity)h(fullAdd;)249 b(end)36 b(structural;)795
-1988 y Fq(Figure)27 b(2.3:)36 b(The)28 b(VHDL)g(co)r(de)g(for)f(the)h
-(full)g(adder)f(in)h Fp(fullAdd.vhd)p Fq(.)515 2253 y
-Fm(2.5)135 b(Exercises)575 2469 y Fq(2.1)40 b(De\014ne)22
-b(the)g(circuits)g Fp(swap)e Fq(and)h Fp(copy)p Fq(.)33
-b(Sw)n(ap)21 b(gets)g(a)h(pair)e(of)i(inputs,)h(and)f(outputs)722
-2568 y(them)28 b(in)g(the)f(sw)n(app)r(ed)g(order.)35
-b(Cop)n(y)27 b(gets)f(one)h(input)h(and)f(outputs)h(it)g(t)n(wice,)f
-(as)722 2668 y(a)g(pair.)37 b(Here)27 b(is)g(ho)n(w)g(they)h(should)g
-(b)r(eha)n(v)n(e:)809 2867 y Fp(Main>)42 b Fl(simulateSeq)d(swap)j
-([\(low,)f(high\),)g(\(low,)h(low\),)f(\(high,)g(low\)])809
-2967 y Fp([\(high,)g(low\),)h(\(low,)f(low\),)h(\(low,)f(high\)])809
-3066 y(Main>)h Fl(simulateSeq)d(copy)j([low,)f(high])809
-3166 y Fp([\(low,)h(low\),)f(\(high,)g(high\)])575 3365
-y Fq(2.2)f(De\014ne)32 b(a)e Fn(two-bit)j(sorter)p Fq(.)48
-b(It)31 b(tak)n(es)f(as)h(input)g(a)g(pair)f(of)h(bits,)i(and)d
-(outputs)i(the)722 3465 y(same)f(bits,)h(but)g(the)f(lo)n(w)n(est)f
-(one)h(on)g(the)g(left)h(hand)f(side,)h(and)f(the)h(highest)e(one)722
-3564 y(on)e(the)g(righ)n(t)e(hand)i(side.)575 3730 y(2.3)40
-b(De\014ne)e(a)e(circuit)h(with)g(no)f(inputs,)k(and)d(one)f(output,)k
-(whic)n(h)d(is)f(alw)n(a)n(ys)f(high.)722 3830 y(Hin)n(t:)j(input)28
-b(consisting)f(of)g(no)h(wires)f(is)g(written)h(as)f
-Fp(\(\))p Fq(.)575 3996 y(2.4)40 b(De\014ne)34 b(and)f(sim)n(ulate)g(a)
-g Fn(multiplexer)g Fq(in)h(La)n(v)-5 b(a.)52 b(A)34 b(m)n(ultiplexer)f
-(circuit)g(has)g(as)722 4096 y(an)27 b(input)h(a)f(pair)f(of)h(a)f
-(signal)h(and)g(a)f(pair)g Fp(\(x,)43 b(y\))p Fq(.)36
-b(The)27 b(output)g(is)g(equal)g(to)g Fp(x)g Fq(if)722
-4195 y(the)h(signal)f(is)g(lo)n(w,)g(and)h(to)f Fp(y)h
-Fq(if)g(the)g(signal)e(is)i(high.)575 4361 y(2.5)40 b(Use)c(three)g
-(full)h(adders)e(to)h(mak)n(e)f(a)g(three)h(bit)h(binary)e(adder.)61
-b(Sim)n(ulate)36 b(y)n(our)722 4461 y(design)27 b(and)h(generate)e
-(VHDL)j(co)r(de.)575 4627 y(2.6)40 b(Supp)r(ose)c(y)n(ou)e(are)h
-(designing)f(a)h(digital)h(w)n(atc)n(h.)59 b(It)36 b(migh)n(t)f(come)g
-(in)h(handy)f(to)722 4727 y(ha)n(v)n(e)g(a)g(circuit)h(that)g(tak)n(es)
-f(a)h(four-bit)g(binary)f(n)n(um)n(b)r(er)g(and)h(displa)n(ys)f(it)h
-(as)f(a)722 4826 y(digital)c(digit,)g(using)f(a)g(sev)n(en)g(segmen)n
-(t)g(displa)n(y)-7 b(.)45 b(Y)-7 b(our)30 b(circuit)h(migh)n(t)f(ha)n
-(v)n(e)g(the)722 4926 y(follo)n(wing)d(in)n(terface)g(\(see)g(\014gure)
-g(2.4\):)1905 5255 y(10)p eop
-%%Page: 11 12
-11 11 bop 1734 1065 a @beginspecial 0 @llx 0 @lly 51
-@urx 75 @ury 510 @rwi @setspecial
-%%BeginDocument: Pictures/display.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--2.0 77.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 2269 m -1000 -1000 l 1872 -1000 l 1872 2269 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 150 225 m 225 225 l 225 600 l 150 600 l cp gs col0 s gr 
-% Polyline
-n 150 675 m 225 675 l 225 1050 l 150 1050 l cp gs col0 s gr 
-% Polyline
-n 675 225 m 750 225 l 750 600 l 675 600 l cp gs col0 s gr 
-% Polyline
-n 150 600 m 750 600 l 750 675 l 150 675 l cp gs col0 s gr 
-% Polyline
-n 150 1050 m 750 1050 l 750 1125 l 150 1125 l cp gs col0 s gr 
-% Polyline
-n 675 675 m 750 675 l 750 1050 l 675 1050 l cp gs col0 s gr 
-% Polyline
-n 150 150 m 750 150 l 750 225 l 150 225 l cp gs col0 s gr 
-/Times-Roman ff 180.00 scf sf
-787 895 m
-gs 1 -1 sc (c) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-48 447 m
-gs 1 -1 sc (f) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-38 895 m
-gs 1 -1 sc (e) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-413 538 m
-gs 1 -1 sc (g) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-409 125 m
-gs 1 -1 sc (a) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-780 447 m
-gs 1 -1 sc (b) col0 sh gr
-/Times-Roman ff 180.00 scf sf
-412 1269 m
-gs 1 -1 sc (d) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1460 1248 a Fq(Figure)27 b(2.4:)36 b(Digital)28
-b(displa)n(y)-7 b(.)809 1513 y Fp(digitalDisplay)38 b(\(one,)k(two,)g
-(four,)f(eight\))g(=)940 1613 y(\(a,)i(b,)f(c,)h(d,)g(e,)g(f,)f(g\))897
-1712 y(where)f(...)722 1911 y Fq(Hin)n(t:)i(start)29
-b(b)n(y)h(making)f(a)h(table)g(with)g(10)f(en)n(tries)h(\(0)g(..)44
-b(9\))30 b(where)g(y)n(ou)f(can)g(see)722 2011 y(what)f(parts)f(of)g
-(the)h(displa)n(y)f(should)g(ligh)n(t)h(up)g(for)f(what)g(n)n(um)n(b)r
-(er.)1905 5255 y(11)p eop
-%%Page: 12 13
-12 12 bop 515 1186 a Fo(Chapter)64 b(3)515 1641 y Fs(Bigger)77
-b(Circuits)515 2112 y Fq(In)26 b(this)f(c)n(hapter)g(w)n(e)g(describ)r
-(e)h(ho)n(w)f(to)g(mak)n(e)g(more)g(complicated)g(circuits)g(using)g
-(recur-)515 2212 y(sion)i(and)g Fn(c)l(onne)l(ction)j(p)l(atterns)p
-Fq(.)37 b(W)-7 b(e)28 b(will)f(also)g(see)g(ho)n(w)g(w)n(e)g(use)h(n)n
-(um)n(b)r(ers)f(in)h(La)n(v)-5 b(a.)515 2524 y Fm(3.1)135
-b(Recursion)45 b(o)l(v)l(er)h(Lists)515 2746 y Fq(A)27
-b Fn(bit)i(adder)f Fq(tak)n(es)e(a)g(pair)g(of)h(inputs.)37
-b(The)27 b(\014rst)g(part)f(is)g(a)h(carry)e(bit,)i(the)g(second)g
-(part)515 2845 y(is)g(a)f(binary)h(n)n(um)n(b)r(er,)g(represen)n(ted)e
-(as)i(a)g(list)g(of)g(bits.)37 b(The)27 b(bit)h(adder)e(will)h(add)g
-(the)h(bit)515 2945 y(to)f(the)h(binary)f(n)n(um)n(b)r(er,)g(resulting)
-g(in)h(a)f(binary)g(n)n(um)n(b)r(er)h(and)f(a)g(carry)f(out.)515
-3084 y(W)-7 b(e)24 b(de\014ne)g(a)g(bit)g(adder)f Fp(bitAdder)e
-Fq(in)j(La)n(v)-5 b(a)23 b(b)n(y)h(recursion)e(o)n(v)n(er)g(the)j(list)
-f(of)g(bits.)36 b(There)515 3184 y(are)29 b(t)n(w)n(o)h(cases.)44
-b(Either)30 b(the)h(list)f(is)g(empt)n(y)-7 b(,)32 b(denoted)e(as)g
-Fp([])p Fq(,)g(and)h(there)f(is)g(nothing)g(to)515 3284
-y(add.)39 b(Or)28 b(the)h(list)f(has)g(at)h(least)f(one)g(elemen)n(t)h
-Fp(a)p Fq(,)f(and)g(w)n(e)h(can)f(split)h(the)g(list)f(up)h(in)g(t)n(w)
-n(o)515 3383 y(parts,)c Fp(a)h Fq(and)g Fp(as)p Fq(,)g(denoted)g(as)f
-Fp(a:as)p Fq(.)35 b(In)26 b(this)h(case,)e(w)n(e)h(will)g(use)g(an)g
-(half)g(adder)f(to)h(add)515 3483 y Fp(a)e Fq(and)g(the)g(carry)-7
-b(,)24 b(and)g Fn(r)l(e)l(cursively)h Fq(add)f(the)g(resulting)g(carry)
-f(to)h(the)g(rest)g(of)g(the)h(binary)515 3582 y(n)n(um)n(b)r(er.)602
-3758 y Fp(bitAdder)40 b(\(carryIn,)g([]\))130 b(=)43
-b(\([],)f(carryIn\))602 3957 y(bitAdder)e(\(carryIn,)g(a:as\))i(=)h
-(\(sum:sums,)c(carryOut\))689 4057 y(where)776 4157 y(\(sum,)j(carry\))
-215 b(=)43 b(halfAdd)e(\(carryIn,)f(a\))776 4256 y(\(sums,)h
-(carryOut\))f(=)j(bitAdder)e(\(carry,)f(as\))515 4432
-y Fq(A)26 b(more)f(complicated)g(circuit)h(is)f(the)h(circuit)g
-Fp(adder)d Fq(that)j(tak)n(es)f(a)g(carry)f(and)i(a)f(pair)g(of)515
-4532 y(binary)c(n)n(um)n(b)r(ers,)h(and)g(adds)f(them)i(up.)35
-b(This)22 b(is)g(called)f(a)h(binary)f(adder.)34 b(The)22
-b(recursiv)n(e)515 4631 y(structure)g(is)i(almost)e(the)i(same,)g(but)g
-(w)n(e)e(are)h(doing)f Fn(simultane)l(ous)h Fq(recursion)f(o)n(v)n(er)g
-(b)r(oth)515 4731 y(binary)27 b(n)n(um)n(b)r(ers.)602
-4907 y Fp(adder)41 b(\(carryIn,)f(\([],)i([]\)\))216
-b(=)44 b(\([],)e(carryIn\))1905 5255 y Fq(12)p eop
-%%Page: 13 14
-13 13 bop 1441 673 a @beginspecial 0 @llx 0 @lly 243
-@urx 56 @ury 1215 @rwi @setspecial
-%%BeginDocument: Pictures/serial.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--58.0 307.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 6112 m -1000 -1000 l 6013 -1000 l 6013 6112 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 4200 m 2700 4200 l 2700 5100 l 1800 5100 l cp gs col0 s gr 
-% Polyline
-n 3300 4200 m 4200 4200 l 4200 5100 l 3300 5100 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 4620 m 1773 4650 l 1677 4680 l 1815 4680 l 1815 4620 l cp
-clip
-n 1200 4650 m 1800 4650 l gs col0 s gr gr
-
-% arrowhead
-n 1677 4620 m 1773 4650 l 1677 4680 l 1653 4650 l 1677 4620 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 4620 m 3273 4650 l 3177 4680 l 3315 4680 l 3315 4620 l cp
-clip
-n 2700 4650 m 3300 4650 l gs col0 s gr gr
-
-% arrowhead
-n 3177 4620 m 3273 4650 l 3177 4680 l 3153 4650 l 3177 4620 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 4620 m 4773 4650 l 4677 4680 l 4815 4680 l 4815 4620 l cp
-clip
-n 4200 4650 m 4800 4650 l gs col0 s gr gr
-
-% arrowhead
-n 4677 4620 m 4773 4650 l 4677 4680 l 4653 4650 l 4677 4620 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-975 4725 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2925 4575 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4875 4725 m
-gs 1 -1 sc (c) col0 sh gr
-/Courier ff 270.00 scf sf
-1875 4725 m
-gs 1 -1 sc (circ1) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 4725 m
-gs 1 -1 sc (circ2) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1014 856 a Fq(Figure)27 b(3.1:)36 b(Serial)27
-b(comp)r(osition)g(of)h Fp(circ1)d Fq(and)j Fp(circ2)p
-Fq(.)1428 1630 y @beginspecial 0 @llx 0 @lly 249 @urx
-158 @ury 1245 @rwi @setspecial
-%%BeginDocument: Pictures/circF.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--99.0 180.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4000 m -1000 -1000 l 6786 -1000 l 6786 4000 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 3150 1200 m 4050 1200 l 4050 2100 l 3150 2100 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-3027 1620 m 3123 1650 l 3027 1680 l 3165 1680 l 3165 1620 l cp
-clip
-n 2550 1650 m 3150 1650 l gs col0 s gr gr
-
-% arrowhead
-n 3027 1620 m 3123 1650 l 3027 1680 l 3003 1650 l 3027 1620 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3630 1077 m 3600 1173 l 3570 1077 l 3570 1215 l 3630 1215 l cp
-clip
-n 3600 600 m 3600 1200 l gs col0 s gr gr
-
-% arrowhead
-n 3630 1077 m 3600 1173 l 3570 1077 l 3600 1053 l 3630 1077 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3630 2577 m 3600 2673 l 3570 2577 l 3570 2715 l 3630 2715 l cp
-clip
-n 3600 2100 m 3600 2700 l gs col0 s gr gr
-
-% arrowhead
-n 3630 2577 m 3600 2673 l 3570 2577 l 3600 2553 l 3630 2577 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4527 1620 m 4623 1650 l 4527 1680 l 4665 1680 l 4665 1620 l cp
-clip
-n 4050 1650 m 4650 1650 l gs col0 s gr gr
-
-% arrowhead
-n 4527 1620 m 4623 1650 l 4527 1680 l 4503 1650 l 4527 1620 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-1650 1725 m
-gs 1 -1 sc (carryIn) col0 sh gr
-/Courier ff 270.00 scf sf
-3525 1725 m
-gs 1 -1 sc (F) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4725 1725 m
-gs 1 -1 sc (carryOut) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3525 525 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3525 3000 m
-gs 1 -1 sc (b) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 891 1813 a(Figure)f(3.2:)36 b(A)28 b(circuit)g
-Fj(F)39 b Fq(pro)r(cessing)26 b(an)i(input)g Fp(a)f Fq(and)h(a)f(carry)
--7 b(.)602 2078 y Fp(adder)41 b(\(carryIn,)f(\(a:as,)h(b:bs\)\))g(=)j
-(\(sum:sums,)39 b(carryOut\))689 2178 y(where)776 2277
-y(\(sum,)j(carry\))215 b(=)43 b(fullAdd)e(\(carryIn,)f(\(a,)i(b\)\))776
-2377 y(\(sums,)f(carryOut\))f(=)j(adder)f(\(carry,)f(\(as,)h(bs\)\))515
-2691 y Fm(3.2)135 b(Connection)46 b(P)l(atterns)515 2913
-y Fq(Lo)r(oking)30 b(at)h(the)h(t)n(w)n(o)f(circuit)h(de\014nitions)f
-(in)h(the)g(previous)e(section,)i(w)n(e)g(can)f(see)g(that)515
-3013 y(they)e(ha)n(v)n(e)e(a)i(lot)f(in)h(common.)40
-b(Ev)n(en)28 b(though)g(the)h Fn(gates)h Fq(that)f(they)g(use)f(are)g
-(di\013eren)n(t,)515 3112 y(their)f Fn(structur)l(e)f
-Fq(is)i(v)n(ery)e(similar.)515 3252 y(In)h(La)n(v)-5
-b(a,)26 b(w)n(e)h(can)f(capture)h(these)g(common)g(structures)f(in)h
-Fn(c)l(onne)l(ction)i(p)l(atterns)p Fq(.)37 b(Con-)515
-3351 y(nection)23 b(patterns)g(are)g(higher-order)e(circuits;)k
-(circuits)e(that)h(build)g(circuits)f(from)h(other)515
-3451 y(circuits.)515 3590 y(A)39 b(v)n(ery)e(common)h(connection)h
-(pattern)f(is)h(the)g Fn(serial)h Fq(comp)r(osition)e
-Fp(serial)e Fq(of)j(t)n(w)n(o)515 3690 y(circuits)30
-b(\(see)h(\014gure)f(3.1\).)46 b(It)31 b(is)f(a)h(circuit)f
-Fn(p)l(ar)l(ametrize)l(d)j Fq(b)n(y)d(t)n(w)n(o)g(circuits)g
-Fp(circ1)f Fq(and)515 3790 y Fp(circ2)p Fq(.)k(This)24
-b(means)g(that)g Fp(serial)41 b(circ1)h(circ2)22 b Fq(is)i(a)f
-(circuit,)i(whic)n(h)f(feeds)g(its)g(input)515 3889 y
-Fp(a)33 b Fq(to)g Fp(circ1)p Fq(,)g(connects)h(the)f(output)i
-Fp(b)e Fq(of)g(it)h(to)g(the)g(input)g(of)f Fp(circ2)p
-Fq(,)g(and)h(results)f(in)515 3989 y(that)28 b(output)g
-Fp(c)p Fq(.)602 4175 y Fp(serial)41 b(circ1)h(circ2)f(a)i(=)g(c)689
-4274 y(where)776 4374 y(b)g(=)h(circ1)d(a)776 4474 y(c)i(=)h(circ2)d(b)
-515 4660 y Fq(More)29 b(in)n(teresting)g(connection)h(patterns)f(app)r
-(ear)h(when)g(w)n(e)g(lo)r(ok)f(at)h(recursiv)n(e)e(circuit)515
-4759 y(structures.)39 b(F)-7 b(or)28 b(example,)g(instead)h(of)f(the)h
-(half)g(adder)f(circuit)g(in)h(the)g Fp(addBit)d Fq(de\014ni-)515
-4859 y(tion,)32 b(w)n(e)g(can)f(plug)g(in)h(an)n(y)f(other)g(circuit.)
-49 b(The)32 b(result)f(consists)g(of)g(a)g Fn(r)l(ow)h
-Fq(of)g(smaller)515 4959 y(circuits)27 b(\(see)h(\014gure)e(3.2)h(and)h
-(3.3\).)1905 5255 y(13)p eop
-%%Page: 14 15
-14 14 bop 791 1119 a @beginspecial 0 @llx 0 @lly 555
-@urx 163 @ury 2775 @rwi @setspecial
-%%BeginDocument: Pictures/rowF.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--18.0 419.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Helvetica /Helvetica-iso isovec ReEncode
-/Courier /Courier-iso isovec ReEncode
-/Times-Italic /Times-Italic-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 7975 m -1000 -1000 l 10536 -1000 l 10536 7975 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr 
-% Polyline
-n 3300 5100 m 4200 5100 l 4200 6000 l 3300 6000 l cp gs col0 s gr 
-% Polyline
- [15 45] 45 sd
-n 4200 5550 m 5400 5550 l gs col0 s gr  [] 0 sd
-% Polyline
-n 5400 5100 m 6300 5100 l 6300 6000 l 5400 6000 l cp gs col0 s gr 
-% Polyline
-n 6900 5100 m 7800 5100 l 7800 6000 l 6900 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp
-clip
-n 1200 5550 m 1800 5550 l gs col0 s gr gr
-
-% arrowhead
-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp
-clip
-n 2700 5550 m 3300 5550 l gs col0 s gr gr
-
-% arrowhead
-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 4977 m 2250 5073 l 2220 4977 l 2220 5115 l 2280 5115 l cp
-clip
-n 2250 4500 m 2250 5100 l gs col0 s gr gr
-
-% arrowhead
-n 2280 4977 m 2250 5073 l 2220 4977 l 2250 4953 l 2280 4977 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp
-clip
-n 2250 6000 m 2250 6600 l gs col0 s gr gr
-
-% arrowhead
-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3780 6477 m 3750 6573 l 3720 6477 l 3720 6615 l 3780 6615 l cp
-clip
-n 3750 6000 m 3750 6600 l gs col0 s gr gr
-
-% arrowhead
-n 3780 6477 m 3750 6573 l 3720 6477 l 3750 6453 l 3780 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3780 4977 m 3750 5073 l 3720 4977 l 3720 5115 l 3780 5115 l cp
-clip
-n 3750 4500 m 3750 5100 l gs col0 s gr gr
-
-% arrowhead
-n 3780 4977 m 3750 5073 l 3720 4977 l 3750 4953 l 3780 4977 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-5880 4977 m 5850 5073 l 5820 4977 l 5820 5115 l 5880 5115 l cp
-clip
-n 5850 4500 m 5850 5100 l gs col0 s gr gr
-
-% arrowhead
-n 5880 4977 m 5850 5073 l 5820 4977 l 5850 4953 l 5880 4977 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-5880 6477 m 5850 6573 l 5820 6477 l 5820 6615 l 5880 6615 l cp
-clip
-n 5850 6000 m 5850 6600 l gs col0 s gr gr
-
-% arrowhead
-n 5880 6477 m 5850 6573 l 5820 6477 l 5850 6453 l 5880 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6777 5520 m 6873 5550 l 6777 5580 l 6915 5580 l 6915 5520 l cp
-clip
-n 6300 5550 m 6900 5550 l gs col0 s gr gr
-
-% arrowhead
-n 6777 5520 m 6873 5550 l 6777 5580 l 6753 5550 l 6777 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-8277 5520 m 8373 5550 l 8277 5580 l 8415 5580 l 8415 5520 l cp
-clip
-n 7800 5550 m 8400 5550 l gs col0 s gr gr
-
-% arrowhead
-n 8277 5520 m 8373 5550 l 8277 5580 l 8253 5550 l 8277 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-7380 4977 m 7350 5073 l 7320 4977 l 7320 5115 l 7380 5115 l cp
-clip
-n 7350 4500 m 7350 5100 l gs col0 s gr gr
-
-% arrowhead
-n 7380 4977 m 7350 5073 l 7320 4977 l 7350 4953 l 7380 4977 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-7380 6477 m 7350 6573 l 7320 6477 l 7320 6615 l 7380 6615 l cp
-clip
-n 7350 6000 m 7350 6600 l gs col0 s gr gr
-
-% arrowhead
-n 7380 6477 m 7350 6573 l 7320 6477 l 7350 6453 l 7380 6477 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica-iso ff 270.00 scf sf
-300 5625 m
-gs 1 -1 sc (carryIn) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-2100 4425 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-2100 6900 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-3600 4425 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-3600 6900 m
-gs 1 -1 sc (b) col0 sh gr
-/Courier-iso ff 270.00 scf sf
-2175 5625 m
-gs 1 -1 sc (F) col0 sh gr
-/Courier-iso ff 270.00 scf sf
-3675 5625 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-2250 4500 m
-gs 1 -1 sc (1) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-3750 4500 m
-gs 1 -1 sc (2) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-3750 6975 m
-gs 1 -1 sc (2) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-2250 6975 m
-gs 1 -1 sc (1) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-8475 5625 m
-gs 1 -1 sc (carryOut) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-5475 4425 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-5475 6900 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-7200 4425 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica-iso ff 270.00 scf sf
-7200 6900 m
-gs 1 -1 sc (b) col0 sh gr
-/Courier-iso ff 270.00 scf sf
-5775 5625 m
-gs 1 -1 sc (F) col0 sh gr
-/Courier-iso ff 270.00 scf sf
-7275 5625 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-5625 4500 m
-gs 1 -1 sc (\(n-1\)) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-5625 6975 m
-gs 1 -1 sc (\(n-1\)) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-7350 6975 m
-gs 1 -1 sc (n) col0 sh gr
-/Times-Italic-iso ff 270.00 scf sf
-7350 4500 m
-gs 1 -1 sc (n) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 847 1302 a Fq(Figure)27 b(3.3:)36 b(The)28
-b(pattern)f Fp(row)g Fj(F)12 b Fq(,)27 b(connecting)g
-Fj(n)h Fq(instances)f(of)h Fj(F)12 b Fq(.)515 1550 y(Here)27
-b(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(the)f Fp(row)g Fq(connection)g
-(pattern.)602 1718 y Fp(row)42 b(circ)g(\(carryIn,)e([]\))130
-b(=)43 b(\([],)f(carryIn\))602 1917 y(row)g(circ)g(\(carryIn,)e(a:as\))
-i(=)h(\(b:bs,)e(carryOut\))689 2017 y(where)776 2117
-y(\(b,)i(carry\))215 b(=)43 b(circ)f(\(carryIn,)e(a\))776
-2216 y(\(bs,)i(carryOut\))e(=)j(row)g(circ)e(\(carry,)g(as\))515
-2385 y Fq(Once)25 b(w)n(e)g(ha)n(v)n(e)g(made)g(this)h(de\014nition,)g
-(w)n(e)g(do)f(not)h(need)f(to)h(use)f(recursion)f(an)n(ymore)g(to)515
-2485 y(de\014ne)k(circuits)f(of)g(this)h(sp)r(eci\014c)g(pattern.)515
-2624 y(Here)f(are)g(alternativ)n(e)f(de\014nitions)i(of)f
-Fp(bitAdder)e Fq(and)i Fp(adder)p Fq(:)602 2793 y Fp(bitAdder')40
-b(\(carry,)g(inps\))i(=)h(row)f(halfAdd)f(\(carry,)g(inps\))602
-2892 y(adder')172 b(\(carry,)40 b(inps\))i(=)h(row)f(fullAdd)f
-(\(carry,)g(inps\))515 3061 y Fq(Doing)33 b(so)g(not)h(only)f(mak)n(es)
-g(the)h(circuit)f(descriptions)g(shorter.)54 b(F)-7 b(or)33
-b(someb)r(o)r(dy)g(who)515 3160 y(kno)n(ws)21 b(ho)n(w)g(the)i(pattern)
-f Fp(row)e Fq(is)i(de\014ned,)i(it)e(is)g(m)n(uc)n(h)g(easier)f(to)h
-(understand)g(the)g(circuit)515 3260 y(de\014nition.)36
-b(It)27 b(is)f(also)f(v)n(ery)f(con)n(v)n(enien)n(t)h(to)h(b)r(e)h
-(able)e(to)h(mix)g(these)g(t)n(w)n(o)g(di\013eren)n(t)g(st)n(yles)515
-3360 y(of)h(descriptions.)515 3499 y(Note)f(that)g(the)g(reason)e(wh)n
-(y)h(w)n(e)h(c)n(hose)f(the)h(input)g(to)g Fp(fullAdd)d
-Fq(to)j(ha)n(v)n(e)e(the)i(particular)515 3599 y(form)32
-b(it)h(has)f(is)h(b)r(ecause)f(w)n(e)g(w)n(an)n(ted)g(it)h(to)f(b)r(e)h
-(used)g(with)g Fp(row)p Fq(.)51 b(W)-7 b(e)33 b(will)g(alw)n(a)n(ys)d
-(use)515 3698 y(that)i(con)n(v)n(en)n(tion,)f(so)h(that)g(it)g(is)g
-(easier)e(to)i(use)g(circuits)f(with)i(prede\014ned)f(connection)515
-3798 y(patterns.)515 3937 y(Ev)n(en)26 b(shorter)h(de\014nitions)g(of)h
-(the)g(same)f(circuits)g(are:)602 4106 y Fp(bitAdder')40
-b(=)j(row)f(halfAdd)602 4206 y(adder')172 b(=)43 b(row)f(fullAdd)515
-4374 y Fq(Note)27 b(that)h(the)g Fn(typ)l(e)g Fq(of)g
-Fp(adder')d Fq(is)i(sligh)n(tly)g(di\013eren)n(t)h(from)f
-Fp(adder)p Fq(,)f(see)h(exercise)g(3.3.)515 4685 y Fm(3.3)135
-b(Arithmetic)515 4907 y Fq(In)27 b(La)n(v)-5 b(a,)26
-b(w)n(e)h(can)g(not)g(only)g(deal)g(with)h(lo)n(w-lev)n(el)e(wire)g(t)n
-(yp)r(es)i(lik)n(e)e(bits,)i(and)f(gates)f(lik)n(e)515
-5006 y Fp(and2)e Fq(and)h Fp(xor2)p Fq(,)g(but)h(also)f(with)h(more)f
-(abstract)g(wire)g(t)n(yp)r(es)h(and)g(gates.)35 b(One)25
-b(of)h(these)1905 5255 y(14)p eop
-%%Page: 15 16
-15 15 bop 515 523 a Fq(t)n(yp)r(es)27 b(is)h(in)n(tegers.)515
-663 y(On)h(these)g(in)n(tegers,)g(w)n(e)g(ha)n(v)n(e)f(op)r(erations)g
-(corresp)r(onding)f(to)i(abstract)f(gates)h(o)n(v)n(er)e(in-)515
-762 y(tegers.)36 b(A)27 b(list)h(of)g(these)g(gates)e(can)h(b)r(e)h
-(found)g(in)g(app)r(endix)g(A.)515 902 y(A)33 b(simple)g(circuit)g
-(using)g(these)g(arithmetical)g(gates)f(is)h(called)g
-Fp(numBreak)p Fq(.)50 b(It)33 b(tak)n(es)f(a)515 1001
-y(n)n(um)n(b)r(er)e(as)h(input,)h(and)f(has)g(a)f(pair)g(of)h(a)g(bit)g
-(and)g(a)g(n)n(um)n(b)r(er)f(as)h(output.)47 b(The)31
-b(bit)h(in)515 1101 y(the)i(pair)g(corresp)r(onds)e(to)i(the)g(v)-5
-b(alue)34 b(of)g(the)h(\014rst)f(binary)f(digit)h(of)g(the)h(n)n(um)n
-(b)r(er;)i(the)515 1200 y(resulting)27 b(n)n(um)n(b)r(er)g(is)h(the)g
-(input)g(n)n(um)n(b)r(er)f(divided)h(b)n(y)f(2.)602 1386
-y Fp(numBreak)40 b(num)j(=)g(\(bit,)e(num'\))689 1486
-y(where)776 1586 y(digit)h(=)h(imod)f(\(num,)f(2\))776
-1685 y(bit)130 b(=)43 b(int2bit)e(digit)776 1785 y(num')86
-b(=)43 b(idiv)f(\(num,)f(2\))515 1971 y Fq(The)24 b(circuit)f
-Fp(int2bit)e Fq(con)n(v)n(erts)h(a)i(n)n(um)n(b)r(er)f(in)n(to)h(a)f
-(bit,)i(b)n(y)f(transforming)e(a)h(0)h(in)n(to)f Fp(low)p
-Fq(,)515 2071 y(and)k(an)n(y)g(other)g(n)n(um)n(b)r(er)g(in)n(to)h
-Fp(high)p Fq(.)515 2210 y(W)-7 b(e)31 b(can)g(use)g(this)h
-(arithmetical)f(circuit)g(to)g(build)h(a)f(circuit)g(that)h(con)n(v)n
-(erts)d(a)i(n)n(um)n(b)r(er)515 2310 y(in)n(to)36 b(a)h(binary)f(n)n
-(um)n(b)r(er,)j(that)e(is,)j(a)c(list)h(of)g(bits.)65
-b(The)37 b(circuit)g(tak)n(es)f(a)g(parameter,)515 2409
-y(corresp)r(onding)e(to)i(the)h(size)f(of)g(the)h(list)f(it)h(has)f(to)
-g(pro)r(duce,)i(and)e(has)g(as)g(input)h(the)515 2509
-y(n)n(um)n(b)r(er)27 b(that)h(needs)f(to)h(b)r(e)g(con)n(v)n(erted.)515
-2648 y(The)d(con)n(v)n(erter)f Fp(int2bin)f Fq(con)n(v)n(erts)h(an)h
-(in)n(teger)g(to)g(a)h(binary)f(n)n(um)n(b)r(er.)35 b(It)26
-b(has)g(an)f(extra)515 2748 y Fn(p)l(ar)l(ameter)p Fq(,)32
-b(whic)n(h)f(sp)r(eci\014es)f(the)i(n)n(um)n(b)r(er)e(of)h(bits)g(the)g
-(binary)f(n)n(um)n(b)r(er)h(should)f(ha)n(v)n(e.)515
-2848 y(Note)25 b(again)f(that)h(parameters)e(of)j(circuits)e(are)g
-(di\013eren)n(t)i(from)e(inputs;)j Fp(int2bin)22 b Fq(is)j(not)515
-2947 y(really)g(a)h(circuit,)h(but)g Fp(int2bin)40 b(16)26
-b Fq(is.)37 b(W)-7 b(e)26 b(de\014ne)h(this)g(circuit)f(b)n(y)g
-(recursion)f(o)n(v)n(er)g(the)515 3047 y(size)i(of)h(the)g(binary)e(n)n
-(um)n(b)r(er.)602 3233 y Fp(int2bin)41 b(0)i(num)f(=)h([])602
-3432 y(int2bin)e(n)i(num)f(=)h(\(bit:bits\))689 3532
-y(where)776 3631 y(\(bit,num'\))d(=)j(numBreak)d(num)776
-3731 y(bits)304 b(=)43 b(int2bin)e(\(n-1\))g(num')515
-3917 y Fq(Other)27 b(arithmetical)g(gates)g(include)g
-Fp(plus)p Fq(,)g Fp(times)p Fq(,)e(etc.)515 4056 y(Here)i(are)g(some)g
-(example)g(sim)n(ulations)g(of)g(these)h(circuits:)602
-4242 y Fp(Main>)41 b Fl(simulate)g(numBreak)f(7)602 4342
-y Fp(\(high,3\))602 4541 y(Main>)h Fl(simulate)g(\(int2bin)f(3\))j(7)
-602 4641 y Fp([high,)e(high,)h(high])1905 5255 y Fq(15)p
-eop
-%%Page: 16 17
-16 16 bop 515 523 a Fm(3.4)135 b(Compilation)515 745
-y Fq(As)38 b(so)r(on)f(as)g(w)n(e)g(start)g(writing)h(bigger)e
-(circuits,)k(the)f(need)e(migh)n(t)h(arise)f(to)g Fn(c)l(ompile)515
-844 y Fq(them.)48 b(So)31 b(far,)g(w)n(e)g(ha)n(v)n(e)f(only)h(used)g
-(an)g(in)n(terpreter,)g(whic)n(h)g(can)g(b)r(e)h(a)e(little)i(bit)g
-(slo)n(w)515 944 y(for)25 b(larger)f(pro)5 b(jects.)35
-b(Compiling)25 b(can)h(b)r(e)g(done)f(b)n(y)h(running)f(the)h
-Fp(lava)e Fq(command)i(with)515 1044 y(the)i(option)f
-Fp(-c)p Fq(.)515 1183 y(But)32 b(\014rst,)g(w)n(e)f(m)n(ust)h(sp)r
-(ecify)f(what)h(w)n(e)f(w)n(an)n(t)g(the)h(compiled)f(program)f(to)h
-(do.)48 b(W)-7 b(e)32 b(do)515 1283 y(this)23 b(b)n(y)f(making)g(a)g
-(de\014nition)h(for)f(the)h(function)h Fp(main)d Fq(in)i(the)g(\014le)g
-(w)n(e)f(are)g(w)n(orking)f(with.)515 1382 y(F)-7 b(or)27
-b(example,)g(if)h(w)n(e)f(w)n(an)n(t)g(to)h(sim)n(ulate)f(an)g(adder,)g
-(w)n(e)g(migh)n(t)h(de\014ne:)602 1561 y Fp(main)42 b(=)h(print)f
-(\(simulate)d(adder)j(\(high,\([high,low)o(],)o([lo)o(w,)o(hig)o(h])o
-(\)\))o(\))515 1740 y Fq(Then,)28 b(w)n(e)f(run)g(the)h(La)n(v)-5
-b(a)27 b(compiler,)g(b)n(y)g(in)n(v)n(oking:)602 1918
-y Fp(\045)43 b Fl(lava)f(-c)h(First)602 2018 y Fp(--)g(Lava2000)d
-(----------------)o(--)o(---)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o
-(--)o(---)o(--)o(--)o(---)o(-)602 2118 y(Compiling)g(First)h(...)602
-2217 y(...)515 2396 y Fq(The)23 b(compiler)g(has)h(no)n(w)f(pro)r
-(duced)g(an)g(executable)h(program,)e(called)h Fp(First)p
-Fq(,)g(whic)n(h)g(w)n(e)515 2495 y(can)k(run)g(b)n(y)h(sa)n(ying:)602
-2674 y Fp(\045)43 b Fl(First)602 2774 y Fp(\([high,low],high)o(\))515
-2952 y Fq(F)-7 b(or)27 b(more)g(con)n(trol)f(o)n(v)n(er)g(the)i
-(compilation)f(pro)r(cess,)f(see)h(app)r(endix)h(A.1.)515
-3265 y Fm(3.5)135 b(Exercises)575 3478 y Fq(3.1)40 b(De\014ne)27
-b(a)f(bit)h(subtractor,)e(called)h Fp(bitSubber)p Fq(,)d(whic)n(h)k
-(tak)n(es)e(a)h(bit)h(and)f(a)g(binary)722 3578 y(n)n(um)n(b)r(er)i(as)
-f(input,)h(and)f(subtracts)g(the)h(bit)g(from)g(the)g(binary)f(n)n(um)n
-(b)r(er.)575 3740 y(3.2)40 b(De\014ne)29 b(a)f(binary)g(adder,)g
-(called)g Fp(adder2)p Fq(,)e(whic)n(h)i(do)r(es)g(not)h(tak)n(e)e(in)i
-(a)f(carry)e(bit,)722 3840 y(and)i(thro)n(ws)e(a)n(w)n(a)n(y)g(the)i
-(resulting)f(carry)-7 b(.)575 4002 y(3.3)40 b(What)e(is)g(the)g
-(di\013erence)g(b)r(et)n(w)n(een)g Fp(adder)d Fq(and)j
-Fp(adder')p Fq(?)65 b(Hin)n(t:)58 b(lo)r(ok)37 b(at)h(the)722
-4102 y(t)n(yp)r(es)28 b(of)f(the)h(inputs.)575 4264 y(3.4)40
-b(De\014ne)28 b(a)g(circuit)f Fp(bin2int)p Fq(,)e(whic)n(h)j(con)n(v)n
-(erts)d(a)j(bit)g(v)n(ector)e(in)n(to)h(an)h(in)n(teger.)575
-4427 y(3.5)40 b(De\014ne)29 b(the)g(circuit)f Fp(zipp)p
-Fq(,)f(whic)n(h)i(tak)n(es)e(a)h(pair)g(of)g(list)h(as)f(inputs)h(and)f
-(pro)r(duces)722 4526 y(a)f(list)h(of)g(pairs,)f(one)g(b)n(y)g(one)g
-(group)r(ed)g(together.)809 4717 y Fp(Main>)42 b Fl(simulate)e(zipp)i
-(\([low,high,low],[)o(hi)o(gh)o(,hi)o(gh)o(,lo)o(w])o(\))809
-4816 y Fp([\(low,high\),\(high)o(,hi)o(gh)o(\),\()o(lo)o(w,)o(low)o
-(\)])722 5006 y Fq(Also)28 b(de\014ne)f(the)h(circuit)g
-Fp(unzipp)p Fq(,)d(whic)n(h)j(is)f(the)h(in)n(v)n(erse)e(of)i
-Fp(zipp)p Fq(.)1905 5255 y(16)p eop
-%%Page: 17 18
-17 17 bop 575 523 a Fq(3.6)40 b(De\014ne)29 b(the)f(circuit)g
-Fp(pair)p Fq(,)f(whic)n(h)h(tak)n(es)f(a)h(list)g(as)f(input)i(and)f
-(pro)r(duces)f(a)h(list)g(of)722 623 y(pairs,)f(with)h(the)g(neigh)n(b)
-r(ours)e(group)r(ed)h(together.)809 822 y Fp(Main>)42
-b Fl(simulate)e(pair)i(\([low,high,low,hi)o(gh)o(,h)o(igh)o(,l)o(ow])o
-(\))809 922 y Fp([\(low,high\),\(low,)o(hig)o(h\))o(,\(h)o(ig)o(h,)o
-(low)o(\)])722 1121 y Fq(Also)28 b(de\014ne)f(the)h(circuit)g
-Fp(unpair)p Fq(,)d(whic)n(h)j(is)f(the)h(in)n(v)n(erse)e(of)i
-Fp(pair)p Fq(.)575 1287 y(3.7)40 b(De\014ne)i(a)f(connection)g(pattern)
-g(called)g Fp(par)f Fq(whic)n(h)i(turns)f(t)n(w)n(o)f(circuits,)45
-b(eac)n(h)722 1386 y(taking)33 b(in)h(one)g(input)g(and)g(ha)n(ving)e
-(one)h(output,)j(in)n(to)e(one)f(circuit)g(taking)h(in)f(a)722
-1486 y(pair)27 b(of)h(inputs)g(and)f(ha)n(ving)g(a)g(pair)g(of)g
-(outputs.)575 1652 y(3.8)40 b(De\014ne,)31 b(using)e(recursion,)f(a)h
-(binary)g(m)n(ultiplier.)42 b(What)30 b(is)f(the)h(recursiv)n(e)e
-(struc-)722 1752 y(ture?)575 1918 y(3.9)40 b(Lo)r(oking)20
-b(at)h(the)h(de\014nition)g(of)f Fp(row)p Fq(,)g(de\014ne)h(a)f
-(connection)g(pattern)g(called)f Fp(column)722 2017 y
-Fq(whic)n(h)32 b(carries)e(the)j(righ)n(t)e(part)g(of)h(the)g(input)h
-(and)f(the)g(left)h(part)e(of)h(the)h(output)722 2117
-y(through.)722 2250 y(\(*\))28 b(Can)f(y)n(ou)g(de\014ne)h
-Fp(column)d Fq(in)j(terms)f(of)h Fp(row)p Fq(?)533 2416
-y(3.10)40 b(De\014ne)33 b(a)f(connection)g(pattern)g(called)g
-Fp(grid)p Fq(,)g(whic)n(h)h(puts)f(a)g(n)n(um)n(b)r(er)g(of)h(copies)
-722 2516 y(of)g(circuits)g(in)g(a)f(matrix.)53 b(The)33
-b(left)g(parts)g(of)g(the)g(inputs)g(are)f(carried)g(through)722
-2615 y(from)22 b(left)h(to)f(righ)n(t,)h(and)f(the)g(righ)n(t)g(parts)f
-(of)h(the)h(inputs)g(and)f(outputs)g(are)f(carried)722
-2715 y(through)27 b(from)g(top)h(to)f(b)r(ottom.)722
-2848 y(Hin)n(t:)38 b(think)28 b(of)f(a)h(grid)e(as)h(a)h(ro)n(w)e(of)h
-(columns)h(\(or)f(a)g(column)g(of)h(ro)n(ws\).)533 3014
-y(3.11)40 b(Can)31 b(y)n(ou)f(think)i(of)f(a)g(useful)g(circuit)g(that)
-h(mak)n(es)e(use)h(of)g(the)g Fp(grid)f Fq(connection)722
-3113 y(pattern?)533 3279 y(3.12)40 b(Lo)r(oking)22 b(at)h(the)g
-(recursiv)n(e)e(de\014nition)i(of)g(an)f(adder,)h(de\014ne)g(a)f
-(simple)h(subtractor.)722 3379 y(It)30 b(will)g(only)f(ha)n(v)n(e)f(to)
-i(subtract)f(smaller)f(n)n(um)n(b)r(ers)h(from)g(bigger)f(n)n(um)n(b)r
-(ers.)42 b(Can)722 3479 y(y)n(ou)27 b(use)h(an)n(y)f(of)h(the)h
-(connection)e(patterns)h(describ)r(ed)f(in)i(this)f(c)n(hapter)f(to)h
-(mak)n(e)722 3578 y(a)f(non-recursiv)n(e)f(description?)533
-3744 y(3.13)40 b(De\014ne)35 b(a)f(sw)n(app)r(er,)h(a)f(circuit)g(that)
-h(tak)n(es)e(in)i(t)n(w)n(o)e(inputs:)51 b(an)34 b(activ)-5
-b(ate)34 b(signal)722 3844 y(and)d(a)g(pair)g(of)g(signals,)g(and)h
-(the)f(output)h(is)f(a)g(pair)g(of)g(signals.)47 b(If)32
-b(the)f(activ)-5 b(ate)722 3944 y(signal)32 b(is)g(high,)h(the)g(order)
-d(of)j(the)f(input)h(pair)f(is)g(sw)n(app)r(ed,)h(otherwise)e(is)h(sta)
-n(ys)722 4043 y(the)c(same.)809 4242 y Fp(swapper)41
-b(\(swap,)g(\(a,)i(b\)\))f(=)h(\(x,)f(y\))897 4342 y(where)f(...)533
-4541 y Fq(3.14)f(De\014ne)29 b(a)f(comparator,)e(a)i(circuit)g(that)h
-(tak)n(es)e(in)i(t)n(w)n(o)e(binary)h(n)n(um)n(b)r(ers)f(of)i(equal)722
-4641 y(length)c(and)g(tells)g(y)n(ou)f(if)h(the)h(left)f(one)g(is)f
-(less)h(than)g(or)f(equal)g(than)h(the)g(righ)n(t)f(one.)533
-4807 y(3.15)40 b(Implemen)n(t)34 b(a)f(binary)g(sorter.)53
-b(It)34 b(tak)n(es)e(as)h(an)g(input)i(t)n(w)n(o)d(binary)h(n)n(um)n(b)
-r(ers)g(of)722 4907 y(equal)27 b(length,)h(and)g(outputs)f(them)i(in)e
-(the)h(correct)f(order.)1905 5255 y(17)p eop
-%%Page: 18 19
-18 18 bop 515 1186 a Fo(Chapter)64 b(4)515 1641 y Fs(V)-19
-b(eri\014cation)515 2112 y Fq(In)32 b(this)h(c)n(hapter)f(w)n(e)g
-(describ)r(e)g(ho)n(w)f(w)n(e)i(can)f(de\014ne)g(prop)r(erties)g(of)g
-(circuits,)h(and)g(ho)n(w)515 2212 y(w)n(e)27 b(can)g(formally)g(v)n
-(erify)g(these)g(prop)r(erties)g(using)g(a)g(theorem)h(pro)n(v)n(er.)
-515 2526 y Fm(4.1)135 b(Simple)46 b(Prop)t(erties)515
-2748 y Fq(The)25 b(main)f(kind)i(of)e(prop)r(erties)g(of)h(circuits)g
-(w)n(e)f(deal)h(with)g(in)g(La)n(v)-5 b(a)24 b(are)g(so-called)f
-Fn(safety)515 2847 y(pr)l(op)l(erties)p Fq(.)45 b(These)29
-b(are)g(prop)r(erties)g(whic)n(h)g(can)h(b)r(e)g(de\014ned)g(in)g(suc)n
-(h)g(a)f(w)n(a)n(y)g(that)h(they)515 2947 y(state)d(that)h(some)f
-(condition)g(is)h Fn(always)h Fq(true)f(\(or,)f(equiv)-5
-b(alen)n(tly)e(,)27 b(nev)n(er)g(false\).)515 3087 y(Here)f(is)g(an)f
-(example;)i(a)f(prop)r(ert)n(y)f(that)h(c)n(hec)n(ks)f(that)h(the)h
-(outputs)f(of)h(a)e(half)i(adder)e(are)515 3186 y(nev)n(er)h(b)r(oth)i
-(true.)602 3372 y Fp(prop_HalfAddOutp)o(ut)o(Nev)o(er)o(Bot)o(hT)o(ru)o
-(e)38 b(\(a,)k(b\))h(=)g(ok)689 3472 y(where)776 3571
-y(\(sum,)f(carry\))f(=)i(halfAdd)e(\(a,)h(b\))776 3671
-y(ok)479 b(=)43 b(nand2)f(\(sum,)f(carry\))515 3857 y
-Fq(Note)28 b(that)h(this)g(prop)r(ert)n(y)e(lo)r(oks)h(prett)n(y)g(m)n
-(uc)n(h)h(lik)n(e)f(a)g(normal)g(circuit)g(de\014nition,)h(and)515
-3957 y(in)f(fact)f(it)h(is.)515 4096 y(The)e(actual)g(v)n
-(eri\014cation)e(question)i(is:)36 b(do)r(es)26 b(this)h(prop)r(ert)n
-(y)e(circuit)h(alw)n(a)n(ys)e(yield)i(true,)515 4196
-y(no)21 b(matter)h(what)g(the)h(input)g(is?)35 b(T)-7
-b(o)21 b(answ)n(er)g(the)h(question,)h(w)n(e)f(use)g(the)g(La)n(v)-5
-b(a)21 b(op)r(eration)515 4295 y Fp(verify)p Fq(.)602
-4481 y Fp(Main>)41 b Fl(verify)h(prop_HalfAddOut)o(pu)o(tNe)o(ve)o(rBo)
-o(th)o(Tru)o(e)602 4581 y Fp(Proving:)e(...)j(Valid.)515
-4767 y Fq(This)30 b(pro)r(cess)f(w)n(orks)f(in)j(the)f(follo)n(wing)g
-(w)n(a)n(y)-7 b(.)43 b(Just)30 b(as)g(w)n(e)g(can)f(generate)g(VHDL)i
-(from)515 4867 y(a)36 b(circuit)g(description,)i(w)n(e)e(can)g(also)f
-(generate)g(a)h(logical)f(form)n(ula)h(represen)n(ting)f(the)515
-4966 y(circuit.)j(This)27 b(logical)g(form)n(ula)g(is)h(then)g(giv)n
-(en)f(to)h(an)g(external)f(theorem)g(pro)n(v)n(er)f(whic)n(h)1905
-5255 y(18)p eop
-%%Page: 19 20
-19 19 bop 515 523 a Fq(will)34 b(pro)n(v)n(e)f(\(or)h(dispro)n(v)n(e\))
-f(the)i(v)-5 b(alidit)n(y)35 b(of)f(the)h(form)n(ula.)56
-b(The)35 b(result)f(is)h(then)g(tak)n(en)515 623 y(bac)n(k)26
-b(in)n(to)i(La)n(v)-5 b(a.)515 762 y(Here)23 b(is)h(another)f(example;)
-h(w)n(e)g(form)n(ulate)f(that)h(a)f(full)h(adder)f(do)r(es)h(not)f
-(care)g(ab)r(out)h(the)515 862 y(order)29 b(of)i(the)g(argumen)n(ts,)f
-(it)h(will)g(alw)n(a)n(ys)e(pro)r(duce)h(the)h(same)g(result.)46
-b(This)30 b(prop)r(ert)n(y)515 961 y(is)d(in)h(general)e(called)i
-Fn(c)l(ommutativity)p Fq(.)602 1135 y Fp(prop_FullAddComm)o(ut)o(ati)o
-(ve)37 b(\(c,)42 b(\(a,)h(b\)\))f(=)h(ok)689 1234 y(where)776
-1334 y(out1)f(=)h(fullAdd)e(\(c,)h(\(a,)h(b\)\))776 1434
-y(out2)f(=)h(fullAdd)e(\(c,)h(\(b,)h(a\)\))776 1533 y(ok)130
-b(=)43 b(out1)f(<==>)g(out2)515 1707 y Fq(Note)31 b(that,)i(since)e(w)n
-(e)f(are)h(not)g(in)n(terested)g(in)g(the)h(exact)f(shap)r(e)g(of)g
-(the)h(output)f(of)h(the)515 1806 y(t)n(w)n(o)26 b(full)i(adders,)e(w)n
-(e)h(can)f(just)i(giv)n(e)e(a)h(name)g(to)g(the)g(whole)g(output,)h(in)
-f(this)g(case)g Fp(out1)515 1906 y Fq(and)d Fp(out2)p
-Fq(.)34 b(Another)24 b(thing)g(to)g(notice)g(is)g(that)h(w)n(e)f(use)g
-(the)g(general)f(equalit)n(y)h Fp(<==>)p Fq(.)34 b(W)-7
-b(e)515 2006 y(can)27 b(also)f(use)i(the)g(circuit)f
-Fp(equal)f Fq(for)h(that.)515 2317 y Fm(4.2)135 b(Quan)l(ti\014cation)
-515 2539 y Fq(The)25 b(comm)n(utativit)n(y)g(prop)r(ert)n(y)g(is)g(not)
-h(only)f(true)h(for)f(full)h(adders,)f(but)h(also)f(in)g(general)515
-2639 y(for)i(binary)g(adders.)36 b(Here)27 b(is)g(ho)n(w)g(w)n(e)g
-(state)h(that)g(prop)r(ert)n(y:)602 2812 y Fp(prop_AdderCommut)o(at)o
-(ive)37 b(\(as,)42 b(bs\))g(=)h(ok)689 2912 y(where)776
-3011 y(out1)f(=)h(adder2)e(\(as,)h(bs\))776 3111 y(out2)g(=)h(adder2)e
-(\(bs,)h(as\))776 3211 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)515
-3384 y Fq(Note)27 b(that)g(w)n(e)f(use)h(the)g(adder)f
-Fp(adder2)e Fq(w)n(e)i(de\014ned)i(in)f(exercise)e(3.2)h(\(the)h(answ)n
-(er)f(is)g(on)515 3484 y(page)g(80\).)515 3623 y(The)34
-b(problem)f(is)h(that)h(this)f(prop)r(ert)n(y)f(holds)h(for)f
-Fn(al)t(l)i Fq(circuit)f(sizes,)h(but)g(w)n(e)f(can)f(only)515
-3723 y(v)n(erify)f(it)i(for)f(sp)r(eci\014c)h(sizes!)54
-b(This)33 b(is)h(b)r(ecause)f(it)h(is)f(v)n(ery)f(hard)h(to)g(v)n
-(erify)g(prop)r(erties)515 3822 y(automatically)26 b(for)h(all)h
-(sizes.)515 3962 y(So,)38 b(instead)e(of)g(v)n(erifying)e(it)j(for)e
-(all)h(sizes,)i(w)n(e)d(will)i(pic)n(k)e(a)h(sp)r(eci\014c)g(size)g
-(and)g(v)n(erify)515 4062 y(the)27 b(prop)r(ert)n(y)f(for)g(those.)36
-b(Th)n(us,)27 b(w)n(e)f(de\014ne)h(a)g(new)g(prop)r(ert)n(y)-7
-b(,)26 b(whic)n(h)g(is)h(explicit)g(ab)r(out)515 4161
-y(what)g(size)h(of)f(input)i(w)n(e)e(w)n(an)n(t)g(to)g(v)n(erify)g(the)
-h(prop)r(ert)n(y.)602 4335 y Fp(prop_AdderCommut)o(at)o(ive)o(_F)o(orS)
-o(iz)o(e)37 b(n)44 b(=)689 4434 y(forAll)d(\(list)h(n\))g($)i(\\as)e
-(->)776 4534 y(forAll)f(\(list)h(n\))h($)g(\\bs)f(->)863
-4634 y(prop_AdderCommuta)o(tiv)o(e)37 b(\(as,)42 b(bs\))515
-4807 y Fq(This)33 b(prop)r(ert)n(y)e(means:)47 b(\\for)32
-b(all)h(lists)g(of)g(size)f Fj(n)h Fq(called)f Fp(as)p
-Fq(,)i(and)f(for)f(all)h(lists)g(of)f(size)515 4907 y
-Fj(n)27 b Fq(called)h Fp(bs)p Fq(,)f(the)h(prop)r(ert)n(y)f(that)h(the)
-g(adder)g(is)f(comm)n(utativ)n(e)g(holds)h(for)f Fp(\(as,)42
-b(bs\))27 b Fq(as)515 5006 y(input".)1905 5255 y(19)p
-eop
-%%Page: 20 21
-20 20 bop 515 523 a Fq(No)n(w,)35 b(w)n(e)f(can)f(v)n(erify)h(the)g
-(prop)r(ert)n(y)f(using)h Fp(verify)p Fq(.)54 b(W)-7
-b(e)34 b(can)g(of)g(course)e(do)i(this)h(for)515 623
-y(more)27 b(than)g(one)g(size.)602 809 y Fp(Main>)41
-b Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o(ize)37
-b(2\))602 908 y Fp(Proving:)j(...)j(Valid.)602 1108 y(Main>)e
-Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o(ize)37
-b(4\))602 1207 y Fp(Proving:)j(...)j(Valid.)602 1406
-y(Main>)e Fl(verify)h(\(prop_AdderComm)o(ut)o(ati)o(ve)o(_Fo)o(rS)o
-(ize)37 b(32\))602 1506 y Fp(Proving:)j(...)j(Valid.)515
-1820 y Fm(4.3)135 b(General)46 b(Prop)t(erties)515 2042
-y Fq(General)22 b(prop)r(erties)g(are)g(prop)r(erties)g(that)h(are)f
-(parametrized)g(b)n(y)h(one)f(or)g(more)g(circuits.)515
-2142 y(They)31 b(can)h(b)r(e)g(de\014ned)g(just)h(lik)n(e)e(connection)
-h(patterns.)49 b(Here)32 b(is)f(a)h(general)e(prop)r(ert)n(y)515
-2241 y(that)e(p)r(oses)f(the)h(question)f(if)h(the)g(t)n(w)n(o)f(giv)n
-(en)g(circuits)g(are)f(equiv)-5 b(alen)n(t.)602 2427
-y Fp(prop_Equivalent)37 b(circ1)42 b(circ2)f(a)i(=)h(ok)689
-2527 y(where)776 2627 y(out1)e(=)h(circ1)f(a)776 2726
-y(out2)g(=)h(circ2)f(a)776 2826 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)
-515 3012 y Fq(The)27 b(follo)n(wing)g(prop)r(ert)n(y)f(c)n(hec)n(ks)h
-(if)h(a)f(giv)n(en)g(circuit)g(is)h(comm)n(utativ)n(e.)602
-3198 y Fp(prop_Commutative)37 b(circ)42 b(\(as,)g(bs\))g(=)h(ok)689
-3297 y(where)776 3397 y(out1)f(=)h(circ)f(\(as,)g(bs\))776
-3497 y(out2)g(=)h(circ)f(\(bs,)g(as\))776 3596 y(ok)130
-b(=)43 b(out1)f(<==>)g(out2)515 3782 y Fq(Of)30 b(course,)f(the)h
-(circuits)g(that)g(one)f(uses)h(to)g(instan)n(tiate)f(these)h(prop)r
-(erties)f(ha)n(v)n(e)g(to)h(b)r(e)515 3882 y(of)d(the)h(righ)n(t)f
-(shap)r(e)h(\(t)n(yp)r(e\).)515 4196 y Fm(4.4)135 b(Helping)46
-b(V)-11 b(eri\014cation)515 4418 y Fq(The)23 b(form)n(ulas)f(that)i(w)n
-(e)f(generate)f(can)h(sometimes)g(b)r(e)h(quite)g(hard.)34
-b(It)24 b(is)g(often)f(the)h(case)515 4518 y(that,)36
-b(the)e(larger)e(the)i(form)n(ula,)h(the)f(harder)f(it)h(is)g(to)g(v)n
-(erify)f(it.)56 b(So)34 b(sometimes,)h(it)f(is)515 4617
-y(necessary)26 b(to)h(help)h(the)g(pro)n(v)n(er)d(a)j(bit.)515
-4757 y(One)d(w)n(a)n(y)e(of)i(doing)g(this)g(is)g(to)g(split)h(up)f(a)g
-(large)f(pro)r(of)g(in)n(to)h(a)g(n)n(um)n(b)r(er)f(of)h(smaller)g
-(ones.)515 4856 y(Then,)37 b(w)n(e)f(can)f(pro)n(v)n(e)f(these)h(parts)
-g(one)g(b)n(y)g(one,)j(and)d(for)g(eac)n(h)g(new)g(pro)r(of,)i(w)n(e)e
-(can)515 4956 y(assume)27 b(that)h(the)f(parts)g(that)h(are)f(already)f
-(pro)n(v)n(ed)g(are)h(actually)g(true.)1905 5255 y(20)p
-eop
-%%Page: 21 22
-21 21 bop 515 523 a Fq(In)30 b(La)n(v)-5 b(a,)30 b(w)n(e)h(can)f(do)g
-(this)h(b)n(y)f(v)n(erifying)f(not)i(just)g Fn(one)f
-Fq(question,)h(but)g(a)f(whole)g(list)h(of)515 623 y(questions.)52
-b(F)-7 b(or)33 b(example,)h(to)f(v)n(erify)f(that)i(t)n(w)n(o)e
-(circuits)h(ha)n(v)n(e)e(the)j(same)e(output,)j(w)n(e)515
-722 y(can)e(pro)n(v)n(e)e(this)j(pin-b)n(y-pin)f(instead)g(of)g(at)g
-(one)g(go.)53 b(T)-7 b(o)33 b(do)g(this,)i(w)n(e)e(ha)n(v)n(e)f(to)h
-(de\014ne)515 822 y Fn(one-by-one)d(e)l(quality)p Fq(.)602
-1008 y Fp(equalOneByOne)38 b(\([],)129 b([]\))h(=)43
-b([])602 1207 y(equalOneByOne)38 b(\([],)129 b(y:ys\))42
-b(=)h([low])602 1406 y(equalOneByOne)38 b(\(x:xs,)j([]\))130
-b(=)43 b([low])602 1606 y(equalOneByOne)38 b(\(x:xs,)j(y:ys\))h(=)h(eq)
-g(:)g(eqs)689 1705 y(where)776 1805 y(eq)87 b(=)43 b(equal)e(\(x,)i
-(y\))776 1905 y(eqs)g(=)g(equalOneByOne)38 b(\(xs,)k(ys\))515
-2090 y Fq(Note)27 b(that)h(the)h(comparison)d(fails)h(if)h(the)g(lists)
-g(are)f(not)g(of)h(the)g(same)f(length.)38 b(T)-7 b(o)27
-b(c)n(hec)n(k)515 2190 y(that)h(a)f(binary)g(adder)f(is)i(comm)n
-(utativ)n(e,)f(w)n(e)g(can)g(no)n(w)g(instead)h(sa)n(y:)602
-2376 y Fp(prop_AdderCommut)o(at)o(ive)o(')37 b(\(as,)42
-b(bs\))h(=)g(oks)689 2476 y(where)776 2575 y(out1)f(=)h(adder2)e(\(as,)
-h(bs\))776 2675 y(out2)g(=)h(adder2)e(\(bs,)h(as\))776
-2775 y(oks)86 b(=)43 b(equalOneByOne)c(\(out1,)i(out2\))602
-2974 y(prop_AdderCommut)o(at)o(ive)o(_F)o(orS)o(iz)o(e')c(n)43
-b(=)689 3073 y(forAll)e(\(list)h(n\))g($)i(\\as)e(->)776
-3173 y(forAll)f(\(list)h(n\))h($)g(\\bs)f(->)863 3273
-y(prop_AdderCommuta)o(tiv)o(e')37 b(\(as,)42 b(bs\))515
-3459 y Fq(No)n(w)30 b(w)n(e)g(ha)n(v)n(e)f(de\014ned)i(a)f(prop)r(ert)n
-(y)g(that)h(p)r(oses)f(a)g(list)h(of)f(questions,)h(w)n(e)f(can)g(use)h
-(the)515 3558 y(theorem)c(pro)n(v)n(er)e(to)j(pro)n(v)n(e)e(all)h(of)h
-(them.)602 3744 y Fp(Lava>)41 b Fl(verify)h(\(prop_AdderComm)o(ut)o
-(ati)o(ve)o(_Fo)o(rS)o(ize)o(')37 b(4\))602 3844 y Fp(Proving:)j(pin)j
-(1)g(...)f(Valid.)602 3944 y(Proving:)e(pin)j(2)g(...)f(Valid.)602
-4043 y(Proving:)e(pin)j(3)g(...)f(Valid.)602 4143 y(Proving:)e(pin)j(4)
-g(...)f(Valid.)602 4242 y(Proving:)e(pin)j(5)g(...)f(Valid.)602
-4342 y(--)602 4442 y(Result:)f(Valid.)515 4628 y Fq(Note)27
-b(that)h(in)g(the)g(pro)r(of)f(for)g Fp(pin)43 b(2)p
-Fq(,)27 b(w)n(e)g(can)g(assume)g(that)h Fp(pin)42 b(1)28
-b Fq(holds,)f(etc.)1905 5255 y(21)p eop
-%%Page: 22 23
-22 22 bop 515 523 a Fm(4.5)135 b(Exercises)575 738 y
-Fq(4.1)40 b(T)-7 b(ak)n(e)33 b(a)h(lo)r(ok)f(at)h(the)g(t)n(w)n(o)f
-(bit)i(sorter)e(y)n(ou)g(de\014ned)h(in)g(exercise)f(2.2.)55
-b(T)-7 b(o)34 b(v)n(erify)722 838 y(that)28 b(it)g(is)g(correct,)e(t)n
-(w)n(o)h(prop)r(erties)f(need)i(to)g(b)r(e)g(true:)816
-1004 y Fr({)41 b Fq(The)g(left)g(part)f(of)h(the)g(output)g(is)g
-(smaller)f(than)h(the)g(righ)n(t)f(part)g(of)h(the)905
-1103 y(output,)816 1236 y Fr({)g Fq(The)34 b(output)g(of)g(the)g
-(circuit)f(con)n(tains)g(the)h(same)f(bits)h(as)g(the)g(input)g(\(but)
-905 1336 y(p)r(ossibly)27 b(in)h(a)f(di\013eren)n(t)h(order\).)722
-1502 y(State)g(these)g(t)n(w)n(o)f(prop)r(erties)f(separately)-7
-b(,)26 b(and)i(v)n(erify)f(them)h(using)f Fp(verify)p
-Fq(.)575 1668 y(4.2)40 b(Some)21 b(prop)r(erties)g(are)f(so)h(easy)f
-(to)h(v)n(erify)g(that)g(w)n(e)g(can)g(actually)g(do)g(it)h(b)n(y)f
-(sim)n(ulat-)722 1768 y(ing)i(them)g(for)f(all)g(inputs)h(\(using)g
-Fp(domain)p Fq(\).)33 b(There)22 b(are)g(a)g(few)h(of)f(these)h(prop)r
-(erties)722 1867 y(in)i(this)f(c)n(hapter.)35 b(V)-7
-b(erify)24 b(them)h(b)n(y)e(testing)h(them)h(for)f(all)f(inputs.)37
-b(Can)23 b(y)n(ou)h(think)722 1967 y(of)k(other)f(suc)n(h)g(easy-to-v)n
-(erify)e(prop)r(erties?)575 2133 y(4.3)40 b(Chec)n(k)32
-b(that)h(the)g(v)-5 b(arious)31 b(adders)g(in)i(the)g(previous)e(c)n
-(hapter)g(are)h(all)g(comm)n(uta-)722 2232 y(tiv)n(e,)i(for)d(sizes)h
-(up)h(to)f(16)f(bits.)51 b(What)33 b(happ)r(ens)f(if)h(y)n(ou)e(try)h
-(to)h(pro)n(v)n(e)d(that)j(the)722 2332 y(subtractor)26
-b(is)i(comm)n(utativ)n(e?)575 2498 y(4.4)40 b(Chec)n(k)29
-b(that)g(the)h(subtractor)d(y)n(ou)i(de\014ned)g(in)h(the)f(previous)f
-(c)n(hapter)g(is)h(really)f(a)722 2598 y(subtractor.)35
-b(Ho)n(w)24 b(do)h(y)n(ou)f(form)n(ulate)h(y)n(our)f(prop)r(ert)n(y;)g
-(what)h(is)g(the)h("de\014nition")722 2697 y(of)37 b(subtraction?)62
-b(Mak)n(e)36 b(sure)g(y)n(ou)f(do)i(not)f(mess)g(up)h(the)g(sizes)f(of)
-g(the)h(binary)722 2797 y(n)n(um)n(b)r(ers.)575 2963
-y(4.5)j(De\014ne)35 b(a)f(general)e(prop)r(ert)n(y)h(that)i(states)e
-(that)i(a)f(giv)n(en)f(circuit)h(is)g(asso)r(ciativ)n(e.)722
-3063 y(An)29 b(op)r(erator)e Fi(\016)h Fq(is)h(asso)r(ciativ)n(e,)e(if)
-i(for)f(ev)n(ery)f Fj(x;)14 b(y)s(;)g(z)32 b Fq(it)d(holds)f(that)h(\()
-p Fj(x)20 b Fi(\016)f Fj(y)s Fq(\))g Fi(\016)f Fj(z)28
-b Fq(=)722 3162 y Fj(x)19 b Fi(\016)f Fq(\()p Fj(y)k
-Fi(\016)c Fj(z)t Fq(\).)36 b(Are)27 b(all)h(the)g(adders)e(asso)r
-(ciativ)n(e?)575 3328 y(4.6)40 b(V)-7 b(erify)37 b(that)g(the)g
-(carry-sa)n(v)n(e)c(adder)j(y)n(ou)f(de\014ned)i(in)g(the)g(previous)e
-(c)n(hapter)h(is)722 3428 y(equiv)-5 b(alen)n(t)27 b(to)f(a)h(binary)f
-(adder.)36 b(Be)26 b(careful)g(in)h(ho)n(w)g(y)n(ou)f(form)n(ulate)g(y)
-n(our)f(prop-)722 3528 y(ert)n(y)-7 b(,)27 b(since)h(the)g(inputs)g(do)
-f(not)h(ha)n(v)n(e)e(the)i(same)f(shap)r(e.)575 3694
-y(4.7)40 b(Pro)n(v)n(e)27 b(that,)i(for)g(an)f(adder)h(and)f
-(subtractor)g(of)h(y)n(our)e(c)n(hoice,)i(it)g(holds)f(that)i
-Fj(x)19 b Fq(+)722 3793 y(\()p Fj(y)c Fi(\000)d Fj(z)t
-Fq(\))22 b(=)h(\()p Fj(x)12 b Fq(+)g Fj(y)s Fq(\))g Fi(\000)g
-Fj(z)t Fq(.)35 b(What)25 b(extra)e(condition)i(should)f(hold)g(for)g
-Fj(y)j Fq(and)d Fj(z)t Fq(?)36 b(Ho)n(w)722 3893 y(do)28
-b(y)n(ou)e(express)h(that?)575 4059 y(4.8)40 b(\(Hask)n(ell\))29
-b(Ho)n(w)f(w)n(ould)h(y)n(ou)f(pro)r(ceed)g(if)h(y)n(ou)g(w)n(an)n(t)f
-(to)h(v)n(erify)f(a)g(prop)r(ert)n(y)g(for)g(all)722
-4159 y(sizes)f(in)h(b)r(et)n(w)n(een,)g(sa)n(y)-7 b(,)26
-b(1)i(and)f(n?)1905 5255 y(22)p eop
-%%Page: 23 24
-23 23 bop 515 1186 a Fo(Chapter)64 b(5)515 1641 y Fs(Sequen)-6
-b(tial)76 b(Circuits)515 2112 y Fq(In)34 b(this)h(c)n(hapter)e(w)n(e)h
-(describ)r(e)g(ho)n(w)g(to)g(deal)g(with)g(sequen)n(tial)g(circuits)g
-(in)h(La)n(v)-5 b(a.)55 b(Se-)515 2212 y(quen)n(tial)22
-b(circuits)g(in)h(La)n(v)-5 b(a)22 b(are)g(sync)n(hronous)e(circuits,)k
-(whic)n(h)e(means)g(that)h(there)g(is)f(one)515 2311
-y(global)k(clo)r(c)n(k)h(a\013ecting)g(all)h(dela)n(y)f(comp)r(onen)n
-(ts)g(in)g(the)h(circuit.)515 2626 y Fm(5.1)135 b(The)45
-b(Dela)l(y)h(Comp)t(onen)l(t)515 2847 y Fq(A)37 b(new)h(comp)r(onen)n
-(t)f(in)g(sequen)n(tial)g(circuits)g(is)g(the)h Fn(delay)h
-Fq(comp)r(onen)n(t.)65 b(It)38 b(is)f(a)g(cir-)515 2947
-y(cuit)29 b(with)h(one)e(parameter)g(\(the)h(initial)g(output)h(of)f
-(the)g(dela)n(y\))g(and)f(one)h(input,)h(whic)n(h)515
-3047 y(b)r(ecomes)d(its)h(output)g(in)g(the)g(next)g(clo)r(c)n(k)e
-(cycle.)515 3186 y(Here)40 b(is)g(an)g(example)g(of)g(a)g(simple)g
-(circuit)g(called)g Fp(edge)p Fq(,)i(that)f(c)n(hec)n(ks)e(if)i(its)f
-(input)515 3286 y(has)31 b(c)n(hanged)h(with)h(resp)r(ect)f(to)g(its)g
-(previous)f(input.)52 b(It)33 b(uses)f(a)g(dela)n(y)f(comp)r(onen)n(t)h
-(to)515 3385 y(remem)n(b)r(er)27 b(the)h(previous)e(input.)602
-3571 y Fp(edge)42 b(inp)g(=)h(change)689 3671 y(where)776
-3771 y(inp')129 b(=)44 b(delay)d(low)h(inp)776 3870 y(change)f(=)j
-(xor2)d(\(inp,)h(inp'\))515 4056 y Fq(W)-7 b(e)33 b(can)g(sim)n(ulate)g
-(a)g(sequen)n(tial)g(circuit)g(b)n(y)g(using)g(the)h(op)r(eration)e
-Fp(simulateSeq)p Fq(.)50 b(It)515 4156 y(needs)37 b(a)h(circuit)g(and)f
-(a)h(list)g(of)f(inputs.)68 b(The)38 b(list)g(of)g(inputs)h(is)e(in)n
-(terpreted)h(as)f(the)515 4255 y(di\013eren)n(t)27 b(inputs)i(at)e(eac)
-n(h)g(clo)r(c)n(k)g(tic)n(k.)602 4441 y Fp(Main>)41 b
-Fl(simulateSeq)e(edge)j([high,)f(low,)h(low,)g(high])602
-4541 y Fp([high,)f(high,)h(low,)f(high])515 4727 y Fq(Here)34
-b(is)h(another)e(sequen)n(tial)h(circuit,)i(whic)n(h)f(is)g(called)f
-Fp(toggle)p Fq(.)55 b(It)35 b(has)f(an)h(in)n(ternal)515
-4827 y(state,)29 b(whic)n(h)g(it)g(outputs,)h(and)f(it)g(tak)n(es)f
-(one)h(input.)42 b(If)30 b(the)f(input)h(is)f(high,)g(it)g(c)n(hanges)
-515 4926 y(the)f(state.)36 b(If)28 b(not,)g(it)g(sta)n(ys)f(the)h
-(same.)1905 5255 y(23)p eop
-%%Page: 24 25
-24 24 bop 602 523 a Fp(toggle)41 b(change)g(=)i(out)689
-623 y(where)776 722 y(out')f(=)h(delay)f(low)g(out)776
-822 y(out)86 b(=)43 b(xor2)f(\(change,)f(out'\))515 1005
-y Fq(As)31 b(w)n(e)g(can)f(see,)i(the)f(de\014nition)h(of)f
-Fp(out')e Fq(is)i(dep)r(enden)n(t)h(on)f Fp(out)p Fq(,)f(whose)h
-(de\014nition)g(is)515 1105 y(dep)r(enden)n(t)d(on)g
-Fp(out')p Fq(.)36 b(Th)n(us,)28 b(there)f(is)h(a)f(lo)r(op)h(in)g(the)g
-(circuit.)38 b(Lo)r(ops)27 b(are)g(not)g(allo)n(w)n(ed)515
-1204 y(in)i(com)n(binational)f(circuits,)i(since)f(the)g(meaning)g(of)g
-(suc)n(h)g(circuits)g(is)g(unclear.)41 b(But)30 b(in)515
-1304 y(sequen)n(tial)d(circuits,)g(they)h(are)e(essen)n(tial)h(to)h
-(implemen)n(t)g(an)n(y)f(in)n(teresting)f(b)r(eha)n(vior.)515
-1443 y(Sim)n(ulating)h Fp(toggle)e Fq(giv)n(es:)602 1626
-y Fp(Main>)41 b Fl(simulateSeq)e(toggle)j([high,)f(low,)h(low,)g(high])
-602 1726 y Fp([high,)f(high,)h(high,)f(low])515 2040
-y Fm(5.2)135 b(Multiple)46 b(Dela)l(ys)515 2262 y Fq(W)-7
-b(e)22 b(ha)n(v)n(e)g(seen)g(ho)n(w)f(w)n(e)h(can)g(dela)n(y)g(a)g
-(signal)f Fn(one)i Fq(time)g(instan)n(t,)g(so)f(that)h(w)n(e)f(can)g
-(refer)f(to)515 2361 y(the)26 b(signal's)e(previous)h(v)-5
-b(alue.)36 b(Sometimes,)26 b(w)n(e)g(w)n(an)n(t)f(to)g(dela)n(y)g(a)g
-(signal)g(m)n(ultiple)i(time)515 2461 y(instances.)38
-b(W)-7 b(e)29 b(can)f(do)g(this)h(b)n(y)f(de\014ning)g(a)g
-(parametrized)f(circuit,)i(called)f Fp(delayN)p Fq(.)e(It)515
-2560 y(has)e(t)n(w)n(o)f(parameters,)h Fj(n)p Fq(,)h(the)g(n)n(um)n(b)r
-(er)f(of)h(dela)n(ys)e(to)i(use,)g(and)f Fp(init)p Fq(,)g(the)h
-(initial)f(v)-5 b(alues)515 2660 y(of)27 b(these)h(dela)n(ys.)515
-2799 y(W)-7 b(e)28 b(use)f(recursion)f(o)n(v)n(er)g Fj(n)i
-Fq(to)f(de\014ne)h(this)g(circuit.)602 2983 y Fp(delayN)41
-b(0)i(init)f(inp)g(=)i(inp)602 3182 y(delayN)d(n)i(init)f(inp)g(=)i
-(out)689 3281 y(where)776 3381 y(out)86 b(=)43 b(delay)f(init)g(rest)
-776 3481 y(rest)g(=)h(delayN)e(\(n-1\))h(init)g(inp)515
-3664 y Fq(A)26 b(useful)h(sequen)n(tial)e(circuit)h(that)g(w)n(e)g(can)
-g(implemen)n(t)g(using)g Fp(delayN)p Fq(,)e(is)i(called)g
-Fp(puls)p Fq(.)515 3763 y(It)h(has)g(no)g(inputs,)g(one)g(output,)h
-(and)f(one)g(parameter)e Fj(n)p Fq(.)37 b(Its)27 b(output)h(is)f
-(normally)f(lo)n(w,)515 3863 y(except)h(on)h(the)g Fj(n)p
-Fq(-th,)f(2)p Fj(n)p Fq(-th,)g(3)p Fj(n)p Fq(-th,)h(...)37
-b(clo)r(c)n(k)27 b(tic)n(k,)g(where)g(it)h(outputs)g(high.)515
-4002 y(W)-7 b(e)20 b(implemen)n(t)h(the)f(circuit)g(b)n(y)g(creating)f
-Fj(n)s Fi(\000)s Fq(1)g(dela)n(y)g(comp)r(onen)n(ts)h(in)g(a)g(ro)n(w,)
-g(initialized)515 4102 y(b)n(y)27 b Fp(low)p Fq(,)g(ended)g(with)h(one)
-g(dela)n(y)e(comp)r(onen)n(t)i(initialized)g(b)n(y)f
-Fp(high)p Fq(.)602 4285 y Fp(puls)42 b(n)h(\(\))g(=)g(out)689
-4385 y(where)776 4484 y(out)86 b(=)43 b(delayN)e(\(n-1\))h(low)g(last)
-776 4584 y(last)g(=)h(delay)f(high)g(out)515 4767 y Fq(Note)24
-b(that)g(w)n(e)g(need)g(to)g(use)g(a)f(lo)r(op)h(bac)n(k)f(here.)35
-b(This)24 b(implemen)n(tation)g(is)g(not)g(optimal,)515
-4867 y(in)k(the)g(sense)f(that)h(it)g(uses)f(to)r(o)g(man)n(y)g(dela)n
-(y)g(comp)r(onen)n(ts;)g(see)g(exercise)g(5.6.)515 5006
-y(Sim)n(ulating)g Fp(puls)42 b(3)27 b Fq(giv)n(es:)1905
-5255 y(24)p eop
-%%Page: 25 26
-25 25 bop 602 523 a Fp(Main>)41 b Fl(simulateSeq)e(\(puls)j(3\))h
-([\(\),)f(\(\),)g(\(\),)g(\(\),)h(\(\),)f(\(\),)g(\(\)])602
-623 y Fp([low,)f(low,)h(high,)g(low,)g(low,)g(high,)f(low])515
-937 y Fm(5.3)135 b(Coun)l(ters)515 1159 y Fq(An)24 b
-Fp(n)p Fq(-bit)g(coun)n(ter)g(is)g(a)g(circuit)g(that)g(outputs)h(an)e
-Fp(n)p Fq(-bit)h(binary)g(n)n(um)n(b)r(er)g(at)g(ev)n(ery)f(clo)r(c)n
-(k)515 1258 y(tic)n(k,)i(starting)f(with)h(0,)g(and)g(increasing)e(it)i
-(b)n(y)g(1)f(ev)n(ery)f(clo)r(c)n(k)h(tic)n(k.)36 b(W)-7
-b(e)25 b(implemen)n(t)h(this)515 1358 y(b)n(y)k(k)n(eeping)g(an)h(in)n
-(ternal)f(state,)h(whic)n(h)g(is)g(a)f(binary)g(n)n(um)n(b)r(er.)46
-b(The)31 b(circuit)g(tak)n(es)e(one)515 1458 y(parameter,)d(whic)n(h)h
-(indicates)h(the)g(n)n(um)n(b)r(er)f(of)h(bits)g(to)f(use,)h(and)f(has)
-g(no)g(inputs.)602 1644 y Fp(counter)41 b(n)i(\(\))g(=)g(number')689
-1743 y(where)776 1843 y(number')520 b(=)44 b(delay)d(\(zeroList)f(n\))j
-(number)776 1942 y(\(number,)e(carryOut\))e(=)44 b(bitAdder)c(\(high,)h
-(number'\))515 2128 y Fq(W)-7 b(e)37 b(use)g(the)g(function)h
-Fp(zeroList)p Fq(,)e(whic)n(h)h(creates)f(a)h(list)g(of)g
-Fj(n)g Fq(zeros,)h(denoting)f(the)515 2228 y(initial)30
-b(v)-5 b(alue.)46 b(Note)30 b(that)h(the)g(dela)n(y)f(comp)r(onen)n(t)g
-(not)h(only)f(w)n(orks)e(for)i(bits,)i(but)f(also)515
-2328 y(for)c(example)g(for)g(pairs)g(of)g(bits)h(and)g(lists)f(\(as)g
-(in)h(this)g(case\).)515 2467 y(Sim)n(ulating)f Fp(counter)e
-Fq(giv)n(es:)602 2653 y Fp(Main>)41 b Fl(simulateSeq)e(\(counter)i(3\))
-h([\(\),)g(\(\),)h(\(\)])602 2753 y Fp([[low,)e(low,)h(low],)f([high,)h
-(low,)f(low],)h([low,)g(high,)f(low]])515 2939 y Fq(A)22
-b(v)-5 b(arian)n(t)21 b(on)h(this)g(circuit)g(is)f(the)i
-Fn(up-c)l(ounter)p Fq(,)f(whic)n(h)g(tak)n(es)f(an)g(input,)j(whic)n(h)
-e(indicates)515 3038 y(if)k(the)h(n)n(um)n(b)r(er)f(should)g(increase)f
-(or)g(not.)37 b(In)26 b(this)h(case,)f(w)n(e)f(w)n(an)n(t)h(the)h
-(desired)e(increase)515 3138 y(to)i(tak)n(e)g(e\013ect)h(immediately)-7
-b(,)28 b(so)f(w)n(e)g(output)h(the)g(n)n(um)n(b)r(er)g
-Fn(b)l(efor)l(e)g Fq(w)n(e)g(dela)n(y)e(it.)602 3324
-y Fp(counterUp)40 b(n)j(up)g(=)g(number)689 3424 y(where)776
-3523 y(number')520 b(=)44 b(delay)d(\(zeroList)f(n\))j(number)776
-3623 y(\(number,)e(carryOut\))e(=)44 b(bitAdder)c(\(up,)i(number'\))515
-3809 y Fq(Sim)n(ulating)27 b Fp(counterUp)d Fq(giv)n(es:)602
-3995 y Fp(Main>)41 b Fl(simulateSeq)e(\(counterUp)h(3\))j([high,)e
-(low,)h(high])602 4094 y Fp([[high,)f(low,)h(low],)f([high,)g(low,)h
-(low],)g([low,)f(high,)h(low]])515 4409 y Fm(5.4)135
-b(Sequen)l(tialization)515 4630 y Fq(In)27 b(c)n(hapter)g(3,)g(w)n(e)f
-(ha)n(v)n(e)g(seen)i(a)e(com)n(binational)g(binary)h(adder.)36
-b(As)27 b(an)g(input,)h(it)g(tak)n(es)515 4730 y(t)n(w)n(o)g
-Fj(n)p Fq(-bit)h(binary)g(n)n(um)n(b)r(ers,)g(and)g(adds)g(them)g(up.)
-42 b(F)-7 b(or)29 b(large)e Fj(n)p Fq(,)j(this)f(circuit)h(can)e(get)
-515 4830 y(quite)h(large,)f(whic)n(h)h(means)g(it)g(tak)n(es)f(more)g
-(circuit)h(area)f(and)h(consumes)f(more)g(p)r(o)n(w)n(er,)515
-4929 y(and)f(will)h(need)g(a)f(lo)n(w)n(er)f(clo)r(c)n(k)h(frequency)g
-(to)g(w)n(ork)g(prop)r(erly)-7 b(.)1905 5255 y(25)p eop
-%%Page: 26 27
-26 26 bop 515 523 a Fq(W)-7 b(e)37 b(can)g(mak)n(e)f(use)h(of)g(the)g
-(regularit)n(y)e(in)i(the)h(circuit)f(to)f(mak)n(e)h(a)f(small)h(v)n
-(ersion)e(of)515 623 y(the)27 b(circuit)g(that)h(ho)n(w)n(ev)n(er)d
-(needs)i(sev)n(eral)e(clo)r(c)n(k)i(cycles)f(to)i(compute)f(the)g
-(result.)37 b(If)27 b(w)n(e)515 722 y(apply)d(this)g(tec)n(hnique)h(on)
-f(the)g(binary)g(adder,)g(w)n(e)g(obtain)g(a)g Fn(se)l(quential)j
-(adder)p Fq(.)37 b(It)25 b(tak)n(es)515 822 y(one)32
-b(new)h(digit)g(of)g(b)r(oth)g(binary)f(n)n(um)n(b)r(ers)g(at)h(eac)n
-(h)f(clo)r(c)n(k)g(cycle.)52 b(This)33 b(is)f(sometimes)515
-922 y(called)27 b Fn(bit)j(serial)p Fq(.)515 1061 y(W)-7
-b(e)35 b(can)f(implemen)n(t)h(this)g(b)n(y)g(storing)e(the)i(carry)e
-(as)h(an)g(in)n(ternal)g(state,)j(so)d(that)h(the)515
-1161 y(curren)n(t)26 b(carry-in)g(of)i(the)g(circuit)f(is)h(the)g
-(previous)e(carry-out.)602 1347 y Fp(adderSeq)40 b(\(a,b\))i(=)h(sum)
-689 1446 y(where)776 1546 y(carryIn)346 b(=)43 b(delay)f(low)g
-(carryOut)776 1645 y(\(sum,carryOut\))c(=)43 b(fullAdd)e(\(carryIn,)f
-(\(a,b\)\))515 1831 y Fq(Sim)n(ulating)27 b Fp(adderSeq)e
-Fq(giv)n(es:)602 2017 y Fp(Main>)41 b Fl(simulateSeq)e(adderSeq)i
-([\(high,low\),)d(\(high,high\),)h(\(low,high\)])602
-2117 y Fp([high,)i(low,)h(low])515 2303 y Fq(Because)29
-b(w)n(e)i(\014nd)g(that)g(man)n(y)f(sequen)n(tial)g(circuits)g(ha)n(v)n
-(e)f(this)i(structure,)g(w)n(e)g(de\014ne)f(a)515 2403
-y Fn(se)l(quential)35 b Fq(connection)f(pattern,)i(called)e
-Fp(rowSeq)e Fq(whic)n(h)j(w)n(orks)e(m)n(uc)n(h)h(lik)n(e)g
-Fp(row)p Fq(,)h(but)515 2502 y(instead)27 b(in)n(terprets)g(the)h(ro)n
-(w)e Fn(over)31 b(time)p Fq(.)602 2688 y Fp(rowSeq)41
-b(circ)h(inp)g(=)h(out)689 2788 y(where)776 2888 y(carryIn)390
-b(=)43 b(delay)e(zero)h(carryOut)776 2987 y(\(out,)g(carryOut\))e(=)j
-(circ)f(\(carryIn,)e(inp\))515 3173 y Fq(W)-7 b(orth)33
-b(noting)g(is)h(that)g(w)n(e)f(mak)n(e)f(use)i(of)f(the)h(generic)f
-Fp(delay)e Fq(and)i Fp(zero)f Fq(comp)r(onen)n(t)515
-3273 y(here.)k(The)28 b(structure)f(is)g(exactly)g(the)h(same)f(as)g
-(in)h(the)g(sequen)n(tial)f(adder.)515 3412 y(Recalling)f(the)h
-(de\014nition)f(of)h(a)f(binary)g(adder)g(in)g(terms)h(of)f
-Fp(row)p Fq(,)g(w)n(e)g(can)g(rep)r(eat)g(it)h(and)515
-3512 y(implemen)n(t)h(a)f(sequen)n(tial)g(adder)g(in)h(terms)f(of)h
-Fp(rowSeq)p Fq(:)602 3698 y Fp(adder')172 b(=)43 b(row)173
-b(fullAdd)84 b(--)43 b Fl(combinational)602 3797 y Fp(adderSeq')d(=)j
-(rowSeq)e(fullAdd)84 b(--)43 b Fl(sequential)515 3983
-y Fq(In)30 b(this)g(w)n(a)n(y)-7 b(,)29 b(using)g(a)g(connection)h
-(pattern)f(to)h(de\014ne)g(a)f(com)n(binational)f(circuit)i(helps)515
-4083 y(us)d(to)h(de\014ne)g(the)g(sequen)n(tial)e(v)n(ersion)h(of)g
-(the)h(circuit.)515 4397 y Fm(5.5)135 b(V)-11 b(ariations)46
-b(on)f Fh(rowSeq)515 4619 y Fq(The)35 b(sequen)n(tial)f(ro)n(w)f
-(connection)h(pattern)h(is)f(sometimes)h(useful,)i(but)e(certainly)f
-(not)515 4719 y(alw)n(a)n(ys.)g(If)26 b(w)n(e)f(use)g(it)h(to)f
-(implemen)n(t)h(a)f(sequen)n(tial)g(adder,)g(as)g(w)n(e)g(did,)h(w)n(e)
-f(can)g(also)f(use)515 4818 y(it)32 b(to)h(add)f(up)g(\\in\014nitely)h
-(big")e(binary)h(n)n(um)n(b)r(ers.)50 b(The)33 b(addition)f(nev)n(er)f
-(ends,)j(so)d(w)n(e)515 4918 y(can)c(nev)n(er)g(start)g(o)n(v)n(er)e
-(adding)j(t)n(w)n(o)e(new)i(n)n(um)n(b)r(ers.)1905 5255
-y(26)p eop
-%%Page: 27 28
-27 27 bop 515 523 a Fq(Therefore,)24 b(it)i(is)f(handy)g(to)g(ha)n(v)n
-(e)g(a)f(connection)h(pattern,)h(called)f Fp(rowSeqReset)p
-Fq(,)c(whic)n(h)515 623 y(tak)n(es)27 b(one)h(extra)f(input)i
-Fp(reset)p Fq(.)37 b(When)29 b Fp(reset)d Fq(is)i(high,)g(the)h(in)n
-(ternal)e(carry)g(state)h(will)515 722 y(b)r(e)g(reset)f(to)g
-Fp(zero)p Fq(.)602 908 y Fp(rowSeqReset)39 b(circ)j(\(reset,inp\))d(=)k
-(out)689 1008 y(where)776 1108 y(carryIn)390 b(=)43 b(delay)e(zero)h
-(carry)776 1207 y(carry)478 b(=)43 b(mux)f(\(reset,)f(\(carryOut,)e
-(zero\)\))776 1307 y(\(out,)j(carryOut\))e(=)j(circ)f(\(carryIn,)e
-(inp\))515 1493 y Fq(W)-7 b(e)25 b(use)g(the)g(standard)f(m)n
-(ultiplexer)h(comp)r(onen)n(t)f Fp(mux)g Fq(here,)h(whic)n(h)g(c)n(ho)r
-(oses)e(the)i(left)h(or)515 1592 y(righ)n(t)31 b(comp)r(onen)n(t)h(of)h
-(an)f(input)h(pair,)g(dep)r(ending)f(on)g(if)h(the)g(\014rst)f
-(incoming)g(signal)f(is)515 1692 y(lo)n(w)c(or)f(high,)i(resp)r(ectiv)n
-(ely)-7 b(.)515 1831 y(No)n(w)27 b(w)n(e)g(can)g(de\014ne)h(a)f
-(resettable)g(sequen)n(tial)g(adder)g Fp(adderSeqReset)22
-b Fq(as)27 b(follo)n(ws:)602 2017 y Fp(adderSeqReset)38
-b(=)43 b(rowSeqReset)c(fullAdd)515 2203 y Fq(V)-7 b(ery)31
-b(often,)i(it)e(is)h(the)g(case)e(that)i(the)g(in)n(ternal)e(carry)g
-(state)h(has)g(to)h(b)r(e)g(reset)e(p)r(erio)r(di-)515
-2303 y(cally)-7 b(,)30 b(that)h(is,)g(on)f(ev)n(ery)f
-Fj(n)p Fq(-th,)h(2)p Fj(n)p Fq(-th,)h(...)45 b(clo)r(c)n(k)29
-b(tic)n(k.)45 b(Therefore,)30 b(w)n(e)g(create)f(a)h(third)515
-2403 y(sequen)n(tial)f(ro)n(w)g(v)-5 b(ariation,)30 b(whic)n(h)g(tak)n
-(es)f(a)h(parameter)f Fj(n)p Fq(,)i(whic)n(h)f(indicates)g(the)h(reset)
-515 2502 y(p)r(erio)r(d.)602 2688 y Fp(rowSeqPeriod)39
-b(n)k(circ)f(inp)g(=)h(out)689 2788 y(where)776 2888
-y(reset)f(=)h(puls)f(n)h(\(\))776 2987 y(out)130 b(=)43
-b(rowSeqReset)c(circ)j(\(reset,)f(inp\))515 3173 y Fq(No)n(w)32
-b(w)n(e)g(can)g(de\014ne)h(a)f(sequen)n(tial)g(adder)f
-Fp(adderSeqPeriod)c Fq(adding)32 b Fj(n)p Fq(-bit)h(n)n(um)n(b)r(ers)
-515 3273 y(as)27 b(follo)n(ws:)602 3459 y Fp(adderSeqPeriod)38
-b(n)43 b(=)g(rowSeqPeriod)c(n)k(fullAdd)515 3773 y Fm(5.6)135
-b(Exercises)575 3988 y Fq(5.1)40 b(De\014ne)33 b(a)f(circuit)g
-Fp(evenSoFar)p Fq(,)e(whic)n(h)i(tak)n(es)f(one)h(input,)i(and)e(has)g
-(one)f(output.)722 4088 y(The)26 b(output)g(is)f(high)g(if)h(and)f
-(only)g(if)h(the)g(n)n(um)n(b)r(er)f(of)g(high)g(inputs)h(has)f(b)r
-(een)h(ev)n(en)722 4187 y(so)h(far.)722 4320 y(Sim)n(ulate)h(y)n(our)e
-(circuit)i(in)g(La)n(v)-5 b(a)26 b(and)i(generate)e(VHDL.)575
-4486 y(5.2)40 b(Implemen)n(t)22 b(a)f Fp(flipFlop)d Fq(circuit,)23
-b(whic)n(h)e(tak)n(es)f(t)n(w)n(o)h(inputs)h Fp(\(set,)41
-b(reset\))p Fq(,)20 b(and)722 4586 y(has)30 b(one)g(output.)46
-b(The)31 b(circuit)f(k)n(eeps)g(an)g(in)n(ternal)g(state,)h(whic)n(h)f
-(is)g(set)h(to)f(high)722 4686 y(when)g Fp(set)e Fq(is)i(high,)g(and)f
-(set)h(to)f(lo)n(w)g(when)h Fp(reset)e Fq(is)h(high.)43
-b(The)29 b(in)n(ternal)g(state)722 4785 y(is)d(also)g(the)g(output.)37
-b(Y)-7 b(ou)27 b(ma)n(y)e(decide)i(y)n(ourself)e(what)h(to)g(do)g(when)
-h(b)r(oth)g(inputs)722 4885 y(are)g(high.)1905 5255 y(27)p
-eop
-%%Page: 28 29
-28 28 bop 575 523 a Fq(5.3)40 b(Implemen)n(t)33 b(a)f(clo)r(c)n(k)n(ed)
-f(dela)n(y)g(comp)r(onen)n(t)h Fp(delayClk)p Fq(.)47
-b(It)32 b(has)g(one)f(parameter,)722 623 y(the)23 b(initial)f(state,)i
-(and)e(it)h(has)e(an)h(extra)g(input)h Fp(clk)p Fq(.)34
-b(Only)22 b(when)g Fp(clk)f Fq(is)h(high,)i(the)722 722
-y(output)k(c)n(hanges)f(to)g(the)h(state)f(and)h(the)g(state)f(c)n
-(hanges)f(to)i(the)g(curren)n(t)f(input.)575 888 y(5.4)40
-b(De\014ne)29 b(a)e(circuit)h(called)g Fp(always)p Fq(,)d(whic)n(h)j
-(has)f(one)h(input)h(and)e(one)h(output.)38 b(The)722
-988 y(output)30 b(is)f(high)f(as)h(long)f(as)g(the)h(input)h(sta)n(ys)e
-(high.)41 b(If)29 b(the)g(input)h(drops)e(to)h(lo)n(w,)722
-1088 y(then)f(the)g(output)h(sta)n(ys)d(lo)n(w)h(forev)n(er.)575
-1254 y(5.5)40 b(De\014ne)c(three)f(di\013eren)n(t)h(circuits)f(that)g
-(output)h(high)f(only)g(on)g(ev)n(ery)f(6th)i(clo)r(c)n(k)722
-1353 y(tic)n(k)28 b(\(so)g(it)h(happ)r(ens)g(on)f(the)g(6th,)h(12th,)f
-(18th,)g(...)40 b(etc.\).)f(Use)29 b(6)f(dela)n(y)f(elemen)n(ts)722
-1453 y(in)h(the)g(\014rst)f(circuit,)h(5)f(dela)n(y)g(elemen)n(ts)g(in)
-h(the)g(second,)f(and)h(3)f(in)h(the)g(last.)722 1586
-y(Is)21 b(it)h(p)r(ossible)f(to)g(de\014ne)h(this)f(circuit)h(with)f
-(less)g(than)h(3)f(bit-lev)n(el)g(dela)n(y)f(elemen)n(ts?)575
-1752 y(5.6)40 b(De\014ne)30 b(a)f(puls)h(generator)d
-Fp(puls2)h Fq(whic)n(h)h(has)g(a)g(parameter)f Fj(k)s
-Fq(,)i(and)g(generates)d(a)722 1851 y(puls)i(ev)n(ery)f(2)1162
-1821 y Fg(k)1202 1851 y Fq(-th)h(clo)r(c)n(k)f(tic)n(k.)40
-b(Y)-7 b(our)29 b(design)f(should)h(use)f(a)h(minimal)g(n)n(um)n(b)r
-(er)f(of)722 1951 y(dela)n(y)f(comp)r(onen)n(ts)g(\(ho)n(w)g(man)n(y)g
-(is)h(that?\).)575 2117 y(5.7)40 b(De\014ne)29 b(an)f(up-do)n(wn)g
-(coun)n(ter.)38 b(The)28 b(coun)n(ter)f(gets)h(a)g(pair)f(of)i(inputs.)
-39 b(If)29 b(the)f(left)722 2217 y(input)f(is)g(high,)f(it)h(coun)n(ts)
-f(up.)36 b(Otherwise,)26 b(if)h(the)g(righ)n(t)e(input)i(is)f(high,)h
-(it)g(coun)n(ts)722 2316 y(do)n(wn.)37 b(Otherwise,)26
-b(the)i(state)g(sta)n(ys)e(the)i(same.)575 2482 y(5.8)40
-b(De\014ne)32 b(a)e(0-to-9)g(coun)n(ter.)46 b(The)31
-b(coun)n(ter)f(has)g(no)h(inputs,)h(and)f(a)g(4-bit)f(n)n(um)n(b)r(er)
-722 2582 y(as)d(output.)37 b(Initially)-7 b(,)28 b(the)g(output)g
-(starts)e(at)h(0,)g(and)h(incremen)n(ts)e(at)i(ev)n(ery)e(clo)r(c)n(k)
-722 2682 y(tic)n(k,)i(but)g(after)f(the)h(output)g(9,)g(it)g(returns)f
-(to)g(0.)722 2814 y(Connect)h(the)g(displa)n(y)f(from)g(exercise)f(2.6)
-h(to)g(y)n(our)g(coun)n(ter.)575 2980 y(5.9)40 b(De\014ne)26
-b(a)e Fn(synchr)l(onizer)p Fq(,)j(whic)n(h)e(has)f(t)n(w)n(o)h(inputs)g
-Fp(go1)f Fq(and)h Fp(go2)p Fq(,)f(and)h(one)g(output)722
-3080 y Fp(go)p Fq(.)35 b(The)23 b(output)h(only)e(b)r(ecomes)h(true)g
-(when)g(b)r(oth)g Fp(go1)f Fq(and)h Fp(go2)f Fq(ha)n(v)n(e)g(b)r(een)h
-(high)722 3180 y(in)28 b(the)g(past)f(or)g(are)g(high)g(no)n(w)g(since)
-h(the)g(last)f Fp(go)p Fq(.)36 b(.)722 3313 y(Here)28
-b(is)f(an)g(example)h(sim)n(ulation:)809 3512 y Fp(Main>)42
-b Fl(simulateSeq)d(synchronize)1420 3611 y([\(low,high\),\(hi)o(gh,)o
-(lo)o(w\),)o(\(h)o(ig)o(h,h)o(ig)o(h\),)1725 3711 y
-(\(high,low\),\(low,)o(lo)o(w\))o(,\(l)o(ow)o(,hi)o(gh)o(\)])809
-3811 y Fp([low,)j(high,)f(high,)h(low,)g(low,)g(high])533
-4010 y Fq(5.10)e(De\014ne)f(a)e(circuit)h(called)f Fp(outputList)p
-Fq(,)f(whic)n(h)i(has)f(one)h(parameter,)h(a)e(list)h(of)722
-4110 y(v)-5 b(alues,)36 b(no)e(inputs,)i(and)f(one)e(output.)58
-b(The)34 b(circuit)g(outputs)h(the)g(elemen)n(ts)f(in)722
-4209 y(the)f(parameter)d(list)j(one)e(b)n(y)h(one)g(at)g(ev)n(ery)f
-(clo)r(c)n(k)g(tic)n(k)h(rep)r(eatedly)-7 b(.)50 b(Here)31
-b(is)h(an)722 4309 y(example)27 b(sim)n(ulation:)809
-4508 y Fp(Main>)42 b Fl(simulateSeq)d(\(outputList)g([low,)j(low,)f
-(high]\))2291 4608 y([\(\),\(\),\(\),\(\),\(\),\()o(\)])809
-4707 y Fp([low,)h(low,)g(high,)f(low,)h(low,)g(high])1905
-5255 y Fq(28)p eop
-%%Page: 29 30
-29 29 bop 515 1186 a Fo(Chapter)64 b(6)515 1641 y Fs(Sequen)-6
-b(tial)76 b(V)-19 b(eri\014cation)515 2112 y Fq(In)29
-b(this)h(c)n(hapter)e(w)n(e)h(describ)r(e)g(ho)n(w)f(w)n(e)h(can)g(v)n
-(erify)f(prop)r(erties)h(of)g(sequen)n(tial)f(circuits.)515
-2212 y(W)-7 b(e)28 b(restrict)f(ourselv)n(es)e(to)j(sequen)n(tial)f
-(safet)n(y)g(prop)r(erties.)515 2525 y Fm(6.1)135 b(Sequen)l(tial)46
-b(Safet)l(y)g(Prop)t(erties)515 2747 y Fq(Let)37 b(us)h(tak)n(e)f(a)g
-(lo)r(ok)f(at)i(ho)n(w)f(to)g(de\014ne)h(prop)r(erties)e(ab)r(out)i
-(sequen)n(tial)f(circuits.)66 b(In)515 2846 y(principle,)24
-b(w)n(e)e(can)h(use)f(the)h(same)g(tec)n(hniques)f(as)h(w)n(e)f(did)h
-(with)h(com)n(binational)d(circuits.)515 2946 y(Let)27
-b(us)h(tak)n(e)f(a)g(lo)r(ok)g(at)g(some)g(examples.)515
-3086 y(Here)g(is)g(ho)n(w)g(w)n(e)h(can)f(compare)f(the)i(t)n(w)n(o)f
-(sequen)n(tial)g(adders)f(from)i(section)f(5.4.)602 3267
-y Fp(prop_SameAdderSe)o(q)37 b(inp)43 b(=)g(ok)689 3366
-y(where)776 3466 y(out1)f(=)h(adderSeq)e(inp)776 3566
-y(out2)h(=)h(adderSeq')d(inp)776 3665 y(ok)130 b(=)43
-b(out1)f(<==>)g(out2)515 3847 y Fq(Here)27 b(is)g(another)g(example;)g
-(the)h(comp)r(osition)e(of)i Fp(edge)e Fq(and)h Fp(toggle)e
-Fq(from)i(section)g(5.1)515 3946 y(giv)n(es)e(the)i(iden)n(tit)n(y)g
-(circuit.)36 b(This)26 b(means)h(that)f(the)h(input)h(is)e(the)h(same)f
-(as)g(the)g(output.)602 4128 y Fp(prop_ToggleEdgeI)o(de)o(nti)o(ty)37
-b(inp)42 b(=)h(ok)689 4227 y(where)776 4327 y(mid)g(=)g(toggle)e(inp)
-776 4426 y(out)i(=)g(edge)f(mid)776 4526 y(ok)87 b(=)43
-b(out)f(<==>)g(inp)515 4707 y Fq(The)20 b(prop)r(erties)f(w)n(e)h(can)g
-(describ)r(e)f(in)i(this)f(w)n(a)n(y)f(are)g(called)h
-Fn(se)l(quential)j(safety)h(pr)l(op)l(erties)p Fq(.)515
-4807 y(Recall)j(that)i(safet)n(y)e(prop)r(erties)g(are)g(prop)r(erties)
-g(whic)n(h)h(can)f(b)r(e)i(describ)r(ed)e(as)h(a)f(circuit)515
-4907 y(with)21 b(one)f(output,)i(whic)n(h)f(should)f(alw)n(a)n(ys)f(b)r
-(e)i(true)f(\(or)g(nev)n(er)g(b)r(e)h(false\))f(for)g(the)h(prop)r(ert)
-n(y)515 5006 y(to)27 b(hold.)1905 5255 y(29)p eop
-%%Page: 30 31
-30 30 bop 515 523 a Fq(Examples)25 b(of)h(prop)r(erties)f(whic)n(h)h
-(are)f(not)h(safet)n(y)f(prop)r(erties)g(are)g(for)h(example)f
-Fn(liveness)515 623 y Fq(prop)r(erties.)43 b(These)29
-b(can)h(assert)f(that)h(a)g(certain)f(condition)h(m)n(ust)g(hold)g(at)g
-(some)f(p)r(oin)n(t)515 722 y(in)f(the)g(future,)g(for)f(example.)515
-1037 y Fm(6.2)135 b(Sequen)l(tial)46 b(Logic)515 1258
-y Fq(Apart)22 b(from)h(the)g(tec)n(hniques)g(w)n(e)f(used)h(to)g
-(de\014ne)g(com)n(binational)e(prop)r(erties,)i(there)g(are)515
-1358 y(also)j(sp)r(ecial)i(tec)n(hniques)f(w)n(e)g(can)g(apply)h(to)f
-(de\014ne)h(sequen)n(tial)f(prop)r(erties.)639 1581 y
-Fi(\017)41 b Fq(When)28 b(w)n(e)e(w)n(an)n(t)h(to)g(refer)f(to)h(v)-5
-b(alues)26 b(of)h(signals)f(at)h(di\013eren)n(t)g(time)h(instances,)e
-(w)n(e)722 1680 y(can)34 b(use)f(a)g Fp(delay)f Fq(to)i(get)f(access)g
-(to)g(previous)g(v)-5 b(alues.)55 b(But)34 b(b)r(e)g(careful)f(ab)r
-(out)722 1780 y(what)28 b(initial)g(v)-5 b(alue)27 b(y)n(ou)g(c)n(ho)r
-(ose)f(for)h(this)h(use)g(of)f(dela)n(y)-7 b(.)639 1946
-y Fi(\017)41 b Fq(When)23 b(w)n(e)f(w)n(an)n(t)g(a)g(certain)g(prop)r
-(ert)n(y)f(only)h(to)g(b)r(e)h(true)f(when)h(a)f(certain)f(condition)
-722 2045 y(holds,)40 b(whic)n(h)e(do)r(es)f(not)h(necessarily)e(hold)i
-(all)f(the)h(time,)j(w)n(e)c(can)h(use)f(logical)722
-2145 y(implication.)j(Implication)29 b(is)f(implemen)n(ted)i(b)n(y)e
-(the)h(La)n(v)-5 b(a)27 b(gate)h Fp(impl)p Fq(,)g(and)g(also)722
-2245 y(b)n(y)g(the)g(binary)e(op)r(erator)g Fp(==>)p
-Fq(.)515 2467 y(Here)32 b(is)h(an)g(example.)53 b(Supp)r(ose)33
-b(w)n(e)g(w)n(an)n(t)f(to)h(de\014ne)h(the)f(follo)n(wing)f(prop)r(ert)
-n(y)g(ab)r(out)515 2567 y(the)i Fp(toggle)e Fq(circuit:)49
-b("if)35 b(the)f(input)h(is)f(high,)h(then)g(the)f(curren)n(t)f(output)
-i(is)f(di\013eren)n(t)515 2666 y(from)27 b(the)h(previous)e(output".)
-515 2806 y(The)h(w)n(a)n(y)g(w)n(e)g(de\014ne)h(this)g(in)g(La)n(v)-5
-b(a)26 b(is:)602 2992 y Fp(prop_ToggleToggl)o(es)o(Whe)o(nH)o(igh)37
-b(inp)42 b(=)h(ok)689 3092 y(where)776 3191 y(out)173
-b(=)44 b(toggle)d(inp)776 3291 y(out')129 b(=)44 b(delay)d(low)h(out)
-776 3390 y(change)f(=)j(xor2)d(\(out,)h(out'\))776 3490
-y(ok)217 b(=)44 b(inp)e(==>)g(change)515 3676 y Fq(First,)21
-b(w)n(e)d(compute)i(the)f(output)h Fp(out)e Fq(from)h
-Fp(toggle)p Fq(.)32 b(Then,)21 b(w)n(e)e(use)g(a)g(dela)n(y)f(comp)r
-(onen)n(t)515 3776 y(to)32 b(get)g(access)e(to)i(the)h(previous)e
-(output)h Fp(out')p Fq(.)49 b(W)-7 b(e)33 b(de\014ne)f(the)g(situation)
-g Fp(change)e Fq(in)515 3875 y(whic)n(h)j(these)g(outputs)h(di\013er.)
-54 b(And)34 b(then)g(w)n(e)e(sa)n(y:)48 b("if)33 b(the)g(input)i(is)e
-Fp(high)p Fq(,)g(then)h(the)515 3975 y(outputs)28 b(di\013er".)515
-4289 y Fm(6.3)135 b(V)-11 b(eri\014cation)515 4511 y
-Fq(After)33 b(de\014ning)f(these)h(prop)r(erties,)f(w)n(e)h(w)n(ould)f
-(lik)n(e)g(to)g(formally)g(v)n(erify)f(them.)52 b(V)-7
-b(eri\014-)515 4611 y(cation)28 b(of)h(a)f(sequen)n(tial)g(prop)r(ert)n
-(y)g(means)h(that)g(w)n(e)f(ha)n(v)n(e)g(to)h(pro)n(v)n(e)e(that)i(the)
-g(prop)r(ert)n(y)515 4710 y(holds)36 b(at)g(all)g(times.)63
-b(In)37 b(La)n(v)-5 b(a,)37 b(w)n(e)f(do)h(this)f(b)n(y)g
-Fn(induction)h Fq(o)n(v)n(er)e(time.)63 b(It)37 b(w)n(orks)e(as)515
-4810 y(follo)n(ws.)1905 5255 y(30)p eop
-%%Page: 31 32
-31 31 bop 515 523 a Fq(Firstly)-7 b(,)23 b(w)n(e)f(ha)n(v)n(e)f(to)i
-(do)f(the)g Fn(b)l(ase)k(c)l(ase)p Fq(:)35 b(pro)n(ving)20
-b(that)j(the)g(prop)r(ert)n(y)e(holds)h(for)g(the)h Fn(\014rst)515
-623 y Fq(time)28 b(instance.)38 b(Since)28 b(lo)r(oking)f(at)h(just)g
-(one)g(time)g(instance)g(do)r(es)f(not)h(in)n(v)n(olv)n(e)f(time)h(at)
-515 722 y(all,)f(w)n(e)g(can)h(use)f(the)h(same)f(tec)n(hniques)g(as)g
-(w)n(e)g(did)h(in)g(the)g(com)n(binational)f(case.)515
-862 y(Then,)f(w)n(e)g(do)g(the)g(inductiv)n(e)h Fn(step)p
-Fq(.)36 b(W)-7 b(e)27 b(w)n(an)n(t)e(to)h(pro)n(v)n(e)f(that)h
-Fn(if)h Fq(the)f(prop)r(ert)n(y)f(holds)h(at)515 961
-y(time)h Fj(t)p Fq(,)f(it)h(also)f(holds)g(at)g(time)h
-Fj(t)16 b Fq(+)f(1.)37 b(W)-7 b(e)26 b(do)g(this)h(as)f(follo)n(ws:)35
-b(w)n(e)26 b(create)g(an)g Fn(arbitr)l(ary)515 1061 y
-Fq(time)i(instance)f(b)n(y)g(\014lling)g(the)h(states)f(of)g(the)g
-(circuits)g(with)h(fresh)f(v)-5 b(ariables.)36 b(Then,)27
-b(w)n(e)515 1161 y(run)32 b(the)h(circuit)f(once)g(on)h(that)f(state,)i
-(obtaining)e(an)g(output)h(and)g(new)f(state)g(v)-5 b(alues.)515
-1260 y(Then)34 b(w)n(e)f(assert)f(that)i(the)g(output)g(is)g(true,)h
-(and)e(run)h(the)g(circuit)f(on)h(the)g(new)f(state)515
-1360 y(v)-5 b(alues.)36 b(Finally)-7 b(,)28 b(w)n(e)f(need)h(to)f(pro)n
-(v)n(e)f(that)i(the)g(new)g(output)g(is)f(true.)515 1499
-y(After)22 b(pro)n(ving)d(the)j(base)f(case)g(and)g(the)h(inductiv)n(e)
-f(step,)i(w)n(e)e(ha)n(v)n(e)g(pro)n(v)n(ed)e(our)i(prop)r(ert)n(y)-7
-b(.)515 1599 y(Here)27 b(is)g(what)h(happ)r(ens)g(in)g(La)n(v)-5
-b(a:)602 1785 y Fp(Main>)41 b Fl(verify)h(prop_ToggleEdge)o(Id)o(ent)o
-(it)o(y)602 1885 y Fp(Proving:)e(base)i(1)h(...)g(Valid.)602
-1984 y(Proving:)d(step)i(1)h(...)g(Valid.)602 2084 y(--)602
-2183 y(Result:)e(Valid.)602 2383 y(Lava>)g Fl(verify)h(prop_ToggleTogg)
-o(le)o(sWh)o(en)o(Hig)o(h)602 2482 y Fp(Proving:)e(base)i(1)h(...)g
-(Valid.)602 2582 y(Proving:)d(step)i(1)h(...)g(Valid.)602
-2682 y(--)602 2781 y(Result:)e(Valid.)515 2967 y Fq(W)-7
-b(e)28 b(giv)n(e)e(a)i(more)e(detailed)i(explanation)f(of)g(induction)h
-(in)g(the)g(next)g(section.)515 3282 y Fm(6.4)135 b(Induction)515
-3503 y Fq(T)-7 b(o)36 b(p)r(erform)f(induction)i(on)f(a)g(La)n(v)-5
-b(a)35 b(prop)r(ert)n(y)-7 b(,)38 b(w)n(e)e(con)n(v)n(ert)e(it)j(to)f
-(a)g(logical)f(form)n(ula)515 3603 y(relating)c(input)j(`)p
-Ff(inp)o Fq(')f(and)f(old)h(state)f(v)-5 b(ariables)31
-b(`)p Ff(q)2168 3620 y Fe(old)2261 3603 y Fq(')i(to)f(output)h(`)p
-Ff(ok)p Fq(')f(and)h(new)f(state)515 3703 y(v)-5 b(ariables)31
-b(`)p Ff(q)930 3715 y Fe(new)1050 3703 y Fq('.)52 b(Whenev)n(er)31
-b(w)n(e)i(use)f(a)g(signal-lev)n(el)f(dela)n(y)g(comp)r(onen)n(t)h(in)h
-(a)f(circuit)515 3802 y(or)26 b(prop)r(ert)n(y)-7 b(,)27
-b(w)n(e)g(in)n(tro)r(duce)g(one)h(state)f(v)-5 b(ariable.)515
-3942 y(In)27 b(this)h(translation,)f(w)n(e)g(also)g(in)n(tro)r(duce)g
-(a)g(sp)r(ecial)g(input,)i(called)e(`)p Ff(init)o Fq(',)h(whic)n(h)g
-(is)f(true)515 4041 y(only)33 b(in)h(the)g(\014rst)f(time)h(instance.)
-54 b(So,)35 b(after)e(w)n(e)g(ha)n(v)n(e)g(translated)f(the)i(prop)r
-(ert)n(y)-7 b(,)34 b(w)n(e)515 4141 y(ha)n(v)n(e)26 b(a)h(logical)g
-(form)n(ula)f(of)i(the)g(follo)n(wing)e(form:)1428 4324
-y Fj(T)12 b Fq(\()p Ff(init)o Fj(;)i Ff(inp)p Fj(;)g
-Ff(q)1856 4341 y Fe(old)1948 4324 y Fj(;)g Ff(q)2028
-4336 y Fe(new)2148 4324 y Fj(;)g Ff(ok)o Fq(\))515 4506
-y(This)27 b(form)n(ula)g(is)g(usually)h(called)f(the)h
-Fn(tr)l(ansition)h(r)l(elation)p Fq(.)515 4646 y(A)d(v)n(ery)f(simple)h
-(w)n(a)n(y)f(to)h(pro)n(v)n(e)e(that)j(the)f(output)h(`)p
-Ff(ok)o Fq(')f(is)g(alw)n(a)n(ys)e(true,)i(w)n(ould)g(b)r(e)g(to)g(try)
-515 4745 y(pro)n(ving)g(the)i(follo)n(wing:)1406 4928
-y Fj(T)12 b Fq(\()p Ff(init)o Fj(;)i Ff(inp)o Fj(;)g
-Ff(q)1833 4945 y Fe(old)1926 4928 y Fj(;)g Ff(q)2006
-4940 y Fe(new)2126 4928 y Fj(;)g Ff(ok)o Fq(\))23 b Fi(\))g
-Ff(ok)719 b Fq(\(6.1\))1905 5255 y(31)p eop
-%%Page: 32 33
-32 32 bop 515 523 a Fq(Unfortunately)37 b(ho)n(w)n(ev)n(er,)g(this)g
-(metho)r(d)h(do)r(es)f(not)g(w)n(ork)e(v)n(ery)h(often,)k(b)r(ecause)d
-(ev)n(en)515 623 y(when)h(the)h(prop)r(ert)n(y)e(is)h(alw)n(a)n(ys)e
-(true)i(in)h(an)n(y)e(run)h(of)g(the)h(circuit,)i(it)d(migh)n(t)g(not)h
-(b)r(e)515 722 y(true)31 b(in)g(ev)n(ery)f(p)r(ossible)h
-(con\014guration)e(of)j(the)f(state)g(v)-5 b(ariables.)46
-b(This)32 b(is)f(wh)n(y)f(w)n(e)h(use)515 822 y(induction.)515
-961 y(First,)e(w)n(e)f(pro)n(v)n(e)g(the)h Fn(b)l(ase)i(c)l(ase)p
-Fq(,)f(that)f(is:)40 b(`)p Ff(ok)o Fq(')29 b(is)g(true)f(at)h(the)g
-(\014rst)g(time)g(instance.)41 b(In)515 1061 y(this)28
-b(case,)e(w)n(e)i(kno)n(w)e(that)i(the)g(v)-5 b(ariable)27
-b(`)p Ff(init)o Fq(')h(is)g(true,)f(so)g(w)n(e)g(pro)n(v)n(e:)1368
-1238 y Fj(T)12 b Fq(\()p Fr(true)p Fj(;)i Ff(inp)o Fj(;)g
-Ff(q)1856 1250 y Fe(any)1963 1238 y Fj(;)g Ff(q)2043
-1250 y Fe(new)2163 1238 y Fj(;)g Ff(ok)o Fq(\))23 b Fi(\))g
-Ff(ok)682 b Fq(\(6.2\))515 1414 y(This)27 b(is)h(usually)f(easy)-7
-b(,)27 b(since)g(initially)-7 b(,)28 b(w)n(e)f(kno)n(w)g(the)h(v)-5
-b(alues)27 b(of)h(the)g(state)f(v)-5 b(ariables.)515
-1554 y(Then,)24 b(w)n(e)g(pro)n(v)n(e)e(the)i Fn(induction)i(step)p
-Fq(,)f(that)f(is:)35 b(if)24 b(`)p Ff(ok)o Fq(')g(is)g(true)f(at)h
-(time)g Fj(t)p Fq(,)h(it)f(is)g(also)e(true)515 1653
-y(at)27 b(time)h Fj(t)19 b Fq(+)f(1.)36 b(So,)28 b(w)n(e)f(are)f(lo)r
-(oking)h(at)g(t)n(w)n(o)g(time)h(instances)f(of)h(the)g(prop)r(ert)n(y)
--7 b(.)1347 1824 y Fj(T)12 b Fq(\()p Ff(init)1552 1836
-y Fd(1)1589 1824 y Fj(;)i Ff(inp)1732 1845 y Fd(1)1769
-1824 y Fj(;)g Ff(q)1849 1836 y Fd(1)1886 1824 y Fj(;)g
-Ff(q)1966 1836 y Fd(2)2003 1824 y Fj(;)g Fr(true)p Fq(\))1367
-1924 y Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1786 1944
-y Fd(2)1823 1924 y Fj(;)g Ff(q)1903 1936 y Fd(2)1940
-1924 y Fj(;)g Ff(q)2020 1936 y Fd(3)2057 1924 y Fj(;)g
-Ff(ok)2176 1936 y Fd(2)2213 1924 y Fq(\))2287 1758 y
-Fc(\033)2373 1875 y Fi(\))23 b Ff(ok)2561 1887 y Fd(2)3208
-1875 y Fq(\(6.3\))515 2097 y(Note)28 b(ho)n(w)f(w)n(e)h(connect)g(the)g
-(di\013eren)n(t)g(time)h(instances)f(1)f(and)h(2)g(b)n(y)f(reuse)h(of)g
-(the)g(state)515 2196 y(v)-5 b(ariables)32 b(`)p Ff(q)931
-2208 y Fd(2)968 2196 y Fq(')h(as)g(new)g(states)g(in)g(the)h(\014rst)e
-(time)i(instance)f(and)g(as)g(old)g(states)f(in)i(the)515
-2296 y(second)29 b(time)i(instance.)45 b(Also)30 b(note)g(that)g(w)n(e)
-g(use)g Fr(false)g Fq(for)g(the)h(v)-5 b(alue)30 b(of)g(`)p
-Ff(init)p Fq(')g(in)h(the)515 2395 y(second)d(time)h(instance,)g(b)r
-(ecause)g(w)n(e)f(kno)n(w)g(it)h(is)g(not)g(the)g(initial)g(time)g
-(instance.)40 b(And)515 2495 y(w)n(e)27 b(use)g Fr(true)h
-Fq(for)f(the)h(v)-5 b(alue)27 b(of)h Ff(ok)e Fq(in)i(the)g(\014rst)f
-(time,)h(since)f(w)n(e)g(ma)n(y)g(assume)g(that)h(the)515
-2595 y(induction)g(h)n(yp)r(othesis)f(holds.)515 2734
-y(If)e(w)n(e)f(ha)n(v)n(e)g(pro)n(v)n(en)f(the)i(t)n(w)n(o)f(form)n
-(ulas)f(6.2)h(and)g(6.3,)h(then)g(w)n(e)f(kno)n(w)g(that)h(`)p
-Ff(ok)o Fq(')g(m)n(ust)g(b)r(e)515 2834 y(true)i(at)h(all)f(time)h
-(instances.)36 b(This)28 b(is)g(the)g(basic)f(notion)g(of)g(induction.)
-515 3147 y Fm(6.5)135 b(Induction)45 b(With)g(Depth)515
-3369 y Fq(Unfortunately)-7 b(,)24 b(the)f(metho)r(d)g(of)g(induction)g
-(men)n(tioned)f(in)h(the)h(previous)d(section)h(is)h(not)515
-3469 y Fn(c)l(omplete)p Fq(.)54 b(This)32 b(means)h(that)g(there)g(are)
-f(prop)r(erties)g(whic)n(h)h(are)e(true,)k(whic)n(h)e(cannot)515
-3568 y(b)r(e)28 b(pro)n(v)n(en)e(b)n(y)h(simple)h(induction.)515
-3708 y(Here)e(is)h(an)f(example:)36 b(Consider)26 b(the)h
-Fp(toggle)d Fq(circuit)j(from)f(section)g(5.1)g(and)h(the)g
-Fp(puls)515 3807 y Fq(circuit)g(from)f(section)h(5.2.)36
-b(W)-7 b(e)27 b(migh)n(t)g(w)n(an)n(t)g(to)g(v)n(erify)f(that)h(these)g
-(circuits)g(do)g(exactly)515 3907 y(the)h(opp)r(osite)f(if)h
-Fp(toggle)d Fq(alw)n(a)n(ys)h(has)h(a)g(high)h(input,)g(and)g
-Fp(puls)e Fq(has)h(a)g(p)r(erio)r(d)g(of)h(2.)602 4088
-y Fp(prop_Toggle_vs_P)o(ul)o(s)38 b(\(\))k(=)i(ok)689
-4188 y(where)776 4287 y(out1)e(=)h(toggle)e(high)776
-4387 y(out2)h(=)h(puls)f(2)h(\(\))776 4486 y(ok)130 b(=)43
-b(inv)g(\(out1)e(<==>)h(out2\))515 4667 y Fq(This)22
-b(cannot)f(b)r(e)i(pro)n(v)n(en)e(b)n(y)g(normal)g(induction,)j(since)e
-(the)g Fp(puls)f Fq(circuit)h(has)g(t)n(w)n(o)f(dela)n(y)515
-4767 y(comp)r(onen)n(ts)h(in)h(a)f(ro)n(w,)g(so)g(it)h(is)g(not)g
-(enough)f(to)g(lo)r(ok)g(at)h(t)n(w)n(o)e(time)j(instances)e(at)g(a)h
-(time.)515 4907 y(So,)38 b(instead,)f(w)n(e)f(will)g(lo)r(ok)g(at)f
-(more)g(time)i(instances)e(in)i(the)f(induction)g(pro)r(of.)62
-b(W)-7 b(e)515 5006 y(in)n(tro)r(duce)36 b(the)i(concept)e(of)h
-Fn(induction)i(with)g(depth)g Fj(k)s Fq(,)h(whic)n(h)d(means)f(that)h
-(the)h(base)1905 5255 y(32)p eop
-%%Page: 33 34
-33 33 bop 1557 1857 a @beginspecial 0 @llx 0 @lly 187
-@urx 340 @ury 935 @rwi @setspecial
-%%BeginDocument: Pictures/basek.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--58.0 397.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 7612 m -1000 -1000 l 5069 -1000 l 5069 7612 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp
-clip
-n 1200 5550 m 1800 5550 l gs col0 s gr gr
-
-% arrowhead
-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp
-clip
-n 2700 5550 m 3300 5550 l gs col0 s gr gr
-
-% arrowhead
-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [15 45] 45 sd
-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd
-% Polyline
-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp
-clip
-n 1200 2250 m 1800 2250 l gs col0 s gr gr
-
-% arrowhead
-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp
-clip
-n 2250 6000 m 2250 6600 l gs col0 s gr gr
-
-% arrowhead
-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp
-clip
-n 1200 3750 m 1800 3750 l gs col0 s gr gr
-
-% arrowhead
-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp
-clip
-n 2250 2700 m 2250 3300 l gs col0 s gr gr
-
-% arrowhead
-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp
-clip
-n 2700 3750 m 3300 3750 l gs col0 s gr gr
-
-% arrowhead
-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp
-clip
-n 2250 1200 m 2250 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp
-clip
-n 2700 2250 m 3300 2250 l gs col0 s gr gr
-
-% arrowhead
-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-975 2325 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 3825 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 5625 m
-gs 1 -1 sc (x) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 5700 m
-gs 1 -1 sc (k) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 2400 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 5625 m
-gs 1 -1 sc (T) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 3825 m
-gs 1 -1 sc (T) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 2325 m
-gs 1 -1 sc (T) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2025 1125 m
-gs 1 -1 sc (q) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2175 1200 m
-gs 1 -1 sc (init) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 2325 m
-gs 1 -1 sc (ok) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3675 2400 m
-gs 1 -1 sc (1) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 3825 m
-gs 1 -1 sc (ok) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3675 3900 m
-gs 1 -1 sc (2) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 5625 m
-gs 1 -1 sc (ok) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3675 5700 m
-gs 1 -1 sc (k) col0 sh gr
-/Courier ff 270.00 scf sf
-3900 2325 m
-gs 1 -1 sc (?) col0 sh gr
-/Courier ff 270.00 scf sf
-3900 3825 m
-gs 1 -1 sc (?) col0 sh gr
-/Courier ff 270.00 scf sf
-3900 5625 m
-gs 1 -1 sc (?) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 3900 m
-gs 1 -1 sc (2) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1052 2039 a Fq(Figure)27 b(6.1:)36 b(Base)26
-b(case)h(for)g(induction)h(with)g(depth)g Fj(k)s Fq(.)515
-2305 y(case)c(pro)n(v)n(es)g(that)h(the)h(\014rst)f Fj(k)k
-Fq(steps)c(are)f(ok)-5 b(a)n(y)e(,)25 b(and)h(the)f(step)h(case)e(ma)n
-(y)h(assume)g(that)g(a)515 2404 y(sequence)i(of)g Fj(k)k
-Fq(steps)c(w)n(en)n(t)h(ok)-5 b(a)n(y)e(,)26 b(in)i(order)e(to)i(pro)n
-(v)n(e)e(that)i(the)g Fj(k)21 b Fq(+)d(1-th)27 b(step)h(is)f(ok)-5
-b(a)n(y)e(.)515 2544 y(Here)27 b(is)g(the)h(concrete)f(form)n(ula)g
-(for)g(the)h(base)f(case)g(\(see)g(also)g(\014gure)f(6.1\):)1145
-2725 y Fj(T)12 b Fq(\()p Fr(true)o Fj(;)i Ff(inp)1553
-2746 y Fd(1)1590 2725 y Fj(;)g Ff(q)1670 2737 y Fd(1)1707
-2725 y Fj(;)g Ff(q)1787 2737 y Fd(2)1824 2725 y Fj(;)g
-Ff(ok)1943 2737 y Fd(1)1980 2725 y Fq(\))1134 2825 y
-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1553 2845 y Fd(2)1590
-2825 y Fj(;)g Ff(q)1670 2837 y Fd(2)1707 2825 y Fj(;)g
-Ff(q)1787 2837 y Fd(3)1824 2825 y Fj(;)g Ff(ok)1943 2837
-y Fd(2)1980 2825 y Fq(\))1916 2925 y Fj(:)g(:)g(:)1036
-3024 y(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1454 3045
-y Fg(k)1495 3024 y Fj(;)g Ff(q)1575 3036 y Fg(k)1616
-3024 y Fj(;)g Ff(q)1696 3036 y Fg(k)q Fd(+1)1820 3024
-y Fj(;)g Ff(ok)1939 3036 y Fg(k)1980 3024 y Fq(\))2054
-2656 y Fc(9)2054 2730 y(>)2054 2755 y(>)2054 2780 y(=)2054
-2930 y(>)2054 2955 y(>)2054 2980 y(;)2151 2876 y Fi(\))23
-b Ff(ok)2339 2888 y Fd(1)2376 2876 y Fj(;)37 b Ff(ok)2518
-2888 y Fd(2)2556 2876 y Fj(;)g(:)14 b(:)g(:)f(;)37 b
-Ff(ok)2868 2888 y Fg(k)3208 2876 y Fq(\(6.4\))515 3203
-y(Note)e(that)g(w)n(e)g(use)f(the)i(same)e(tric)n(k)g(of)h(reusing)f
-(the)i(state)e(v)-5 b(ariables)34 b(of)h(consecutiv)n(e)515
-3303 y(times)d(to)g(line)g(up)g(the)h(time)f(instances.)50
-b(Here)32 b(is)g(the)g(concrete)f(form)n(ula)g(for)h(the)g(step)515
-3402 y(case)26 b(\(see)i(also)e(\014gure)h(6.2\):)1463
-3584 y Fj(T)12 b Fq(\()p Ff(init)1668 3596 y Fd(1)1705
-3584 y Fj(;)i Ff(inp)1848 3605 y Fd(1)1885 3584 y Fj(;)g
-Ff(q)1965 3596 y Fd(1)2002 3584 y Fj(;)g Ff(q)2082 3596
-y Fd(2)2119 3584 y Fj(;)g Fr(true)p Fq(\))1429 3684 y
-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1848 3704 y Fd(2)1885
-3684 y Fj(;)g Ff(q)1965 3696 y Fd(2)2002 3684 y Fj(;)g
-Ff(q)2082 3696 y Fd(3)2119 3684 y Fj(;)g Fr(true)p Fq(\))2264
-3784 y Fj(:)g(:)g(:)1334 3883 y(T)e Fq(\()p Fr(false)o
-Fj(;)i Ff(inp)1753 3903 y Fg(k)1794 3883 y Fj(;)g Ff(q)1874
-3895 y Fg(k)1914 3883 y Fj(;)g Ff(q)1994 3895 y Fg(k)q
-Fd(+1)2119 3883 y Fj(;)g Fr(true)p Fq(\))1132 3983 y
-Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1551 4003 y Fg(k)q
-Fd(+1)1676 3983 y Fj(;)g Ff(q)1756 3995 y Fg(k)q Fd(+1)1880
-3983 y Fj(;)g Ff(q)1960 3995 y Fg(k)q Fd(+2)2085 3983
-y Fj(;)g Ff(ok)2204 3995 y Fg(k)q Fd(+1)2329 3983 y Fq(\))2403
-3515 y Fc(9)2403 3589 y(>)2403 3614 y(>)2403 3639 y(>)2403
-3664 y(>)2403 3689 y(=)2403 3838 y(>)2403 3863 y(>)2403
-3888 y(>)2403 3913 y(>)2403 3938 y(;)2500 3784 y Fi(\))23
-b Ff(ok)2688 3796 y Fg(k)q Fd(+1)3208 3784 y Fq(\(6.5\))515
-4162 y(So,)31 b(for)f(an)n(y)f(depth)i Fj(k)s Fq(,)g(if)g(w)n(e)f(can)g
-(pro)n(v)n(e)f(the)i(form)n(ulas)e(6.4)h(and)g(6.5,)g(w)n(e)g(ha)n(v)n
-(e)g(pro)n(v)n(ed)515 4261 y(that)h(`)p Ff(ok)o Fq(')h(holds)f(at)g(ev)
-n(ery)f(time)h(instance.)48 b(Note)31 b(that)h(if)f(w)n(e)g(c)n(ho)r
-(ose)f Fj(k)i Fq(=)d(1,)j(then)f(w)n(e)515 4361 y(are)26
-b(bac)n(k)h(to)h(normal)e(induction)i(again.)515 4500
-y(Here)f(is)g(what)h(happ)r(ens)g(when)f(w)n(e)h(v)n(erify)f
-Fp(prop)p 2079 4500 27 4 v 29 w(Toggle)p 2372 4500 V
-29 w(vs)p 2489 4500 V 31 w(Puls)f Fq(in)i(La)n(v)-5 b(a:)602
-4686 y Fp(Main>)41 b Fl(verify)h(prop_Toggle_vs_)o(Pu)o(ls)602
-4786 y Fp(Prover:)f(base)h(1)h(...)f(Valid.)602 4886
-y(Prover:)f(step)h(1)h(...)f(Falsifiable.)602 4985 y(Prover:)f(base)h
-(2)h(...)f(Valid.)1905 5255 y Fq(33)p eop
-%%Page: 34 35
-34 34 bop 1501 2232 a @beginspecial 0 @llx 0 @lly 214
-@urx 430 @ury 1070 @rwi @setspecial
-%%BeginDocument: Pictures/stepk.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--49.0 487.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 9112 m -1000 -1000 l 5369 -1000 l 5369 9112 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
- [15 45] 45 sd
-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd
-% Polyline
-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp
-clip
-n 1200 2250 m 1800 2250 l gs col0 s gr gr
-
-% arrowhead
-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp
-clip
-n 1200 3750 m 1800 3750 l gs col0 s gr gr
-
-% arrowhead
-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp
-clip
-n 2250 2700 m 2250 3300 l gs col0 s gr gr
-
-% arrowhead
-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp
-clip
-n 2700 3750 m 3300 3750 l gs col0 s gr gr
-
-% arrowhead
-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp
-clip
-n 2250 1200 m 2250 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp
-clip
-n 2700 2250 m 3300 2250 l gs col0 s gr gr
-
-% arrowhead
-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp
-clip
-n 1200 5550 m 1800 5550 l gs col0 s gr gr
-
-% arrowhead
-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp
-clip
-n 2700 5550 m 3300 5550 l gs col0 s gr gr
-
-% arrowhead
-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 6477 m 2250 6573 l 2220 6477 l 2220 6615 l 2280 6615 l cp
-clip
-n 2250 6000 m 2250 6600 l gs col0 s gr gr
-
-% arrowhead
-n 2280 6477 m 2250 6573 l 2220 6477 l 2250 6453 l 2280 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1800 6600 m 2700 6600 l 2700 7500 l 1800 7500 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 7020 m 1773 7050 l 1677 7080 l 1815 7080 l 1815 7020 l cp
-clip
-n 1200 7050 m 1800 7050 l gs col0 s gr gr
-
-% arrowhead
-n 1677 7020 m 1773 7050 l 1677 7080 l 1653 7050 l 1677 7020 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 7020 m 3273 7050 l 3177 7080 l 3315 7080 l 3315 7020 l cp
-clip
-n 2700 7050 m 3300 7050 l gs col0 s gr gr
-
-% arrowhead
-n 3177 7020 m 3273 7050 l 3177 7080 l 3153 7050 l 3177 7020 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 7977 m 2250 8073 l 2220 7977 l 2220 8115 l 2280 8115 l cp
-clip
-n 2250 7500 m 2250 8100 l gs col0 s gr gr
-
-% arrowhead
-n 2280 7977 m 2250 8073 l 2220 7977 l 2250 7953 l 2280 7977 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-975 2325 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 3825 m
-gs 1 -1 sc (x) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 2400 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 3825 m
-gs 1 -1 sc (T) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 2325 m
-gs 1 -1 sc (T) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2025 1125 m
-gs 1 -1 sc (q) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2175 1200 m
-gs 1 -1 sc (any) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 3900 m
-gs 1 -1 sc (2) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 5625 m
-gs 1 -1 sc (x) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 5700 m
-gs 1 -1 sc (k) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 5625 m
-gs 1 -1 sc (T) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 7125 m
-gs 1 -1 sc (T) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 7125 m
-gs 1 -1 sc (ok) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3675 7200 m
-gs 1 -1 sc (k+1) col0 sh gr
-/Helvetica ff 270.00 scf sf
-825 7125 m
-gs 1 -1 sc (x) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-975 7275 m
-gs 1 -1 sc (k+1) col0 sh gr
-/Courier ff 270.00 scf sf
-4200 7125 m
-gs 1 -1 sc (?) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 2325 m
-gs 1 -1 sc (true) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 3825 m
-gs 1 -1 sc (true) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 5625 m
-gs 1 -1 sc (true) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 967 2414 a Fq(Figure)27 b(6.2:)36 b(Inductiv)n(e)28
-b(step)f(for)h(induction)f(with)i(depth)f Fj(k)s Fq(.)602
-2680 y Fp(Prover:)41 b(step)h(2)h(...)f(Valid.)602 2779
-y(--)602 2879 y(Result:)f(Valid.)515 3065 y Fq(So,)28
-b(the)h(v)n(eri\014er)e(realizes)g(that)i(induction)g(depth)g(1)f(is)h
-(not)f(enough)g(for)g(the)h(step)g(to)f(go)515 3164 y(through,)20
-b(and)g(increases)e(the)i(induction)f(depth)i(automatically)-7
-b(.)33 b(It)20 b(will)f(k)n(eep)h(increasing)515 3264
-y(the)26 b(depth)g(un)n(til)g(either)g(the)g(base)f(case)g(turns)g(out)
-h(to)f(b)r(e)h(false,)g(or)f(un)n(til)h(it)g(manages)e(to)515
-3364 y(pro)n(v)n(e)i(b)r(oth)i(the)g(base)f(case)f(and)i(the)g(step)g
-(case.)515 3503 y(If)k(w)n(e)g(w)n(an)n(t)g(to)g(sp)r(ecify)g(a)g(sp)r
-(eci\014c)g(depth)h(to)f(do)g(the)h(induction)f(for,)h(w)n(e)f(can)g
-(use)g(the)515 3603 y(op)r(eration)26 b Fp(verifyWith)p
-Fq(,)e(whic)n(h)j(tak)n(es)g(an)g(extra)g(list)h(of)f(v)n(erify)g
-(options.)602 3789 y Fp(Main>)41 b Fl(verifyWith)f([Depth)h(2])i
-(prop_Toggle_vs_P)o(ul)o(s)602 3888 y Fp(Prover:)e(base)h(2)h(...)f
-(Valid.)602 3988 y(Prover:)f(step)h(2)h(...)f(Valid.)602
-4088 y(--)602 4187 y(Result:)f(Valid.)515 4373 y Fq(The)25
-b(op)r(eration)g Fp(verify)e Fq(is)i(actually)g(just)h(a)f(short-hand)f
-(for)h Fp(verifyWith)40 b([Depth)h(1,)515 4473 y(Increasing])p
-Fq(.)61 b(With)38 b(the)g(option)f Fp(Depth)p Fq(,)h(one)f(can)f(sp)r
-(ecify)i(the)g(induction)f(depth.)515 4572 y Fp(Increasing)g
-Fq(means)j(that)i(it)f(will)g(k)n(eep)g(increasing)f(the)h(depth)h(un)n
-(til)f(it)h(pro)n(v)n(es)d(or)515 4672 y(dispro)n(v)n(es)25
-b(the)j(prop)r(ert)n(y)-7 b(.)1905 5255 y(34)p eop
-%%Page: 35 36
-35 35 bop 515 523 a Fm(6.6)135 b(Induction)45 b(With)g(Restricted)h
-(States)515 745 y Fq(Unfortunately)-7 b(,)22 b(ev)n(en)e(induction)g
-(with)h(depth)g(is)g(not)f(a)g(complete)g(metho)r(d.)35
-b(This)21 b(means)515 844 y(that)27 b(there)h(exists)f(prop)r(eries)f
-(whic)n(h)h(are)g(alw)n(a)n(ys)e(true,)j(but)g(for)f(whic)n(h)g(there)g
-(exists)g(no)515 944 y Fj(k)j Fq(suc)n(h)e(that)f(the)h(prop)r(ert)n(y)
-f(can)g(b)r(e)h(pro)n(v)n(en)e(b)n(y)h(induction)h(with)h(depth)f
-Fj(k)s Fq(.)515 1083 y(An)21 b(example)f(of)h(suc)n(h)f(a)g(prop)r(ert)
-n(y)g(is)g(to)h(c)n(hec)n(k)f(if)h(a)f(p)r(erio)r(dic)h(sequen)n(tial)f
-(adder)g(of)g(p)r(erio)r(d)515 1183 y(2)27 b(is)g(equiv)-5
-b(alen)n(t)28 b(to)f(a)g(resettable)g(adder)g(whic)n(h)h(w)n(e)f(reset)
-g(ev)n(ery)f(second)h(clo)r(c)n(k)g(tic)n(k.)602 1369
-y Fp(prop_AdderPeriod)o(2)37 b(ab)43 b(=)g(ok)689 1469
-y(where)776 1568 y(sum1)f(=)h(adderSeqPeriod)38 b(2)43
-b(ab)776 1668 y(two)86 b(=)43 b(delay)f(low)g(\(inv)g(two\))86
-b(--)42 b Fl(010101...)776 1768 y Fp(sum2)g(=)h(adderSeqReset)c(\(two,)
-i(ab\))776 1867 y(ok)130 b(=)43 b(sum1)f(<==>)g(sum2)515
-2053 y Fq(V)-7 b(erifying)27 b(this)h(prop)r(ert)n(y)e(results)i(in)f
-(an)h(in\014nite)g(lo)r(op:)602 2239 y Fp(Main>)41 b
-Fl(verify)h(prop_AdderPerio)o(d2)602 2339 y Fp(Prover:)f(base)h(1)h
-(...)f(Valid.)602 2438 y(Prover:)f(step)h(1)h(...)f(Falsifiable.)602
-2538 y(Prover:)f(base)h(2)h(...)f(Valid.)602 2638 y(Prover:)f(step)h(2)
-h(...)f(Falsifiable.)602 2737 y(...)515 2923 y Fq(The)26
-b(problem)g(is)h(that)f(there)h(exist)f(a)g(lot)h(of)f(state)g(v)-5
-b(ariable)26 b(con\014gurations)e(that)j(nev)n(er)515
-3023 y(o)r(ccur)i(when)h(w)n(e)g(run)f(the)i(circuit,)f(but)g(are)f
-(logically)g(p)r(ossible.)43 b(In)30 b(some)g(cases,)f(these)515
-3122 y(so-called)h Fn(unr)l(e)l(achable)k(states)d Fq(mess)g(up)h(the)f
-(induction)h(pro)r(of.)48 b(Ev)n(en)30 b(assuming)h(that)515
-3222 y(the)d(prop)r(ert)n(y)f(w)n(e)h(w)n(an)n(t)g(to)g(pro)n(v)n(e)e
-(is)i(true)h(for)e(a)h(v)n(ery)f(large)g(n)n(um)n(b)r(er)h
-Fj(k)j Fq(of)d(consecutiv)n(e)515 3322 y(running)f(steps)g(\(lik)n(e)g
-(w)n(e)g(do)g(in)h(the)g(induction)g(step\))g(is)f(not)g(enough)g(to)g
-(ensure)g(w)n(e)g(are)515 3421 y(in)f(a)g(reac)n(hable)f(state.)36
-b(The)26 b(reason)f(for)h(this)g(is)g(that)h(w)n(e)f(migh)n(t)g(b)r(e)h
-(running)f(around)f(in)515 3521 y(the)g(unreac)n(hable)e(states)i(in)g
-(circles)e(for)i(these)g Fj(k)i Fq(steps,)e(so)g(increasing)e
-Fj(k)28 b Fq(do)r(es)c(not)h(help.)515 3660 y(Instead,)g(w)n(e)g(will)g
-(strengthen)g(the)g(induction)h(step)f(b)n(y)g(sa)n(ying)f(that)h(all)g
-Fj(k)16 b Fq(+)d(1)25 b(states)f(w)n(e)515 3760 y(visit)33
-b(in)g(the)h(form)n(ula)e(m)n(ust)h(b)r(e)g(distinct.)54
-b(In)33 b(this)h(w)n(a)n(y)-7 b(,)33 b(w)n(e)g(ensure)f(that)h(w)n(e)g
-(are)f(not)515 3860 y(running)27 b(around)g(in)g(circles.)515
-3999 y(The)g(new)h(form)n(ula)f(for)g(the)h(inductiv)n(e)g(step)f(b)r
-(ecomes:)1614 4176 y Fj(T)12 b Fq(\()p Ff(init)1819 4188
-y Fd(1)1856 4176 y Fj(;)i Ff(inp)1999 4197 y Fd(1)2036
-4176 y Fj(;)g Ff(q)2116 4188 y Fd(1)2153 4176 y Fj(;)g
-Ff(q)2233 4188 y Fd(2)2270 4176 y Fj(;)g Fr(true)p Fq(\))1580
-4276 y Fj(T)e Fq(\()p Fr(false)o Fj(;)i Ff(inp)1999 4296
-y Fd(2)2036 4276 y Fj(;)g Ff(q)2116 4288 y Fd(2)2153
-4276 y Fj(;)g Ff(q)2233 4288 y Fd(3)2270 4276 y Fj(;)g
-Fr(true)p Fq(\))2416 4376 y Fj(:)g(:)g(:)1486 4475 y(T)e
-Fq(\()p Fr(false)n Fj(;)i Ff(inp)1904 4496 y Fg(k)1945
-4475 y Fj(;)g Ff(q)2025 4487 y Fg(k)2065 4475 y Fj(;)g
-Ff(q)2145 4487 y Fg(k)q Fd(+1)2270 4475 y Fj(;)g Fr(true)p
-Fq(\))1284 4575 y Fj(T)e Fq(\()p Fr(false)n Fj(;)i Ff(inp)1702
-4595 y Fg(k)q Fd(+1)1827 4575 y Fj(;)g Ff(q)1907 4587
-y Fg(k)q Fd(+1)2032 4575 y Fj(;)g Ff(q)2112 4587 y Fg(k)q
-Fd(+2)2236 4575 y Fj(;)g Ff(ok)2355 4587 y Fg(k)q Fd(+1)2480
-4575 y Fq(\))811 4675 y Ff(q)854 4687 y Fd(1)914 4675
-y Fi(6)p Fq(=)22 b Ff(q)1044 4687 y Fd(2)1082 4675 y
-Fj(;)37 b Ff(q)1185 4687 y Fd(1)1245 4675 y Fi(6)p Fq(=)22
-b Ff(q)1375 4687 y Fd(3)1412 4675 y Fj(;)37 b(:)14 b(:)g(:)g(;)37
-b Ff(q)1686 4687 y Fg(k)q Fb(\000)p Fd(1)1835 4675 y
-Fi(6)p Fq(=)23 b Ff(q)1966 4687 y Fg(k)q Fd(+1)2090 4675
-y Fj(;)37 b Ff(q)2193 4687 y Fg(k)2257 4675 y Fi(6)p
-Fq(=)23 b Ff(q)2388 4687 y Fg(k)q Fd(+1)2554 4107 y Fc(9)2554
-4181 y(>)2554 4206 y(>)2554 4231 y(>)2554 4256 y(>)2554
-4281 y(>)2554 4306 y(>)2554 4331 y(=)2554 4480 y(>)2554
-4505 y(>)2554 4530 y(>)2554 4555 y(>)2554 4580 y(>)2554
-4605 y(>)2554 4630 y(;)2651 4426 y Fi(\))g Ff(ok)2839
-4438 y Fg(k)q Fd(+1)3208 4426 y Fq(\(6.6\))515 4853 y(F)-7
-b(or)33 b(this)h(metho)r(d,)h(pro)n(ving)d(form)n(ulas)h(6.4)g(and)g
-(6.6)g(for)g(some)g Fj(k)k Fq(is)c(enough)g(to)h(pro)n(v)n(e)515
-4953 y(the)28 b(`)p Ff(ok)o Fq(')g(holds)g(at)f(all)h(time)g
-(instances.)38 b(Moreo)n(v)n(er,)25 b(this)j(is)g(a)f(complete)h(metho)
-r(d!)38 b(This)1905 5255 y(35)p eop
-%%Page: 36 37
-36 36 bop 515 523 a Fq(means)26 b(that,)h(if)g(the)g(prop)r(ert)n(y)e
-(holds,)i(there)f(is)g(alw)n(a)n(ys)f(a)h Fj(k)k Fq(suc)n(h)c(that)h(w)
-n(e)f(can)g(pro)n(v)n(e)f(it)515 623 y(b)n(y)i(induction)h(with)g
-(depth)g Fj(k)j Fq(with)d(restricted)f(states.)515 762
-y(T)-7 b(o)18 b(use)g(induction)h(with)g(restricted)e(states)h(in)h(La)
-n(v)-5 b(a,)19 b(w)n(e)f(can)g(use)g(the)h(option)f Fp(RestrictStates)p
-Fq(:)602 936 y Fp(Main>)41 b Fl(verifyWith)f([RestrictStates,)o(In)o
-(cre)o(as)o(ing)o(])d(prop_AdderPeriod2)602 1036 y Fp(Proving:)j(base)i
-(1)h(...)g(Valid.)602 1135 y(Proving:)d(step)i(1)h(...)g(Falsifiable.)
-602 1235 y(...)602 1335 y(Proving:)d(base)i(5)h(...)g(Valid.)602
-1434 y(Proving:)d(step)i(5)h(...)g(Valid.)602 1534 y(--)602
-1633 y(Result:)e(Valid.)515 1807 y Fq(W)-7 b(e)31 b(needed)g(induction)
-h(depth)f(5)g(for)g(this)g(prop)r(ert)n(y)-7 b(.)46 b(Note)31
-b(that)g(w)n(e)g(used)g(the)g(option)515 1907 y Fp(Increasing)23
-b Fq(also,)k(otherwise)g(the)h(v)n(eri\014cation)e(w)n(ould)h(ha)n(v)n
-(e)f(stopp)r(ed)i(at)g(depth)g(1.)515 2219 y Fm(6.7)135
-b(Exercises)575 2431 y Fq(6.1)40 b(Wh)n(y)28 b(is)f(sim)n(ulation)g
-(not)h(enough)f(to)g(do)h(sequen)n(tial)f(v)n(eri\014cation?)575
-2591 y(6.2)40 b(V)-7 b(erify)31 b(that)g(the)h Fp(edge)d
-Fq(circuit)i(and)f(the)i(circuit)e Fp(evenSoFar)e Fq(from)i(exercise)g
-(5.1)722 2691 y(alw)n(a)n(ys)c(ha)n(v)n(e)g(opp)r(osite)i(outputs)f(if)
-i(fed)f(with)g(the)g(same)f(inputs.)575 2851 y(6.3)40
-b(V)-7 b(erify)33 b(that)h(the)f(three)g(di\013eren)n(t)g(implemen)n
-(tations)f(of)h(a)g(puls)g(generator)e(with)722 2950
-y(p)r(erio)r(d)e(6)e(in)i(exercise)e(5.5)h(are)f(equiv)-5
-b(alen)n(t.)39 b(What)28 b(is)g(the)h(induction)g(depth)g(that)722
-3050 y(is)f(needed?)575 3210 y(6.4)40 b(V)-7 b(erify)35
-b(the)g(ob)n(vious)e(relationship)h(b)r(et)n(w)n(een)g(the)h
-Fp(puls)e Fq(circuit)i(and)f(the)h Fp(puls2)722 3309
-y Fq(circuit)30 b(from)g(exercise)f(5.6,)h(for)f(di\013eren)n(t)h(v)-5
-b(alues)30 b(of)g Fj(k)s Fq(.)44 b(What)30 b(is)g(the)h(induction)722
-3409 y(depth)e(that)e(is)h(needed?)575 3569 y(6.5)40
-b(V)-7 b(erify)21 b(that)g(the)g(up-part)f(of)h(the)g(up-do)n(wn)f
-(coun)n(ter)g(y)n(ou)g(de\014ned)h(in)g(exercie)f(5.7)g(is)722
-3669 y(equiv)-5 b(alen)n(t)27 b(to)g(the)g(up-coun)n(ter)f(from)g
-(section)h(5.3.)35 b(Do)27 b(this)g(for)g(di\013eren)n(t)f(v)-5
-b(alues)722 3768 y(of)28 b Fj(n)p Fq(.)575 3928 y(6.6)40
-b(De\014ne)34 b(and)f(v)n(erify)f(the)h(follo)n(wing)f(prop)r(ert)n(y:)
-47 b("if)33 b(the)g(input)h(to)f Fp(toggle)e Fq(is)i(the)722
-4028 y(same)f(t)n(wice)g(in)h(a)f(ro)n(w,)h(then)g(the)f(curren)n(t)g
-(output)h(is)f(the)h(same)f(as)g(the)h(output)722 4128
-y(t)n(w)n(o)27 b(steps)h(ago".)575 4288 y(6.7)40 b(Consider)d(the)h
-(follo)n(wing)f(general)g(prop)r(ert)n(y:)56 b("As)38
-b(long)f(as)g Fj(A)h Fq(holds,)i(then)f Fj(B)722 4387
-y Fq(m)n(ust)23 b(hold".)35 b(Ho)n(w)22 b(w)n(ould)h(y)n(ou)f(de\014ne)
-h(suc)n(h)f(a)g(prop)r(ert)n(y?)35 b(Hin)n(t:)g(use)22
-b(the)h Fp(always)722 4487 y Fq(circuit)28 b(from)f(5.4.)575
-4647 y(6.8)40 b(Sho)n(w)27 b(that)h(doing)f(induction)h(with)g(depth)h
-(1)e(amoun)n(ts)g(to)g(normal)g(induction.)575 4807 y(6.9)40
-b(\(*\))31 b(Sho)n(w)e(that)i(doing)f(induction)g(with)h(depth)g
-Fj(k)i Fq(is)d Fn(sound)p Fq(,)h(that)g(is,)g(if)f(w)n(e)g(ha)n(v)n(e)
-722 4907 y(pro)n(v)n(en)g(the)i(base)f(case)f(and)h(the)h(inductiv)n(e)
-g(step,)g(then)g(w)n(e)f(ha)n(v)n(e)f(really)h(pro)n(v)n(en)722
-5006 y(that)d(the)g(prop)r(ert)n(y)f(alw)n(a)n(ys)e(holds.)1905
-5255 y(36)p eop
-%%Page: 37 38
-37 37 bop 533 523 a Fq(6.10)40 b(\(**\))20 b(Sho)n(w)f(that)h(doing)f
-(induction)h(with)g(depth)h Fj(k)h Fq(and)e(restricted)f(states)g(is)h
-Fn(sound)p Fq(.)722 623 y(Y)-7 b(ou)28 b(ma)n(y)f(use)g(the)h(fact)g
-(that)g(exercise)e(6.9)h(holds.)533 789 y(6.11)40 b(\(**\))25
-b(Sho)n(w)f(that)h(doing)f(induction)h(with)g(depth)g
-Fj(k)j Fq(and)c(restricted)g(states)g(is)h Fn(c)l(om-)722
-888 y(plete)p Fq(.)1905 5255 y(37)p eop
-%%Page: 38 39
-38 38 bop 515 1186 a Fo(Chapter)64 b(7)515 1641 y Fs(Time)76
-b(T)-19 b(ransformations)515 2112 y Fq(In)24 b(this)g(c)n(hapter,)g(w)n
-(e)g(will)g(see)f(some)h(tec)n(hniques)f(with)i(whic)n(h)f(w)n(e)f(can)
-h(compare)e(circuits)515 2212 y(that)28 b(op)r(erate)e(at)i(di\013eren)
-n(t)g(clo)r(c)n(k)e(rates.)515 2523 y Fm(7.1)135 b(Timing)45
-b(Issues)515 2745 y Fq(So)38 b(far,)i(when)e(w)n(e)g(w)n(ere)f
-(comparing)f(t)n(w)n(o)i(circuits,)i(w)n(e)e(alw)n(a)n(ys)e(assumed)i
-(that)g(they)515 2845 y(consumed)d(their)h(inputs)h(and)f(pro)r(duced)g
-(their)g(outputs)g(at)g(the)g(same)g(rate.)61 b(Let)36
-b(us)515 2944 y(tak)n(e)c(a)g(lo)r(ok)f(at)i(an)f(example)g(where)g
-(this)h(is)f(not)h(the)g(case:)46 b(comparing)31 b(a)h(sequen)n(tial)
-515 3044 y(adder)27 b(against)f(a)h(com)n(binational)g(adder.)515
-3184 y(The)e(sequen)n(tial)f(adder)g(\(see)g(\014gure)g(7.1\))h(tak)n
-(es)e(in)i(a)g(pair)f(of)g(bits)i(ev)n(ery)d(clo)r(c)n(k)h(tic)n(k,)h
-(and)515 3283 y(outputs)k(the)g(sum,)g(and)f(remem)n(b)r(ers)g(the)h
-(carry)e(for)h(the)h(next)g(clo)r(c)n(k)e(cycle.)40 b(The)29
-b(carry)515 3383 y(is)e(reset)g(ev)n(ery)g Fj(n)p Fq(-th)g(clo)r(c)n(k)
-g(tic)n(k.)37 b(Here)27 b(is)g(ho)n(w)g(w)n(e)h(de\014ned)g(it:)602
-3556 y Fp(adderSeqPeriod)38 b(n)43 b(=)689 3656 y(rowSeqPeriod)c(n)k
-(fullAdd)515 3830 y Fq(The)24 b(com)n(binational)f(adder)g(\(see)i
-(\014gure)e(7.2\))h(tak)n(es)f(in)h(t)n(w)n(o)g Fj(n)p
-Fq(-bit)g(binary)g(n)n(um)n(b)r(ers)f(and)515 3929 y(pro)r(duces)30
-b(the)h(sum)g(as)f(a)h Fj(n)p Fq(-bit)g(binary)f(n)n(um)n(b)r(er)h(in)g
-(one)f(clo)r(c)n(k)g(tic)n(k.)47 b(Here)30 b(is)h(ho)n(w)f(w)n(e)515
-4029 y(de\014ne)e(it:)602 4203 y Fp(adderCom)40 b(abs)j(=)g(sum)689
-4302 y(where)776 4402 y(\(sum,)f(carryOut\))e(=)j(row)f(fullAdd)f
-(\(low,)g(abs\))1580 4807 y @beginspecial 0 @llx 0 @lly
-176 @urx 56 @ury 880 @rwi @setspecial
-%%BeginDocument: Pictures/adderSeq.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--94.0 181.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4012 m -1000 -1000 l 5498 -1000 l 5498 4012 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 2400 2100 m 3300 2100 l 3300 3000 l 2400 3000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2277 2595 m 2373 2625 l 2277 2655 l 2415 2655 l 2415 2595 l cp
-clip
-n 1800 2625 m 2400 2625 l gs col0 s gr gr
-
-% arrowhead
-n 2277 2595 m 2373 2625 l 2277 2655 l 2253 2625 l 2277 2595 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2277 2520 m 2373 2550 l 2277 2580 l 2415 2580 l 2415 2520 l cp
-clip
-n 1800 2550 m 2400 2550 l gs col0 s gr gr
-
-% arrowhead
-n 2277 2520 m 2373 2550 l 2277 2580 l 2253 2550 l 2277 2520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3777 2520 m 3873 2550 l 3777 2580 l 3915 2580 l 3915 2520 l cp
-clip
-n 3300 2550 m 3900 2550 l gs col0 s gr gr
-
-% arrowhead
-n 3777 2520 m 3873 2550 l 3777 2580 l 3753 2550 l 3777 2520 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-1575 2775 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-1575 2550 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3975 2625 m
-gs 1 -1 sc (sum) col0 sh gr
-/Courier ff 270.00 scf sf
-2625 2775 m
-gs 1 -1 sc (Seq) col0 sh gr
-/Courier ff 270.00 scf sf
-2475 2550 m
-gs 1 -1 sc (ADDER) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1381 4990 a Fq(Figure)27 b(7.1:)36 b(A)28
-b(sequen)n(tial)f(adder.)1905 5255 y(38)p eop
-%%Page: 39 40
-39 39 bop 1543 1048 a @beginspecial 0 @llx 0 @lly 194
-@urx 146 @ury 970 @rwi @setspecial
-%%BeginDocument: Pictures/adderCom.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--229.0 199.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4312 m -1000 -1000 l 8038 -1000 l 8038 4312 l cp clip
- 0.06000 0.06000 sc
-/Helvetica ff 270.00 scf sf
-3825 1200 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3825 1425 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3825 3000 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3825 3225 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3900 1575 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3900 1875 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3900 2175 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3900 2475 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3900 2775 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 1575 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 1875 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 2175 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 2475 m
-gs 1 -1 sc (.) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 2775 m
-gs 1 -1 sc (.) col0 sh gr
-% Polyline
-7.500 slw
-n 4800 900 m 5700 900 l 5700 3300 l 4800 3300 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-4677 1245 m 4773 1275 l 4677 1305 l 4815 1305 l 4815 1245 l cp
-clip
-n 4200 1275 m 4800 1275 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1245 m 4773 1275 l 4677 1305 l 4653 1275 l 4677 1245 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1170 m 4773 1200 l 4677 1230 l 4815 1230 l 4815 1170 l cp
-clip
-n 4200 1200 m 4800 1200 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1170 m 4773 1200 l 4677 1230 l 4653 1200 l 4677 1170 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1470 m 4773 1500 l 4677 1530 l 4815 1530 l 4815 1470 l cp
-clip
-n 4200 1500 m 4800 1500 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1470 m 4773 1500 l 4677 1530 l 4653 1500 l 4677 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1545 m 4773 1575 l 4677 1605 l 4815 1605 l 4815 1545 l cp
-clip
-n 4200 1575 m 4800 1575 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1545 m 4773 1575 l 4677 1605 l 4653 1575 l 4677 1545 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1770 m 4773 1800 l 4677 1830 l 4815 1830 l 4815 1770 l cp
-clip
-n 4200 1800 m 4800 1800 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1770 m 4773 1800 l 4677 1830 l 4653 1800 l 4677 1770 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1845 m 4773 1875 l 4677 1905 l 4815 1905 l 4815 1845 l cp
-clip
-n 4200 1875 m 4800 1875 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1845 m 4773 1875 l 4677 1905 l 4653 1875 l 4677 1845 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2070 m 4773 2100 l 4677 2130 l 4815 2130 l 4815 2070 l cp
-clip
-n 4200 2100 m 4800 2100 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2070 m 4773 2100 l 4677 2130 l 4653 2100 l 4677 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2145 m 4773 2175 l 4677 2205 l 4815 2205 l 4815 2145 l cp
-clip
-n 4200 2175 m 4800 2175 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2145 m 4773 2175 l 4677 2205 l 4653 2175 l 4677 2145 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2370 m 4773 2400 l 4677 2430 l 4815 2430 l 4815 2370 l cp
-clip
-n 4200 2400 m 4800 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2370 m 4773 2400 l 4677 2430 l 4653 2400 l 4677 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2445 m 4773 2475 l 4677 2505 l 4815 2505 l 4815 2445 l cp
-clip
-n 4200 2475 m 4800 2475 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2445 m 4773 2475 l 4677 2505 l 4653 2475 l 4677 2445 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2670 m 4773 2700 l 4677 2730 l 4815 2730 l 4815 2670 l cp
-clip
-n 4200 2700 m 4800 2700 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2670 m 4773 2700 l 4677 2730 l 4653 2700 l 4677 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2745 m 4773 2775 l 4677 2805 l 4815 2805 l 4815 2745 l cp
-clip
-n 4200 2775 m 4800 2775 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2745 m 4773 2775 l 4677 2805 l 4653 2775 l 4677 2745 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2970 m 4773 3000 l 4677 3030 l 4815 3030 l 4815 2970 l cp
-clip
-n 4200 3000 m 4800 3000 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2970 m 4773 3000 l 4677 3030 l 4653 3000 l 4677 2970 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 3045 m 4773 3075 l 4677 3105 l 4815 3105 l 4815 3045 l cp
-clip
-n 4200 3075 m 4800 3075 l gs col0 s gr gr
-
-% arrowhead
-n 4677 3045 m 4773 3075 l 4677 3105 l 4653 3075 l 4677 3045 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2970 m 6273 3000 l 6177 3030 l 6315 3030 l 6315 2970 l cp
-clip
-n 5700 3000 m 6300 3000 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2970 m 6273 3000 l 6177 3030 l 6153 3000 l 6177 2970 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2670 m 6273 2700 l 6177 2730 l 6315 2730 l 6315 2670 l cp
-clip
-n 5700 2700 m 6300 2700 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2670 m 6273 2700 l 6177 2730 l 6153 2700 l 6177 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2370 m 6273 2400 l 6177 2430 l 6315 2430 l 6315 2370 l cp
-clip
-n 5700 2400 m 6300 2400 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2370 m 6273 2400 l 6177 2430 l 6153 2400 l 6177 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2070 m 6273 2100 l 6177 2130 l 6315 2130 l 6315 2070 l cp
-clip
-n 5700 2100 m 6300 2100 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2070 m 6273 2100 l 6177 2130 l 6153 2100 l 6177 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1770 m 6273 1800 l 6177 1830 l 6315 1830 l 6315 1770 l cp
-clip
-n 5700 1800 m 6300 1800 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1770 m 6273 1800 l 6177 1830 l 6153 1800 l 6177 1770 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1470 m 6273 1500 l 6177 1530 l 6315 1530 l 6315 1470 l cp
-clip
-n 5700 1500 m 6300 1500 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1470 m 6273 1500 l 6177 1530 l 6153 1500 l 6177 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1170 m 6273 1200 l 6177 1230 l 6315 1230 l 6315 1170 l cp
-clip
-n 5700 1200 m 6300 1200 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1170 m 6273 1200 l 6177 1230 l 6153 1200 l 6177 1170 l  cp gs 0.00 setgray ef gr  col0 s
-/Courier ff 270.00 scf sf
-5250 2550 m
-gs 1 -1 sc  90.0 rot (ADDER) col0 sh gr
-/Courier ff 270.00 scf sf
-5475 2400 m
-gs 1 -1 sc  90.0 rot (Com) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3975 3150 m
-gs 1 -1 sc (7) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 1275 m
-gs 1 -1 sc (sum) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6375 3075 m
-gs 1 -1 sc (sum) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3975 1350 m
-gs 1 -1 sc (1) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-6900 3150 m
-gs 1 -1 sc (7) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-6900 1350 m
-gs 1 -1 sc (1) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1306 1231 a Fq(Figure)27 b(7.2:)36 b(A)28
-b(com)n(binational)e(adder.)1130 2255 y @beginspecial
-0 @llx 0 @lly 392 @urx 218 @ury 1960 @rwi @setspecial
-%%BeginDocument: Pictures/adderComSeqed.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--130.0 271.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5512 m -1000 -1000 l 9698 -1000 l 9698 5512 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 3000 900 m 4200 900 l 4200 3300 l 3000 3300 l cp gs col0 s gr 
-% Polyline
-n 6300 900 m 7500 900 l 7500 3300 l 6300 3300 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2877 2145 m 2973 2175 l 2877 2205 l 3015 2205 l 3015 2145 l cp
-clip
-n 2400 2175 m 3000 2175 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2145 m 2973 2175 l 2877 2205 l 2853 2175 l 2877 2145 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 2070 m 2973 2100 l 2877 2130 l 3015 2130 l 3015 2070 l cp
-clip
-n 2400 2100 m 3000 2100 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2070 m 2973 2100 l 2877 2130 l 2853 2100 l 2877 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 4800 900 m 5700 900 l 5700 3300 l 4800 3300 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-4677 3045 m 4773 3075 l 4677 3105 l 4815 3105 l 4815 3045 l cp
-clip
-n 4200 3075 m 4800 3075 l gs col0 s gr gr
-
-% arrowhead
-n 4677 3045 m 4773 3075 l 4677 3105 l 4653 3075 l 4677 3045 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2970 m 4773 3000 l 4677 3030 l 4815 3030 l 4815 2970 l cp
-clip
-n 4200 3000 m 4800 3000 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2970 m 4773 3000 l 4677 3030 l 4653 3000 l 4677 2970 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2745 m 4773 2775 l 4677 2805 l 4815 2805 l 4815 2745 l cp
-clip
-n 4200 2775 m 4800 2775 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2745 m 4773 2775 l 4677 2805 l 4653 2775 l 4677 2745 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2670 m 4773 2700 l 4677 2730 l 4815 2730 l 4815 2670 l cp
-clip
-n 4200 2700 m 4800 2700 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2670 m 4773 2700 l 4677 2730 l 4653 2700 l 4677 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2445 m 4773 2475 l 4677 2505 l 4815 2505 l 4815 2445 l cp
-clip
-n 4200 2475 m 4800 2475 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2445 m 4773 2475 l 4677 2505 l 4653 2475 l 4677 2445 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2370 m 4773 2400 l 4677 2430 l 4815 2430 l 4815 2370 l cp
-clip
-n 4200 2400 m 4800 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2370 m 4773 2400 l 4677 2430 l 4653 2400 l 4677 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2145 m 4773 2175 l 4677 2205 l 4815 2205 l 4815 2145 l cp
-clip
-n 4200 2175 m 4800 2175 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2145 m 4773 2175 l 4677 2205 l 4653 2175 l 4677 2145 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 2070 m 4773 2100 l 4677 2130 l 4815 2130 l 4815 2070 l cp
-clip
-n 4200 2100 m 4800 2100 l gs col0 s gr gr
-
-% arrowhead
-n 4677 2070 m 4773 2100 l 4677 2130 l 4653 2100 l 4677 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1845 m 4773 1875 l 4677 1905 l 4815 1905 l 4815 1845 l cp
-clip
-n 4200 1875 m 4800 1875 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1845 m 4773 1875 l 4677 1905 l 4653 1875 l 4677 1845 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1770 m 4773 1800 l 4677 1830 l 4815 1830 l 4815 1770 l cp
-clip
-n 4200 1800 m 4800 1800 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1770 m 4773 1800 l 4677 1830 l 4653 1800 l 4677 1770 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1545 m 4773 1575 l 4677 1605 l 4815 1605 l 4815 1545 l cp
-clip
-n 4200 1575 m 4800 1575 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1545 m 4773 1575 l 4677 1605 l 4653 1575 l 4677 1545 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1470 m 4773 1500 l 4677 1530 l 4815 1530 l 4815 1470 l cp
-clip
-n 4200 1500 m 4800 1500 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1470 m 4773 1500 l 4677 1530 l 4653 1500 l 4677 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1245 m 4773 1275 l 4677 1305 l 4815 1305 l 4815 1245 l cp
-clip
-n 4200 1275 m 4800 1275 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1245 m 4773 1275 l 4677 1305 l 4653 1275 l 4677 1245 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4677 1170 m 4773 1200 l 4677 1230 l 4815 1230 l 4815 1170 l cp
-clip
-n 4200 1200 m 4800 1200 l gs col0 s gr gr
-
-% arrowhead
-n 4677 1170 m 4773 1200 l 4677 1230 l 4653 1200 l 4677 1170 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 6300 3900 m 7500 3900 l 7500 4500 l 6300 4500 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-6177 2970 m 6273 3000 l 6177 3030 l 6315 3030 l 6315 2970 l cp
-clip
-n 5700 3000 m 6300 3000 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2970 m 6273 3000 l 6177 3030 l 6153 3000 l 6177 2970 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2670 m 6273 2700 l 6177 2730 l 6315 2730 l 6315 2670 l cp
-clip
-n 5700 2700 m 6300 2700 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2670 m 6273 2700 l 6177 2730 l 6153 2700 l 6177 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2370 m 6273 2400 l 6177 2430 l 6315 2430 l 6315 2370 l cp
-clip
-n 5700 2400 m 6300 2400 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2370 m 6273 2400 l 6177 2430 l 6153 2400 l 6177 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 2070 m 6273 2100 l 6177 2130 l 6315 2130 l 6315 2070 l cp
-clip
-n 5700 2100 m 6300 2100 l gs col0 s gr gr
-
-% arrowhead
-n 6177 2070 m 6273 2100 l 6177 2130 l 6153 2100 l 6177 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1770 m 6273 1800 l 6177 1830 l 6315 1830 l 6315 1770 l cp
-clip
-n 5700 1800 m 6300 1800 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1770 m 6273 1800 l 6177 1830 l 6153 1800 l 6177 1770 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1470 m 6273 1500 l 6177 1530 l 6315 1530 l 6315 1470 l cp
-clip
-n 5700 1500 m 6300 1500 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1470 m 6273 1500 l 6177 1530 l 6153 1500 l 6177 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6177 1170 m 6273 1200 l 6177 1230 l 6315 1230 l 6315 1170 l cp
-clip
-n 5700 1200 m 6300 1200 l gs col0 s gr gr
-
-% arrowhead
-n 6177 1170 m 6273 1200 l 6177 1230 l 6153 1200 l 6177 1170 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-7977 2070 m 8073 2100 l 7977 2130 l 8115 2130 l 8115 2070 l cp
-clip
-n 7500 2100 m 8100 2100 l gs col0 s gr gr
-
-% arrowhead
-n 7977 2070 m 8073 2100 l 7977 2130 l 7953 2100 l 7977 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6870 3423 m 6900 3327 l 6930 3423 l 6930 3285 l 6870 3285 l cp
-clip
-n 6900 3900 m 6900 3300 l gs col0 s gr gr
-
-% arrowhead
-n 6870 3423 m 6900 3327 l 6930 3423 l 6900 3447 l 6870 3423 l  cp gs 0.00 setgray ef gr  col0 s
-/Courier ff 270.00 scf sf
-3975 2775 m
-gs 1 -1 sc  90.0 rot (Parallel) col0 sh gr
-/Courier ff 270.00 scf sf
-3675 2325 m
-gs 1 -1 sc  90.0 rot (to) col0 sh gr
-/Courier ff 270.00 scf sf
-6675 2775 m
-gs 1 -1 sc  90.0 rot (Parallel) col0 sh gr
-/Courier ff 270.00 scf sf
-7275 2625 m
-gs 1 -1 sc  90.0 rot (Serial) col0 sh gr
-/Courier ff 270.00 scf sf
-6975 2325 m
-gs 1 -1 sc  90.0 rot (to) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2175 2100 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2175 2325 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-8175 2175 m
-gs 1 -1 sc (sum) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 2625 m
-gs 1 -1 sc  90.0 rot (Serial) col0 sh gr
-/Courier ff 270.00 scf sf
-6600 4275 m
-gs 1 -1 sc (Puls) col0 sh gr
-/Courier ff 270.00 scf sf
-5250 2550 m
-gs 1 -1 sc  90.0 rot (ADDER) col0 sh gr
-/Courier ff 270.00 scf sf
-5475 2400 m
-gs 1 -1 sc  90.0 rot (Com) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1025 2438 a(Figure)g(7.3:)37 b(The)27 b(slo)n(w)n(ed)g(do)
-n(wn)g(com)n(binational)f(adder.)515 2703 y(F)-7 b(or)27
-b(con)n(v)n(enience,)f(w)n(e)h(abstract)g(a)n(w)n(a)n(y)e(from)j(the)g
-(carry)-7 b(.)515 2842 y(There)27 b(are)f(t)n(w)n(o)h(basic)g(metho)r
-(ds)h(for)f(comparing)f(these)i(t)n(w)n(o)f(circuits.)515
-2982 y(The)38 b(\014rst)h(metho)r(d)g(in)n(v)n(olv)n(es)e(slo)n(wing)g
-(do)n(wn)h(the)i(com)n(binational)d(adder,)k(so)d(that)h(it)515
-3082 y(tak)n(es)25 b(more)g(clo)r(c)n(k)h(tic)n(ks)f(to)h(calculate)g
-(the)g(sum.)37 b(So)26 b(instead)g(of)g(taking)f Fj(n)h
-Fq(pairs)g(of)g(bits)515 3181 y(at)31 b(a)g(time,)i(it)f(tak)n(es)f
-(them)h(in)g(one-b)n(y-one,)e(and)i(when)g(it)g(has)f(gotten)g(all)g
-(of)g(them,)j(it)515 3281 y(outputs)d(the)g(sums)f(one-b)n(y-one.)44
-b(The)31 b(circuits)f(no)n(w)g(op)r(erate)g(at)g(the)h(same)g(rate,)f
-(and)515 3380 y(can)d(b)r(e)h(compared)e(b)n(y)i(con)n(v)n(en)n(tional)
-d(metho)r(ds.)515 3520 y(The)30 b(second)f(metho)r(d)h(in)n(v)n(olv)n
-(es)e(sp)r(eeding)i(up)g(the)g(sequen)n(tial)f(adder,)h(so)f(that)h(it)
-h(com-)515 3620 y(putes)g(sev)n(eral)e(results)h(in)h(one)f(clo)r(c)n
-(k)g(tic)n(k.)46 b(So)30 b(instead)g(of)h(taking)f(in)h(one)f(pair)g
-(of)h(bits)515 3719 y(at)c(a)g(time,)i(it)f(tak)n(es)e(in)i
-Fj(n)g Fq(pairs)e(of)i(bits,)g(and)f(pro)r(duces)g Fj(n)h
-Fq(sums)f(in)h(one)f(clo)r(c)n(k)g(cycle.)515 4034 y
-Fm(7.2)135 b(Slo)l(wing)46 b(Do)l(wn)515 4255 y Fq(The)33
-b(\014rst)f(tec)n(hnique)h(w)n(e)f(describ)r(e)h Fn(slows)i(down)e
-Fq(the)h(com)n(binational)d(circuit.)52 b(So,)34 b(in-)515
-4355 y(stead)24 b(of)g(computing)g(ev)n(erything)f(in)h(one)g(clo)r(c)n
-(k)f(tic)n(k,)i(w)n(e)f(force)f(it)i(to)f(tak)n(e)f Fj(n)h
-Fq(clo)r(c)n(k)f(tic)n(ks)515 4454 y(instead.)35 b(W)-7
-b(e)23 b(do)g(this)g(b)n(y)g(transforming)f(the)h(circuit)g(in)n(to)g
-(a)f(circuit)h(that)h(lo)r(oks)e(just)h(lik)n(e)515 4554
-y(the)34 b(sequen)n(tial)e(v)n(ersion:)48 b(it)34 b(tak)n(es)e(one)h
-(input)i(and)e(pro)r(duces)g(one)g(output)h(at)f(a)h(time)515
-4654 y(\(see)27 b(\014gure)g(7.3\).)515 4793 y(Since)h(the)g(inputs)g
-(come)f(in)h(one-b)n(y-one,)e(w)n(e)i(ha)n(v)n(e)e(to)i(w)n(ait)f(for)g
-Fj(n)h Fq(clo)r(c)n(k)f(tic)n(ks)g(un)n(til)h(w)n(e)515
-4893 y(ha)n(v)n(e)22 b(the)i(full)h(input)g(a)n(v)-5
-b(ailable)22 b(for)h(the)h(circuit.)36 b(This)24 b(is)f(done)h(b)n(y)f
-(the)h Fn(serial)k(to)e(p)l(ar)l(al)t(lel)515 4992 y(c)l(onverter)i
-Fq(\(see)f(\014gure)g(7.4\).)36 b(W)-7 b(e)28 b(can)g(implemen)n(t)g
-(this)g(comp)r(onen)n(t)f(as)g(follo)n(ws:)1905 5255
-y(39)p eop
-%%Page: 40 41
-40 40 bop 1609 1925 a @beginspecial 0 @llx 0 @lly 162
-@urx 302 @ury 810 @rwi @setspecial
-%%BeginDocument: Pictures/ser2par.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--40.0 333.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 6550 m -1000 -1000 l 4363 -1000 l 4363 6550 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1500 900 m 2400 900 l 2400 1800 l 1500 1800 l cp gs col0 s gr 
-% Polyline
-n 1500 4200 m 2400 4200 l 2400 5100 l 1500 5100 l cp gs col0 s gr 
-% Polyline
-n 1500 2400 m 2400 2400 l 2400 3300 l 1500 3300 l cp gs col0 s gr 
-% Polyline
- [15 45] 45 sd
-n 1950 3600 m 1950 4200 l gs col0 s gr  [] 0 sd
-% Polyline
-gs  clippath
-2877 570 m 2973 600 l 2877 630 l 3015 630 l 3015 570 l cp
-clip
-n 900 600 m 3000 600 l gs col0 s gr gr
-
-% arrowhead
-n 2877 570 m 2973 600 l 2877 630 l 2853 600 l 2877 570 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1980 777 m 1950 873 l 1920 777 l 1920 915 l 1980 915 l cp
-clip
-n 1950 600 m 1950 900 l gs col0 s gr gr
-
-% arrowhead
-n 1980 777 m 1950 873 l 1920 777 l 1950 753 l 1980 777 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1980 2277 m 1950 2373 l 1920 2277 l 1920 2415 l 1980 2415 l cp
-clip
-n 1950 1800 m 1950 2400 l gs col0 s gr gr
-
-% arrowhead
-n 1980 2277 m 1950 2373 l 1920 2277 l 1950 2253 l 1980 2277 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 2070 m 2973 2100 l 2877 2130 l 3015 2130 l 3015 2070 l cp
-clip
-n 1950 2100 m 3000 2100 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2070 m 2973 2100 l 2877 2130 l 2853 2100 l 2877 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 3570 m 2973 3600 l 2877 3630 l 3015 3630 l 3015 3570 l cp
-clip
-n 1950 3300 m 1950 3600 l 3000 3600 l gs col0 s gr gr
-
-% arrowhead
-n 2877 3570 m 2973 3600 l 2877 3630 l 2853 3600 l 2877 3570 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 5370 m 2973 5400 l 2877 5430 l 3015 5430 l 3015 5370 l cp
-clip
-n 1950 5100 m 1950 5400 l 3000 5400 l gs col0 s gr gr
-
-% arrowhead
-n 2877 5370 m 2973 5400 l 2877 5430 l 2853 5400 l 2877 5370 l  cp gs 0.00 setgray ef gr  col0 s
-/Times-Italic ff 270.00 scf sf
-1950 3000 m
-gs 1 -1 sc (low) col0 sh gr
-/Courier ff 270.00 scf sf
-1800 2925 m
-gs 1 -1 sc (D) col0 sh gr
-/Courier ff 270.00 scf sf
-1800 4725 m
-gs 1 -1 sc (D) col0 sh gr
-/Courier ff 270.00 scf sf
-1800 1425 m
-gs 1 -1 sc (D) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1950 1500 m
-gs 1 -1 sc (low) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1950 4800 m
-gs 1 -1 sc (low) col0 sh gr
-/Helvetica ff 270.00 scf sf
-675 675 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3075 675 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3075 2175 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3075 3675 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3075 5475 m
-gs 1 -1 sc (x) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3225 750 m
-gs 1 -1 sc (1) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3225 2250 m
-gs 1 -1 sc (2) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3225 3750 m
-gs 1 -1 sc (3) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3225 5550 m
-gs 1 -1 sc (n) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1202 2108 a Fq(Figure)27 b(7.4:)36 b(A)28
-b(serial)e(to)i(parallel)e(con)n(v)n(erter.)1478 4581
-y @beginspecial 0 @llx 0 @lly 225 @urx 465 @ury 1125
-@rwi @setspecial
-%%BeginDocument: Pictures/par2ser.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--58.0 500.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 9325 m -1000 -1000 l 5713 -1000 l 5713 9325 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 4500 m 2700 4500 l 2700 5400 l 1800 5400 l cp gs col0 s gr 
-/Courier ff 270.00 scf sf
-2100 5025 m
-gs 1 -1 sc (D) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2250 5100 m
-gs 1 -1 sc (low) col0 sh gr
-% Polyline
-n 1800 900 m 2700 900 l 2700 1800 l 1800 1800 l cp gs col0 s gr 
-/Courier ff 270.00 scf sf
-2100 1425 m
-gs 1 -1 sc (D) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2250 1500 m
-gs 1 -1 sc (low) col0 sh gr
-% Polyline
-n 1800 2700 m 2700 2700 l 2700 3600 l 1800 3600 l cp gs col0 s gr 
-/Courier ff 270.00 scf sf
-2100 3225 m
-gs 1 -1 sc (D) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2250 3300 m
-gs 1 -1 sc (low) col0 sh gr
-% Polyline
-n 3000 6600 m 3300 6600 l 3300 7500 l 3000 7500 l cp gs col0 s gr 
-% Polyline
-n 3000 4200 m 3300 4200 l 3300 5100 l 3000 5100 l cp gs col0 s gr 
-% Polyline
-n 3000 600 m 3300 600 l 3300 1500 l 3000 1500 l cp gs col0 s gr 
-% Polyline
-n 3000 2400 m 3300 2400 l 3300 3300 l 3000 3300 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2220 1923 m 2250 1827 l 2280 1923 l 2280 1785 l 2220 1785 l cp
-clip
-n 3300 2850 m 3600 2850 l 3600 2250 l 2250 2250 l 2250 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2220 1923 m 2250 1827 l 2280 1923 l 2250 1947 l 2220 1923 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 720 m 2973 750 l 2877 780 l 3015 780 l 3015 720 l cp
-clip
-n 1200 750 m 3000 750 l gs col0 s gr gr
-
-% arrowhead
-n 2877 720 m 2973 750 l 2877 780 l 2853 750 l 2877 720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 1320 m 2973 1350 l 2877 1380 l 3015 1380 l 3015 1320 l cp
-clip
-n 2700 1350 m 3000 1350 l gs col0 s gr gr
-
-% arrowhead
-n 2877 1320 m 2973 1350 l 2877 1380 l 2853 1350 l 2877 1320 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 1020 m 4473 1050 l 4377 1080 l 4515 1080 l 4515 1020 l cp
-clip
-n 3300 1050 m 4500 1050 l gs col0 s gr gr
-
-% arrowhead
-n 4377 1020 m 4473 1050 l 4377 1080 l 4353 1050 l 4377 1020 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 3120 m 2973 3150 l 2877 3180 l 3015 3180 l 3015 3120 l cp
-clip
-n 2700 3150 m 3000 3150 l gs col0 s gr gr
-
-% arrowhead
-n 2877 3120 m 2973 3150 l 2877 3180 l 2853 3150 l 2877 3120 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 2520 m 2973 2550 l 2877 2580 l 3015 2580 l 3015 2520 l cp
-clip
-n 1200 2550 m 3000 2550 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2520 m 2973 2550 l 2877 2580 l 2853 2550 l 2877 2520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2220 3723 m 2250 3627 l 2280 3723 l 2280 3585 l 2220 3585 l cp
-clip
-n 3300 4650 m 3600 4650 l 3600 4050 l 2250 4050 l 2250 3600 l gs col0 s gr gr
-
-% arrowhead
-n 2220 3723 m 2250 3627 l 2280 3723 l 2250 3747 l 2220 3723 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 4320 m 2973 4350 l 2877 4380 l 3015 4380 l 3015 4320 l cp
-clip
-n 1200 4350 m 3000 4350 l gs col0 s gr gr
-
-% arrowhead
-n 2877 4320 m 2973 4350 l 2877 4380 l 2853 4350 l 2877 4320 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 4920 m 2973 4950 l 2877 4980 l 3015 4980 l 3015 4920 l cp
-clip
-n 2700 4950 m 3000 4950 l gs col0 s gr gr
-
-% arrowhead
-n 2877 4920 m 2973 4950 l 2877 4980 l 2853 4950 l 2877 4920 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 6720 m 2973 6750 l 2877 6780 l 3015 6780 l 3015 6720 l cp
-clip
-n 1200 6750 m 3000 6750 l gs col0 s gr gr
-
-% arrowhead
-n 2877 6720 m 2973 6750 l 2877 6780 l 2853 6750 l 2877 6720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 7320 m 2973 7350 l 2877 7380 l 3015 7380 l 3015 7320 l cp
-clip
-n 2700 7350 m 3000 7350 l gs col0 s gr gr
-
-% arrowhead
-n 2877 7320 m 2973 7350 l 2877 7380 l 2853 7350 l 2877 7320 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 3300 7050 m 3600 7050 l 3600 6450 l 2250 6450 l gs col0 s gr 
-% Polyline
- [60] 0 sd
-gs  clippath
-3120 7623 m 3150 7527 l 3180 7623 l 3180 7485 l 3120 7485 l cp
-clip
-n 3150 7500 m 3150 8100 l gs col0 s gr gr
- [] 0 sd
-% arrowhead
-n 3120 7623 m 3150 7527 l 3180 7623 l 3150 7647 l 3120 7623 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [60] 0 sd
-gs  clippath
-3120 5223 m 3150 5127 l 3180 5223 l 3180 5085 l 3120 5085 l cp
-clip
-n 3150 5100 m 3150 6600 l gs col0 s gr gr
- [] 0 sd
-% arrowhead
-n 3120 5223 m 3150 5127 l 3180 5223 l 3150 5247 l 3120 5223 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [60] 0 sd
-gs  clippath
-3120 3423 m 3150 3327 l 3180 3423 l 3180 3285 l 3120 3285 l cp
-clip
-n 3150 3300 m 3150 4200 l gs col0 s gr gr
- [] 0 sd
-% arrowhead
-n 3120 3423 m 3150 3327 l 3180 3423 l 3150 3447 l 3120 3423 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [60] 0 sd
-gs  clippath
-3120 1623 m 3150 1527 l 3180 1623 l 3180 1485 l 3120 1485 l cp
-clip
-n 3150 1500 m 3150 2400 l gs col0 s gr gr
- [] 0 sd
-% arrowhead
-n 3120 1623 m 3150 1527 l 3180 1623 l 3150 1647 l 3120 1623 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2220 6123 m 2250 6027 l 2280 6123 l 2280 5985 l 2220 5985 l cp
-clip
-n 2250 6450 m 2250 6000 l gs col0 s gr gr
-
-% arrowhead
-n 2220 6123 m 2250 6027 l 2280 6123 l 2250 6147 l 2220 6123 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [15 45] 45 sd
-n 2250 6000 m 2250 5400 l gs col0 s gr  [] 0 sd
-/Courier ff 270.00 scf sf
-3075 6900 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 7425 m
-gs 1 -1 sc (0) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 4500 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 5025 m
-gs 1 -1 sc (0) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2250 7425 m
-gs 1 -1 sc (low) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 900 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 1425 m
-gs 1 -1 sc (0) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 825 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 2625 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 4425 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 6825 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4575 1125 m
-gs 1 -1 sc (y) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1050 900 m
-gs 1 -1 sc (1) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1050 2775 m
-gs 1 -1 sc (2) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1050 4575 m
-gs 1 -1 sc (3) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1050 6900 m
-gs 1 -1 sc (n) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2925 8325 m
-gs 1 -1 sc (load) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 2700 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-3075 3225 m
-gs 1 -1 sc (0) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1202 4763 a(Figure)h(7.5:)36 b(A)28 b(parallel)e(to)i
-(serial)e(con)n(v)n(erter.)1905 5255 y(40)p eop
-%%Page: 41 42
-41 41 bop 602 523 a Fp(serialToParallel)37 b(1)43 b(inp)f(=)i([inp])602
-722 y(serialToParallel)37 b(n)43 b(inp)f(=)i(inp)e(:)h(rest)689
-822 y(where)776 922 y(inp')f(=)h(delay)f(zero)g(inp)776
-1021 y(rest)g(=)h(serialToParallel)37 b(\(n-1\))42 b(inp')515
-1204 y Fq(Then)21 b(w)n(e)g(ha)n(v)n(e)f(to)h(tak)n(e)g(care)f(of)h
-(the)g(outputs.)35 b(A)n(t)22 b(ev)n(ery)e(clo)r(c)n(k)g(tic)n(k,)j
-(the)e(com)n(binational)515 1304 y(circuit)30 b(pro)r(duces)g
-Fj(n)h Fq(outputs,)h(but)f(they)g(only)f(mak)n(e)g(sense)g(on)g(ev)n
-(ery)f Fj(n)p Fq(-th,)j(2)p Fj(n)p Fq(-th,)f(...)515
-1404 y(clo)r(c)n(k)e(tic)n(k,)i(b)r(ecause)f(then)g(w)n(e)g(ha)n(v)n(e)
-f(the)i(righ)n(t)e(input.)46 b(Therefore,)29 b(w)n(e)h(need)g(to)g(add)
-g(a)515 1503 y(comp)r(onen)n(t)c(on)h(the)h(outputs)f(that)g(spreads)f
-(out)h(the)g(outputs)h(of)f(the)g(imp)r(ortan)n(t)g(clo)r(c)n(k)515
-1603 y(tic)n(ks)h(o)n(v)n(er)f(the)i(other)f(clo)r(c)n(k)g(tic)n(ks.)39
-b(This)29 b(is)f(done)g(b)n(y)h(the)g Fn(p)l(ar)l(al)t(lel)j(to)f
-(serial)h(c)l(onverter)515 1702 y Fq(\(see)27 b(\014gure)g(7.5\).)36
-b(W)-7 b(e)28 b(can)g(implemen)n(t)g(this)g(comp)r(onen)n(t)f(as)g
-(follo)n(ws:)602 1886 y Fp(parallelToSerial)37 b(\(load,)k([inp]\))g(=)
-i(out)689 1985 y(where)776 2085 y(out)86 b(=)43 b(mux)g(\(load,)e
-(\(low,)g(inp\)\))602 2284 y(parallelToSerial)c(\(load,)k(inp:inps\))f
-(=)j(out)689 2384 y(where)776 2483 y(from)f(=)h(parallelToSerial)37
-b(\(load,)k(inps\))776 2583 y(prev)h(=)h(delay)f(low)g(from)776
-2683 y(out)86 b(=)43 b(mux)g(\(load,)e(\(prev,)g(inp\)\))515
-2866 y Fq(Then,)28 b(w)n(e)f(can)g(put)h(these)g(comp)r(onen)n(ts)f
-(together)g(in)g(a)h(new)f(sequen)n(tial)g(adder:)602
-3049 y Fp(adderSlowedDown)37 b(n)43 b(ab)g(=)g(sum)689
-3149 y(where)776 3248 y(abs)86 b(=)43 b(serialToParallel)37
-b(n)43 b(ab)776 3348 y(sums)f(=)h(adderCom)e(abs)776
-3447 y(load)h(=)h(puls)f(n)h(\(\))776 3547 y(sum)86 b(=)43
-b(parallelToSerial)37 b(\(load,)k(sums\))515 3730 y Fq(The)30
-b Fp(load)e Fq(input)j(to)f(the)h(parallel)d(to)i(serial)f(con)n(v)n
-(erter)f(is)i(a)g(puls)g(with)h(p)r(erio)r(d)f Fj(n)p
-Fq(.)44 b(Let)515 3830 y(us)27 b(tak)n(e)g(a)g(lo)r(ok)g(at)h(ho)n(w)f
-(this)h(sequen)n(tial)e(adder)h(adds)g(up)h(binary)f(n)n(um)n(b)r(ers)g
-(for)g Fj(n)h Fq(=)f(4.)747 4023 y(clo)r(c)n(k)p 1040
-4053 4 100 v 203 w(1)p 1265 4053 V 183 w(2)p 1489 4053
-V 182 w(3)p 1714 4053 V 183 w(4)p 1938 4053 V 194 w(5)p
-2186 4053 V 205 w(6)p 2433 4053 V 206 w(7)p 2681 4053
-V 206 w(8)p 2928 4053 V 214 w(9)p 698 4057 2499 4 v 747
-4126 a(input)p 1040 4156 4 100 v 152 w(ab)1180 4138 y
-Fd(1)p 1265 4156 V 1316 4126 a Fq(ab)1404 4138 y Fd(2)p
-1489 4156 V 1541 4126 a Fq(ab)1629 4138 y Fd(3)p 1714
-4156 V 1765 4126 a Fq(ab)1853 4138 y Fd(4)p 1938 4156
-V 1990 4126 a Fq(ab')2101 4138 y Fd(1)p 2186 4156 V 2237
-4126 a Fq(ab')2348 4138 y Fd(2)p 2433 4156 V 2485 4126
-a Fq(ab')2596 4138 y Fd(3)p 2681 4156 V 2732 4126 a Fq(ab')2843
-4138 y Fd(4)p 2928 4156 V 2980 4126 a Fq(ab")3110 4138
-y Fd(1)p 698 4160 2499 4 v 747 4229 a Fq(output)p 1040
-4259 4 100 v 142 w(0)p 1265 4259 V 183 w(0)p 1489 4259
-V 182 w(0)p 1714 4259 V 169 w(s)1826 4241 y Fd(1)p 1938
-4259 V 2029 4229 a Fq(s)2062 4241 y Fd(2)p 2186 4259
-V 2276 4229 a Fq(s)2309 4241 y Fd(3)p 2433 4259 V 2524
-4229 a Fq(s)2557 4241 y Fd(4)p 2681 4259 V 2760 4229
-a Fq(s')2816 4241 y Fd(1)p 2928 4259 V 3017 4229 a Fq(s')3073
-4241 y Fd(2)515 4425 y Fq(As)h(w)n(e)g(can)g(see,)g(the)g(results)g(s)
-1513 4437 y Fg(i)1569 4425 y Fq(are)f(dela)n(y)n(ed)g(b)n(y)h
-Fj(n)19 b Fi(\000)f Fq(1)28 b(clo)r(c)n(k)f(tic)n(ks.)39
-b(This)28 b(is)g(of)g(course)515 4524 y(b)r(ecause)i(the)h(result)f(is)
-h(computed)g(at)f(the)i Fj(n)p Fq(-th,)f(2)p Fj(n)p Fq(-th,)g(...)46
-b(clo)r(c)n(k)30 b(tic)n(k.)46 b(So,)32 b(when)e(w)n(e)515
-4624 y(compare)d(this)i(with)h(the)f(original)e(sequen)n(tial)h(adder,)
-h(w)n(e)f(ha)n(v)n(e)g(to)h(slo)n(w)f(the)h(output)g(of)515
-4723 y(that)f(one)f(do)n(wn)g(with)h Fj(n)18 b Fi(\000)g
-Fq(1)28 b(dela)n(y)e(comp)r(onen)n(ts.)37 b(Here)27 b(is)g(the)h(prop)r
-(ert)n(y:)602 4907 y Fp(prop_AdderSeqSlo)o(we)o(dDo)o(wn)37
-b(n)43 b(ab)g(=)g(ok)689 5006 y(where)1905 5255 y Fq(41)p
-eop
-%%Page: 42 43
-42 42 bop 1628 1123 a @beginspecial 0 @llx 0 @lly 153
-@urx 164 @ury 765 @rwi @setspecial
-%%BeginDocument: Pictures/explF.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--58.0 216.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4600 m -1000 -1000 l 4513 -1000 l 4513 4600 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp
-clip
-n 1200 2250 m 1800 2250 l gs col0 s gr gr
-
-% arrowhead
-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp
-clip
-n 2250 1200 m 2250 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp
-clip
-n 2700 2250 m 3300 2250 l gs col0 s gr gr
-
-% arrowhead
-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp
-clip
-n 2250 2700 m 2250 3300 l gs col0 s gr gr
-
-% arrowhead
-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s
-/Courier ff 270.00 scf sf
-2025 2325 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2100 2400 m
-gs 1 -1 sc (expl) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 2325 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 2325 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2100 1050 m
-gs 1 -1 sc (q) col0 sh gr
-/Helvetica ff 270.00 scf sf
-2025 3525 m
-gs 1 -1 sc (q) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2175 3600 m
-gs 1 -1 sc (new) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2250 1125 m
-gs 1 -1 sc (old) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 675 1306 a Fq(Figure)27 b(7.6:)36 b(A)28
-b(com)n(binational)f(circuit)g(with)h(explicit)g(states)f
-Ff(q)2750 1324 y Fe(old)2871 1306 y Fq(and)g Ff(q)3075
-1318 y Fe(new)3195 1306 y Fq(.)1609 2931 y @beginspecial
-0 @llx 0 @lly 162 @urx 362 @ury 810 @rwi @setspecial
-%%BeginDocument: Pictures/timeTransformF.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--58.0 451.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 8512 m -1000 -1000 l 4663 -1000 l 4663 8512 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 5100 m 2700 5100 l 2700 6000 l 1800 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 5520 m 1773 5550 l 1677 5580 l 1815 5580 l 1815 5520 l cp
-clip
-n 1200 5550 m 1800 5550 l gs col0 s gr gr
-
-% arrowhead
-n 1677 5520 m 1773 5550 l 1677 5580 l 1653 5550 l 1677 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 5520 m 3273 5550 l 3177 5580 l 3315 5580 l 3315 5520 l cp
-clip
-n 2700 5550 m 3300 5550 l gs col0 s gr gr
-
-% arrowhead
-n 3177 5520 m 3273 5550 l 3177 5580 l 3153 5550 l 3177 5520 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
- [15 45] 45 sd
-n 2250 4275 m 2250 5100 l gs col0 s gr  [] 0 sd
-% Polyline
-n 1800 1800 m 2700 1800 l 2700 2700 l 1800 2700 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 2220 m 1773 2250 l 1677 2280 l 1815 2280 l 1815 2220 l cp
-clip
-n 1200 2250 m 1800 2250 l gs col0 s gr gr
-
-% arrowhead
-n 1677 2220 m 1773 2250 l 1677 2280 l 1653 2250 l 1677 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 2220 m 3273 2250 l 3177 2280 l 3315 2280 l 3315 2220 l cp
-clip
-n 2700 2250 m 3300 2250 l gs col0 s gr gr
-
-% arrowhead
-n 3177 2220 m 3273 2250 l 3177 2280 l 3153 2250 l 3177 2220 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1800 6300 m 2700 6300 l 2700 7200 l 1800 7200 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2280 6177 m 2250 6273 l 2220 6177 l 2220 6315 l 2280 6315 l cp
-clip
-n 2250 6000 m 2250 6300 l gs col0 s gr gr
-
-% arrowhead
-n 2280 6177 m 2250 6273 l 2220 6177 l 2250 6153 l 2280 6177 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 1677 m 2250 1773 l 2220 1677 l 2220 1815 l 2280 1815 l cp
-clip
-n 3000 2175 m 3000 1500 l 2250 1500 l 2250 1800 l gs col0 s gr gr
-
-% arrowhead
-n 2280 1677 m 2250 1773 l 2220 1677 l 2250 1653 l 2280 1677 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 3000 5475 m 3000 3825 l gs col0 s gr 
-% Polyline
-n 2250 7200 m 2250 7500 l 3000 7500 l 3000 5625 l gs col0 s gr 
-% Polyline
-n 3000 3675 m 3000 2325 l gs col0 s gr 
-% Polyline
-n 1800 3300 m 2700 3300 l 2700 4200 l 1800 4200 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-1677 3720 m 1773 3750 l 1677 3780 l 1815 3780 l 1815 3720 l cp
-clip
-n 1200 3750 m 1800 3750 l gs col0 s gr gr
-
-% arrowhead
-n 1677 3720 m 1773 3750 l 1677 3780 l 1653 3750 l 1677 3720 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2280 3177 m 2250 3273 l 2220 3177 l 2220 3315 l 2280 3315 l cp
-clip
-n 2250 2700 m 2250 3300 l gs col0 s gr gr
-
-% arrowhead
-n 2280 3177 m 2250 3273 l 2220 3177 l 2250 3153 l 2280 3177 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3177 3720 m 3273 3750 l 3177 3780 l 3315 3780 l 3315 3720 l cp
-clip
-n 2700 3750 m 3300 3750 l gs col0 s gr gr
-
-% arrowhead
-n 3177 3720 m 3273 3750 l 3177 3780 l 3153 3750 l 3177 3720 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-975 2325 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 2325 m
-gs 1 -1 sc (y) col0 sh gr
-/Courier ff 270.00 scf sf
-2025 5625 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2100 5700 m
-gs 1 -1 sc (expl) col0 sh gr
-/Courier ff 270.00 scf sf
-2025 2325 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2100 2400 m
-gs 1 -1 sc (expl) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 3825 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-975 5625 m
-gs 1 -1 sc (x) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 3825 m
-gs 1 -1 sc (y) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3375 5625 m
-gs 1 -1 sc (y) col0 sh gr
-/Courier ff 270.00 scf sf
-2175 6825 m
-gs 1 -1 sc (D) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 5700 m
-gs 1 -1 sc (n) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3450 2400 m
-gs 1 -1 sc (1) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3450 3900 m
-gs 1 -1 sc (2) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-3525 5700 m
-gs 1 -1 sc (n) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1125 2400 m
-gs 1 -1 sc (1) col0 sh gr
-/Courier ff 270.00 scf sf
-2025 3825 m
-gs 1 -1 sc (F) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-2100 3900 m
-gs 1 -1 sc (expl) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1050 3900 m
-gs 1 -1 sc (2) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 994 3114 a(Figure)g(7.7:)36 b(A)28 b(time)g(transformed)e
-(sequen)n(tial)h(circuit)h Fj(F)12 b Fq(.)776 3379 y
-Fp(sum1)86 b(=)43 b(adderSeqPeriod)38 b(n)43 b(ab)776
-3479 y(sum1')f(=)h(delayN)e(\(n-1\))h(low)g(sum1)776
-3579 y(sum2)86 b(=)43 b(adderSlowedDown)37 b(n)43 b(ab)776
-3678 y(ok)174 b(=)43 b(sum1')e(<==>)h(sum2)515 3864 y
-Fq(Unfortunately)-7 b(,)43 b(this)d(w)n(a)n(y)f(of)h(sp)r(ecifying)g
-(the)h(prop)r(ert)n(y)e(in)n(tro)r(duces)g(a)h(lot)g(of)g(extra)515
-3964 y(logic,)34 b(and)f(moreo)n(v)n(er,)f(extra)g(state.)54
-b(This)33 b(mak)n(es)g(the)g(v)n(eri\014cation)f(of)h(these)h(kind)f
-(of)515 4063 y(prop)r(erties)d(v)n(ery)g(hard.)47 b(In)31
-b(particular,)g(the)h(induction)f(metho)r(ds)g(need)h(an)f(extremely)
-515 4163 y(high)24 b(induction)h(depth.)36 b(In)25 b(the)g(next)g
-(section,)f(w)n(e)g(will)h(see)f(a)g(simpler)g(and)h(more)e(direct)515
-4263 y(metho)r(d)28 b(for)f(sp)r(ecifying)h(retiming)f(prop)r(erties.)
-515 4577 y Fm(7.3)135 b(Sp)t(eeding)45 b(Up)515 4799
-y Fq(Another)31 b(tec)n(hnique)g(for)g(retiming)g(w)n(orks)e(as)i
-(follo)n(ws.)47 b(Instead)31 b(of)g(slo)n(wing)f(do)n(wn)h(the)515
-4898 y(com)n(binational)h(circuit,)i(w)n(e)f(sp)r(eed)h(up)f(the)h
-(sequen)n(tial)e(circuit.)54 b(Unfortunately)-7 b(,)35
-b(this)515 4998 y(cannot)g(b)r(e)i(done)e(b)n(y)h(adding)f(retiming)h
-(comp)r(onen)n(ts)f(around)g(the)h(circuit.)62 b(Instead,)1905
-5255 y(42)p eop
-%%Page: 43 44
-43 43 bop 515 523 a Fq(w)n(e)32 b Fn(tr)l(ansform)h Fq(the)g(circuit)f
-(in)n(to)g(another)g(circuit.)52 b(This)32 b(is)g(done)h(b)n(y)f(a)g
-(built-in)h(La)n(v)-5 b(a)515 623 y(op)r(eration,)26
-b(called)i Fp(timeTransform)p Fq(.)515 762 y(The)g(idea)g(is)g(that)h
-(w)n(e)f(mak)n(e)f(the)i(state)f(of)g(the)h(sequen)n(tial)e(circuit)i
-(explicit)f(b)n(y)g(turning)515 862 y(a)j(sequen)n(tial)g(circuit)h
-Fj(F)43 b Fq(in)n(to)32 b(a)f(com)n(binational)f(circuit)i
-Fj(F)2442 879 y Fe(expl)2564 862 y Fq(,)h(that)f(tak)n(es)e(in)i(the)g
-(old)515 961 y(state)h(as)f(an)h(extra)f(input,)k(and)c(has)h(the)h
-(new)f(state)g(as)f(an)h(extra)f(output)i(\(see)f(\014gure)515
-1061 y(7.6\).)515 1200 y(The)23 b(next)g(step)g(is)g(to)g(create)f(a)g
-(column)h(of)g Fj(F)1943 1218 y Fe(expl)2065 1200 y Fq(,)h(where)e(w)n
-(e)h(thread)f(the)h(states)g(through)515 1300 y(as)37
-b(carry)-7 b(.)67 b(The)38 b(last)g(step)g(is)g(to)g(mak)n(e)f(the)i
-(state)f(implicit)h(again)d(b)n(y)i(adding)g(dela)n(y)515
-1400 y(comp)r(onen)n(ts)27 b(and)g(a)g(lo)r(op)h(bac)n(k)e(\(see)i
-(\014gure)f(7.7\).)515 1539 y(All)k(this)f(is)h(implemen)n(ted)g(b)n(y)
-f(La)n(v)-5 b(a's)29 b(primitiv)n(e)h(op)r(eration)f
-Fp(timeTransform)p Fq(.)41 b(So,)30 b(w)n(e)515 1639
-y(can)24 b(mak)n(e)f(a)h(new)g(adder)g(from)g(the)g(sequen)n(tial)g
-(adder,)g(b)n(y)g(using)g(time)h(transformation:)602
-1824 y Fp(adderSpedUp)39 b(abs)j(=)h(sums)689 1923 y(where)776
-2023 y(sums)f(=)h(timeTransform)c(\(adderSeqPeriod)e(n\))43
-b(abs)776 2122 y(n)174 b(=)43 b(length)e(abs)515 2307
-y Fq(The)22 b(function)h Fp(length)d Fq(computes)i(the)h(length)g(of)f
-(a)g(list,)i(so)d(that)i(w)n(e)f(kno)n(w)g(what)g(p)r(erio)r(d)515
-2407 y(the)28 b(sequen)n(tial)f(adder)f(requires.)515
-2546 y(The)h(prop)r(ert)n(y)g(of)g(comparing)g(the)h(t)n(w)n(o)e
-(di\013eren)n(t)i(adders)f(no)n(w)g(lo)r(oks)f(as)h(follo)n(ws:)602
-2731 y Fp(prop_AdderSeqSpe)o(dU)o(p)38 b(abs)k(=)h(ok)689
-2831 y(where)776 2930 y(sum1)f(=)h(adderSpedUp)c(abs)776
-3030 y(sum2)j(=)h(adderCom)e(abs)776 3129 y(ok)130 b(=)43
-b(sum1)f(<==>)g(sum2)515 3314 y Fq(Because)32 b(this)i(is)g(a)f(prop)r
-(ert)n(y)g(that)h(has)f(a)g(list)h(as)f(an)h(input,)i(w)n(e)d(need)h
-(to)g(b)r(e)g(explicit)515 3414 y(ab)r(out)27 b(the)h(length)g(of)f
-(the)h(list:)602 3598 y Fp(prop_AdderSeqSpe)o(dU)o(p_F)o(or)o(Siz)o(e)
-37 b(n)43 b(=)689 3698 y(forAll)e(\(list)h(n\))g($)i(\\abs)e(->)776
-3798 y(prop_AdderSeqSped)o(Up)37 b(abs)515 3982 y Fq(V)-7
-b(erifying)27 b(this)h(b)n(y)f(induction)h(is)g(easy)-7
-b(,)27 b(and)g(needs)g(induction)h(depth)h(2)e(for)g(an)n(y)g
-Fj(n)p Fq(.)515 4297 y Fm(7.4)135 b(Exercises)575 4511
-y Fq(7.1)40 b(Consider)27 b(the)h(follo)n(wing)e(circuit:)809
-4709 y Fp(highLow)41 b(\(\))i(=)g([high,)e(low])722 4907
-y Fq(V)-7 b(erify)32 b(that)f(the)h(circuit)f Fp(toggle)d
-Fq(b)r(eha)n(v)n(es)i(t)n(wice)h(as)g(slo)n(w)f(as)h(this)g(circuit)g
-(if)h(its)722 5006 y(input)d(is)e(alw)n(a)n(ys)f(high.)37
-b(Do)27 b(this)h(b)n(y)f(slo)n(wing)g(do)n(wn)g(and)g(sp)r(eeding)h
-(up.)1905 5255 y(43)p eop
-%%Page: 44 45
-44 44 bop 575 523 a Fq(7.2)40 b(What)21 b(go)r(es)f(wrong)g(when)h(w)n
-(e)g(try)f(using)h(the)g(slo)n(wing)e(do)n(wn)i(metho)r(d)g(for)g
-(compar-)722 623 y(ing)j(t)n(w)n(o)f Fn(se)l(quential)i
-Fq(circuits)e(that)i(op)r(erate)e(at)h(di\013eren)n(t)g(rate?)35
-b(Also)24 b(see)f(exercise)722 722 y(7.5.)722 855 y(Hin)n(t:)38
-b(what)27 b(happ)r(ens)h(to)f(the)h(state)g(of)f(a)g(circuit)h(that)g
-(is)f(slo)n(w)n(ed)g(do)n(wn?)575 1021 y(7.3)40 b(Do)r(es)e(the)f(sp)r
-(eeding)g(up)h(metho)r(d)g(w)n(ork)e(when)h(w)n(e)g(use)g(it)h(for)f
-(comparing)f(t)n(w)n(o)722 1121 y(sequen)n(tial)27 b(circuits)g(that)h
-(op)r(erate)f(at)h(di\013eren)n(t)f(rate?)575 1287 y(7.4)40
-b(Design)19 b(a)f(prop)r(ert)n(y)g(connection)g(pattern)g(that)h(v)n
-(eri\014es)f(t)n(w)n(o)g(circuits)g(that)h(op)r(erate)722
-1386 y(at)36 b(di\013eren)n(t)g(rates)g(equiv)-5 b(alen)n(t.)62
-b(Y)-7 b(ou)36 b(ma)n(y)f(decide)i(y)n(ourself)e(what)h(metho)r(d)g(to)
-722 1486 y(c)n(ho)r(ose.)575 1652 y(7.5)k(Can)28 b(y)n(ou)e(\014nd)i(a)
-g(metho)r(d)g(to)f(\014x)h(the)g(problem)f(in)h(exercise)e(7.2?)722
-1785 y(Hin)n(t:)38 b(use)27 b(clo)r(c)n(k)n(ed)g(dela)n(ys)f(\(see)i
-(exercise)e(5.3\).)1905 5255 y(44)p eop
-%%Page: 45 46
-45 45 bop 515 1186 a Fo(Chapter)64 b(8)515 1641 y Fs(More)78
-b(connection)g(patterns)515 2112 y Fq(In)34 b(this)h(c)n(hapter,)h(w)n
-(e)e(\014rst)g(review)g(some)g(standard)f(connection)h(patterns,)i(and)
-f(then)515 2212 y(consider)h(the)h(problem)g(of)g(describing)g
-Fn(tr)l(e)l(e)h(shap)l(e)l(d)i(cir)l(cuits)d Fq(and)g
-Fn(butter\015y)h(cir)l(cuits)p Fq(.)515 2311 y(These)27
-b(are)g(common)g(circuit)g(structures)g(in)h(digital)f(signal)g(pro)r
-(cessing.)515 2626 y Fm(8.1)135 b(Connection)46 b(patterns)f(revisited)
-515 2847 y Fq(In)21 b(an)f(earlier)f(c)n(hapter,)i(w)n(e)f(sa)n(w)g
-(the)h Fp(serial)d Fq(connection)i(pattern,)i(whic)n(h)f(connects)f(t)n
-(w)n(o)515 2947 y(circuits)27 b(in)g(series.)36 b(It)28
-b(is)f(con)n(v)n(enien)n(t)f(to)h(ha)n(v)n(e)g(an)g(in\014x)g(v)n
-(ersion,)f(so)h(that)g(w)n(e)g(can)g(write)515 3047 y
-Fp(f)43 b(->-)f(g)p Fq(,)27 b(instead)g(of)f Fp(serial)41
-b(f)j(g)p Fq(,)26 b(see)h(\014gure)f(8.1.)35 b(Note)27
-b(that)g(serial)f(comp)r(osition)g(is)515 3146 y(asso)r(ciativ)n(e:)602
-3332 y Fp(f)43 b(->-)f(\(g)h(->-)g(h\))129 b(===)h(\(f)43
-b(->-)f(g\))h(->-)f(h)515 3518 y Fq(Sometimes)27 b(w)n(e)h(w)n(an)n(t)e
-(to)i(comp)r(ose)f(a)g(list)h(of)f(circuits.)37 b(W)-7
-b(e)28 b(call)f(this)h Fp(compose)p Fq(.)602 3704 y Fp(compose)41
-b([])478 b(inp)43 b(=)g(inp)602 3804 y(compose)e(\(circ:circs\))d(inp)
-43 b(=)g(out)689 3903 y(where)776 4003 y(x)131 b(=)43
-b(circ)f(inp)776 4103 y(out)h(=)g(compose)d(circs)i(x)515
-4289 y Fq(Note)34 b(that)g(w)n(e)f(could)h(ha)n(v)n(e)f(written)h(this)
-g(de\014nition)g(in)h(a)e(di\013eren)n(t)h(st)n(yle,)h(using)f(the)515
-4388 y(serial)26 b(connection)h(pattern.)602 4574 y Fp(compose1)40
-b([])479 b(inp)42 b(=)h(inp)602 4674 y(compose1)d(\(circ:circs\))f(inp)
-j(=)h(out)689 4774 y(where)776 4873 y(out)g(=)g(\(circ)e(->-)i
-(compose1)d(circs\))h(inp)1905 5255 y Fq(45)p eop
-%%Page: 46 47
-46 46 bop 1615 1272 56 4 v 1615 1161 V 1615 1051 V 1615
-940 V 1615 829 V 1615 718 V 1615 608 V 1615 497 V 1667
-468 284 4 v 1667 1298 4 831 v 1784 904 a Fj(f)p 1947
-1298 V 1667 1301 284 4 v 1947 1051 56 4 v 1947 940 V
-1947 829 V 1947 718 V 1999 661 229 4 v 1999 1104 4 443
-v 2092 893 a(g)p 2224 1104 V 1999 1107 229 4 v 2224 1051
-56 4 v 2224 940 V 2224 829 V 2224 718 V 1580 1508 a Fq(Figure)27
-b(8.1:)36 b Fp(f)43 b(->-)g(g)515 1776 y Fq(W)-7 b(e)33
-b(could)f(go)g(ev)n(en)g(further)g(and)h(drop)f(the)h(circuit)f(inputs)
-i(\()p Fp(inp)p Fq(\))e(from)g(eac)n(h)g(side)g(of)515
-1875 y(the)26 b(de\014nitions.)36 b(The)26 b(iden)n(tit)n(y)f(circuit)h
-(\(whic)n(h)f(just)i(returns)d(its)i(input\))h(is)e(written)h
-Fp(id)p Fq(.)515 1975 y(This)h(is)f(a)h(de\014nite)h(c)n(hange)d(of)i
-(st)n(yle)g(to)g(one)f(in)h(whic)n(h)g(the)h(emphasis)e(is)h(on)g
-(connection)515 2075 y(patterns.)602 2261 y Fp(compose2)40
-b([])479 b(=)43 b(id)602 2360 y(compose2)d(\(circ:circs\))f(=)k(circ)f
-(->-)g(compose2)f(circs)515 2546 y Fq(All)35 b(of)f(these)h(st)n(yles)f
-(are)g(equally)g(go)r(o)r(d,)i(and)e(the)h(c)n(hoice)f(is)h(really)e
-(just)i(a)g(matter)f(of)515 2646 y(taste.)h(In)25 b(fact)f(it)h(is)f
-(quite)h(con)n(v)n(enien)n(t)e(to)i(b)r(e)f(able)g(to)h(mix)f(st)n
-(yles,)h(sometimes)f(c)n(ho)r(osing)515 2745 y(one)j(and)g(sometimes)h
-(the)g(other.)515 2885 y(Out)22 b(of)f Fp(compose)p Fq(,)g(w)n(e)g(can)
-h(easily)f(mak)n(e)g(a)g(connection)h(pattern,)h(called)e
-Fp(composeN)p Fq(,)e(that)515 2985 y(comp)r(oses)26 b(sev)n(eral)g
-(copies)h(of)h(the)g(same)f(circuit)g(in)h(sequence.)602
-3171 y Fp(composeN)40 b(n)j(circ)f(=)h(compose)e(\(replicate)f(n)j
-(circ\))602 3373 y(Main>)e Fl(simulateSeq)e(\(composeN)h(5)j(inc\))f
-([0,2,4,6])602 3473 y Fp([5,7,9,11])515 3675 y Fq(Here)27
-b Fp(inc)f Fq(is)i(the)g(circuit)f(that)h(adds)f(one)h(to)f(its)h(in)n
-(teger)f(input.)515 3815 y(W)-7 b(e)22 b(also)f(sa)n(w)g(the)h
-Fp(par)f Fq(connection)g(pattern:)34 b Fp(par)42 b(f)i(g)21
-b Fq(tak)n(es)g(a)g(pair)h(of)g(inputs,)h(passing)515
-3914 y(the)31 b(\014rst)f(to)h Fp(f)f Fq(and)h(the)g(second)f(to)h
-Fp(g)p Fq(,)g(and)g(com)n(bining)f(the)h(results)f(in)n(to)h(a)f(pair.)
-46 b(The)515 4014 y(in\014x)28 b(v)n(ersion)e(of)h Fp(par)42
-b(f)i(g)27 b Fq(is)g(written)h Fp(f)43 b(-|-)g(g)p Fq(.)515
-4154 y(A)25 b(v)n(ersion)f(of)h Fp(par)f Fq(that)i(\\do)r(es")e
-Fp(f)g Fq(to)h(the)h(\014rst)f(half)g(of)h(a)e(list)i(and)f
-Fp(g)g Fq(to)g(the)g(second)g(half)515 4253 y(also)g(turns)h(out)g(to)g
-(b)r(e)h(useful.)36 b(W)-7 b(e)27 b(call)f(this)g(pattern)g
-Fp(parl)p Fq(.)35 b(First,)26 b(w)n(e)g(de\014ne)g(a)g(help)r(er)515
-4353 y(function,)i Fp(halveList)p Fq(,)c(whic)n(h)k(divides)f(a)g(list)
-h(in)g(t)n(w)n(o.)602 4539 y Fp(halveList)40 b(inps)i(=)h
-(\(left,right\))689 4638 y(where)776 4738 y(left)86 b(=)43
-b(take)f(half)g(inps)776 4838 y(right)g(=)h(drop)f(half)g(inps)776
-4937 y(half)86 b(=)43 b(length)e(inps)h(`div`)f(2)1905
-5255 y Fq(46)p eop
-%%Page: 47 48
-47 47 bop 1808 1272 56 4 v 1808 1161 V 1808 1051 V 1808
-940 V 1808 829 V 1808 718 V 1808 608 V 1808 497 V 1861
-1132 173 4 v 1861 1298 4 167 v 1926 1225 a Fj(g)p 2030
-1298 V 1861 1301 173 4 v 1861 910 V 1861 1077 4 167 v
-1926 1003 a(g)p 2030 1077 V 1861 1080 173 4 v 1861 689
-V 1861 855 4 167 v 1926 782 a(g)p 2030 855 V 1861 858
-173 4 v 1861 468 V 1861 634 4 167 v 1926 561 a(g)p 2030
-634 V 1861 637 173 4 v 2030 1272 56 4 v 2030 1161 V 2030
-1051 V 2030 940 V 2030 829 V 2030 718 V 2030 608 V 2030
-497 V 1624 1508 a Fq(Figure)27 b(8.2:)36 b Fp(map)42
-b(g)602 1776 y(Main>)f Fl(simulate)g(halveList)f([high,low,high,)o(low)
-o(])602 1875 y Fp(\([high,low],[hig)o(h,)o(low)o(]\))515
-2078 y Fq(Then,)i(w)n(e)d(de\014ne)h(the)g(circuit)f
-Fp(append)p Fq(,)h(whic)n(h)f(tak)n(es)g(a)g(pair)g(of)g(lists)g(of)h
-(length)f Fj(m)515 2178 y Fq(and)29 b Fj(n)p Fq(,)g(and)g(joins)g(them)
-g(together)f(\(or)h Fn(c)l(onc)l(atenates)g Fq(them\),)h(to)f(giv)n(e)f
-(a)h(list)g(of)g(length)515 2277 y Fj(m)11 b Fq(+)g Fj(n)p
-Fq(.)36 b(This)24 b(circuit)f(is)h(de\014ned)h(in)f(terms)g(of)g(Hask)n
-(ell's)f(built-in)i(in\014x)f(list)g(concatenate)515
-2377 y(op)r(erator)i(\()p Fp(++)p Fq(\).)602 2563 y Fp(append)41
-b(\(a,b\))h(=)h(a)g(++)g(b)515 2749 y Fq(Lastly)-7 b(,)27
-b(w)n(e)g(de\014ne)h Fp(parl)p Fq(:)602 2935 y Fp(parl)42
-b(circ1)f(circ2)h(=)689 3034 y(halveList)e(->-)i(\(circ1)f(-|-)i
-(circ2\))e(->-)h(append)602 3237 y(Main>)f Fl(simulate)g(\(parl)g
-(reverse)g(id\))h([1..16])602 3337 y Fp([8,7,6,5,4,3,2,1)o(,9)o(,10)o
-(,1)o(1,1)o(2,)o(13)o(,14)o(,1)o(5,1)o(6])515 3539 y
-Fq(Sometimes,)26 b(w)n(e)f(w)n(an)n(t)g(to)g(p)r(erform)g(an)h(op)r
-(eration)e(of)i(eac)n(h)e(elemen)n(t)i(of)g(a)f(list)h(of)f(signals)515
-3639 y(or)31 b(bus.)50 b(F)-7 b(or)31 b(this)h(w)n(e)g(use)g(the)g
-(connection)g(pattern)f Fp(map)p Fq(,)h(whic)n(h)g(y)n(ou)f(will)i(ha)n
-(v)n(e)d(seen)515 3738 y(if)36 b(y)n(ou)f(ha)n(v)n(e)f(used)i(a)f
-(functional)h(programming)d(language.)60 b(F)-7 b(or)35
-b(example,)i Fp(map)42 b(inv)515 3838 y Fq(in)n(v)n(erts)26
-b(eac)n(h)h(of)h(a)f(list)h(of)f(bits.)602 4024 y Fp(Main>)41
-b Fl(simulate)g(\(map)h(inv\))g([high,)f(low,)h(high,)f(low])602
-4124 y Fp([low,high,low,hi)o(gh)o(])515 4310 y Fq(Buses)d(need)g(not)h
-(con)n(tain)e(only)h(lists)h(of)f(bits.)70 b(They)38
-b(can)g(b)r(e)h(more)f(structured,)j(so)515 4409 y(that)29
-b(our)f(circuit)h(descriptions)f(can)h(matc)n(h)g(the)g
-Fn(lo)l(gic)l(al)i Fq(structure)d(of)h(the)h(circuit.)41
-b(F)-7 b(or)515 4509 y(example,)27 b(the)h(circuit)f
-Fp(map)43 b(fullAdd)25 b Fq(mak)n(es)h(p)r(erfect)i(sense.)602
-4695 y Fp(Main>)41 b Fl(simulate)g(\(map)h(fullAdd\))951
-4794 y([\(low,\(high,low)o(\)\),)o(\(h)o(ig)o(h,\()o(hi)o(gh,)o(hi)o
-(gh\))o(\),)o(\(l)o(ow,)o(\(h)o(igh)o(,h)o(ig)o(h\)\))o(])602
-4894 y Fp([\(high,low\),\(hig)o(h,)o(hig)o(h\))o(,\(l)o(ow)o(,h)o(igh)o
-(\)])1905 5255 y Fq(47)p eop
-%%Page: 48 49
-48 48 bop 1382 1383 1130 4 v 1759 1100 753 4 v 2135 818
-377 4 v 1382 1100 95 4 v 1665 1100 V 1473 1005 195 4
-v 1473 1193 4 189 v 1546 1119 a Fj(f)p 1665 1193 V 1473
-1196 195 4 v 1382 818 95 4 v 1665 818 V 1473 722 195
-4 v 1473 910 4 189 v 1546 837 a(f)p 1665 910 V 1473 913
-195 4 v 1382 536 95 4 v 1665 536 V 1473 440 195 4 v 1473
-628 4 189 v 1546 555 a(f)p 1665 628 V 1473 631 195 4
-v 1759 818 95 4 v 2041 818 V 1849 722 195 4 v 1849 910
-4 189 v 1922 837 a(f)p 2041 910 V 1849 913 195 4 v 1759
-536 95 4 v 2041 536 V 1849 440 195 4 v 1849 628 4 189
-v 1922 555 a(f)p 2041 628 V 1849 631 195 4 v 2135 536
-95 4 v 2417 536 V 2226 440 195 4 v 2226 628 4 189 v 335
-w(f)p 2417 628 V 2226 631 195 4 v 1624 1658 a Fq(Figure)27
-b(8.3:)36 b Fp(tri)42 b(f)515 1921 y Fq(Figure)22 b(8.2)g(sho)n(ws)g(a)
-h Fp(map)e Fq(in)j(the)f(case)f(where)g(the)i(input)g(is)e(a)h(4-list)f
-(\(of)i(pairs)d(or)i(2-lists\).)515 2060 y(Strangely)34
-b(enough,)j(the)f(connection)g(pattern)f(that)h(places)f(zero)f(copies)
-h(of)h(a)f(circuit)515 2160 y(on)29 b(the)i(\014rst)e(signal)g(in)i(a)e
-(bus,)i(one)e(cop)n(y)g(on)h(the)g(next,)h(t)n(w)n(o)e(on)h(the)g
-(next,)h(and)f(so)f(on,)515 2260 y(is)i(one)f(that)i(arises)e(often)h
-(in)g(hardw)n(are)e(design.)48 b(It)31 b(is)g(a)g(sort)f(of)h(mixture)g
-(of)g Fp(map)f Fq(and)515 2359 y Fp(composeN)p Fq(.)g(W)-7
-b(e)33 b(call)g(it)g Fp(tri)f Fq(for)h Fn(triangle)p
-Fq(.)54 b(Y)-7 b(ou)33 b(should)g(understand)g(wh)n(y)g(when)g(y)n(ou)
-515 2459 y(lo)r(ok)25 b(at)g(the)h(diagram)e(in)i(\014gure)f(8.3.)35
-b(W)-7 b(e)26 b(lea)n(v)n(e)f(the)h(de\014nition)g(of)f
-Fp(tri)f Fq(as)h(exercise)g(8.3.)515 2598 y(An)j(example)f(of)h(the)g
-(use)f(of)h(triangle)e(is)602 2783 y Fp(Main>)41 b Fl(simulate)g(\(tri)
-h(inc\))g(\(replicate)d(10)k(0\))602 2882 y Fp([0,1,2,3,4,5,6,7)o(,8)o
-(,9])515 3066 y Fq(The)24 b(connection)g(patterns)g(that)g(w)n(e)g(ha)n
-(v)n(e)f(seen)h(in)h(this)f(section)g(are)f(all)h(useful)h(in)g(man)n
-(y)515 3166 y(di\013eren)n(t)38 b(kinds)g(of)g(circuits.)68
-b(No)n(w)37 b(let)i(us)f(consider)e(ho)n(w)i(to)g(describ)r(e)f(tree)h
-(shap)r(ed)515 3266 y(circuits.)515 3580 y Fm(8.2)135
-b(T)-11 b(ree)45 b(shap)t(ed)f(circuits)515 3801 y Fq(Circuits)27
-b(in)h(the)g(shap)r(e)f(of)g(trees,)g(lik)n(e)g(that)h(sho)n(wn)f(in)h
-(\014gure)e(8.4,)h(can)g(b)r(e)h(used)g(to)f(sys-)515
-3901 y(tematically)g(apply)g(a)g(function)g(that)h(com)n(bines)f(data)f
-(v)-5 b(alues)27 b(together)g(to)g(a)g(collection)515
-4000 y(of)e(data.)36 b(A)26 b(binary)f(tree)g(circuit)h(\014rst)f(com)n
-(bines)g(eac)n(h)g(half)h(of)f(the)h(input)h(v)-5 b(alues,)25
-b(using)515 4100 y(t)n(w)n(o)31 b(smaller)g(trees)g(and)h(then)h(com)n
-(bines)e(the)h(t)n(w)n(o)f(remaining)g(results.)50 b(One)31
-b(example)515 4200 y(of)c(suc)n(h)h(a)f(circuit)g(is)h(an)f(adder)g
-(tree)g(that)h(adds)f(up)h(a)f(list)h(of)g(n)n(umhers.)515
-4339 y(The)f(outline)h(of)g(the)g(recursiv)n(e)e(de\014nition)i(of)f(a)
-g(tree)h(connection)f(pattern)g(is:)602 4523 y Fp(tree)42
-b(circ)g([inp])f(=)i(...)g(inp)f(...)602 4623 y(tree)g(circ)g(inps)85
-b(=)43 b(...)g(tree)f(circ)g(...)g(tree)g(circ)g(...)g(circ)g(...)g
-(inps)515 4807 y Fq(W)-7 b(e)26 b(call)f(the)g(parameter)f
-Fp(circ)g Fq(the)i Fn(c)l(omp)l(onent)i(cir)l(cuit)p
-Fq(.)36 b(The)26 b(\014rst)f(line)h(in)f(this)h(outline)515
-4907 y(de\014nes)c(what)g(should)g(b)r(e)h(done)f(when)g(w)n(e)g(get)g
-(do)n(wn)f(to)h(the)h(base)f(case)f(of)h(the)h(recursion.)515
-5006 y(The)29 b(second)g(line)h(should)g(use)f(t)n(w)n(o)g(copies)g(of)
-g Fp(tree)42 b(circ)28 b Fq(and)i(com)n(bine)f(their)h(results)1905
-5255 y(48)p eop
-%%Page: 49 50
-49 49 bop 1440 1303 151 4 v 1440 1447 4 144 v 1497 1393
-a Fj(c)p 1587 1447 V 1440 1450 151 4 v 1728 1303 V 1728
-1447 4 144 v 252 w(c)p 1875 1447 V 1728 1450 151 4 v
-2015 1303 V 2015 1447 4 144 v 252 w(c)p 2163 1447 V 2015
-1450 151 4 v 2303 1303 V 2303 1447 4 144 v 252 w(c)p
-2451 1447 V 2303 1450 151 4 v 1584 1016 V 1584 1160 4
-144 v 1641 1105 a(c)p 1731 1160 V 1584 1163 151 4 v 2159
-1016 V 2159 1160 4 144 v 540 w(c)p 2307 1160 V 2159 1163
-151 4 v 1872 584 V 1872 728 4 144 v 1929 674 a(c)p 2019
-728 V 1872 731 151 4 v 1478 1591 4 144 v 1479 1530 a
-Fa(6)p 1765 1591 V 205 w(6)p 2053 1591 V 205 w(6)p 2341
-1591 V 205 w(6)p 1549 1591 V -875 w(6)p 1837 1591 V 205
-w(6)p 2125 1591 V 205 w(6)p 2413 1591 V 205 w(6)1515
-1303 y(\000)1576 1243 y(\000)-83 b(\022)1720 1303 y(@)1659
-1243 y(@)g(I)1659 1016 y(\000)1742 933 y(\000)1825 850
-y(\000)1864 811 y(\000)g(\022)2091 1303 y(\000)2152 1243
-y(\000)g(\022)2296 1303 y(@)2235 1243 y(@)g(I)2152 1016
-y(@)2069 933 y(@)1986 850 y(@)1947 811 y(@)g(I)p 1945
-584 V 1947 523 a(6)1350 1774 y Fq(Figure)27 b(8.4:)36
-b(A)28 b(tree)f(shap)r(ed)g(circuit)515 2036 y(using)h
-Fp(circ)p Fq(.)38 b(Exactly)28 b(ho)n(w)g(these)h(de\014nitions)f
-(should)h(lo)r(ok)f(dep)r(ends)h(partly)f(on)g(what)515
-2135 y(the)g(comp)r(onen)n(t)f Fp(circ)f Fq(lo)r(oks)h(lik)n(e,)g(and)g
-(in)h(particular)f(on)g(its)h(t)n(yp)r(e.)515 2275 y(F)-7
-b(or)27 b(example,)h(if)h Fp(circ)d Fq(is)i(a)g(binary)f(function)i
-(taking)e(a)h(pair)f(of)h(inputs)h(and)f(returning)515
-2374 y(a)c(single)g(output,)h(then)g(it)g(mak)n(es)f(sense)f(to)i(mak)n
-(e)e(the)i(follo)n(wing)f(de\014nition)g(of)h(a)f(binary)515
-2474 y(tree)j(connection)g(pattern,)h Fp(binTree)p Fq(.)602
-2657 y Fp(binTree)41 b(circ)h([inp])f(=)i(inp)602 2756
-y(binTree)e(circ)h(inps)85 b(=)689 2856 y(\(halveList)40
-b(->-)i(\(binTree)e(circ)i(-|-)g(binTree)f(circ\))h(->-)g(circ\))f
-(inps)515 3039 y Fq(This)23 b(giv)n(es)g(the)h(b)r(eha)n(viour)f(that)h
-(w)n(e)f(exp)r(ect:)36 b(a)23 b(binary)g(tree)g(of)h
-Fp(circ)e Fq(comp)r(onen)n(ts)i(gets)515 3138 y(built.)515
-3278 y(An)i(example)g(use)g(of)h(a)e(tree)h(connection)g(pattern)g(is)g
-(when)h(w)n(e)f(w)n(an)n(t)f(to)h(build)h(a)f(circuit)515
-3377 y(that)f(adds)g(up)h(a)e(lot)i(of)f(n)n(um)n(b)r(ers.)35
-b(One)25 b(w)n(a)n(y)f(of)h(doing)g(this)g(to)h(mak)n(e)e(a)h
-(so-called)e Fn(adder)515 3477 y(tr)l(e)l(e)p Fq(.)42
-b(T)-7 b(o)29 b(do)g(this,)h(w)n(e)f(need)h(a)f(binary)g(adder)f(that)i
-(adds)f(t)n(w)n(o)g Fj(n)g Fq(bit)h(n)n(um)n(b)r(ers,)g(to)f(giv)n(e)
-515 3577 y(an)k Fj(n)23 b Fq(+)f(1)34 b(bit)g(n)n(um)n(b)r(er.)56
-b(This)34 b(means)f(that)h(w)n(e)g(m)n(ust)g(include)g(the)g(carry)f
-(out)h(in)g(the)515 3676 y(result.)h(The)24 b(resulting)f(adder)h(is)g
-(therefore)f(sligh)n(tly)g(di\013eren)n(t)h(from)g(those)f(that)h(w)n
-(e)g(sa)n(w)515 3776 y(earlier.)35 b(W)-7 b(e)28 b(call)f(it)h
-Fp(binAdder)p Fq(.)602 3958 y Fp(binAdder)40 b(\(as,)i(bs\))g(=)i(cs)e
-(++)h([carryOut])689 4058 y(where)776 4158 y(\(cs,)f(carryOut\))e(=)j
-(adder)f(\(low,)f(\(as,)h(bs\)\))515 4340 y Fq(And)28
-b(here)f(is)h(the)g(de\014nition)f(of)h(our)f(adder)g(tree)g
-Fp(addTree)p Fq(:)602 4523 y Fp(addTree)41 b(=)i(binTree)d(binAdder)515
-4706 y Fq(T)-7 b(o)27 b(test)h(it,)g(w)n(e)f(wrap)g(the)h(circuit)f(in)
-h(con)n(v)n(erters)e(from)h(in)n(teger)g(to)g(binary)g(and)g(bac)n(k.)
-602 4888 y Fp(wrapAddTree)39 b(n)k(=)689 4988 y(map)f(\(int2bin)f(n\))h
-(->-)h(addTree)d(->-)j(bin2int)1905 5255 y Fq(49)p eop
-%%Page: 50 51
-50 50 bop 602 523 a Fp(Main>)41 b Fl(simulate)g(\(wrapAddTree)d(8\))43
-b([3,4,5,6,10,9,8,)o(7])602 623 y Fp(52)515 825 y Fq(Bew)n(are,)34
-b(this)g(adder)f(tree)h(w)n(orks)e(only)i(for)g(input)g(lists)g(whose)g
-(length)g(is)g(a)f(p)r(o)n(w)n(er)g(of)515 925 y(t)n(w)n(o.)j(Exercise)
-26 b(8.5)h(asks)f(y)n(ou)h(to)g(de\014ne)h(an)g(adder)e(tree)i(that)g
-(w)n(orks)d(for)j(an)n(y)e(size.)515 1239 y Fm(8.3)135
-b(Describing)46 b(Butter\015y)e(Circuits)515 1461 y Fq(Butter\015y)28
-b(circuits)g(are)f(circuits)h(with)h(a)f(particular)f(recursiv)n(e)g
-(structure.)38 b(Figures)28 b(8.6)515 1561 y(and)33 b(8.7)f(sho)n(w)g
-(t)n(w)n(o)g(suc)n(h)h(circuits)f(and)h(also)f(indicate)h(their)g
-(recursiv)n(e)e(structures)h(b)n(y)515 1660 y(sho)n(wing,)d(b)n(y)h
-(means)f(of)h(dotted)g(b)r(o)n(xes,)g(where)f(to)h(\014nd)g
-(sub-circuits)f(that)i(themselv)n(es)515 1760 y(ha)n(v)n(e)h(the)h
-(same)g(recursiv)n(e)e(structure.)53 b(It)34 b(turns)f(out)g(that)g
-(these)g(t)n(w)n(o)g(circuits)g(are)f(in)515 1859 y(fact)f(equiv)-5
-b(alen)n(t:)43 b(the)31 b(same)g(net)n(w)n(ork)e(of)i(comp)r(onen)n(ts)
-f(can)h(b)r(e)g(recursiv)n(ely)e(describ)r(ed)515 1959
-y(in)f(t)n(w)n(o)g(completely)g(di\013eren)n(t)g(w)n(a)n(ys.)37
-b(And)29 b(indeed)g(it)f(turns)h(out)f(that)g(there)g(are)g(man)n(y)515
-2059 y(more)f(w)n(a)n(ys)f(to)h(describ)r(e)g(the)h(same)f(net)n(w)n
-(ork.)36 b(W)-7 b(e)28 b(will)g(study)f(some)g(of)h(them.)515
-2198 y(Butter\015y)c(circuits)g(are)g(used)g(for)g(example)g(to)g
-(build)h(routing)f(net)n(w)n(orks)e(from)j(switc)n(hes,)515
-2298 y(and)38 b(in)h(building)f(e\016cien)n(t)h(sorting)e(circuits.)69
-b(P)n(erhaps)37 b(the)i(b)r(est)f(kno)n(wn)g(butter\015y-)515
-2397 y(lik)n(e)29 b(circuit)h(is)g(the)h(standard)e(Co)r(oley-T)-7
-b(uk)n(ey)28 b(algorithm)h([4)o(])h(for)g(computing)g(the)g(F)-7
-b(ast)515 2497 y(F)g(ourier)34 b(T)-7 b(ransform)35 b(\(FFT\).)h(W)-7
-b(e)36 b(will)g(not)g(consider)f(the)h(FFT)g(here.)60
-b(The)36 b(t)n(widdle-)515 2597 y(factors)31 b(complicate)g(matters)h
-(a)g(bit.)51 b(The)32 b(circuit)g(is)g(not)g(quite)g(as)g(uniform)g(as)
-f(those)515 2696 y(that)c(w)n(e)f(consider.)36 b(Ho)n(w)n(ev)n(er,)25
-b(the)i(in)n(terested)f(reader)g(is)g(referred)g(to)h([3)o(],)g(whic)n
-(h)g(sho)n(ws)515 2796 y(ho)n(w)h(to)g(describ)r(e)g(and)g(compare)g(v)
--5 b(arious)27 b(FFT)i(circuits)f(in)h(an)f(older)g(v)n(ersion)f(of)h
-(La)n(v)-5 b(a.)515 2896 y(F)e(or)27 b(more)g(details)g(ab)r(out)g(ho)n
-(w)g(the)h(v)n(eri\014cation)f(is)g(actually)g(done,)g(see)h([2)o(].)
-515 3035 y(In)h(this)g(section,)f(w)n(e)g(\014rst)h(in)n(tro)r(duce)f
-(t)n(w)n(o)g(new)h(connection)f(patterns,)g(and)h(then)g(sho)n(w)515
-3135 y(that)41 b(butter\015y)g(circuits)g(can)f(b)r(e)i(made)f(with)g
-(just)h(these)f(t)n(w)n(o)f(patterns)g(and)h(serial)515
-3234 y(comp)r(osition.)515 3374 y(The)21 b(\014rst)f(of)h(these)g
-(patterns)f(w)n(e)h(call)f Fp(two)p Fq(.)34 b(The)20
-b(circuit)h Fp(two)43 b(circ)19 b Fq(con)n(tains)h(t)n(w)n(o)g(copies)
-515 3473 y(of)31 b Fp(circ)p Fq(.)46 b(The)31 b(\014rst)g(of)g(these)g
-(op)r(erates)f(on)h(the)h(\014rst)f(half)g(of)g(the)g(input)h(list,)h
-(and)e(the)515 3573 y(second)26 b(on)g(the)h(second)e(half.)37
-b(Eac)n(h)25 b(cop)n(y)h(of)g Fp(circ)f Fq(should)h(ha)n(v)n(e)g(a)g
-(list)g(as)g(output,)h(and)515 3673 y(the)i(t)n(w)n(o)g(resulting)g
-(lists)g(are)f(app)r(ended.)43 b(This)29 b(pattern)g(is)g(easily)g
-(de\014ned)h(in)f(terms)g(of)515 3772 y Fp(parl)p Fq(,)d(whic)n(h)h(w)n
-(as)g(in)n(tro)r(duced)g(earlier)f(in)i(this)g(c)n(hapter.)602
-3958 y Fp(two)42 b(circ)g(=)h(parl)f(circ)g(circ)602
-4161 y(Main>)f Fl(simulate)g(\(two)h(reverse\))e([1..16])602
-4260 y Fp([8,7,6,5,4,3,2,1)o(,1)o(6,1)o(5,)o(14,)o(13)o(,1)o(2,1)o(1,)o
-(10,)o(9])602 4460 y(Main>)h Fl(simulate)g(\(two)h(\(two)g(reverse\)\))
-d([1..16])602 4559 y Fp([4,3,2,1,8,7,6,5)o(,1)o(2,1)o(1,)o(10,)o(9,)o
-(16)o(,15)o(,1)o(4,1)o(3])515 4762 y Fq(Related)27 b(to)g
-Fp(two)p Fq(,)f(w)n(e)g(also)g(in)n(tro)r(duce)h(the)g(pattern)g
-Fp(ilv)p Fq(,)f(for)g Fn(interle)l(ave)p Fq(.)38 b(Whereas)26
-b Fp(two)515 4862 y(f)21 b Fq(applies)g Fp(f)f Fq(to)i(the)f(top)g(and)
-g(b)r(ottom)h(halv)n(es)e(of)h(a)g(list,)i Fp(ilv)42
-b(f)21 b Fq(applies)g Fp(f)g Fq(to)g(the)h(o)r(dd)f(and)515
-4961 y(ev)n(en)h(elemen)n(ts.)35 b(W)-7 b(e)23 b(de\014ne)h(it)f(in)g
-(terms)f(of)h(the)g(wiring)g(pattern)f Fn(ri\017e)p Fq(,)j(whic)n(h)e
-(p)r(erforms)1905 5255 y(50)p eop
-%%Page: 51 52
-51 51 bop 1200 1272 56 4 v 1200 1161 V 1200 1051 V 1200
-940 V 1200 829 V 1200 718 V 1200 608 V 1200 497 V 1255
-1272 111 4 v 1255 1132 a Fa(@)1283 1160 y(@)1255 910
-y(A)1297 993 y(A)1324 1049 y(A)1255 689 y(B)1283 772
-y(B)1310 855 y(B)1338 938 y(B)-28 b(B)p 1255 497 V 1255
-717 a(\000)1283 689 y(\000)1255 938 y(\001)1297 855 y(\001)1324
-800 y(\001)1255 1160 y(\002)1283 1077 y(\002)1310 994
-y(\002)1338 910 y(\002)g(\002)p 1366 1272 56 4 v 1366
-1161 V 1366 1051 V 1366 940 V 1366 829 V 1366 718 V 1366
-608 V 1366 497 V 1418 910 173 4 v 1418 1298 4 388 v 1479
-1125 a Fj(f)p 1587 1298 V 1418 1301 173 4 v 1418 468
-V 1418 855 4 388 v 1479 682 a(f)p 1587 855 V 1418 858
-173 4 v 1587 1272 56 4 v 1587 1161 V 1587 1051 V 1587
-940 V 1587 829 V 1587 718 V 1587 608 V 1587 497 V 1642
-1272 111 4 v 1642 1160 a Fa(\000)1670 1132 y(\000)1642
-1049 y(\001)1684 966 y(\001)1712 911 y(\001)1642 938
-y(\002)1670 855 y(\002)1698 772 y(\002)1725 689 y(\002)g(\002)p
-1642 497 V -111 w(@)1670 717 y(@)1642 800 y(A)1684 883
-y(A)1712 938 y(A)1642 910 y(B)1670 993 y(B)1698 1077
-y(B)1725 1160 y(B)g(B)p 1753 1272 56 4 v 1753 1161 V
-1753 1051 V 1753 940 V 1753 829 V 1753 718 V 1753 608
-V 1753 497 V 2085 1272 V 2085 1161 V 2085 1051 V 2085
-940 V 2085 829 V 2085 718 V 2085 608 V 2085 497 V 2141
-1272 111 4 v 388 w(\000)2168 1132 y(\000)-110 b(@)2168
-1160 y(@)p 2141 940 V 2141 829 V 2141 717 a(\000)2168
-689 y(\000)g(@)2168 717 y(@)p 2141 497 V 2251 1272 56
-4 v 2251 1161 V 2251 1051 V 2251 940 V 2251 829 V 2251
-718 V 2251 608 V 2251 497 V 2303 1132 173 4 v 2303 1298
-4 167 v 2368 1225 a Fj(g)p 2473 1298 V 2303 1301 173
-4 v 2303 910 V 2303 1077 4 167 v 2368 1003 a(g)p 2473
-1077 V 2303 1080 173 4 v 2303 689 V 2303 855 4 167 v
-2368 782 a(g)p 2473 855 V 2303 858 173 4 v 2303 468 V
-2303 634 4 167 v 2368 561 a(g)p 2473 634 V 2303 637 173
-4 v 2473 1272 56 4 v 2473 1161 V 2473 1051 V 2473 940
-V 2473 829 V 2473 718 V 2473 608 V 2473 497 V 2528 1272
-111 4 v 2528 1160 a Fa(\000)2556 1132 y(\000)f(@)2556
-1160 y(@)p 2528 940 V 2528 829 V 2528 717 a(\000)2556
-689 y(\000)g(@)2556 717 y(@)p 2528 497 V 2639 1272 56
-4 v 2639 1161 V 2639 1051 V 2639 940 V 2639 829 V 2639
-718 V 2639 608 V 2639 497 V 1290 1508 a Fq(Figure)27
-b(8.5:)36 b Fp(ilv)42 b(f)27 b Fq(and)h Fp(two)42 b(\(ilv)g(g\))515
-1769 y Fq(the)22 b(p)r(erfect)g(sh)n(u\017e)g(on)g(a)f(list.)35
-b(Think)23 b(of)e(taking)h(a)f(pac)n(k)g(of)h(cards,)g(halving)f(it,)j
-(and)e(then)515 1869 y(in)n(terlea)n(ving)31 b(the)i(t)n(w)n(o)f(half)h
-(pac)n(ks.)51 b(If)33 b(y)n(ou)f(no)n(w)g Fn(unri\017e)h
-Fq(the)g(pac)n(k,)g(y)n(ou)f(rev)n(erse)f(the)515 1968
-y(pro)r(cess,)h(returning)g(the)g(pac)n(k)g(to)g(its)h(original)d
-(condition.)51 b(\(This)33 b(is)f(somewhat)g(more)515
-2068 y(di\016cult)c(to)g(accomplish)e(with)j(aplom)n(b)d(at)i(the)g(p)r
-(ok)n(er)e(table.\))602 2247 y Fp(Main>)41 b Fl(simulate)g(riffle)g
-([1..16])602 2347 y Fp([1,9,2,10,3,11,4)o(,1)o(2,5)o(,1)o(3,6)o(,1)o
-(4,)o(7,1)o(5,)o(8,1)o(6])602 2546 y(Main>)g Fl(simulate)g(\(riffle)f
-(->-)j(unriffle\))d([1..16])602 2646 y Fp([1,2,3,4,5,6,7,8)o(,9)o(,10)o
-(,1)o(1,1)o(2,)o(13)o(,14)o(,1)o(5,1)o(6])602 2845 y(Main>)h
-Fl(simulate)g(unriffle)f([1..16])602 2945 y Fp([1,3,5,7,9,11,13)o(,1)o
-(5,2)o(,4)o(,6,)o(8,)o(10)o(,12)o(,1)o(4,1)o(6])515 3124
-y Fq(Note)29 b(that)h(unri\017ing)g(the)g(sequence)f(from)g(1)h(to)f
-Fj(n)h Fq(divides)f(in)n(to)h(its)f(o)r(dd)h(and)g(its)g(ev)n(en)515
-3223 y(elemen)n(ts.)36 b(W)-7 b(e)28 b(use)g(this)g(fact)g(to)f
-(de\014ne)h Fp(ilv)e Fq(in)i(terms)f(of)h Fp(two)p Fq(.)602
-3403 y Fp(ilv)42 b(circ)g(=)h(unriffle)e(->-)h(two)g(circ)g(->-)h
-(riffle)602 3597 y(Main>)e Fl(simulate)g(\(ilv)h(reverse\))e([1..16])
-602 3696 y Fp([15,16,13,14,11,)o(12)o(,9,)o(10)o(,7,)o(8,)o(5,)o(6,3)o
-(,4)o(,1,)o(2])602 3896 y(Main>)h Fl(simulate)g(\(ilv)h(\(ilv)g
-(reverse\)\))d([1..16])602 3995 y Fp([13,14,15,16,9,1)o(0,)o(11,)o(12)o
-(,5,)o(6,)o(7,)o(8,1)o(,2)o(,3,)o(4])515 4189 y Fq(Figure)32
-b(8.5)g(sho)n(ws)f Fp(ilv)43 b(f)32 b Fq(and)h Fp(two)42
-b(\(ilv)g(g\))p Fq(.)52 b(W)-7 b(e)33 b(lea)n(v)n(e)e(the)j
-(de\014nition)f(of)f Fp(riffle)515 4289 y Fq(and)27 b
-Fp(unriffle)e Fq(as)h(exercise)h(8.6.)515 4428 y(W)-7
-b(e)38 b(ha)n(v)n(e)e(seen)i(from)f(our)g(examples)g(that)h(it)g(mak)n
-(es)f(sense)g(to)h(apply)f Fp(two)g Fq(and)g Fp(ilv)515
-4528 y Fq(rep)r(eatedly)-7 b(.)36 b(W)-7 b(e)27 b(will)g(do)f(this)h
-(so)g(often)g(in)g(the)g(butter\015y)g(circuits,)f(that)h(it)g(is)g
-(useful)g(to)515 4628 y(de\014ne)h(sp)r(ecial)f(functions.)602
-4807 y Fp(twoN)42 b(0)h(circ)f(=)h(circ)602 4907 y(twoN)f(n)h(circ)f(=)
-h(two)f(\(twoN)g(\(n-1\))f(circ\))1905 5255 y Fq(51)p
-eop
-%%Page: 52 53
-52 52 bop 1283 1272 56 4 v 1283 1161 V 1283 1051 V 1283
-940 V 1283 829 V 1283 718 V 1283 608 V 1283 497 V 1338
-1272 111 4 v 1338 1132 a Fa(@)1366 1160 y(@)1338 910
-y(A)1380 993 y(A)1407 1049 y(A)1338 689 y(B)1366 772
-y(B)1393 855 y(B)1421 938 y(B)-28 b(B)p 1338 497 V 1338
-717 a(\000)1366 689 y(\000)1338 938 y(\001)1380 855 y(\001)1407
-800 y(\001)1338 1160 y(\002)1366 1077 y(\002)1393 994
-y(\002)1421 910 y(\002)g(\002)p 1449 1272 V 250 x(\000)1476
-1132 y(\000)-110 b(@)1476 1160 y(@)p 1449 940 V 1449
-829 V 1449 717 a(\000)1476 689 y(\000)g(@)1476 717 y(@)p
-1449 497 V 1559 1272 56 4 v 1559 1161 V 1559 1051 V 1559
-940 V 1559 829 V 1559 718 V 1559 608 V 1559 497 V 1611
-1132 173 4 v 1611 1298 4 167 v 1677 1225 a Fj(g)p 1781
-1298 V 1611 1301 173 4 v 1611 910 V 1611 1077 4 167 v
-1677 1003 a(g)p 1781 1077 V 1611 1080 173 4 v 1611 689
-V 1611 855 4 167 v 1677 782 a(g)p 1781 855 V 1611 858
-173 4 v 1611 468 V 1611 634 4 167 v 1677 561 a(g)p 1781
-634 V 1611 637 173 4 v 1781 1272 56 4 v 1781 1161 V 1781
-1051 V 1781 940 V 1781 829 V 1781 718 V 1781 608 V 1781
-497 V 1836 1272 111 4 v 1836 1160 a Fa(\000)1864 1132
-y(\000)f(@)1864 1160 y(@)p 1836 940 V 1836 829 V 1836
-717 a(\000)1864 689 y(\000)g(@)1864 717 y(@)p 1836 497
-V 1947 1272 56 4 v 1947 1161 V 1947 1051 V 1947 940 V
-1947 829 V 1947 718 V 1947 608 V 1947 497 V 1999 1132
-173 4 v 1999 1298 4 167 v 2064 1225 a Fj(g)p 2168 1298
-V 1999 1301 173 4 v 1999 910 V 1999 1077 4 167 v 2064
-1003 a(g)p 2168 1077 V 1999 1080 173 4 v 1999 689 V 1999
-855 4 167 v 2064 782 a(g)p 2168 855 V 1999 858 173 4
-v 1999 468 V 1999 634 4 167 v 2064 561 a(g)p 2168 634
-V 1999 637 173 4 v 2168 1272 56 4 v 2168 1161 V 2168
-1051 V 2168 940 V 2168 829 V 2168 718 V 2168 608 V 2168
-497 V 2224 1272 111 4 v 2224 1160 a Fa(\000)2251 1132
-y(\000)2224 1049 y(\001)2265 966 y(\001)2293 911 y(\001)2224
-938 y(\002)2251 855 y(\002)2279 772 y(\002)2307 689 y(\002)-28
-b(\002)p 2224 497 V -111 w(@)2251 717 y(@)2224 800 y(A)2265
-883 y(A)2293 938 y(A)2224 910 y(B)2251 993 y(B)2279 1077
-y(B)2307 1160 y(B)g(B)p 2334 1272 56 4 v 2334 1161 V
-2334 1051 V 2334 940 V 2334 829 V 2334 718 V 2334 608
-V 2334 497 V 2386 1132 173 4 v 2386 1298 4 167 v 2451
-1225 a Fj(g)p 2556 1298 V 2386 1301 173 4 v 2386 910
-V 2386 1077 4 167 v 2451 1003 a(g)p 2556 1077 V 2386
-1080 173 4 v 2386 689 V 2386 855 4 167 v 2451 782 a(g)p
-2556 855 V 2386 858 173 4 v 2386 468 V 2386 634 4 167
-v 2451 561 a(g)p 2556 634 V 2386 637 173 4 v 2556 1272
-56 4 v 2556 1161 V 2556 1051 V 2556 940 V 2556 829 V
-2556 718 V 2556 608 V 2556 497 V 1449 884 9 4 v 1449
-442 V 2215 884 V 2215 442 V 1474 884 17 4 v 1507 884
-V 1540 884 V 1573 884 V 1606 884 V 1640 884 V 1673 884
-V 1706 884 V 1739 884 V 1773 884 V 1806 884 V 1839 884
-V 1872 884 V 1905 884 V 1939 884 V 1972 884 V 2005 884
-V 2038 884 V 2071 884 V 2105 884 V 2138 884 V 2171 884
-V 1474 442 V 1507 442 V 1540 442 V 1573 442 V 1606 442
-V 1640 442 V 1673 442 V 1706 442 V 1739 442 V 1773 442
-V 1806 442 V 1839 442 V 1872 442 V 1905 442 V 1939 442
-V 1972 442 V 2005 442 V 2038 442 V 2071 442 V 2105 442
-V 2138 442 V 2171 442 V 1447 883 4 9 v 2222 883 V 1447
-448 V 2222 448 V 1447 493 4 17 v 1447 526 V 1447 559
-V 1447 592 V 1447 625 V 1447 659 V 1447 692 V 1447 725
-V 1447 758 V 1447 791 V 1447 825 V 1447 858 V 2222 493
-V 2222 526 V 2222 559 V 2222 592 V 2222 625 V 2222 659
-V 2222 692 V 2222 725 V 2222 758 V 2222 791 V 2222 825
-V 2222 858 V 1587 649 17 4 v 1620 649 V 1654 649 V 1687
-649 V 1720 649 V 1753 649 V 1786 649 V 1587 456 V 1620
-456 V 1654 456 V 1687 456 V 1720 456 V 1753 456 V 1786
-456 V 1585 482 4 17 v 1585 515 V 1585 548 V 1585 581
-V 1585 614 V 1585 648 V 1807 482 V 1807 515 V 1807 548
-V 1807 581 V 1807 614 V 1807 648 V 1559 1508 a Fq(Figure)26
-b(8.6:)37 b Fp(bfly)k(3)j(g)602 1774 y(ilvN)e(0)h(circ)f(=)h(circ)602
-1874 y(ilvN)f(n)h(circ)f(=)h(ilv)f(\(ilvN)g(\(n-1\))f(circ\))515
-2058 y Fq(Clearly)-7 b(,)31 b(there)f(are)g(similarities)h(b)r(et)n(w)n
-(een)g(these)g(t)n(w)n(o)f(de\014nitions.)47 b(W)-7 b(e)31
-b(migh)n(t)g(just)h(as)515 2157 y(w)n(ell)27 b(ha)n(v)n(e)f(de\014ned)i
-(a)g(function)g(that)g(tak)n(es)e(a)i Fn(c)l(onne)l(ction)h(p)l(attern)
-f Fq(as)f(input.)602 2342 y Fp(iter)42 b(0)h(comb)f(circ)g(=)h(circ)602
-2441 y(iter)f(n)h(comb)f(circ)g(=)h(comb)f(\(iter)f(\(n-1\))h(comb)g
-(circ\))515 2625 y Fq(No)n(w,)23 b(w)n(e)g(can)g(use)f
-Fp(iter)42 b(n)i(two)e(f)23 b Fq(instead)f(of)h Fp(twoN)42
-b(n)i(f)22 b Fq(and)h Fp(iter)42 b(n)h(ilv)g(f)22 b Fq(instead)515
-2725 y(of)27 b Fp(ilvN)42 b(n)h(f)p Fq(.)515 2865 y(No)n(w)31
-b(w)n(e)g(are)g(in)h(a)f(p)r(osition)h(to)f(de\014ne)h(a)f(connection)h
-(pattern)f(for)g(butter\015y)h(circuits,)515 2964 y(that)27
-b(is)g(circuits,)f(lik)n(e)h(those)g(sho)n(wn)f(in)h(\014gures)f(8.6)g
-(and)h(8.7,)f(that)h(ha)n(v)n(e)f(a)g(v)n(ery)g(partic-)515
-3064 y(ular)31 b(recursiv)n(e)f(structure.)50 b(Because)30
-b(the)j(circuits)e(are)g(recursiv)n(e,)h(the)g(corresp)r(onding)515
-3163 y(connection)27 b(pattern)g(is)h(de\014ned)g(using)f(recursion.)
-602 3348 y Fp(bfly)42 b(0)h(circ)f(=)h(id)602 3447 y(bfly)f(n)h(circ)f
-(=)h(ilv)f(\(bfly)g(\(n-1\))f(circ\))h(->-)g(twoN)g(\(n-1\))g(circ)515
-3631 y Fq(The)31 b(smallest)g(butter\015y)h(is)f(just)h(the)g(iden)n
-(tit)n(y)-7 b(.)49 b(A)32 b(butter\015y)g(of)f(size)g
-Fj(n)p Fq(,)i(for)d Fj(n)i Fq(greater)515 3731 y(than)k(zero,)i
-(consists)e(of)h(t)n(w)n(o)f(in)n(terlea)n(v)n(ed)e(butter\015ies)j(of)
-g(size)f Fj(n)24 b Fi(\000)g Fq(1,)39 b(the)e(output)g(of)515
-3831 y(whic)n(h)30 b(is)f(fed)i(in)n(to)f(a)f(stac)n(k)g(of)h
-Fp(circ)e Fq(comp)r(onen)n(ts,)j(whic)n(h)e(is)h(made)g(using)g
-Fp(twoN)p Fq(.)e(This)515 3930 y(connection)f(pattern)g(is)h(sho)n(wn)f
-(in)g(\014gure)g(8.6,)g(whic)n(h)h(sho)n(ws)e Fp(bfly)42
-b(3)h(g)p Fq(.)515 4070 y(The)34 b(larger)e(dashed)i(b)r(o)n(x)f(sho)n
-(ws)g(one)h(instance)g(of)g Fp(bfly)42 b(2)h(g)p Fq(,)35
-b(and)f(there)g(is)g(another)515 4169 y(instance)f(just)i(b)r(elo)n(w)e
-(it.)56 b(These)33 b(t)n(w)n(o)g(smaller)g(butter\015ies)h(are)e(in)n
-(terlea)n(v)n(ed,)i(so)f(there)515 4269 y(is)j(actually)f(an)h
-Fn(unri\017e)g Fq(to)g(their)g(left)g(and)g(a)g Fn(ri\017e)g
-Fq(to)g(their)g(righ)n(t.)62 b(\(Mak)n(e)35 b(sure)g(to)515
-4369 y(\014nd)e(these)h(wiring)e(patterns,)j(and)e(lo)r(ok)f(again)h
-(at)g(the)g(de\014nition)h(of)f Fp(ilv)p Fq(.\))53 b(The)34
-b(t)n(w)n(o)515 4468 y(in)n(terlea)n(v)n(ed)24 b(butter\015ies)i(feed)g
-(their)f(outputs)h(in)n(to)g(four)f Fp(g)g Fq(comp)r(onen)n(ts,)h(one)f
-(ab)r(o)n(v)n(e)g(the)515 4568 y(other,)41 b(that)e(is)g
-Fp(twoN)j(2)h(g)p Fq(.)71 b(And)39 b(if)h(y)n(ou)e(lo)r(ok)g(inside)h
-(the)g Fp(bfly)j(2)i(g)38 b Fq(in)h(the)h(outer)515 4667
-y(dashed)27 b(b)r(o)n(x,)g(y)n(ou)g(will)h(\014nd)g(that)g(it)g(again)e
-(has)h(the)h(same)f(recursiv)n(e)f(structure.)515 4807
-y(Strangely)34 b(enough,)j(the)f(same)e(connection)h(pattern)h(\(that)f
-(is)h(the)g(same)e(netlist)i(and)515 4907 y(the)c(same)f(order)g(of)h
-(inputs)g(and)g(outputs,)h(though)f(a)f(p)r(ossibly)h(di\013eren)n(t)g
-(la)n(y)n(out\))e(can)515 5006 y(b)r(e)e(describ)r(ed)f(using)g(a)h
-(di\013eren)n(t)f(pattern)h(of)f(recursion.)1905 5255
-y(52)p eop
-%%Page: 53 54
-53 53 bop 1255 1272 56 4 v 1255 1161 V 1255 1051 V 1255
-940 V 1255 829 V 1255 718 V 1255 608 V 1255 497 V 1310
-1272 111 4 v 1310 1160 a Fa(\000)1338 1132 y(\000)1310
-1049 y(\001)1352 966 y(\001)1380 911 y(\001)1310 938
-y(\002)1338 855 y(\002)1366 772 y(\002)1393 689 y(\002)-28
-b(\002)p 1310 497 V -111 w(@)1338 717 y(@)1310 800 y(A)1352
-883 y(A)1380 938 y(A)1310 910 y(B)1338 993 y(B)1366 1077
-y(B)1393 1160 y(B)g(B)p 1421 1272 56 4 v 1421 1161 V
-1421 1051 V 1421 940 V 1421 829 V 1421 718 V 1421 608
-V 1421 497 V 1473 1132 173 4 v 1473 1298 4 167 v 1538
-1225 a Fj(g)p 1642 1298 V 1473 1301 173 4 v 1473 910
-V 1473 1077 4 167 v 1538 1003 a(g)p 1642 1077 V 1473
-1080 173 4 v 1473 689 V 1473 855 4 167 v 1538 782 a(g)p
-1642 855 V 1473 858 173 4 v 1473 468 V 1473 634 4 167
-v 1538 561 a(g)p 1642 634 V 1473 637 173 4 v 1642 1272
-56 4 v 1642 1161 V 1642 1051 V 1642 940 V 1642 829 V
-1642 718 V 1642 608 V 1642 497 V 1698 1272 111 4 v 1698
-1132 a Fa(@)1725 1160 y(@)1698 910 y(A)1739 993 y(A)1767
-1049 y(A)1698 689 y(B)1725 772 y(B)1753 855 y(B)1781
-938 y(B)g(B)p 1698 497 V 1698 717 a(\000)1725 689 y(\000)1698
-938 y(\001)1739 855 y(\001)1767 800 y(\001)1698 1160
-y(\002)1725 1077 y(\002)1753 994 y(\002)1781 910 y(\002)g(\002)p
-1808 1272 V 1808 1160 a(\000)1836 1132 y(\000)-111 b(@)1836
-1160 y(@)p 1808 940 V 1808 829 V 1808 717 a(\000)1836
-689 y(\000)g(@)1836 717 y(@)p 1808 497 V 1919 1272 56
-4 v 1919 1161 V 1919 1051 V 1919 940 V 1919 829 V 1919
-718 V 1919 608 V 1919 497 V 1971 1132 173 4 v 1971 1298
-4 167 v 2036 1225 a Fj(g)p 2141 1298 V 1971 1301 173
-4 v 1971 910 V 1971 1077 4 167 v 2036 1003 a(g)p 2141
-1077 V 1971 1080 173 4 v 1971 689 V 1971 855 4 167 v
-2036 782 a(g)p 2141 855 V 1971 858 173 4 v 1971 468 V
-1971 634 4 167 v 2036 561 a(g)p 2141 634 V 1971 637 173
-4 v 2141 1272 56 4 v 2141 1161 V 2141 1051 V 2141 940
-V 2141 829 V 2141 718 V 2141 608 V 2141 497 V 2196 1272
-111 4 v 2196 1160 a Fa(\000)2224 1132 y(\000)g(@)2224
-1160 y(@)p 2196 940 V 2196 829 V 2196 717 a(\000)2224
-689 y(\000)g(@)2224 717 y(@)p 2196 497 V 2307 1272 56
-4 v 2307 1161 V 2307 1051 V 2307 940 V 2307 829 V 2307
-718 V 2307 608 V 2307 497 V 2359 1132 173 4 v 2359 1298
-4 167 v 2424 1225 a Fj(g)p 2528 1298 V 2359 1301 173
-4 v 2359 910 V 2359 1077 4 167 v 2424 1003 a(g)p 2528
-1077 V 2359 1080 173 4 v 2359 689 V 2359 855 4 167 v
-2424 782 a(g)p 2528 855 V 2359 858 173 4 v 2359 468 V
-2359 634 4 167 v 2424 561 a(g)p 2528 634 V 2359 637 173
-4 v 2528 1272 56 4 v 2528 1161 V 2528 1051 V 2528 940
-V 2528 829 V 2528 718 V 2528 608 V 2528 497 V 2583 1272
-V 2583 1161 V 2583 1051 V 2583 940 V 2583 829 V 2583
-718 V 2583 608 V 2583 497 V 1808 884 9 4 v 1808 442 V
-2575 884 V 2575 442 V 1833 884 17 4 v 1867 884 V 1900
-884 V 1933 884 V 1966 884 V 1999 884 V 2033 884 V 2066
-884 V 2099 884 V 2132 884 V 2165 884 V 2199 884 V 2232
-884 V 2265 884 V 2298 884 V 2332 884 V 2365 884 V 2398
-884 V 2431 884 V 2464 884 V 2498 884 V 2531 884 V 1833
-442 V 1867 442 V 1900 442 V 1933 442 V 1966 442 V 1999
-442 V 2033 442 V 2066 442 V 2099 442 V 2132 442 V 2165
-442 V 2199 442 V 2232 442 V 2265 442 V 2298 442 V 2332
-442 V 2365 442 V 2398 442 V 2431 442 V 2464 442 V 2498
-442 V 2531 442 V 1807 883 4 9 v 2582 883 V 1807 448 V
-2582 448 V 1807 493 4 17 v 1807 526 V 1807 559 V 1807
-592 V 1807 625 V 1807 659 V 1807 692 V 1807 725 V 1807
-758 V 1807 791 V 1807 825 V 1807 858 V 2582 493 V 2582
-526 V 2582 559 V 2582 592 V 2582 625 V 2582 659 V 2582
-692 V 2582 725 V 2582 758 V 2582 791 V 2582 825 V 2582
-858 V 2334 649 17 4 v 2368 649 V 2401 649 V 2434 649
-V 2467 649 V 2500 649 V 2534 649 V 2334 456 V 2368 456
-V 2401 456 V 2434 456 V 2467 456 V 2500 456 V 2534 456
-V 2333 482 4 17 v 2333 515 V 2333 548 V 2333 581 V 2333
-614 V 2333 648 V 2554 482 V 2554 515 V 2554 548 V 2554
-581 V 2554 614 V 2554 648 V 1537 1508 a Fq(Figure)27
-b(8.7:)36 b Fp(bfly1)41 b(3)i(g)602 1776 y(bfly1)e(0)j(circ)e(=)h(id)
-602 1875 y(bfly1)e(n)j(circ)e(=)h(ilvN)f(\(n-1\))f(circ)h(->-)g(two)h
-(\(bfly1)e(\(n-1\))g(circ\))515 2061 y Fq(This)35 b(time,)j(w)n(e)d
-(start)g(with)h(a)g(rep)r(eatedly)f(in)n(terlea)n(v)n(ed)f(stac)n(k)g
-(of)i(basic)f(comp)r(onen)n(ts,)515 2161 y(whose)e(outputs)i(are)e(fed)
-i(in)n(to)f(t)n(w)n(o)f(smaller)h(butter\015ies,)i(whic)n(h)e(are)f
-(com)n(bined)h(using)515 2261 y Fp(two)p Fq(.)h(Figure)27
-b(8.7)g(sho)n(ws)g(this)h(recursiv)n(e)d(decomp)r(osition.)515
-2400 y(It)g(turns)f(out)g(that)h Fp(ilv)43 b(\(bfly)e(n)i(circ\))23
-b Fq(is)h(the)h(same)f(as)g Fp(bfly)42 b(n)h(\(ilv)f(circ\))p
-Fq(.)34 b(\(See)515 2500 y(the)22 b(question)g(b)r(elo)n(w)g(ab)r(out)g
-Fp(two)43 b(ilv)f(g)22 b Fq(if)g(y)n(ou)g(w)n(an)n(t)f(to)i(\014gure)e
-(out)h(wh)n(y)-7 b(.\))35 b(This)23 b(means)515 2599
-y(that)29 b(w)n(e)f(can)g(de\014ne)h(the)g(butter\015y)g(net)n(w)n(ork)
-e(using)h(a)h(single)f(recursiv)n(e)f(call,)h(but)i(with)515
-2699 y(a)d(larger)f(comp)r(onen)n(t:)602 2885 y Fp(bfly2)41
-b(0)j(circ)e(=)h(id)602 2985 y(bfly2)e(n)j(circ)e(=)h(ilvN)f(\(n-1\))f
-(circ)h(->-)g(bfly2)g(\(n-1\))f(\(two)h(circ\))602 3184
-y(bfly3)f(0)j(circ)e(=)h(id)602 3283 y(bfly3)e(n)j(circ)e(=)h(bfly3)e
-(\(n-1\))h(\(ilv)g(circ\))f(->-)i(twoN)e(\(n-1\))h(circ)515
-3469 y Fq(The)d(surprising)f(thing)h(is)g(that)g(all)g(of)g(these)g
-(connection)g(patterns)f(giv)n(e)g(equiv)-5 b(alen)n(t)515
-3569 y(circuits)27 b(\(for)g(the)h(same)f(size)h(and)f(comp)r(onen)n
-(t\).)515 3709 y(The)h(original)f(butter\015y)h(de\014n)n(tions)g(\()p
-Fp(bfly)f Fq(and)h Fp(bfly1)p Fq(\))e(can)i(also)f(b)r(e)h(expressed)f
-(using)515 3808 y(a)f(tree-lik)n(e)g(com)n(binator.)35
-b(T)-7 b(ak)n(e)27 b(a)f(lo)r(ok)g(at)h(the)h(connection)e(pattern)h
-Fp(listTree)p Fq(,)d(whic)n(h)515 3908 y(is)33 b(a)h(v)n(ersion)e(of)i
-Fp(binTree)d Fq(whic)n(h)j(w)n(orks)e(for)h(a)h(comp)r(onen)n(t)f
-(circuit)h Fp(circ)f Fq(pro)r(cessing)515 4007 y(lists.)602
-4193 y Fp(listTree)40 b(circ)i([inp])g(=)h([inp])602
-4293 y(listTree)d(circ)i(inps)86 b(=)43 b(\(two)f(\(listTree)e(circ\))h
-(->-)h(circ\))g(inps)515 4479 y Fq(Y)-7 b(ou)27 b(should)h(think)g(ab)r
-(out)f(the)h(t)n(yp)r(es)g(in)n(v)n(olv)n(ed)e(in)i(this)g
-(de\014nition.)515 4618 y(Replacing)f(that)h Fp(two)e
-Fq(b)n(y)h Fp(ilv)p Fq(,)g(w)n(e)g(get)g Fp(ilvTree)p
-Fq(,)e(a)i(sort)g(of)h(in)n(terlea)n(v)n(ed)e(tree.)602
-4804 y Fp(ilvTree)41 b(circ)h([inp])f(=)i([inp])602 4904
-y(ilvTree)e(circ)h(inps)85 b(=)43 b(\(ilv)f(\(ilvTree)e(circ\))i(->-)g
-(circ\))g(inps)1905 5255 y Fq(53)p eop
-%%Page: 54 55
-54 54 bop 515 523 a Fq(If)21 b(w)n(e)g(ha)n(v)n(e)f(a)h(comp)r(onen)n
-(t)g(that)h(tak)n(es)e(a)h(pair)f(as)h(input)h(and)f(pro)r(duces)g(a)f
-(pair)h(as)f(output,)515 623 y(then)34 b(w)n(e)f(can)h(describ)r(e)f(a)
-g(stac)n(k)g(of)h(suc)n(h)f(comp)r(onen)n(ts)h(b)n(y)f(using)g
-(pairing,)i(unpairing)515 722 y(and)d(map)h(as)e(follo)n(ws)h(\(see)g
-(exercise)g(3.6)f(and)i(the)g(answ)n(er)e(on)h(page)g(80)f(for)h
-Fp(pair)f Fq(and)515 822 y Fp(unpair)p Fq(\).)602 996
-y Fp(pmap)42 b(circ)g(=)h(pair)f(->-)g(map)h(circ)e(->-)i(unpair)602
-1183 y(Main>)e Fl(simulate)g(\(pmap)g(swap\))h([1..16])602
-1282 y Fp([2,1,4,3,6,5,8,7)o(,1)o(0,9)o(,1)o(2,1)o(1,)o(14)o(,13)o(,1)o
-(6,1)o(5])515 1470 y Fq(Then,)d(for)d(inputs)h(of)g(length)f(2)1573
-1439 y Fg(n)1618 1470 y Fq(,)j Fp(ilvTree)i(\(pmap)g(circ\))35
-b Fq(is)h(the)h(same)g(as)e Fp(bfly)42 b(n)515 1569 y(circl)p
-Fq(,)22 b(where)h Fp(circl)e Fq(is)i(the)h(same)f(as)g
-Fp(circ)e Fq(except)j(that)g(it)f(relates)g(a)g(2-list)f(to)i(a)f
-(2-list.)515 1709 y(So)32 b(what)g(kinds)h(of)f(circuits)g(can)g(w)n(e)
-h(build)g(with)g(these)f(remark)-5 b(ably)31 b(recursiv)n(e)g(struc-)
-515 1808 y(tures?)63 b(W)-7 b(ell,)39 b(it)e(turns)g(out)f(that)h
-Fp(bfly)42 b(3)h(id)36 b Fq(is)g(a)h(complicated)f(w)n(a)n(y)f(to)h
-(write)h(the)515 1908 y(iden)n(tit)n(y)32 b(function)h(\(on)f(lists)g
-(of)g(length)g(8)p Fj(n)p Fq(.\))50 b(And)33 b Fp(bfly)42
-b(n)h(swapl)30 b Fq(rev)n(erses)g(a)i(list)g(of)515 2008
-y(length)27 b(2)810 1977 y Fg(n)855 2008 y Fq(.)602 2181
-y Fp(swapl)41 b([a,b])h(=)h([b,a])602 2368 y(Main>)85
-b Fl(simulate)40 b(\(bfly)i(4)h(swapl\))e([1..16])602
-2468 y Fp([16,15,14,13,12,)o(11)o(,10)o(,9)o(,8,)o(7,)o(6,)o(5,4)o(,3)o
-(,2,)o(1])602 2667 y(Main>)g Fl(simulate)g(\(ilvTree)f(\(pmap)h
-(swap\)\))h([1..16])602 2767 y Fp([16,15,14,13,12,)o(11)o(,10)o(,9)o
-(,8,)o(7,)o(6,)o(5,4)o(,3)o(,2,)o(1])515 2954 y Fq(If)29
-b(w)n(e)g(c)n(ho)r(ose)f(our)h(basic)f(comp)r(onen)n(t)h(to)h(b)r(e)f
-(the)h(p)r(erfect)g(sh)n(u\017e)f(on)g(lists)g(of)g(length)g(4,)515
-3054 y(the)34 b(circuit)g(that)g(w)n(e)f(call)h Fp(s2)p
-Fq(,)h(then)f(w)n(e)f(\014nd)i(that)f(a)f(butter\015y)h(of)g(suc)n(h)g
-(comp)r(onen)n(ts)515 3153 y(p)r(erforms)27 b(the)h(p)r(erfect)g(sh)n
-(u\017e!)602 3327 y Fp(s2)43 b([a,b,c,d])d(=)j([a,c,b,d])602
-3514 y(Main>)e Fl(simulate)g(\(bfly)g(3)i(s2\))g([1..16])602
-3614 y Fp([1,9,2,10,3,11,4)o(,1)o(2,5)o(,1)o(3,6)o(,1)o(4,)o(7,1)o(5,)o
-(8,1)o(6])515 3801 y Fq(But)31 b(all)g(of)g(these)g(examples)g(w)n(ere)
-f(just)h(wiring)g(functions.)48 b(What)31 b(happ)r(ens)g(when)g(w)n(e)
-515 3901 y(add)c(some)g(functionalit)n(y)h(to)f(the)h(comp)r(onen)n(t?)
-515 4212 y Fm(8.4)135 b(Batc)l(her's)46 b(Bitonic)f(Merger)515
-4434 y Fq(One)21 b(of)h(the)g(b)r(est)h(kno)n(wn)e(uses)g(of)h(the)g
-(butter\015y)g(net)n(w)n(ork)f(is)g(in)i(the)f(building)g(of)g(mergers)
-515 4534 y(and)i(sorters)f(based)g(on)h(a)g(t)n(w)n(o-input)g(t)n(w)n
-(o-output)g(comparator.)33 b(Let)25 b(us)f(start)g(with)h(t)n(w)n(o)515
-4633 y(abstract)36 b(comparators)e(that)j(w)n(ork)e(on)i(in)n(teger)f
-(inputs.)65 b(One)37 b(sorts)e(in)n(to)i(ascending)515
-4733 y(order,)26 b(and)h(the)h(other)f(in)n(to)h(descending.)602
-4907 y Fp(compUp)128 b([x,y])42 b(=)h([imin)e(\(x,y\),)g(imax)h
-(\(x,y\)])602 5006 y(compDown)e([x,y])i(=)h([imax)e(\(x,y\),)g(imin)h
-(\(x,y\)])1905 5255 y Fq(54)p eop
-%%Page: 55 56
-55 55 bop 602 523 a Fp(Main>)41 b Fl(simulate)g(\(two)h(compUp\))e
-([1,2,4,3])602 623 y Fp([1,2,3,4])602 822 y(Main>)h Fl(simulate)g
-(\(ilv)h(compDown\))d([1,2,4,3])602 922 y Fp([4,3,1,2])515
-1104 y Fq(It)29 b(turns)f(out)g(that)h Fp(bfly)42 b(n)h(compUp)26
-b Fq(sorts)h(\(in)n(to)i(ascending)e(order\))h(a)g(list)h(whose)e
-(\014rst)515 1203 y(half)g(is)h(ascending)f(and)g(second)g(half)h(is)f
-(descending)g(or)g(vice-v)n(ersa.)35 b(W)-7 b(e)28 b(call)f(suc)n(h)g
-(lists)515 1303 y Fn(inc-de)l(c)i Fq(and)g Fn(de)l(c-inc)h
-Fq(lists.)41 b(\(The)29 b(merger)f(sorts)f(man)n(y)i(other)f(lists)h
-(to)r(o,)g(the)h(so-called)515 1403 y Fn(bitonic)23 b
-Fq(lists,)h(but)f(w)n(e)g(don't)g(need)f(to)h(w)n(orry)e(ab)r(out)h
-(them.\))36 b(This)23 b(net)n(w)n(ork)e(is)i(kno)n(wn)f(as)515
-1502 y Fn(Batcher's)32 b(bitonic)f(mer)l(ger)d Fq([1].)39
-b(Also,)28 b Fp(bfly)41 b(n)j(compDown)25 b Fq(sorts)i
-Fn(inc-de)l(c)h Fq(and)g Fn(de)l(c-inc)515 1602 y Fq(lists)f(in)n(to)h
-(descending)f(order.)602 1772 y Fp(Main>)41 b Fl(simulate)g(\(bfly)g(3)
-i(compUp\))e([1,3,5,7,8,6,4,2)o(])602 1871 y Fp([1,2,3,4,5,6,7,8)o(])
-602 2071 y(Main>)g Fl(simulate)g(\(bfly)g(3)i(compDown\))d
-([1,3,5,7,8,6,4,2])602 2170 y Fp([8,7,6,5,4,3,2,1)o(])515
-2340 y Fq(Kno)n(wing)22 b(that)i(the)g(merger)e(sorts)g
-Fn(inc-de)l(c)27 b(lists)c Fq(allo)n(ws)g(us)g(to)g(build)i(a)e
-(recursiv)n(e)e(sorter.)515 2440 y(In)e(fact,)j(w)n(e)d(can)g
-(parameterise)f(the)i(circuit)f(on)g(the)h(comparator)d(\(the)j
-Fp(comp)e Fq(parameter\),)515 2539 y(and)28 b(de\014ne)h(b)r(oth)h(an)e
-(up)h(and)g(a)f(do)n(wn)h(sorter)e(at)i(the)g(same)f(time.)41
-b Fp(sorter)g(n)i(compUp)515 2639 y Fq(sorts)26 b(in)n(to)i(ascending)f
-(order,)g(while)h Fp(sorter)41 b(n)i(compDown)25 b Fq(sorts)h(in)n(to)i
-(descending)f(or-)515 2738 y(der.)602 2908 y Fp(sorter)41
-b(0)i(comp)f([inp])g(=)h([inp])602 3008 y(sorter)e(n)i(comp)f(inps)86
-b(=)43 b(outs)689 3107 y(where)776 3207 y(sortL)85 b(=)44
-b(sorter)d(\(n-1\))g(comp)776 3307 y(sortR)85 b(=)44
-b(sorter)d(\(n-1\))g(\(comp)h(->-)g(swapl\))f(--)i Fl(reversed)d
-(comparator)776 3406 y Fp(merger)h(=)j(bfly)d(n)j(comp)826
-b(--)43 b Fl(bitonic)e(merger)776 3506 y Fp(outs)129
-b(=)44 b(\(parl)d(sortL)h(sortR)f(->-)h(merger\))f(inps)602
-3688 y(Main>)g Fl(simulate)g(\(sorter)f(3)k(compUp\))c
-([8,7,1,2,3,4,6,5])602 3788 y Fp([1,2,3,4,5,6,7,8)o(])602
-3987 y(Main>)h Fl(simulate)g(\(sorter)f(3)k(compDown\))39
-b([8,7,1,2,3,4,6,5])602 4087 y Fp([8,7,6,5,4,3,2,1)o(])515
-4269 y Fq(Note)29 b(that)h(our)e(sorter)g(is)h(parameterised)f(on)h
-(the)h(comparator)d(or)h(t)n(w)n(o-sorter)f(comp)r(o-)515
-4369 y(nen)n(t.)44 b(So)29 b(w)n(e)h(ha)n(v)n(e)f(really)g(designed)g
-(the)h(connection)g(pattern)g(that)g(m)n(ust)g(b)r(e)g(used)g(to)515
-4468 y(connect)25 b(comparators.)33 b(W)-7 b(e)26 b(ha)n(v)n(e)e(not)h
-(in)g(an)n(y)g(w)n(a)n(y)f(tied)h(ourselv)n(es)e(do)n(wn)i(to)g
-(compara-)515 4568 y(tors)32 b(of)h(a)f(particular)g(t)n(yp)r(e.)53
-b(So,)35 b(as)d(long)g(as)h(w)n(e)f(pro)n(vide)g(a)h(comparator)d(comp)
-r(onen)n(t)515 4667 y(of)g(the)h(righ)n(t)f(t)n(yp)r(e,)i(then)f(w)n(e)
-f(get)g(bac)n(k)g(a)g(function)h(of)g(the)g(same)f(t)n(yp)r(e)h(that)f
-(acts)h(as)e(a)515 4767 y(sorter.)515 4907 y(The)k(next)g(step)g(is)f
-(to)h(re\014ne)g(the)g(comparator)e(comp)r(onen)n(t,)i(b)n(y)g(c)n(ho)r
-(osing)f(a)g(concrete)515 5006 y(represen)n(tation)16
-b(for)i(the)h(in)n(teger)e(data.)34 b(Examples)17 b(of)h(suc)n(h)g
-(represen)n(tations)f(are)g(parallel)1905 5255 y(55)p
-eop
-%%Page: 56 57
-56 56 bop 515 523 a Fq(least)27 b(signi\014can)n(t)f(bit)i(\014rst)f
-(binary)-7 b(,)26 b(or)h(serial)f(signed)h(t)n(w)n(os)f(complemen)n(t.)
-36 b(The)28 b(p)r(oin)n(t)f(is)515 623 y(that)f(whatev)n(er)f
-(re\014nemen)n(t)g(w)n(e)h(c)n(ho)r(ose,)f(w)n(e)h(can)f(simply)h(plug)
-g(in)g(the)g(new)g(comp)r(onen)n(t)515 722 y(in)n(to)33
-b(our)f(sorter)g(function.)55 b(This)33 b(is)h(an)f(example)g(of)g(ho)n
-(w)g(La)n(v)-5 b(a)32 b(allo)n(ws)g(us)h(to)h(design)515
-822 y(connection)k(patterns)h(and)g(then)h(reuse)e(them.)72
-b(Exercise)38 b(8.9)g(asks)g(y)n(ou)h(to)g(build)g(a)515
-922 y(sorter)c(based)i(on)g(the)g(comparator)e(for)i(binary)f(n)n(um)n
-(b)r(ers)h(that)g(y)n(ou)f(designed)h(in)g(an)515 1021
-y(earlier)26 b(exercise.)515 1161 y(An)i(in)n(teresting)f(prop)r(ert)n
-(y)f(of)i(sorting)e(circuits)i(made)f(from)g(comparators)e(is)j(that)g
-(they)515 1260 y(ob)r(ey)f(the)h Fn(zer)l(o-one)i(principle)p
-Fq(.)39 b(If)28 b(suc)n(h)f(a)g(sorter)f(w)n(orks)g(correctly)g(on)h
-(lists)h(of)f(in)n(tegers)515 1360 y(con)n(taining)32
-b(only)h(zeros)f(and)h(ones,)i(then)f(it)f(w)n(orks)f(correctly)g(for)h
-(arbitrary)e(in)n(tegers.)515 1460 y(So,)e(w)n(e)f(can)h(test)g(an)f
-(in)n(teger)g(sorter)g(b)n(y)g(c)n(hec)n(king)g(that)h(it)g(w)n(orks)f
-(on)g(bits!)41 b(In)29 b(exercise)515 1559 y(2.2,)f(y)n(ou)h(w)n(ere)f
-(ask)n(ed)g(to)h(de\014ne)g Fp(twoBitSort)p Fq(,)d(whic)n(h)j(sorts)f
-(a)g(pair)h(of)g(bits.)41 b(Here,)29 b(w)n(e)515 1659
-y(need)e(the)h(circuit)g Fp(twoBitSortl)23 b Fq(that)28
-b(sorts)e(a)i(t)n(w)n(o-list)e(of)i(bits:)602 1842 y
-Fp(twoBitSortl)39 b([a,b])i(=)j([min,)d(max])689 1941
-y(where)776 2041 y(\(min,)h(max\))g(=)h(twoBitSort)c(\(a,)k(b\))515
-2224 y Fq(No)n(w,)27 b(all)g(w)n(e)g(need)h(to)g(do)f(is)g(to)h(plug)f
-(this)h(comp)r(onen)n(t)g(in)n(to)f(our)g(sorter.)602
-2407 y Fp(Main>)41 b Fl(simulateSeq)e(\(sorter)i(2)i(twoBitSortl\))c
-(\(domainList)g(4\))602 2506 y Fp([[low,low,low,lo)o(w])o(,[l)o(ow)o
-(,lo)o(w,)o(lo)o(w,h)o(ig)o(h])602 2606 y(,[low,low,low,hi)o(gh)o(],[)o
-(lo)o(w,l)o(ow)o(,h)o(igh)o(,h)o(igh)o(])602 2706 y(,[low,low,low,hi)o
-(gh)o(],[)o(lo)o(w,l)o(ow)o(,h)o(igh)o(,h)o(igh)o(])602
-2805 y(,[low,low,high,h)o(ig)o(h],)o([l)o(ow,)o(hi)o(gh)o(,hi)o(gh)o
-(,hi)o(gh)o(])602 2905 y(,[low,low,low,hi)o(gh)o(],[)o(lo)o(w,l)o(ow)o
-(,h)o(igh)o(,h)o(igh)o(])602 3005 y(,[low,low,high,h)o(ig)o(h],)o([l)o
-(ow,)o(hi)o(gh)o(,hi)o(gh)o(,hi)o(gh)o(])602 3104 y(,[low,low,high,h)o
-(ig)o(h],)o([l)o(ow,)o(hi)o(gh)o(,hi)o(gh)o(,hi)o(gh)o(])602
-3204 y(,[low,high,high,)o(hi)o(gh])o(,[)o(hig)o(h,)o(hi)o(gh,)o(hi)o
-(gh,)o(hi)o(gh])602 3304 y(])515 3486 y Fq(If,)22 b(after)e(studying)h
-(these)f(examples,)h(y)n(ou)f(\014nd)h(that)g(y)n(ou)e(ha)n(v)n(e)h
-(dev)n(elop)r(ed)g(an)g(in)n(terest)g(in)515 3586 y(butter\015y)26
-b(net)n(w)n(orks,)f(y)n(ou)h(migh)n(t)h(lik)n(e)f(to)g(lo)r(ok)g(at)g
-(a)g(pap)r(er)g(that)h(p)r(oses)f(a)g(puzzle)g(ab)r(out)515
-3686 y(butter\015y)38 b(net)n(w)n(orks)f(of)h(switc)n(hes)f([17)o(].)69
-b(Do)38 b(let)g(us)g(kno)n(w)g(if)g(y)n(ou)g(solv)n(e)e(the)j(puzzle,)
-515 3785 y(b)r(ecause)27 b(w)n(e)g(ha)n(v)n(e)g(not)g(managed)g(to)g
-(do)g(so!)515 4099 y Fm(8.5)135 b(Exercises)575 4313
-y Fq(8.1)40 b(Is)28 b(parallel)e(comp)r(osition)h(\()p
-Fp(-|-)p Fq(\))g(asso)r(ciativ)n(e?)575 4478 y(8.2)40
-b(Are)g(the)h(circuits)e Fp(\(a->-b\))i(-|-)h(\(c->-d\))c
-Fq(and)h Fp(\(a-|-c\))i(->-)h(\(b-|-d\))c Fq(the)722
-4578 y(same)27 b(or)g(not?)575 4742 y(8.3)40 b(De\014ne)28
-b(the)g(connection)g(pattern)f Fp(tri)p Fq(.)575 4907
-y(8.4)40 b(What)23 b(do)r(es)f(a)g(triangle)g(of)h(dela)n(y)e(elemen)n
-(ts)i(do)f(to)g(its)h(inputs?)36 b(When)23 b(migh)n(t)f(suc)n(h)722
-5006 y(a)27 b(circuit)h(b)r(e)g(useful?)1905 5255 y(56)p
-eop
-%%Page: 57 58
-57 57 bop 1255 1272 56 4 v 1255 1161 V 1255 1051 V 1255
-940 V 1255 829 V 1255 718 V 1255 608 V 1255 497 V 1310
-1272 111 4 v 1310 1160 a Fa(\000)1338 1132 y(\000)1310
-1049 y(\001)1352 966 y(\001)1380 911 y(\001)1310 938
-y(\002)1338 855 y(\002)1366 772 y(\002)1393 689 y(\002)-28
-b(\002)p 1310 497 V -111 w(@)1338 717 y(@)1310 800 y(A)1352
-883 y(A)1380 938 y(A)1310 910 y(B)1338 993 y(B)1366 1077
-y(B)1393 1160 y(B)g(B)p 1421 1272 56 4 v 1421 1161 V
-1421 1051 V 1421 940 V 1421 829 V 1421 718 V 1421 608
-V 1421 497 V 1473 1132 173 4 v 1473 1298 4 167 v 1538
-1225 a Fj(g)p 1642 1298 V 1473 1301 173 4 v 1473 910
-V 1473 1077 4 167 v 1538 1003 a(g)p 1642 1077 V 1473
-1080 173 4 v 1473 689 V 1473 855 4 167 v 1538 782 a(g)p
-1642 855 V 1473 858 173 4 v 1473 468 V 1473 634 4 167
-v 1538 561 a(g)p 1642 634 V 1473 637 173 4 v 1642 1272
-56 4 v 1642 1161 V 1642 1051 V 1642 940 V 1642 829 V
-1642 718 V 1642 608 V 1642 497 V 1698 1272 111 4 v 1698
-1160 a Fa(\000)1725 1132 y(\000)1698 1049 y(\001)1739
-966 y(\001)1767 911 y(\001)1698 938 y(\002)1725 855 y(\002)1753
-772 y(\002)1781 689 y(\002)g(\002)p 1698 497 V -111 w(@)1725
-717 y(@)1698 800 y(A)1739 883 y(A)1767 938 y(A)1698 910
-y(B)1725 993 y(B)1753 1077 y(B)1781 1160 y(B)g(B)p 1808
-1272 56 4 v 1808 1161 V 1808 1051 V 1808 940 V 1808 829
-V 1808 718 V 1808 608 V 1808 497 V 1861 1132 173 4 v
-1861 1298 4 167 v 1926 1225 a Fj(g)p 2030 1298 V 1861
-1301 173 4 v 1861 910 V 1861 1077 4 167 v 1926 1003 a(g)p
-2030 1077 V 1861 1080 173 4 v 1861 689 V 1861 855 4 167
-v 1926 782 a(g)p 2030 855 V 1861 858 173 4 v 1861 468
-V 1861 634 4 167 v 1926 561 a(g)p 2030 634 V 1861 637
-173 4 v 2030 1272 56 4 v 2030 1161 V 2030 1051 V 2030
-940 V 2030 829 V 2030 718 V 2030 608 V 2030 497 V 2085
-1272 111 4 v 2085 1160 a Fa(\000)2113 1132 y(\000)2085
-1049 y(\001)2127 966 y(\001)2154 911 y(\001)2085 938
-y(\002)2113 855 y(\002)2141 772 y(\002)2168 689 y(\002)g(\002)p
-2085 497 V -111 w(@)2113 717 y(@)2085 800 y(A)2127 883
-y(A)2154 938 y(A)2085 910 y(B)2113 993 y(B)2141 1077
-y(B)2168 1160 y(B)g(B)p 2196 1272 56 4 v 2196 1161 V
-2196 1051 V 2196 940 V 2196 829 V 2196 718 V 2196 608
-V 2196 497 V 2248 1132 173 4 v 2248 1298 4 167 v 2313
-1225 a Fj(g)p 2417 1298 V 2248 1301 173 4 v 2248 910
-V 2248 1077 4 167 v 2313 1003 a(g)p 2417 1077 V 2248
-1080 173 4 v 2248 689 V 2248 855 4 167 v 2313 782 a(g)p
-2417 855 V 2248 858 173 4 v 2248 468 V 2248 634 4 167
-v 2313 561 a(g)p 2417 634 V 2248 637 173 4 v 2417 1272
-56 4 v 2417 1161 V 2417 1051 V 2417 940 V 2417 829 V
-2417 718 V 2417 608 V 2417 497 V 2473 1272 V 2473 1161
-V 2473 1051 V 2473 940 V 2473 829 V 2473 718 V 2473 608
-V 2473 497 V 1211 1508 a Fq(Figure)27 b(8.8:)36 b(the)28
-b(sh)n(u\017e-exc)n(hange)e(net)n(w)n(ork)575 1773 y(8.5)40
-b(The)25 b(binary)e(adder)h(sho)n(wn)f(in)i(this)f(c)n(hapter)g(w)n
-(orks)f(only)g(when)i(the)g(binary)e(n)n(um-)722 1873
-y(b)r(ers)j(to)h(b)r(e)g(added)f(are)f(of)i(the)g(same)f(length.)36
-b(De\014ne)27 b(a)f(binary)g(adder)g(that)g(adds)722
-1973 y(t)n(w)n(o)k(binary)g(n)n(um)n(b)r(ers,)h(whatev)n(er)f(their)g
-(lengths.)46 b(Use)31 b(this)g(to)f(mak)n(e)g(a)g(general)722
-2072 y(adder)d(tree)g(that)h(w)n(orks)e(for)h(an)n(y)g(size.)575
-2238 y(8.6)40 b(De\014ne)32 b(the)f(wiring)f(pattern)h
-Fp(riffle)d Fq(that)j(corresp)r(onds)e(to)i(the)g(p)r(erfect)g(sh)n
-(u\017e)722 2338 y(of)d(a)f(pac)n(k)g(of)g(cards.)575
-2504 y(8.7)40 b(De\014ne)28 b(the)g(wiring)f(pattern)h
-Fp(unriffle)c Fq(that)k(is)f(the)h(in)n(v)n(erse)f(of)g
-Fp(riffle)p Fq(.)575 2670 y(8.8)40 b(V)-7 b(erify)39
-b(that)f(the)h(sorter)e(de\014ned)h(in)h(this)g(c)n(hapter)e(w)n(orks)g
-(on)h(list)g(of)g(bits,)k(for)722 2770 y(sev)n(eral)36
-b(di\013eren)n(t)i(sizes.)67 b(Ho)n(w)37 b(do)h(y)n(ou)f(state)h(the)g
-(prop)r(ert)n(y?)66 b(Hin)n(t:)58 b(lo)r(ok)37 b(at)722
-2869 y(exercise)27 b(2.2.)575 3035 y(8.9)40 b(De\014ne)29
-b(a)g(comparator)d(that)j(w)n(orks)d(on)j(binary)f(n)n(um)n(b)r(ers)g
-(and)g(use)g(it)h(to)g(mak)n(e)e(a)722 3135 y(binary)g(n)n(um)n(b)r(er)
-g(sorter.)533 3301 y(8.10)40 b(If)32 b(y)n(ou)f(ha)n(v)n(e)f(a)h(pac)n
-(k)f(of)h(cards)g(of)g(size)g(2)2056 3271 y Fg(n)2132
-3301 y Fq(and)g(ri\017e)g(it)h(rep)r(eatedly)-7 b(,)32
-b(ho)n(w)f(man)n(y)722 3401 y(ri\017es)c(do)r(es)h(it)g(tak)n(e)f(b)r
-(efore)g(y)n(ou)g(are)f(bac)n(k)h(where)g(y)n(ou)g(started?)533
-3567 y(8.11)40 b(Consider)27 b(the)h(circuits)f Fp(two)42
-b(\(ilv)g(f\))27 b Fq(and)g Fp(ilv)42 b(\(two)g(f\))p
-Fq(.)36 b(Are)27 b(they)h(the)g(same)722 3666 y(or)f(not?)533
-3832 y(8.12)40 b(Ho)n(w)34 b(w)n(ould)h(y)n(ou)e(sho)n(w)h(\(using)h(p)
-r(encil)g(and)f(pap)r(er\))h(that)g(the)g(t)n(w)n(o)f(connection)722
-3932 y(patterns)27 b Fp(bfly)f Fq(and)i Fp(bfly1)e Fq(are)g(the)i
-(same?)533 4098 y(8.13)40 b(\(*\))g(Giv)n(e)g(an)g Fn(iter)l(ative)g
-Fq(rather)f(than)h(recursiv)n(e)e(description)i(of)g(the)g(butter\015y)
-722 4198 y(net)n(w)n(ork.)i(Hin)n(t:)f(think)30 b(of)g(the)g(n)n(um)n
-(b)r(er)f(of)h Fp(two)e Fq(and)i Fp(ilv)e Fq(com)n(binators)g(in)i(eac)
-n(h)722 4297 y(stac)n(k)d(of)g(basic)g(comp)r(onen)n(ts.)37
-b(Y)-7 b(ou)28 b(migh)n(t)f(\014nd)h(a)f(list)h(comprehension)f
-(useful.)533 4463 y(8.14)40 b(It)28 b(turns)g(out)g(that)f(for)h(t)n(w)
-n(o-input)f(t)n(w)n(o-output)g(comp)r(onen)n(ts)g(the)h(butter\015y)g
-(net-)722 4563 y(w)n(ork)37 b(is)h(also)g(the)g(same)g(as)g(the)g
-(so-called)f(sh)n(u\017e-exc)n(hange)g(net)n(w)n(ork,)i(whic)n(h)722
-4663 y(consists)d(of)h(a)f(sequence)g(of)g(iden)n(tical)h(blo)r(c)n
-(ks,)h(eac)n(h)e(of)g(whic)n(h)h(is)f Fp(riffle)41 b(->-)722
-4762 y(twoN)h(n)h(circ)p Fq(.)722 4895 y(Figure)22 b(out)g(ho)n(w)g
-(man)n(y)f(suc)n(h)h(columns)g(y)n(ou)f(need)i(\(assuming)e(that)i
-Fp(circ)d Fq(has)i(t)n(w)n(o)722 4995 y(inputs)37 b(and)f(t)n(w)n(o)g
-(outputs\).)63 b(De\014ne)37 b(the)g(sh)n(u\017e-exc)n(hange)d(net)n(w)
-n(ork)h(in)h(La)n(v)-5 b(a.)1905 5255 y(57)p eop
-%%Page: 58 59
-58 58 bop 722 523 a Fq(Chec)n(k)24 b(that)h(it)g(is)f(really)f(the)i
-(same)f(as)g(the)h(butter\015y)f(net)n(w)n(ork.)35 b(In)24
-b(what)h(circum-)722 623 y(stances)i(migh)n(t)h(a)f(circuit)g(designer)
-g(prefer)g(the)h(sh)n(u\017e-exc)n(hange)e(net)n(w)n(ork?)533
-789 y(8.15)40 b(W)-7 b(e)28 b(sa)n(w)e(that)h Fp(bfly)42
-b(n)h(swapl)25 b Fq(rev)n(erses)g(its)i(input)h(list.)37
-b(Can)27 b(y)n(ou)f(mak)n(e)g Fp(riffle)722 888 y Fq(b)n(y)e(plugging)f
-(a)g(t)n(w)n(o-input)h(t)n(w)n(o-output)f(wiring)g(comp)r(onen)n(t)h
-(in)n(to)f(a)h(butter\015y?)36 b(If)722 988 y(not,)28
-b(wh)n(y)f(not?)1905 5255 y(58)p eop
-%%Page: 59 60
-59 59 bop 515 1186 a Fo(Chapter)64 b(9)515 1641 y Fs(Syn)-6
-b(thesizing)76 b(La)-6 b(v)-13 b(a)77 b(Circuits)515
-2112 y Fq(In)36 b(this)g(c)n(hapter,)g(w)n(e)g(presen)n(t)f(a)g(n)n(um)
-n(b)r(er)g(of)h(examples)f(where)g(w)n(e)h(generate)e(a)h(La)n(v)-5
-b(a)515 2212 y(circuit)39 b(from)g(a)g(di\013eren)n(t)g(kind)g(of)h(sp)
-r(eci\014cation.)71 b(W)-7 b(e)40 b(assume)e(that)i(the)f(reader)f(is)
-515 2311 y(familiar)27 b(with)h(the)g(Hask)n(ell)f(programming)e
-(language)h([9)o(].)515 2624 y Fm(9.1)135 b(State)46
-b(Mac)l(hines)515 2845 y Fq(A)25 b(v)n(ery)f(common)g(w)n(a)n(y)g(of)h
-(sp)r(ecifying)g(a)f(sequen)n(tial)g(system)h(is)g(b)n(y)g
-(constructing)f(a)g Fn(state)515 2945 y(machine)p Fq(.)37
-b(A)26 b(state)f(mac)n(hine)g(consists)g(of)g(four)g(parts:)35
-b(a)25 b(set)h(of)f(states,)h(a)f(set)g(of)g(inputs,)515
-3044 y(a)h(set)i(of)f(initial)g(states)g(and)g(a)g(transition)f
-(function.)37 b(The)28 b(transition)e(function)i(maps)e(a)515
-3144 y(state)j(and)g(an)h(input)g(to)f(a)g(set)h(of)f(next)h(states.)42
-b(Usually)-7 b(,)30 b(w)n(e)f(dra)n(w)g(state)g(mac)n(hines)g(as)515
-3244 y(pictures.)36 b(An)28 b(example)g(of)f(a)g(state)h(mac)n(hine)f
-(is)g(pictured)h(in)g(\014gure)f(9.1.)515 3383 y(In)i(Hask)n(ell,)g
-(here)g(is)g(ho)n(w)g(w)n(e)g(migh)n(t)g(sp)r(ecify)g(a)g(datat)n(yp)r
-(e)g(for)g(represen)n(ting)f(state)h(ma-)515 3483 y(c)n(hines.)36
-b(W)-7 b(e)28 b(parametrize)e(o)n(v)n(er)g(the)i(t)n(yp)r(es)g(of)f
-(the)h(states)f(and)h(the)g(inputs.)602 3659 y Fp(data)42
-b(StateMachine)c(state)k(inp)689 3758 y(=)h(StateMachine)863
-3858 y({)h(states)215 b(::)43 b([state])863 3957 y(,)h(inputs)215
-b(::)43 b([inp])863 4057 y(,)h(initial)171 b(::)43 b([state])863
-4157 y(,)h(transition)39 b(::)k(state)e(->)i(inp)f(->)h([state])863
-4256 y(})515 4432 y Fq(Here)27 b(is)g(ho)n(w)g(w)n(e)h(can)f(describ)r
-(e)g(the)h(state)g(mac)n(hine)f(in)h(\014gure)e(9.1:)602
-4608 y Fp(theStateMachine)37 b(=)689 4707 y(StateMachine)776
-4807 y({)43 b(states)216 b(=)43 b(["A",)f("B",)f("C"])776
-4907 y(,)i(inputs)216 b(=)43 b(['a',)f('b'])776 5006
-y(,)h(initial)172 b(=)43 b(["A"])1905 5255 y Fq(59)p
-eop
-%%Page: 60 61
-60 60 bop 1382 1198 a @beginspecial 0 @llx 0 @lly 271
-@urx 182 @ury 1355 @rwi @setspecial
-%%BeginDocument: Pictures/statemachine.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--94.0 226.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
- /DrawEllipse {
-	/endangle exch def
-	/startangle exch def
-	/yrad exch def
-	/xrad exch def
-	/y exch def
-	/x exch def
-	/savematrix mtrx currentmatrix def
-	x y tr xrad yrad sc 0 0 1 startangle endangle arc
-	closepath
-	savematrix setmatrix
-	} def
-
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 4757 m -1000 -1000 l 7078 -1000 l 7078 4757 l cp clip
- 0.06000 0.06000 sc
-7.500 slw
-% Ellipse
-n 3000 2100 450 450 0 360 DrawEllipse gs col0 s gr
-
-% Ellipse
-n 5100 1200 450 450 0 360 DrawEllipse gs col0 s gr
-
-% Ellipse
-n 5400 3300 450 450 0 360 DrawEllipse gs col0 s gr
-
-% Polyline
-gs  clippath
-5766 2892 m 5708 2974 l 5709 2874 l 5667 3005 l 5724 3023 l cp
-clip
-n 5475 1425 m 5476 1426 l 5477 1429 l 5481 1435 l 5485 1444 l 5492 1457 l
- 5501 1473 l 5512 1494 l 5526 1518 l 5541 1547 l 5558 1579 l
- 5577 1614 l 5597 1651 l 5618 1690 l 5639 1731 l 5660 1773 l
- 5681 1814 l 5702 1856 l 5722 1896 l 5741 1936 l 5758 1974 l
- 5774 2010 l 5789 2045 l 5802 2078 l 5814 2110 l 5824 2140 l
- 5833 2169 l 5840 2197 l 5846 2224 l 5850 2250 l 5854 2280 l
- 5855 2311 l 5856 2342 l 5854 2374 l 5851 2408 l 5847 2443 l
- 5841 2480 l 5833 2519 l 5825 2559 l 5815 2601 l 5804 2643 l
- 5793 2686 l 5781 2729 l 5769 2771 l 5758 2811 l 5747 2848 l
- 5737 2882 l 5727 2912 l 5719 2938 l 5713 2959 l 5708 2975 l
- 5700 3000 l gs col0 s gr gr
-
-% arrowhead
-n 5766 2892 m 5708 2974 l 5709 2874 l 5745 2860 l 5766 2892 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4885 1759 m 4942 1675 l 4943 1776 l 4983 1644 l 4926 1627 l cp
-clip
-n 5025 2925 m 5024 2923 l 5022 2919 l 5019 2912 l 5013 2900 l 5005 2884 l
- 4996 2864 l 4984 2839 l 4971 2811 l 4956 2779 l 4940 2745 l
- 4924 2709 l 4907 2672 l 4891 2635 l 4876 2598 l 4862 2562 l
- 4848 2528 l 4837 2495 l 4827 2464 l 4818 2434 l 4811 2406 l
- 4806 2378 l 4802 2352 l 4800 2325 l 4799 2300 l 4799 2275 l
- 4801 2249 l 4804 2221 l 4808 2191 l 4813 2160 l 4819 2127 l
- 4827 2093 l 4835 2056 l 4845 2019 l 4855 1980 l 4865 1941 l
- 4876 1901 l 4887 1863 l 4898 1826 l 4908 1791 l 4917 1760 l
- 4925 1732 l 4932 1708 l 4938 1688 l 4943 1673 l 4950 1650 l gs col0 s gr gr
-
-% arrowhead
-n 4885 1759 m 4942 1675 l 4943 1776 l 4907 1791 l 4885 1759 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3333 1659 m 3244 1705 l 3291 1617 l 3193 1714 l 3236 1757 l cp
-clip
-n 4650 1050 m 4648 1050 l 4644 1051 l 4637 1051 l 4626 1052 l 4611 1054 l
- 4591 1056 l 4566 1059 l 4536 1062 l 4502 1066 l 4464 1071 l
- 4424 1075 l 4381 1081 l 4336 1086 l 4291 1092 l 4246 1098 l
- 4201 1105 l 4157 1112 l 4115 1119 l 4075 1126 l 4037 1134 l
- 4001 1141 l 3967 1150 l 3936 1158 l 3906 1168 l 3878 1178 l
- 3851 1188 l 3825 1200 l 3800 1213 l 3775 1226 l 3750 1242 l
- 3725 1258 l 3699 1277 l 3672 1297 l 3645 1319 l 3616 1343 l
- 3587 1369 l 3557 1396 l 3527 1424 l 3496 1454 l 3465 1484 l
- 3434 1514 l 3404 1543 l 3375 1572 l 3348 1600 l 3323 1625 l
- 3300 1648 l 3280 1668 l 3264 1685 l 3251 1698 l 3241 1709 l
- 3225 1725 l gs col0 s gr gr
-
-% arrowhead
-n 3333 1659 m 3244 1705 l 3291 1617 l 3329 1621 l 3333 1659 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4829 3414 m 4923 3448 l 4826 3474 l 4964 3481 l 4966 3421 l cp
-clip
-n 3150 2550 m 3151 2551 l 3153 2555 l 3156 2560 l 3161 2569 l 3169 2582 l
- 3179 2598 l 3192 2619 l 3207 2644 l 3224 2672 l 3244 2704 l
- 3266 2739 l 3289 2776 l 3314 2815 l 3340 2855 l 3367 2895 l
- 3394 2936 l 3422 2975 l 3449 3014 l 3477 3050 l 3504 3085 l
- 3531 3118 l 3558 3149 l 3585 3177 l 3611 3203 l 3638 3226 l
- 3665 3248 l 3692 3267 l 3721 3284 l 3750 3300 l 3777 3313 l
- 3805 3324 l 3836 3335 l 3868 3345 l 3902 3354 l 3938 3363 l
- 3977 3371 l 4019 3378 l 4062 3385 l 4109 3391 l 4157 3397 l
- 4208 3403 l 4260 3408 l 4314 3412 l 4369 3417 l 4425 3421 l
- 4480 3425 l 4535 3429 l 4588 3432 l 4640 3435 l 4689 3438 l
- 4734 3440 l 4776 3442 l 4813 3444 l 4846 3445 l 4874 3447 l
- 4897 3448 l 4915 3449 l 4929 3449 l 4950 3450 l gs col0 s gr gr
-
-% arrowhead
-n 4829 3414 m 4923 3448 l 4826 3474 l 4803 3443 l 4829 3414 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3495 2365 m 3401 2327 l 3500 2305 l 3363 2294 l 3358 2354 l cp
-clip
-n 4950 3075 m 4949 3074 l 4947 3071 l 4942 3065 l 4935 3056 l 4925 3044 l
- 4913 3029 l 4897 3009 l 4878 2986 l 4856 2960 l 4832 2931 l
- 4806 2900 l 4778 2867 l 4749 2832 l 4719 2798 l 4688 2764 l
- 4658 2730 l 4628 2698 l 4598 2667 l 4569 2637 l 4540 2610 l
- 4512 2585 l 4485 2562 l 4458 2541 l 4432 2522 l 4405 2504 l
- 4378 2489 l 4350 2475 l 4323 2463 l 4295 2452 l 4266 2442 l
- 4234 2432 l 4201 2423 l 4165 2415 l 4127 2407 l 4086 2400 l
- 4043 2393 l 3998 2386 l 3951 2380 l 3902 2374 l 3852 2368 l
- 3802 2363 l 3751 2357 l 3701 2353 l 3653 2348 l 3607 2344 l
- 3564 2340 l 3525 2337 l 3490 2334 l 3460 2332 l 3434 2330 l
- 3414 2328 l 3399 2327 l 3375 2325 l gs col0 s gr gr
-
-% arrowhead
-n 3495 2365 m 3401 2327 l 3500 2305 l 3521 2337 l 3495 2365 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4611 1554 m 4704 1516 l 4648 1601 l 4756 1514 l 4718 1467 l cp
-clip
-n 3450 2025 m 3452 2025 l 3456 2024 l 3464 2023 l 3477 2021 l 3494 2019 l
- 3516 2015 l 3543 2011 l 3575 2006 l 3611 2001 l 3651 1995 l
- 3693 1988 l 3736 1981 l 3781 1974 l 3825 1966 l 3869 1959 l
- 3911 1951 l 3952 1943 l 3990 1935 l 4026 1927 l 4060 1919 l
- 4092 1911 l 4121 1903 l 4149 1894 l 4175 1885 l 4200 1875 l
- 4226 1864 l 4252 1851 l 4278 1837 l 4305 1822 l 4332 1805 l
- 4360 1787 l 4389 1767 l 4419 1745 l 4449 1722 l 4481 1698 l
- 4512 1674 l 4544 1649 l 4574 1624 l 4603 1601 l 4630 1579 l
- 4654 1559 l 4674 1542 l 4691 1528 l 4704 1517 l 4725 1500 l gs col0 s gr gr
-
-% arrowhead
-n 4611 1554 m 4704 1516 l 4648 1601 l 4611 1592 l 4611 1554 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2461 1935 m 2527 2010 l 2430 1986 l 2547 2058 l 2579 2007 l cp
-clip
-n 2175 1950 m 2178 1950 l 2186 1949 l 2198 1949 l 2216 1948 l 2237 1947 l
- 2261 1946 l 2286 1945 l 2310 1945 l 2333 1945 l 2353 1945 l
- 2371 1946 l 2386 1948 l 2400 1950 l 2415 1954 l 2430 1959 l
- 2446 1966 l 2463 1974 l 2481 1984 l 2499 1994 l 2516 2004 l
- 2550 2025 l gs col0 s gr gr
-
-% arrowhead
-n 2461 1935 m 2527 2010 l 2430 1986 l 2425 1948 l 2461 1935 l  cp gs 0.00 setgray ef gr  col0 s
-/Courier ff 270.00 scf sf
-5025 1275 m
-gs 1 -1 sc (B) col0 sh gr
-/Courier ff 270.00 scf sf
-2925 2175 m
-gs 1 -1 sc (A) col0 sh gr
-/Courier ff 270.00 scf sf
-5325 3375 m
-gs 1 -1 sc (C) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3600 1200 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5925 2175 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4875 2325 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4125 2700 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-3600 3525 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-4050 1800 m
-gs 1 -1 sc (b) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-1575 2100 m
-gs 1 -1 sc (start) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 1158 1381 a Fq(Figure)27 b(9.1:)36 b(An)28
-b(example)g(of)f(a)g(state)h(mac)n(hine.)1170 2576 y
-@beginspecial 0 @llx 0 @lly 373 @urx 259 @ury 1865 @rwi
-@setspecial
-%%BeginDocument: Pictures/statecircuit.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--89.0 312.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 6187 m -1000 -1000 l 8698 -1000 l 8698 6187 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-gs  clippath
-2877 4470 m 2973 4500 l 2877 4530 l 3015 4530 l 3015 4470 l cp
-clip
-n 5400 1800 m 5400 2025 l 2400 2025 l 2400 4500 l 3000 4500 l gs col0 s gr gr
-
-% arrowhead
-n 2877 4470 m 2973 4500 l 2877 4530 l 2853 4500 l 2877 4470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 2670 m 2973 2700 l 2877 2730 l 3015 2730 l 3015 2670 l cp
-clip
-n 6000 1800 m 6000 2175 l 2700 2175 l 2700 2700 l 3000 2700 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2670 m 2973 2700 l 2877 2730 l 2853 2700 l 2877 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 1170 m 2973 1200 l 2877 1230 l 3015 1230 l 3015 1170 l cp
-clip
-n 2325 3525 m 2100 3525 l 2100 1200 l 3000 1200 l gs col0 s gr gr
-
-% arrowhead
-n 2877 1170 m 2973 1200 l 2877 1230 l 2853 1200 l 2877 1170 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 4170 m 2973 4200 l 2877 4230 l 3015 4230 l 3015 4170 l cp
-clip
-n 6000 3300 m 6000 3675 l 2700 3675 l 2700 4200 l 3000 4200 l gs col0 s gr gr
-
-% arrowhead
-n 2877 4170 m 2973 4200 l 2877 4230 l 2853 4200 l 2877 4170 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 2970 m 2973 3000 l 2877 3030 l 3015 3030 l 3015 2970 l cp
-clip
-n 2475 3000 m 3000 3000 l gs col0 s gr gr
-
-% arrowhead
-n 2877 2970 m 2973 3000 l 2877 3030 l 2853 3000 l 2877 2970 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-2877 1470 m 2973 1500 l 2877 1530 l 3015 1530 l 3015 1470 l cp
-clip
-n 2175 1500 m 3000 1500 l gs col0 s gr gr
-
-% arrowhead
-n 2877 1470 m 2973 1500 l 2877 1530 l 2853 1500 l 2877 1470 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 5400 3300 m 5400 3525 l 2475 3525 l gs col0 s gr 
-% Polyline
-n 2175 3000 m 2325 3000 l gs col0 s gr 
-% Polyline
-n 5400 4800 m 5400 5025 l 1800 5025 l 1800 3000 l 2025 3000 l gs col0 s gr 
-% Polyline
-n 6000 4800 m 6000 5175 l 1500 5175 l 1500 1500 l 2025 1500 l gs col0 s gr 
-% Polyline
-n 3000 3900 m 6300 3900 l 6300 4800 l 3000 4800 l cp gs col0 s gr 
-% Polyline
-n 3000 2400 m 6300 2400 l 6300 3300 l 3000 3300 l cp gs col0 s gr 
-% Polyline
-n 3000 900 m 6300 900 l 6300 1800 l 3000 1800 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-6777 1320 m 6873 1350 l 6777 1380 l 6915 1380 l 6915 1320 l cp
-clip
-n 6300 1350 m 6900 1350 l gs col0 s gr gr
-
-% arrowhead
-n 6777 1320 m 6873 1350 l 6777 1380 l 6753 1350 l 6777 1320 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6777 2820 m 6873 2850 l 6777 2880 l 6915 2880 l 6915 2820 l cp
-clip
-n 6300 2850 m 6900 2850 l gs col0 s gr gr
-
-% arrowhead
-n 6777 2820 m 6873 2850 l 6777 2880 l 6753 2850 l 6777 2820 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6777 4320 m 6873 4350 l 6777 4380 l 6915 4380 l 6915 4320 l cp
-clip
-n 6300 4350 m 6900 4350 l gs col0 s gr gr
-
-% arrowhead
-n 6777 4320 m 6873 4350 l 6777 4380 l 6753 4350 l 6777 4320 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-5325 4650 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5325 3150 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5325 1650 m
-gs 1 -1 sc (a) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5925 1650 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5925 3150 m
-gs 1 -1 sc (b) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5925 4650 m
-gs 1 -1 sc (b) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 1425 m
-gs 1 -1 sc (A) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 2925 m
-gs 1 -1 sc (B) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 4425 m
-gs 1 -1 sc (C) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6975 1425 m
-gs 1 -1 sc (active) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6975 2925 m
-gs 1 -1 sc (active) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6975 4425 m
-gs 1 -1 sc (active) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-5400 1425 m
-gs 1 -1 sc (when) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-5400 2925 m
-gs 1 -1 sc (when) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-5400 4425 m
-gs 1 -1 sc (when) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 677 2759 a(Figure)f(9.2:)36 b(A)28 b(sc)n(hematic)f
-(translation)f(of)i(the)g(state)f(mac)n(hine)g(of)h(\014gure)f(9.1.)776
-3024 y Fp(,)43 b(transition)d(=)j(\\state)e(inp)h(->)1517
-3123 y([)h(next)f(|)h(\(state',)e(inp',)g(next\))h(<-)2040
-3223 y([)h(\("A",)f('a',)g("C"\))2040 3323 y(,)h(\("A",)f('b',)g("A"\))
-2040 3422 y(,)h(...)2040 3522 y(])1822 3622 y(,)g(state)f(==)h(state')
-1822 3721 y(,)g(inp)g(==)g(inp')1822 3821 y(])776 3920
-y(})515 4106 y Fq(Note)31 b(that)g(the)g(somewhat)f(clumsy)h
-(de\014nition)g(of)g(the)g(transition)f(function)h(w)n(ould)g(b)r(e)515
-4206 y(easier)26 b(in)i(an)f(application)g(where)g(the)h(states)f(and)h
-(inputs)g(actually)f Fn(me)l(an)h Fq(something.)515 4346
-y(Giv)n(en)38 b(a)h(sp)r(eci\014cation)f(in)h(terms)g(of)f(a)h(state)f
-(mac)n(hine,)j(w)n(e)e(w)n(ould)f(lik)n(e)h(to)f(b)r(e)h(able)515
-4445 y(to)34 b(translate)g(in)h(in)n(to)f(a)g(circuit.)58
-b(One)35 b(reason)e(for)h(this)h(migh)n(t)f(b)r(e)h(b)r(ecause)f(w)n(e)
-h(w)n(an)n(t)515 4545 y(a)i(protot)n(yp)r(e)f(implemen)n(tation)h(of)h
-(the)f(state)g(mac)n(hine.)66 b(Another)37 b(reason)e(migh)n(t)j(b)r(e)
-515 4644 y(b)r(ecause)29 b(w)n(e)h(w)n(an)n(t)g(to)g(v)n(erify)f(that)i
-(a)e(giv)n(en)h(circuit)g(implemen)n(tation)g(is)g(equiv)-5
-b(alen)n(t)30 b(to)515 4744 y(the)e(translated)e(v)n(ersion.)515
-4883 y(One)20 b(metho)r(d)h(of)f(translating)g(a)g(state)g(mac)n(hine)g
-(in)n(to)g(a)g(circuit)h(is)f(pictured)h(in)f(\014gures)g(9.2)515
-4983 y(and)k(9.3.)35 b(The)24 b(idea)g(is)g(that)h(ev)n(ery)e(state)h
-(in)g(the)h(state)f(mac)n(hine)g(maps)f(to)i(a)e(comp)r(onen)n(t)1905
-5255 y(60)p eop
-%%Page: 61 62
-61 61 bop 1030 1094 a @beginspecial 0 @llx 0 @lly 440
-@urx 157 @ury 2200 @rwi @setspecial
-%%BeginDocument: Pictures/component.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--4.0 410.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 7825 m -1000 -1000 l 8398 -1000 l 8398 7825 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-gs  clippath
-4980 5277 m 4950 5373 l 4920 5277 l 4920 5415 l 4980 5415 l cp
-clip
-n 4950 4500 m 4950 5400 l gs col0 s gr gr
-
-% arrowhead
-n 4980 5277 m 4950 5373 l 4920 5277 l 4950 5253 l 4980 5277 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 4500 5400 m 5100 5400 l 5100 6000 l 4500 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-4680 5277 m 4650 5373 l 4620 5277 l 4620 5415 l 4680 5415 l cp
-clip
-n 4650 5100 m 4650 5400 l gs col0 s gr gr
-
-% arrowhead
-n 4680 5277 m 4650 5373 l 4620 5277 l 4650 5253 l 4680 5277 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4830 6477 m 4800 6573 l 4770 6477 l 4770 6615 l 4830 6615 l cp
-clip
-n 4800 6000 m 4800 6600 l gs col0 s gr gr
-
-% arrowhead
-n 4830 6477 m 4800 6573 l 4770 6477 l 4800 6453 l 4830 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 3000 4650 m 3900 4650 l 3900 5550 l 3000 5550 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2877 5070 m 2973 5100 l 2877 5130 l 3015 5130 l 3015 5070 l cp
-clip
-n 2400 5100 m 3000 5100 l gs col0 s gr gr
-
-% arrowhead
-n 2877 5070 m 2973 5100 l 2877 5130 l 2853 5100 l 2877 5070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 1500 4650 m 2400 4650 l 2400 5550 l 1500 5550 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-5880 5277 m 5850 5373 l 5820 5277 l 5820 5415 l 5880 5415 l cp
-clip
-n 5850 4500 m 5850 5400 l gs col0 s gr gr
-
-% arrowhead
-n 5880 5277 m 5850 5373 l 5820 5277 l 5850 5253 l 5880 5277 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 5400 5400 m 6000 5400 l 6000 6000 l 5400 6000 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-5730 6477 m 5700 6573 l 5670 6477 l 5670 6615 l 5730 6615 l cp
-clip
-n 5700 6000 m 5700 6600 l gs col0 s gr gr
-
-% arrowhead
-n 5730 6477 m 5700 6573 l 5670 6477 l 5700 6453 l 5730 6477 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-n 3900 5100 m 4875 5100 l gs col0 s gr 
-% Polyline
-n 5025 5100 m 5775 5100 l gs col0 s gr 
-% Polyline
-gs  clippath
-5580 5277 m 5550 5373 l 5520 5277 l 5520 5415 l 5580 5415 l cp
-clip
-n 5550 5100 m 5550 5400 l gs col0 s gr gr
-
-% arrowhead
-n 5580 5277 m 5550 5373 l 5520 5277 l 5550 5253 l 5580 5277 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-6477 5070 m 6573 5100 l 6477 5130 l 6615 5130 l 6615 5070 l cp
-clip
-n 5925 5100 m 6600 5100 l gs col0 s gr gr
-
-% arrowhead
-n 6477 5070 m 6573 5100 l 6477 5130 l 6453 5100 l 6477 5070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1377 4845 m 1473 4875 l 1377 4905 l 1515 4905 l 1515 4845 l cp
-clip
-n 900 4875 m 1500 4875 l gs col0 s gr gr
-
-% arrowhead
-n 1377 4845 m 1473 4875 l 1377 4905 l 1353 4875 l 1377 4845 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-1377 5295 m 1473 5325 l 1377 5355 l 1515 5355 l 1515 5295 l cp
-clip
-n 900 5325 m 1500 5325 l gs col0 s gr gr
-
-% arrowhead
-n 1377 5295 m 1473 5325 l 1377 5355 l 1353 5325 l 1377 5295 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-4875 4425 m
-gs 1 -1 sc (a) col0 sh gr
-/Courier ff 270.00 scf sf
-4575 5775 m
-gs 1 -1 sc (AND) col0 sh gr
-/Courier ff 270.00 scf sf
-3375 5175 m
-gs 1 -1 sc (D) col0 sh gr
-/Courier ff 270.00 scf sf
-1800 5175 m
-gs 1 -1 sc (OR) col0 sh gr
-/Helvetica ff 270.00 scf sf
-5775 4425 m
-gs 1 -1 sc (b) col0 sh gr
-/Courier ff 270.00 scf sf
-5475 5775 m
-gs 1 -1 sc (AND) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-5025 6825 m
-gs 1 -1 sc (emits) col0 sh gr
-/Helvetica ff 270.00 scf sf
-6675 5175 m
-gs 1 -1 sc (active) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-75 5175 m
-gs 1 -1 sc (activate) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 628 1277 a Fq(Figure)27 b(9.3:)36 b(A)28
-b(more)f(detailed)g(view)h(of)f(the)h(comp)r(onen)n(t)g(b)r(elonging)e
-(to)i(a)f(state.)515 1541 y(in)35 b(the)g(circuit.)59
-b(The)35 b(comp)r(onen)n(t)g(has)g(a)f(dela)n(y)g(elemen)n(t)i(that)f
-(k)n(eeps)f(trac)n(k)g(of)h(if)g(w)n(e)515 1640 y(are)k(in)h(that)h
-(state.)74 b(The)41 b(comp)r(onen)n(t)f(receiv)n(es)e(messages)h(from)h
-(other)f(comp)r(onen)n(t)515 1740 y(that)e(activ)-5 b(ate)36
-b(it,)k(and,)f(dep)r(ending)e(on)f(the)h(inputs,)j(also)c(sends)g
-(messages)f(to)i(other)515 1840 y(comp)r(onen)n(ts)27
-b(activ)-5 b(ating)27 b(them.)515 1979 y(An)j(adv)-5
-b(an)n(tage)28 b(of)h(this)h(translation)e(metho)r(d)i(is)g(that)f(w)n
-(e)h(can)f(b)r(e)h(in)f(sev)n(eral)f(states)h(at)515
-2079 y(the)k(same)f(time,)i(allo)n(wing)d(for)h(non-deterministic)g
-(execution)h(of)f(our)g(state)g(mac)n(hine.)515 2178
-y(A)g(disadv)-5 b(an)n(tage)30 b(is)h(that,)i(ev)n(en)e(when)h(our)f
-(state)g(mac)n(hine)g(is)h(deterministic,)h(w)n(e)e(still)515
-2278 y(ha)n(v)n(e)26 b(one)h(dela)n(y)g(comp)r(onen)n(t)g(p)r(er)h
-(state,)f(whic)n(h)h(is)f(often)h(to)r(o)g(m)n(uc)n(h.)515
-2418 y(The)e(t)n(yp)r(e)g(of)g(circuits)f(w)n(e)h(are)e(translating)h
-(state)h(mac)n(hines)f(to)h(is)g(a)f(circuit)h(from)f(input)515
-2517 y(signals)h(to)i(a)f(list)h(of)f(indicators)g(for)g(eac)n(h)g
-(state.)602 2702 y Fp(type)42 b(StateCircuit)689 2802
-y(=)h([Signal)e(Bool])g(->)i([Signal)e(Bool])515 2986
-y Fq(F)-7 b(rom)24 b(these)g(t)n(w)n(o)g(t)n(yp)r(e,)h(w)n(e)f(can)g
-(declare)g(the)h(t)n(yp)r(e)f(of)h(our)e(translation)g(function,)j
-(whic)n(h)515 3086 y(tak)n(es)g(a)i(state)f(mac)n(hine)g(in)n(to)g(a)h
-(state)f(circuit.)602 3271 y Fp(stateMachine)39 b(::)j(\(Eq)h(inp,)f
-(Eq)g(state\))1169 3370 y(=>)g(StateMachine)d(state)i(inp)i(->)g
-(StateCircuit)602 3470 y(stateMachine)c(machine)h(inSignals)g(=)j
-(outSignals)689 3570 y(where)776 3669 y(...)515 3854
-y Fq(First,)d(w)n(e)e(de\014ne)g(the)g(function)g Fp(inSignal)d
-Fq(whic)n(h)j(maps)f(an)h(input)h(from)e(the)h(state)515
-3954 y(mac)n(hine)27 b(to)g(the)h(corresp)r(onding)e(signal)h(wire.)776
-4139 y Fp(inSignal)41 b(input)g(=)863 4238 y(head)h([)i(sig)1081
-4338 y(|)g(\(input',sig\))38 b(<-)43 b(inputs)e(machine)g(`zip`)g
-(inSignals)1081 4437 y(,)j(input)d(==)i(input')1081 4537
-y(])515 4722 y Fq(Then,)26 b(w)n(e)f(create)f(a)h(list)h(of)f(the)h
-(comp)r(onen)n(ts,)f(whic)n(h)h(w)n(e)f(use)g(as)g(a)g(lo)r(okup)g
-(table)g(in)h(the)515 4821 y(rest)h(of)g(the)h(translation.)776
-5006 y Fp(components)40 b(=)1905 5255 y Fq(61)p eop
-%%Page: 62 63
-62 62 bop 863 523 a Fp([)44 b(component)39 b(state)863
-623 y(|)44 b(state)d(<-)i(states)e(machine)863 722 y(])515
-885 y Fq(A)d(comp)r(onen)n(t)g(for)f(a)h(certain)f(state)h(consists)f
-(of)g(a)h(pair)f Fp(\(active,)j(emits\))p Fq(,)f(where)515
-985 y Fp(active)24 b Fq(is)j(the)g(indicator)f(signal)g(for)h(the)g
-(state,)g(and)g Fp(emits)e Fq(is)h(a)h(lo)r(okup)f(table,)h(repre-)515
-1084 y(sen)n(ting)g(what)g(signal)g(to)h(send)f(to)h(what)f(state.)776
-1247 y Fp(component)40 b(state)i(=)h(\(active,)d(emits\))863
-1347 y(where)951 1446 y(init)129 b(=)43 b(state)e(`elem`)g(initial)g
-(machine)951 1546 y(active)g(=)i(delay)e(\(bool)h(init\))f
-(\(activating)e(state\))951 1745 y(emits)85 b(=)1038
-1845 y([)43 b(\()g(state')1125 1944 y(,)g(and2)f(\(active,)e(inSignal)h
-(input\))1125 2044 y(\))1038 2144 y(|)i(input)85 b(<-)43
-b(inputs)e(machine)1038 2243 y(,)i(state')e(<-)i(transition)c(machine)i
-(state)g(input)1038 2343 y(])515 2506 y Fq(The)34 b(declaration)f(of)i
-Fp(active)d Fq(uses)i(one)g(dela)n(y)g(comp)r(onen)n(t,)i(whose)e
-(initial)h(v)-5 b(alue)34 b(de-)515 2605 y(p)r(ends)27
-b(on)g(this)g(state)f(b)r(eing)h(an)g(initial)g(state)g(or)f(not,)h
-(and)g(whose)f(next)h(v)-5 b(alue)27 b(dep)r(ends)515
-2705 y(on)39 b(the)i(signals)e(the)h(other)g(comp)r(onen)n(ts)f(are)g
-(sending)h(to)g(it)g(\(computed)h(using)f(the)515 2804
-y(function)28 b Fp(activating)p Fq(\).)515 2944 y(The)37
-b(list)g Fp(emits)e Fq(is)h(constructed)h(as)f(follo)n(ws.)64
-b(F)-7 b(or)36 b(ev)n(ery)f(input)j(signal,)g(w)n(e)f(use)g(the)515
-3044 y(transition)31 b(function)h(to)f(c)n(hec)n(k)g(what)g(next)h
-(states)f(w)n(e)h(ha)n(v)n(e.)47 b(W)-7 b(e)32 b(then)g(send)g(a)f
-(signal)515 3143 y(to)e(the)h(comp)r(onen)n(t)f(of)g(state)g(if)h(and)g
-(only)f(if)h(w)n(e)f(are)f(activ)n(e,)h(and)g(w)n(e)g(ha)n(v)n(e)g
-(that)g(input)515 3243 y(as)e(an)g(incoming)g(signal.)515
-3382 y(Here)g(is)g(ho)n(w)g(w)n(e)h(de\014ne)g(the)f(function)i
-Fp(activating)p Fq(.)776 3545 y Fp(activating)40 b(state)h(=)863
-3645 y(orl)i([)g(activate)1038 3744 y(|)g(\(_,)f(emits\))390
-b(<-)43 b(components)1038 3844 y(,)g(\(state',)d(activate\))g(<-)j
-(emits)1038 3944 y(,)g(state)e(==)i(state')1038 4043
-y(])515 4206 y Fq(F)-7 b(or)30 b(all)g(comp)r(onen)n(ts,)h(w)n(e)f(lo)r
-(ok)g(at)h(what)f(messages)f(it)i(w)n(an)n(ts)f(to)h(send,)g(and)f
-(\014lter)h(out)515 4306 y(the)d(signals)e(going)h(to)g(the)h(righ)n(t)
-f(state.)37 b(Then,)27 b(w)n(e)h(tak)n(e)f(the)g(or)g(of)h(all)f(these)
-h(signals.)515 4445 y(Finally)-7 b(,)30 b(w)n(e)g(can)g(create)f(the)h
-(list)h(of)f(state)f(indicators,)h(b)n(y)g(taking)f(the)i(\014rst)f
-(output)g(of)515 4545 y(the)e(comp)r(onen)n(ts.)776 4707
-y Fp(outSignals)40 b(=)863 4807 y([)k(active)863 4907
-y(|)g(\(active,)c(_\))j(<-)f(components)863 5006 y(])1905
-5255 y Fq(62)p eop
-%%Page: 63 64
-63 63 bop 515 523 a Fq(Here)27 b(is)g(ho)n(w)g(w)n(e)h(can)f(mak)n(e)g
-(the)h(circuit)f(for)g(the)h(state)g(mac)n(hine)f(w)n(e)g(sp)r
-(eci\014ed)h(earlier.)602 689 y Fp(theCircuit)39 b(\(a,)k(b\))f(=)i
-(\(inA,)d(inB,)h(inC\))689 789 y(where)776 889 y([inA,)g(inB,)g(inC])g
-(=)863 988 y(stateMachine)d(theStateMachine)e([a,)43
-b(b])515 1298 y Fm(9.2)135 b(Beha)l(vioral)47 b(Descriptions)515
-1520 y Fq(Another)22 b(w)n(a)n(y)f(of)h(sp)r(ecifying)h(the)g(b)r(eha)n
-(vior)e(of)h(a)g(circuit)g(is)h(b)n(y)f(a)g Fn(b)l(ehavior)l(al)27
-b(description)515 1620 y(language)p Fq(.)47 b(Examples)30
-b(of)g(these)h(kind)g(of)g(languages)e(are)g(b)r(eha)n(vioral)g(VHDL,)j
-(V)-7 b(erilog,)515 1719 y(Esterel,)42 b(etc.)75 b(The)40
-b(idea)g(is)g(to)g(write)f(a)h(program)e(in)j(suc)n(h)e(a)h(language,)i
-(and)e(then)515 1819 y(transform)26 b(the)i(program)e(to)h(a)g(circuit)
-h(with)g(the)g(same)f(b)r(eha)n(vior.)515 1958 y(W)-7
-b(e)32 b(sho)n(w)e(ho)n(w)h(to)g(compile)h(programs)d(in)j(a)f(v)n(ery)
-f(simple)h(description)g(language)f(to)h(a)515 2058 y(circuit.)56
-b(W)-7 b(e)35 b(call)f(the)g(language)f Fn(Pac)l(e)p
-Fq(.)57 b(Here)34 b(is)g(a)g(Hask)n(ell)f(datat)n(yp)r(e)h(respresen)n
-(ting)515 2158 y(P)n(ace)26 b(programs:)602 2324 y Fp(data)42
-b(Pace)g(out)689 2423 y(=)h(Skip)689 2523 y(|)g(Emit)f(out)689
-2623 y(|)h(Wait)689 2722 y(|)g(IfThenElse)d(\(Signal)g(Bool\))i(\(Pace)
-f(out,)h(Pace)g(out\))689 2822 y(|)h(While)f(\(Signal)e(Bool\))i
-(\(Pace)f(out\))689 2922 y(|)i(Pace)f(out)h(:>>)f(Pace)g(out)689
-3021 y(|)h(Pace)f(out)h(:||)f(Pace)g(out)515 3187 y Fq(A)29
-b(P)n(ace)f(program)f(can)i(send)g(out)g(messages)e(of)i(t)n(yp)r(e)g
-Fp(out)p Fq(.)40 b(Running)30 b(a)e(P)n(ace)g(program)515
-3287 y(tak)n(es)18 b(a)g(n)n(um)n(b)r(er)g(of)h(clo)r(c)n(k)f(cycles.)
-33 b(Here)19 b(is)f(the)i(informal)e(seman)n(tics)g(of)g(P)n(ace)g
-(constructs:)639 3485 y Fi(\017)41 b Fp(Skip)p Fq(:)49
-b(This)35 b(program)d(do)r(es)j(not)f(send)h(an)n(y)e(messages,)i(and)f
-(tak)n(es)g(no)g(time)h(to)722 3585 y(execute.)639 3741
-y Fi(\017)41 b Fp(Emit)h(msg)p Fq(:)k(This)33 b(program)d(sends)j(out)f
-(the)h(message)e Fp(msg)p Fq(,)i(and)g(tak)n(es)e(no)i(time)722
-3840 y(to)28 b(execute.)639 3996 y Fi(\017)41 b Fp(Wait)p
-Fq(:)d(This)28 b(program)f(do)r(es)h(not)h(send)f(an)n(y)g(messages,)f
-(and)i(tak)n(es)e(1)i(clo)r(c)n(k)e(cycle)722 4096 y(to)h(execute.)639
-4252 y Fi(\017)41 b Fp(IfThenElse)f(cond)i(\(p1,)g(p2\))p
-Fq(:)49 b(If)36 b(the)f(signal)e Fp(cond)g Fq(is)i(high,)h(it)f
-(executes)g Fp(p1)p Fq(,)722 4352 y(and)c(sends)g(the)g(messages)f
-Fp(p1)g Fq(sends,)i(and)e(tak)n(es)h(as)f(long)g(time)i(as)e
-Fp(p1)g Fq(tak)n(es.)47 b(If)722 4452 y Fp(cond)26 b
-Fq(is)i(lo)n(w,)f(the)h(same,)f(but)h(for)f Fp(p2)p Fq(.)639
-4608 y Fi(\017)41 b Fp(While)h(cond)g(p)p Fq(:)34 b(If)24
-b Fp(cond)d Fq(is)i(high,)h(then)g(it)f(executes)g Fp(p)p
-Fq(,)h(and)e(sends)h(the)h(messages)722 4707 y Fp(p)29
-b Fq(sends,)h(w)n(aits)f(for)g(the)h(amoun)n(t)f(of)g(time)h
-Fp(p)g Fq(tak)n(es)e(to)h(\014nish,)i(and)e(then)h(tries)f(to)722
-4807 y(execute)g(the)h(program)d(again.)41 b(If)30 b
-Fp(cond)e Fq(is)h(lo)n(w,)g(it)h(\014nishes)f(righ)n(t)f(a)n(w)n(a)n(y)
-g(without)722 4907 y(sending)g(an)n(y)g(messages.)37
-b(F)-7 b(or)27 b(this)i(program)d(to)i(b)r(e)g(v)-5 b(alid,)29
-b Fp(p)f Fq(m)n(ust)g(at)g(least)g(tak)n(e)722 5006 y(one)f(clo)r(c)n
-(k)g(cycle)h(to)f(execute)h(if)g Fp(cond)e Fq(is)h(high.)1905
-5255 y(63)p eop
-%%Page: 64 65
-64 64 bop 1570 1315 a @beginspecial 0 @llx 0 @lly 181
-@urx 210 @ury 905 @rwi @setspecial
-%%BeginDocument: Pictures/flashcircuit.eps
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--107.0 248.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add
-  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
-  bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-  4 -2 roll mul srgb} bind def
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5125 m -1000 -1000 l 5800 -1000 l 5800 5125 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 1800 1500 m 3900 1500 l 3900 3300 l 1800 3300 l cp gs col0 s gr 
-% Polyline
-gs  clippath
-2130 1377 m 2100 1473 l 2070 1377 l 2070 1515 l 2130 1515 l cp
-clip
-n 2100 900 m 2100 1500 l gs col0 s gr gr
-
-% arrowhead
-n 2130 1377 m 2100 1473 l 2070 1377 l 2100 1353 l 2130 1377 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-3630 3777 m 3600 3873 l 3570 3777 l 3570 3915 l 3630 3915 l cp
-clip
-n 3600 3300 m 3600 3900 l gs col0 s gr gr
-
-% arrowhead
-n 3630 3777 m 3600 3873 l 3570 3777 l 3600 3753 l 3630 3777 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 1770 m 4473 1800 l 4377 1830 l 4515 1830 l 4515 1770 l cp
-clip
-n 3900 1800 m 4500 1800 l gs col0 s gr gr
-
-% arrowhead
-n 4377 1770 m 4473 1800 l 4377 1830 l 4353 1800 l 4377 1770 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 2070 m 4473 2100 l 4377 2130 l 4515 2130 l 4515 2070 l cp
-clip
-n 3900 2100 m 4500 2100 l gs col0 s gr gr
-
-% arrowhead
-n 4377 2070 m 4473 2100 l 4377 2130 l 4353 2100 l 4377 2070 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 2370 m 4473 2400 l 4377 2430 l 4515 2430 l 4515 2370 l cp
-clip
-n 3900 2400 m 4500 2400 l gs col0 s gr gr
-
-% arrowhead
-n 4377 2370 m 4473 2400 l 4377 2430 l 4353 2400 l 4377 2370 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 2670 m 4473 2700 l 4377 2730 l 4515 2730 l 4515 2670 l cp
-clip
-n 3900 2700 m 4500 2700 l gs col0 s gr gr
-
-% arrowhead
-n 4377 2670 m 4473 2700 l 4377 2730 l 4353 2700 l 4377 2670 l  cp gs 0.00 setgray ef gr  col0 s
-% Polyline
-gs  clippath
-4377 2970 m 4473 3000 l 4377 3030 l 4515 3030 l 4515 2970 l cp
-clip
-n 3900 3000 m 4500 3000 l gs col0 s gr gr
-
-% arrowhead
-n 4377 2970 m 4473 3000 l 4377 3030 l 4353 3000 l 4377 2970 l  cp gs 0.00 setgray ef gr  col0 s
-/Helvetica ff 270.00 scf sf
-3300 4125 m
-gs 1 -1 sc (finish) col0 sh gr
-/Helvetica ff 270.00 scf sf
-1875 825 m
-gs 1 -1 sc (start) col0 sh gr
-/Times-Italic ff 270.00 scf sf
-4800 2700 m
-gs 1 -1 sc  90.0 rot (emits) col0 sh gr
-$F2psEnd
-rs
-%%EndDocument
- @endspecial 788 1498 a Fq(Figure)27 b(9.4:)36 b(The)28
-b(shap)r(e)f(of)h(a)f(circuit)g(represen)n(ting)f(a)i(P)n(ace)e
-(program.)639 1763 y Fi(\017)41 b Fp(p1)i(:>>)f(p2)p
-Fq(:)e(\()p Fn(se)l(quential)33 b(c)l(omp)l(osition)p
-Fq(\))e(The)f(program)d(executes)i Fp(p1)p Fq(,)h(w)n(aits)f(for)722
-1863 y(the)f(time)g(it)g(tak)n(es)f(to)h(\014nish,)f(and)h(then)g
-(executes)f Fp(p2)p Fq(.)639 2029 y Fi(\017)41 b Fp(p1)i(:||)f(p2)p
-Fq(:)57 b(\()p Fn(p)l(ar)l(al)t(lel)42 b(c)l(omp)l(osition)p
-Fq(\))d(The)f(program)e(executes)i Fp(p1)f Fq(and)h Fp(p2)f
-Fq(in)722 2128 y(parallel,)27 b(w)n(aiting)g(for)g(b)r(oth)h(to)f
-(\014nish)h(un)n(til)g(it)g(\014nishes.)515 2351 y(Here)f(is)g(an)h
-(example)f(of)h(a)f(P)n(ace)f(program,)f(where)j(w)n(e)f(describ)r(e)g
-(a)g(toggle:)602 2537 y Fp(togglePace)39 b(change)i(=)689
-2636 y(While)h(high)776 2736 y(\()h(While)f(\(inv)g(change\))951
-2836 y(\()h(Wait)951 2935 y(\))689 3035 y(:>>)f(Emit)g(\(\))689
-3134 y(:>>)g(Wait)689 3234 y(:>>)g(While)g(\(inv)g(change\))951
-3334 y(\()h(Emit)f(\(\))863 3433 y(:>>)h(Wait)951 3533
-y(\))689 3633 y(:>>)f(Wait)776 3732 y(\))515 3918 y Fq(W)-7
-b(e)36 b(can)f(read)g(the)h(program)e(as)h(follo)n(ws.)60
-b(F)-7 b(orev)n(er:)51 b(w)n(ait)35 b(un)n(til)h Fp(change)d
-Fq(is)j(not)g(lo)n(w,)515 4018 y(then)c(emit)g(a)f(message,)g(and)g(w)n
-(ait.)48 b(Then,)33 b(w)n(ait)e(un)n(til)h Fp(change)d
-Fq(is)i(not)g(lo)n(w,)h(and)g(emit)515 4117 y(a)e(message)f(all)i(the)g
-(time,)h(then)f(w)n(ait.)46 b(The)31 b(t)n(yp)r(e)g(of)f(messages)f
-(this)i(P)n(ace)f(program)e(is)515 4217 y(using,)f(is)h
-Fp(\(\))p Fq(,)e(b)r(ecause)i(there)f(is)g(only)h(one)f(message.)515
-4356 y(W)-7 b(e)32 b(can)f(giv)n(e)f(a)h(more)g(formal)g(seman)n(tics)f
-(to)i(this)g(language)d(b)n(y)j(giving)e(a)h(translation)515
-4456 y(from)c(a)g(program)f(to)h(a)g(circuit.)37 b(And)28
-b(then)g(w)n(e)g(get)f(an)g(implemen)n(tation)h(for)f(free!)515
-4596 y(W)-7 b(e)33 b(are)f(going)g(to)h(de\014ne)g(a)g(function)h
-Fp(circuit)p Fq(,)d(whic)n(h)i(tak)n(es)f(a)h(P)n(ace)f(program)f(to)h
-(a)515 4695 y(P)n(ace)26 b(circuit.)602 4881 y Fp(type)42
-b(PaceCircuit)d(out)689 4981 y(=)k(Signal)e(Bool)h(->)h(\(PaceEmits)c
-(out,)j(Signal)g(Bool\))1905 5255 y Fq(64)p eop
-%%Page: 65 66
-65 65 bop 602 623 a Fp(type)42 b(PaceEmits)e(out)689
-722 y(=)j([\(out,)e(Signal)g(Bool\)])602 922 y(circuit)g(::)h(Pace)g
-(out)h(->)f(PaceCircuit)d(out)515 1103 y Fq(A)25 b(P)n(ace)e(circuit)i
-(\(see)g(\014gure)f(9.4\))h(tak)n(es)f(in)h(one)f(input,)j(called)d
-Fp(start)p Fq(,)g(whic)n(h)h(is)f(used)h(to)515 1203
-y(activ)-5 b(ate)23 b(the)g(program,)f(and)h(has)g(t)n(w)n(o)f
-(outputs,)j(a)e(list)g Fp(emits)p Fq(,)f(and)h(a)g(signal)f
-Fp(finished)p Fq(,)515 1303 y(whic)n(h)33 b(the)i(circuit)e(uses)h(to)f
-(indicate)h(that)g(it)g(is)g(done.)55 b(The)34 b(list)g
-Fp(emits)e Fq(is)h(a)h(lo)r(okup)515 1402 y(table,)27
-b(whic)n(h)h(relates)e(output)j(messages)d(and)h(signals.)515
-1542 y(W)-7 b(e)30 b(start)f(with)h Fp(Skip)p Fq(.)40
-b(Here,)30 b(w)n(e)f(just)h(connect)g Fp(start)d Fq(to)j
-Fp(finish)p Fq(,)d(so)i(that)h(w)n(e)f(\014nish)515 1641
-y(immediately)-7 b(.)602 1823 y Fp(circuit)41 b(Skip)h(start)f(=)i
-(\([],)f(finish\))689 1923 y(where)776 2022 y(finish)f(=)j(start)515
-2204 y Fq(In)33 b(the)h(case)e(of)i Fp(Emit)p Fq(,)f(w)n(e)g(connect)g
-(the)h Fp(start)d Fq(to)i(the)h(righ)n(t)e(output,)k(and)d(w)n(e)g
-(\014nish)515 2304 y(immediately)-7 b(.)602 2486 y Fp(circuit)41
-b(\(Emit)g(out\))h(start)g(=)h(\(emits,)d(finish\))689
-2585 y(where)776 2685 y(emits)85 b(=)44 b([\(out,)d(start\)])776
-2785 y(finish)g(=)j(start)515 2966 y Fq(When)31 b(w)n(e)f(execute)h(a)f
-Fp(Wait)p Fq(,)g(w)n(e)g(connect)g Fp(start)f Fq(and)h
-Fp(finish)p Fq(,)f(but)j(with)f(a)f(dela)n(y)-7 b(,)31
-b(so)515 3066 y(that)d(it)g(tak)n(es)e(one)h(clo)r(c)n(k)g(cycle)h(to)f
-(\014nish.)602 3248 y Fp(circuit)41 b(Wait)h(start)f(=)i(\([],)f
-(finish\))689 3347 y(where)776 3447 y(finish)f(=)j(delay)d(low)h(start)
-515 3629 y Fq(T)-7 b(o)34 b(transform)g(an)h Fp(IfThenElse)p
-Fq(,)e(w)n(e)h(\014rst)h(transform)f(the)h(t)n(w)n(o)f(subprograms)f
-Fp(prog1)515 3729 y Fq(and)25 b Fp(prog2)p Fq(.)34 b(W)-7
-b(e)26 b(start)e Fp(prog1)g Fq(if)h Fp(start)f Fq(is)h(high)g(and)g(if)
-h(the)f(condition)g(is)h(true,)f(and)g(w)n(e)515 3828
-y(start)31 b Fp(prog2)e Fq(if)k Fp(start)c Fq(is)j(high)f(and)h(the)g
-(condition)f(is)h(false.)49 b(W)-7 b(e)32 b(collect)f(all)g(emitted)515
-3928 y(messages,)26 b(and)h(\014nish)h(if)g(either)g(one)f(of)g(them)h
-(\014nishes.)602 4110 y Fp(circuit)41 b(\(IfThenElse)e(cond)j(\(prog1,)
-e(prog2\)\))h(start)g(=)j(\(emits,)c(finish\))689 4209
-y(where)776 4309 y(\(emits1,)h(finish1\))f(=)j(circuit)e(prog1)g
-(start1)776 4408 y(\(emits2,)g(finish2\))f(=)j(circuit)e(prog2)g
-(start2)776 4608 y(start1)g(=)j(and2)d(\(start,)g(cond\))776
-4707 y(start2)g(=)j(and2)d(\(start,)g(inv)h(cond\))776
-4907 y(emits)85 b(=)44 b(emits1)d(++)h(emits2)776 5006
-y(finish)f(=)j(or2)e(\(finish1,)e(finish2\))1905 5255
-y Fq(65)p eop
-%%Page: 66 67
-66 66 bop 515 523 a Fq(T)-7 b(o)40 b(transform)g(a)g
-Fp(While)p Fq(,)i(w)n(e)f(\014rst)f(transform)g(the)h(subprogram)e
-Fp(prog)p Fq(.)75 b(Then,)44 b(w)n(e)515 623 y(in)n(tro)r(duce)c(an)h
-(auxiliary)e(signal)h(called)g Fp(active)p Fq(,)i(whic)n(h)e(is)h(high)
-f(exactly)h(when)f(w)n(e)515 722 y(should)31 b(consider)f(starting)g
-Fp(prog)p Fq(,)g(that)h(is)g(when)h(the)f(whole)g(while)g(lo)r(op)g(is)
-f(started)h(or)515 822 y(when)i Fp(prog)e Fq(has)i(\014nished.)53
-b(W)-7 b(e)34 b(actually)e(start)h Fp(prog)e Fq(when)i(w)n(e)g(are)f
-(activ)n(e,)i(and)f(the)515 922 y(condition)24 b(is)f(true.)36
-b(W)-7 b(e)24 b(\014nish)h(the)f(while)g(lo)r(op)g(when)g(w)n(e)g(are)f
-(activ)n(e)g(but)i(the)f(condition)515 1021 y(is)j(false.)602
-1206 y Fp(circuit)41 b(\(While)g(cond)h(prog\))f(start)h(=)h(\(emits,)e
-(finish\))689 1306 y(where)776 1405 y(\(emits,)g(finish'\))f(=)j
-(circuit)e(prog)h(start')776 1605 y(active)f(=)j(or2)e(\(start,)f
-(finish'\))776 1704 y(start')g(=)j(and2)d(\(active,)g(cond\))776
-1804 y(finish)g(=)j(and2)d(\(active,)g(inv)h(cond\))515
-1989 y Fq(T)-7 b(ransforming)25 b(sequen)n(tial)i(comp)r(osition)f
-(just)i(connects)f(the)g Fp(finish)e Fq(of)i(the)h(\014rst)f(with)515
-2089 y(the)h Fp(start)d Fq(of)j(the)g(second,)f(and)g(collects)g(the)h
-(emitted)h(messages.)602 2274 y Fp(circuit)41 b(\(prog1)g(:>>)h
-(prog2\))f(start)h(=)h(\(emits,)e(finish\))689 2373 y(where)776
-2473 y(\(emits1,)g(finish1\))f(=)j(circuit)e(prog1)g(start)776
-2572 y(\(emits2,)g(finish\))84 b(=)43 b(circuit)e(prog2)g(finish1)776
-2772 y(emits)h(=)h(emits1)e(++)i(emits2)515 2957 y Fq(And)25
-b(lastly)-7 b(,)26 b(transforming)d(parallel)h(comp)r(osition)g(starts)
-g(b)r(oth)i(circuits)e(when)i(started,)515 3056 y(collects)j(the)h
-(emitted)g(messages,)f(and)g Fn(synchr)l(onizes)i Fq(the)f(\014nish)g
-(signals)e(for)h(\014nishing.)515 3156 y(W)-7 b(e)28
-b(use)g(the)h Fp(synchronize)23 b Fq(circuit,)29 b(de\014ned)f(in)g
-(exercise)f(5.9)h(\(the)g(answ)n(er)f(is)h(on)g(page)515
-3256 y(84\).)602 3441 y Fp(circuit)41 b(\(prog1)g(:||)h(prog2\))f
-(start)h(=)h(\(emits,)e(finish\))689 3540 y(where)776
-3640 y(\(emits1,)g(finish1\))f(=)j(circuit)e(prog1)g(start)776
-3740 y(\(emits2,)g(finish2\))f(=)j(circuit)e(prog2)g(start)776
-3939 y(emits)85 b(=)44 b(emits1)d(++)h(emits2)776 4038
-y(finish)f(=)j(synchronize)39 b(\(finish1,)g(finish2\))515
-4223 y Fq(No)n(w)29 b(w)n(e)h(ha)n(v)n(e)f(made)h(this)g(translator,)f
-(w)n(e)h(can)f(use)h(it)h(to)f(turn)g(a)f(P)n(ace)g(program)f(plus)515
-4323 y(a)33 b(list)h(of)f(output)h(messages)e(w)n(e)i(are)e(in)n
-(terested)h(in)h(in)n(to)g(a)f(circuit,)i(outputting)f(these)515
-4423 y(messages.)602 4608 y Fp(compile)41 b(::)h(Eq)h(out)f(=>)h(Pace)f
-(out)g(->)h([out])f(->)h([Signal)d(Bool])602 4707 y(compile)h(prog)h
-(outputs)e(=)j(signals)689 4807 y(where)776 4907 y(start)260
-b(=)43 b(delay)e(high)h(low)776 5006 y(\(emits,)f(_\))i(=)g(circuit)e
-(prog)g(start)1905 5255 y Fq(66)p eop
-%%Page: 67 68
-67 67 bop 776 623 a Fp(signals)41 b(=)863 722 y([)j(orl)e([)h(sig)1125
-822 y(|)g(\(out',sig\))d(<-)i(emits)1125 922 y(,)h(out)f(==)h(out')1125
-1021 y(])863 1121 y(|)h(out)e(<-)h(outputs)863 1220 y(])515
-1406 y Fq(W)-7 b(e)32 b(\014rst)f(create)g(a)h(top-lev)n(el)e
-Fp(start)g Fq(signal,)i(whic)n(h)g(is)f(to)h(b)r(e)g(high)g(on)f(the)h
-(\014rst)g(clo)r(c)n(k)515 1506 y(tic)n(k,)e(and)f(then)h(lo)n(w)f
-(forev)n(er,)f(then)i(\014lter)f(out)h(the)g(signals)e(w)n(e)h(are)g
-(in)n(terested)g(in)g(from)515 1606 y(the)i(resulting)g(circuit.)48
-b(Note)32 b(that)f(w)n(e)g(ha)n(v)n(e)g(to)g(tak)n(e)g(the)g(or)g(for)g
-(these)g(signals,)g(since)515 1705 y(there)c(migh)n(t)h(b)r(e)g(sev)n
-(eral)d(parts)i(of)h(the)g(P)n(ace)e(program)g(emitting)i(the)g(same)f
-(signal.)515 1845 y(Here)g(is)g(ho)n(w)g(w)n(e)h(can)f(create)g(a)g
-(toggle)f(circuit)i(from)f(the)h(giv)n(en)f(P)n(ace)f(program:)602
-2031 y Fp(toggle')41 b(change)g(=)i(out)689 2130 y(where)776
-2230 y([out])f(=)h(compile)e(\(togglePace)e(change\))h([\(\)])515
-2416 y Fq(W)-7 b(e)19 b(compile)g(the)g(P)n(ace)f(circuit,)i(and)f(sa)n
-(y)f(that)h(w)n(e)g(are)f(only)h(in)n(terested)f(the)h
-Fp(\(\))g Fq(messages.)515 2730 y Fm(9.3)135 b(Exercises)575
-2945 y Fq(9.1)40 b(In)33 b(the)h(circuit)f(pro)r(duced)f(b)n(y)h(the)g
-(state)g(mac)n(hine)g(translation,)g(all)f(inputs)i(will)722
-3045 y(only)29 b(ha)n(v)n(e)f(e\013ect)i(on)f(the)g(outputs)h(in)f(the)
-h Fn(next)e Fq(clo)r(c)n(k)h(cycle.)41 b(Sometimes,)30
-b(ho)n(w-)722 3145 y(ev)n(er,)24 b(it)h(migh)n(t)f(b)r(e)g(desirable)f
-(to)h(c)n(hange)f(state)h(dep)r(ending)h(on)f(the)g(curren)n(t)f(input)
-722 3244 y Fn(right)31 b(away)p Fq(.)38 b(In)28 b(this)g(w)n(a)n(y)-7
-b(,)26 b(y)n(ou)h(are)g(not)g(in)n(terested)g(in)h(the)g(initial)g
-(state.)722 3377 y(Sho)n(w)33 b(ho)n(w)f(to)h(c)n(hange)f(the)i
-(de\014nition)f(of)g Fp(stateMachine)28 b Fq(to)33 b(incorp)r(orate)f
-(this)722 3477 y(c)n(hange.)575 3643 y(9.2)40 b(V)-7
-b(erify)26 b(that)g(the)f(toggle)g(circuit)g(deriv)n(ed)g(from)g(the)h
-(P)n(ace)e(program)f(is)i(equiv)-5 b(alen)n(t)722 3742
-y(to)28 b(a)f(direct)g(de\014nition)h(of)g(a)f(toggle)g(circuit.)575
-3908 y(9.3)40 b(Describ)r(e)d(the)h Fp(synchronize)32
-b Fq(circuit)37 b(from)g(exercise)f(5.9)g(in)i(terms)f(of)g(a)f(state)
-722 4008 y(mac)n(hine,)29 b(and)g(generate)e(a)h(circuit)h(for)f(it.)41
-b(V)-7 b(erify)29 b(that)g(the)g(implemen)n(tation)g(in)722
-4108 y(y)n(our)e(answ)n(er)f(to)h(5.9)g(is)g(correct!)575
-4274 y(9.4)40 b(Describ)r(e)e(the)g Fp(synchronize)33
-b Fq(circuit)38 b(from)f(exercise)g(5.9)f(in)i(terms)g(of)f(a)g(P)n
-(ace)722 4373 y(program,)27 b(and)h(generate)f(a)g(circuit)h(for)g(it.)
-39 b(V)-7 b(erify)28 b(that)h(the)g(implemen)n(tation)f(in)722
-4473 y(y)n(our)f(answ)n(er)f(to)h(5.9)g(is)g(correct!)1905
-5255 y(67)p eop
-%%Page: 68 69
-68 68 bop 515 1186 a Fo(Chapter)64 b(10)515 1641 y Fs(T)-6
-b(yp)6 b(es)515 2112 y Fq(In)28 b(this)f(c)n(hapter,)g(w)n(e)g(will)h
-(describ)r(e)f(what)h(role)f(t)n(yp)r(es)g(pla)n(y)g(in)h(the)g(La)n(v)
--5 b(a)26 b(system.)515 2426 y Fm(10.1)135 b(Signals)46
-b(and)f(Circuits)515 2648 y Fq(The)35 b(circuits)g(in)g(La)n(v)-5
-b(a)34 b(are)g Fn(functions)h Fq(from)g(input)h(signals)e(to)h(output)h
-(signals.)58 b(The)515 2748 y(basic)31 b(signals)g(in)h(La)n(v)-5
-b(a)31 b(are)g Fp(low)p Fq(,)g Fp(high)p Fq(,)h(and)g(in)n(teger)f
-(signals.)48 b(The)32 b(t)n(yp)r(e)g(of)g(the)g(\014rst)515
-2847 y(t)n(w)n(o)k(signals)g(is)h Fp(Signal)k(Bool)p
-Fq(,)c(and)g(that)h(of)e(in)n(teger)g(signals)g(is)h
-Fp(Signal)k(Int)p Fq(.)64 b(The)515 2947 y(notation)27
-b(for)g(this)h(is:)602 3132 y Fp(low)86 b(::)43 b(Signal)e(Bool)602
-3231 y(high)h(::)h(Signal)e(Bool)602 3331 y(3)174 b(::)43
-b(Signal)e(Int)602 3430 y(42)130 b(::)43 b(Signal)e(Int)602
-3530 y(-17)86 b(::)43 b(Signal)e(Int)515 3715 y Fq(The)27
-b(t)n(yp)r(es)h(of)f(circuits)h(are)e(written)i(using)f(the)h(sym)n(b)r
-(ol)g Fp(->)p Fq(.)36 b(Examples)26 b(are:)602 3900 y
-Fp(and2)173 b(::)42 b(\(Signal)f(Bool,)h(Signal)f(Bool\))128
-b(->)43 b(Signal)e(Bool)602 3999 y(times)129 b(::)42
-b(\(Signal)f(Int,)h(Signal)f(Int\))216 b(->)43 b(Signal)e(Int)602
-4099 y(halfAdd)g(::)h(\(Signal)f(Bool,)h(Signal)f(Bool\))128
-b(->)43 b(\(Signal)e(Bool,)g(Signal)g(Bool\))602 4198
-y(adder2)85 b(::)42 b([\(Signal)f(Bool,)g(Signal)g(Bool\)])g(->)i
-([Signal)e(Bool])515 4383 y Fq(As)30 b(w)n(e)g(can)h(see,)f(the)h(t)n
-(yp)r(es)g(for)f(pairs)f(are)h(written)h(using)f Fp(\()p
-Fq(,)h Fp(,)g Fq(and)f Fp(\))p Fq(,)h(and)f(the)h(t)n(yp)r(es)515
-4483 y(for)c(lists)g(are)g(written)h(using)f Fp([)g Fq(and)h
-Fp(])p Fq(.)515 4622 y(T)n(yp)r(es)40 b(do)f(not)i(ha)n(v)n(e)e(to)h(b)
-r(e)g(explicitly)g(written)h(in)f(La)n(v)-5 b(a;)46 b(they)40
-b(are)f(automatically)515 4722 y Fn(derive)l(d)27 b Fq(and)e
-Fn(che)l(cke)l(d)p Fq(.)38 b(So,)25 b(if)h(w)n(e)f(mak)n(e)g(a)g(t)n
-(yp)r(e)g(error,)f(for)h(example)g(b)n(y)g(giving)g(a)g(list)g(of)515
-4821 y(signals)h(rather)h(than)g(a)h(pair)e(of)i(signals)e(to)i(an)f
-(and)h(gate)f(as)g(input,)h(w)n(e)f(get:)602 5006 y Fp(Main>)41
-b Fl(and2)h([high,)f(low])1905 5255 y Fq(68)p eop
-%%Page: 69 70
-69 69 bop 602 523 a Fp(ERROR:)41 b(Type)h(error)f(in)i(application)602
-623 y(***)f(Expression)214 b(:)43 b(and2)f([low,high])602
-722 y(***)g(Term)478 b(:)43 b([low,high])602 822 y(***)f(Type)478
-b(:)43 b([Signal)e(Bool])602 922 y(***)h(Does)g(not)h(match)e(:)i
-(\(Signal)e(Bool,Signal)e(Bool\))515 1236 y Fm(10.2)135
-b(Connection)46 b(P)l(atterns)515 1458 y Fq(T)-7 b(o)30
-b(b)r(e)i(able)e(to)h(deal)f(with)i(t)n(yp)r(es)f(in)g(the)g(presence)f
-(of)h(connection)f(patterns,)h(w)n(e)g(need)515 1557
-y(t)n(w)n(o)c(features:)36 b Fn(p)l(olymorphism)30 b
-Fq(and)e Fn(higher-or)l(der)k(functions)p Fq(.)639 1780
-y Fi(\017)41 b Fn(Polymorphism)h Fq(means)c(that)g(some)g(circuits)g
-(or)g(connection)g(patterns)g(do)g(not)722 1879 y(care)d(ab)r(out)h
-(what)g(kind)g(of)g(t)n(yp)r(e)g(w)n(e)f(are)g(using,)j(as)d(long)g(as)
-g(it)h(matc)n(hes)g(with)722 1979 y(another)27 b(\(unkno)n(wn\))h(t)n
-(yp)r(e.)639 2145 y Fi(\017)41 b Fn(Higher-or)l(der)33
-b(functions)c Fq(allo)n(w)f(us)h(to)g(ha)n(v)n(e)f(functions)h(as)f
-(parameters)g(to)h(other)722 2245 y(functions.)515 2467
-y(Here)e(is)g(an)h(example:)36 b(the)28 b(t)n(yp)r(e)g(of)g(the)g
-Fp(row)e Fq(connection)h(pattern.)602 2653 y Fp(row)42
-b(::)h(\(\(c,a\))e(->)i(\(b,c\)\))e(->)i(\(c,[a]\))d(->)j(\([b],c\))515
-2839 y Fq(F)-7 b(rom)40 b(this)h(w)n(e)f(can)g(see)h(that)g
-Fp(row)e Fq(exp)r(ects)i(a)f(circuit)g(of)h(the)g(follo)n(wing)f(t)n
-(yp)r(e)h(as)e(a)515 2939 y(parameter:)602 3125 y Fp(\(c,a\))i(->)i
-(\(b,c\))515 3311 y Fq(The)25 b(connection)f(pattern)h(do)r(es)g(not)g
-(care)e(ho)n(w)n(ev)n(er)g(what)i(exactly)g Fp(a)p Fq(,)g
-Fp(b)f Fq(or)g Fp(c)h Fq(is,)g(as)g(long)515 3410 y(as)g(the)i(t)n(w)n
-(o)e(uses)h(of)g Fp(c)f Fq(are)h(the)g Fn(same)p Fq(.)37
-b(This)26 b(has)g(to)g(b)r(e)g(the)g(case)g(since)g Fp(c)f
-Fq(is)h(the)h(t)n(yp)r(e)f(of)515 3510 y(the)g(carry)-7
-b(,)25 b(and)g(the)h(carries)f(are)f(matc)n(hed)i(up)g(in)g(the)g(ro)n
-(w.)36 b(But)26 b(apart)e(from)i(that,)h Fp(a)p Fq(,)e
-Fp(b)515 3610 y Fq(and)i Fp(c)g Fq(can)h(b)r(e)g Fn(any)g
-Fq(t)n(yp)r(e,)g(a)f(signal,)g(a)g(pair)g(of)g(signals,)g(a)g(list)h
-(of)f(pairs)g(of)g(signals,)g(etc.)515 3924 y Fm(10.3)135
-b(Ov)l(erloading)515 4146 y Fq(W)-7 b(e)21 b(ha)n(v)n(e)e(seen)i(a)f(n)
-n(um)n(b)r(er)g(of)h(circuits)g(and)f(functions)h(that)g(b)r(eha)n(v)n
-(e)f(di\013eren)n(tly)h(when)f(w)n(e)515 4245 y(use)30
-b(them)i(in)f(di\013eren)n(t)g(con)n(texts.)45 b(This)31
-b(is)g(called)f Fn(overlo)l(ading)p Fq(.)49 b(W)-7 b(e)31
-b(use)g(o)n(v)n(erloading)515 4345 y(b)r(ecause)36 b(it)h(is)g(con)n(v)
-n(enien)n(t,)h(w)n(e)f(do)f(not)h(ha)n(v)n(e)e(to)i(ha)n(v)n(e)f
-(di\013eren)n(t)h(v)n(ersions)e(of)h(op)r(era-)515 4445
-y(tions)24 b(around,)f(and)h(w)n(e)g(can)g(write)g(general)e(op)r
-(erations)h(and)h(circuits)g(using)g(o)n(v)n(erloaded)515
-4544 y(op)r(erations.)515 4684 y(An)39 b(example)f(is)g(the)h(constan)n
-(t)f Fp(zero)p Fq(,)i(whic)n(h)f(is)f(a)g(generalized)f(v)n(ersion)g
-(of)i Fp(low)p Fq(.)69 b(It)515 4783 y(b)r(eha)n(v)n(es)26
-b(as)h(follo)n(ws.)1905 5255 y(69)p eop
-%%Page: 70 71
-70 70 bop 602 523 a Fp(Main>)41 b Fl(zero)602 623 y Fp(ERROR:)g
-(Unresolved)e(overloading)602 822 y(Main>)i Fl(zero)h(::)h(Signal)e
-(Bool)602 922 y Fp(low)602 1121 y(Main>)g Fl(zero)h(::)h(\(Signal)e
-(Bool,)g(Signal)g(Bool\))602 1220 y Fp(\(low,)g(low\))602
-1420 y(Main>)g Fl(zero)h(::)h(Signal)e(Int)602 1519 y
-Fp(0)602 1719 y(Main>)g Fl(zero)h(::)h(\(Signal)e(Bool,)g(Signal)g
-(Int\))602 1818 y Fp(\(low,)g(0\))515 2004 y Fq(In)25
-b(the)h(\014rst)f(example,)h(w)n(e)f(see)g(that)h(La)n(v)-5
-b(a)24 b(complains)h(b)r(ecause)g(it)h(has)f(no)g(idea)g(in)h(what)515
-2104 y(kind)k(of)f(con)n(text)h(y)n(ou)f(w)n(an)n(t)g(to)g(use)h
-Fp(zero)p Fq(.)42 b(In)30 b(a)f(La)n(v)-5 b(a)29 b(program,)f(this)i
-(can)f(usually)h(b)r(e)515 2203 y(\014gured)g(out,)i(but)g(w)n(e)f(can)
-f(b)r(e)i(explicit)f(ab)r(out)g(the)h(shap)r(e)f(of)g(the)g(result)g(b)
-n(y)g(using)g(the)515 2303 y Fp(::)36 b Fq(notation.)515
-2443 y(A)31 b(similar)f(constan)n(t)g(w)n(e)g(ha)n(v)n(e)g(seen)h(is)f
-Fp(domain)p Fq(.)45 b(It)31 b(creates)e(a)i(list)g(of)g(all)f(the)h(p)r
-(ossible)515 2542 y(v)-5 b(alues)27 b(of)h(a)f(certain)g(t)n(yp)r(e.)37
-b(Here)27 b(is)g(ho)n(w)g(it)h(b)r(eha)n(v)n(es.)602
-2728 y Fp(Main>)41 b(domain)h(::)g([Signal)f(Bool])602
-2828 y([low,)g(high])602 3027 y(Main>)g(domain)h(::)g([\(Signal)f
-(Bool,Signal)e(Bool\)])602 3127 y([\(low,)i(low\),)h(\(low,)f(high\),)g
-(\(high,)g(low\),)h(\(high,)f(high\)])515 3313 y Fq(And)28
-b(so)f(forth.)37 b(Other)27 b(examples)g(of)g(o)n(v)n(erloaded)e(op)r
-(erators)h(are)g Fp(var)h Fq(and)g Fp(random)p Fq(.)515
-3452 y(All)g(these)h(o)n(v)n(erloaded)c(op)r(erations)i(ha)n(v)n(e)g(a)
-h(sp)r(ecial)g(v)n(ersion)f(that)h(w)n(orks)f(for)g(lists.)37
-b(The)515 3552 y(reason)20 b(for)i(this)g(is)g(that,)i(in)f(the)f(case)
-f(of)i(lists,)g(w)n(e)f(w)n(an)n(t)f(to)h(kno)n(w)g(ho)n(w)f
-Fn(long)i Fq(they)f(should)515 3651 y(b)r(e.)56 b(Ho)n(w)34
-b(else)g(can)g(w)n(e)f(create)g(a)h(list)g(with)h(only)f(lo)n(w)f(bits)
-i(in)f(it,)i(or)d(sum)h(up)h(all)f(the)515 3751 y(p)r(ossible)27
-b(lists)h(in)f(a)h(certain)f(domain?)515 3890 y(Here)40
-b(are)f(some)h(examples)g(of)h(ho)n(w)f(the)h(sp)r(ecial)f(list)h(v)n
-(ersions)d(b)r(eha)n(v)n(e)i(in)h(di\013eren)n(t)515
-3990 y(con)n(texts.)602 4176 y Fp(Main>)g Fl(zeroList)g(3)i(::)g
-([Signal)d(Bool])602 4276 y Fp([low,)h(low,)h(low])602
-4475 y(Main>)f Fl(zeroList)g(2)i(::)g([\(Signal)d(Bool,Signal)f
-(Bool\)])602 4575 y Fp([\(low,)i(low\),)h(\(low,)f(low\)])602
-4774 y(Main>)g Fl(domainList)f(2)j(::)g([[Signal)d(Bool]])602
-4873 y Fp([[low,)h(low],)h([low,)f(high],)g([high,)g(low],)h([high,)f
-(high]])1905 5255 y Fq(70)p eop
-%%Page: 71 72
-71 71 bop 602 523 a Fp(Main>)41 b Fl(varList)g(3)i("apa")f(::)h
-([Signal)d(Bool])602 623 y Fp([apa_1,)h(apa_2,)g(apa_3])515
-809 y Fq(Examples)26 b(of)i(a)f(circuits)g(that)h(are)f(o)n(v)n
-(erloaded)e(are)h Fp(delay)p Fq(,)g Fp(mux)p Fq(,)h(and)g
-Fp(equal)p Fq(.)1905 5255 y(71)p eop
-%%Page: 72 73
-72 72 bop 515 1186 a Fo(App)5 b(endix)65 b(A)515 1641
-y Fs(Quic)-6 b(k)76 b(Reference)i(Guide)515 2112 y Fq(In)29
-b(this)g(app)r(endix)g(w)n(e)f(presen)n(t)g(an)h(o)n(v)n(erview)d(of)j
-(options,)f(op)r(erations,)g(prede\014ned)h(cir-)515
-2212 y(cuits)f(and)f(connection)g(patterns)g(in)h(La)n(v)-5
-b(a.)515 2526 y Fm(A.1)134 b(The)45 b Fh(lava)e Fm(command)515
-2748 y Fq(Here)27 b(are)g(the)h(command-line)f(options)g(for)g(the)h
-Fp(lava)e Fq(command.)602 2950 y Fp(-h)p Fl(size)346
-b Fp(set)42 b(memory)g(size)f(to)i Fl(size)f Fp(for)h(interpreter)602
-3050 y(-c)g Fl(module)215 b Fp(compile)602 3150 y(-ghc)42
-b Fl(module)128 b Fp(compile)41 b(using)g(GHC)i(\(default\))602
-3249 y(-hbc)f Fl(module)128 b Fp(compile)41 b(using)g(HBC)602
-3349 y(-u)522 b(update)41 b(internal)f(modules)h(after)h(change)602
-3448 y(-x)h Fl(executable)c Fp(use)j(<)p Fl(executable)p
-Fp(>)d(instead)i(of)i(compiler)515 3763 y Fm(A.2)134
-b(Logical)46 b(Gates)515 3985 y Fq(Here)24 b(are)f(the)h(logical)f
-(gates)h(de\014ned)g(in)h(the)f(La)n(v)-5 b(a)23 b(system.)36
-b(Some)24 b(binary)f(gates)g(ha)n(v)n(e)g(a)515 4084
-y(corresp)r(onding)k(binary)h(op)r(erator)f(\(for)i(example,)g
-Fp(and2)e Fq(can)h(also)g(b)r(e)i(written)f(as)f Fp(<&>)p
-Fq(\).)602 4370 y Fp(--)43 b Fl(Nullary)d(gates)i(::)h(Signal)e(Bool)
-602 4469 y Fp(low)391 b(--)43 b Fl(constant)d(low)602
-4569 y Fp(high)347 b(--)43 b Fl(constant)d(high)602 4768
-y Fp(--)j Fl(Unary)e(gates)h(::)g(Signal)g(Bool)f(->)i(Signal)e(Bool)
-602 4868 y Fp(id)435 b(--)43 b Fl(identity)602 4968 y
-Fp(inv)391 b(--)43 b Fl(inverse,)d(negation)1905 5255
-y Fq(72)p eop
-%%Page: 73 74
-73 73 bop 602 623 a Fp(--)43 b Fl(Binary)e(gates)g(::)i(\(Signal)e
-(Bool,)g(Signal)g(Bool\))h(->)h(Signal)e(Bool)602 722
-y Fp(and2,)85 b(<&>)h(--)43 b Fl(logical)d(and)602 822
-y Fp(nand2)303 b(--)43 b Fl(inverse)d(of)j(logical)e(and)602
-922 y Fp(or2,)129 b(<|>)86 b(--)43 b Fl(logical)d(or)602
-1021 y Fp(nor2)347 b(--)43 b Fl(inverse)d(of)j(logical)e(or)602
-1121 y Fp(xor2,)85 b(<#>)h(--)43 b Fl(logical)d(exclusive)g(or)602
-1220 y Fp(xnor2,)h(<=>)86 b(--)43 b Fl(inverse)d(of)j(exclusive)d(or)
-602 1320 y Fp(equiv,)h(<=>)86 b(--)43 b Fl(logical)d(equivalence)602
-1420 y Fp(impl,)85 b(==>)h(--)43 b Fl(logical)d(implication)602
-1619 y Fp(--)j Fl(n-ary)e(gates)h(::)g([Signal)f(Bool])h(->)g(Signal)g
-(Bool)602 1719 y Fp(andl)347 b(--)43 b Fl(logical)d(and)602
-1818 y Fp(nandl)303 b(--)43 b Fl(inverse)d(of)j(logical)e(and)602
-1918 y Fp(orl)391 b(--)43 b Fl(logical)d(or)602 2017
-y Fp(norl)347 b(--)43 b Fl(inverse)d(of)j(logical)e(or)602
-2117 y Fp(xorl)347 b(--)43 b Fl(logical)d(exclusive)g(or)515
-2427 y Fm(A.3)134 b(Arithmetical)47 b(Gates)515 2649
-y Fq(Here)28 b(are)f(the)h(arithmetical)g(gates)f(de\014ned)i(in)f(the)
-g(La)n(v)-5 b(a)27 b(system.)39 b(Some)28 b(binary)f(gates)515
-2748 y(ha)n(v)n(e)c(a)i(corresp)r(onding)e(binary)h(op)r(erator)f
-(\(for)i(example,)g Fp(plus)e Fq(can)i(also)e(b)r(e)j(written)f(as)515
-2848 y Fp(+)p Fq(\).)602 3014 y Fp(--)43 b Fl(Nullary)d(gates)i(::)h
-(Signal)e(Int)602 3113 y Fp(n)479 b(--)43 b Fl(constant)d(integer)h
-(signal)602 3313 y Fp(--)i Fl(Unary)e(gates)h(::)g(Signal)g(Int)g(->)h
-(Signal)e(Int)602 3412 y Fp(id)435 b(--)43 b Fl(identity)602
-3512 y Fp(neg,)129 b(-)174 b(--)43 b Fl(negation)602
-3711 y Fp(--)g Fl(Unary)e(conversion)602 3811 y Fp(int2bit)215
-b(--)43 b Fl(integer)d(signal)h(to)i(boolean)e(signal)602
-3910 y Fp(bit2int)215 b(--)43 b Fl(boolean)d(signal)h(to)i(integer)e
-(signal)602 4110 y Fp(--)i Fl(Binary)e(gates)g(::)i(\(Signal)e(Int,)h
-(Signal)f(Int\))h(->)g(Signal)g(Int)602 4209 y Fp(plus,)85
-b(+)174 b(--)43 b Fl(addition)602 4309 y Fp(times,)e(*)174
-b(--)43 b Fl(multiplication)602 4408 y Fp(sub,)129 b(-)174
-b(--)43 b Fl(subtraction)602 4508 y Fp(idiv,)85 b(/)174
-b(--)43 b Fl(integer)d(division)602 4608 y Fp(imod,)85
-b(\045\045)130 b(--)43 b Fl(modulo)602 4707 y Fp(imin)347
-b(--)43 b Fl(minimum)602 4807 y Fp(imax)347 b(--)43 b
-Fl(maximum)602 5006 y Fp(--)g Fl(Binary)e(gates)g(::)i(\(Signal)e(Int,)
-h(Signal)f(Int\))h(->)g(Signal)g(Bool)1905 5255 y Fq(73)p
-eop
-%%Page: 74 75
-74 74 bop 602 523 a Fp(gte,)129 b(>>==)42 b(--)h Fl(greater)d(than)i
-(or)h(equal)602 722 y Fp(--)g Fl(n-ary)e(gates)h(::)g([Signal)f(Int])h
-(->)h(Signal)e(Int)602 822 y Fp(plusl)303 b(--)43 b Fl(addition)602
-922 y Fp(timesl)259 b(--)43 b Fl(multiplication)515 1236
-y Fm(A.4)134 b(Generic)45 b(Gates)515 1458 y Fq(Here)27
-b(are)g(some)g(generic)f(gates)h(de\014ned)h(in)g(the)g(La)n(v)-5
-b(a)26 b(system.)602 1644 y Fp(equal,)41 b(<==>)h(--)h
-Fl(equality)602 1743 y Fp(delay,)e(|->)86 b(--)43 b Fl(delay)e
-(component)602 1843 y Fp(mux)391 b(--)43 b Fl(multplexer,)c
-(if-else-then)515 2029 y Fq(F)-7 b(urthermore,)25 b(La)n(v)-5
-b(a)25 b(de\014nes)h(some)f(op)r(erations)g(whic)n(h)g(can)h(b)r(e)g
-(used)g(on)g(some)f(of)h(these)515 2128 y(t)n(yp)r(es:)602
-2314 y Fp(domain)215 b(::)43 b([a])602 2414 y(domainList)c(::)k(Int)f
-(->)h([[a]])602 2613 y(zero)303 b(::)43 b(a)602 2713
-y(zeroList)127 b(::)43 b(Int)f(->)h([a])602 2912 y(var)347
-b(::)43 b(String)e(->)i(a)602 3012 y(varList)171 b(::)43
-b(Int)f(->)h(String)e(->)i([a])515 3326 y Fm(A.5)134
-b(Mo)t(dule:)60 b Fh(Patterns)515 3548 y Fq(Y)-7 b(ou)32
-b(get)h(access)e(to)i(the)f(follo)n(wing)g(wiring)g(circuits)g(and)h
-(connection)f(patterns)g(if)h(y)n(ou)515 3648 y(include)602
-3833 y Fp(import)41 b(Patterns)515 4019 y Fq(at)27 b(the)h(top)g(of)f
-(y)n(our)g(La)n(v)-5 b(a)26 b(program.)602 4205 y Fp(swap)260
-b(::)43 b(\(a,)f(b\))h(->)f(\(b,)h(a\))602 4305 y(swapl)216
-b(::)43 b([a])f(->)h([a])602 4405 y(copy)260 b(::)43
-b(a)g(->)f(\(a,)h(a\))602 4604 y(riffle)172 b(::)43 b([a])f(->)h([a])
-602 4704 y(unriffle)84 b(::)43 b([a])f(->)h([a])602 4903
-y(zipp)260 b(::)43 b(\([a],[b]\))c(->)k([\(a,b\)])602
-5002 y(unzipp)172 b(::)43 b([\(a,b\)])d(->)j(\([a],[b]\))1905
-5255 y Fq(74)p eop
-%%Page: 75 76
-75 75 bop 602 623 a Fp(pair)260 b(::)43 b([a])f(->)h([\(a,a\)])602
-722 y(unpair)172 b(::)43 b([\(a,a\)])d(->)j([a])602 922
-y(halveList)d(::)j([a])f(->)h(\([a],[a]\))602 1021 y(append)172
-b(::)43 b(\([a],[a]\))c(->)k([a])602 1220 y(serial)172
-b(::)43 b(\(a)f(->)h(b\))g(->)g(\(b)f(->)h(c\))g(->)g(\(a)f(->)h(c\))
-602 1320 y(\(->-\))216 b(::)43 b(\(a)f(->)h(b\))g(->)g(\(b)f(->)h(c\))g
-(->)g(\(a)f(->)h(c\))602 1420 y(compose)128 b(::)43 b([a)f(->)h(a])g
-(->)g(\(a)f(->)h(a\))602 1519 y(composeN)84 b(::)43 b(Int)f(->)h(\(a)f
-(->)h(a\))g(->)g(\(a)f(->)h(a\))602 1719 y(par)304 b(::)43
-b(\(a)f(->)h(b\))g(->)g(\(c)f(->)h(d\))g(->)g(\(\(a,c\))e(->)h
-(\(b,d\)\))602 1818 y(\(-|-\))216 b(::)43 b(\(a)f(->)h(b\))g(->)g(\(c)f
-(->)h(d\))g(->)g(\(\(a,c\))e(->)h(\(b,d\)\))602 1918
-y(parl)260 b(::)43 b(\([a])e(->)i([b]\))f(->)h(\([a])f(->)h([b]\))f(->)
-g(\([a])g(->)h([b]\))602 2117 y(two)304 b(::)43 b(\([a])e(->)i([b]\))f
-(->)h(\([a])f(->)h([b]\))602 2217 y(ilv)304 b(::)43 b(\([a])e(->)i
-([b]\))f(->)h(\([a])f(->)h([b]\))602 2316 y(twoN)260
-b(::)43 b(Int)f(->)h(\([a])f(->)g([b]\))g(->)h(\([a])f(->)h([b]\))602
-2416 y(ilvN)260 b(::)43 b(Int)f(->)h(\([a])f(->)g([b]\))g(->)h(\([a])f
-(->)h([b]\))602 2516 y(iter)260 b(::)43 b(Int)f(->)h(\(b)f(->)h(b\))g
-(->)g(\(b)f(->)h(b\))602 2715 y(bfly)260 b(::)43 b(Int)f(->)h(\([b])f
-(->)g([b]\))g(->)h([b])f(->)h([b])602 2814 y(tri)304
-b(::)43 b(\(a)f(->)h(a\))g(->)g(\([a])e(->)i([a]\))602
-3014 y(pmap)260 b(::)43 b(\(\(a,a\))e(->)h(\(b,b\)\))f(->)i([a])g(->)f
-([b])602 3213 y(mirror)172 b(::)43 b(\(\(a,b\))e(->)h(\(c,d\)\))f(->)i
-(\(\(b,a\))216 b(->)42 b(\(d,c\)\))602 3313 y(row)304
-b(::)43 b(\(\(c,a\))e(->)h(\(b,c\)\))f(->)i(\(\(c,[a]\))128
-b(->)42 b(\([b],c\)\))602 3412 y(column)172 b(::)43 b(\(\(a,c\))e(->)h
-(\(c,b\)\))f(->)i(\(\([a],c\))128 b(->)42 b(\(c,[b]\)\))602
-3512 y(grid)260 b(::)43 b(\(\(a,b\))e(->)h(\(b,a\)\))f(->)i
-(\(\([a],[b]\))d(->)i(\([b],[a]\)\))515 3826 y Fm(A.6)134
-b(Mo)t(dule:)60 b Fh(Arithmetic)515 4048 y Fq(Y)-7 b(ou)27
-b(get)h(access)e(to)i(the)g(follo)n(wing)e(arithmetical)h(circuits)g
-(if)i(y)n(ou)d(include)602 4234 y Fp(import)41 b(Arithmetic)515
-4420 y Fq(at)27 b(the)h(top)g(of)f(y)n(our)g(La)n(v)-5
-b(a)26 b(program.)602 4606 y Fp(halfAdd)84 b(::)43 b(\(Signal)e
-(Bool,Signal)e(Bool\))1430 4705 y(->)k(\(Signal)d(Bool,Signal)g(Bool\))
-602 4805 y(fullAdd)84 b(::)43 b(\(Signal)e(Bool,\(Signal)d(Bool,Signal)
-h(Bool\)\))1430 4905 y(->)k(\(Signal)d(Bool,Signal)g(Bool\))1905
-5255 y Fq(75)p eop
-%%Page: 76 77
-76 76 bop 602 523 a Fp(bitAdder)40 b(::)j(\(Signal)e(Bool,[Signal)d
-(Bool]\))1430 623 y(->)43 b(\([Signal)d(Bool],Signal)f(Bool\))602
-722 y(adder)172 b(::)43 b(\(Signal)e(Bool,\([Signal)d(Bool],[Signal)g
-(Bool]\)\))1430 822 y(->)43 b(\([Signal)d(Bool],Signal)f(Bool\))602
-922 y(binAdder)h(::)j(\([Signal)d(Bool],[Signal)e(Bool]\))1430
-1021 y(->)43 b([Signal)d(Bool])602 1220 y(bitMulti)g(::)j(\(Signal)e
-(Bool,[Signal)d(Bool]\))1430 1320 y(->)43 b([Signal)d(Bool])602
-1420 y(multi)172 b(::)43 b(\([Signal)d(Bool],[Signal)e(Bool]\))1430
-1519 y(->)43 b([Signal)d(Bool])602 1719 y(numBreak)g(::)j(Signal)e(Int)
-h(->)h(\(Signal)e(Bool,Signal)e(Int\))602 1818 y(int2bin)84
-b(::)43 b(Int)f(->)h(Signal)e(Int)h(->)h([Signal)e(Bool])602
-1918 y(bin2int)84 b(::)43 b([Signal)e(Bool])g(->)i(Signal)e(Int)515
-2232 y Fm(A.7)134 b(Mo)t(dule:)60 b Fh(SequentialCircu)o(it)o(s)515
-2454 y Fq(Y)-7 b(ou)27 b(get)h(access)e(to)i(the)g(follo)n(wing)e
-(often)i(used)g(sequen)n(tial)e(circuits)i(if)g(y)n(ou)f(include)602
-2638 y Fp(import)41 b(SequentialCircui)o(ts)515 2822
-y Fq(at)27 b(the)h(top)g(of)f(y)n(our)g(La)n(v)-5 b(a)26
-b(program.)602 3006 y Fp(edge)391 b(::)42 b(Signal)f(Bool)h(->)h
-(Signal)e(Bool)602 3106 y(toggle)303 b(::)42 b(Signal)f(Bool)h(->)h
-(Signal)e(Bool)602 3205 y(delayClk)215 b(::)42 b(a)h(->)g(\(Signal)e
-(Bool,a\))g(->)h(a)602 3305 y(delayN)303 b(::)42 b(Int)h(->)f(a)i(->)e
-(a)h(->)g(a)602 3405 y(always)303 b(::)42 b(Signal)f(Bool)h(->)h
-(Signal)e(Bool)602 3504 y(puls)391 b(::)42 b(Int)h(->)f(\(\))h(->)g
-(Signal)e(Bool)602 3604 y(outputList)127 b(::)42 b([a])h(->)f(\(\))h
-(->)g(a)602 3803 y(rowSeq)303 b(::)42 b(\(\(a,b\))f(->)i(\(c,a\)\))e
-(->)i(\(b)g(->)g(c\))602 3903 y(rowSeqReset)83 b(::)42
-b(\(\(a,b\))f(->)i(\(c,a\)\))e(->)i(\(\(Signal)d(Bool,b\))h(->)i(c\))
-602 4002 y(rowSeqPeriod)c(::)j(Int)h(->)f(\(\(a,b\))f(->)i(\(c,a\)\))e
-(->)i(\(b)g(->)g(c\))515 4187 y Fq(Note)33 b(that)g(these)f(functions)h
-(are)f(not)h(completely)f(p)r(olymorphic)g(in)h Fp(a)p
-Fq(,)h(but)g(there)e(are)515 4286 y(certain)27 b(restrictions.)515
-4600 y Fm(A.8)134 b(In)l(terpretations)515 4822 y Fq(Here)27
-b(are)g(the)h(v)-5 b(arious)26 b(in)n(terpretations)g(for)h(circuits)h
-(that)f(La)n(v)-5 b(a)27 b(pro)n(vides.)602 5006 y Fp(--)43
-b Fl(simulations)1905 5255 y Fq(76)p eop
-%%Page: 77 78
-77 77 bop 602 523 a Fp(simulate)40 b Fl(circuit)h(input)602
-623 y Fp(simulateSeq)e Fl(circuit)i(inputs)602 722 y
-Fp(simulateCon)e Fl(circuit)i(inputs)602 822 y Fp(test)h
-Fl(circuit)602 1021 y Fp(--)h Fl(VHDL)602 1121 y Fp(writeVhdl)d
-Fl(name)i(circuit)602 1220 y Fp(writeVhdlInput)c Fl(name)k(circuit)e
-(input)602 1320 y Fp(writeVhdlInputOu)o(tp)o(ut)d Fl(name)42
-b(circuit)f(input)g(output)602 1519 y Fp(--)i Fl(verification)602
-1619 y Fp(verify)e Fl(property)602 1719 y Fp(verifyWith)e
-Fl(options)i(property)602 1818 y Fp(fixit)g Fl(property)515
-1986 y Fq(P)n(ossible)26 b(v)n(eri\014cation)g(opions)h(are:)602
-2153 y Fp(Name)42 b Fl(name)602 2253 y Fp(ShowTime)602
-2352 y(Sat)g Fl(level)602 2452 y Fp(NoBacktracking)602
-2552 y(Depth)f Fl(depth)602 2651 y Fp(Increasing)602
-2751 y(RestrictStates)515 3061 y Fm(A.9)134 b(Errors)515
-3283 y Fq(Here,)35 b(w)n(e)e(list)h(a)f(n)n(um)n(b)r(er)g(of)h(error)d
-(messages)h(that)i(migh)n(t)g(o)r(ccur)f(when)g(running)h(the)515
-3383 y(La)n(v)-5 b(a)26 b(system.)639 3582 y Fi(\017)128
-b Fp(ERROR:)42 b(Garbage)e(collection)g(fails)h(to)i(reclaim)1115
-3682 y(sufficient)c(space)722 3810 y Fq(This)31 b(means)f(that)i(La)n
-(v)-5 b(a)29 b(do)r(es)i(not)f(ha)n(v)n(e)g(enough)g(memory)g(to)h
-(execute)g(the)g(cir-)722 3909 y(cuit.)63 b(T)-7 b(ry)35
-b(to)h(start)f(up)h(La)n(v)-5 b(a)35 b(with)h(more)f(memory)-7
-b(,)38 b(do)d(this)i(b)n(y)e(sa)n(ying)g Fp(lava)722
-4009 y(-h9999999)p Fq(.)f(Y)-7 b(ou)27 b(can)g(increase)g(the)h(n)n(um)
-n(b)r(er)f(if)h(y)n(ou)f(need)h(more.)722 4137 y(If)j(this)g(do)r(es)f
-(not)g(w)n(ork,)g(y)n(ou)g(migh)n(t)g(ha)n(v)n(e)f(an)h(error)f(in)h(y)
-n(our)f(circuit)i(de\014nition.)722 4237 y(Do)d(y)n(ou)f(ha)n(v)n(e)f
-(a)h(circular)g(de\014nition)h(somewhere?)639 4394 y
-Fi(\017)128 b Fp(Program)41 b(error:)g(evaluating)f(a)j(delay)e
-(component)722 4522 y Fq(Y)-7 b(ou)22 b(get)g(this)g(error)e(when)i(y)n
-(ou)f(try)h(to)g(use)f(com)n(binational)g(sim)n(ulation)g
-Fp(simulate)722 4622 y Fq(to)28 b(sim)n(ulate)f(a)g(sequen)n(tial)g
-(circuit.)37 b(Use)27 b Fp(simulateSeq)d Fq(instead.)639
-4778 y Fi(\017)128 b Fp(Program)41 b(error:)g(evaluating)f(a)j
-(symbolic)d(value)722 4907 y Fq(Y)-7 b(ou)31 b(get)g(this)g(error)e
-(when)i(y)n(ou)g(ha)n(v)n(e)e(used)i(the)h Fp(forAll)c
-Fq(or)i Fp(var)g Fq(prop)r(ert)n(y)g(con-)722 5006 y(structors,)d(and)g
-(then)h(later)f(tried)h(to)f(sim)n(ulate)g(the)h(circuit.)1905
-5255 y(77)p eop
-%%Page: 78 79
-78 78 bop 639 523 a Fi(\017)128 b Fp(Program)41 b(error:)g
-(combinational)d(loop)722 652 y Fq(Y)-7 b(ou)35 b(get)f(this)h(error)e
-(when)h(y)n(ou)g(ha)n(v)n(e)g(de\014ned)g(a)h(circuit)f(whic)n(h)h(has)
-f(a)g(lo)r(op)g(in)722 751 y(it,)e(on)f(whic)n(h)f(there)h(is)f(no)h
-(dela)n(y)-7 b(.)45 b(In)31 b(general,)f(these)g(circuits)h(are)e(hard)
-h(to)h(giv)n(e)722 851 y(meaning)23 b(to,)g(and)g(are)f(therefore)g
-(not)g(allo)n(w)n(ed)g(in)h(normal)f(La)n(v)-5 b(a)21
-b(sim)n(ulation.)35 b(Y)-7 b(ou)722 951 y(ha)n(v)n(e)27
-b(probably)f(made)i(a)f(mistak)n(e)g(somewhere.)722 1079
-y(Y)-7 b(ou)34 b(migh)n(t)g(try)g(the)h Fn(c)l(onstructive)f
-Fq(sim)n(ulation)f Fp(simulateCon)d Fq(when)k(this)h(hap-)722
-1179 y(p)r(ens.)639 1336 y Fi(\017)128 b Fp(Program)41
-b(error:)g(combining)f(incompatible)f(structures)722
-1465 y Fq(Y)-7 b(ou)24 b(get)g(this)h(error)d(when)i(y)n(ou)f(use)h(a)g
-Fp(delay)e Fq(comp)r(onen)n(t)i(or)f Fp(mux)g Fq(comp)r(onen)n(t)g(on)
-722 1565 y(structures)30 b(of)h(a)f(di\013eren)n(t)h(shap)r(e,)g(for)g
-(example)f(t)n(w)n(o)g(lists)h(of)f(di\013eren)n(t)h(lengths.)722
-1664 y(This)26 b(is)f(not)g(allo)n(w)n(ed,)f(since)h(the)h(length)f(of)
-h(a)e(list)i(needs)f(to)g(b)r(e)h(kno)n(wn)e(when)i(y)n(ou)722
-1764 y(ev)-5 b(aluate)27 b(the)h(circuit.)639 1922 y
-Fi(\017)128 b Fp(Program)41 b(error:)g(there)h(is)h(no)f(equality)f
-(defined)f(for)j(this)f(type)722 2050 y Fq(Sigh)23 b(...)36
-b(y)n(ou)22 b(get)h(this)g(error)e(when)i(y)n(ou)f(use)h(the)g(Hask)n
-(ell)f(equalit)n(y)h Fp(==)f Fq(on)g(a)h(signal)722 2150
-y(t)n(yp)r(e.)37 b(Y)-7 b(ou)28 b(probably)e(w)n(an)n(t)h(to)h(use)f
-(signal)g(equalit)n(y)g Fp(<==>)f Fq(instead.)639 2308
-y Fi(\017)128 b Fp(Program)41 b(error:)g(short)h(circuit)722
-2436 y Fq(This)23 b(happ)r(ens)f(when)h(y)n(ou)f(ha)n(v)n(e)f(a)h
-Fn(b)l(ad)h Fq(com)n(binational)f(lo)r(op)g(in)h(y)n(our)e(circuit,)i
-(and)722 2536 y(y)n(ou)34 b(constructiv)n(ely)f(sim)n(ulate)g(it)i
-(using)f Fp(simulateCon)p Fq(.)52 b(A)34 b(real)f(circuit)i(w)n(ould)
-722 2635 y(ha)n(v)n(e)27 b(oscillated.)36 b(An)28 b(example)f(is)h(the)
-g(follo)n(wing)e(circuit:)809 2814 y Fp(shortCircuit)39
-b(\(\))k(=)g(out)897 2913 y(where)984 3013 y(out)f(=)h(inv)g(out)639
-3191 y Fi(\017)128 b Fp(Program)41 b(error:)g(undriven)g(output)722
-3320 y Fq(This)22 b(also)f(happ)r(ens)i(when)f(y)n(ou)f(ha)n(v)n(e)g(a)
-h Fn(b)l(ad)h Fq(com)n(binational)e(lo)r(op)h(in)g(y)n(our)f(circuit.)
-722 3419 y(The)39 b(output)h(wire)e(is)h(not)g(driv)n(en)g(b)n(y)g(an)n
-(y)f(comp)r(onen)n(t.)71 b(An)39 b(example)g(is)g(the)722
-3519 y(follo)n(wing)27 b(circuit:)809 3697 y Fp(undrivenOutput)38
-b(\(\))43 b(=)g(out)897 3797 y(where)984 3897 y(out)f(=)h(and2)f
-(\(out,)g(out\))639 4075 y Fi(\017)128 b Fp(Program)41
-b(error:)g(you)i(can)f(not)g(enumerate)e(symbolic)g(values)722
-4203 y Fq(Y)-7 b(ou)29 b(get)g(this)g(error)e(when)i(y)n(ou)f(use)g
-Fp(..)40 b Fq(on)28 b(wires)g(from)h(a)f(circuit)h(instead)g(of)f(on)
-722 4303 y(constan)n(ts.)36 b(Use)28 b Fp(..)36 b Fq(only)27
-b(on)g(constan)n(ts!)639 4461 y Fi(\017)128 b Fp(Program)41
-b(error:)g(INTERNAL)g(ERROR)g(...)722 4589 y Fq(Oops!)34
-b(This)23 b(probably)e(means)h(that)g(there)h(is)f(a)g(bug)g(in)h(the)f
-(La)n(v)-5 b(a)21 b(system.)35 b(Please)722 4689 y(rep)r(ort)27
-b(this)h(bug)f(b)n(y)h(sending)f(y)n(our)f(program)g(to)h(us,)h(so)f
-(that)h(w)n(e)f(can)g(\014x)h(it.)515 4890 y(If)f(y)n(ou)e(ha)n(v)n(e)h
-(some)f(t)n(ypical)h(error)f(that)i(y)n(ou)e(w)n(ould)h(ha)n(v)n(e)f
-(lik)n(ed)i(to)f(app)r(ear)g(here,)g(please)515 4990
-y(e-mail)h(us)g(so)g(that)h(w)n(e)f(can)h(mak)n(e)e(this)i(list)g(more)
-f(complete.)1905 5255 y(78)p eop
-%%Page: 79 80
-79 79 bop 515 1186 a Fo(App)5 b(endix)65 b(B)515 1641
-y Fs(Answ)-6 b(ers)575 2105 y Fq(2.1)40 b(Here)28 b(is)f(ho)n(w)g(w)n
-(e)g(de\014ne)h Fp(swap)e Fq(and)i Fp(copy)p Fq(:)809
-2305 y Fp(swap)42 b(\(a,)h(b\))f(=)i(\(b,)e(a\))809 2404
-y(copy)g(a)261 b(=)44 b(\(a,)e(a\))575 2604 y Fq(2.2)e(W)-7
-b(e)28 b(could)g(de\014ne)g(the)f(sorter)g Fp(twoBitSort)c
-Fq(in)28 b(the)g(follo)n(wing)f(w)n(a)n(y:)809 2803 y
-Fp(twoBitSort)40 b(\(a,)i(b\))h(=)g(\(min,)f(max\))897
-2902 y(where)984 3002 y(min)g(=)h(and2)f(\(a,)h(b\))984
-3102 y(max)f(=)h(or2)86 b(\(a,)43 b(b\))575 3301 y Fq(2.3)d(Here)28
-b(is)f(the)h(constan)n(t)f Fp(alwaysHigh)c Fq(circuit:)809
-3500 y Fp(alwaysHigh)40 b(\(\))j(=)g(high)575 3699 y
-Fq(2.4)d(One)28 b(could)f(de\014ne)h(a)f Fp(multiplexer)c
-Fq(as)k(follo)n(ws:)809 3899 y Fp(multiplexer)39 b(\(c,\(x,y\)\))h(=)k
-(out)897 3998 y(where)984 4098 y(out)129 b(=)43 b(or2)86
-b(\(left,)42 b(right\))984 4198 y(left)85 b(=)43 b(and2)f(\(inv)g(c,)h
-(x\))984 4297 y(right)e(=)i(and2)f(\(c,)h(y\))722 4496
-y Fq(There)34 b(is)h(a)f(built-in)h(m)n(ultiplexer)g(in)g(La)n(v)-5
-b(a,)35 b(called)f Fp(mux)p Fq(.)57 b(Using)34 b(that)h(one,)h(w)n(e)
-722 4596 y(could)28 b(de\014ne:)809 4795 y Fp(multiplexer')39
-b(\(c,\(x,y\)\))h(=)j(mux)f(\(c,\(x,)g(y\)\))575 4995
-y Fq(2.5)e(A)28 b Fp(threeBitAdder)23 b Fq(can)k(b)r(e)h(de\014ned)g
-(as)f(follo)n(ws:)1905 5255 y(79)p eop
-%%Page: 80 81
-80 80 bop 809 523 a Fp(threeBitAdder)39 b(\(carryIn,)h(\(\(a1,b1,c1\),)
-e(\(a2,b2,c2\)\)\))h(=)897 623 y(\(\(a3,)i(b3,)h(c3\),)g(carryOut\))853
-722 y(where)897 822 y(\(a3,)g(carryA\))127 b(=)44 b(fullAdd)c
-(\(carryIn,)g(\(a1,)i(a2\)\))897 922 y(\(b3,)g(carryB\))127
-b(=)44 b(fullAdd)c(\(carryA,)84 b(\(b1,)42 b(b2\)\))897
-1021 y(\(c3,)g(carryOut\))d(=)44 b(fullAdd)c(\(carryB,)84
-b(\(c1,)42 b(c2\)\))575 1220 y Fq(3.2)e(W)-7 b(e)28 b(can)f(mak)n(e)g
-(use)h(of)f(the)h(adder)f(w)n(e)g(already)f(ha)n(v)n(e:)809
-1420 y Fp(adder2)42 b(\(as,)f(bs\))i(=)g(cs)897 1519
-y(where)984 1619 y(\(cs,)f(carryOut\))e(=)j(adder)e(\(low,)h(\(as,)g
-(bs\)\))575 1851 y Fq(3.3)e(The)c Fp(adder)e Fq(circuit)h(tak)n(es)g
-(as)g(an)g(input)i(a)e(pair)g(of)h(lists)g(of)f(bits,)j(whereas)d(the)
-722 1951 y Fp(adder')25 b Fq(circuit)j(gets)f(a)g(list)h(of)g(pairs)e
-(of)i(bits.)575 2117 y(3.4)40 b(Here)28 b(is)f(a)g(binary)g(n)n(um)n(b)
-r(er)g(to)h(in)n(teger)f(con)n(v)n(erter)e Fp(bin2int)p
-Fq(:)809 2316 y Fp(bin2int)41 b([])217 b(=)43 b(0)809
-2416 y(bin2int)e(\(b:bs\))g(=)i(num)897 2516 y(where)984
-2615 y(num')f(=)h(bin2int)e(bs)984 2715 y(num)86 b(=)43
-b(bit2int)e(b)i(+)g(2)g(*)g(num')575 2914 y Fq(3.5)d(Here)28
-b(is)f(ho)n(w)g(w)n(e)g(can)g(de\014ne)h Fp(zipp)p Fq(:)809
-3113 y Fp(zipp)42 b(\([],)129 b([]\))h(=)43 b([])809
-3213 y(zipp)f(\(a:as,)f(b:bs\))h(=)h(\(a,b\))f(:)h(rest)897
-3313 y(where)984 3412 y(rest)f(=)h(zipp)f(\(as,)g(bs\))722
-3611 y Fq(And)28 b(here)g(is)f(ho)n(w)g(w)n(e)g(de\014ne)h
-Fp(unzipp)p Fq(:)809 3811 y Fp(unzipp)42 b([])435 b(=)43
-b(\([],)129 b([]\))809 3910 y(unzipp)42 b(\(\(a,b\):abs\))d(=)k
-(\(a:as,)e(b:bs\))897 4010 y(where)984 4110 y(\(as,)h(bs\))g(=)h
-(unzipp)e(abs)575 4309 y Fq(3.6)f(Here)28 b(is)f(ho)n(w)g(w)n(e)g(can)g
-(de\014ne)h Fp(pair)p Fq(:)809 4508 y Fp(pair)42 b(\(x:y:xs\))f(=)i
-(\(x,y\))e(:)j(pair)d(xs)809 4608 y(pair)h(xs)305 b(=)43
-b([])722 4807 y Fq(W)-7 b(e)27 b(c)n(ho)r(ose)f(to)h(ignore)e(the)i
-(last)f(input)i(if)f(the)g(n)n(um)n(b)r(er)g(of)g(elemen)n(ts)f(is)h(o)
-r(dd.)36 b(And)722 4907 y(here)27 b(is)h(ho)n(w)f(w)n(e)g(de\014ne)h
-Fp(unpair)p Fq(:)1905 5255 y(80)p eop
-%%Page: 81 82
-81 81 bop 809 523 a Fp(unpair)42 b(\(\(x,y\):xys\))d(=)k(x)g(:)g(y)g(:)
-g(unpair)f(xys)809 623 y(unpair)g([])435 b(=)43 b([])575
-821 y Fq(3.7)d(This)28 b(is)f(ho)n(w)g(w)n(e)h(can)f(de\014ne)h
-(parallel)e(comp)r(osition)h(of)h(circuits)f Fp(par)p
-Fq(:)809 1019 y Fp(par)43 b(circ1)e(circ2)h(\(a,)g(b\))h(=)g(\(c,)f
-(d\))897 1118 y(where)984 1218 y(c)h(=)g(circ1)f(a)984
-1317 y(d)h(=)g(circ2)f(b)575 1515 y Fq(3.9)e(Here)28
-b(is)f(ho)n(w)g(w)n(e)g(can)g(de\014ne)h Fp(column)p
-Fq(:)809 1713 y Fp(column)42 b(circ)f(\([],)h(carryIn\))128
-b(=)43 b(\(carryIn,)d([]\))809 1913 y(column)i(circ)f(\(a:as,)h
-(carryIn\))e(=)j(\(carryOut,)c(b:bs\))897 2012 y(where)984
-2112 y(\(carry,)h(b\))218 b(=)43 b(circ)f(\(a,)g(carryIn\))984
-2211 y(\(carryOut,)d(bs\))k(=)g(column)e(circ)h(\(as,)g(carry\))722
-2409 y Fq(Here)37 b(is)g(ho)n(w)g(w)n(e)g(can)g(de\014ne)h
-Fp(column)d Fq(in)i(terms)g(of)g Fp(row)p Fq(.)65 b(First,)40
-b(w)n(e)d(de\014ne)g(a)722 2509 y(connection)27 b(pattern)f(called)h
-Fp(mirror)p Fq(,)e(whic)n(h)h(sw)n(aps)g(the)h(left)h(and)f(righ)n(t)f
-(parts)g(of)722 2609 y(input)j(and)e(output:)809 2807
-y Fp(mirror)42 b(circ)f(\(a,)i(b\))g(=)g(\(c,)f(d\))897
-2906 y(where)984 3006 y(\(d,)g(c\))h(=)g(circ)f(\(b,)g(a\))722
-3204 y Fq(And)28 b(then,)h(w)n(e)e(use)g Fp(row)g Fq(and)g(mirror)f
-(the)i(input)h(to)e Fp(row)p Fq(:)809 3402 y Fp(column)42
-b(circ)f(\(as,)h(carryIn\))f(=)i(\(carryOut,)c(bs\))897
-3501 y(where)984 3601 y(\(bs,)j(carryOut\))e(=)j(row)f(\(mirror)f
-(circ\))g(\(carryIn,)f(as\))722 3799 y Fq(W)-7 b(e)28
-b(could)g(ev)n(en)f(sa)n(y:)809 3997 y Fp(column)42 b(circ)f(=)j
-(mirror)d(\(row)h(\(mirror)e(circ\)\))533 4195 y Fq(3.10)g(W)-7
-b(e)28 b(could)g(de\014ne)g Fp(grid)e Fq(as:)809 4393
-y Fp(grid)42 b(circ)g(\(as,)g(bs\))h(=)g(\(cs,)f(ds\))897
-4492 y(where)984 4592 y(\(cs,)g(ds\))g(=)h(row)g(\(column)d(circ\))i
-(\(as,)g(bs\))722 4790 y Fq(Or,)27 b(ev)n(en)g(shorter:)809
-4988 y Fp(grid)42 b(circ)g(=)h(row)g(\(column)e(circ\))1905
-5255 y Fq(81)p eop
-%%Page: 82 83
-82 82 bop 533 523 a Fq(3.13)40 b(Here)28 b(is)f(ho)n(w)g(w)n(e)g
-(de\014ne)h(a)f Fp(swapper)p Fq(:)809 722 y Fp(swapper)41
-b(\(swap,)g(\(a,)i(b\)\))f(=)h(\(x,)f(y\))897 822 y(where)984
-922 y(\(x,)g(y\))h(=)g(mux)f(\(swap,)g(\(\(a,)f(b\),)i(\(b,)f(a\)\)\))
-575 1121 y Fq(4.1)e(The)28 b(\014rst)f(prop)r(ert)n(y)g(can)g(b)r(e)h
-(de\014ned)g(as:)809 1320 y Fp(prop_SorterHasSor)o(ted)o(Ou)o(tpu)o(t)
-37 b(\(a,)43 b(b\))f(=)i(ok)897 1420 y(where)984 1519
-y(\(x,)e(y\))h(=)g(twoBitSort)d(\(a,)i(b\))984 1619 y(ok)217
-b(=)43 b(or2)f(\(inv)g(x,)h(y\))86 b(--)43 b Fl(x)g(<=)g(y)722
-1818 y Fq(The)28 b(second)f(prop)r(ert)n(y)f(can)i(b)r(e)g(stated)f
-(as:)809 2017 y Fp(prop_SorterHasSam)o(eBi)o(ts)37 b(\(a,)42
-b(b\))h(=)g(ok)897 2117 y(where)984 2217 y(\(x,)f(y\))86
-b(=)44 b(twoBitSort)39 b(\(a,)j(b\))984 2316 y(same)172
-b(=)44 b(\(a,)e(b\))h(<==>)f(\(x,)g(y\))984 2416 y(swapped)e(=)k(\(a,)e
-(b\))h(<==>)f(\(y,)g(x\))984 2516 y(ok)260 b(=)44 b(or2)e(\(same,)f
-(swapped\))575 2715 y Fq(4.4)f(T)-7 b(o)28 b(c)n(hec)n(k)e(that)i(the)g
-(subtractor)e(really)h(subtracts,)g(w)n(e)g(can)g(de\014ne:)809
-2914 y Fp(prop_SubtractorSu)o(btr)o(ac)o(ts)37 b(\(as,)42
-b(bs\))g(=)i(ok)897 3014 y(where)984 3113 y(cs)86 b(=)43
-b(subtractor)d(\(as,)i(bs\))984 3213 y(as')g(=)h(adder2)e(\(cs,)h(bs\))
-984 3313 y(ok)86 b(=)43 b(as)g(<==>)f(as')575 3512 y
-Fq(4.5)e(Here)28 b(is)f(the)h(general)e(prop)r(ert)n(y)h(of)g(asso)r
-(ciativit)n(y:)809 3711 y Fp(prop_Associative)37 b(circ)42
-b(\(as,)g(bs,)h(cs\))f(=)h(ok)897 3811 y(where)984 3910
-y(out1)f(=)h(circ)f(\(as,)g(circ)g(\(bs,)g(cs\)\))984
-4010 y(out2)g(=)h(circ)f(\(circ)f(\(as,)h(bs\),)g(cs\))984
-4110 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)575 4309 y
-Fq(4.8)e(One)28 b(can)f(de\014ne)h(a)f(general)f(v)n(erify)h(function,)
-h(as)f(follo)n(ws:)809 4508 y Fp(verifyFor)40 b(prop)i(ns)h(=)g
-(sequence)d([)k(prop)e(n)h(|)g(n)g(<-)g(ns)g(])722 4707
-y Fq(and)28 b(v)n(erify)f(a)g(prop)r(ert)n(y)f(b)n(y)i(sa)n(ying)e(for)
-h(example:)809 4907 y Fp(Main>)42 b Fl(verifyFor)e(prop_AdderCommut)o
-(at)o(ive)o(_F)o(or)o(Siz)o(e)d([1..32])809 5006 y Fp(...)1905
-5255 y Fq(82)p eop
-%%Page: 83 84
-83 83 bop 575 523 a Fq(5.1)40 b(W)-7 b(e)28 b(can)f(de\014ne)h
-Fp(evenSoFar)c Fq(as)j(follo)n(ws:)809 694 y Fp(evenSoFar)40
-b(inp)j(=)g(out)897 794 y(where)984 893 y(out)86 b(=)43
-b(delay)e(high)h(even)984 993 y(even)g(=)h(xor2)f(\(inp,)f(even\))722
-1164 y Fq(This)28 b(is)f Fn(almost)i Fq(the)f(same)f(as)f(the)i
-Fp(toggle)e Fq(circuit.)575 1319 y(5.2)40 b(W)-7 b(e)28
-b(can)f(de\014ne)h Fp(flipFlop)d Fq(as)i(follo)n(ws:)809
-1490 y Fp(flipFlop)41 b(\(set,)g(reset\))g(=)j(state)897
-1589 y(where)984 1689 y(state')d(=)i(delay)f(low)g(state)984
-1789 y(state)85 b(=)43 b(and2)f(\(up,)g(inv)g(reset\))984
-1888 y(up)217 b(=)43 b(or2)f(\(state',)f(set\))575 2059
-y Fq(5.3)f(W)-7 b(e)28 b(can)f(de\014ne)h Fp(delayClk)d
-Fq(as)i(follo)n(ws:)809 2230 y Fp(delayClk)41 b(init)h(\(clk,)f(inp\))h
-(=)h(out)897 2330 y(where)984 2429 y(out)f(=)h(delay)f(init)g(val)984
-2529 y(val)g(=)h(mux)g(\(clk,)e(\(out,)h(inp\)\))575
-2700 y Fq(5.4)e(The)28 b(circuit)f Fp(always)f Fq(can)h(b)r(e)h
-(de\014ned)g(as)f(follo)n(ws:)809 2871 y Fp(always)42
-b(inp)g(=)h(ok)897 2971 y(where)984 3070 y(sofar)e(=)i(delay)f(high)g
-(ok)984 3170 y(ok)173 b(=)43 b(and2)f(\(inp,)g(sofar\))575
-3341 y Fq(5.5)e(The)28 b(circuits)f(are:)809 3512 y Fp(pulsSix6)41
-b(\(\))h(=)i(out)897 3611 y(where)984 3711 y(out)e(=)h(puls)f(6)h(\(\))
-741 b(--)42 b Fl(000001...)809 3910 y Fp(pulsSix5)f(\(\))h(=)i(out)897
-4010 y(where)984 4110 y(a)130 b(=)43 b(puls)f(2)h(\(\))741
-b(--)42 b Fl(010101...)984 4209 y Fp(b)130 b(=)43 b(puls)f(3)h(\(\))741
-b(--)42 b Fl(001001...)984 4309 y Fp(out)g(=)h(and2)f(\(a,)h(b\))809
-4508 y(pulsSix3)e(\(\))h(=)i(out)897 4608 y(where)984
-4707 y(a)130 b(=)43 b(delay)f(low)g(\(inv)g(a\))392 b(--)42
-b Fl(010101...)984 4807 y Fp(b)130 b(=)43 b(delay)f(low)g(\(xor2)g
-(\(b,)g(c\)\))130 b(--)42 b Fl(001001...)984 4907 y Fp(c)130
-b(=)43 b(delay)f(low)g(\(nand2)f(\(b,)i(c\)\))86 b(--)42
-b Fl(011011...)984 5006 y Fp(out)g(=)h(and2)f(\(a,)h(b\))1905
-5255 y Fq(83)p eop
-%%Page: 84 85
-84 84 bop 575 523 a Fq(5.6)40 b(Using)28 b(a)f(coun)n(ter,)g(w)n(e)g
-(can)g(de\014ne)h Fp(puls2)e Fq(as)g(follo)n(ws:)809
-722 y Fp(puls2)42 b(k)h(\(\))g(=)g(out)897 822 y(where)984
-922 y(number)e(=)i(counter)e(k)i(\(\))984 1021 y(out)173
-b(=)43 b(norl)f(number)575 1220 y Fq(5.7)e(W)-7 b(e)28
-b(can)f(de\014ne)h(the)g(circuit)g Fp(counterUpDown)22
-b Fq(as)27 b(follo)n(ws:)809 1420 y Fp(counterUpDown)39
-b(n)k(\(up,)f(down\))f(=)i(number)897 1519 y(where)940
-1619 y(number')e(=)i(delay)f(\(zeroList)d(n\))k(number)940
-1719 y(number)85 b(=)43 b(adder2)e(\(diff,)g(number'\))940
-1818 y(diff)173 b(=)43 b(one)f(:)i(replicate)39 b(\(n-1\))j(rest)940
-1918 y(one)217 b(=)43 b(or2)f(\(up,)g(down\))303 b(--)43
-b Fl(should)e(I)i(change?)940 2017 y Fp(rest)173 b(=)43
-b(and2)f(\(inv)g(up,)g(down\))85 b(--)43 b Fl(+1)g(or)g(-1?)575
-2217 y Fq(5.9)d(Here)28 b(is)f(ho)n(w)g(w)n(e)g(could)h(de\014ne)f
-Fp(synchronize)p Fq(:)809 2416 y Fp(synchronize)39 b(\(go1,)j(go2\))g
-(=)h(go)897 2516 y(where)984 2615 y(both)f(=)h(and2)f(\(go1,)f(go2\))
-984 2715 y(one)86 b(=)43 b(xor2)f(\(go1,)f(go2\))984
-2814 y(wait)h(=)h(delay)e(low)i(\(xor2)e(\(one,)h(wait\)\))984
-2914 y(go)130 b(=)43 b(or2)f(\(both,)f(and2)h(\(wait,)f(one\)\))533
-3113 y Fq(5.10)f(First,)25 b(w)n(e)g(de\014ne)f(the)h(follo)n(wing)f
-(help)r(er)g(circuit)h Fp(outputDone)p Fq(.)32 b(It)25
-b(do)r(es)f(the)h(same)722 3213 y(as)g(output,)i(but)f(tak)n(es)e(an)h
-(extra)g(parameter)f Fp(done)p Fq(,)g(the)i(signal)f(to)g(output)h(at)g
-(the)722 3313 y(time)i(when)g(the)g(list)g(is)f(empt)n(y)-7
-b(.)809 3512 y Fp(outputDone)40 b([])j(done)f(\(\))g(=)i(done)809
-3711 y(outputDone)c(\(sig:sigs\))f(done)j(\(\))h(=)g(out)897
-3811 y(where)984 3910 y(out)86 b(=)43 b(delay)e(sig)i(rest)984
-4010 y(rest)f(=)h(outputDone)c(sigs)j(done)g(\(\))722
-4209 y Fq(No)n(w,)27 b(w)n(e)h(can)f(de\014ne)h(the)g(circuit)f
-Fp(outputList)d Fq(as)j(follo)n(ws:)809 4408 y Fp(outputList)40
-b(sigs)i(\(\))h(=)g(out)897 4508 y(where)984 4608 y(out)f(=)h
-(outputDone)d(sigs)i(out)g(\(\))575 4807 y Fq(6.2)e(Here)28
-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(that:)1905
-5255 y(84)p eop
-%%Page: 85 86
-85 85 bop 809 523 a Fp(prop_Edge_vs_Even)37 b(inp)42
-b(=)i(ok)897 623 y(where)984 722 y(out1)e(=)h(edge)f(inp)984
-822 y(out2)g(=)h(evenSoFar)d(inp)984 922 y(ok)130 b(=)43
-b(inv)f(\(out1)g(<==>)g(out2\))575 1089 y Fq(6.3)e(Here)28
-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(if)i(they)g(are)f
-(equiv)-5 b(alen)n(t:)809 1257 y Fp(prop_PulsSixEquiv)o(ale)o(nt)37
-b(\(\))43 b(=)g(ok)897 1356 y(where)984 1456 y(out3)f(=)h(pulsSix3)d
-(\(\))984 1556 y(out5)i(=)h(pulsSix5)d(\(\))984 1655
-y(out6)i(=)h(pulsSix6)d(\(\))984 1855 y(ok35)i(=)h(out3)f(<==>)g(out5)
-984 1954 y(ok56)g(=)h(out5)f(<==>)g(out6)984 2054 y(ok)130
-b(=)43 b(and2)f(\(ok35,)f(ok56\))722 2221 y Fq(These)28
-b(can)f(b)r(e)h(v)n(eri\014ed)f(with)h(induction)g(depth)g(6)f(or)g(7.)
-575 2375 y(6.4)40 b(Here)28 b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)
-n(ks)e(if)i(they)g(are)f(equiv)-5 b(alen)n(t:)809 2542
-y Fp(prop_PulsesEquiva)o(len)o(t)37 b(k)44 b(\(\))e(=)h(ok)897
-2642 y(where)984 2742 y(out1)f(=)h(puls)f(\(2^k\))f(\(\))984
-2841 y(out2)h(=)h(puls2)e(k)j(\(\))984 2941 y(ok)130
-b(=)43 b(out1)f(<==>)g(out2)575 3109 y Fq(6.5)e(Here)28
-b(is)f(a)g(prop)r(ert)n(y)g(that)h(c)n(hec)n(ks)e(that:)809
-3276 y Fp(prop_CountingUp)38 b(n)43 b(up)g(=)g(ok)897
-3376 y(where)984 3475 y(out1)f(=)h(counterUp)d(n)j(up)984
-3575 y(out2)f(=)h(counterUpDown)38 b(n)43 b(\(up,)f(low\))984
-3675 y(ok)130 b(=)43 b(out1)f(<==>)g(out2)575 3842 y
-Fq(6.6)e(Here)28 b(is)f(ho)n(w)g(w)n(e)g(could)h(de\014ne)f(the)h(prop)
-r(ert)n(y)-7 b(.)809 4010 y Fp(prop_ToggleTwiceS)o(tay)o(sS)o(ame)37
-b(inp)42 b(=)h(ok)897 4110 y(where)984 4209 y(out)216
-b(=)44 b(toggle)d(inp)984 4309 y(out')172 b(=)44 b(delay)d(low)i(out)
-984 4408 y(out'')128 b(=)44 b(delay)d(low)i(out')984
-4508 y(sameOut)d(=)k(out)e(<==>)g(out'')984 4707 y(inp')172
-b(=)44 b(delay)d(low)i(inp)984 4807 y(sameInp)d(=)k(inp)e(<==>)g(inp')
-984 5006 y(ok)260 b(=)44 b(sameInp)c(==>)j(sameOut)1905
-5255 y Fq(85)p eop
-%%Page: 86 87
-86 86 bop 722 523 a Fq(First)25 b(w)n(e)f(compute)g(the)h(output)g
-(from)f(the)h(input.)37 b(Then,)25 b(w)n(e)f(de\014ne)h(the)g(outputs)
-722 623 y(and)30 b(inputs)g(at)f(sev)n(eral)f(di\013eren)n(t)h(p)r(oin)
-n(ts)g(in)h(time.)43 b(And)30 b(then)g(w)n(e)f(compute)h(the)722
-722 y(implication.)575 879 y(7.1)40 b(Here)28 b(are)e(the)i(prop)r
-(erties)f(whic)n(h)g(state)h(this:)809 1053 y Fp(prop_ToggleHighLo)o
-(w_S)o(lo)o(wed)o(Do)o(wn)37 b(\(\))43 b(=)g(ok)897 1153
-y(where)984 1253 y(load)85 b(=)43 b(puls)f(2)i(\(\))984
-1352 y(out1)85 b(=)43 b(highLow)e(\(\))984 1452 y(out1')g(=)i
-(parallelToSerial)37 b(\(load,)42 b(out1\))984 1552 y(out2)85
-b(=)43 b(toggle)f(high)984 1651 y(ok)173 b(=)43 b(out1')f(<==>)g(out2)
-809 1850 y(prop_ToggleHighLo)o(w_S)o(pe)o(dUp)37 b(\(\))42
-b(=)i(ok)897 1950 y(where)984 2050 y(out1)85 b(=)43 b(highLow)e(\(\))
-984 2149 y(out2)85 b(=)43 b(timeTransform)c(toggle)i([high,high])984
-2249 y(ok)173 b(=)43 b(out1)f(<==>)g(out2)722 2424 y
-Fq(Note)29 b(that)h(w)n(e)f(do)f(not)i(need)f(to)g(use)g(a)f(serial)g
-(to)h(parallel)f(con)n(v)n(erter)f(in)j(the)f(\014rst)722
-2523 y(prop)r(ert)n(y)e(since)g Fp(highLow)e Fq(do)r(es)i(not)h(ha)n(v)
-n(e)e(an)n(y)h(in)n(teresting)g(input.)575 2680 y(7.2)40
-b(Slo)n(wing)31 b(do)n(wn)f(a)h(circuit)g(means)g(that)g(there)g(are)f
-(only)h(a)g(few)g(imp)r(ortan)n(t)g(clo)r(c)n(k)722 2779
-y(cycles,)h(and)g(w)n(e)f(ignore)f(all)i(unimp)r(ortan)n(t)f(clo)r(c)n
-(k)g(cycles.)48 b(If)32 b(w)n(e)f(do)h(not)f(lo)r(ok)g(at)722
-2879 y(some)g(outputs,)j(w)n(e)d(cannot)g(sa)n(y)g(an)n(ything)g(ab)r
-(out)g(ho)n(w)g(the)i(circuit)e(b)r(eha)n(v)n(es)g(in)722
-2979 y(these)d(outputs.)39 b(The)28 b(slo)n(w)n(ed)f(do)n(wn)h(prop)r
-(ert)n(y)f(migh)n(t)h(b)r(e)g(true,)g(but)h(the)f(circuits)722
-3078 y(are)f(not)g(equiv)-5 b(alen)n(t.)575 3234 y(7.3)40
-b(Y)-7 b(es,)28 b(here)f(there)h(is)f(no)g(problem.)575
-3391 y(8.1)40 b(No,)23 b(parallel)e(comp)r(osition)g(is)h(not)g(asso)r
-(ciativ)n(e.)33 b Fp(\(a,\(b,c\)\))18 b Fq(and)k Fp(\(\(a,b\),c\))c
-Fq(are)722 3490 y(not)28 b(the)g(same.)575 3647 y(8.2)40
-b(Y)-7 b(es,)28 b(they)g(are)e(the)i(same.)575 3803 y(8.3)40
-b(One)28 b(p)r(ossibilit)n(y)f(to)g(de\014ne)h Fp(tri)f
-Fq(is)809 3978 y Fp(tri)43 b(circ)f([])391 b(=)43 b([])809
-4077 y(tri)g(circ)f(\(inp:inps\))d(=)k(inp)g(:)g(outs)897
-4177 y(where)984 4277 y(outs)f(=)h(\(map)f(circ)g(->-)g(tri)g(circ\))g
-(inps)722 4451 y Fq(There)33 b(are)g(man)n(y)g(other)g(w)n(a)n(ys)f(of)
-h(de\014ning)h(it.)55 b(F)-7 b(or)33 b(example,)h(y)n(ou)f(should)g
-(try)722 4551 y(de\014ning)28 b Fp(tri)e Fq(using)i Fp(composeN)p
-Fq(.)575 4707 y(8.6)40 b(W)-7 b(e)29 b(giv)n(e)f(a)g(de\014nition)h
-(that)f(closely)g(re\015ects)g(our)g(informal)g(explanation)f(of)i(ho)n
-(w)722 4807 y(a)g(card)f(sharp)g(sh)n(u\017es)g(the)h(pac)n(k.)40
-b(He)29 b(halv)n(es)f(it,)i(zips)f(the)g(t)n(w)n(o)f(halv)n(es)g
-(together)722 4907 y(\(to)e(get)f(a)f(lot)i(of)f(pairs)f(of)h(cards\))g
-(whic)n(h)g(he)g(then)h(pats)f(carefully)f(on)h(the)h(sides)f(so)722
-5006 y(as)i(to)h(unstic)n(k)f(the)h(pairs.)1905 5255
-y(86)p eop
-%%Page: 87 88
-87 87 bop 809 523 a Fp(riffle)42 b(=)h(halveList)d(->-)i(zipp)g(->-)g
-(unpair)722 722 y Fq(W)-7 b(e)28 b(use)g(the)g(circuit)f
-Fp(zipp)p Fq(,)f(whic)n(h)i(w)n(e)f(de\014ned)h(in)g(exercise)e(3.5.)
-575 888 y(8.7)40 b(This)28 b(de\014nition)g(is)f(exactly)g(the)h(in)n
-(v)n(erse)e(of)i(the)g(de\014nition)g(of)f Fp(riffle)p
-Fq(:)809 1088 y Fp(unriffle)41 b(=)i(pair)f(->-)g(unzipp)f(->-)i
-(append)575 1287 y Fq(8.8)d(W)-7 b(e)28 b(need)g(to)f(v)n(erify)g(t)n
-(w)n(o)g(prop)r(erties:)816 1453 y Fr({)41 b Fq(The)33
-b(output)h(of)g(the)g(sorter)e(is)h(sorted.)54 b(W)-7
-b(e)34 b(can)f(v)n(erify)f(this)i(b)n(y)f(c)n(hec)n(king)905
-1553 y(that)25 b(the)h(\014rst)f(output)g(is)g(smaller)g(than)g(the)g
-(second,)g(the)h(second)f(output)g(is)905 1652 y(smaller)i(than)g(the)h
-(third,)g(etc.)816 1785 y Fr({)41 b Fq(The)36 b(bits)h(in)g(the)f
-(output)h(are)e(the)i(same)f(as)f(the)i(bits)g(in)f(the)h(input,)i(but)
-905 1885 y(ma)n(yb)r(e)19 b(in)g(a)g(di\013eren)n(t)h(order.)32
-b(W)-7 b(e)20 b(can)f(v)n(erify)f(this)i(b)n(y)f(coun)n(ting)g(the)g(n)
-n(um)n(b)r(er)905 1984 y(of)i(high)f(inputs)i(and)e(high)h(outputs,)h
-(and)f(c)n(hec)n(king)f(that)h(they)g(are)e(the)j(same.)722
-2150 y(The)28 b(details)f(are)g(left)h(to)g(the)g(reader.)533
-2316 y(8.10)40 b(On)e(inputs)h(of)f(length)g(2)1547 2286
-y Fg(n)1592 2316 y Fq(,)j Fj(n)d Fq(ri\017es)g(in)g(a)g(ro)n(w)f(gets)g
-(y)n(ou)h(bac)n(k)f(to)h(where)g(y)n(ou)722 2416 y(started.)809
-2615 y Fp(Main>)k Fl(simulate)e(\(composeN)g(4)j(riffle\))e(\(map)h
-(int)g([1..\(2^4\)]\))809 2715 y Fp([1,2,3,4,5,6,7,8,)o(9,1)o(0,)o(11,)
-o(12)o(,1)o(3,1)o(4,)o(15,)o(16)o(])533 2914 y Fq(8.13)e(Here)28
-b(is)f(ho)n(w)g(w)n(e)g(de\014ne)h(the)g(butter\015y)g(circuit)f
-(iterativ)n(ely:)809 3113 y Fp(ibfly)42 b(0)h(circ)f(=)h(id)809
-3213 y(ibfly)f(n)h(circ)f(=)897 3313 y(compose)e([ilvN)i(\(n-1-j\))f
-(\(twoN)g(j)i(circ\))f(|)h(j)g(<-)g([0..\(n-1\)]])575
-3512 y Fq(9.1)d(W)-7 b(e)27 b(could)g(mak)n(e)e(the)i(follo)n(wing)f(c)
-n(hange)f(to)h(the)h(lo)r(cal)f(de\014nition)h(of)g Fp(component)p
-Fq(:)809 3711 y Fp(component)40 b(state)i(=)h(\(activated,)c(emits\))
-897 3811 y(where)984 3910 y(init)260 b(=)43 b(state)e(`elem`)g(initial)
-g(machine)984 4010 y(activated)f(=)j(activating)c(state)984
-4110 y(active)172 b(=)43 b(delay)e(\(bool)h(init\))f(activated)984
-4209 y(...)722 4408 y Fq(The)28 b(rest)f(of)h(the)g(de\014nition)g(sta)
-n(ys)e(the)i(same.)1905 5255 y(87)p eop
-%%Page: 88 89
-88 88 bop 515 1227 a Fs(Bibliograph)-6 b(y)556 1703 y
-Fq([1])41 b(K.E.)31 b(Batc)n(her.)45 b(Sorting)31 b(net)n(w)n(orks)e
-(and)i(their)g(applications.)46 b(In)31 b Fn(AFIPS)i(Spring)685
-1803 y(Joint)d(Computing)g(Confer)l(enc)l(e)p Fq(,)f(v)n(olume)e(32,)g
-(1969.)556 1969 y([2])41 b(P)n(er)36 b(Bjesse.)66 b(Automatic)38
-b(v)n(eri\014cation)e(of)h(com)n(binational)f(and)h(pip)r(elined)i(FFT)
-685 2068 y(circuits.)e(In)28 b Fn(Computer)i(A)n(ide)l(d)g(V)-6
-b(eri\014c)l(ation)p Fq(.)28 b(Springer)f(V)-7 b(erlag,)26
-b(July)i(1999.)556 2234 y([3])41 b(P)n(er)f(Bjesse,)45
-b(Ko)r(en)40 b(Claessen,)k(Mary)c(Sheeran,)k(and)e(Satnam)f(Singh.)77
-b(La)n(v)-5 b(a)40 b(-)685 2334 y(Hardw)n(are)d(design)g(in)i(Hask)n
-(ell.)68 b(In)38 b Fn(International)i(Confer)l(enc)l(e)g(on)g(F)-6
-b(unctional)685 2434 y(Pr)l(o)l(gr)l(amming)p Fq(.)29
-b(A)n(CM)f(SigPlan,)e(Sept.)i(1998.)556 2600 y([4])41
-b(J.W.)21 b(Co)r(oley)f(and)g(J.W.)g(T)-7 b(uk)n(ey)g(.)25
-b(An)c(algorithm)e(for)h(the)h(mac)n(hine)f(computation)g(of)685
-2699 y(complex)j(fourier)f(series.)27 b(In)c Fn(Mathematics)k(of)f
-(Computation,)i(19)p Fq(,)d(pages)c(297{301,)685 2799
-y(1965.)556 2965 y([5])41 b(Alexandre)35 b(F)-7 b(rey)g(,)38
-b(G)n(\023)-39 b(erard)33 b(Berry)-7 b(,)37 b(P)n(atrice)d(Bertin,)j(F)
--7 b(ran\030)-37 b(cois)35 b(Bourdoncle,)h(and)685 3065
-y(Jean)f(V)-7 b(uillemin.)62 b(Jazz.)d(Av)-5 b(ailable)35
-b(from)h Fp(http://www.cma.)o(en)o(smp)o(.f)o(r/j)o(az)o(z)p
-Fq(,)685 3164 y(1998.)556 3330 y([6])41 b(Nicolas)28
-b(Halb)n(w)n(ac)n(hs,)e(P)n(aul)h(Caspi,)h(P)n(ascal)e(Ra)n(ymond,)i
-(and)g(Daniel)g(Pilaud.)38 b(The)685 3430 y(sync)n(hronous)19
-b(data\015o)n(w)h(programming)f(language)g(LUSTRE.)25
-b Fn(Pr)l(o)l(c.)g(IEEE)p Fq(,)d(79\(9\),)685 3530 y(1991.)556
-3696 y([7])41 b(Stev)n(en)34 b(Johnson.)56 b Fn(Synthesis)36
-b(of)g(Digital)h(Designs)f(fr)l(om)g(R)l(e)l(cursion)f(Equations)p
-Fq(.)685 3795 y(The)28 b(A)n(CM)g(Distinguished)g(Dissertation)f
-(Series,)g(The)g(MIT)h(Press,)e(1984.)556 3961 y([8])41
-b(M.)66 b(P)-7 b(.)65 b(Jones.)149 b(The)65 b(Hugs)g(distribution.)150
-b(Curren)n(tly)64 b(a)n(v)-5 b(ailable)64 b(from)685
-4061 y Fp(http://haskell.or)o(g/h)o(ug)o(s)-6 b Fq(,)28
-b(1999.)556 4227 y([9])41 b(Simon)35 b(P)n(eyton)f(Jones,)i(John)e
-(Hughes,)i(\(editors\),)h(Lennart)d(Augustsson,)i(Da)n(v)n(e)685
-4327 y(Barton,)44 b(Brian)c(Boutel,)k(W)-7 b(arren)40
-b(Burton,)k(Joseph)c(F)-7 b(asel,)44 b(Kevin)c(Hammond,)685
-4426 y(Ralf)f(Hinze,)i(P)n(aul)c(Hudak,)k(Thomas)c(Johnsson,)j(Mark)d
-(Jones,)j(John)e(Launc)n(h-)685 4526 y(bury)-7 b(,)45
-b(Erik)40 b(Meijer,)k(John)c(P)n(eterson,)j(Alastair)d(Reid,)45
-b(Colin)c(Runciman,)j(and)685 4625 y(Philip)30 b(W)-7
-b(adler.)42 b(Rep)r(ort)30 b(on)f(the)h(Programming)d(Language)g(Hask)n
-(ell)i(98,)g(a)g(Non-)685 4725 y(strict,)f(Purely)e(F)-7
-b(unctional)28 b(Language.)35 b(Av)-5 b(ailable)27 b(from)g
-Fp(http://haskell.or)o(g)p Fq(,)685 4825 y(F)-7 b(ebruary)27
-b(1999.)1905 5255 y(88)p eop
-%%Page: 89 90
-89 89 bop 515 523 a Fq([10])40 b(W)-7 b(a)n(yne)29 b(Luk,)h(Gerain)n(t)
-f(Jones,)g(and)h(Mary)e(Sheeran.)42 b(Computer-based)29
-b(to)r(ols)g(for)685 623 y(regular)j(arra)n(y)g(design.)55
-b(In)34 b(J)f(McCann)n(y)-7 b(,)35 b(J)e(McWhirter,)j(and)d(E)h(Sw)n
-(artzlander,)685 722 y(editors,)28 b Fn(Systolic)k(A)n(rr)l(ay)f(Pr)l
-(o)l(c)l(essors)p Fq(,)e(pages)f(589)f({)h(598.)f(Pren)n(tice-Hall)g
-(In)n(terna-)685 822 y(tional,)h(1989.)515 988 y([11])40
-b(John)24 b(Matthews)h(and)f(John)g(Launc)n(h)n(bury)-7
-b(.)30 b(Elemen)n(tary)23 b(microarc)n(hitecture)f(alge-)685
-1088 y(bra.)29 b(In)23 b Fn(Int.)i(Conf.)h(on)g(Computer)g(A)n(ide)l(d)
-g(V)-6 b(eri\014c)l(ation)p Fq(.)23 b(Springer)f(V)-7
-b(erlag,)23 b(LNCS,)685 1187 y(1999.)515 1353 y([12])40
-b(John)20 b(O'Donnell.)25 b(F)-7 b(rom)20 b(transistors)e(to)j
-(computer)f(arc)n(hitecture:)32 b(T)-7 b(eac)n(hing)19
-b(func-)685 1453 y(tional)i(circuit)f(sp)r(eci\014cation)h(in)g(Hydra.)
-k(In)c Fn(F)-6 b(unctional)23 b(Pr)l(o)l(gr)l(amming)i(L)l(anguages)685
-1553 y(in)30 b(Educ)l(ation)p Fq(.)f(Springer)d(V)-7
-b(erlag,)27 b(LNCS,)h(1996.)515 1719 y([13])40 b(Mary)27
-b(Sheeran.)36 b Fj(\026)p Fq(FP)-7 b(,)27 b(an)g(algebraic)f(VLSI)i
-(design)f(language.)35 b(PhD)27 b(thesis,)h(Pro-)685
-1818 y(gramming)f(Researc)n(h)f(Group,)h(Oxford)f(Univ)n(ersit)n(y)-7
-b(,)27 b(1983.)515 1984 y([14])40 b(Mary)26 b(Sheeran.)34
-b Fj(\026)p Fq(FP,)26 b(a)g(language)e(for)i(VLSI)h(design.)34
-b(In)26 b Fn(A)n(CM)j(Symp.)g(on)g(LISP)685 2084 y(and)i(F)-6
-b(unctional)29 b(Pr)l(o)l(gr)l(amming)p Fq(,)g(1984.)515
-2250 y([15])40 b(Mary)c(Sheeran.)64 b(Designing)36 b(regular)f(arra)n
-(y)g(arc)n(hitectures)g(using)h(higher)g(order)685 2350
-y(functions.)i(In)28 b Fn(Int.)i(Conf.)h(on)f(F)-6 b(unctional)30
-b(Pr)l(o)l(gr)l(amming)h(L)l(anguages)f(and)h(Com-)685
-2449 y(puter)f(A)n(r)l(chite)l(ctur)l(e,)f(LNCS)h(201)p
-Fq(.)f(Springer)d(V)-7 b(erlag,)27 b(1985.)515 2615 y([16])40
-b(Mary)26 b(Sheeran.)35 b(Describing)27 b(and)f(reasoning)f(ab)r(out)i
-(circuits)g(using)f(relations.)35 b(In)685 2715 y Fn(Workshop)d(on)e(F)
--6 b(oundations)30 b(of)g(VLSI)g(Design)p Fq(.)e(Klu)n(w)n(er,)e(1990.)
-515 2881 y([17])40 b(Mary)29 b(Sheeran.)43 b(Puzzling)29
-b(p)r(erm)n(utations.)43 b(In)30 b Fn(Pr)l(o)l(c.)j(Glasgow)g(F)-6
-b(unctional)32 b(Pr)l(o-)685 2980 y(gr)l(amming)f(Workshop)p
-Fq(,)e(1996.)1905 5255 y(89)p eop
-%%Page: 90 91
-90 90 bop 515 999 a Fs(Index)515 1414 y Fp(++)p Fq(,)27
-b(47)515 1513 y Fp(*)p Fq(,)g(73)515 1613 y Fp(+)p Fq(,)g(73)515
-1713 y Fp(->-)p Fq(,)f(45,)h(74)515 1812 y Fp(-|-)p Fq(,)f(46,)h(74)515
-1912 y Fp(-)p Fq(,)g(73)515 2011 y Fp(/)p Fq(,)g(73)515
-2111 y Fp(<==>)p Fq(,)f(19)515 2211 y Fp(<=>)p Fq(,)g(72)515
-2310 y Fp(<#>)p Fq(,)g(72)515 2410 y Fp(<&>)p Fq(,)g(72)515
-2510 y Fp(<|>)p Fq(,)g(72)515 2609 y Fp(==>)p Fq(,)g(30,)h(72)515
-2709 y Fp(>>==)p Fq(,)f(73)515 2808 y Fp(\045\045)p Fq(,)h(73)515
-2991 y(adder)681 3091 y(binary)-7 b(,)27 b(12)681 3190
-y(bit,)h(12)681 3290 y(full,)g(8)681 3390 y(half,)g(6)681
-3489 y(sequen)n(tial,)f(26,)f(27)681 3589 y(tree,)h(49)515
-3688 y Fp(adder)p Fq(,)e(12,)i(76)515 3788 y Fp(adder2)p
-Fq(,)e(80)515 3888 y Fp(adderSeq)p Fq(,)f(26)515 3987
-y Fp(adderSeqPeriod)p Fq(,)e(27)515 4087 y Fp(adderSeqReset)p
-Fq(,)g(27)515 4187 y Fp(addTree)p Fq(,)j(49)515 4286
-y Fp(always)p Fq(,)g(76,)i(83)515 4386 y Fp(alwaysHigh)p
-Fq(,)c(79)515 4485 y Fp(and2)p Fq(,)j(73)515 4585 y Fp(andl)p
-Fq(,)g(73)515 4685 y Fp(append)p Fq(,)f(47,)i(75)515
-4867 y(base)g(case,)f(induction,)j(31)515 4967 y Fp(bfly)p
-Fq(,)d(75)2092 1414 y Fp(bin2int)p Fq(,)f(76,)i(80)2092
-1513 y Fp(binAdder)p Fq(,)e(49,)h(76)2092 1613 y Fp(binTree)p
-Fq(,)f(49)2092 1713 y Fp(bit2int)p Fq(,)g(73)2092 1812
-y Fp(bitAdder)p Fq(,)g(12,)h(76)2092 1912 y Fp(bitMulti)p
-Fq(,)f(76)2092 2011 y(bitonic,)j(55)2092 2111 y Fp(bitSubber)p
-Fq(,)c(16)2092 2211 y(butter\015y)-7 b(,)28 b(45)2092
-2393 y Fp(column)p Fq(,)d(75,)i(81)2092 2493 y(command-line)g(options,)
-g(72)2092 2593 y(comm)n(utativit)n(y)-7 b(,)27 b(19)2092
-2692 y(compilation,)g(16)2092 2792 y Fp(compose)p Fq(,)e(45,)i(75)2092
-2891 y Fp(composeN)p Fq(,)e(46,)h(75)2092 2991 y(comp)r(osition)2258
-3091 y(parallel,)h(46,)f(81)2258 3190 y(serial,)h(13,)f(45)2092
-3290 y(connection)h(pattern,)h(13)2258 3390 y(prop)r(erties,)f(20)2258
-3489 y(sequen)n(tial,)g(26)2092 3589 y Fp(copy)p Fq(,)f(74,)h(79)2092
-3688 y(coun)n(ter,)g(25)2092 3788 y Fp(counterUpDown)p
-Fq(,)c(84)2092 3971 y Fp(delay)p Fq(,)j(74)2092 4070
-y Fp(delayClk)p Fq(,)f(76,)h(83)2092 4170 y Fp(delayN)p
-Fq(,)f(24,)i(76)2092 4270 y Fp(Depth)p Fq(,)f(34)2092
-4452 y Fp(edge)p Fq(,)g(23,)h(76)2092 4552 y Fp(equal)p
-Fq(,)f(19,)h(74)2092 4652 y(equalit)n(y)-7 b(,)27 b(19)2092
-4751 y Fp(equiv)p Fq(,)f(73)2092 4851 y(error)g(messages,)g(77)2092
-4950 y Fp(evenSoFar)p Fq(,)e(83)1905 5255 y(90)p eop
-%%Page: 91 92
-91 91 bop 515 523 a Fp(fixit)p Fq(,)25 b(77)515 623 y
-Fp(flipFlop)p Fq(,)f(83)515 722 y Fp(fullAdd)p Fq(,)h(8,)i(75)515
-902 y(garbage)e(collection,)i(77)515 1001 y Fp(grid)p
-Fq(,)f(75,)h(81)515 1101 y Fp(gte)p Fq(,)f(74)515 1280
-y Fp(halfAdd)p Fq(,)f(6,)i(75)515 1380 y Fp(halveList)p
-Fq(,)d(46,)j(75)515 1479 y Fp(high)p Fq(,)f(72)515 1579
-y(Hugs,)h(7)515 1758 y Fp(id)p Fq(,)g(46,)f(72,)h(73)515
-1858 y Fp(idiv)p Fq(,)f(73)515 1958 y Fp(ilv)p Fq(,)g(75)515
-2057 y Fp(ilvN)p Fq(,)g(75)515 2157 y Fp(ilvTree)p Fq(,)f(53)515
-2257 y Fp(imax)p Fq(,)h(73)515 2356 y Fp(imin)p Fq(,)g(73)515
-2456 y Fp(imod)p Fq(,)g(73)515 2555 y Fp(impl)p Fq(,)g(30,)h(73)515
-2655 y(implication,)g(30)515 2755 y Fp(inc)p Fq(,)f(46)515
-2854 y Fp(Increasing)p Fq(,)d(34)515 2954 y(induction,)28
-b(30,)f(31)681 3054 y(restricted)g(states,)g(35)681 3153
-y(with)h(depth,)g(32)515 3253 y Fp(int2bin)p Fq(,)d(15,)h(76)515
-3352 y Fp(int2bit)p Fq(,)f(15,)h(73)515 3452 y Fp(inv)p
-Fq(,)g(72)515 3552 y Fp(iter)p Fq(,)g(75)515 3731 y(La)n(v)-5
-b(a)26 b(in)n(terpreter,)h(7)515 3831 y Fp(lava.vhd)p
-Fq(,)d(9)515 3930 y Fp(length)p Fq(,)h(43)515 4030 y(list,)j(12)515
-4130 y Fp(listTree)p Fq(,)c(53)515 4229 y Fp(low)p Fq(,)i(72)515
-4408 y Fp(map)p Fq(,)g(47)515 4508 y Fp(mirror)p Fq(,)f(75,)i(81)515
-4608 y Fp(multi)p Fq(,)e(76)515 4707 y(m)n(ultiplexer,)i(10)515
-4807 y Fp(multiplexer)p Fq(,)c(79)515 4907 y Fp(mux)p
-Fq(,)j(27,)h(74,)g(79)515 5006 y Fp(mux)p Fq(,)f Fn(se)l(e)i
-Fq(m)n(ultiplexer)2092 523 y Fp(nand2)p Fq(,)e(73)2092
-623 y Fp(nandl)p Fq(,)g(73)2092 722 y Fp(neg)p Fq(,)h(73)2092
-822 y Fp(nor2)p Fq(,)f(73)2092 922 y Fp(norl)p Fq(,)g(73)2092
-1021 y Fp(numBreak)p Fq(,)f(15,)h(76)2092 1200 y Fp(or2)p
-Fq(,)h(73)2092 1300 y Fp(orl)p Fq(,)g(73)2092 1400 y
-Fp(outputList)p Fq(,)d(76,)j(84)2092 1579 y(P)n(ace,)f(63)2092
-1679 y Fp(pair)p Fq(,)g(75,)h(80)2092 1778 y Fp(par)p
-Fq(,)g(46,)f(75,)h(81)2092 1878 y Fp(parl)p Fq(,)f(47,)h(75)2092
-1978 y Fp(plus)p Fq(,)f(73)2092 2077 y Fp(plusl)p Fq(,)g(74)2092
-2177 y Fp(pmap)p Fq(,)g(75)2092 2276 y(program)g(error,)f(77)2092
-2376 y(prop)r(erties,)i(18)2092 2476 y Fp(puls)p Fq(,)f(24,)h(76)2092
-2575 y Fp(puls2)p Fq(,)f(84)2092 2755 y(quan)n(ti\014cation,)h(19)2092
-2934 y(recursion,)f(12)2092 3034 y Fp(RestrictStates)p
-Fq(,)c(36)2092 3133 y Fp(riffle)p Fq(,)j(74)2092 3233
-y Fp(row)p Fq(,)i(14,)f(75)2092 3333 y Fp(rowSeq)p Fq(,)f(26,)i(76)2092
-3432 y Fp(rowSeqPeriod)p Fq(,)c(76)2092 3532 y Fp(rowSeqReset)p
-Fq(,)g(27,)k(76)2092 3711 y(safet)n(y)g(prop)r(erties,)g(18)2092
-3811 y Fp(serial)p Fq(,)e(13,)i(45,)g(75)2092 3910 y(sim)n(ulate)2258
-4010 y(com)n(binational,)g(7)2258 4110 y(sequen)n(tial,)g(9,)g(23)2092
-4209 y Fp(simulate)p Fq(,)e(77)2092 4309 y Fp(simulateCon)p
-Fq(,)e(77)2092 4408 y Fp(simulateSeq)p Fq(,)g(77)2092
-4508 y(step,)28 b(induction,)g(31)2092 4608 y Fp(sub)p
-Fq(,)f(73)2092 4707 y Fp(swap)p Fq(,)f(74,)h(79)2092
-4807 y Fp(swapl)p Fq(,)f(74)2092 4907 y Fp(swapper)p
-Fq(,)f(82)2092 5006 y Fp(synchronize)p Fq(,)e(84)1905
-5255 y(91)p eop
-%%Page: 92 93
-92 92 bop 515 523 a Fp(test)p Fq(,)26 b(77)515 623 y
-Fp(threeBitAdder)p Fq(,)c(79)515 722 y Fp(times)p Fq(,)j(73)515
-822 y Fp(timesl)p Fq(,)g(74)515 922 y Fp(timeTransform)p
-Fq(,)d(43)515 1021 y Fp(toggle)p Fq(,)j(23,)i(76)515
-1121 y(transition)g(relation,)f(31)515 1220 y(tree)h(shap)r(ed)h
-(circuits,)f(45)515 1320 y Fp(tri)p Fq(,)f(48,)h(75,)g(86)515
-1420 y Fp(two)p Fq(,)f(75)515 1519 y Fp(twoBitSort)p
-Fq(,)d(79)515 1619 y Fp(twoBitSortl)p Fq(,)g(56)515 1719
-y Fp(twoN)p Fq(,)j(75)515 1901 y Fp(unpair)p Fq(,)f(75,)i(80)515
-2001 y Fp(unriffle)p Fq(,)d(74)515 2100 y Fp(unzipp)p
-Fq(,)h(74,)i(80)515 2283 y Fp(varList)p Fq(,)e(74)515
-2383 y(v)n(eri\014cation,)h(30)515 2482 y(v)n(erify)681
-2582 y(com)n(binational,)g(18)681 2682 y(one-b)n(y-one,)g(21)681
-2781 y(options,)h(77)681 2881 y(sequen)n(tial,)g(29)515
-2980 y Fp(verify)p Fq(,)e(18,)i(77)515 3080 y Fp(verifyWith)p
-Fq(,)c(34,)k(77)515 3180 y(VHDL)681 3279 y(generation,)f(9)515
-3462 y Fp(writeVhdl)p Fq(,)e(9,)j(77)515 3562 y Fp(writeVhdlInput)p
-Fq(,)22 b(9,)27 b(77)515 3661 y Fp(writeVhdlInputOu)o(tp)o(ut)o
-Fq(,)22 b(9,)27 b(77)515 3844 y Fp(xnor2)p Fq(,)e(73)515
-3944 y Fp(xor2)p Fq(,)h(73)515 4043 y Fp(xorl)p Fq(,)g(73)515
-4226 y Fp(zero)p Fq(,)g(26,)h(69)515 4325 y Fp(zeroList)p
-Fq(,)d(25)515 4425 y Fp(zipp)p Fq(,)i(74,)h(80)1905 5255
-y(92)p eop
-%%Trailer
-end
-userdict /end-hook known{end-hook}if
-%%EOF
diff --git a/INSTALL b/INSTALL
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,11 @@
-Install the package by running:
+First install the [Haskell Platform](http://www.haskell.org/platform).
 
-  runghc Setup configure
-  runghc Setup build
-  runghc Setup install
+Then install the package by running
+
+    cabal install
+
+from within this directory. Alternatively, run
+
+    cabal install chalmers-lava2000
+
+to install the latest version on Hackage.
diff --git a/chalmers-lava2000.cabal b/chalmers-lava2000.cabal
--- a/chalmers-lava2000.cabal
+++ b/chalmers-lava2000.cabal
@@ -1,17 +1,17 @@
 name:                chalmers-lava2000
-version:             1.3
-synopsis:            Hardware description library
-description:         Hardware description library
+version:             1.4.1
+synopsis:            Hardware description EDSL
+description:         For more info, see the tutorial: <http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf>
 category:            Language, Hardware
 license:             BSD3
 license-file:        LICENSE
 copyright:           (c) 2008. Koen Claessen <koen@chalmers.se>
 author:              Koen Claessen <koen@chalmers.se>
 maintainer:          Emil Axelsson <emax@chalmers.se>
-homepage:            http://projects.haskell.org/chalmers-lava2000/
+homepage:            http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf
 cabal-version:       >= 1.6
 build-type:          Simple
-data-files:          README, INSTALL, Doc/tutorial.ps, Vhdl/lava.vhd, Scripts/satzoo.wrapper, Scripts/smv.wrapper
+data-files:          README, INSTALL, Doc/tutorial.pdf, Vhdl/lava.vhd, Scripts/satzoo.wrapper, Scripts/smv.wrapper
 
 source-repository head
   type:     darcs
